From cee5c88661e309a58aaff638ae9f20c3a9eae194 Mon Sep 17 00:00:00 2001 From: Jakob Lykke Andersen Date: Fri, 19 Jan 2024 11:30:55 +0100 Subject: [PATCH] Update for new version --- .drone.jsonnet | 28 +- .drone.yml | 11419 +++++++++++----- .github/workflows/Main.yml | 31 + CMakeLists.txt | 8 +- ChangeLog.rst | 60 +- bootstrap.sh | 2 +- cmake/CoverageBuild.sh | 2 +- cmake/MODUtils.cmake | 12 + conda/build.Dockerfile | 8 + conda/build.sh | 2 +- conda/conda_build_config.yaml | 7 +- conda/environment.yaml | 19 + conda/meta.yaml | 6 +- doc/makeDocs.sh | 2 +- doc/source/compiling.rst | 198 +- doc/source/conf.py | 206 +- docker/Arch.Dockerfile | 1 - docker/Conda.Dockerfile | 45 + docker/Fedora.Dockerfile | 1 - external/json_schema | 2 +- external/nlohmann_json | 2 +- libs/gml/CMakeLists.txt | 11 +- libs/jla_boost/CMakeLists.txt | 8 +- .../graph/EdgeIndexedAdjacencyList.hpp | 5 +- .../jla_boost/graph/FilteredWrapper.hpp | 141 +- .../graph/morphism/finders/CommonSubgraph.hpp | 2 +- .../morphism/finders/InjectiveEnumeration.hpp | 2 +- libs/jla_boost/test/common_subgraph.cpp | 1 - libs/jla_boost/test/vf2.cpp | 7 +- libs/libmod/CMakeLists.txt | 1 + libs/libmod/src/mod/Config.hpp | 26 +- libs/libmod/src/mod/Error.hpp | 6 +- libs/libmod/src/mod/Function.hpp | 2 +- libs/libmod/src/mod/Misc.cpp | 11 +- libs/libmod/src/mod/Misc.hpp | 1 + libs/libmod/src/mod/Term.cpp | 5 +- libs/libmod/src/mod/dg/Builder.cpp | 10 +- libs/libmod/src/mod/dg/Builder.hpp | 11 +- libs/libmod/src/mod/dg/DG.cpp | 7 +- libs/libmod/src/mod/dg/DG.hpp | 13 +- libs/libmod/src/mod/dg/GraphInterface.cpp | 9 +- libs/libmod/src/mod/dg/GraphInterface.hpp | 11 +- libs/libmod/src/mod/dg/Printer.hpp | 16 +- libs/libmod/src/mod/dg/Strategies.hpp | 4 +- libs/libmod/src/mod/dg/VertexMapper.cpp | 108 + libs/libmod/src/mod/dg/VertexMapper.hpp | 134 + libs/libmod/src/mod/graph/Graph.cpp | 43 +- libs/libmod/src/mod/graph/Graph.hpp | 40 +- libs/libmod/src/mod/graph/GraphInterface.hpp | 2 +- libs/libmod/src/mod/graph/Printer.hpp | 2 +- libs/libmod/src/mod/graph/Union.cpp | 5 + libs/libmod/src/mod/graph/Union.hpp | 7 +- libs/libmod/src/mod/graph/internal/Graph.cpp | 3 +- libs/libmod/src/mod/graph/internal/Graph.hpp | 5 +- .../mod/lib/Algorithm/MultiDimSelector.hpp | 2 + libs/libmod/src/mod/lib/Chem/Smiles.hpp | 3 +- libs/libmod/src/mod/lib/Chem/SmilesRead.cpp | 136 +- libs/libmod/src/mod/lib/DG/Dump.cpp | 4 +- libs/libmod/src/mod/lib/DG/Hyper.cpp | 57 +- libs/libmod/src/mod/lib/DG/Hyper.hpp | 14 +- libs/libmod/src/mod/lib/DG/IO/Read.cpp | 2 +- libs/libmod/src/mod/lib/DG/IO/Write.cpp | 159 +- libs/libmod/src/mod/lib/DG/IO/Write.hpp | 3 +- .../src/mod/lib/DG/IO/WriteDerivation.cpp | 146 +- libs/libmod/src/mod/lib/DG/NonHyper.cpp | 6 +- libs/libmod/src/mod/lib/DG/NonHyper.hpp | 6 +- .../libmod/src/mod/lib/DG/NonHyperBuilder.cpp | 88 +- .../libmod/src/mod/lib/DG/NonHyperBuilder.hpp | 7 +- .../libmod/src/mod/lib/DG/Strategies/Rule.cpp | 139 +- .../src/mod/lib/DG/Strategies/Strategy.cpp | 4 +- libs/libmod/src/mod/lib/DG/VertexMapping.cpp | 106 + libs/libmod/src/mod/lib/DG/VertexMapping.hpp | 151 + libs/libmod/src/mod/lib/DPO/CombinedRule.hpp | 2 +- libs/libmod/src/mod/lib/Graph/IO/Read.cpp | 37 +- libs/libmod/src/mod/lib/Graph/IO/Read.hpp | 7 +- libs/libmod/src/mod/lib/Graph/IO/Write.cpp | 65 +- libs/libmod/src/mod/lib/Graph/IO/Write.hpp | 2 + .../src/mod/lib/Graph/LabelledGraph.cpp | 6 +- .../src/mod/lib/Graph/Properties/Molecule.cpp | 25 +- .../src/mod/lib/Graph/Properties/Molecule.hpp | 3 +- libs/libmod/src/mod/lib/Graph/Single.cpp | 104 +- .../GraphMorphism/CommonSubgraphFinder.hpp | 4 +- .../src/mod/lib/GraphMorphism/Finder.hpp | 90 +- .../mod/lib/GraphMorphism/TermVertexMap.hpp | 7 +- .../src/mod/lib/IO/GraphWriteGeneric.hpp | 4 +- libs/libmod/src/mod/lib/IO/IO.cpp | 9 +- libs/libmod/src/mod/lib/IO/IO.hpp | 2 +- libs/libmod/src/mod/lib/IO/Json.cpp | 3 +- .../src/mod/lib/LabelledFilteredGraph.hpp | 48 + libs/libmod/src/mod/lib/LabelledGraph.hpp | 6 +- .../libmod/src/mod/lib/LabelledUnionGraph.hpp | 87 +- libs/libmod/src/mod/lib/RC/Compose.hpp | 4 +- .../src/mod/lib/RC/ComposeRuleRealGeneric.hpp | 25 +- libs/libmod/src/mod/lib/RC/Evaluator.cpp | 78 +- libs/libmod/src/mod/lib/RC/Evaluator.hpp | 2 +- .../src/mod/lib/RC/LabelledComposition.hpp | 9 +- libs/libmod/src/mod/lib/RC/MatchBuilder.cpp | 4 +- .../src/mod/lib/RC/Visitor/Compound.hpp | 96 +- .../mod/lib/RC/Visitor/MatchConstraints.hpp | 2 +- libs/libmod/src/mod/lib/RC/Visitor/Stereo.hpp | 291 +- libs/libmod/src/mod/lib/RC/Visitor/String.hpp | 28 +- libs/libmod/src/mod/lib/RC/Visitor/Term.hpp | 161 +- .../mod/lib/RC/detail/CompositionHelper.hpp | 307 +- libs/libmod/src/mod/lib/Rules/IO/Read.cpp | 16 +- libs/libmod/src/mod/lib/Rules/IO/Read.hpp | 2 +- libs/libmod/src/mod/lib/Rules/IO/Write.cpp | 97 +- .../libmod/src/mod/lib/Rules/LabelledRule.cpp | 11 +- .../Stereo/Configuration/Configuration.hpp | 4 +- .../src/mod/lib/Stereo/GeometryGraph.cpp | 23 +- .../src/mod/lib/Stereo/GeometryGraph.hpp | 9 +- libs/libmod/src/mod/lib/Stereo/Inference.hpp | 22 +- libs/libmod/src/mod/lib/Term/IO/Write.cpp | 42 +- libs/libmod/src/mod/lib/Term/IO/Write.hpp | 7 +- libs/libmod/src/mod/lib/Term/WAM.hpp | 30 +- libs/libmod/src/mod/rule/Composer.cpp | 4 +- libs/libmod/src/mod/rule/Composer.hpp | 13 +- libs/libmod/src/mod/rule/CompositionMatch.hpp | 4 +- libs/libmod/src/mod/rule/GraphInterface.hpp | 12 +- libs/libmod/src/mod/rule/Rule.cpp | 8 +- libs/libmod/src/mod/rule/Rule.hpp | 9 +- libs/post_mod/bin/mod_post | 10 +- libs/post_mod/share/mod/mod.sty | 5 +- libs/pymod/CMakeLists.txt | 1 + libs/pymod/bin/mod.in | 65 +- libs/pymod/lib/mod/__init__.py | 43 +- libs/pymod/lib/mod/libpymod.pyi | 69 +- libs/pymod/share/mod/extra.supp | 37 + libs/pymod/share/mod/python.supp | 42 - libs/pymod/src/mod/py/Chem.cpp | 2 +- libs/pymod/src/mod/py/Collections.cpp | 4 +- libs/pymod/src/mod/py/Config.cpp | 2 +- libs/pymod/src/mod/py/Error.cpp | 12 +- libs/pymod/src/mod/py/Function.cpp | 6 +- libs/pymod/src/mod/py/Misc.cpp | 3 +- libs/pymod/src/mod/py/Module.cpp | 2 +- libs/pymod/src/mod/py/dg/Builder.cpp | 10 +- libs/pymod/src/mod/py/dg/DG.cpp | 8 +- libs/pymod/src/mod/py/dg/GraphInterface.cpp | 8 +- libs/pymod/src/mod/py/dg/Printer.cpp | 18 +- libs/pymod/src/mod/py/dg/Strategies.cpp | 4 +- libs/pymod/src/mod/py/dg/VertexMapper.cpp | 100 + libs/pymod/src/mod/py/graph/Graph.cpp | 40 +- libs/pymod/src/mod/py/graph/Printer.cpp | 2 +- libs/pymod/src/mod/py/graph/Union.cpp | 6 +- libs/pymod/src/mod/py/rule/Composition.cpp | 13 +- .../src/mod/py/rule/CompositionMatch.cpp | 2 +- libs/pymod/src/mod/py/rule/Rule.cpp | 13 +- requirements.txt | 1 + scripts/checkJsonVisibility.sh | 2 +- scripts/flake8.sh | 2 +- scripts/jla_build.sh | 2 +- scripts/makeConda.sh | 2 +- scripts/makeDepGraph.sh | 2 +- scripts/makeDocker.sh | 2 +- scripts/makePyExamples.py | 4 +- scripts/mypy.sh | 2 +- test/CMakeLists.txt | 5 +- test/cpp/dg/vertexMapping.cpp | 7 + test/cpp/graph/union.cpp | 8 + ...te_basic.py => 100_build_execute_basic.py} | 0 test/py/dg/200_build_callbacks.py | 32 + test/py/dg/401_printer_using.py | 28 + test/py/dg/453_print_dpo_log.py | 15 + test/py/dg/500_build_addAbstract.py | 21 +- test/py/dg/600_vertexMap_basic.py | 36 + test/py/dg/601_vertexMap_count.py | 95 + test/py/dg/602_vertexMap_term.py | 18 + test/py/dg/610_vertexMap_log.py | 18 + test/py/dg/650_vertexMap_dg.py | 73 + test/py/dg/xx0_helpers.py | 2 +- test/py/graph/010_basic_loading.py | 25 + .../py/graph/030_smiles/mass/doOBabelTests.sh | 2 +- test/py/graph/030_smiles/mass/problematic.py | 32 +- test/py/graph/030_smiles/mass/rhea.py | 8608 ++++++------ test/py/graph/030_smiles/mass/smiles.py | 2 - .../mass/smiles_cansmi_roundtrip.py | 8908 ++++++------ test/py/graph/030_smiles/mass/smiles_nci.py | 2080 +-- test/py/graph/121_loadingWarnings.py | 4 +- test/py/graph/901_unionTerm.py | 4 + test/py/papers/21_tcs/calc.py | 5 +- test/py/rule/001_gml_interface.py | 15 + test/py/runAll.sh | 2 +- test/py/xxx_helpers.py | 29 +- 183 files changed, 21551 insertions(+), 14653 deletions(-) create mode 100644 conda/environment.yaml create mode 100644 docker/Conda.Dockerfile create mode 100644 libs/libmod/src/mod/dg/VertexMapper.cpp create mode 100644 libs/libmod/src/mod/dg/VertexMapper.hpp create mode 100644 libs/libmod/src/mod/lib/DG/VertexMapping.cpp create mode 100644 libs/libmod/src/mod/lib/DG/VertexMapping.hpp create mode 100644 libs/libmod/src/mod/lib/LabelledFilteredGraph.hpp create mode 100644 libs/pymod/share/mod/extra.supp create mode 100644 libs/pymod/src/mod/py/dg/VertexMapper.cpp create mode 100644 test/cpp/dg/vertexMapping.cpp rename test/py/dg/{100_execute_basic.py => 100_build_execute_basic.py} (100%) create mode 100644 test/py/dg/200_build_callbacks.py create mode 100644 test/py/dg/453_print_dpo_log.py create mode 100644 test/py/dg/600_vertexMap_basic.py create mode 100644 test/py/dg/601_vertexMap_count.py create mode 100644 test/py/dg/602_vertexMap_term.py create mode 100644 test/py/dg/610_vertexMap_log.py create mode 100644 test/py/dg/650_vertexMap_dg.py create mode 100644 test/py/graph/901_unionTerm.py diff --git a/.drone.jsonnet b/.drone.jsonnet index 8bf2a2a..6e484a6 100644 --- a/.drone.jsonnet +++ b/.drone.jsonnet @@ -67,7 +67,7 @@ local Configure(compiler, boost, dep=false) = { "bindep testing", "mkdir build", "cd build", - "cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off %s" % [boostArg(boost)], + "cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on %s" % [boostArg(boost)], ], [ if dep then "depends_on"]: [ "bootstrap" ], }; @@ -227,17 +227,33 @@ local Pipeline(withCoverage, compiler, boost) = { }, //depends_on: [ "dist" ], }, + { + name: "Conda", + image: "plugins/docker", + settings: { + repo: "jakobandersen/mod", + tags: ["conda-test"], + dockerfile: "docker/Conda.Dockerfile", + dry_run: true, + purge: true, + build_args: ["j=1"], + }, + //depends_on: [ "dist" ], + }, ] }, ] + [ Pipeline(boost == "1_80_0" && compiler == "g++-11", compiler, boost) for compiler in [ - "g++-8", "g++-9", "g++-10", "g++-11", - "clang++-8", - #"clang++-9", - "clang++-10", "clang++-11", "clang++-12", + "g++-9", "g++-10", + "g++-11", "g++-12", + "g++-13", + "clang++-11", "clang++-12", + "clang++-13", "clang++-14", + "clang++-15", ] for boost in [ - "1_76_0", "1_77_0", "1_78_0", "1_79_0", "1_80_0", + "1_76_0", "1_77_0", "1_78_0", "1_79_0", "1_80_0", "1_81_0", "1_82_0", "1_83_0", + "1_84_0", ] ] diff --git a/.drone.yml b/.drone.yml index 468f285..0cf2ea7 100644 --- a/.drone.yml +++ b/.drone.yml @@ -1,3051 +1,8370 @@ --- -kind: pipeline -name: Various Static Checks - -platform: - os: linux - arch: amd64 - -steps: -- name: Python, mypy - image: localhost:5000/jla/mod - commands: - - ./scripts/mypy.sh - depends_on: - - clone - -- name: Python, flake8 - image: localhost:5000/jla/mod - commands: - - ./scripts/flake8.sh - depends_on: - - clone - -- name: Symbol Visibility, json - image: localhost:5000/jla/mod - commands: - - ./scripts/checkJsonVisibility.sh - depends_on: - - clone - ---- -kind: pipeline -name: Docker - -platform: - os: linux - arch: amd64 - -steps: -- name: bootstrap - image: localhost:5000/jla/mod - commands: - - git fetch --tags - - git submodule update --init --recursive - - ./bootstrap.sh - -- name: configure - image: localhost:5000/jla/mod - commands: - - bindep testing - - mkdir build - - cd build - - cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_80_0 - environment: - CXX: g++ - CXXFLAGS: -Werror - -- name: dist - image: localhost:5000/jla/mod - commands: - - cd build - - make dist - -- name: Ubuntu - image: plugins/docker - settings: - build_args: - - j=1 - dockerfile: docker/Ubuntu.Dockerfile - dry_run: true - purge: true - repo: jakobandersen/mod - tags: - - ubuntu-test - -- name: Fedora - image: plugins/docker - settings: - build_args: - - j=1 - dockerfile: docker/Fedora.Dockerfile - dry_run: true - purge: true - repo: jakobandersen/mod - tags: - - fedora-test - -- name: Arch - image: plugins/docker - settings: - build_args: - - j=1 - dockerfile: docker/Arch.Dockerfile - dry_run: true - purge: true - repo: jakobandersen/mod - tags: - - arch-test - ---- -kind: pipeline -name: g++-8, Boost 1_76_0 - -platform: - os: linux - arch: amd64 - -steps: -- name: bootstrap - image: localhost:5000/jla/mod - commands: - - git fetch --tags - - git submodule update --init --recursive - - ./bootstrap.sh - -- name: configure - image: localhost:5000/jla/mod - commands: - - bindep testing - - mkdir build - - cd build - - cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_76_0 - environment: - CXX: g++-8 - CXXFLAGS: -Werror - -- name: build - image: localhost:5000/jla/mod - commands: - - cd build - - cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_76_0 - - make - -- name: install - image: localhost:5000/jla/mod - commands: - - cd build - - make install - -- name: build-test - image: localhost:5000/jla/mod - commands: - - cd build - - make tests - -- name: test - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - ctest --output-on-failure -E cmake_add_subdirectory_build - -- name: simple test - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - cd ../ - - mod -e "smiles('O').print()" - -- name: test subdirectory build - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - ctest --output-on-failure -R cmake_add_subdirectory_build - when: - ref: - - refs/heads/develop - - refs/heads/master - - refs/tags/v* - ---- -kind: pipeline -name: g++-8, Boost 1_77_0 - -platform: - os: linux - arch: amd64 - -steps: -- name: bootstrap - image: localhost:5000/jla/mod - commands: - - git fetch --tags - - git submodule update --init --recursive - - ./bootstrap.sh - -- name: configure - image: localhost:5000/jla/mod - commands: - - bindep testing - - mkdir build - - cd build - - cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_77_0 - environment: - CXX: g++-8 - CXXFLAGS: -Werror - -- name: build - image: localhost:5000/jla/mod - commands: - - cd build - - cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_77_0 - - make - -- name: install - image: localhost:5000/jla/mod - commands: - - cd build - - make install - -- name: build-test - image: localhost:5000/jla/mod - commands: - - cd build - - make tests - -- name: test - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - ctest --output-on-failure -E cmake_add_subdirectory_build - -- name: simple test - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - cd ../ - - mod -e "smiles('O').print()" - -- name: test subdirectory build - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - ctest --output-on-failure -R cmake_add_subdirectory_build - when: - ref: - - refs/heads/develop - - refs/heads/master - - refs/tags/v* - ---- -kind: pipeline -name: g++-8, Boost 1_78_0 - -platform: - os: linux - arch: amd64 - -steps: -- name: bootstrap - image: localhost:5000/jla/mod - commands: - - git fetch --tags - - git submodule update --init --recursive - - ./bootstrap.sh - -- name: configure - image: localhost:5000/jla/mod - commands: - - bindep testing - - mkdir build - - cd build - - cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_78_0 - environment: - CXX: g++-8 - CXXFLAGS: -Werror - -- name: build - image: localhost:5000/jla/mod - commands: - - cd build - - cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_78_0 - - make - -- name: install - image: localhost:5000/jla/mod - commands: - - cd build - - make install - -- name: build-test - image: localhost:5000/jla/mod - commands: - - cd build - - make tests - -- name: test - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - ctest --output-on-failure -E cmake_add_subdirectory_build - -- name: simple test - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - cd ../ - - mod -e "smiles('O').print()" - -- name: test subdirectory build - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - ctest --output-on-failure -R cmake_add_subdirectory_build - when: - ref: - - refs/heads/develop - - refs/heads/master - - refs/tags/v* - ---- -kind: pipeline -name: g++-8, Boost 1_79_0 - -platform: - os: linux - arch: amd64 - -steps: -- name: bootstrap - image: localhost:5000/jla/mod - commands: - - git fetch --tags - - git submodule update --init --recursive - - ./bootstrap.sh - -- name: configure - image: localhost:5000/jla/mod - commands: - - bindep testing - - mkdir build - - cd build - - cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_79_0 - environment: - CXX: g++-8 - CXXFLAGS: -Werror - -- name: build - image: localhost:5000/jla/mod - commands: - - cd build - - cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_79_0 - - make - -- name: install - image: localhost:5000/jla/mod - commands: - - cd build - - make install - -- name: build-test - image: localhost:5000/jla/mod - commands: - - cd build - - make tests - -- name: test - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - ctest --output-on-failure -E cmake_add_subdirectory_build - -- name: simple test - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - cd ../ - - mod -e "smiles('O').print()" - -- name: test subdirectory build - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - ctest --output-on-failure -R cmake_add_subdirectory_build - when: - ref: - - refs/heads/develop - - refs/heads/master - - refs/tags/v* - ---- -kind: pipeline -name: g++-8, Boost 1_80_0 - -platform: - os: linux - arch: amd64 - -steps: -- name: bootstrap - image: localhost:5000/jla/mod - commands: - - git fetch --tags - - git submodule update --init --recursive - - ./bootstrap.sh - -- name: configure - image: localhost:5000/jla/mod - commands: - - bindep testing - - mkdir build - - cd build - - cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_80_0 - environment: - CXX: g++-8 - CXXFLAGS: -Werror - -- name: build - image: localhost:5000/jla/mod - commands: - - cd build - - cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_80_0 - - make - -- name: install - image: localhost:5000/jla/mod - commands: - - cd build - - make install - -- name: build-test - image: localhost:5000/jla/mod - commands: - - cd build - - make tests - -- name: test - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - ctest --output-on-failure -E cmake_add_subdirectory_build - -- name: simple test - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - cd ../ - - mod -e "smiles('O').print()" - -- name: test subdirectory build - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - ctest --output-on-failure -R cmake_add_subdirectory_build - when: - ref: - - refs/heads/develop - - refs/heads/master - - refs/tags/v* - ---- -kind: pipeline -name: g++-9, Boost 1_76_0 - -platform: - os: linux - arch: amd64 - -steps: -- name: bootstrap - image: localhost:5000/jla/mod - commands: - - git fetch --tags - - git submodule update --init --recursive - - ./bootstrap.sh - -- name: configure - image: localhost:5000/jla/mod - commands: - - bindep testing - - mkdir build - - cd build - - cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_76_0 - environment: - CXX: g++-9 - CXXFLAGS: -Werror - -- name: build - image: localhost:5000/jla/mod - commands: - - cd build - - cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_76_0 - - make - -- name: install - image: localhost:5000/jla/mod - commands: - - cd build - - make install - -- name: build-test - image: localhost:5000/jla/mod - commands: - - cd build - - make tests - -- name: test - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - ctest --output-on-failure -E cmake_add_subdirectory_build - -- name: simple test - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - cd ../ - - mod -e "smiles('O').print()" - -- name: test subdirectory build - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - ctest --output-on-failure -R cmake_add_subdirectory_build - when: - ref: - - refs/heads/develop - - refs/heads/master - - refs/tags/v* - ---- -kind: pipeline -name: g++-9, Boost 1_77_0 - -platform: - os: linux - arch: amd64 - -steps: -- name: bootstrap - image: localhost:5000/jla/mod - commands: - - git fetch --tags - - git submodule update --init --recursive - - ./bootstrap.sh - -- name: configure - image: localhost:5000/jla/mod - commands: - - bindep testing - - mkdir build - - cd build - - cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_77_0 - environment: - CXX: g++-9 - CXXFLAGS: -Werror - -- name: build - image: localhost:5000/jla/mod - commands: - - cd build - - cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_77_0 - - make - -- name: install - image: localhost:5000/jla/mod - commands: - - cd build - - make install - -- name: build-test - image: localhost:5000/jla/mod - commands: - - cd build - - make tests - -- name: test - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - ctest --output-on-failure -E cmake_add_subdirectory_build - -- name: simple test - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - cd ../ - - mod -e "smiles('O').print()" - -- name: test subdirectory build - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - ctest --output-on-failure -R cmake_add_subdirectory_build - when: - ref: - - refs/heads/develop - - refs/heads/master - - refs/tags/v* - ---- -kind: pipeline -name: g++-9, Boost 1_78_0 - -platform: - os: linux - arch: amd64 - -steps: -- name: bootstrap - image: localhost:5000/jla/mod - commands: - - git fetch --tags - - git submodule update --init --recursive - - ./bootstrap.sh - -- name: configure - image: localhost:5000/jla/mod - commands: - - bindep testing - - mkdir build - - cd build - - cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_78_0 - environment: - CXX: g++-9 - CXXFLAGS: -Werror - -- name: build - image: localhost:5000/jla/mod - commands: - - cd build - - cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_78_0 - - make - -- name: install - image: localhost:5000/jla/mod - commands: - - cd build - - make install - -- name: build-test - image: localhost:5000/jla/mod - commands: - - cd build - - make tests - -- name: test - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - ctest --output-on-failure -E cmake_add_subdirectory_build - -- name: simple test - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - cd ../ - - mod -e "smiles('O').print()" - -- name: test subdirectory build - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - ctest --output-on-failure -R cmake_add_subdirectory_build - when: - ref: - - refs/heads/develop - - refs/heads/master - - refs/tags/v* - ---- -kind: pipeline -name: g++-9, Boost 1_79_0 - -platform: - os: linux - arch: amd64 - -steps: -- name: bootstrap - image: localhost:5000/jla/mod - commands: - - git fetch --tags - - git submodule update --init --recursive - - ./bootstrap.sh - -- name: configure - image: localhost:5000/jla/mod - commands: - - bindep testing - - mkdir build - - cd build - - cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_79_0 - environment: - CXX: g++-9 - CXXFLAGS: -Werror - -- name: build - image: localhost:5000/jla/mod - commands: - - cd build - - cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_79_0 - - make - -- name: install - image: localhost:5000/jla/mod - commands: - - cd build - - make install - -- name: build-test - image: localhost:5000/jla/mod - commands: - - cd build - - make tests - -- name: test - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - ctest --output-on-failure -E cmake_add_subdirectory_build - -- name: simple test - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - cd ../ - - mod -e "smiles('O').print()" - -- name: test subdirectory build - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - ctest --output-on-failure -R cmake_add_subdirectory_build - when: - ref: - - refs/heads/develop - - refs/heads/master - - refs/tags/v* - ---- -kind: pipeline -name: g++-9, Boost 1_80_0 - -platform: - os: linux - arch: amd64 - -steps: -- name: bootstrap - image: localhost:5000/jla/mod - commands: - - git fetch --tags - - git submodule update --init --recursive - - ./bootstrap.sh - -- name: configure - image: localhost:5000/jla/mod - commands: - - bindep testing - - mkdir build - - cd build - - cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_80_0 - environment: - CXX: g++-9 - CXXFLAGS: -Werror - -- name: build - image: localhost:5000/jla/mod - commands: - - cd build - - cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_80_0 - - make - -- name: install - image: localhost:5000/jla/mod - commands: - - cd build - - make install - -- name: build-test - image: localhost:5000/jla/mod - commands: - - cd build - - make tests - -- name: test - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - ctest --output-on-failure -E cmake_add_subdirectory_build - -- name: simple test - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - cd ../ - - mod -e "smiles('O').print()" - -- name: test subdirectory build - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - ctest --output-on-failure -R cmake_add_subdirectory_build - when: - ref: - - refs/heads/develop - - refs/heads/master - - refs/tags/v* - ---- -kind: pipeline -name: g++-10, Boost 1_76_0 - -platform: - os: linux - arch: amd64 - -steps: -- name: bootstrap - image: localhost:5000/jla/mod - commands: - - git fetch --tags - - git submodule update --init --recursive - - ./bootstrap.sh - -- name: configure - image: localhost:5000/jla/mod - commands: - - bindep testing - - mkdir build - - cd build - - cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_76_0 - environment: - CXX: g++-10 - CXXFLAGS: -Werror - -- name: build - image: localhost:5000/jla/mod - commands: - - cd build - - cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_76_0 - - make - -- name: install - image: localhost:5000/jla/mod - commands: - - cd build - - make install - -- name: build-test - image: localhost:5000/jla/mod - commands: - - cd build - - make tests - -- name: test - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - ctest --output-on-failure -E cmake_add_subdirectory_build - -- name: simple test - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - cd ../ - - mod -e "smiles('O').print()" - -- name: test subdirectory build - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - ctest --output-on-failure -R cmake_add_subdirectory_build - when: - ref: - - refs/heads/develop - - refs/heads/master - - refs/tags/v* - ---- -kind: pipeline -name: g++-10, Boost 1_77_0 - -platform: - os: linux - arch: amd64 - -steps: -- name: bootstrap - image: localhost:5000/jla/mod - commands: - - git fetch --tags - - git submodule update --init --recursive - - ./bootstrap.sh - -- name: configure - image: localhost:5000/jla/mod - commands: - - bindep testing - - mkdir build - - cd build - - cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_77_0 - environment: - CXX: g++-10 - CXXFLAGS: -Werror - -- name: build - image: localhost:5000/jla/mod - commands: - - cd build - - cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_77_0 - - make - -- name: install - image: localhost:5000/jla/mod - commands: - - cd build - - make install - -- name: build-test - image: localhost:5000/jla/mod - commands: - - cd build - - make tests - -- name: test - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - ctest --output-on-failure -E cmake_add_subdirectory_build - -- name: simple test - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - cd ../ - - mod -e "smiles('O').print()" - -- name: test subdirectory build - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - ctest --output-on-failure -R cmake_add_subdirectory_build - when: - ref: - - refs/heads/develop - - refs/heads/master - - refs/tags/v* - ---- -kind: pipeline -name: g++-10, Boost 1_78_0 - -platform: - os: linux - arch: amd64 - -steps: -- name: bootstrap - image: localhost:5000/jla/mod - commands: - - git fetch --tags - - git submodule update --init --recursive - - ./bootstrap.sh - -- name: configure - image: localhost:5000/jla/mod - commands: - - bindep testing - - mkdir build - - cd build - - cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_78_0 - environment: - CXX: g++-10 - CXXFLAGS: -Werror - -- name: build - image: localhost:5000/jla/mod - commands: - - cd build - - cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_78_0 - - make - -- name: install - image: localhost:5000/jla/mod - commands: - - cd build - - make install - -- name: build-test - image: localhost:5000/jla/mod - commands: - - cd build - - make tests - -- name: test - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - ctest --output-on-failure -E cmake_add_subdirectory_build - -- name: simple test - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - cd ../ - - mod -e "smiles('O').print()" - -- name: test subdirectory build - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - ctest --output-on-failure -R cmake_add_subdirectory_build - when: - ref: - - refs/heads/develop - - refs/heads/master - - refs/tags/v* - ---- -kind: pipeline -name: g++-10, Boost 1_79_0 - -platform: - os: linux - arch: amd64 - -steps: -- name: bootstrap - image: localhost:5000/jla/mod - commands: - - git fetch --tags - - git submodule update --init --recursive - - ./bootstrap.sh - -- name: configure - image: localhost:5000/jla/mod - commands: - - bindep testing - - mkdir build - - cd build - - cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_79_0 - environment: - CXX: g++-10 - CXXFLAGS: -Werror - -- name: build - image: localhost:5000/jla/mod - commands: - - cd build - - cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_79_0 - - make - -- name: install - image: localhost:5000/jla/mod - commands: - - cd build - - make install - -- name: build-test - image: localhost:5000/jla/mod - commands: - - cd build - - make tests - -- name: test - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - ctest --output-on-failure -E cmake_add_subdirectory_build - -- name: simple test - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - cd ../ - - mod -e "smiles('O').print()" - -- name: test subdirectory build - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - ctest --output-on-failure -R cmake_add_subdirectory_build - when: - ref: - - refs/heads/develop - - refs/heads/master - - refs/tags/v* - ---- -kind: pipeline -name: g++-10, Boost 1_80_0 - -platform: - os: linux - arch: amd64 - -steps: -- name: bootstrap - image: localhost:5000/jla/mod - commands: - - git fetch --tags - - git submodule update --init --recursive - - ./bootstrap.sh - -- name: configure - image: localhost:5000/jla/mod - commands: - - bindep testing - - mkdir build - - cd build - - cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_80_0 - environment: - CXX: g++-10 - CXXFLAGS: -Werror - -- name: build - image: localhost:5000/jla/mod - commands: - - cd build - - cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_80_0 - - make - -- name: install - image: localhost:5000/jla/mod - commands: - - cd build - - make install - -- name: build-test - image: localhost:5000/jla/mod - commands: - - cd build - - make tests - -- name: test - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - ctest --output-on-failure -E cmake_add_subdirectory_build - -- name: simple test - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - cd ../ - - mod -e "smiles('O').print()" - -- name: test subdirectory build - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - ctest --output-on-failure -R cmake_add_subdirectory_build - when: - ref: - - refs/heads/develop - - refs/heads/master - - refs/tags/v* - ---- -kind: pipeline -name: g++-11, Boost 1_76_0 - -platform: - os: linux - arch: amd64 - -steps: -- name: bootstrap - image: localhost:5000/jla/mod - commands: - - git fetch --tags - - git submodule update --init --recursive - - ./bootstrap.sh - -- name: configure - image: localhost:5000/jla/mod - commands: - - bindep testing - - mkdir build - - cd build - - cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_76_0 - environment: - CXX: g++-11 - CXXFLAGS: -Werror - -- name: build - image: localhost:5000/jla/mod - commands: - - cd build - - cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_76_0 - - make - -- name: install - image: localhost:5000/jla/mod - commands: - - cd build - - make install - -- name: build-test - image: localhost:5000/jla/mod - commands: - - cd build - - make tests - -- name: test - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - ctest --output-on-failure -E cmake_add_subdirectory_build - -- name: simple test - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - cd ../ - - mod -e "smiles('O').print()" - -- name: test subdirectory build - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - ctest --output-on-failure -R cmake_add_subdirectory_build - when: - ref: - - refs/heads/develop - - refs/heads/master - - refs/tags/v* - ---- -kind: pipeline -name: g++-11, Boost 1_77_0 - -platform: - os: linux - arch: amd64 - -steps: -- name: bootstrap - image: localhost:5000/jla/mod - commands: - - git fetch --tags - - git submodule update --init --recursive - - ./bootstrap.sh - -- name: configure - image: localhost:5000/jla/mod - commands: - - bindep testing - - mkdir build - - cd build - - cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_77_0 - environment: - CXX: g++-11 - CXXFLAGS: -Werror - -- name: build - image: localhost:5000/jla/mod - commands: - - cd build - - cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_77_0 - - make - -- name: install - image: localhost:5000/jla/mod - commands: - - cd build - - make install - -- name: build-test - image: localhost:5000/jla/mod - commands: - - cd build - - make tests - -- name: test - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - ctest --output-on-failure -E cmake_add_subdirectory_build - -- name: simple test - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - cd ../ - - mod -e "smiles('O').print()" - -- name: test subdirectory build - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - ctest --output-on-failure -R cmake_add_subdirectory_build - when: - ref: - - refs/heads/develop - - refs/heads/master - - refs/tags/v* - ---- -kind: pipeline -name: g++-11, Boost 1_78_0 - -platform: - os: linux - arch: amd64 - -steps: -- name: bootstrap - image: localhost:5000/jla/mod - commands: - - git fetch --tags - - git submodule update --init --recursive - - ./bootstrap.sh - -- name: configure - image: localhost:5000/jla/mod - commands: - - bindep testing - - mkdir build - - cd build - - cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_78_0 - environment: - CXX: g++-11 - CXXFLAGS: -Werror - -- name: build - image: localhost:5000/jla/mod - commands: - - cd build - - cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_78_0 - - make - -- name: install - image: localhost:5000/jla/mod - commands: - - cd build - - make install - -- name: build-test - image: localhost:5000/jla/mod - commands: - - cd build - - make tests - -- name: test - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - ctest --output-on-failure -E cmake_add_subdirectory_build - -- name: simple test - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - cd ../ - - mod -e "smiles('O').print()" - -- name: test subdirectory build - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - ctest --output-on-failure -R cmake_add_subdirectory_build - when: - ref: - - refs/heads/develop - - refs/heads/master - - refs/tags/v* - ---- -kind: pipeline -name: g++-11, Boost 1_79_0 - -platform: - os: linux - arch: amd64 - -steps: -- name: bootstrap - image: localhost:5000/jla/mod - commands: - - git fetch --tags - - git submodule update --init --recursive - - ./bootstrap.sh - -- name: configure - image: localhost:5000/jla/mod - commands: - - bindep testing - - mkdir build - - cd build - - cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_79_0 - environment: - CXX: g++-11 - CXXFLAGS: -Werror - -- name: build - image: localhost:5000/jla/mod - commands: - - cd build - - cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_79_0 - - make - -- name: install - image: localhost:5000/jla/mod - commands: - - cd build - - make install - -- name: build-test - image: localhost:5000/jla/mod - commands: - - cd build - - make tests - -- name: test - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - ctest --output-on-failure -E cmake_add_subdirectory_build - -- name: simple test - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - cd ../ - - mod -e "smiles('O').print()" - -- name: test subdirectory build - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - ctest --output-on-failure -R cmake_add_subdirectory_build - when: - ref: - - refs/heads/develop - - refs/heads/master - - refs/tags/v* - ---- -kind: pipeline -name: g++-11, Boost 1_80_0 - -platform: - os: linux - arch: amd64 - -steps: -- name: bootstrap - image: localhost:5000/jla/mod - commands: - - git fetch --tags - - git submodule update --init --recursive - - ./bootstrap.sh - -- name: configure - image: localhost:5000/jla/mod - commands: - - bindep testing - - mkdir build - - cd build - - cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_80_0 - environment: - CXX: g++-11 - CXXFLAGS: -Werror - -- name: build - image: localhost:5000/jla/mod - commands: - - cd build - - cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_80_0 - - make - -- name: install - image: localhost:5000/jla/mod - commands: - - cd build - - make install - -- name: build-test - image: localhost:5000/jla/mod - commands: - - cd build - - make tests - -- name: test - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - ctest --output-on-failure -E cmake_add_subdirectory_build - -- name: simple test - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - cd ../ - - mod -e "smiles('O').print()" - -- name: test subdirectory build - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - ctest --output-on-failure -R cmake_add_subdirectory_build - when: - ref: - - refs/heads/develop - - refs/heads/master - - refs/tags/v* - -- name: coverage - image: localhost:5000/jla/mod - commands: - - bindep testing - - mkdir covBuild - - cd covBuild - - cmake ../ -DENABLE_IPO=off -DCMAKE_BUILD_TYPE=OptDebug -DBUILD_TESTING=on -DBUILD_COVERAGE=on -DBOOST_ROOT=/opt/boost/1_80_0 - - make - - make install - - make tests - - make coverage_collect - - make coverage_build - - /copyCoverage.sh - environment: - CTEST_OUTPUT_ON_FAILURE: 1 - CXX: g++-11 - CXXFLAGS: -Werror - volumes: - - name: www - path: /www - when: - ref: - - refs/heads/develop - - refs/heads/master - - refs/tags/v* - -volumes: -- name: www - host: - path: /www/results/mod - ---- -kind: pipeline -name: clang++-8, Boost 1_76_0 - -platform: - os: linux - arch: amd64 - -steps: -- name: bootstrap - image: localhost:5000/jla/mod - commands: - - git fetch --tags - - git submodule update --init --recursive - - ./bootstrap.sh - -- name: configure - image: localhost:5000/jla/mod - commands: - - bindep testing - - mkdir build - - cd build - - cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_76_0 - environment: - CXX: clang++-8 - CXXFLAGS: -Werror - -- name: build - image: localhost:5000/jla/mod - commands: - - cd build - - cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_76_0 - - make - -- name: install - image: localhost:5000/jla/mod - commands: - - cd build - - make install - -- name: build-test - image: localhost:5000/jla/mod - commands: - - cd build - - make tests - -- name: test - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - ctest --output-on-failure -E cmake_add_subdirectory_build - -- name: simple test - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - cd ../ - - mod -e "smiles('O').print()" - -- name: test subdirectory build - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - ctest --output-on-failure -R cmake_add_subdirectory_build - when: - ref: - - refs/heads/develop - - refs/heads/master - - refs/tags/v* - ---- -kind: pipeline -name: clang++-8, Boost 1_77_0 - -platform: - os: linux - arch: amd64 - -steps: -- name: bootstrap - image: localhost:5000/jla/mod - commands: - - git fetch --tags - - git submodule update --init --recursive - - ./bootstrap.sh - -- name: configure - image: localhost:5000/jla/mod - commands: - - bindep testing - - mkdir build - - cd build - - cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_77_0 - environment: - CXX: clang++-8 - CXXFLAGS: -Werror - -- name: build - image: localhost:5000/jla/mod - commands: - - cd build - - cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_77_0 - - make - -- name: install - image: localhost:5000/jla/mod - commands: - - cd build - - make install - -- name: build-test - image: localhost:5000/jla/mod - commands: - - cd build - - make tests - -- name: test - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - ctest --output-on-failure -E cmake_add_subdirectory_build - -- name: simple test - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - cd ../ - - mod -e "smiles('O').print()" - -- name: test subdirectory build - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - ctest --output-on-failure -R cmake_add_subdirectory_build - when: - ref: - - refs/heads/develop - - refs/heads/master - - refs/tags/v* - ---- -kind: pipeline -name: clang++-8, Boost 1_78_0 - -platform: - os: linux - arch: amd64 - -steps: -- name: bootstrap - image: localhost:5000/jla/mod - commands: - - git fetch --tags - - git submodule update --init --recursive - - ./bootstrap.sh - -- name: configure - image: localhost:5000/jla/mod - commands: - - bindep testing - - mkdir build - - cd build - - cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_78_0 - environment: - CXX: clang++-8 - CXXFLAGS: -Werror - -- name: build - image: localhost:5000/jla/mod - commands: - - cd build - - cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_78_0 - - make - -- name: install - image: localhost:5000/jla/mod - commands: - - cd build - - make install - -- name: build-test - image: localhost:5000/jla/mod - commands: - - cd build - - make tests - -- name: test - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - ctest --output-on-failure -E cmake_add_subdirectory_build - -- name: simple test - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - cd ../ - - mod -e "smiles('O').print()" - -- name: test subdirectory build - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - ctest --output-on-failure -R cmake_add_subdirectory_build - when: - ref: - - refs/heads/develop - - refs/heads/master - - refs/tags/v* - ---- -kind: pipeline -name: clang++-8, Boost 1_79_0 - -platform: - os: linux - arch: amd64 - -steps: -- name: bootstrap - image: localhost:5000/jla/mod - commands: - - git fetch --tags - - git submodule update --init --recursive - - ./bootstrap.sh - -- name: configure - image: localhost:5000/jla/mod - commands: - - bindep testing - - mkdir build - - cd build - - cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_79_0 - environment: - CXX: clang++-8 - CXXFLAGS: -Werror - -- name: build - image: localhost:5000/jla/mod - commands: - - cd build - - cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_79_0 - - make - -- name: install - image: localhost:5000/jla/mod - commands: - - cd build - - make install - -- name: build-test - image: localhost:5000/jla/mod - commands: - - cd build - - make tests - -- name: test - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - ctest --output-on-failure -E cmake_add_subdirectory_build - -- name: simple test - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - cd ../ - - mod -e "smiles('O').print()" - -- name: test subdirectory build - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - ctest --output-on-failure -R cmake_add_subdirectory_build - when: - ref: - - refs/heads/develop - - refs/heads/master - - refs/tags/v* - ---- -kind: pipeline -name: clang++-8, Boost 1_80_0 - -platform: - os: linux - arch: amd64 - -steps: -- name: bootstrap - image: localhost:5000/jla/mod - commands: - - git fetch --tags - - git submodule update --init --recursive - - ./bootstrap.sh - -- name: configure - image: localhost:5000/jla/mod - commands: - - bindep testing - - mkdir build - - cd build - - cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_80_0 - environment: - CXX: clang++-8 - CXXFLAGS: -Werror - -- name: build - image: localhost:5000/jla/mod - commands: - - cd build - - cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_80_0 - - make - -- name: install - image: localhost:5000/jla/mod - commands: - - cd build - - make install - -- name: build-test - image: localhost:5000/jla/mod - commands: - - cd build - - make tests - -- name: test - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - ctest --output-on-failure -E cmake_add_subdirectory_build - -- name: simple test - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - cd ../ - - mod -e "smiles('O').print()" - -- name: test subdirectory build - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - ctest --output-on-failure -R cmake_add_subdirectory_build - when: - ref: - - refs/heads/develop - - refs/heads/master - - refs/tags/v* - ---- -kind: pipeline -name: clang++-10, Boost 1_76_0 - -platform: - os: linux - arch: amd64 - -steps: -- name: bootstrap - image: localhost:5000/jla/mod - commands: - - git fetch --tags - - git submodule update --init --recursive - - ./bootstrap.sh - -- name: configure - image: localhost:5000/jla/mod - commands: - - bindep testing - - mkdir build - - cd build - - cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_76_0 - environment: - CXX: clang++-10 - CXXFLAGS: -Werror - -- name: build - image: localhost:5000/jla/mod - commands: - - cd build - - cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_76_0 - - make - -- name: install - image: localhost:5000/jla/mod - commands: - - cd build - - make install - -- name: build-test - image: localhost:5000/jla/mod - commands: - - cd build - - make tests - -- name: test - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - ctest --output-on-failure -E cmake_add_subdirectory_build - -- name: simple test - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - cd ../ - - mod -e "smiles('O').print()" - -- name: test subdirectory build - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - ctest --output-on-failure -R cmake_add_subdirectory_build - when: - ref: - - refs/heads/develop - - refs/heads/master - - refs/tags/v* - ---- -kind: pipeline -name: clang++-10, Boost 1_77_0 - -platform: - os: linux - arch: amd64 - -steps: -- name: bootstrap - image: localhost:5000/jla/mod - commands: - - git fetch --tags - - git submodule update --init --recursive - - ./bootstrap.sh - -- name: configure - image: localhost:5000/jla/mod - commands: - - bindep testing - - mkdir build - - cd build - - cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_77_0 - environment: - CXX: clang++-10 - CXXFLAGS: -Werror - -- name: build - image: localhost:5000/jla/mod - commands: - - cd build - - cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_77_0 - - make - -- name: install - image: localhost:5000/jla/mod - commands: - - cd build - - make install - -- name: build-test - image: localhost:5000/jla/mod - commands: - - cd build - - make tests - -- name: test - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - ctest --output-on-failure -E cmake_add_subdirectory_build - -- name: simple test - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - cd ../ - - mod -e "smiles('O').print()" - -- name: test subdirectory build - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - ctest --output-on-failure -R cmake_add_subdirectory_build - when: - ref: - - refs/heads/develop - - refs/heads/master - - refs/tags/v* - ---- -kind: pipeline -name: clang++-10, Boost 1_78_0 - -platform: - os: linux - arch: amd64 - -steps: -- name: bootstrap - image: localhost:5000/jla/mod - commands: - - git fetch --tags - - git submodule update --init --recursive - - ./bootstrap.sh - -- name: configure - image: localhost:5000/jla/mod - commands: - - bindep testing - - mkdir build - - cd build - - cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_78_0 - environment: - CXX: clang++-10 - CXXFLAGS: -Werror - -- name: build - image: localhost:5000/jla/mod - commands: - - cd build - - cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_78_0 - - make - -- name: install - image: localhost:5000/jla/mod - commands: - - cd build - - make install - -- name: build-test - image: localhost:5000/jla/mod - commands: - - cd build - - make tests - -- name: test - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - ctest --output-on-failure -E cmake_add_subdirectory_build - -- name: simple test - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - cd ../ - - mod -e "smiles('O').print()" - -- name: test subdirectory build - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - ctest --output-on-failure -R cmake_add_subdirectory_build - when: - ref: - - refs/heads/develop - - refs/heads/master - - refs/tags/v* - ---- -kind: pipeline -name: clang++-10, Boost 1_79_0 - -platform: - os: linux - arch: amd64 - -steps: -- name: bootstrap - image: localhost:5000/jla/mod - commands: - - git fetch --tags - - git submodule update --init --recursive - - ./bootstrap.sh - -- name: configure - image: localhost:5000/jla/mod - commands: - - bindep testing - - mkdir build - - cd build - - cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_79_0 - environment: - CXX: clang++-10 - CXXFLAGS: -Werror - -- name: build - image: localhost:5000/jla/mod - commands: - - cd build - - cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_79_0 - - make - -- name: install - image: localhost:5000/jla/mod - commands: - - cd build - - make install - -- name: build-test - image: localhost:5000/jla/mod - commands: - - cd build - - make tests - -- name: test - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - ctest --output-on-failure -E cmake_add_subdirectory_build - -- name: simple test - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - cd ../ - - mod -e "smiles('O').print()" - -- name: test subdirectory build - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - ctest --output-on-failure -R cmake_add_subdirectory_build - when: - ref: - - refs/heads/develop - - refs/heads/master - - refs/tags/v* - ---- -kind: pipeline -name: clang++-10, Boost 1_80_0 - -platform: - os: linux - arch: amd64 - -steps: -- name: bootstrap - image: localhost:5000/jla/mod - commands: - - git fetch --tags - - git submodule update --init --recursive - - ./bootstrap.sh - -- name: configure - image: localhost:5000/jla/mod - commands: - - bindep testing - - mkdir build - - cd build - - cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_80_0 - environment: - CXX: clang++-10 - CXXFLAGS: -Werror - -- name: build - image: localhost:5000/jla/mod - commands: - - cd build - - cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_80_0 - - make - -- name: install - image: localhost:5000/jla/mod - commands: - - cd build - - make install - -- name: build-test - image: localhost:5000/jla/mod - commands: - - cd build - - make tests - -- name: test - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - ctest --output-on-failure -E cmake_add_subdirectory_build - -- name: simple test - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - cd ../ - - mod -e "smiles('O').print()" - -- name: test subdirectory build - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - ctest --output-on-failure -R cmake_add_subdirectory_build - when: - ref: - - refs/heads/develop - - refs/heads/master - - refs/tags/v* - ---- -kind: pipeline -name: clang++-11, Boost 1_76_0 - -platform: - os: linux - arch: amd64 - -steps: -- name: bootstrap - image: localhost:5000/jla/mod - commands: - - git fetch --tags - - git submodule update --init --recursive - - ./bootstrap.sh - -- name: configure - image: localhost:5000/jla/mod - commands: - - bindep testing - - mkdir build - - cd build - - cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_76_0 - environment: - CXX: clang++-11 - CXXFLAGS: -Werror - -- name: build - image: localhost:5000/jla/mod - commands: - - cd build - - cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_76_0 - - make - -- name: install - image: localhost:5000/jla/mod - commands: - - cd build - - make install - -- name: build-test - image: localhost:5000/jla/mod - commands: - - cd build - - make tests - -- name: test - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - ctest --output-on-failure -E cmake_add_subdirectory_build - -- name: simple test - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - cd ../ - - mod -e "smiles('O').print()" - -- name: test subdirectory build - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - ctest --output-on-failure -R cmake_add_subdirectory_build - when: - ref: - - refs/heads/develop - - refs/heads/master - - refs/tags/v* - ---- -kind: pipeline -name: clang++-11, Boost 1_77_0 - -platform: - os: linux - arch: amd64 - -steps: -- name: bootstrap - image: localhost:5000/jla/mod - commands: - - git fetch --tags - - git submodule update --init --recursive - - ./bootstrap.sh - -- name: configure - image: localhost:5000/jla/mod - commands: - - bindep testing - - mkdir build - - cd build - - cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_77_0 - environment: - CXX: clang++-11 - CXXFLAGS: -Werror - -- name: build - image: localhost:5000/jla/mod - commands: - - cd build - - cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_77_0 - - make - -- name: install - image: localhost:5000/jla/mod - commands: - - cd build - - make install - -- name: build-test - image: localhost:5000/jla/mod - commands: - - cd build - - make tests - -- name: test - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - ctest --output-on-failure -E cmake_add_subdirectory_build - -- name: simple test - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - cd ../ - - mod -e "smiles('O').print()" - -- name: test subdirectory build - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - ctest --output-on-failure -R cmake_add_subdirectory_build - when: - ref: - - refs/heads/develop - - refs/heads/master - - refs/tags/v* - ---- -kind: pipeline -name: clang++-11, Boost 1_78_0 - -platform: - os: linux - arch: amd64 - -steps: -- name: bootstrap - image: localhost:5000/jla/mod - commands: - - git fetch --tags - - git submodule update --init --recursive - - ./bootstrap.sh - -- name: configure - image: localhost:5000/jla/mod - commands: - - bindep testing - - mkdir build - - cd build - - cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_78_0 - environment: - CXX: clang++-11 - CXXFLAGS: -Werror - -- name: build - image: localhost:5000/jla/mod - commands: - - cd build - - cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_78_0 - - make - -- name: install - image: localhost:5000/jla/mod - commands: - - cd build - - make install - -- name: build-test - image: localhost:5000/jla/mod - commands: - - cd build - - make tests - -- name: test - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - ctest --output-on-failure -E cmake_add_subdirectory_build - -- name: simple test - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - cd ../ - - mod -e "smiles('O').print()" - -- name: test subdirectory build - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - ctest --output-on-failure -R cmake_add_subdirectory_build - when: - ref: - - refs/heads/develop - - refs/heads/master - - refs/tags/v* - ---- -kind: pipeline -name: clang++-11, Boost 1_79_0 - -platform: - os: linux - arch: amd64 - -steps: -- name: bootstrap - image: localhost:5000/jla/mod - commands: - - git fetch --tags - - git submodule update --init --recursive - - ./bootstrap.sh - -- name: configure - image: localhost:5000/jla/mod - commands: - - bindep testing - - mkdir build - - cd build - - cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_79_0 - environment: - CXX: clang++-11 - CXXFLAGS: -Werror - -- name: build - image: localhost:5000/jla/mod - commands: - - cd build - - cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_79_0 - - make - -- name: install - image: localhost:5000/jla/mod - commands: - - cd build - - make install - -- name: build-test - image: localhost:5000/jla/mod - commands: - - cd build - - make tests - -- name: test - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - ctest --output-on-failure -E cmake_add_subdirectory_build - -- name: simple test - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - cd ../ - - mod -e "smiles('O').print()" - -- name: test subdirectory build - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - ctest --output-on-failure -R cmake_add_subdirectory_build - when: - ref: - - refs/heads/develop - - refs/heads/master - - refs/tags/v* - ---- -kind: pipeline -name: clang++-11, Boost 1_80_0 - -platform: - os: linux - arch: amd64 - -steps: -- name: bootstrap - image: localhost:5000/jla/mod - commands: - - git fetch --tags - - git submodule update --init --recursive - - ./bootstrap.sh - -- name: configure - image: localhost:5000/jla/mod - commands: - - bindep testing - - mkdir build - - cd build - - cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_80_0 - environment: - CXX: clang++-11 - CXXFLAGS: -Werror - -- name: build - image: localhost:5000/jla/mod - commands: - - cd build - - cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_80_0 - - make - -- name: install - image: localhost:5000/jla/mod - commands: - - cd build - - make install - -- name: build-test - image: localhost:5000/jla/mod - commands: - - cd build - - make tests - -- name: test - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - ctest --output-on-failure -E cmake_add_subdirectory_build - -- name: simple test - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - cd ../ - - mod -e "smiles('O').print()" - -- name: test subdirectory build - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - ctest --output-on-failure -R cmake_add_subdirectory_build - when: - ref: - - refs/heads/develop - - refs/heads/master - - refs/tags/v* - ---- -kind: pipeline -name: clang++-12, Boost 1_76_0 - -platform: - os: linux - arch: amd64 - -steps: -- name: bootstrap - image: localhost:5000/jla/mod - commands: - - git fetch --tags - - git submodule update --init --recursive - - ./bootstrap.sh - -- name: configure - image: localhost:5000/jla/mod - commands: - - bindep testing - - mkdir build - - cd build - - cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_76_0 - environment: - CXX: clang++-12 - CXXFLAGS: -Werror - -- name: build - image: localhost:5000/jla/mod - commands: - - cd build - - cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_76_0 - - make - -- name: install - image: localhost:5000/jla/mod - commands: - - cd build - - make install - -- name: build-test - image: localhost:5000/jla/mod - commands: - - cd build - - make tests - -- name: test - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - ctest --output-on-failure -E cmake_add_subdirectory_build - -- name: simple test - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - cd ../ - - mod -e "smiles('O').print()" - -- name: test subdirectory build - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - ctest --output-on-failure -R cmake_add_subdirectory_build - when: - ref: - - refs/heads/develop - - refs/heads/master - - refs/tags/v* - ---- -kind: pipeline -name: clang++-12, Boost 1_77_0 - -platform: - os: linux - arch: amd64 - -steps: -- name: bootstrap - image: localhost:5000/jla/mod - commands: - - git fetch --tags - - git submodule update --init --recursive - - ./bootstrap.sh - -- name: configure - image: localhost:5000/jla/mod - commands: - - bindep testing - - mkdir build - - cd build - - cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_77_0 - environment: - CXX: clang++-12 - CXXFLAGS: -Werror - -- name: build - image: localhost:5000/jla/mod - commands: - - cd build - - cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_77_0 - - make - -- name: install - image: localhost:5000/jla/mod - commands: - - cd build - - make install - -- name: build-test - image: localhost:5000/jla/mod - commands: - - cd build - - make tests - -- name: test - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - ctest --output-on-failure -E cmake_add_subdirectory_build - -- name: simple test - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - cd ../ - - mod -e "smiles('O').print()" - -- name: test subdirectory build - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - ctest --output-on-failure -R cmake_add_subdirectory_build - when: - ref: - - refs/heads/develop - - refs/heads/master - - refs/tags/v* - ---- -kind: pipeline -name: clang++-12, Boost 1_78_0 - -platform: - os: linux - arch: amd64 - -steps: -- name: bootstrap - image: localhost:5000/jla/mod - commands: - - git fetch --tags - - git submodule update --init --recursive - - ./bootstrap.sh - -- name: configure - image: localhost:5000/jla/mod - commands: - - bindep testing - - mkdir build - - cd build - - cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_78_0 - environment: - CXX: clang++-12 - CXXFLAGS: -Werror - -- name: build - image: localhost:5000/jla/mod - commands: - - cd build - - cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_78_0 - - make - -- name: install - image: localhost:5000/jla/mod - commands: - - cd build - - make install - -- name: build-test - image: localhost:5000/jla/mod - commands: - - cd build - - make tests - -- name: test - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - ctest --output-on-failure -E cmake_add_subdirectory_build - -- name: simple test - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - cd ../ - - mod -e "smiles('O').print()" - -- name: test subdirectory build - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - ctest --output-on-failure -R cmake_add_subdirectory_build - when: - ref: - - refs/heads/develop - - refs/heads/master - - refs/tags/v* - ---- -kind: pipeline -name: clang++-12, Boost 1_79_0 - -platform: - os: linux - arch: amd64 - -steps: -- name: bootstrap - image: localhost:5000/jla/mod - commands: - - git fetch --tags - - git submodule update --init --recursive - - ./bootstrap.sh - -- name: configure - image: localhost:5000/jla/mod - commands: - - bindep testing - - mkdir build - - cd build - - cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_79_0 - environment: - CXX: clang++-12 - CXXFLAGS: -Werror - -- name: build - image: localhost:5000/jla/mod - commands: - - cd build - - cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_79_0 - - make - -- name: install - image: localhost:5000/jla/mod - commands: - - cd build - - make install - -- name: build-test - image: localhost:5000/jla/mod - commands: - - cd build - - make tests - -- name: test - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - ctest --output-on-failure -E cmake_add_subdirectory_build - -- name: simple test - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - cd ../ - - mod -e "smiles('O').print()" - -- name: test subdirectory build - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - ctest --output-on-failure -R cmake_add_subdirectory_build - when: - ref: - - refs/heads/develop - - refs/heads/master - - refs/tags/v* - ---- -kind: pipeline -name: clang++-12, Boost 1_80_0 - -platform: - os: linux - arch: amd64 - -steps: -- name: bootstrap - image: localhost:5000/jla/mod - commands: - - git fetch --tags - - git submodule update --init --recursive - - ./bootstrap.sh - -- name: configure - image: localhost:5000/jla/mod - commands: - - bindep testing - - mkdir build - - cd build - - cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_80_0 - environment: - CXX: clang++-12 - CXXFLAGS: -Werror - -- name: build - image: localhost:5000/jla/mod - commands: - - cd build - - cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_80_0 - - make - -- name: install - image: localhost:5000/jla/mod - commands: - - cd build - - make install - -- name: build-test - image: localhost:5000/jla/mod - commands: - - cd build - - make tests - -- name: test - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - ctest --output-on-failure -E cmake_add_subdirectory_build - -- name: simple test - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - cd ../ - - mod -e "smiles('O').print()" - -- name: test subdirectory build - image: localhost:5000/jla/mod - commands: - - cd build - - make install - - ctest --output-on-failure -R cmake_add_subdirectory_build - when: - ref: - - refs/heads/develop - - refs/heads/master - - refs/tags/v* - -... +{ + "kind": "pipeline", + "name": "Various Static Checks", + "steps": [ + { + "commands": [ + "./scripts/mypy.sh" + ], + "depends_on": [ + "clone" + ], + "image": "localhost:5000/jla/mod", + "name": "Python, mypy" + }, + { + "commands": [ + "./scripts/flake8.sh" + ], + "depends_on": [ + "clone" + ], + "image": "localhost:5000/jla/mod", + "name": "Python, flake8" + }, + { + "commands": [ + "./scripts/checkJsonVisibility.sh" + ], + "depends_on": [ + "clone" + ], + "image": "localhost:5000/jla/mod", + "name": "Symbol Visibility, json" + } + ] +} +--- +{ + "kind": "pipeline", + "name": "Docker", + "steps": [ + { + "commands": [ + "git fetch --tags", + "git submodule update --init --recursive", + "./bootstrap.sh" + ], + "image": "localhost:5000/jla/mod", + "name": "bootstrap" + }, + { + "commands": [ + "bindep testing", + "mkdir build", + "cd build", + "cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBOOST_ROOT=/opt/boost/1_80_0" + ], + "environment": { + "CXX": "g++", + "CXXFLAGS": "-Werror" + }, + "image": "localhost:5000/jla/mod", + "name": "configure" + }, + { + "commands": [ + "cd build", + "make dist" + ], + "image": "localhost:5000/jla/mod", + "name": "dist" + }, + { + "image": "plugins/docker", + "name": "Ubuntu", + "settings": { + "build_args": [ + "j=1" + ], + "dockerfile": "docker/Ubuntu.Dockerfile", + "dry_run": true, + "purge": true, + "repo": "jakobandersen/mod", + "tags": [ + "ubuntu-test" + ] + } + }, + { + "image": "plugins/docker", + "name": "Fedora", + "settings": { + "build_args": [ + "j=1" + ], + "dockerfile": "docker/Fedora.Dockerfile", + "dry_run": true, + "purge": true, + "repo": "jakobandersen/mod", + "tags": [ + "fedora-test" + ] + } + }, + { + "image": "plugins/docker", + "name": "Arch", + "settings": { + "build_args": [ + "j=1" + ], + "dockerfile": "docker/Arch.Dockerfile", + "dry_run": true, + "purge": true, + "repo": "jakobandersen/mod", + "tags": [ + "arch-test" + ] + } + }, + { + "image": "plugins/docker", + "name": "Conda", + "settings": { + "build_args": [ + "j=1" + ], + "dockerfile": "docker/Conda.Dockerfile", + "dry_run": true, + "purge": true, + "repo": "jakobandersen/mod", + "tags": [ + "conda-test" + ] + } + } + ] +} +--- +{ + "kind": "pipeline", + "name": "g++-9, Boost 1_76_0", + "steps": [ + { + "commands": [ + "git fetch --tags", + "git submodule update --init --recursive", + "./bootstrap.sh" + ], + "image": "localhost:5000/jla/mod", + "name": "bootstrap" + }, + { + "commands": [ + "bindep testing", + "mkdir build", + "cd build", + "cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBOOST_ROOT=/opt/boost/1_76_0" + ], + "environment": { + "CXX": "g++-9", + "CXXFLAGS": "-Werror" + }, + "image": "localhost:5000/jla/mod", + "name": "configure" + }, + { + "commands": [ + "cd build", + "cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_76_0", + "make" + ], + "image": "localhost:5000/jla/mod", + "name": "build" + }, + { + "commands": [ + "cd build", + "make install" + ], + "image": "localhost:5000/jla/mod", + "name": "install" + }, + { + "commands": [ + "cd build", + "make tests" + ], + "image": "localhost:5000/jla/mod", + "name": "build-test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -E cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test" + }, + { + "commands": [ + "cd build", + "make install", + "cd ../", + "mod -e \"smiles('O').print()\"" + ], + "image": "localhost:5000/jla/mod", + "name": "simple test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -R cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test subdirectory build", + "when": { + "ref": [ + "refs/heads/develop", + "refs/heads/master", + "refs/tags/v*" + ] + } + } + ], + "volumes": [ ] +} +--- +{ + "kind": "pipeline", + "name": "g++-9, Boost 1_77_0", + "steps": [ + { + "commands": [ + "git fetch --tags", + "git submodule update --init --recursive", + "./bootstrap.sh" + ], + "image": "localhost:5000/jla/mod", + "name": "bootstrap" + }, + { + "commands": [ + "bindep testing", + "mkdir build", + "cd build", + "cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBOOST_ROOT=/opt/boost/1_77_0" + ], + "environment": { + "CXX": "g++-9", + "CXXFLAGS": "-Werror" + }, + "image": "localhost:5000/jla/mod", + "name": "configure" + }, + { + "commands": [ + "cd build", + "cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_77_0", + "make" + ], + "image": "localhost:5000/jla/mod", + "name": "build" + }, + { + "commands": [ + "cd build", + "make install" + ], + "image": "localhost:5000/jla/mod", + "name": "install" + }, + { + "commands": [ + "cd build", + "make tests" + ], + "image": "localhost:5000/jla/mod", + "name": "build-test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -E cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test" + }, + { + "commands": [ + "cd build", + "make install", + "cd ../", + "mod -e \"smiles('O').print()\"" + ], + "image": "localhost:5000/jla/mod", + "name": "simple test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -R cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test subdirectory build", + "when": { + "ref": [ + "refs/heads/develop", + "refs/heads/master", + "refs/tags/v*" + ] + } + } + ], + "volumes": [ ] +} +--- +{ + "kind": "pipeline", + "name": "g++-9, Boost 1_78_0", + "steps": [ + { + "commands": [ + "git fetch --tags", + "git submodule update --init --recursive", + "./bootstrap.sh" + ], + "image": "localhost:5000/jla/mod", + "name": "bootstrap" + }, + { + "commands": [ + "bindep testing", + "mkdir build", + "cd build", + "cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBOOST_ROOT=/opt/boost/1_78_0" + ], + "environment": { + "CXX": "g++-9", + "CXXFLAGS": "-Werror" + }, + "image": "localhost:5000/jla/mod", + "name": "configure" + }, + { + "commands": [ + "cd build", + "cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_78_0", + "make" + ], + "image": "localhost:5000/jla/mod", + "name": "build" + }, + { + "commands": [ + "cd build", + "make install" + ], + "image": "localhost:5000/jla/mod", + "name": "install" + }, + { + "commands": [ + "cd build", + "make tests" + ], + "image": "localhost:5000/jla/mod", + "name": "build-test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -E cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test" + }, + { + "commands": [ + "cd build", + "make install", + "cd ../", + "mod -e \"smiles('O').print()\"" + ], + "image": "localhost:5000/jla/mod", + "name": "simple test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -R cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test subdirectory build", + "when": { + "ref": [ + "refs/heads/develop", + "refs/heads/master", + "refs/tags/v*" + ] + } + } + ], + "volumes": [ ] +} +--- +{ + "kind": "pipeline", + "name": "g++-9, Boost 1_79_0", + "steps": [ + { + "commands": [ + "git fetch --tags", + "git submodule update --init --recursive", + "./bootstrap.sh" + ], + "image": "localhost:5000/jla/mod", + "name": "bootstrap" + }, + { + "commands": [ + "bindep testing", + "mkdir build", + "cd build", + "cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBOOST_ROOT=/opt/boost/1_79_0" + ], + "environment": { + "CXX": "g++-9", + "CXXFLAGS": "-Werror" + }, + "image": "localhost:5000/jla/mod", + "name": "configure" + }, + { + "commands": [ + "cd build", + "cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_79_0", + "make" + ], + "image": "localhost:5000/jla/mod", + "name": "build" + }, + { + "commands": [ + "cd build", + "make install" + ], + "image": "localhost:5000/jla/mod", + "name": "install" + }, + { + "commands": [ + "cd build", + "make tests" + ], + "image": "localhost:5000/jla/mod", + "name": "build-test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -E cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test" + }, + { + "commands": [ + "cd build", + "make install", + "cd ../", + "mod -e \"smiles('O').print()\"" + ], + "image": "localhost:5000/jla/mod", + "name": "simple test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -R cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test subdirectory build", + "when": { + "ref": [ + "refs/heads/develop", + "refs/heads/master", + "refs/tags/v*" + ] + } + } + ], + "volumes": [ ] +} +--- +{ + "kind": "pipeline", + "name": "g++-9, Boost 1_80_0", + "steps": [ + { + "commands": [ + "git fetch --tags", + "git submodule update --init --recursive", + "./bootstrap.sh" + ], + "image": "localhost:5000/jla/mod", + "name": "bootstrap" + }, + { + "commands": [ + "bindep testing", + "mkdir build", + "cd build", + "cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBOOST_ROOT=/opt/boost/1_80_0" + ], + "environment": { + "CXX": "g++-9", + "CXXFLAGS": "-Werror" + }, + "image": "localhost:5000/jla/mod", + "name": "configure" + }, + { + "commands": [ + "cd build", + "cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_80_0", + "make" + ], + "image": "localhost:5000/jla/mod", + "name": "build" + }, + { + "commands": [ + "cd build", + "make install" + ], + "image": "localhost:5000/jla/mod", + "name": "install" + }, + { + "commands": [ + "cd build", + "make tests" + ], + "image": "localhost:5000/jla/mod", + "name": "build-test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -E cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test" + }, + { + "commands": [ + "cd build", + "make install", + "cd ../", + "mod -e \"smiles('O').print()\"" + ], + "image": "localhost:5000/jla/mod", + "name": "simple test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -R cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test subdirectory build", + "when": { + "ref": [ + "refs/heads/develop", + "refs/heads/master", + "refs/tags/v*" + ] + } + } + ], + "volumes": [ ] +} +--- +{ + "kind": "pipeline", + "name": "g++-9, Boost 1_81_0", + "steps": [ + { + "commands": [ + "git fetch --tags", + "git submodule update --init --recursive", + "./bootstrap.sh" + ], + "image": "localhost:5000/jla/mod", + "name": "bootstrap" + }, + { + "commands": [ + "bindep testing", + "mkdir build", + "cd build", + "cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBOOST_ROOT=/opt/boost/1_81_0" + ], + "environment": { + "CXX": "g++-9", + "CXXFLAGS": "-Werror" + }, + "image": "localhost:5000/jla/mod", + "name": "configure" + }, + { + "commands": [ + "cd build", + "cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_81_0", + "make" + ], + "image": "localhost:5000/jla/mod", + "name": "build" + }, + { + "commands": [ + "cd build", + "make install" + ], + "image": "localhost:5000/jla/mod", + "name": "install" + }, + { + "commands": [ + "cd build", + "make tests" + ], + "image": "localhost:5000/jla/mod", + "name": "build-test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -E cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test" + }, + { + "commands": [ + "cd build", + "make install", + "cd ../", + "mod -e \"smiles('O').print()\"" + ], + "image": "localhost:5000/jla/mod", + "name": "simple test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -R cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test subdirectory build", + "when": { + "ref": [ + "refs/heads/develop", + "refs/heads/master", + "refs/tags/v*" + ] + } + } + ], + "volumes": [ ] +} +--- +{ + "kind": "pipeline", + "name": "g++-9, Boost 1_82_0", + "steps": [ + { + "commands": [ + "git fetch --tags", + "git submodule update --init --recursive", + "./bootstrap.sh" + ], + "image": "localhost:5000/jla/mod", + "name": "bootstrap" + }, + { + "commands": [ + "bindep testing", + "mkdir build", + "cd build", + "cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBOOST_ROOT=/opt/boost/1_82_0" + ], + "environment": { + "CXX": "g++-9", + "CXXFLAGS": "-Werror" + }, + "image": "localhost:5000/jla/mod", + "name": "configure" + }, + { + "commands": [ + "cd build", + "cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_82_0", + "make" + ], + "image": "localhost:5000/jla/mod", + "name": "build" + }, + { + "commands": [ + "cd build", + "make install" + ], + "image": "localhost:5000/jla/mod", + "name": "install" + }, + { + "commands": [ + "cd build", + "make tests" + ], + "image": "localhost:5000/jla/mod", + "name": "build-test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -E cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test" + }, + { + "commands": [ + "cd build", + "make install", + "cd ../", + "mod -e \"smiles('O').print()\"" + ], + "image": "localhost:5000/jla/mod", + "name": "simple test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -R cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test subdirectory build", + "when": { + "ref": [ + "refs/heads/develop", + "refs/heads/master", + "refs/tags/v*" + ] + } + } + ], + "volumes": [ ] +} +--- +{ + "kind": "pipeline", + "name": "g++-9, Boost 1_83_0", + "steps": [ + { + "commands": [ + "git fetch --tags", + "git submodule update --init --recursive", + "./bootstrap.sh" + ], + "image": "localhost:5000/jla/mod", + "name": "bootstrap" + }, + { + "commands": [ + "bindep testing", + "mkdir build", + "cd build", + "cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBOOST_ROOT=/opt/boost/1_83_0" + ], + "environment": { + "CXX": "g++-9", + "CXXFLAGS": "-Werror" + }, + "image": "localhost:5000/jla/mod", + "name": "configure" + }, + { + "commands": [ + "cd build", + "cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_83_0", + "make" + ], + "image": "localhost:5000/jla/mod", + "name": "build" + }, + { + "commands": [ + "cd build", + "make install" + ], + "image": "localhost:5000/jla/mod", + "name": "install" + }, + { + "commands": [ + "cd build", + "make tests" + ], + "image": "localhost:5000/jla/mod", + "name": "build-test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -E cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test" + }, + { + "commands": [ + "cd build", + "make install", + "cd ../", + "mod -e \"smiles('O').print()\"" + ], + "image": "localhost:5000/jla/mod", + "name": "simple test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -R cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test subdirectory build", + "when": { + "ref": [ + "refs/heads/develop", + "refs/heads/master", + "refs/tags/v*" + ] + } + } + ], + "volumes": [ ] +} +--- +{ + "kind": "pipeline", + "name": "g++-9, Boost 1_84_0", + "steps": [ + { + "commands": [ + "git fetch --tags", + "git submodule update --init --recursive", + "./bootstrap.sh" + ], + "image": "localhost:5000/jla/mod", + "name": "bootstrap" + }, + { + "commands": [ + "bindep testing", + "mkdir build", + "cd build", + "cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBOOST_ROOT=/opt/boost/1_84_0" + ], + "environment": { + "CXX": "g++-9", + "CXXFLAGS": "-Werror" + }, + "image": "localhost:5000/jla/mod", + "name": "configure" + }, + { + "commands": [ + "cd build", + "cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_84_0", + "make" + ], + "image": "localhost:5000/jla/mod", + "name": "build" + }, + { + "commands": [ + "cd build", + "make install" + ], + "image": "localhost:5000/jla/mod", + "name": "install" + }, + { + "commands": [ + "cd build", + "make tests" + ], + "image": "localhost:5000/jla/mod", + "name": "build-test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -E cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test" + }, + { + "commands": [ + "cd build", + "make install", + "cd ../", + "mod -e \"smiles('O').print()\"" + ], + "image": "localhost:5000/jla/mod", + "name": "simple test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -R cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test subdirectory build", + "when": { + "ref": [ + "refs/heads/develop", + "refs/heads/master", + "refs/tags/v*" + ] + } + } + ], + "volumes": [ ] +} +--- +{ + "kind": "pipeline", + "name": "g++-10, Boost 1_76_0", + "steps": [ + { + "commands": [ + "git fetch --tags", + "git submodule update --init --recursive", + "./bootstrap.sh" + ], + "image": "localhost:5000/jla/mod", + "name": "bootstrap" + }, + { + "commands": [ + "bindep testing", + "mkdir build", + "cd build", + "cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBOOST_ROOT=/opt/boost/1_76_0" + ], + "environment": { + "CXX": "g++-10", + "CXXFLAGS": "-Werror" + }, + "image": "localhost:5000/jla/mod", + "name": "configure" + }, + { + "commands": [ + "cd build", + "cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_76_0", + "make" + ], + "image": "localhost:5000/jla/mod", + "name": "build" + }, + { + "commands": [ + "cd build", + "make install" + ], + "image": "localhost:5000/jla/mod", + "name": "install" + }, + { + "commands": [ + "cd build", + "make tests" + ], + "image": "localhost:5000/jla/mod", + "name": "build-test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -E cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test" + }, + { + "commands": [ + "cd build", + "make install", + "cd ../", + "mod -e \"smiles('O').print()\"" + ], + "image": "localhost:5000/jla/mod", + "name": "simple test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -R cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test subdirectory build", + "when": { + "ref": [ + "refs/heads/develop", + "refs/heads/master", + "refs/tags/v*" + ] + } + } + ], + "volumes": [ ] +} +--- +{ + "kind": "pipeline", + "name": "g++-10, Boost 1_77_0", + "steps": [ + { + "commands": [ + "git fetch --tags", + "git submodule update --init --recursive", + "./bootstrap.sh" + ], + "image": "localhost:5000/jla/mod", + "name": "bootstrap" + }, + { + "commands": [ + "bindep testing", + "mkdir build", + "cd build", + "cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBOOST_ROOT=/opt/boost/1_77_0" + ], + "environment": { + "CXX": "g++-10", + "CXXFLAGS": "-Werror" + }, + "image": "localhost:5000/jla/mod", + "name": "configure" + }, + { + "commands": [ + "cd build", + "cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_77_0", + "make" + ], + "image": "localhost:5000/jla/mod", + "name": "build" + }, + { + "commands": [ + "cd build", + "make install" + ], + "image": "localhost:5000/jla/mod", + "name": "install" + }, + { + "commands": [ + "cd build", + "make tests" + ], + "image": "localhost:5000/jla/mod", + "name": "build-test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -E cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test" + }, + { + "commands": [ + "cd build", + "make install", + "cd ../", + "mod -e \"smiles('O').print()\"" + ], + "image": "localhost:5000/jla/mod", + "name": "simple test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -R cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test subdirectory build", + "when": { + "ref": [ + "refs/heads/develop", + "refs/heads/master", + "refs/tags/v*" + ] + } + } + ], + "volumes": [ ] +} +--- +{ + "kind": "pipeline", + "name": "g++-10, Boost 1_78_0", + "steps": [ + { + "commands": [ + "git fetch --tags", + "git submodule update --init --recursive", + "./bootstrap.sh" + ], + "image": "localhost:5000/jla/mod", + "name": "bootstrap" + }, + { + "commands": [ + "bindep testing", + "mkdir build", + "cd build", + "cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBOOST_ROOT=/opt/boost/1_78_0" + ], + "environment": { + "CXX": "g++-10", + "CXXFLAGS": "-Werror" + }, + "image": "localhost:5000/jla/mod", + "name": "configure" + }, + { + "commands": [ + "cd build", + "cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_78_0", + "make" + ], + "image": "localhost:5000/jla/mod", + "name": "build" + }, + { + "commands": [ + "cd build", + "make install" + ], + "image": "localhost:5000/jla/mod", + "name": "install" + }, + { + "commands": [ + "cd build", + "make tests" + ], + "image": "localhost:5000/jla/mod", + "name": "build-test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -E cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test" + }, + { + "commands": [ + "cd build", + "make install", + "cd ../", + "mod -e \"smiles('O').print()\"" + ], + "image": "localhost:5000/jla/mod", + "name": "simple test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -R cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test subdirectory build", + "when": { + "ref": [ + "refs/heads/develop", + "refs/heads/master", + "refs/tags/v*" + ] + } + } + ], + "volumes": [ ] +} +--- +{ + "kind": "pipeline", + "name": "g++-10, Boost 1_79_0", + "steps": [ + { + "commands": [ + "git fetch --tags", + "git submodule update --init --recursive", + "./bootstrap.sh" + ], + "image": "localhost:5000/jla/mod", + "name": "bootstrap" + }, + { + "commands": [ + "bindep testing", + "mkdir build", + "cd build", + "cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBOOST_ROOT=/opt/boost/1_79_0" + ], + "environment": { + "CXX": "g++-10", + "CXXFLAGS": "-Werror" + }, + "image": "localhost:5000/jla/mod", + "name": "configure" + }, + { + "commands": [ + "cd build", + "cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_79_0", + "make" + ], + "image": "localhost:5000/jla/mod", + "name": "build" + }, + { + "commands": [ + "cd build", + "make install" + ], + "image": "localhost:5000/jla/mod", + "name": "install" + }, + { + "commands": [ + "cd build", + "make tests" + ], + "image": "localhost:5000/jla/mod", + "name": "build-test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -E cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test" + }, + { + "commands": [ + "cd build", + "make install", + "cd ../", + "mod -e \"smiles('O').print()\"" + ], + "image": "localhost:5000/jla/mod", + "name": "simple test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -R cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test subdirectory build", + "when": { + "ref": [ + "refs/heads/develop", + "refs/heads/master", + "refs/tags/v*" + ] + } + } + ], + "volumes": [ ] +} +--- +{ + "kind": "pipeline", + "name": "g++-10, Boost 1_80_0", + "steps": [ + { + "commands": [ + "git fetch --tags", + "git submodule update --init --recursive", + "./bootstrap.sh" + ], + "image": "localhost:5000/jla/mod", + "name": "bootstrap" + }, + { + "commands": [ + "bindep testing", + "mkdir build", + "cd build", + "cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBOOST_ROOT=/opt/boost/1_80_0" + ], + "environment": { + "CXX": "g++-10", + "CXXFLAGS": "-Werror" + }, + "image": "localhost:5000/jla/mod", + "name": "configure" + }, + { + "commands": [ + "cd build", + "cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_80_0", + "make" + ], + "image": "localhost:5000/jla/mod", + "name": "build" + }, + { + "commands": [ + "cd build", + "make install" + ], + "image": "localhost:5000/jla/mod", + "name": "install" + }, + { + "commands": [ + "cd build", + "make tests" + ], + "image": "localhost:5000/jla/mod", + "name": "build-test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -E cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test" + }, + { + "commands": [ + "cd build", + "make install", + "cd ../", + "mod -e \"smiles('O').print()\"" + ], + "image": "localhost:5000/jla/mod", + "name": "simple test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -R cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test subdirectory build", + "when": { + "ref": [ + "refs/heads/develop", + "refs/heads/master", + "refs/tags/v*" + ] + } + } + ], + "volumes": [ ] +} +--- +{ + "kind": "pipeline", + "name": "g++-10, Boost 1_81_0", + "steps": [ + { + "commands": [ + "git fetch --tags", + "git submodule update --init --recursive", + "./bootstrap.sh" + ], + "image": "localhost:5000/jla/mod", + "name": "bootstrap" + }, + { + "commands": [ + "bindep testing", + "mkdir build", + "cd build", + "cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBOOST_ROOT=/opt/boost/1_81_0" + ], + "environment": { + "CXX": "g++-10", + "CXXFLAGS": "-Werror" + }, + "image": "localhost:5000/jla/mod", + "name": "configure" + }, + { + "commands": [ + "cd build", + "cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_81_0", + "make" + ], + "image": "localhost:5000/jla/mod", + "name": "build" + }, + { + "commands": [ + "cd build", + "make install" + ], + "image": "localhost:5000/jla/mod", + "name": "install" + }, + { + "commands": [ + "cd build", + "make tests" + ], + "image": "localhost:5000/jla/mod", + "name": "build-test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -E cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test" + }, + { + "commands": [ + "cd build", + "make install", + "cd ../", + "mod -e \"smiles('O').print()\"" + ], + "image": "localhost:5000/jla/mod", + "name": "simple test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -R cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test subdirectory build", + "when": { + "ref": [ + "refs/heads/develop", + "refs/heads/master", + "refs/tags/v*" + ] + } + } + ], + "volumes": [ ] +} +--- +{ + "kind": "pipeline", + "name": "g++-10, Boost 1_82_0", + "steps": [ + { + "commands": [ + "git fetch --tags", + "git submodule update --init --recursive", + "./bootstrap.sh" + ], + "image": "localhost:5000/jla/mod", + "name": "bootstrap" + }, + { + "commands": [ + "bindep testing", + "mkdir build", + "cd build", + "cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBOOST_ROOT=/opt/boost/1_82_0" + ], + "environment": { + "CXX": "g++-10", + "CXXFLAGS": "-Werror" + }, + "image": "localhost:5000/jla/mod", + "name": "configure" + }, + { + "commands": [ + "cd build", + "cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_82_0", + "make" + ], + "image": "localhost:5000/jla/mod", + "name": "build" + }, + { + "commands": [ + "cd build", + "make install" + ], + "image": "localhost:5000/jla/mod", + "name": "install" + }, + { + "commands": [ + "cd build", + "make tests" + ], + "image": "localhost:5000/jla/mod", + "name": "build-test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -E cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test" + }, + { + "commands": [ + "cd build", + "make install", + "cd ../", + "mod -e \"smiles('O').print()\"" + ], + "image": "localhost:5000/jla/mod", + "name": "simple test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -R cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test subdirectory build", + "when": { + "ref": [ + "refs/heads/develop", + "refs/heads/master", + "refs/tags/v*" + ] + } + } + ], + "volumes": [ ] +} +--- +{ + "kind": "pipeline", + "name": "g++-10, Boost 1_83_0", + "steps": [ + { + "commands": [ + "git fetch --tags", + "git submodule update --init --recursive", + "./bootstrap.sh" + ], + "image": "localhost:5000/jla/mod", + "name": "bootstrap" + }, + { + "commands": [ + "bindep testing", + "mkdir build", + "cd build", + "cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBOOST_ROOT=/opt/boost/1_83_0" + ], + "environment": { + "CXX": "g++-10", + "CXXFLAGS": "-Werror" + }, + "image": "localhost:5000/jla/mod", + "name": "configure" + }, + { + "commands": [ + "cd build", + "cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_83_0", + "make" + ], + "image": "localhost:5000/jla/mod", + "name": "build" + }, + { + "commands": [ + "cd build", + "make install" + ], + "image": "localhost:5000/jla/mod", + "name": "install" + }, + { + "commands": [ + "cd build", + "make tests" + ], + "image": "localhost:5000/jla/mod", + "name": "build-test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -E cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test" + }, + { + "commands": [ + "cd build", + "make install", + "cd ../", + "mod -e \"smiles('O').print()\"" + ], + "image": "localhost:5000/jla/mod", + "name": "simple test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -R cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test subdirectory build", + "when": { + "ref": [ + "refs/heads/develop", + "refs/heads/master", + "refs/tags/v*" + ] + } + } + ], + "volumes": [ ] +} +--- +{ + "kind": "pipeline", + "name": "g++-10, Boost 1_84_0", + "steps": [ + { + "commands": [ + "git fetch --tags", + "git submodule update --init --recursive", + "./bootstrap.sh" + ], + "image": "localhost:5000/jla/mod", + "name": "bootstrap" + }, + { + "commands": [ + "bindep testing", + "mkdir build", + "cd build", + "cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBOOST_ROOT=/opt/boost/1_84_0" + ], + "environment": { + "CXX": "g++-10", + "CXXFLAGS": "-Werror" + }, + "image": "localhost:5000/jla/mod", + "name": "configure" + }, + { + "commands": [ + "cd build", + "cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_84_0", + "make" + ], + "image": "localhost:5000/jla/mod", + "name": "build" + }, + { + "commands": [ + "cd build", + "make install" + ], + "image": "localhost:5000/jla/mod", + "name": "install" + }, + { + "commands": [ + "cd build", + "make tests" + ], + "image": "localhost:5000/jla/mod", + "name": "build-test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -E cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test" + }, + { + "commands": [ + "cd build", + "make install", + "cd ../", + "mod -e \"smiles('O').print()\"" + ], + "image": "localhost:5000/jla/mod", + "name": "simple test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -R cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test subdirectory build", + "when": { + "ref": [ + "refs/heads/develop", + "refs/heads/master", + "refs/tags/v*" + ] + } + } + ], + "volumes": [ ] +} +--- +{ + "kind": "pipeline", + "name": "g++-11, Boost 1_76_0", + "steps": [ + { + "commands": [ + "git fetch --tags", + "git submodule update --init --recursive", + "./bootstrap.sh" + ], + "image": "localhost:5000/jla/mod", + "name": "bootstrap" + }, + { + "commands": [ + "bindep testing", + "mkdir build", + "cd build", + "cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBOOST_ROOT=/opt/boost/1_76_0" + ], + "environment": { + "CXX": "g++-11", + "CXXFLAGS": "-Werror" + }, + "image": "localhost:5000/jla/mod", + "name": "configure" + }, + { + "commands": [ + "cd build", + "cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_76_0", + "make" + ], + "image": "localhost:5000/jla/mod", + "name": "build" + }, + { + "commands": [ + "cd build", + "make install" + ], + "image": "localhost:5000/jla/mod", + "name": "install" + }, + { + "commands": [ + "cd build", + "make tests" + ], + "image": "localhost:5000/jla/mod", + "name": "build-test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -E cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test" + }, + { + "commands": [ + "cd build", + "make install", + "cd ../", + "mod -e \"smiles('O').print()\"" + ], + "image": "localhost:5000/jla/mod", + "name": "simple test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -R cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test subdirectory build", + "when": { + "ref": [ + "refs/heads/develop", + "refs/heads/master", + "refs/tags/v*" + ] + } + } + ], + "volumes": [ ] +} +--- +{ + "kind": "pipeline", + "name": "g++-11, Boost 1_77_0", + "steps": [ + { + "commands": [ + "git fetch --tags", + "git submodule update --init --recursive", + "./bootstrap.sh" + ], + "image": "localhost:5000/jla/mod", + "name": "bootstrap" + }, + { + "commands": [ + "bindep testing", + "mkdir build", + "cd build", + "cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBOOST_ROOT=/opt/boost/1_77_0" + ], + "environment": { + "CXX": "g++-11", + "CXXFLAGS": "-Werror" + }, + "image": "localhost:5000/jla/mod", + "name": "configure" + }, + { + "commands": [ + "cd build", + "cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_77_0", + "make" + ], + "image": "localhost:5000/jla/mod", + "name": "build" + }, + { + "commands": [ + "cd build", + "make install" + ], + "image": "localhost:5000/jla/mod", + "name": "install" + }, + { + "commands": [ + "cd build", + "make tests" + ], + "image": "localhost:5000/jla/mod", + "name": "build-test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -E cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test" + }, + { + "commands": [ + "cd build", + "make install", + "cd ../", + "mod -e \"smiles('O').print()\"" + ], + "image": "localhost:5000/jla/mod", + "name": "simple test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -R cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test subdirectory build", + "when": { + "ref": [ + "refs/heads/develop", + "refs/heads/master", + "refs/tags/v*" + ] + } + } + ], + "volumes": [ ] +} +--- +{ + "kind": "pipeline", + "name": "g++-11, Boost 1_78_0", + "steps": [ + { + "commands": [ + "git fetch --tags", + "git submodule update --init --recursive", + "./bootstrap.sh" + ], + "image": "localhost:5000/jla/mod", + "name": "bootstrap" + }, + { + "commands": [ + "bindep testing", + "mkdir build", + "cd build", + "cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBOOST_ROOT=/opt/boost/1_78_0" + ], + "environment": { + "CXX": "g++-11", + "CXXFLAGS": "-Werror" + }, + "image": "localhost:5000/jla/mod", + "name": "configure" + }, + { + "commands": [ + "cd build", + "cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_78_0", + "make" + ], + "image": "localhost:5000/jla/mod", + "name": "build" + }, + { + "commands": [ + "cd build", + "make install" + ], + "image": "localhost:5000/jla/mod", + "name": "install" + }, + { + "commands": [ + "cd build", + "make tests" + ], + "image": "localhost:5000/jla/mod", + "name": "build-test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -E cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test" + }, + { + "commands": [ + "cd build", + "make install", + "cd ../", + "mod -e \"smiles('O').print()\"" + ], + "image": "localhost:5000/jla/mod", + "name": "simple test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -R cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test subdirectory build", + "when": { + "ref": [ + "refs/heads/develop", + "refs/heads/master", + "refs/tags/v*" + ] + } + } + ], + "volumes": [ ] +} +--- +{ + "kind": "pipeline", + "name": "g++-11, Boost 1_79_0", + "steps": [ + { + "commands": [ + "git fetch --tags", + "git submodule update --init --recursive", + "./bootstrap.sh" + ], + "image": "localhost:5000/jla/mod", + "name": "bootstrap" + }, + { + "commands": [ + "bindep testing", + "mkdir build", + "cd build", + "cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBOOST_ROOT=/opt/boost/1_79_0" + ], + "environment": { + "CXX": "g++-11", + "CXXFLAGS": "-Werror" + }, + "image": "localhost:5000/jla/mod", + "name": "configure" + }, + { + "commands": [ + "cd build", + "cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_79_0", + "make" + ], + "image": "localhost:5000/jla/mod", + "name": "build" + }, + { + "commands": [ + "cd build", + "make install" + ], + "image": "localhost:5000/jla/mod", + "name": "install" + }, + { + "commands": [ + "cd build", + "make tests" + ], + "image": "localhost:5000/jla/mod", + "name": "build-test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -E cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test" + }, + { + "commands": [ + "cd build", + "make install", + "cd ../", + "mod -e \"smiles('O').print()\"" + ], + "image": "localhost:5000/jla/mod", + "name": "simple test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -R cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test subdirectory build", + "when": { + "ref": [ + "refs/heads/develop", + "refs/heads/master", + "refs/tags/v*" + ] + } + } + ], + "volumes": [ ] +} +--- +{ + "kind": "pipeline", + "name": "g++-11, Boost 1_80_0", + "steps": [ + { + "commands": [ + "git fetch --tags", + "git submodule update --init --recursive", + "./bootstrap.sh" + ], + "image": "localhost:5000/jla/mod", + "name": "bootstrap" + }, + { + "commands": [ + "bindep testing", + "mkdir build", + "cd build", + "cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBOOST_ROOT=/opt/boost/1_80_0" + ], + "environment": { + "CXX": "g++-11", + "CXXFLAGS": "-Werror" + }, + "image": "localhost:5000/jla/mod", + "name": "configure" + }, + { + "commands": [ + "cd build", + "cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_80_0", + "make" + ], + "image": "localhost:5000/jla/mod", + "name": "build" + }, + { + "commands": [ + "cd build", + "make install" + ], + "image": "localhost:5000/jla/mod", + "name": "install" + }, + { + "commands": [ + "cd build", + "make tests" + ], + "image": "localhost:5000/jla/mod", + "name": "build-test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -E cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test" + }, + { + "commands": [ + "cd build", + "make install", + "cd ../", + "mod -e \"smiles('O').print()\"" + ], + "image": "localhost:5000/jla/mod", + "name": "simple test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -R cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test subdirectory build", + "when": { + "ref": [ + "refs/heads/develop", + "refs/heads/master", + "refs/tags/v*" + ] + } + }, + { + "commands": [ + "bindep testing", + "mkdir covBuild", + "cd covBuild", + "cmake ../ -DENABLE_IPO=off -DCMAKE_BUILD_TYPE=OptDebug -DBUILD_TESTING=on -DBUILD_COVERAGE=on -DBOOST_ROOT=/opt/boost/1_80_0", + "make", + "make install", + "make tests", + "make coverage_collect", + "make coverage_build", + "/copyCoverage.sh" + ], + "environment": { + "CTEST_OUTPUT_ON_FAILURE": 1, + "CXX": "g++-11", + "CXXFLAGS": "-Werror" + }, + "image": "localhost:5000/jla/mod", + "name": "coverage", + "volumes": [ + { + "name": "www", + "path": "/www" + } + ], + "when": { + "ref": [ + "refs/heads/develop", + "refs/heads/master", + "refs/tags/v*" + ] + } + } + ], + "volumes": [ + { + "host": { + "path": "/www/results/mod" + }, + "name": "www" + } + ] +} +--- +{ + "kind": "pipeline", + "name": "g++-11, Boost 1_81_0", + "steps": [ + { + "commands": [ + "git fetch --tags", + "git submodule update --init --recursive", + "./bootstrap.sh" + ], + "image": "localhost:5000/jla/mod", + "name": "bootstrap" + }, + { + "commands": [ + "bindep testing", + "mkdir build", + "cd build", + "cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBOOST_ROOT=/opt/boost/1_81_0" + ], + "environment": { + "CXX": "g++-11", + "CXXFLAGS": "-Werror" + }, + "image": "localhost:5000/jla/mod", + "name": "configure" + }, + { + "commands": [ + "cd build", + "cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_81_0", + "make" + ], + "image": "localhost:5000/jla/mod", + "name": "build" + }, + { + "commands": [ + "cd build", + "make install" + ], + "image": "localhost:5000/jla/mod", + "name": "install" + }, + { + "commands": [ + "cd build", + "make tests" + ], + "image": "localhost:5000/jla/mod", + "name": "build-test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -E cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test" + }, + { + "commands": [ + "cd build", + "make install", + "cd ../", + "mod -e \"smiles('O').print()\"" + ], + "image": "localhost:5000/jla/mod", + "name": "simple test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -R cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test subdirectory build", + "when": { + "ref": [ + "refs/heads/develop", + "refs/heads/master", + "refs/tags/v*" + ] + } + } + ], + "volumes": [ ] +} +--- +{ + "kind": "pipeline", + "name": "g++-11, Boost 1_82_0", + "steps": [ + { + "commands": [ + "git fetch --tags", + "git submodule update --init --recursive", + "./bootstrap.sh" + ], + "image": "localhost:5000/jla/mod", + "name": "bootstrap" + }, + { + "commands": [ + "bindep testing", + "mkdir build", + "cd build", + "cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBOOST_ROOT=/opt/boost/1_82_0" + ], + "environment": { + "CXX": "g++-11", + "CXXFLAGS": "-Werror" + }, + "image": "localhost:5000/jla/mod", + "name": "configure" + }, + { + "commands": [ + "cd build", + "cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_82_0", + "make" + ], + "image": "localhost:5000/jla/mod", + "name": "build" + }, + { + "commands": [ + "cd build", + "make install" + ], + "image": "localhost:5000/jla/mod", + "name": "install" + }, + { + "commands": [ + "cd build", + "make tests" + ], + "image": "localhost:5000/jla/mod", + "name": "build-test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -E cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test" + }, + { + "commands": [ + "cd build", + "make install", + "cd ../", + "mod -e \"smiles('O').print()\"" + ], + "image": "localhost:5000/jla/mod", + "name": "simple test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -R cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test subdirectory build", + "when": { + "ref": [ + "refs/heads/develop", + "refs/heads/master", + "refs/tags/v*" + ] + } + } + ], + "volumes": [ ] +} +--- +{ + "kind": "pipeline", + "name": "g++-11, Boost 1_83_0", + "steps": [ + { + "commands": [ + "git fetch --tags", + "git submodule update --init --recursive", + "./bootstrap.sh" + ], + "image": "localhost:5000/jla/mod", + "name": "bootstrap" + }, + { + "commands": [ + "bindep testing", + "mkdir build", + "cd build", + "cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBOOST_ROOT=/opt/boost/1_83_0" + ], + "environment": { + "CXX": "g++-11", + "CXXFLAGS": "-Werror" + }, + "image": "localhost:5000/jla/mod", + "name": "configure" + }, + { + "commands": [ + "cd build", + "cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_83_0", + "make" + ], + "image": "localhost:5000/jla/mod", + "name": "build" + }, + { + "commands": [ + "cd build", + "make install" + ], + "image": "localhost:5000/jla/mod", + "name": "install" + }, + { + "commands": [ + "cd build", + "make tests" + ], + "image": "localhost:5000/jla/mod", + "name": "build-test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -E cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test" + }, + { + "commands": [ + "cd build", + "make install", + "cd ../", + "mod -e \"smiles('O').print()\"" + ], + "image": "localhost:5000/jla/mod", + "name": "simple test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -R cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test subdirectory build", + "when": { + "ref": [ + "refs/heads/develop", + "refs/heads/master", + "refs/tags/v*" + ] + } + } + ], + "volumes": [ ] +} +--- +{ + "kind": "pipeline", + "name": "g++-11, Boost 1_84_0", + "steps": [ + { + "commands": [ + "git fetch --tags", + "git submodule update --init --recursive", + "./bootstrap.sh" + ], + "image": "localhost:5000/jla/mod", + "name": "bootstrap" + }, + { + "commands": [ + "bindep testing", + "mkdir build", + "cd build", + "cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBOOST_ROOT=/opt/boost/1_84_0" + ], + "environment": { + "CXX": "g++-11", + "CXXFLAGS": "-Werror" + }, + "image": "localhost:5000/jla/mod", + "name": "configure" + }, + { + "commands": [ + "cd build", + "cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_84_0", + "make" + ], + "image": "localhost:5000/jla/mod", + "name": "build" + }, + { + "commands": [ + "cd build", + "make install" + ], + "image": "localhost:5000/jla/mod", + "name": "install" + }, + { + "commands": [ + "cd build", + "make tests" + ], + "image": "localhost:5000/jla/mod", + "name": "build-test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -E cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test" + }, + { + "commands": [ + "cd build", + "make install", + "cd ../", + "mod -e \"smiles('O').print()\"" + ], + "image": "localhost:5000/jla/mod", + "name": "simple test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -R cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test subdirectory build", + "when": { + "ref": [ + "refs/heads/develop", + "refs/heads/master", + "refs/tags/v*" + ] + } + } + ], + "volumes": [ ] +} +--- +{ + "kind": "pipeline", + "name": "g++-12, Boost 1_76_0", + "steps": [ + { + "commands": [ + "git fetch --tags", + "git submodule update --init --recursive", + "./bootstrap.sh" + ], + "image": "localhost:5000/jla/mod", + "name": "bootstrap" + }, + { + "commands": [ + "bindep testing", + "mkdir build", + "cd build", + "cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBOOST_ROOT=/opt/boost/1_76_0" + ], + "environment": { + "CXX": "g++-12", + "CXXFLAGS": "-Werror" + }, + "image": "localhost:5000/jla/mod", + "name": "configure" + }, + { + "commands": [ + "cd build", + "cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_76_0", + "make" + ], + "image": "localhost:5000/jla/mod", + "name": "build" + }, + { + "commands": [ + "cd build", + "make install" + ], + "image": "localhost:5000/jla/mod", + "name": "install" + }, + { + "commands": [ + "cd build", + "make tests" + ], + "image": "localhost:5000/jla/mod", + "name": "build-test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -E cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test" + }, + { + "commands": [ + "cd build", + "make install", + "cd ../", + "mod -e \"smiles('O').print()\"" + ], + "image": "localhost:5000/jla/mod", + "name": "simple test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -R cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test subdirectory build", + "when": { + "ref": [ + "refs/heads/develop", + "refs/heads/master", + "refs/tags/v*" + ] + } + } + ], + "volumes": [ ] +} +--- +{ + "kind": "pipeline", + "name": "g++-12, Boost 1_77_0", + "steps": [ + { + "commands": [ + "git fetch --tags", + "git submodule update --init --recursive", + "./bootstrap.sh" + ], + "image": "localhost:5000/jla/mod", + "name": "bootstrap" + }, + { + "commands": [ + "bindep testing", + "mkdir build", + "cd build", + "cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBOOST_ROOT=/opt/boost/1_77_0" + ], + "environment": { + "CXX": "g++-12", + "CXXFLAGS": "-Werror" + }, + "image": "localhost:5000/jla/mod", + "name": "configure" + }, + { + "commands": [ + "cd build", + "cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_77_0", + "make" + ], + "image": "localhost:5000/jla/mod", + "name": "build" + }, + { + "commands": [ + "cd build", + "make install" + ], + "image": "localhost:5000/jla/mod", + "name": "install" + }, + { + "commands": [ + "cd build", + "make tests" + ], + "image": "localhost:5000/jla/mod", + "name": "build-test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -E cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test" + }, + { + "commands": [ + "cd build", + "make install", + "cd ../", + "mod -e \"smiles('O').print()\"" + ], + "image": "localhost:5000/jla/mod", + "name": "simple test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -R cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test subdirectory build", + "when": { + "ref": [ + "refs/heads/develop", + "refs/heads/master", + "refs/tags/v*" + ] + } + } + ], + "volumes": [ ] +} +--- +{ + "kind": "pipeline", + "name": "g++-12, Boost 1_78_0", + "steps": [ + { + "commands": [ + "git fetch --tags", + "git submodule update --init --recursive", + "./bootstrap.sh" + ], + "image": "localhost:5000/jla/mod", + "name": "bootstrap" + }, + { + "commands": [ + "bindep testing", + "mkdir build", + "cd build", + "cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBOOST_ROOT=/opt/boost/1_78_0" + ], + "environment": { + "CXX": "g++-12", + "CXXFLAGS": "-Werror" + }, + "image": "localhost:5000/jla/mod", + "name": "configure" + }, + { + "commands": [ + "cd build", + "cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_78_0", + "make" + ], + "image": "localhost:5000/jla/mod", + "name": "build" + }, + { + "commands": [ + "cd build", + "make install" + ], + "image": "localhost:5000/jla/mod", + "name": "install" + }, + { + "commands": [ + "cd build", + "make tests" + ], + "image": "localhost:5000/jla/mod", + "name": "build-test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -E cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test" + }, + { + "commands": [ + "cd build", + "make install", + "cd ../", + "mod -e \"smiles('O').print()\"" + ], + "image": "localhost:5000/jla/mod", + "name": "simple test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -R cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test subdirectory build", + "when": { + "ref": [ + "refs/heads/develop", + "refs/heads/master", + "refs/tags/v*" + ] + } + } + ], + "volumes": [ ] +} +--- +{ + "kind": "pipeline", + "name": "g++-12, Boost 1_79_0", + "steps": [ + { + "commands": [ + "git fetch --tags", + "git submodule update --init --recursive", + "./bootstrap.sh" + ], + "image": "localhost:5000/jla/mod", + "name": "bootstrap" + }, + { + "commands": [ + "bindep testing", + "mkdir build", + "cd build", + "cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBOOST_ROOT=/opt/boost/1_79_0" + ], + "environment": { + "CXX": "g++-12", + "CXXFLAGS": "-Werror" + }, + "image": "localhost:5000/jla/mod", + "name": "configure" + }, + { + "commands": [ + "cd build", + "cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_79_0", + "make" + ], + "image": "localhost:5000/jla/mod", + "name": "build" + }, + { + "commands": [ + "cd build", + "make install" + ], + "image": "localhost:5000/jla/mod", + "name": "install" + }, + { + "commands": [ + "cd build", + "make tests" + ], + "image": "localhost:5000/jla/mod", + "name": "build-test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -E cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test" + }, + { + "commands": [ + "cd build", + "make install", + "cd ../", + "mod -e \"smiles('O').print()\"" + ], + "image": "localhost:5000/jla/mod", + "name": "simple test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -R cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test subdirectory build", + "when": { + "ref": [ + "refs/heads/develop", + "refs/heads/master", + "refs/tags/v*" + ] + } + } + ], + "volumes": [ ] +} +--- +{ + "kind": "pipeline", + "name": "g++-12, Boost 1_80_0", + "steps": [ + { + "commands": [ + "git fetch --tags", + "git submodule update --init --recursive", + "./bootstrap.sh" + ], + "image": "localhost:5000/jla/mod", + "name": "bootstrap" + }, + { + "commands": [ + "bindep testing", + "mkdir build", + "cd build", + "cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBOOST_ROOT=/opt/boost/1_80_0" + ], + "environment": { + "CXX": "g++-12", + "CXXFLAGS": "-Werror" + }, + "image": "localhost:5000/jla/mod", + "name": "configure" + }, + { + "commands": [ + "cd build", + "cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_80_0", + "make" + ], + "image": "localhost:5000/jla/mod", + "name": "build" + }, + { + "commands": [ + "cd build", + "make install" + ], + "image": "localhost:5000/jla/mod", + "name": "install" + }, + { + "commands": [ + "cd build", + "make tests" + ], + "image": "localhost:5000/jla/mod", + "name": "build-test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -E cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test" + }, + { + "commands": [ + "cd build", + "make install", + "cd ../", + "mod -e \"smiles('O').print()\"" + ], + "image": "localhost:5000/jla/mod", + "name": "simple test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -R cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test subdirectory build", + "when": { + "ref": [ + "refs/heads/develop", + "refs/heads/master", + "refs/tags/v*" + ] + } + } + ], + "volumes": [ ] +} +--- +{ + "kind": "pipeline", + "name": "g++-12, Boost 1_81_0", + "steps": [ + { + "commands": [ + "git fetch --tags", + "git submodule update --init --recursive", + "./bootstrap.sh" + ], + "image": "localhost:5000/jla/mod", + "name": "bootstrap" + }, + { + "commands": [ + "bindep testing", + "mkdir build", + "cd build", + "cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBOOST_ROOT=/opt/boost/1_81_0" + ], + "environment": { + "CXX": "g++-12", + "CXXFLAGS": "-Werror" + }, + "image": "localhost:5000/jla/mod", + "name": "configure" + }, + { + "commands": [ + "cd build", + "cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_81_0", + "make" + ], + "image": "localhost:5000/jla/mod", + "name": "build" + }, + { + "commands": [ + "cd build", + "make install" + ], + "image": "localhost:5000/jla/mod", + "name": "install" + }, + { + "commands": [ + "cd build", + "make tests" + ], + "image": "localhost:5000/jla/mod", + "name": "build-test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -E cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test" + }, + { + "commands": [ + "cd build", + "make install", + "cd ../", + "mod -e \"smiles('O').print()\"" + ], + "image": "localhost:5000/jla/mod", + "name": "simple test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -R cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test subdirectory build", + "when": { + "ref": [ + "refs/heads/develop", + "refs/heads/master", + "refs/tags/v*" + ] + } + } + ], + "volumes": [ ] +} +--- +{ + "kind": "pipeline", + "name": "g++-12, Boost 1_82_0", + "steps": [ + { + "commands": [ + "git fetch --tags", + "git submodule update --init --recursive", + "./bootstrap.sh" + ], + "image": "localhost:5000/jla/mod", + "name": "bootstrap" + }, + { + "commands": [ + "bindep testing", + "mkdir build", + "cd build", + "cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBOOST_ROOT=/opt/boost/1_82_0" + ], + "environment": { + "CXX": "g++-12", + "CXXFLAGS": "-Werror" + }, + "image": "localhost:5000/jla/mod", + "name": "configure" + }, + { + "commands": [ + "cd build", + "cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_82_0", + "make" + ], + "image": "localhost:5000/jla/mod", + "name": "build" + }, + { + "commands": [ + "cd build", + "make install" + ], + "image": "localhost:5000/jla/mod", + "name": "install" + }, + { + "commands": [ + "cd build", + "make tests" + ], + "image": "localhost:5000/jla/mod", + "name": "build-test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -E cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test" + }, + { + "commands": [ + "cd build", + "make install", + "cd ../", + "mod -e \"smiles('O').print()\"" + ], + "image": "localhost:5000/jla/mod", + "name": "simple test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -R cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test subdirectory build", + "when": { + "ref": [ + "refs/heads/develop", + "refs/heads/master", + "refs/tags/v*" + ] + } + } + ], + "volumes": [ ] +} +--- +{ + "kind": "pipeline", + "name": "g++-12, Boost 1_83_0", + "steps": [ + { + "commands": [ + "git fetch --tags", + "git submodule update --init --recursive", + "./bootstrap.sh" + ], + "image": "localhost:5000/jla/mod", + "name": "bootstrap" + }, + { + "commands": [ + "bindep testing", + "mkdir build", + "cd build", + "cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBOOST_ROOT=/opt/boost/1_83_0" + ], + "environment": { + "CXX": "g++-12", + "CXXFLAGS": "-Werror" + }, + "image": "localhost:5000/jla/mod", + "name": "configure" + }, + { + "commands": [ + "cd build", + "cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_83_0", + "make" + ], + "image": "localhost:5000/jla/mod", + "name": "build" + }, + { + "commands": [ + "cd build", + "make install" + ], + "image": "localhost:5000/jla/mod", + "name": "install" + }, + { + "commands": [ + "cd build", + "make tests" + ], + "image": "localhost:5000/jla/mod", + "name": "build-test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -E cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test" + }, + { + "commands": [ + "cd build", + "make install", + "cd ../", + "mod -e \"smiles('O').print()\"" + ], + "image": "localhost:5000/jla/mod", + "name": "simple test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -R cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test subdirectory build", + "when": { + "ref": [ + "refs/heads/develop", + "refs/heads/master", + "refs/tags/v*" + ] + } + } + ], + "volumes": [ ] +} +--- +{ + "kind": "pipeline", + "name": "g++-12, Boost 1_84_0", + "steps": [ + { + "commands": [ + "git fetch --tags", + "git submodule update --init --recursive", + "./bootstrap.sh" + ], + "image": "localhost:5000/jla/mod", + "name": "bootstrap" + }, + { + "commands": [ + "bindep testing", + "mkdir build", + "cd build", + "cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBOOST_ROOT=/opt/boost/1_84_0" + ], + "environment": { + "CXX": "g++-12", + "CXXFLAGS": "-Werror" + }, + "image": "localhost:5000/jla/mod", + "name": "configure" + }, + { + "commands": [ + "cd build", + "cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_84_0", + "make" + ], + "image": "localhost:5000/jla/mod", + "name": "build" + }, + { + "commands": [ + "cd build", + "make install" + ], + "image": "localhost:5000/jla/mod", + "name": "install" + }, + { + "commands": [ + "cd build", + "make tests" + ], + "image": "localhost:5000/jla/mod", + "name": "build-test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -E cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test" + }, + { + "commands": [ + "cd build", + "make install", + "cd ../", + "mod -e \"smiles('O').print()\"" + ], + "image": "localhost:5000/jla/mod", + "name": "simple test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -R cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test subdirectory build", + "when": { + "ref": [ + "refs/heads/develop", + "refs/heads/master", + "refs/tags/v*" + ] + } + } + ], + "volumes": [ ] +} +--- +{ + "kind": "pipeline", + "name": "g++-13, Boost 1_76_0", + "steps": [ + { + "commands": [ + "git fetch --tags", + "git submodule update --init --recursive", + "./bootstrap.sh" + ], + "image": "localhost:5000/jla/mod", + "name": "bootstrap" + }, + { + "commands": [ + "bindep testing", + "mkdir build", + "cd build", + "cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBOOST_ROOT=/opt/boost/1_76_0" + ], + "environment": { + "CXX": "g++-13", + "CXXFLAGS": "-Werror" + }, + "image": "localhost:5000/jla/mod", + "name": "configure" + }, + { + "commands": [ + "cd build", + "cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_76_0", + "make" + ], + "image": "localhost:5000/jla/mod", + "name": "build" + }, + { + "commands": [ + "cd build", + "make install" + ], + "image": "localhost:5000/jla/mod", + "name": "install" + }, + { + "commands": [ + "cd build", + "make tests" + ], + "image": "localhost:5000/jla/mod", + "name": "build-test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -E cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test" + }, + { + "commands": [ + "cd build", + "make install", + "cd ../", + "mod -e \"smiles('O').print()\"" + ], + "image": "localhost:5000/jla/mod", + "name": "simple test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -R cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test subdirectory build", + "when": { + "ref": [ + "refs/heads/develop", + "refs/heads/master", + "refs/tags/v*" + ] + } + } + ], + "volumes": [ ] +} +--- +{ + "kind": "pipeline", + "name": "g++-13, Boost 1_77_0", + "steps": [ + { + "commands": [ + "git fetch --tags", + "git submodule update --init --recursive", + "./bootstrap.sh" + ], + "image": "localhost:5000/jla/mod", + "name": "bootstrap" + }, + { + "commands": [ + "bindep testing", + "mkdir build", + "cd build", + "cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBOOST_ROOT=/opt/boost/1_77_0" + ], + "environment": { + "CXX": "g++-13", + "CXXFLAGS": "-Werror" + }, + "image": "localhost:5000/jla/mod", + "name": "configure" + }, + { + "commands": [ + "cd build", + "cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_77_0", + "make" + ], + "image": "localhost:5000/jla/mod", + "name": "build" + }, + { + "commands": [ + "cd build", + "make install" + ], + "image": "localhost:5000/jla/mod", + "name": "install" + }, + { + "commands": [ + "cd build", + "make tests" + ], + "image": "localhost:5000/jla/mod", + "name": "build-test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -E cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test" + }, + { + "commands": [ + "cd build", + "make install", + "cd ../", + "mod -e \"smiles('O').print()\"" + ], + "image": "localhost:5000/jla/mod", + "name": "simple test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -R cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test subdirectory build", + "when": { + "ref": [ + "refs/heads/develop", + "refs/heads/master", + "refs/tags/v*" + ] + } + } + ], + "volumes": [ ] +} +--- +{ + "kind": "pipeline", + "name": "g++-13, Boost 1_78_0", + "steps": [ + { + "commands": [ + "git fetch --tags", + "git submodule update --init --recursive", + "./bootstrap.sh" + ], + "image": "localhost:5000/jla/mod", + "name": "bootstrap" + }, + { + "commands": [ + "bindep testing", + "mkdir build", + "cd build", + "cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBOOST_ROOT=/opt/boost/1_78_0" + ], + "environment": { + "CXX": "g++-13", + "CXXFLAGS": "-Werror" + }, + "image": "localhost:5000/jla/mod", + "name": "configure" + }, + { + "commands": [ + "cd build", + "cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_78_0", + "make" + ], + "image": "localhost:5000/jla/mod", + "name": "build" + }, + { + "commands": [ + "cd build", + "make install" + ], + "image": "localhost:5000/jla/mod", + "name": "install" + }, + { + "commands": [ + "cd build", + "make tests" + ], + "image": "localhost:5000/jla/mod", + "name": "build-test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -E cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test" + }, + { + "commands": [ + "cd build", + "make install", + "cd ../", + "mod -e \"smiles('O').print()\"" + ], + "image": "localhost:5000/jla/mod", + "name": "simple test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -R cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test subdirectory build", + "when": { + "ref": [ + "refs/heads/develop", + "refs/heads/master", + "refs/tags/v*" + ] + } + } + ], + "volumes": [ ] +} +--- +{ + "kind": "pipeline", + "name": "g++-13, Boost 1_79_0", + "steps": [ + { + "commands": [ + "git fetch --tags", + "git submodule update --init --recursive", + "./bootstrap.sh" + ], + "image": "localhost:5000/jla/mod", + "name": "bootstrap" + }, + { + "commands": [ + "bindep testing", + "mkdir build", + "cd build", + "cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBOOST_ROOT=/opt/boost/1_79_0" + ], + "environment": { + "CXX": "g++-13", + "CXXFLAGS": "-Werror" + }, + "image": "localhost:5000/jla/mod", + "name": "configure" + }, + { + "commands": [ + "cd build", + "cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_79_0", + "make" + ], + "image": "localhost:5000/jla/mod", + "name": "build" + }, + { + "commands": [ + "cd build", + "make install" + ], + "image": "localhost:5000/jla/mod", + "name": "install" + }, + { + "commands": [ + "cd build", + "make tests" + ], + "image": "localhost:5000/jla/mod", + "name": "build-test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -E cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test" + }, + { + "commands": [ + "cd build", + "make install", + "cd ../", + "mod -e \"smiles('O').print()\"" + ], + "image": "localhost:5000/jla/mod", + "name": "simple test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -R cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test subdirectory build", + "when": { + "ref": [ + "refs/heads/develop", + "refs/heads/master", + "refs/tags/v*" + ] + } + } + ], + "volumes": [ ] +} +--- +{ + "kind": "pipeline", + "name": "g++-13, Boost 1_80_0", + "steps": [ + { + "commands": [ + "git fetch --tags", + "git submodule update --init --recursive", + "./bootstrap.sh" + ], + "image": "localhost:5000/jla/mod", + "name": "bootstrap" + }, + { + "commands": [ + "bindep testing", + "mkdir build", + "cd build", + "cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBOOST_ROOT=/opt/boost/1_80_0" + ], + "environment": { + "CXX": "g++-13", + "CXXFLAGS": "-Werror" + }, + "image": "localhost:5000/jla/mod", + "name": "configure" + }, + { + "commands": [ + "cd build", + "cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_80_0", + "make" + ], + "image": "localhost:5000/jla/mod", + "name": "build" + }, + { + "commands": [ + "cd build", + "make install" + ], + "image": "localhost:5000/jla/mod", + "name": "install" + }, + { + "commands": [ + "cd build", + "make tests" + ], + "image": "localhost:5000/jla/mod", + "name": "build-test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -E cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test" + }, + { + "commands": [ + "cd build", + "make install", + "cd ../", + "mod -e \"smiles('O').print()\"" + ], + "image": "localhost:5000/jla/mod", + "name": "simple test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -R cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test subdirectory build", + "when": { + "ref": [ + "refs/heads/develop", + "refs/heads/master", + "refs/tags/v*" + ] + } + } + ], + "volumes": [ ] +} +--- +{ + "kind": "pipeline", + "name": "g++-13, Boost 1_81_0", + "steps": [ + { + "commands": [ + "git fetch --tags", + "git submodule update --init --recursive", + "./bootstrap.sh" + ], + "image": "localhost:5000/jla/mod", + "name": "bootstrap" + }, + { + "commands": [ + "bindep testing", + "mkdir build", + "cd build", + "cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBOOST_ROOT=/opt/boost/1_81_0" + ], + "environment": { + "CXX": "g++-13", + "CXXFLAGS": "-Werror" + }, + "image": "localhost:5000/jla/mod", + "name": "configure" + }, + { + "commands": [ + "cd build", + "cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_81_0", + "make" + ], + "image": "localhost:5000/jla/mod", + "name": "build" + }, + { + "commands": [ + "cd build", + "make install" + ], + "image": "localhost:5000/jla/mod", + "name": "install" + }, + { + "commands": [ + "cd build", + "make tests" + ], + "image": "localhost:5000/jla/mod", + "name": "build-test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -E cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test" + }, + { + "commands": [ + "cd build", + "make install", + "cd ../", + "mod -e \"smiles('O').print()\"" + ], + "image": "localhost:5000/jla/mod", + "name": "simple test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -R cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test subdirectory build", + "when": { + "ref": [ + "refs/heads/develop", + "refs/heads/master", + "refs/tags/v*" + ] + } + } + ], + "volumes": [ ] +} +--- +{ + "kind": "pipeline", + "name": "g++-13, Boost 1_82_0", + "steps": [ + { + "commands": [ + "git fetch --tags", + "git submodule update --init --recursive", + "./bootstrap.sh" + ], + "image": "localhost:5000/jla/mod", + "name": "bootstrap" + }, + { + "commands": [ + "bindep testing", + "mkdir build", + "cd build", + "cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBOOST_ROOT=/opt/boost/1_82_0" + ], + "environment": { + "CXX": "g++-13", + "CXXFLAGS": "-Werror" + }, + "image": "localhost:5000/jla/mod", + "name": "configure" + }, + { + "commands": [ + "cd build", + "cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_82_0", + "make" + ], + "image": "localhost:5000/jla/mod", + "name": "build" + }, + { + "commands": [ + "cd build", + "make install" + ], + "image": "localhost:5000/jla/mod", + "name": "install" + }, + { + "commands": [ + "cd build", + "make tests" + ], + "image": "localhost:5000/jla/mod", + "name": "build-test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -E cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test" + }, + { + "commands": [ + "cd build", + "make install", + "cd ../", + "mod -e \"smiles('O').print()\"" + ], + "image": "localhost:5000/jla/mod", + "name": "simple test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -R cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test subdirectory build", + "when": { + "ref": [ + "refs/heads/develop", + "refs/heads/master", + "refs/tags/v*" + ] + } + } + ], + "volumes": [ ] +} +--- +{ + "kind": "pipeline", + "name": "g++-13, Boost 1_83_0", + "steps": [ + { + "commands": [ + "git fetch --tags", + "git submodule update --init --recursive", + "./bootstrap.sh" + ], + "image": "localhost:5000/jla/mod", + "name": "bootstrap" + }, + { + "commands": [ + "bindep testing", + "mkdir build", + "cd build", + "cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBOOST_ROOT=/opt/boost/1_83_0" + ], + "environment": { + "CXX": "g++-13", + "CXXFLAGS": "-Werror" + }, + "image": "localhost:5000/jla/mod", + "name": "configure" + }, + { + "commands": [ + "cd build", + "cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_83_0", + "make" + ], + "image": "localhost:5000/jla/mod", + "name": "build" + }, + { + "commands": [ + "cd build", + "make install" + ], + "image": "localhost:5000/jla/mod", + "name": "install" + }, + { + "commands": [ + "cd build", + "make tests" + ], + "image": "localhost:5000/jla/mod", + "name": "build-test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -E cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test" + }, + { + "commands": [ + "cd build", + "make install", + "cd ../", + "mod -e \"smiles('O').print()\"" + ], + "image": "localhost:5000/jla/mod", + "name": "simple test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -R cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test subdirectory build", + "when": { + "ref": [ + "refs/heads/develop", + "refs/heads/master", + "refs/tags/v*" + ] + } + } + ], + "volumes": [ ] +} +--- +{ + "kind": "pipeline", + "name": "g++-13, Boost 1_84_0", + "steps": [ + { + "commands": [ + "git fetch --tags", + "git submodule update --init --recursive", + "./bootstrap.sh" + ], + "image": "localhost:5000/jla/mod", + "name": "bootstrap" + }, + { + "commands": [ + "bindep testing", + "mkdir build", + "cd build", + "cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBOOST_ROOT=/opt/boost/1_84_0" + ], + "environment": { + "CXX": "g++-13", + "CXXFLAGS": "-Werror" + }, + "image": "localhost:5000/jla/mod", + "name": "configure" + }, + { + "commands": [ + "cd build", + "cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_84_0", + "make" + ], + "image": "localhost:5000/jla/mod", + "name": "build" + }, + { + "commands": [ + "cd build", + "make install" + ], + "image": "localhost:5000/jla/mod", + "name": "install" + }, + { + "commands": [ + "cd build", + "make tests" + ], + "image": "localhost:5000/jla/mod", + "name": "build-test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -E cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test" + }, + { + "commands": [ + "cd build", + "make install", + "cd ../", + "mod -e \"smiles('O').print()\"" + ], + "image": "localhost:5000/jla/mod", + "name": "simple test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -R cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test subdirectory build", + "when": { + "ref": [ + "refs/heads/develop", + "refs/heads/master", + "refs/tags/v*" + ] + } + } + ], + "volumes": [ ] +} +--- +{ + "kind": "pipeline", + "name": "clang++-11, Boost 1_76_0", + "steps": [ + { + "commands": [ + "git fetch --tags", + "git submodule update --init --recursive", + "./bootstrap.sh" + ], + "image": "localhost:5000/jla/mod", + "name": "bootstrap" + }, + { + "commands": [ + "bindep testing", + "mkdir build", + "cd build", + "cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBOOST_ROOT=/opt/boost/1_76_0" + ], + "environment": { + "CXX": "clang++-11", + "CXXFLAGS": "-Werror" + }, + "image": "localhost:5000/jla/mod", + "name": "configure" + }, + { + "commands": [ + "cd build", + "cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_76_0", + "make" + ], + "image": "localhost:5000/jla/mod", + "name": "build" + }, + { + "commands": [ + "cd build", + "make install" + ], + "image": "localhost:5000/jla/mod", + "name": "install" + }, + { + "commands": [ + "cd build", + "make tests" + ], + "image": "localhost:5000/jla/mod", + "name": "build-test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -E cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test" + }, + { + "commands": [ + "cd build", + "make install", + "cd ../", + "mod -e \"smiles('O').print()\"" + ], + "image": "localhost:5000/jla/mod", + "name": "simple test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -R cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test subdirectory build", + "when": { + "ref": [ + "refs/heads/develop", + "refs/heads/master", + "refs/tags/v*" + ] + } + } + ], + "volumes": [ ] +} +--- +{ + "kind": "pipeline", + "name": "clang++-11, Boost 1_77_0", + "steps": [ + { + "commands": [ + "git fetch --tags", + "git submodule update --init --recursive", + "./bootstrap.sh" + ], + "image": "localhost:5000/jla/mod", + "name": "bootstrap" + }, + { + "commands": [ + "bindep testing", + "mkdir build", + "cd build", + "cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBOOST_ROOT=/opt/boost/1_77_0" + ], + "environment": { + "CXX": "clang++-11", + "CXXFLAGS": "-Werror" + }, + "image": "localhost:5000/jla/mod", + "name": "configure" + }, + { + "commands": [ + "cd build", + "cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_77_0", + "make" + ], + "image": "localhost:5000/jla/mod", + "name": "build" + }, + { + "commands": [ + "cd build", + "make install" + ], + "image": "localhost:5000/jla/mod", + "name": "install" + }, + { + "commands": [ + "cd build", + "make tests" + ], + "image": "localhost:5000/jla/mod", + "name": "build-test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -E cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test" + }, + { + "commands": [ + "cd build", + "make install", + "cd ../", + "mod -e \"smiles('O').print()\"" + ], + "image": "localhost:5000/jla/mod", + "name": "simple test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -R cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test subdirectory build", + "when": { + "ref": [ + "refs/heads/develop", + "refs/heads/master", + "refs/tags/v*" + ] + } + } + ], + "volumes": [ ] +} +--- +{ + "kind": "pipeline", + "name": "clang++-11, Boost 1_78_0", + "steps": [ + { + "commands": [ + "git fetch --tags", + "git submodule update --init --recursive", + "./bootstrap.sh" + ], + "image": "localhost:5000/jla/mod", + "name": "bootstrap" + }, + { + "commands": [ + "bindep testing", + "mkdir build", + "cd build", + "cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBOOST_ROOT=/opt/boost/1_78_0" + ], + "environment": { + "CXX": "clang++-11", + "CXXFLAGS": "-Werror" + }, + "image": "localhost:5000/jla/mod", + "name": "configure" + }, + { + "commands": [ + "cd build", + "cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_78_0", + "make" + ], + "image": "localhost:5000/jla/mod", + "name": "build" + }, + { + "commands": [ + "cd build", + "make install" + ], + "image": "localhost:5000/jla/mod", + "name": "install" + }, + { + "commands": [ + "cd build", + "make tests" + ], + "image": "localhost:5000/jla/mod", + "name": "build-test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -E cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test" + }, + { + "commands": [ + "cd build", + "make install", + "cd ../", + "mod -e \"smiles('O').print()\"" + ], + "image": "localhost:5000/jla/mod", + "name": "simple test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -R cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test subdirectory build", + "when": { + "ref": [ + "refs/heads/develop", + "refs/heads/master", + "refs/tags/v*" + ] + } + } + ], + "volumes": [ ] +} +--- +{ + "kind": "pipeline", + "name": "clang++-11, Boost 1_79_0", + "steps": [ + { + "commands": [ + "git fetch --tags", + "git submodule update --init --recursive", + "./bootstrap.sh" + ], + "image": "localhost:5000/jla/mod", + "name": "bootstrap" + }, + { + "commands": [ + "bindep testing", + "mkdir build", + "cd build", + "cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBOOST_ROOT=/opt/boost/1_79_0" + ], + "environment": { + "CXX": "clang++-11", + "CXXFLAGS": "-Werror" + }, + "image": "localhost:5000/jla/mod", + "name": "configure" + }, + { + "commands": [ + "cd build", + "cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_79_0", + "make" + ], + "image": "localhost:5000/jla/mod", + "name": "build" + }, + { + "commands": [ + "cd build", + "make install" + ], + "image": "localhost:5000/jla/mod", + "name": "install" + }, + { + "commands": [ + "cd build", + "make tests" + ], + "image": "localhost:5000/jla/mod", + "name": "build-test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -E cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test" + }, + { + "commands": [ + "cd build", + "make install", + "cd ../", + "mod -e \"smiles('O').print()\"" + ], + "image": "localhost:5000/jla/mod", + "name": "simple test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -R cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test subdirectory build", + "when": { + "ref": [ + "refs/heads/develop", + "refs/heads/master", + "refs/tags/v*" + ] + } + } + ], + "volumes": [ ] +} +--- +{ + "kind": "pipeline", + "name": "clang++-11, Boost 1_80_0", + "steps": [ + { + "commands": [ + "git fetch --tags", + "git submodule update --init --recursive", + "./bootstrap.sh" + ], + "image": "localhost:5000/jla/mod", + "name": "bootstrap" + }, + { + "commands": [ + "bindep testing", + "mkdir build", + "cd build", + "cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBOOST_ROOT=/opt/boost/1_80_0" + ], + "environment": { + "CXX": "clang++-11", + "CXXFLAGS": "-Werror" + }, + "image": "localhost:5000/jla/mod", + "name": "configure" + }, + { + "commands": [ + "cd build", + "cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_80_0", + "make" + ], + "image": "localhost:5000/jla/mod", + "name": "build" + }, + { + "commands": [ + "cd build", + "make install" + ], + "image": "localhost:5000/jla/mod", + "name": "install" + }, + { + "commands": [ + "cd build", + "make tests" + ], + "image": "localhost:5000/jla/mod", + "name": "build-test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -E cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test" + }, + { + "commands": [ + "cd build", + "make install", + "cd ../", + "mod -e \"smiles('O').print()\"" + ], + "image": "localhost:5000/jla/mod", + "name": "simple test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -R cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test subdirectory build", + "when": { + "ref": [ + "refs/heads/develop", + "refs/heads/master", + "refs/tags/v*" + ] + } + } + ], + "volumes": [ ] +} +--- +{ + "kind": "pipeline", + "name": "clang++-11, Boost 1_81_0", + "steps": [ + { + "commands": [ + "git fetch --tags", + "git submodule update --init --recursive", + "./bootstrap.sh" + ], + "image": "localhost:5000/jla/mod", + "name": "bootstrap" + }, + { + "commands": [ + "bindep testing", + "mkdir build", + "cd build", + "cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBOOST_ROOT=/opt/boost/1_81_0" + ], + "environment": { + "CXX": "clang++-11", + "CXXFLAGS": "-Werror" + }, + "image": "localhost:5000/jla/mod", + "name": "configure" + }, + { + "commands": [ + "cd build", + "cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_81_0", + "make" + ], + "image": "localhost:5000/jla/mod", + "name": "build" + }, + { + "commands": [ + "cd build", + "make install" + ], + "image": "localhost:5000/jla/mod", + "name": "install" + }, + { + "commands": [ + "cd build", + "make tests" + ], + "image": "localhost:5000/jla/mod", + "name": "build-test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -E cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test" + }, + { + "commands": [ + "cd build", + "make install", + "cd ../", + "mod -e \"smiles('O').print()\"" + ], + "image": "localhost:5000/jla/mod", + "name": "simple test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -R cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test subdirectory build", + "when": { + "ref": [ + "refs/heads/develop", + "refs/heads/master", + "refs/tags/v*" + ] + } + } + ], + "volumes": [ ] +} +--- +{ + "kind": "pipeline", + "name": "clang++-11, Boost 1_82_0", + "steps": [ + { + "commands": [ + "git fetch --tags", + "git submodule update --init --recursive", + "./bootstrap.sh" + ], + "image": "localhost:5000/jla/mod", + "name": "bootstrap" + }, + { + "commands": [ + "bindep testing", + "mkdir build", + "cd build", + "cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBOOST_ROOT=/opt/boost/1_82_0" + ], + "environment": { + "CXX": "clang++-11", + "CXXFLAGS": "-Werror" + }, + "image": "localhost:5000/jla/mod", + "name": "configure" + }, + { + "commands": [ + "cd build", + "cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_82_0", + "make" + ], + "image": "localhost:5000/jla/mod", + "name": "build" + }, + { + "commands": [ + "cd build", + "make install" + ], + "image": "localhost:5000/jla/mod", + "name": "install" + }, + { + "commands": [ + "cd build", + "make tests" + ], + "image": "localhost:5000/jla/mod", + "name": "build-test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -E cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test" + }, + { + "commands": [ + "cd build", + "make install", + "cd ../", + "mod -e \"smiles('O').print()\"" + ], + "image": "localhost:5000/jla/mod", + "name": "simple test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -R cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test subdirectory build", + "when": { + "ref": [ + "refs/heads/develop", + "refs/heads/master", + "refs/tags/v*" + ] + } + } + ], + "volumes": [ ] +} +--- +{ + "kind": "pipeline", + "name": "clang++-11, Boost 1_83_0", + "steps": [ + { + "commands": [ + "git fetch --tags", + "git submodule update --init --recursive", + "./bootstrap.sh" + ], + "image": "localhost:5000/jla/mod", + "name": "bootstrap" + }, + { + "commands": [ + "bindep testing", + "mkdir build", + "cd build", + "cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBOOST_ROOT=/opt/boost/1_83_0" + ], + "environment": { + "CXX": "clang++-11", + "CXXFLAGS": "-Werror" + }, + "image": "localhost:5000/jla/mod", + "name": "configure" + }, + { + "commands": [ + "cd build", + "cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_83_0", + "make" + ], + "image": "localhost:5000/jla/mod", + "name": "build" + }, + { + "commands": [ + "cd build", + "make install" + ], + "image": "localhost:5000/jla/mod", + "name": "install" + }, + { + "commands": [ + "cd build", + "make tests" + ], + "image": "localhost:5000/jla/mod", + "name": "build-test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -E cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test" + }, + { + "commands": [ + "cd build", + "make install", + "cd ../", + "mod -e \"smiles('O').print()\"" + ], + "image": "localhost:5000/jla/mod", + "name": "simple test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -R cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test subdirectory build", + "when": { + "ref": [ + "refs/heads/develop", + "refs/heads/master", + "refs/tags/v*" + ] + } + } + ], + "volumes": [ ] +} +--- +{ + "kind": "pipeline", + "name": "clang++-11, Boost 1_84_0", + "steps": [ + { + "commands": [ + "git fetch --tags", + "git submodule update --init --recursive", + "./bootstrap.sh" + ], + "image": "localhost:5000/jla/mod", + "name": "bootstrap" + }, + { + "commands": [ + "bindep testing", + "mkdir build", + "cd build", + "cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBOOST_ROOT=/opt/boost/1_84_0" + ], + "environment": { + "CXX": "clang++-11", + "CXXFLAGS": "-Werror" + }, + "image": "localhost:5000/jla/mod", + "name": "configure" + }, + { + "commands": [ + "cd build", + "cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_84_0", + "make" + ], + "image": "localhost:5000/jla/mod", + "name": "build" + }, + { + "commands": [ + "cd build", + "make install" + ], + "image": "localhost:5000/jla/mod", + "name": "install" + }, + { + "commands": [ + "cd build", + "make tests" + ], + "image": "localhost:5000/jla/mod", + "name": "build-test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -E cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test" + }, + { + "commands": [ + "cd build", + "make install", + "cd ../", + "mod -e \"smiles('O').print()\"" + ], + "image": "localhost:5000/jla/mod", + "name": "simple test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -R cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test subdirectory build", + "when": { + "ref": [ + "refs/heads/develop", + "refs/heads/master", + "refs/tags/v*" + ] + } + } + ], + "volumes": [ ] +} +--- +{ + "kind": "pipeline", + "name": "clang++-12, Boost 1_76_0", + "steps": [ + { + "commands": [ + "git fetch --tags", + "git submodule update --init --recursive", + "./bootstrap.sh" + ], + "image": "localhost:5000/jla/mod", + "name": "bootstrap" + }, + { + "commands": [ + "bindep testing", + "mkdir build", + "cd build", + "cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBOOST_ROOT=/opt/boost/1_76_0" + ], + "environment": { + "CXX": "clang++-12", + "CXXFLAGS": "-Werror" + }, + "image": "localhost:5000/jla/mod", + "name": "configure" + }, + { + "commands": [ + "cd build", + "cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_76_0", + "make" + ], + "image": "localhost:5000/jla/mod", + "name": "build" + }, + { + "commands": [ + "cd build", + "make install" + ], + "image": "localhost:5000/jla/mod", + "name": "install" + }, + { + "commands": [ + "cd build", + "make tests" + ], + "image": "localhost:5000/jla/mod", + "name": "build-test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -E cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test" + }, + { + "commands": [ + "cd build", + "make install", + "cd ../", + "mod -e \"smiles('O').print()\"" + ], + "image": "localhost:5000/jla/mod", + "name": "simple test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -R cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test subdirectory build", + "when": { + "ref": [ + "refs/heads/develop", + "refs/heads/master", + "refs/tags/v*" + ] + } + } + ], + "volumes": [ ] +} +--- +{ + "kind": "pipeline", + "name": "clang++-12, Boost 1_77_0", + "steps": [ + { + "commands": [ + "git fetch --tags", + "git submodule update --init --recursive", + "./bootstrap.sh" + ], + "image": "localhost:5000/jla/mod", + "name": "bootstrap" + }, + { + "commands": [ + "bindep testing", + "mkdir build", + "cd build", + "cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBOOST_ROOT=/opt/boost/1_77_0" + ], + "environment": { + "CXX": "clang++-12", + "CXXFLAGS": "-Werror" + }, + "image": "localhost:5000/jla/mod", + "name": "configure" + }, + { + "commands": [ + "cd build", + "cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_77_0", + "make" + ], + "image": "localhost:5000/jla/mod", + "name": "build" + }, + { + "commands": [ + "cd build", + "make install" + ], + "image": "localhost:5000/jla/mod", + "name": "install" + }, + { + "commands": [ + "cd build", + "make tests" + ], + "image": "localhost:5000/jla/mod", + "name": "build-test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -E cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test" + }, + { + "commands": [ + "cd build", + "make install", + "cd ../", + "mod -e \"smiles('O').print()\"" + ], + "image": "localhost:5000/jla/mod", + "name": "simple test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -R cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test subdirectory build", + "when": { + "ref": [ + "refs/heads/develop", + "refs/heads/master", + "refs/tags/v*" + ] + } + } + ], + "volumes": [ ] +} +--- +{ + "kind": "pipeline", + "name": "clang++-12, Boost 1_78_0", + "steps": [ + { + "commands": [ + "git fetch --tags", + "git submodule update --init --recursive", + "./bootstrap.sh" + ], + "image": "localhost:5000/jla/mod", + "name": "bootstrap" + }, + { + "commands": [ + "bindep testing", + "mkdir build", + "cd build", + "cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBOOST_ROOT=/opt/boost/1_78_0" + ], + "environment": { + "CXX": "clang++-12", + "CXXFLAGS": "-Werror" + }, + "image": "localhost:5000/jla/mod", + "name": "configure" + }, + { + "commands": [ + "cd build", + "cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_78_0", + "make" + ], + "image": "localhost:5000/jla/mod", + "name": "build" + }, + { + "commands": [ + "cd build", + "make install" + ], + "image": "localhost:5000/jla/mod", + "name": "install" + }, + { + "commands": [ + "cd build", + "make tests" + ], + "image": "localhost:5000/jla/mod", + "name": "build-test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -E cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test" + }, + { + "commands": [ + "cd build", + "make install", + "cd ../", + "mod -e \"smiles('O').print()\"" + ], + "image": "localhost:5000/jla/mod", + "name": "simple test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -R cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test subdirectory build", + "when": { + "ref": [ + "refs/heads/develop", + "refs/heads/master", + "refs/tags/v*" + ] + } + } + ], + "volumes": [ ] +} +--- +{ + "kind": "pipeline", + "name": "clang++-12, Boost 1_79_0", + "steps": [ + { + "commands": [ + "git fetch --tags", + "git submodule update --init --recursive", + "./bootstrap.sh" + ], + "image": "localhost:5000/jla/mod", + "name": "bootstrap" + }, + { + "commands": [ + "bindep testing", + "mkdir build", + "cd build", + "cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBOOST_ROOT=/opt/boost/1_79_0" + ], + "environment": { + "CXX": "clang++-12", + "CXXFLAGS": "-Werror" + }, + "image": "localhost:5000/jla/mod", + "name": "configure" + }, + { + "commands": [ + "cd build", + "cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_79_0", + "make" + ], + "image": "localhost:5000/jla/mod", + "name": "build" + }, + { + "commands": [ + "cd build", + "make install" + ], + "image": "localhost:5000/jla/mod", + "name": "install" + }, + { + "commands": [ + "cd build", + "make tests" + ], + "image": "localhost:5000/jla/mod", + "name": "build-test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -E cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test" + }, + { + "commands": [ + "cd build", + "make install", + "cd ../", + "mod -e \"smiles('O').print()\"" + ], + "image": "localhost:5000/jla/mod", + "name": "simple test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -R cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test subdirectory build", + "when": { + "ref": [ + "refs/heads/develop", + "refs/heads/master", + "refs/tags/v*" + ] + } + } + ], + "volumes": [ ] +} +--- +{ + "kind": "pipeline", + "name": "clang++-12, Boost 1_80_0", + "steps": [ + { + "commands": [ + "git fetch --tags", + "git submodule update --init --recursive", + "./bootstrap.sh" + ], + "image": "localhost:5000/jla/mod", + "name": "bootstrap" + }, + { + "commands": [ + "bindep testing", + "mkdir build", + "cd build", + "cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBOOST_ROOT=/opt/boost/1_80_0" + ], + "environment": { + "CXX": "clang++-12", + "CXXFLAGS": "-Werror" + }, + "image": "localhost:5000/jla/mod", + "name": "configure" + }, + { + "commands": [ + "cd build", + "cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_80_0", + "make" + ], + "image": "localhost:5000/jla/mod", + "name": "build" + }, + { + "commands": [ + "cd build", + "make install" + ], + "image": "localhost:5000/jla/mod", + "name": "install" + }, + { + "commands": [ + "cd build", + "make tests" + ], + "image": "localhost:5000/jla/mod", + "name": "build-test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -E cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test" + }, + { + "commands": [ + "cd build", + "make install", + "cd ../", + "mod -e \"smiles('O').print()\"" + ], + "image": "localhost:5000/jla/mod", + "name": "simple test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -R cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test subdirectory build", + "when": { + "ref": [ + "refs/heads/develop", + "refs/heads/master", + "refs/tags/v*" + ] + } + } + ], + "volumes": [ ] +} +--- +{ + "kind": "pipeline", + "name": "clang++-12, Boost 1_81_0", + "steps": [ + { + "commands": [ + "git fetch --tags", + "git submodule update --init --recursive", + "./bootstrap.sh" + ], + "image": "localhost:5000/jla/mod", + "name": "bootstrap" + }, + { + "commands": [ + "bindep testing", + "mkdir build", + "cd build", + "cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBOOST_ROOT=/opt/boost/1_81_0" + ], + "environment": { + "CXX": "clang++-12", + "CXXFLAGS": "-Werror" + }, + "image": "localhost:5000/jla/mod", + "name": "configure" + }, + { + "commands": [ + "cd build", + "cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_81_0", + "make" + ], + "image": "localhost:5000/jla/mod", + "name": "build" + }, + { + "commands": [ + "cd build", + "make install" + ], + "image": "localhost:5000/jla/mod", + "name": "install" + }, + { + "commands": [ + "cd build", + "make tests" + ], + "image": "localhost:5000/jla/mod", + "name": "build-test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -E cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test" + }, + { + "commands": [ + "cd build", + "make install", + "cd ../", + "mod -e \"smiles('O').print()\"" + ], + "image": "localhost:5000/jla/mod", + "name": "simple test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -R cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test subdirectory build", + "when": { + "ref": [ + "refs/heads/develop", + "refs/heads/master", + "refs/tags/v*" + ] + } + } + ], + "volumes": [ ] +} +--- +{ + "kind": "pipeline", + "name": "clang++-12, Boost 1_82_0", + "steps": [ + { + "commands": [ + "git fetch --tags", + "git submodule update --init --recursive", + "./bootstrap.sh" + ], + "image": "localhost:5000/jla/mod", + "name": "bootstrap" + }, + { + "commands": [ + "bindep testing", + "mkdir build", + "cd build", + "cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBOOST_ROOT=/opt/boost/1_82_0" + ], + "environment": { + "CXX": "clang++-12", + "CXXFLAGS": "-Werror" + }, + "image": "localhost:5000/jla/mod", + "name": "configure" + }, + { + "commands": [ + "cd build", + "cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_82_0", + "make" + ], + "image": "localhost:5000/jla/mod", + "name": "build" + }, + { + "commands": [ + "cd build", + "make install" + ], + "image": "localhost:5000/jla/mod", + "name": "install" + }, + { + "commands": [ + "cd build", + "make tests" + ], + "image": "localhost:5000/jla/mod", + "name": "build-test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -E cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test" + }, + { + "commands": [ + "cd build", + "make install", + "cd ../", + "mod -e \"smiles('O').print()\"" + ], + "image": "localhost:5000/jla/mod", + "name": "simple test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -R cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test subdirectory build", + "when": { + "ref": [ + "refs/heads/develop", + "refs/heads/master", + "refs/tags/v*" + ] + } + } + ], + "volumes": [ ] +} +--- +{ + "kind": "pipeline", + "name": "clang++-12, Boost 1_83_0", + "steps": [ + { + "commands": [ + "git fetch --tags", + "git submodule update --init --recursive", + "./bootstrap.sh" + ], + "image": "localhost:5000/jla/mod", + "name": "bootstrap" + }, + { + "commands": [ + "bindep testing", + "mkdir build", + "cd build", + "cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBOOST_ROOT=/opt/boost/1_83_0" + ], + "environment": { + "CXX": "clang++-12", + "CXXFLAGS": "-Werror" + }, + "image": "localhost:5000/jla/mod", + "name": "configure" + }, + { + "commands": [ + "cd build", + "cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_83_0", + "make" + ], + "image": "localhost:5000/jla/mod", + "name": "build" + }, + { + "commands": [ + "cd build", + "make install" + ], + "image": "localhost:5000/jla/mod", + "name": "install" + }, + { + "commands": [ + "cd build", + "make tests" + ], + "image": "localhost:5000/jla/mod", + "name": "build-test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -E cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test" + }, + { + "commands": [ + "cd build", + "make install", + "cd ../", + "mod -e \"smiles('O').print()\"" + ], + "image": "localhost:5000/jla/mod", + "name": "simple test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -R cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test subdirectory build", + "when": { + "ref": [ + "refs/heads/develop", + "refs/heads/master", + "refs/tags/v*" + ] + } + } + ], + "volumes": [ ] +} +--- +{ + "kind": "pipeline", + "name": "clang++-12, Boost 1_84_0", + "steps": [ + { + "commands": [ + "git fetch --tags", + "git submodule update --init --recursive", + "./bootstrap.sh" + ], + "image": "localhost:5000/jla/mod", + "name": "bootstrap" + }, + { + "commands": [ + "bindep testing", + "mkdir build", + "cd build", + "cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBOOST_ROOT=/opt/boost/1_84_0" + ], + "environment": { + "CXX": "clang++-12", + "CXXFLAGS": "-Werror" + }, + "image": "localhost:5000/jla/mod", + "name": "configure" + }, + { + "commands": [ + "cd build", + "cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_84_0", + "make" + ], + "image": "localhost:5000/jla/mod", + "name": "build" + }, + { + "commands": [ + "cd build", + "make install" + ], + "image": "localhost:5000/jla/mod", + "name": "install" + }, + { + "commands": [ + "cd build", + "make tests" + ], + "image": "localhost:5000/jla/mod", + "name": "build-test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -E cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test" + }, + { + "commands": [ + "cd build", + "make install", + "cd ../", + "mod -e \"smiles('O').print()\"" + ], + "image": "localhost:5000/jla/mod", + "name": "simple test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -R cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test subdirectory build", + "when": { + "ref": [ + "refs/heads/develop", + "refs/heads/master", + "refs/tags/v*" + ] + } + } + ], + "volumes": [ ] +} +--- +{ + "kind": "pipeline", + "name": "clang++-13, Boost 1_76_0", + "steps": [ + { + "commands": [ + "git fetch --tags", + "git submodule update --init --recursive", + "./bootstrap.sh" + ], + "image": "localhost:5000/jla/mod", + "name": "bootstrap" + }, + { + "commands": [ + "bindep testing", + "mkdir build", + "cd build", + "cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBOOST_ROOT=/opt/boost/1_76_0" + ], + "environment": { + "CXX": "clang++-13", + "CXXFLAGS": "-Werror" + }, + "image": "localhost:5000/jla/mod", + "name": "configure" + }, + { + "commands": [ + "cd build", + "cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_76_0", + "make" + ], + "image": "localhost:5000/jla/mod", + "name": "build" + }, + { + "commands": [ + "cd build", + "make install" + ], + "image": "localhost:5000/jla/mod", + "name": "install" + }, + { + "commands": [ + "cd build", + "make tests" + ], + "image": "localhost:5000/jla/mod", + "name": "build-test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -E cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test" + }, + { + "commands": [ + "cd build", + "make install", + "cd ../", + "mod -e \"smiles('O').print()\"" + ], + "image": "localhost:5000/jla/mod", + "name": "simple test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -R cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test subdirectory build", + "when": { + "ref": [ + "refs/heads/develop", + "refs/heads/master", + "refs/tags/v*" + ] + } + } + ], + "volumes": [ ] +} +--- +{ + "kind": "pipeline", + "name": "clang++-13, Boost 1_77_0", + "steps": [ + { + "commands": [ + "git fetch --tags", + "git submodule update --init --recursive", + "./bootstrap.sh" + ], + "image": "localhost:5000/jla/mod", + "name": "bootstrap" + }, + { + "commands": [ + "bindep testing", + "mkdir build", + "cd build", + "cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBOOST_ROOT=/opt/boost/1_77_0" + ], + "environment": { + "CXX": "clang++-13", + "CXXFLAGS": "-Werror" + }, + "image": "localhost:5000/jla/mod", + "name": "configure" + }, + { + "commands": [ + "cd build", + "cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_77_0", + "make" + ], + "image": "localhost:5000/jla/mod", + "name": "build" + }, + { + "commands": [ + "cd build", + "make install" + ], + "image": "localhost:5000/jla/mod", + "name": "install" + }, + { + "commands": [ + "cd build", + "make tests" + ], + "image": "localhost:5000/jla/mod", + "name": "build-test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -E cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test" + }, + { + "commands": [ + "cd build", + "make install", + "cd ../", + "mod -e \"smiles('O').print()\"" + ], + "image": "localhost:5000/jla/mod", + "name": "simple test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -R cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test subdirectory build", + "when": { + "ref": [ + "refs/heads/develop", + "refs/heads/master", + "refs/tags/v*" + ] + } + } + ], + "volumes": [ ] +} +--- +{ + "kind": "pipeline", + "name": "clang++-13, Boost 1_78_0", + "steps": [ + { + "commands": [ + "git fetch --tags", + "git submodule update --init --recursive", + "./bootstrap.sh" + ], + "image": "localhost:5000/jla/mod", + "name": "bootstrap" + }, + { + "commands": [ + "bindep testing", + "mkdir build", + "cd build", + "cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBOOST_ROOT=/opt/boost/1_78_0" + ], + "environment": { + "CXX": "clang++-13", + "CXXFLAGS": "-Werror" + }, + "image": "localhost:5000/jla/mod", + "name": "configure" + }, + { + "commands": [ + "cd build", + "cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_78_0", + "make" + ], + "image": "localhost:5000/jla/mod", + "name": "build" + }, + { + "commands": [ + "cd build", + "make install" + ], + "image": "localhost:5000/jla/mod", + "name": "install" + }, + { + "commands": [ + "cd build", + "make tests" + ], + "image": "localhost:5000/jla/mod", + "name": "build-test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -E cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test" + }, + { + "commands": [ + "cd build", + "make install", + "cd ../", + "mod -e \"smiles('O').print()\"" + ], + "image": "localhost:5000/jla/mod", + "name": "simple test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -R cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test subdirectory build", + "when": { + "ref": [ + "refs/heads/develop", + "refs/heads/master", + "refs/tags/v*" + ] + } + } + ], + "volumes": [ ] +} +--- +{ + "kind": "pipeline", + "name": "clang++-13, Boost 1_79_0", + "steps": [ + { + "commands": [ + "git fetch --tags", + "git submodule update --init --recursive", + "./bootstrap.sh" + ], + "image": "localhost:5000/jla/mod", + "name": "bootstrap" + }, + { + "commands": [ + "bindep testing", + "mkdir build", + "cd build", + "cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBOOST_ROOT=/opt/boost/1_79_0" + ], + "environment": { + "CXX": "clang++-13", + "CXXFLAGS": "-Werror" + }, + "image": "localhost:5000/jla/mod", + "name": "configure" + }, + { + "commands": [ + "cd build", + "cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_79_0", + "make" + ], + "image": "localhost:5000/jla/mod", + "name": "build" + }, + { + "commands": [ + "cd build", + "make install" + ], + "image": "localhost:5000/jla/mod", + "name": "install" + }, + { + "commands": [ + "cd build", + "make tests" + ], + "image": "localhost:5000/jla/mod", + "name": "build-test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -E cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test" + }, + { + "commands": [ + "cd build", + "make install", + "cd ../", + "mod -e \"smiles('O').print()\"" + ], + "image": "localhost:5000/jla/mod", + "name": "simple test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -R cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test subdirectory build", + "when": { + "ref": [ + "refs/heads/develop", + "refs/heads/master", + "refs/tags/v*" + ] + } + } + ], + "volumes": [ ] +} +--- +{ + "kind": "pipeline", + "name": "clang++-13, Boost 1_80_0", + "steps": [ + { + "commands": [ + "git fetch --tags", + "git submodule update --init --recursive", + "./bootstrap.sh" + ], + "image": "localhost:5000/jla/mod", + "name": "bootstrap" + }, + { + "commands": [ + "bindep testing", + "mkdir build", + "cd build", + "cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBOOST_ROOT=/opt/boost/1_80_0" + ], + "environment": { + "CXX": "clang++-13", + "CXXFLAGS": "-Werror" + }, + "image": "localhost:5000/jla/mod", + "name": "configure" + }, + { + "commands": [ + "cd build", + "cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_80_0", + "make" + ], + "image": "localhost:5000/jla/mod", + "name": "build" + }, + { + "commands": [ + "cd build", + "make install" + ], + "image": "localhost:5000/jla/mod", + "name": "install" + }, + { + "commands": [ + "cd build", + "make tests" + ], + "image": "localhost:5000/jla/mod", + "name": "build-test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -E cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test" + }, + { + "commands": [ + "cd build", + "make install", + "cd ../", + "mod -e \"smiles('O').print()\"" + ], + "image": "localhost:5000/jla/mod", + "name": "simple test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -R cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test subdirectory build", + "when": { + "ref": [ + "refs/heads/develop", + "refs/heads/master", + "refs/tags/v*" + ] + } + } + ], + "volumes": [ ] +} +--- +{ + "kind": "pipeline", + "name": "clang++-13, Boost 1_81_0", + "steps": [ + { + "commands": [ + "git fetch --tags", + "git submodule update --init --recursive", + "./bootstrap.sh" + ], + "image": "localhost:5000/jla/mod", + "name": "bootstrap" + }, + { + "commands": [ + "bindep testing", + "mkdir build", + "cd build", + "cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBOOST_ROOT=/opt/boost/1_81_0" + ], + "environment": { + "CXX": "clang++-13", + "CXXFLAGS": "-Werror" + }, + "image": "localhost:5000/jla/mod", + "name": "configure" + }, + { + "commands": [ + "cd build", + "cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_81_0", + "make" + ], + "image": "localhost:5000/jla/mod", + "name": "build" + }, + { + "commands": [ + "cd build", + "make install" + ], + "image": "localhost:5000/jla/mod", + "name": "install" + }, + { + "commands": [ + "cd build", + "make tests" + ], + "image": "localhost:5000/jla/mod", + "name": "build-test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -E cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test" + }, + { + "commands": [ + "cd build", + "make install", + "cd ../", + "mod -e \"smiles('O').print()\"" + ], + "image": "localhost:5000/jla/mod", + "name": "simple test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -R cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test subdirectory build", + "when": { + "ref": [ + "refs/heads/develop", + "refs/heads/master", + "refs/tags/v*" + ] + } + } + ], + "volumes": [ ] +} +--- +{ + "kind": "pipeline", + "name": "clang++-13, Boost 1_82_0", + "steps": [ + { + "commands": [ + "git fetch --tags", + "git submodule update --init --recursive", + "./bootstrap.sh" + ], + "image": "localhost:5000/jla/mod", + "name": "bootstrap" + }, + { + "commands": [ + "bindep testing", + "mkdir build", + "cd build", + "cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBOOST_ROOT=/opt/boost/1_82_0" + ], + "environment": { + "CXX": "clang++-13", + "CXXFLAGS": "-Werror" + }, + "image": "localhost:5000/jla/mod", + "name": "configure" + }, + { + "commands": [ + "cd build", + "cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_82_0", + "make" + ], + "image": "localhost:5000/jla/mod", + "name": "build" + }, + { + "commands": [ + "cd build", + "make install" + ], + "image": "localhost:5000/jla/mod", + "name": "install" + }, + { + "commands": [ + "cd build", + "make tests" + ], + "image": "localhost:5000/jla/mod", + "name": "build-test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -E cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test" + }, + { + "commands": [ + "cd build", + "make install", + "cd ../", + "mod -e \"smiles('O').print()\"" + ], + "image": "localhost:5000/jla/mod", + "name": "simple test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -R cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test subdirectory build", + "when": { + "ref": [ + "refs/heads/develop", + "refs/heads/master", + "refs/tags/v*" + ] + } + } + ], + "volumes": [ ] +} +--- +{ + "kind": "pipeline", + "name": "clang++-13, Boost 1_83_0", + "steps": [ + { + "commands": [ + "git fetch --tags", + "git submodule update --init --recursive", + "./bootstrap.sh" + ], + "image": "localhost:5000/jla/mod", + "name": "bootstrap" + }, + { + "commands": [ + "bindep testing", + "mkdir build", + "cd build", + "cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBOOST_ROOT=/opt/boost/1_83_0" + ], + "environment": { + "CXX": "clang++-13", + "CXXFLAGS": "-Werror" + }, + "image": "localhost:5000/jla/mod", + "name": "configure" + }, + { + "commands": [ + "cd build", + "cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_83_0", + "make" + ], + "image": "localhost:5000/jla/mod", + "name": "build" + }, + { + "commands": [ + "cd build", + "make install" + ], + "image": "localhost:5000/jla/mod", + "name": "install" + }, + { + "commands": [ + "cd build", + "make tests" + ], + "image": "localhost:5000/jla/mod", + "name": "build-test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -E cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test" + }, + { + "commands": [ + "cd build", + "make install", + "cd ../", + "mod -e \"smiles('O').print()\"" + ], + "image": "localhost:5000/jla/mod", + "name": "simple test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -R cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test subdirectory build", + "when": { + "ref": [ + "refs/heads/develop", + "refs/heads/master", + "refs/tags/v*" + ] + } + } + ], + "volumes": [ ] +} +--- +{ + "kind": "pipeline", + "name": "clang++-13, Boost 1_84_0", + "steps": [ + { + "commands": [ + "git fetch --tags", + "git submodule update --init --recursive", + "./bootstrap.sh" + ], + "image": "localhost:5000/jla/mod", + "name": "bootstrap" + }, + { + "commands": [ + "bindep testing", + "mkdir build", + "cd build", + "cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBOOST_ROOT=/opt/boost/1_84_0" + ], + "environment": { + "CXX": "clang++-13", + "CXXFLAGS": "-Werror" + }, + "image": "localhost:5000/jla/mod", + "name": "configure" + }, + { + "commands": [ + "cd build", + "cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_84_0", + "make" + ], + "image": "localhost:5000/jla/mod", + "name": "build" + }, + { + "commands": [ + "cd build", + "make install" + ], + "image": "localhost:5000/jla/mod", + "name": "install" + }, + { + "commands": [ + "cd build", + "make tests" + ], + "image": "localhost:5000/jla/mod", + "name": "build-test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -E cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test" + }, + { + "commands": [ + "cd build", + "make install", + "cd ../", + "mod -e \"smiles('O').print()\"" + ], + "image": "localhost:5000/jla/mod", + "name": "simple test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -R cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test subdirectory build", + "when": { + "ref": [ + "refs/heads/develop", + "refs/heads/master", + "refs/tags/v*" + ] + } + } + ], + "volumes": [ ] +} +--- +{ + "kind": "pipeline", + "name": "clang++-14, Boost 1_76_0", + "steps": [ + { + "commands": [ + "git fetch --tags", + "git submodule update --init --recursive", + "./bootstrap.sh" + ], + "image": "localhost:5000/jla/mod", + "name": "bootstrap" + }, + { + "commands": [ + "bindep testing", + "mkdir build", + "cd build", + "cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBOOST_ROOT=/opt/boost/1_76_0" + ], + "environment": { + "CXX": "clang++-14", + "CXXFLAGS": "-Werror" + }, + "image": "localhost:5000/jla/mod", + "name": "configure" + }, + { + "commands": [ + "cd build", + "cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_76_0", + "make" + ], + "image": "localhost:5000/jla/mod", + "name": "build" + }, + { + "commands": [ + "cd build", + "make install" + ], + "image": "localhost:5000/jla/mod", + "name": "install" + }, + { + "commands": [ + "cd build", + "make tests" + ], + "image": "localhost:5000/jla/mod", + "name": "build-test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -E cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test" + }, + { + "commands": [ + "cd build", + "make install", + "cd ../", + "mod -e \"smiles('O').print()\"" + ], + "image": "localhost:5000/jla/mod", + "name": "simple test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -R cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test subdirectory build", + "when": { + "ref": [ + "refs/heads/develop", + "refs/heads/master", + "refs/tags/v*" + ] + } + } + ], + "volumes": [ ] +} +--- +{ + "kind": "pipeline", + "name": "clang++-14, Boost 1_77_0", + "steps": [ + { + "commands": [ + "git fetch --tags", + "git submodule update --init --recursive", + "./bootstrap.sh" + ], + "image": "localhost:5000/jla/mod", + "name": "bootstrap" + }, + { + "commands": [ + "bindep testing", + "mkdir build", + "cd build", + "cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBOOST_ROOT=/opt/boost/1_77_0" + ], + "environment": { + "CXX": "clang++-14", + "CXXFLAGS": "-Werror" + }, + "image": "localhost:5000/jla/mod", + "name": "configure" + }, + { + "commands": [ + "cd build", + "cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_77_0", + "make" + ], + "image": "localhost:5000/jla/mod", + "name": "build" + }, + { + "commands": [ + "cd build", + "make install" + ], + "image": "localhost:5000/jla/mod", + "name": "install" + }, + { + "commands": [ + "cd build", + "make tests" + ], + "image": "localhost:5000/jla/mod", + "name": "build-test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -E cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test" + }, + { + "commands": [ + "cd build", + "make install", + "cd ../", + "mod -e \"smiles('O').print()\"" + ], + "image": "localhost:5000/jla/mod", + "name": "simple test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -R cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test subdirectory build", + "when": { + "ref": [ + "refs/heads/develop", + "refs/heads/master", + "refs/tags/v*" + ] + } + } + ], + "volumes": [ ] +} +--- +{ + "kind": "pipeline", + "name": "clang++-14, Boost 1_78_0", + "steps": [ + { + "commands": [ + "git fetch --tags", + "git submodule update --init --recursive", + "./bootstrap.sh" + ], + "image": "localhost:5000/jla/mod", + "name": "bootstrap" + }, + { + "commands": [ + "bindep testing", + "mkdir build", + "cd build", + "cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBOOST_ROOT=/opt/boost/1_78_0" + ], + "environment": { + "CXX": "clang++-14", + "CXXFLAGS": "-Werror" + }, + "image": "localhost:5000/jla/mod", + "name": "configure" + }, + { + "commands": [ + "cd build", + "cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_78_0", + "make" + ], + "image": "localhost:5000/jla/mod", + "name": "build" + }, + { + "commands": [ + "cd build", + "make install" + ], + "image": "localhost:5000/jla/mod", + "name": "install" + }, + { + "commands": [ + "cd build", + "make tests" + ], + "image": "localhost:5000/jla/mod", + "name": "build-test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -E cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test" + }, + { + "commands": [ + "cd build", + "make install", + "cd ../", + "mod -e \"smiles('O').print()\"" + ], + "image": "localhost:5000/jla/mod", + "name": "simple test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -R cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test subdirectory build", + "when": { + "ref": [ + "refs/heads/develop", + "refs/heads/master", + "refs/tags/v*" + ] + } + } + ], + "volumes": [ ] +} +--- +{ + "kind": "pipeline", + "name": "clang++-14, Boost 1_79_0", + "steps": [ + { + "commands": [ + "git fetch --tags", + "git submodule update --init --recursive", + "./bootstrap.sh" + ], + "image": "localhost:5000/jla/mod", + "name": "bootstrap" + }, + { + "commands": [ + "bindep testing", + "mkdir build", + "cd build", + "cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBOOST_ROOT=/opt/boost/1_79_0" + ], + "environment": { + "CXX": "clang++-14", + "CXXFLAGS": "-Werror" + }, + "image": "localhost:5000/jla/mod", + "name": "configure" + }, + { + "commands": [ + "cd build", + "cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_79_0", + "make" + ], + "image": "localhost:5000/jla/mod", + "name": "build" + }, + { + "commands": [ + "cd build", + "make install" + ], + "image": "localhost:5000/jla/mod", + "name": "install" + }, + { + "commands": [ + "cd build", + "make tests" + ], + "image": "localhost:5000/jla/mod", + "name": "build-test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -E cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test" + }, + { + "commands": [ + "cd build", + "make install", + "cd ../", + "mod -e \"smiles('O').print()\"" + ], + "image": "localhost:5000/jla/mod", + "name": "simple test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -R cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test subdirectory build", + "when": { + "ref": [ + "refs/heads/develop", + "refs/heads/master", + "refs/tags/v*" + ] + } + } + ], + "volumes": [ ] +} +--- +{ + "kind": "pipeline", + "name": "clang++-14, Boost 1_80_0", + "steps": [ + { + "commands": [ + "git fetch --tags", + "git submodule update --init --recursive", + "./bootstrap.sh" + ], + "image": "localhost:5000/jla/mod", + "name": "bootstrap" + }, + { + "commands": [ + "bindep testing", + "mkdir build", + "cd build", + "cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBOOST_ROOT=/opt/boost/1_80_0" + ], + "environment": { + "CXX": "clang++-14", + "CXXFLAGS": "-Werror" + }, + "image": "localhost:5000/jla/mod", + "name": "configure" + }, + { + "commands": [ + "cd build", + "cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_80_0", + "make" + ], + "image": "localhost:5000/jla/mod", + "name": "build" + }, + { + "commands": [ + "cd build", + "make install" + ], + "image": "localhost:5000/jla/mod", + "name": "install" + }, + { + "commands": [ + "cd build", + "make tests" + ], + "image": "localhost:5000/jla/mod", + "name": "build-test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -E cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test" + }, + { + "commands": [ + "cd build", + "make install", + "cd ../", + "mod -e \"smiles('O').print()\"" + ], + "image": "localhost:5000/jla/mod", + "name": "simple test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -R cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test subdirectory build", + "when": { + "ref": [ + "refs/heads/develop", + "refs/heads/master", + "refs/tags/v*" + ] + } + } + ], + "volumes": [ ] +} +--- +{ + "kind": "pipeline", + "name": "clang++-14, Boost 1_81_0", + "steps": [ + { + "commands": [ + "git fetch --tags", + "git submodule update --init --recursive", + "./bootstrap.sh" + ], + "image": "localhost:5000/jla/mod", + "name": "bootstrap" + }, + { + "commands": [ + "bindep testing", + "mkdir build", + "cd build", + "cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBOOST_ROOT=/opt/boost/1_81_0" + ], + "environment": { + "CXX": "clang++-14", + "CXXFLAGS": "-Werror" + }, + "image": "localhost:5000/jla/mod", + "name": "configure" + }, + { + "commands": [ + "cd build", + "cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_81_0", + "make" + ], + "image": "localhost:5000/jla/mod", + "name": "build" + }, + { + "commands": [ + "cd build", + "make install" + ], + "image": "localhost:5000/jla/mod", + "name": "install" + }, + { + "commands": [ + "cd build", + "make tests" + ], + "image": "localhost:5000/jla/mod", + "name": "build-test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -E cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test" + }, + { + "commands": [ + "cd build", + "make install", + "cd ../", + "mod -e \"smiles('O').print()\"" + ], + "image": "localhost:5000/jla/mod", + "name": "simple test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -R cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test subdirectory build", + "when": { + "ref": [ + "refs/heads/develop", + "refs/heads/master", + "refs/tags/v*" + ] + } + } + ], + "volumes": [ ] +} +--- +{ + "kind": "pipeline", + "name": "clang++-14, Boost 1_82_0", + "steps": [ + { + "commands": [ + "git fetch --tags", + "git submodule update --init --recursive", + "./bootstrap.sh" + ], + "image": "localhost:5000/jla/mod", + "name": "bootstrap" + }, + { + "commands": [ + "bindep testing", + "mkdir build", + "cd build", + "cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBOOST_ROOT=/opt/boost/1_82_0" + ], + "environment": { + "CXX": "clang++-14", + "CXXFLAGS": "-Werror" + }, + "image": "localhost:5000/jla/mod", + "name": "configure" + }, + { + "commands": [ + "cd build", + "cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_82_0", + "make" + ], + "image": "localhost:5000/jla/mod", + "name": "build" + }, + { + "commands": [ + "cd build", + "make install" + ], + "image": "localhost:5000/jla/mod", + "name": "install" + }, + { + "commands": [ + "cd build", + "make tests" + ], + "image": "localhost:5000/jla/mod", + "name": "build-test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -E cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test" + }, + { + "commands": [ + "cd build", + "make install", + "cd ../", + "mod -e \"smiles('O').print()\"" + ], + "image": "localhost:5000/jla/mod", + "name": "simple test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -R cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test subdirectory build", + "when": { + "ref": [ + "refs/heads/develop", + "refs/heads/master", + "refs/tags/v*" + ] + } + } + ], + "volumes": [ ] +} +--- +{ + "kind": "pipeline", + "name": "clang++-14, Boost 1_83_0", + "steps": [ + { + "commands": [ + "git fetch --tags", + "git submodule update --init --recursive", + "./bootstrap.sh" + ], + "image": "localhost:5000/jla/mod", + "name": "bootstrap" + }, + { + "commands": [ + "bindep testing", + "mkdir build", + "cd build", + "cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBOOST_ROOT=/opt/boost/1_83_0" + ], + "environment": { + "CXX": "clang++-14", + "CXXFLAGS": "-Werror" + }, + "image": "localhost:5000/jla/mod", + "name": "configure" + }, + { + "commands": [ + "cd build", + "cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_83_0", + "make" + ], + "image": "localhost:5000/jla/mod", + "name": "build" + }, + { + "commands": [ + "cd build", + "make install" + ], + "image": "localhost:5000/jla/mod", + "name": "install" + }, + { + "commands": [ + "cd build", + "make tests" + ], + "image": "localhost:5000/jla/mod", + "name": "build-test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -E cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test" + }, + { + "commands": [ + "cd build", + "make install", + "cd ../", + "mod -e \"smiles('O').print()\"" + ], + "image": "localhost:5000/jla/mod", + "name": "simple test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -R cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test subdirectory build", + "when": { + "ref": [ + "refs/heads/develop", + "refs/heads/master", + "refs/tags/v*" + ] + } + } + ], + "volumes": [ ] +} +--- +{ + "kind": "pipeline", + "name": "clang++-14, Boost 1_84_0", + "steps": [ + { + "commands": [ + "git fetch --tags", + "git submodule update --init --recursive", + "./bootstrap.sh" + ], + "image": "localhost:5000/jla/mod", + "name": "bootstrap" + }, + { + "commands": [ + "bindep testing", + "mkdir build", + "cd build", + "cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBOOST_ROOT=/opt/boost/1_84_0" + ], + "environment": { + "CXX": "clang++-14", + "CXXFLAGS": "-Werror" + }, + "image": "localhost:5000/jla/mod", + "name": "configure" + }, + { + "commands": [ + "cd build", + "cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_84_0", + "make" + ], + "image": "localhost:5000/jla/mod", + "name": "build" + }, + { + "commands": [ + "cd build", + "make install" + ], + "image": "localhost:5000/jla/mod", + "name": "install" + }, + { + "commands": [ + "cd build", + "make tests" + ], + "image": "localhost:5000/jla/mod", + "name": "build-test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -E cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test" + }, + { + "commands": [ + "cd build", + "make install", + "cd ../", + "mod -e \"smiles('O').print()\"" + ], + "image": "localhost:5000/jla/mod", + "name": "simple test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -R cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test subdirectory build", + "when": { + "ref": [ + "refs/heads/develop", + "refs/heads/master", + "refs/tags/v*" + ] + } + } + ], + "volumes": [ ] +} +--- +{ + "kind": "pipeline", + "name": "clang++-15, Boost 1_76_0", + "steps": [ + { + "commands": [ + "git fetch --tags", + "git submodule update --init --recursive", + "./bootstrap.sh" + ], + "image": "localhost:5000/jla/mod", + "name": "bootstrap" + }, + { + "commands": [ + "bindep testing", + "mkdir build", + "cd build", + "cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBOOST_ROOT=/opt/boost/1_76_0" + ], + "environment": { + "CXX": "clang++-15", + "CXXFLAGS": "-Werror" + }, + "image": "localhost:5000/jla/mod", + "name": "configure" + }, + { + "commands": [ + "cd build", + "cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_76_0", + "make" + ], + "image": "localhost:5000/jla/mod", + "name": "build" + }, + { + "commands": [ + "cd build", + "make install" + ], + "image": "localhost:5000/jla/mod", + "name": "install" + }, + { + "commands": [ + "cd build", + "make tests" + ], + "image": "localhost:5000/jla/mod", + "name": "build-test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -E cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test" + }, + { + "commands": [ + "cd build", + "make install", + "cd ../", + "mod -e \"smiles('O').print()\"" + ], + "image": "localhost:5000/jla/mod", + "name": "simple test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -R cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test subdirectory build", + "when": { + "ref": [ + "refs/heads/develop", + "refs/heads/master", + "refs/tags/v*" + ] + } + } + ], + "volumes": [ ] +} +--- +{ + "kind": "pipeline", + "name": "clang++-15, Boost 1_77_0", + "steps": [ + { + "commands": [ + "git fetch --tags", + "git submodule update --init --recursive", + "./bootstrap.sh" + ], + "image": "localhost:5000/jla/mod", + "name": "bootstrap" + }, + { + "commands": [ + "bindep testing", + "mkdir build", + "cd build", + "cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBOOST_ROOT=/opt/boost/1_77_0" + ], + "environment": { + "CXX": "clang++-15", + "CXXFLAGS": "-Werror" + }, + "image": "localhost:5000/jla/mod", + "name": "configure" + }, + { + "commands": [ + "cd build", + "cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_77_0", + "make" + ], + "image": "localhost:5000/jla/mod", + "name": "build" + }, + { + "commands": [ + "cd build", + "make install" + ], + "image": "localhost:5000/jla/mod", + "name": "install" + }, + { + "commands": [ + "cd build", + "make tests" + ], + "image": "localhost:5000/jla/mod", + "name": "build-test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -E cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test" + }, + { + "commands": [ + "cd build", + "make install", + "cd ../", + "mod -e \"smiles('O').print()\"" + ], + "image": "localhost:5000/jla/mod", + "name": "simple test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -R cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test subdirectory build", + "when": { + "ref": [ + "refs/heads/develop", + "refs/heads/master", + "refs/tags/v*" + ] + } + } + ], + "volumes": [ ] +} +--- +{ + "kind": "pipeline", + "name": "clang++-15, Boost 1_78_0", + "steps": [ + { + "commands": [ + "git fetch --tags", + "git submodule update --init --recursive", + "./bootstrap.sh" + ], + "image": "localhost:5000/jla/mod", + "name": "bootstrap" + }, + { + "commands": [ + "bindep testing", + "mkdir build", + "cd build", + "cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBOOST_ROOT=/opt/boost/1_78_0" + ], + "environment": { + "CXX": "clang++-15", + "CXXFLAGS": "-Werror" + }, + "image": "localhost:5000/jla/mod", + "name": "configure" + }, + { + "commands": [ + "cd build", + "cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_78_0", + "make" + ], + "image": "localhost:5000/jla/mod", + "name": "build" + }, + { + "commands": [ + "cd build", + "make install" + ], + "image": "localhost:5000/jla/mod", + "name": "install" + }, + { + "commands": [ + "cd build", + "make tests" + ], + "image": "localhost:5000/jla/mod", + "name": "build-test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -E cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test" + }, + { + "commands": [ + "cd build", + "make install", + "cd ../", + "mod -e \"smiles('O').print()\"" + ], + "image": "localhost:5000/jla/mod", + "name": "simple test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -R cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test subdirectory build", + "when": { + "ref": [ + "refs/heads/develop", + "refs/heads/master", + "refs/tags/v*" + ] + } + } + ], + "volumes": [ ] +} +--- +{ + "kind": "pipeline", + "name": "clang++-15, Boost 1_79_0", + "steps": [ + { + "commands": [ + "git fetch --tags", + "git submodule update --init --recursive", + "./bootstrap.sh" + ], + "image": "localhost:5000/jla/mod", + "name": "bootstrap" + }, + { + "commands": [ + "bindep testing", + "mkdir build", + "cd build", + "cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBOOST_ROOT=/opt/boost/1_79_0" + ], + "environment": { + "CXX": "clang++-15", + "CXXFLAGS": "-Werror" + }, + "image": "localhost:5000/jla/mod", + "name": "configure" + }, + { + "commands": [ + "cd build", + "cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_79_0", + "make" + ], + "image": "localhost:5000/jla/mod", + "name": "build" + }, + { + "commands": [ + "cd build", + "make install" + ], + "image": "localhost:5000/jla/mod", + "name": "install" + }, + { + "commands": [ + "cd build", + "make tests" + ], + "image": "localhost:5000/jla/mod", + "name": "build-test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -E cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test" + }, + { + "commands": [ + "cd build", + "make install", + "cd ../", + "mod -e \"smiles('O').print()\"" + ], + "image": "localhost:5000/jla/mod", + "name": "simple test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -R cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test subdirectory build", + "when": { + "ref": [ + "refs/heads/develop", + "refs/heads/master", + "refs/tags/v*" + ] + } + } + ], + "volumes": [ ] +} +--- +{ + "kind": "pipeline", + "name": "clang++-15, Boost 1_80_0", + "steps": [ + { + "commands": [ + "git fetch --tags", + "git submodule update --init --recursive", + "./bootstrap.sh" + ], + "image": "localhost:5000/jla/mod", + "name": "bootstrap" + }, + { + "commands": [ + "bindep testing", + "mkdir build", + "cd build", + "cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBOOST_ROOT=/opt/boost/1_80_0" + ], + "environment": { + "CXX": "clang++-15", + "CXXFLAGS": "-Werror" + }, + "image": "localhost:5000/jla/mod", + "name": "configure" + }, + { + "commands": [ + "cd build", + "cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_80_0", + "make" + ], + "image": "localhost:5000/jla/mod", + "name": "build" + }, + { + "commands": [ + "cd build", + "make install" + ], + "image": "localhost:5000/jla/mod", + "name": "install" + }, + { + "commands": [ + "cd build", + "make tests" + ], + "image": "localhost:5000/jla/mod", + "name": "build-test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -E cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test" + }, + { + "commands": [ + "cd build", + "make install", + "cd ../", + "mod -e \"smiles('O').print()\"" + ], + "image": "localhost:5000/jla/mod", + "name": "simple test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -R cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test subdirectory build", + "when": { + "ref": [ + "refs/heads/develop", + "refs/heads/master", + "refs/tags/v*" + ] + } + } + ], + "volumes": [ ] +} +--- +{ + "kind": "pipeline", + "name": "clang++-15, Boost 1_81_0", + "steps": [ + { + "commands": [ + "git fetch --tags", + "git submodule update --init --recursive", + "./bootstrap.sh" + ], + "image": "localhost:5000/jla/mod", + "name": "bootstrap" + }, + { + "commands": [ + "bindep testing", + "mkdir build", + "cd build", + "cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBOOST_ROOT=/opt/boost/1_81_0" + ], + "environment": { + "CXX": "clang++-15", + "CXXFLAGS": "-Werror" + }, + "image": "localhost:5000/jla/mod", + "name": "configure" + }, + { + "commands": [ + "cd build", + "cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_81_0", + "make" + ], + "image": "localhost:5000/jla/mod", + "name": "build" + }, + { + "commands": [ + "cd build", + "make install" + ], + "image": "localhost:5000/jla/mod", + "name": "install" + }, + { + "commands": [ + "cd build", + "make tests" + ], + "image": "localhost:5000/jla/mod", + "name": "build-test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -E cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test" + }, + { + "commands": [ + "cd build", + "make install", + "cd ../", + "mod -e \"smiles('O').print()\"" + ], + "image": "localhost:5000/jla/mod", + "name": "simple test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -R cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test subdirectory build", + "when": { + "ref": [ + "refs/heads/develop", + "refs/heads/master", + "refs/tags/v*" + ] + } + } + ], + "volumes": [ ] +} +--- +{ + "kind": "pipeline", + "name": "clang++-15, Boost 1_82_0", + "steps": [ + { + "commands": [ + "git fetch --tags", + "git submodule update --init --recursive", + "./bootstrap.sh" + ], + "image": "localhost:5000/jla/mod", + "name": "bootstrap" + }, + { + "commands": [ + "bindep testing", + "mkdir build", + "cd build", + "cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBOOST_ROOT=/opt/boost/1_82_0" + ], + "environment": { + "CXX": "clang++-15", + "CXXFLAGS": "-Werror" + }, + "image": "localhost:5000/jla/mod", + "name": "configure" + }, + { + "commands": [ + "cd build", + "cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_82_0", + "make" + ], + "image": "localhost:5000/jla/mod", + "name": "build" + }, + { + "commands": [ + "cd build", + "make install" + ], + "image": "localhost:5000/jla/mod", + "name": "install" + }, + { + "commands": [ + "cd build", + "make tests" + ], + "image": "localhost:5000/jla/mod", + "name": "build-test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -E cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test" + }, + { + "commands": [ + "cd build", + "make install", + "cd ../", + "mod -e \"smiles('O').print()\"" + ], + "image": "localhost:5000/jla/mod", + "name": "simple test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -R cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test subdirectory build", + "when": { + "ref": [ + "refs/heads/develop", + "refs/heads/master", + "refs/tags/v*" + ] + } + } + ], + "volumes": [ ] +} +--- +{ + "kind": "pipeline", + "name": "clang++-15, Boost 1_83_0", + "steps": [ + { + "commands": [ + "git fetch --tags", + "git submodule update --init --recursive", + "./bootstrap.sh" + ], + "image": "localhost:5000/jla/mod", + "name": "bootstrap" + }, + { + "commands": [ + "bindep testing", + "mkdir build", + "cd build", + "cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBOOST_ROOT=/opt/boost/1_83_0" + ], + "environment": { + "CXX": "clang++-15", + "CXXFLAGS": "-Werror" + }, + "image": "localhost:5000/jla/mod", + "name": "configure" + }, + { + "commands": [ + "cd build", + "cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_83_0", + "make" + ], + "image": "localhost:5000/jla/mod", + "name": "build" + }, + { + "commands": [ + "cd build", + "make install" + ], + "image": "localhost:5000/jla/mod", + "name": "install" + }, + { + "commands": [ + "cd build", + "make tests" + ], + "image": "localhost:5000/jla/mod", + "name": "build-test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -E cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test" + }, + { + "commands": [ + "cd build", + "make install", + "cd ../", + "mod -e \"smiles('O').print()\"" + ], + "image": "localhost:5000/jla/mod", + "name": "simple test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -R cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test subdirectory build", + "when": { + "ref": [ + "refs/heads/develop", + "refs/heads/master", + "refs/tags/v*" + ] + } + } + ], + "volumes": [ ] +} +--- +{ + "kind": "pipeline", + "name": "clang++-15, Boost 1_84_0", + "steps": [ + { + "commands": [ + "git fetch --tags", + "git submodule update --init --recursive", + "./bootstrap.sh" + ], + "image": "localhost:5000/jla/mod", + "name": "bootstrap" + }, + { + "commands": [ + "bindep testing", + "mkdir build", + "cd build", + "cmake ../ -DCMAKE_BUILD_TYPE=OptDebug -DENABLE_IPO=off -DBUILD_DOC=on -DBUILD_TESTING=on -DBOOST_ROOT=/opt/boost/1_84_0" + ], + "environment": { + "CXX": "clang++-15", + "CXXFLAGS": "-Werror" + }, + "image": "localhost:5000/jla/mod", + "name": "configure" + }, + { + "commands": [ + "cd build", + "cmake ../ -DBUILD_TESTING=on -DBUILD_TESTING_SANITIZERS=off -DBOOST_ROOT=/opt/boost/1_84_0", + "make" + ], + "image": "localhost:5000/jla/mod", + "name": "build" + }, + { + "commands": [ + "cd build", + "make install" + ], + "image": "localhost:5000/jla/mod", + "name": "install" + }, + { + "commands": [ + "cd build", + "make tests" + ], + "image": "localhost:5000/jla/mod", + "name": "build-test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -E cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test" + }, + { + "commands": [ + "cd build", + "make install", + "cd ../", + "mod -e \"smiles('O').print()\"" + ], + "image": "localhost:5000/jla/mod", + "name": "simple test" + }, + { + "commands": [ + "cd build", + "make install", + "ctest --output-on-failure -R cmake_add_subdirectory_build" + ], + "image": "localhost:5000/jla/mod", + "name": "test subdirectory build", + "when": { + "ref": [ + "refs/heads/develop", + "refs/heads/master", + "refs/tags/v*" + ] + } + } + ], + "volumes": [ ] +} diff --git a/.github/workflows/Main.yml b/.github/workflows/Main.yml index 8b9c415..592673a 100644 --- a/.github/workflows/Main.yml +++ b/.github/workflows/Main.yml @@ -120,3 +120,34 @@ jobs: run: cd build && ctest --output-on-failure -j 3 - name: Run simple test run: mod -e "smiles('O').print()" + macOS-12: + runs-on: macos-12 + steps: + - name: Checkout + uses: actions/checkout@v2 + with: + fetch-depth: 0 + submodules: 'recursive' + - name: Install Brew dependencies + run: | + brew bundle + /usr/libexec/path_helper | sed -e 's/^PATH="//' -e 's/"; export PATH;//' | tr ":" "\n" | tail -r >> $GITHUB_PATH + - name: Install pip dependencies + run: pip3 install -r requirements.txt + - name: Bootstrap + run: ./bootstrap.sh + - name: Configure + run: | + mkdir build + cd build + cmake ../ -DBUILD_DOC=on -DBUILD_TESTING=on + - name: Build + run: cd build && make -j 3 + - name: Install + run: cd build && sudo make install + - name: Build tests + run: cd build && make tests -j 3 + - name: Run tests + run: cd build && ctest --output-on-failure -j 3 + - name: Run simple test + run: mod -e "smiles('O').print()" diff --git a/CMakeLists.txt b/CMakeLists.txt index 61a03ab..aebf723 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -46,7 +46,7 @@ if(BUILD_EPIM AND NOT BUILD_PY_MOD) endif() option(BUILD_TESTING "Enable test building." OFF) -option(BUILD_TESTING_SANITIZERS "Compile libraries and tests with sanitizers." ON) +option(BUILD_WITH_SANITIZERS "Compile libraries and tests with sanitizers." OFF) option(BUILD_EXAMPLES "Enable example as tests." ON) option(BUILD_COVERAGE "Enable code coverage." OFF) @@ -105,7 +105,11 @@ if(BUILD_PY_MOD) message(FATAL_ERROR "Could not find Boost.Python for Python 3. Tried 'python' wih suffixes 3, 37, 38, 39, and 310 to 319.") endif() endif() -find_package(Boost ${v} REQUIRED COMPONENTS graph iostreams) +if(BUILD_TESTING) + find_package(Boost ${v} REQUIRED COMPONENTS graph iostreams unit_test_framework) +else() + find_package(Boost ${v} REQUIRED COMPONENTS graph iostreams) +endif() message(STATUS "(Boost include dir is ${Boost_INCLUDE_DIRS})") string(APPEND libmod_config_dependencies "set(Boost_NO_BOOST_CMAKE ON)\n") string(APPEND libmod_config_dependencies "set(BOOST_FOUND 0)\n") # TODO: remove when CMake 3.15 is required https://gitlab.kitware.com/cmake/cmake/issues/18590 diff --git a/ChangeLog.rst b/ChangeLog.rst index 682bbe9..4e15b65 100644 --- a/ChangeLog.rst +++ b/ChangeLog.rst @@ -4,8 +4,28 @@ Changes ####### -develop -======= + +v0.15.0 (2024-01-26) +==================== + +Incompatible Changes +-------------------- + +- The graphs created by + :cpp:func:`dg::Builder::addAbstract`/:py:meth:`DGBuilder.addAbstract` + will no longer be empty, but have a single vertex with the label set to the + identifier given in the description. +- Repeated calls to + :cpp:func:`dg::Builder::addAbstract`/:py:meth:`DGBuilder.addAbstract` + will no longer create subnetworks independently, but will act as if + a single call was made with a concatenation of the inputs. +- CMake, change the option ``BUILD_TESTING_SANITIZERS`` to ``BUILD_WITH_SANITIZERS`` + and default it to ``OFF``. It did not cause libraries to be build with sanitizers + as promised. Now it does, and is therefore not enabled by default. +- :cpp:func:`rule::Composer::eval`/:py:func:`RCEvaluator.eval` now by default prunes + duplicate rules. The old behaviour can be obtained by setting the new parameter + ``onlyUnique`` to false. + New Features ------------ @@ -14,6 +34,33 @@ New Features GDB is not available. - Added :envvar:`MOD_DEBUGGER` to overwrite which debugger is invoked. - Added :cpp:func:`graph::Graph::enumerateIsomorphisms`/:py:meth:`Graph.enumerateIsomorphisms`. +- Added :cpp:func:`graph::Union::printTermState`/:py:meth:`UnionGraph.printTermState`. +- Added ``verbosity`` argument for :cpp:func:`dg::DG::HyperEdge::print`/:py:meth:`DGHyperEdge.print` for printing debug information. +- Added ``printStereoWarnings`` flag to several loading functions: + + - :cpp:func:`graph::Graph::fromGMLString`/:py:meth:`Graph.fromGMLString`/:py:func:`graphGMLString` + - :cpp:func:`graph::Graph::fromGMLStringMulti`/:py:meth:`Graph.fromGMLStringMulti` + - :cpp:func:`graph::Graph::fromGMLFile`/:py:meth:`Graph.fromGMLFile`/:py:func:`graphGML` + - :cpp:func:`graph::Graph::fromGMLFileMulti`/:py:meth:`Graph.fromGMLFileMulti` + - :cpp:func:`graph::Graph::fromSMILES`/:py:meth:`Graph.fromSMILES`/:py:func:`smiles` + - :cpp:func:`rule::Rule::fromGMLString`/:py:meth:`Rule.fromGMLString`/:py:func:`ruleGMLString` + - :cpp:func:`rule::Rule::fromGMLFile`/:py:meth:`Rule.fromGMLFile`/:py:func:`ruleGML` + + If the input contains stereo-information, then the full stereo-information + is inferred. This flag suppresses printing of warnings from this inferrence. + Warnings from inferrence requested at a later time are not affected. +- Changed default graph isomorphism algorithm selection strategy. + Before it always ran VF2, now it will use one of several algorithms, depending on the graphs + and the label settings: 1) canonical SMILES string comparison, 2) comparison of canonical forms of the graphs, + and 3) VF2. +- Added callback parameters for :cpp:func:`dg::DG::build`/:py:meth:`DG.build` to get notification when a new + vertex or hyperedge is added to the derivation graph. +- Updated the "Quick Start" documentation for :ref:`compiling from source `, + to account for the need for virtual environments in newer versions of + operating systems. +- Added instructions for :ref:`compiling in a Conda environment `. +- Added :cpp:class:`dg::VertexMapper`/:py:class:`DGVertexMapper` for enumerating vertex maps of derivations + (atom maps for reeactions in a chemical setting). Bugs Fixed @@ -31,7 +78,16 @@ Bugs Fixed - Fix :cpp:func:`rule::CompositionMatch::composeAll`/:py:meth:`RCMatch.composeAll` when using terms and/or stereo information, to actually switch to those label settings. - Allow term and stereo in :cpp:func:`graph::Graph::enumerateMonomorphisms`/:py:meth:`Graph.enumerateMonomorphisms`. +- Fix Graphviz instructions for Ubuntu in :ref:`quick-start`, to point at newer source archives instead an old one. - `#16 `__, added ``pkg-config`` to ``Brewfile``. +- In the post-processor, fall back to compiling ``commonPreamble.fmt`` each time, if creating a symbolic link fails. + This may happen, e.g., in certain scenarios inside a Docker container. +- When using + :cpp:func:`dg::Printer::pushVertexLabel`/:py:meth:`DGPrinter.pushVertexLabel` and + :cpp:func:`dg::Printer::pushEdgeLabel`/:py:meth:`DGPrinter.pushEdgeLabel`, + returning an empty string from the callback is now treated as if nothing should be shown from this callback, + instead of showing an empty string and a seperator. +- ``mod.sty``, fix how options are passed to ``xcolor``. v0.14.0 (2022-11-29) diff --git a/bootstrap.sh b/bootstrap.sh index 0376512..a9dc062 100755 --- a/bootstrap.sh +++ b/bootstrap.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/usr/bin/env bash function indentAndSlash { cat | sort | \ diff --git a/cmake/CoverageBuild.sh b/cmake/CoverageBuild.sh index ab25bc1..245dcff 100755 --- a/cmake/CoverageBuild.sh +++ b/cmake/CoverageBuild.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/usr/bin/env bash # This should be executed in the build dir with the path to lcov as first arg. for v in SRC LCOV GENHTML PROJECT_NAME PROJECT_VERSION; do if [ "x${!v}" = "x" ]; then diff --git a/cmake/MODUtils.cmake b/cmake/MODUtils.cmake index b7d39be..f0f82d3 100644 --- a/cmake/MODUtils.cmake +++ b/cmake/MODUtils.cmake @@ -10,3 +10,15 @@ function(make_py_test fileName testName extraEnv) ENVIRONMENT "MOD_NUM_POST_THREADS=1;PYTHONWARNINGS=error${extraEnv}") add_coverage_case(${testName}) endfunction() + +function(handle_sanitizers target) + if(BUILD_WITH_SANITIZERS AND NOT BUILD_COVERAGE) + if("x${CMAKE_CXX_COMPILER_ID}" STREQUAL "xAppleClang") + set(sanFlags -g -fsanitize=undefined,address) + else() + set(sanFlags -g -fsanitize=undefined,address,leak) + endif() + target_compile_options(${target} PRIVATE ${sanFlags}) + target_link_libraries(${target} PRIVATE ${sanFlags}) + endif() +endfunction() \ No newline at end of file diff --git a/conda/build.Dockerfile b/conda/build.Dockerfile index 1fc53cc..c08c7c3 100644 --- a/conda/build.Dockerfile +++ b/conda/build.Dockerfile @@ -1,3 +1,6 @@ +# Use the oldest Ubuntu possible, to make sure the system Python is the oldest +# we are trying to build against. Otherwise CMake seems to find the system Python +# instead of the Conda Python. FROM ubuntu:20.04 AS build # Based on continuumio/miniconda3 @@ -34,11 +37,14 @@ COPY ./conda/meta.yaml ./conda/ COPY ./conda/conda_build_config.yaml ./conda/ RUN conda build -c jakobandersen -c conda-forge ./conda +RUN echo "END CONDA BUILD" ############################################################################### # Test ############################################################################### +RUN echo "START INSTALLATION TEST" + FROM ubuntu:20.04 AS test # Based on continuumio/miniconda3 @@ -78,3 +84,5 @@ COPY conda/test.py ./ RUN mod -f test.py RUN mod_post --install-format RUN mod -f test.py + +RUN echo "END INSTALLATION TEST" diff --git a/conda/build.sh b/conda/build.sh index 0f7bf88..b83581c 100644 --- a/conda/build.sh +++ b/conda/build.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/usr/bin/env bash j=$CPU_COUNT mkdir src diff --git a/conda/conda_build_config.yaml b/conda/conda_build_config.yaml index 5db65ca..b38fafb 100644 --- a/conda/conda_build_config.yaml +++ b/conda/conda_build_config.yaml @@ -6,10 +6,9 @@ python: - 3.9 - 3.10 - 3.11 + - 3.12 boost: - - 1.78 - - 1.80 - - 1.82 + - 1.78.0 # currently globally pinned version in conda-forge pin_run_as_build: python: x.x - boost: x.x + boost: x.x.x diff --git a/conda/environment.yaml b/conda/environment.yaml new file mode 100644 index 0000000..3d27e38 --- /dev/null +++ b/conda/environment.yaml @@ -0,0 +1,19 @@ +name: mod-env +channels: + - conda-forge + - nodefaults +dependencies: + - cxx-compiler + - make + - pkg-config + - cmake + - boost + - boost-cpp + - openbabel + - python + - graphviz>=2.46.1 # to get the rsvg plugin + - pdf2svg + - ipython + - networkx + - parse + - typing_extensions diff --git a/conda/meta.yaml b/conda/meta.yaml index 923c972..c97d374 100644 --- a/conda/meta.yaml +++ b/conda/meta.yaml @@ -13,6 +13,10 @@ source: build: string: py{{ python | replace(".", "") }}_boost{{ boost | replace(".", "") }} + # Use merge_build_host to ensure the Python interpreter path is not in the + # build folder, as it is embedded in the wrapper script. + # See https://github.com/conda/conda-build/issues/2677 + merge_build_host: True skip: True # [win] requirements: @@ -38,8 +42,6 @@ requirements: - networkx - parse - typing_extensions - # Add openbabel here to get pybel for test. - - openbabel host: # lib packages - boost {{ boost }} diff --git a/doc/makeDocs.sh b/doc/makeDocs.sh index a88f375..9cd6c1e 100755 --- a/doc/makeDocs.sh +++ b/doc/makeDocs.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/usr/bin/env bash if [ "x$1" = "xclean" ]; then rm -rf build doctrees source/reference diff --git a/doc/source/compiling.rst b/doc/source/compiling.rst index d96d801..e3a2a34 100644 --- a/doc/source/compiling.rst +++ b/doc/source/compiling.rst @@ -12,56 +12,178 @@ Quick Start ----------- These are simplified instructions for Ubuntu, Fedora, Arch, and macOS. +See :ref:`below ` for instructions for compiling in a Conda +environment. + If a step doesn't work or fit your case, please consult the sections below. -First, get MØD and install the easy dependencies: +First, you will need to have a Python virtual environment for your installation of MØD +(if you use Ubuntu < 23.04 or any Fedora version, you don't need to, as they don't implement `PEP 668 `__). +Here we will start with a completely new environment called ``mod-env``. +Go to anywhere you like that environment to be stored execute + +.. code-block:: bash + + python3 -m venv --system-site-packages mod-env + source mod-env/bin/activate + +Then we can start the compilation. +Retrive the MØD sources, create auto-generated files, and install Python dependencies: .. code-block:: bash git clone --recursive https://github.com/jakobandersen/mod.git cd mod ./bootstrap.sh - pip3 install -r requirements.txt # may need --user to install in home folder instead of system folders - # Ubuntu: - sudo apt install $(bindep -b | tr '\n' ' ') - # Fedora: - sudo dnf install $(bindep -b | tr '\n' ' ') - # Arch: - sudo pacman -Suy $(bindep -b | tr '\n' ' ') - # macOS: - brew tap Homebrew/bundle # may not be needed - brew bundle # perhaps restart the terminal afterwards to pick up the new commands - -Then: - -1. (Ubuntu and Fedora < 33) - Install Boost from source, see :ref:`install_boost_python`. - Remember the installation path. -2. (Ubuntu) Install Graphviz from source: - - .. code-block:: bash - - sudo apt install librsvg2-dev libpango1.0-dev - wget http://graphviz.gitlab.io/pub/graphviz/stable/SOURCES/graphviz.tar.gz - tar -xf graphviz.tar.gz --one-top-level=graphviz --strip-components=1 - cd graphviz - ./configure - make - sudo make install - -Finally, compile and install MØD: + python3 -m pip install -r requirements.txt + +Then install the rest of the dependencies: + +.. tab-set:: + + .. tab-item:: Ubuntu + :sync: ubuntu + + .. code-block:: bash + + sudo apt install $(bindep -b | tr '\n' ' ') + + Then + + 1. Install Boost from source, see :ref:`install_boost_python`. + Remember the installation path. + 2. Install Graphviz from source: + + .. code-block:: bash + + sudo apt install librsvg2-dev libpango1.0-dev + # Download a source archive from https://graphviz.org/download/source/ + # Extract the archive and cd into the extracted folder. + ./configure + make -j # where is the number of CPU cores you have, e.g., 'make -j 8' + sudo make install + + .. tab-item:: Fedora + :sync: fedora + + .. code-block:: bash + + sudo dnf install $(bindep -b | tr '\n' ' ') + + .. tab-item:: Arch + :sync: arch + + .. code-block:: bash + + sudo pacman -Suy --noconfirm $(bindep -b | tr '\n' ' ') + + .. tab-item:: macOS + :sync: macos + + .. code-block:: bash + + brew tap Homebrew/bundle # may not be needed + brew bundle # perhaps restart the terminal afterwards to pick up the new commands + +Then we can begin the compilation and installation: + +.. tab-set:: + + .. tab-item:: Ubuntu + :sync: ubuntu + + .. code-block:: bash + + mkdir build + cd build + # install to the virtual env folder + cmake ../ -DCMAKE_INSTALL_PREFIX=$VIRTUAL_ENV -DCMAKE_PREFIX_PATH=path/to/boost + # Build and install: + make -j # where is the number of CPU cores you have, e.g., 'make -j 8' + make install + + .. tab-item:: Fedora/Arch/macOS + + .. code-block:: bash + + mkdir build + cd build + # install to the virtual env folder + cmake ../ -DCMAKE_INSTALL_PREFIX=$VIRTUAL_ENV + # Build and install: + make -j # where is the number of CPU cores you have, e.g., 'make -j 8' + make install + + +.. _compiling-conda: + +Quick Start in a Conda Environment +---------------------------------- + +Retrive the MØD sources and create auto-generated files: + +.. code-block:: bash + + git clone --recursive https://github.com/jakobandersen/mod.git + cd mod + ./bootstrap.sh + +In ``conda/environment.yaml`` is a specification of the environment needed to compile. +You can either create a new enviroment, called ``mod-env`` by defualt: + +.. code-block:: bash + + conda env create -f conda/environment.yaml + +Or update an existing enviroment, say ``my-env``, with the dependencies: + +.. code-block:: bash + + conda env update --name my-env -f conda/environment.yaml + +Install enought of Latex in your system, outside Conda: + +.. tab-set:: + + .. tab-item:: Ubuntu + :sync: ubuntu + + .. code-block:: bash + + sudo apt install texlive-science texlive-pictures texlive-latex-extra lmodern + + .. tab-item:: Fedora + :sync: fedora + + .. code-block:: bash + + sudo dnf install texlive-collection-mathscience texlive-collection-pictures texlive-collection-latexextra + + .. tab-item:: Arch + :sync: arch + + .. code-block:: bash + + sudo pacman -Suy texlive-science texlive-picture texlive-latexextra + + .. tab-item:: macOS + :sync: macos + + .. code-block:: bash + + brew install --cask mactex + +Activate the environment and then proceed with compilation: .. code-block:: bash mkdir build cd build - # Configure the project, either just - cmake ../ - # or if you compiled and installed Boost manually, then something like - cmake ../ -DCMAKE_PREFIX_PATH=path/to/boost + # install to Conda environment folder + cmake ../ -DCMAKE_INSTALL_PREFIX=$CONDA_PREFIX # Build and install: - make -j # where is the number of CPU cores you have, e.g., 'make -j 8' - sudo make install + make -j # where is the number of CPU cores you have, e.g., 'make -j 8' + make install From a Git Repository @@ -154,7 +276,7 @@ See also :ref:`dependencies` for elaboration on some of them. - ``-DBUILD_TESTING=off``, whether to allow test building or not. This is forced to ``off`` when used via ``add_subdirectory``. When ``on`` the tests can be build with ``make tests`` and run with ``ctest``. -- ``-DBUILD_TESTING_SANITIZERS=on``, whether to compile libraries and tests +- ``-DBUILD_WITH_SANITIZERS=off``, whether to compile libraries and tests with sanitizers or not. This is forced to ``off`` when ``BUILD_COVERAGE=on``. - ``-DBUILD_EXAMPLES=off``, whether to build and allow running of examples as tests or not. @@ -210,7 +332,7 @@ related to them. - A C++ compiler with reasonable C++17 support is needed. - `Boost `__ dev >= 1.76 - (use ``-DBOOST_ROOT=`` for non-standard locations). + (use ``-DCMAKE_PREFIX_PATH=`` for non-standard locations). - `GraphCanon `__ >= 0.5. This is fulfilled via a Git submodule (make sure to do ``git submodule update --init --recursive``), diff --git a/doc/source/conf.py b/doc/source/conf.py index 8753507..7e82d5f 100644 --- a/doc/source/conf.py +++ b/doc/source/conf.py @@ -1,36 +1,9 @@ -# -*- coding: utf-8 -*- -# -# MØD documentation build configuration file, created by -# sphinx-quickstart on Mon May 13 16:43:46 2013. -# -# This file is execfile()d with the current directory set to its -# containing dir. -# -# Note that not all possible configuration values are present in this -# autogenerated file. -# -# All configuration values have a default; values that are commented out -# serve to show the default. - import sys import os -import sphinx - -# If extensions (or modules to document with autodoc) are in another directory, -# add these directories to sys.path here. If the directory is relative to the -# documentation root, use os.path.abspath to make it absolute, like shown here. -#sys.path.insert(0, os.path.abspath('.')) # -- General configuration ------------------------------------------------ -import sys -import os - -# If your documentation needs a minimal Sphinx version, state it here. needs_sphinx = '3.5.0' -# Add any Sphinx extension module names here, as strings. They can be -# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom -# ones. sys.path.append(os.path.abspath('extensions')) extensions = [ 'sphinx.ext.todo', @@ -39,6 +12,7 @@ 'sphinx.ext.intersphinx', 'sphinx_bootstrap_theme', 'ignore_missing_refs', + 'sphinx_design', ] autoapi_type = 'python' @@ -54,77 +28,44 @@ todo_include_todos = True -# Add any paths that contain templates here, relative to this directory. templates_path = ['_templates'] -# The suffix of source filenames. source_suffix = '.rst' -# The encoding of source files. -#source_encoding = 'utf-8-sig' - -# The master toctree document. master_doc = 'index' -# General information about the project. project = u'MØD' copyright = u'2013-2024, Jakob Lykke Andersen' -# The version info for the project you're documenting, acts as replacement for -# |version| and |release|, also used in various other places throughout the -# built documents. -# -# The short X.Y version. -#with open(os.path.dirname(__file__) + "/../version") as f: with open("../../VERSION") as f: version = f.read() version = version.strip() # remove the newline # The full version, including alpha/beta/rc tags. release = version -# The language for content autogenerated by Sphinx. Refer to documentation -# for a list of supported languages. -#language = None - -# There are two options for replacing |today|: either, you set today to some -# non-false value, then it is used: -#today = '' -# Else, today_fmt is used as the format for a strftime call. -#today_fmt = '%B %d, %Y' - -# List of patterns, relative to source directory, that match files and -# directories to ignore when looking for source files. exclude_patterns = [ 'libmod/Toc.rst', 'pymod/Toc.rst', - 'graphModel/molEnc.rst', 'formats/dfs.rst', 'formats/dg.rst', 'formats/dot.rst', 'formats/gml.rst', - 'formats/graphDFS.rst', 'formats/mdl.rst', 'formats/smiles.rst', 'formats/tikz.rst', ] -# The name of the Pygments (syntax highlighting) style to use. # https://stackoverflow.com/questions/48615629/how-to-include-pygments-styles-in-a-sphinx-project pygments_style = 'solarized_modified.light' highlight_language = 'none' # -- Options for HTML output ---------------------------------------------- -# The theme to use for HTML and HTML Help pages. See the documentation for -# a list of builtin themes. html_theme = 'bootstrap' html_css_files = [ "haxes.css", ] -# Theme options are theme-specific and customize the look and feel of a theme -# further. For a list of options available for each theme, see the -# documentation. html_theme_options = { "body_max_width": None, 'navbar_links': [ @@ -134,149 +75,4 @@ 'bootswatch_theme': "litera", } -# Add any paths that contain custom themes here, relative to this directory. -#html_theme_path = [] - -# The name for this set of Sphinx documents. If None, it defaults to -# " v documentation". -#html_title = None - -# A shorter title for the navigation bar. Default is the same as html_title. -#html_short_title = None - -# The name of an image file (relative to this directory) to place at the top -# of the sidebar. -#html_logo = None - -# The name of an image file (within the static path) to use as favicon of the -# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 -# pixels large. -#html_favicon = None - -# Add any paths that contain custom static files (such as style sheets) here, -# relative to this directory. They are copied after the builtin static files, -# so a file named "default.css" will overwrite the builtin "default.css". html_static_path = ['_static'] - -# If not '', a 'Last updated on:' timestamp is inserted at every page bottom, -# using the given strftime format. -#html_last_updated_fmt = '%b %d, %Y' - -# If true, SmartyPants will be used to convert quotes and dashes to -# typographically correct entities. -#html_use_smartypants = True - -# Custom sidebar templates, maps document names to template names. -#html_sidebars = {} - -# Additional templates that should be rendered to pages, maps page names to -# template names. -#html_additional_pages = {} - -# If false, no module index is generated. -#html_domain_indices = True - -# If false, no index is generated. -#html_use_index = True - -# If true, the index is split into individual pages for each letter. -#html_split_index = False - -# If true, links to the reST sources are added to the pages. -#html_show_sourcelink = True - -# If true, "Created using Sphinx" is shown in the HTML footer. Default is True. -#html_show_sphinx = True - -# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True. -#html_show_copyright = True - -# If true, an OpenSearch description file will be output, and all pages will -# contain a tag referring to it. The value of this option must be the -# base URL from which the finished HTML is served. -#html_use_opensearch = '' - -# This is the file name suffix for HTML files (e.g. ".xhtml"). -#html_file_suffix = None - -# Output file base name for HTML help builder. -htmlhelp_basename = 'MODdoc' - - -# -- Options for LaTeX output --------------------------------------------- - -latex_elements = { -# The paper size ('letterpaper' or 'a4paper'). -#'papersize': 'letterpaper', - -# The font size ('10pt', '11pt' or '12pt'). -#'pointsize': '10pt', - -# Additional stuff for the LaTeX preamble. -#'preamble': '', -} - -# Grouping the document tree into LaTeX files. List of tuples -# (source start file, target name, title, -# author, documentclass [howto/manual]). -latex_documents = [ - ('index', 'MOD.tex', u'MØD Documentation', - u'Jakob Lykke Andersen', 'manual'), -] - -# The name of an image file (relative to this directory) to place at the top of -# the title page. -#latex_logo = None - -# For "manual" documents, if this is true, then toplevel headings are parts, -# not chapters. -#latex_use_parts = False - -# If true, show page references after internal links. -#latex_show_pagerefs = False - -# If true, show URL addresses after external links. -#latex_show_urls = False - -# Documents to append as an appendix to all manuals. -#latex_appendices = [] - -# If false, no module index is generated. -#latex_domain_indices = True - - -# -- Options for manual page output --------------------------------------- - -# One entry per manual page. List of tuples -# (source start file, name, description, authors, manual section). -man_pages = [ - ('index', 'mod', u'MØD Documentation', - [u'Jakob Lykke Andersen'], 1) -] - -# If true, show URL addresses after external links. -#man_show_urls = False - - -# -- Options for Texinfo output ------------------------------------------- - -# Grouping the document tree into Texinfo files. List of tuples -# (source start file, target name, title, author, -# dir menu entry, description, category) -texinfo_documents = [ - ('index', 'MOD', u'MØD Documentation', - u'Jakob Lykke Andersen', 'MOD', 'One line description of project.', - 'Miscellaneous'), -] - -# Documents to append as an appendix to all manuals. -#texinfo_appendices = [] - -# If false, no module index is generated. -#texinfo_domain_indices = True - -# How to display URL addresses: 'footnote', 'no', or 'inline'. -#texinfo_show_urls = 'footnote' - -# If true, do not generate a @detailmenu in the "Top" node's menu. -#texinfo_no_detailmenu = False diff --git a/docker/Arch.Dockerfile b/docker/Arch.Dockerfile index cbf8576..57240c7 100644 --- a/docker/Arch.Dockerfile +++ b/docker/Arch.Dockerfile @@ -19,7 +19,6 @@ WORKDIR /opt/mod/build ENV CXXFLAGS=-Werror -Wno-error=maybe-uninitialized RUN cmake ../ -DBUILD_DOC=no \ -DCMAKE_BUILD_TYPE=Release \ - -DBUILD_TESTING_SANITIZERS=off \ -DCMAKE_MODULE_LINKER_FLAGS="-flto=$j" -DCMAKE_SHARED_LINKER_FLAGS="-flto=$j" \ -DBUILD_TESTING=on \ && make -j $j \ diff --git a/docker/Conda.Dockerfile b/docker/Conda.Dockerfile new file mode 100644 index 0000000..b862be5 --- /dev/null +++ b/docker/Conda.Dockerfile @@ -0,0 +1,45 @@ +FROM ubuntu:22.04 +ARG j=7 +# Based on continuumio/miniconda3 + +#ENV LANG=C.UTF-8 LC_ALL=C.UTF-8 +ENV PATH /opt/conda/bin:$PATH + +RUN apt-get update --fix-missing \ + && apt-get install -y wget bzip2 ca-certificates curl git + +RUN wget --quiet https://repo.anaconda.com/miniconda/Miniconda3-py38_4.12.0-Linux-x86_64.sh -O ~/miniconda.sh && \ + /bin/bash ~/miniconda.sh -b -p /opt/conda && \ + rm ~/miniconda.sh && \ + /opt/conda/bin/conda clean -tipsy && \ + ln -s /opt/conda/etc/profile.d/conda.sh /etc/profile.d/conda.sh && \ + echo ". /opt/conda/etc/profile.d/conda.sh" >> ~/.bashrc + +# and now ours + +# TexLive +RUN apt-get update \ + && DEBIAN_FRONTEND=noninteractive apt-get install -y \ + texlive-science texlive-pictures texlive-latex-extra lmodern + +WORKDIR /opt/mod +COPY ./build/mod-*.tar.gz ./ +RUN tar xzf mod-*.tar.gz --strip-components=1 +RUN conda env create -f conda/environment.yaml + +RUN conda init bash +SHELL ["/bin/bash", "--login", "-c"] +RUN echo "conda activate mod-env" >> ~/.bashrc + +WORKDIR /opt/mod/build +ENV CXXFLAGS=-Werror +RUN conda activate mod-env && conda env list && \ + cmake ../ -DBUILD_DOC=no \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_MODULE_LINKER_FLAGS="-flto=$j" -DCMAKE_SHARED_LINKER_FLAGS="-flto=$j" \ + -DBUILD_TESTING=on \ + -DCMAKE_INSTALL_PREFIX=$CONDA_PREFIX \ + && make -j $j \ + && make tests -j $j \ + && make install \ + && ctest -j $j --output-on-failure -E cmake_ diff --git a/docker/Fedora.Dockerfile b/docker/Fedora.Dockerfile index 027cf31..a285a12 100644 --- a/docker/Fedora.Dockerfile +++ b/docker/Fedora.Dockerfile @@ -19,7 +19,6 @@ ENV BABEL_LIBDIR=/usr/lib64/openbabel3 ENV CXXFLAGS=-Werror RUN cmake ../ -DBUILD_DOC=no \ -DCMAKE_BUILD_TYPE=Release \ - -DBUILD_TESTING_SANITIZERS=off \ -DCMAKE_MODULE_LINKER_FLAGS="-flto=$j" -DCMAKE_SHARED_LINKER_FLAGS="-flto=$j" \ -DBUILD_TESTING=on \ && make -j $j \ diff --git a/external/json_schema b/external/json_schema index 1519c84..349cba9 160000 --- a/external/json_schema +++ b/external/json_schema @@ -1 +1 @@ -Subproject commit 1519c845c2b1bbf35021feb11c23625de603ca1e +Subproject commit 349cba9f7e3cb423bbc1811bdd9f6770f520b468 diff --git a/external/nlohmann_json b/external/nlohmann_json index fd7a9f6..9cca280 160000 --- a/external/nlohmann_json +++ b/external/nlohmann_json @@ -1 +1 @@ -Subproject commit fd7a9f600712b2724463e9f7f703878ade676d6e +Subproject commit 9cca280a4d0ccf0c08f47a99aa71d1b0e52f8d03 diff --git a/libs/gml/CMakeLists.txt b/libs/gml/CMakeLists.txt index 86e9d87..35f0696 100644 --- a/libs/gml/CMakeLists.txt +++ b/libs/gml/CMakeLists.txt @@ -20,6 +20,7 @@ set_target_properties(gml PROPERTIES VISIBILITY_INLINES_HIDDEN ON) target_compile_definitions(gml PRIVATE GML_SOURCE) +handle_sanitizers(gml) target_add_coverage(gml) install(TARGETS gml @@ -43,21 +44,13 @@ if(BUILD_TESTING) endif() add_dependencies(tests ${mod_gml_TEST_CPP_FILES}) - if("x${CMAKE_CXX_COMPILER_ID}" STREQUAL "xAppleClang") - set(sanFlags -g -fsanitize=undefined -fsanitize=address) - else() - set(sanFlags -g -fsanitize=undefined -fsanitize=address -fsanitize=leak) - endif() foreach(testName ${mod_gml_TEST_CPP_FILES}) add_executable(${testName} EXCLUDE_FROM_ALL test/${testName}.cpp) target_compile_options(${testName} PRIVATE -Wall -Wextra -pedantic -Werror -Wno-unused-parameter -Wno-parentheses) target_link_libraries(${testName} PRIVATE GML::gml) - if(BUILD_TESTING_SANITIZERS AND NOT BUILD_COVERAGE) - target_compile_options(${testName} PRIVATE ${sanFlags}) - target_link_libraries(${testName} PRIVATE ${sanFlags}) - endif() + handle_sanitizers(${testName}) target_add_coverage(${testName}) add_test(${testName} ${testName}) add_coverage_case(${testName}) diff --git a/libs/jla_boost/CMakeLists.txt b/libs/jla_boost/CMakeLists.txt index eaf8127..94c9d2c 100644 --- a/libs/jla_boost/CMakeLists.txt +++ b/libs/jla_boost/CMakeLists.txt @@ -17,6 +17,7 @@ target_link_libraries(jla_boost INTERFACE GraphCanon::graph_canon Boost::boost) # CXX_VISIBILITY_PRESET hidden # VISIBILITY_INLINES_HIDDEN ON) +#handle_sanitizers(jla_boost) target_add_coverage(jla_boost) install(TARGETS jla_boost @@ -47,11 +48,8 @@ if(BUILD_TESTING) endif() foreach(testName ${mod_jla_boost_TEST_CPP_FILES}) add_executable(${testName} EXCLUDE_FROM_ALL test/${testName}.cpp) - target_link_libraries(${testName} PRIVATE JLA::boost) - if(BUILD_TESTING_SANITIZERS AND NOT BUILD_COVERAGE) - target_compile_options(${testName} PRIVATE ${sanFlags}) - target_link_libraries(${testName} PRIVATE ${sanFlags}) - endif() + target_link_libraries(${testName} PRIVATE JLA::boost Boost::unit_test_framework) + handle_sanitizers(${testName}) target_add_coverage(${testName}) add_test(${testName} ${testName}) add_coverage_case(${testName}) diff --git a/libs/jla_boost/include/jla_boost/graph/EdgeIndexedAdjacencyList.hpp b/libs/jla_boost/include/jla_boost/graph/EdgeIndexedAdjacencyList.hpp index 5fd6e29..027ea9b 100644 --- a/libs/jla_boost/include/jla_boost/graph/EdgeIndexedAdjacencyList.hpp +++ b/libs/jla_boost/include/jla_boost/graph/EdgeIndexedAdjacencyList.hpp @@ -138,10 +138,7 @@ struct EdgeIndexedAdjacencyList { } template - friend void put(const boost::edge_index_t &, Self &g, VertexOrEdge ve, Value &&v) { - // TODO: change to use "= delete" when GCC 5 is required (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62101)) - static_assert(sizeof(ve) == 0, "You should not mess with this."); - } + friend void put(const boost::edge_index_t &, Self &g, VertexOrEdge ve, Value &&v) = delete; // You should not mess with this. template decltype(auto) operator[](VertexOrEdge ve) { diff --git a/libs/jla_boost/include/jla_boost/graph/FilteredWrapper.hpp b/libs/jla_boost/include/jla_boost/graph/FilteredWrapper.hpp index 2c9126a..dfa8bdc 100644 --- a/libs/jla_boost/include/jla_boost/graph/FilteredWrapper.hpp +++ b/libs/jla_boost/include/jla_boost/graph/FilteredWrapper.hpp @@ -1,5 +1,5 @@ -#ifndef JLA_BOOST_GRAPH_FILTEREDWRAPPER_H -#define JLA_BOOST_GRAPH_FILTEREDWRAPPER_H +#ifndef JLA_BOOST_GRAPH_FILTEREDWRAPPER_HPP +#define JLA_BOOST_GRAPH_FILTEREDWRAPPER_HPP #include #include @@ -20,11 +20,11 @@ struct FilteredWrapper { using traversal_category = typename base_traits::traversal_category; // IncidenceGraph - typedef typename boost::graph_traits::out_edge_iterator out_edge_iterator; - typedef typename boost::graph_traits::degree_size_type degree_size_type; + using out_edge_iterator = typename boost::graph_traits::out_edge_iterator; + using degree_size_type = typename boost::graph_traits::degree_size_type; // BidirectionalGraph - typedef typename boost::graph_traits::in_edge_iterator in_edge_iterator; + using in_edge_iterator = typename boost::graph_traits::in_edge_iterator; // AdjacencyGraph // adjacency_iterator @@ -34,9 +34,9 @@ struct FilteredWrapper { // vertices_size_type // EdgeListGraph - typedef typename boost::graph_traits::edge_iterator edge_iterator; - typedef typename boost::graph_traits::edges_size_type edges_size_type; - typedef typename boost::graph_traits::vertex_iterator vertex_iterator; + using edge_iterator = typename boost::graph_traits::edge_iterator; + using edges_size_type = typename boost::graph_traits::edges_size_type; + using vertex_iterator = typename boost::graph_traits::vertex_iterator; //graph_traits::edge_iterator // @@ -47,7 +47,7 @@ struct FilteredWrapper { // //The type for the iterators returned by adjacent_vertices(). The adjacency_iterator models the same iterator concept as out_edge_iterator. - typedef typename boost::graph_traits::vertices_size_type vertices_size_type; + using vertices_size_type = typename boost::graph_traits::vertices_size_type; // //The type used for dealing with the number of vertices in the graph. @@ -56,14 +56,13 @@ struct FilteredWrapper { //The type used for dealing with the number of edges in the graph. //graph_traits::degree_size_type public: - - FilteredWrapper(const Graph &g) + explicit FilteredWrapper(const Graph &g) : g(g), map(num_vertices(g), std::numeric_limits::max()) { vertices_size_type count = 0; // std::cout << "FilterWrapper" << std::endl; - for(typename boost::graph_traits::vertex_descriptor v : asRange(vertices(g))) { - vertices_size_type vId = get(boost::vertex_index_t(), g, v); + for(const auto v: asRange(vertices(g))) { + const auto vId = get(boost::vertex_index_t(), g, v); map[vId] = count; // std::cout << "Map: " << vId << " => " << count << std::endl; // std::cout << "ReverseMap: " << reverseMap.size() << " => " << vId << std::endl; @@ -85,12 +84,11 @@ FilteredWrapper makeFilteredWrapper(const Graph &g) { template struct FilteredWrapperIndexMap { - typedef typename boost::graph_traits::vertices_size_type VSizeType; - - FilteredWrapperIndexMap() : g(nullptr) { } - - explicit FilteredWrapperIndexMap(const FilteredWrapper &g) : g(&g) { } - + using VSizeType = typename boost::graph_traits::vertices_size_type; +public: + FilteredWrapperIndexMap() : g(nullptr) {} + explicit FilteredWrapperIndexMap(const FilteredWrapper &g) : g(&g) {} +public: VSizeType operator[](typename boost::graph_traits::vertex_descriptor v) const { VSizeType vId = get(boost::vertex_index_t(), g->g, v); return g->map[vId]; @@ -103,7 +101,7 @@ struct FilteredWrapperIndexMap { namespace boost { template -struct graph_traits > : graph_traits { +struct graph_traits> : graph_traits { }; } // namespace boost @@ -112,55 +110,55 @@ namespace jla_boost { // IncidenceGraph template -std::pair >::out_edge_iterator, - typename boost::graph_traits >::out_edge_iterator> -out_edges(typename boost::graph_traits >::vertex_descriptor v, - const jla_boost::FilteredWrapper &g) { +std::pair>::out_edge_iterator, + typename boost::graph_traits>::out_edge_iterator> +out_edges(typename boost::graph_traits>::vertex_descriptor v, + const jla_boost::FilteredWrapper &g) { return out_edges(v, g.g); } template -typename boost::graph_traits >::vertex_descriptor -source(typename boost::graph_traits >::edge_descriptor e, - const jla_boost::FilteredWrapper &g) { +typename boost::graph_traits>::vertex_descriptor +source(typename boost::graph_traits>::edge_descriptor e, + const jla_boost::FilteredWrapper &g) { return source(e, g.g); } template -typename boost::graph_traits >::vertex_descriptor -target(typename boost::graph_traits >::edge_descriptor e, - const jla_boost::FilteredWrapper &g) { +typename boost::graph_traits>::vertex_descriptor +target(typename boost::graph_traits>::edge_descriptor e, + const jla_boost::FilteredWrapper &g) { return target(e, g.g); } template -typename boost::graph_traits >::degree_size_type -out_degree(typename boost::graph_traits >::vertex_descriptor v, - const jla_boost::FilteredWrapper &g) { +typename boost::graph_traits>::degree_size_type +out_degree(typename boost::graph_traits>::vertex_descriptor v, + const jla_boost::FilteredWrapper &g) { return out_degree(v, g.g); } // BidirectionalGraph template -std::pair >::in_edge_iterator, - typename boost::graph_traits >::in_edge_iterator> -in_edges(typename boost::graph_traits >::vertex_descriptor v, - const jla_boost::FilteredWrapper &g) { +std::pair>::in_edge_iterator, + typename boost::graph_traits>::in_edge_iterator> +in_edges(typename boost::graph_traits>::vertex_descriptor v, + const jla_boost::FilteredWrapper &g) { return in_edges(v, g.g); } template -typename boost::graph_traits >::degree_size_type -in_degree(typename boost::graph_traits >::vertex_descriptor v, - const jla_boost::FilteredWrapper &g) { +typename boost::graph_traits>::degree_size_type +in_degree(typename boost::graph_traits>::vertex_descriptor v, + const jla_boost::FilteredWrapper &g) { return in_degree(v, g.g); } template -typename boost::graph_traits >::degree_size_type -degree(typename boost::graph_traits >::vertex_descriptor v, - const jla_boost::FilteredWrapper &g) { +typename boost::graph_traits>::degree_size_type +degree(typename boost::graph_traits>::vertex_descriptor v, + const jla_boost::FilteredWrapper &g) { return degree(v, g.g); } @@ -170,14 +168,14 @@ degree(typename boost::graph_traits >::vertex_ // VertexListGraph template -std::pair >::vertex_iterator, - typename boost::graph_traits >::vertex_iterator> +std::pair>::vertex_iterator, + typename boost::graph_traits>::vertex_iterator> vertices(const jla_boost::FilteredWrapper &g) { return vertices(g.g); } template -typename boost::graph_traits >::vertices_size_type +typename boost::graph_traits>::vertices_size_type num_vertices(const jla_boost::FilteredWrapper &g) { return g.reverseMap.size(); } @@ -185,14 +183,14 @@ num_vertices(const jla_boost::FilteredWrapper &g) { // EdgeListGraph template -std::pair >::edge_iterator, - typename boost::graph_traits >::edge_iterator> +std::pair>::edge_iterator, + typename boost::graph_traits>::edge_iterator> edges(const jla_boost::FilteredWrapper &g) { return edges(g.g); } template -typename boost::graph_traits >::edges_size_type +typename boost::graph_traits>::edges_size_type num_edges(const jla_boost::FilteredWrapper &g) { return std::distance(edges(g.g).first, edges(g.g).second); } @@ -200,10 +198,10 @@ num_edges(const jla_boost::FilteredWrapper &g) { // AdjacencyMatrix template -std::pair >::edge_descriptor, bool> -edge(typename boost::graph_traits >::vertex_descriptor u, - typename boost::graph_traits >::vertex_descriptor v, - const jla_boost::FilteredWrapper &g) { +std::pair>::edge_descriptor, bool> +edge(typename boost::graph_traits>::vertex_descriptor u, + typename boost::graph_traits>::vertex_descriptor v, + const jla_boost::FilteredWrapper &g) { return edge(u, v, g.g); } @@ -212,23 +210,23 @@ namespace boost { // PropertyGraph template -struct property_traits > { - typedef typename graph_traits >::vertices_size_type value_type; - typedef typename graph_traits >::vertices_size_type reference; - typedef typename graph_traits >::vertex_descriptor key_type; +struct property_traits> { + typedef typename graph_traits>::vertices_size_type value_type; + typedef typename graph_traits>::vertices_size_type reference; + typedef typename graph_traits>::vertex_descriptor key_type; typedef readable_property_map_tag category; }; template -struct vertex_property_type > : vertex_property_type { +struct vertex_property_type> : vertex_property_type { }; template -struct edge_property_type > : edge_property_type { +struct edge_property_type> : edge_property_type { }; template -struct graph_property_type > : graph_property_type { +struct graph_property_type> : graph_property_type { }; template @@ -247,9 +245,9 @@ struct property_map, vertex_index_t> { namespace jla_boost { template -typename boost::property_traits >::value_type +typename boost::property_traits>::value_type get(const jla_boost::FilteredWrapperIndexMap &map, - typename boost::property_traits >::key_type k) { + typename boost::property_traits>::key_type k) { return map[k]; } @@ -273,18 +271,17 @@ get(PropertyTag t, const jla_boost::FilteredWrapper &g, VertexOrEdge ve) // Other template -inline typename boost::graph_traits >::vertex_descriptor -vertex(typename boost::graph_traits >::vertices_size_type n, - const jla_boost::FilteredWrapper &g) { - - for(typename boost::graph_traits >::vertex_descriptor v : asRange(vertices(g))) { - if(get(boost::vertex_index_t(), g, v) == n) return v; - } - MOD_ABORT; +inline typename boost::graph_traits>::vertex_descriptor +vertex(typename boost::graph_traits>::vertices_size_type n, + const jla_boost::FilteredWrapper &g) { + for(const auto v: asRange(vertices(g))) + if(get(boost::vertex_index_t(), g, v) == n) + return v; + __builtin_unreachable(); } template -struct GraphAdaptorTraits > { +struct GraphAdaptorTraits> { using type = Graph; static const Graph &unwrap(const jla_boost::FilteredWrapper &g) { @@ -294,4 +291,4 @@ struct GraphAdaptorTraits > { } // namespace jla_boost -#endif /* JLA_BOOST_GRAPH_FILTEREDWRAPPER_H */ +#endif // JLA_BOOST_GRAPH_FILTEREDWRAPPER_HPP diff --git a/libs/jla_boost/include/jla_boost/graph/morphism/finders/CommonSubgraph.hpp b/libs/jla_boost/include/jla_boost/graph/morphism/finders/CommonSubgraph.hpp index 6922b24..5fb0657 100644 --- a/libs/jla_boost/include/jla_boost/graph/morphism/finders/CommonSubgraph.hpp +++ b/libs/jla_boost/include/jla_boost/graph/morphism/finders/CommonSubgraph.hpp @@ -25,7 +25,7 @@ #include namespace jla_boost::GraphMorphism { -using namespace boost; // TODO: remvoe +using namespace boost; // TODO: remove template struct CommonSubgraphEnumerator : InjectiveEnumerationState< diff --git a/libs/jla_boost/include/jla_boost/graph/morphism/finders/InjectiveEnumeration.hpp b/libs/jla_boost/include/jla_boost/graph/morphism/finders/InjectiveEnumeration.hpp index 2722c33..a0cb0fb 100644 --- a/libs/jla_boost/include/jla_boost/graph/morphism/finders/InjectiveEnumeration.hpp +++ b/libs/jla_boost/include/jla_boost/graph/morphism/finders/InjectiveEnumeration.hpp @@ -162,7 +162,7 @@ struct InjectiveEnumerationState { EdgePred edgePred; VertexPred vertexPred; private: // alg state - // we do very specific puts so we manage the two directions manually + // we do very specific puts, so we manage the two directions manually VectorVertexMap m; VectorVertexMap mInverse; std::vector> stack; diff --git a/libs/jla_boost/test/common_subgraph.cpp b/libs/jla_boost/test/common_subgraph.cpp index 86559ad..149f14f 100644 --- a/libs/jla_boost/test/common_subgraph.cpp +++ b/libs/jla_boost/test/common_subgraph.cpp @@ -24,7 +24,6 @@ #include #include -// TODO: use boost/test/minimap.hpp instead when not in a library #define _DO_ASSERT(exp) \ do { \ const bool res = exp; \ diff --git a/libs/jla_boost/test/vf2.cpp b/libs/jla_boost/test/vf2.cpp index 3f782eb..36483d1 100644 --- a/libs/jla_boost/test/vf2.cpp +++ b/libs/jla_boost/test/vf2.cpp @@ -9,7 +9,9 @@ #include -#include +#define BOOST_TEST_DYN_LINK +#define BOOST_TEST_MAIN +#include #include #include @@ -438,10 +440,9 @@ void test_return_value() { } // namespace test } // namespace jla_boost -int test_main(int argc, char **argv) { +BOOST_AUTO_TEST_CASE(test_main) { using namespace jla_boost::test; test_vf2(0, nullptr); test_empty_graph_cases(); test_return_value(); - return 0; } \ No newline at end of file diff --git a/libs/libmod/CMakeLists.txt b/libs/libmod/CMakeLists.txt index 29024cf..c59d482 100644 --- a/libs/libmod/CMakeLists.txt +++ b/libs/libmod/CMakeLists.txt @@ -12,6 +12,7 @@ add_library(libmod SHARED ${mod_libmod_INCLUDE_FILES} ${mod_libmod_SRC_FILES}) add_library(mod::libmod ALIAS libmod) +handle_sanitizers(libmod) target_add_coverage(libmod) target_include_directories(libmod PUBLIC diff --git a/libs/libmod/src/mod/Config.hpp b/libs/libmod/src/mod/Config.hpp index 5a1a18a..6399aef 100644 --- a/libs/libmod/src/mod/Config.hpp +++ b/libs/libmod/src/mod/Config.hpp @@ -22,7 +22,7 @@ #include namespace mod { -class Config; +struct Config; // rst: .. enum-struct:: LabelType // rst: @@ -266,14 +266,14 @@ MOD_DECL Config &getConfig(); template struct ConfigSetting { - ConfigSetting(T value, const std::string &name) : value(value), name(name) {} + ConfigSetting(T value, std::string name) : val(std::move(value)), name(std::move(name)) {} // rst: .. function:: void set(T value) // rst: // rst: Sets the configuration value. // rst: void set(T value) { - this->value = value; + val = value; }; // rst: .. function:: T get() const @@ -281,7 +281,7 @@ struct ConfigSetting { // rst: :returns: The configuration value. // rst: T get() const { - return value; + return val; } // rst: .. function: T &operator()() @@ -289,14 +289,14 @@ struct ConfigSetting { // rst: Access the value. // rst: T &operator()() { - return value; + return val; } const std::string &getName() const { return name; } private: - T value; + T val; const std::string name; }; // rst-class-end: @@ -336,25 +336,20 @@ struct Config { ((unsigned int, numThreads, 1)) \ )) \ ((DG, dg, \ - ((bool, useOldRuleApplication, false)) \ - ((bool, calculateVerbosePrint, false)) \ ((bool, putAllProductsInSubset, false)) \ ((bool, dryDerivationPrinting, false)) \ - ((bool, derivationDebugOutput, false)) \ ((bool, disableRepeatFixedPointCheck, false)) \ - ((int, derivationVerbosity, 0)) \ ((bool, applyAssumeConfluence, false)) \ ((int, applyLimit, -1)) \ )) \ ((Graph, graph, \ ((bool, smilesCheckAST, false)) \ - ((bool, ignoreStereoInSmiles, false)) \ - ((bool, printSmilesParsingWarnings, true)) \ ((bool, appendSmilesClass, false)) \ - ((mod::Config::IsomorphismAlg, isomorphismAlg, mod::Config::IsomorphismAlg::VF2)) \ + ((mod::Config::IsomorphismAlg, isomorphismAlg, mod::Config::IsomorphismAlg::SmilesCanonVF2)) \ ((bool, useWrongSmilesCanonAlg, false)) \ ((bool, checkIsoInPermutation, false)) \ ((unsigned long, numIsomorphismCalls, 0)) \ + ((bool, vf2UseOrigVertexOrder, true)) \ )) \ ((Rule, rule, \ ((bool, ignoreConstraintsDuringInversion, false)) \ @@ -371,9 +366,6 @@ struct Config { ((bool, printMatchesOnlyHaxChem, false)) \ ((int, componentWiseMorphismLimit, 0)) \ ((bool, useBoostCommonSubgraph, false)) \ - )) \ - ((Stereo, stereo, \ - ((bool, silenceDeductionWarnings, false)) \ )) #define MOD_CONFIG_nsIter(rNS, dataNS, tNS) \ @@ -416,4 +408,4 @@ BOOST_PP_SEQ_FOR_EACH(MOD_CONFIG_nsIter, ~, MOD_CONFIG_DATA()) } // namespace mod -#endif // MOD_CONFIG_HPP \ No newline at end of file +#endif // MOD_CONFIG_HPP diff --git a/libs/libmod/src/mod/Error.hpp b/libs/libmod/src/mod/Error.hpp index 4649ff2..170f6a1 100644 --- a/libs/libmod/src/mod/Error.hpp +++ b/libs/libmod/src/mod/Error.hpp @@ -10,9 +10,9 @@ // rst: This file contains the functionality used for reporting errors. // rst: In the description of the exceptions we use the standard terminology (see e.g., `Exception Safety `_). // rst: If nothing else is specified a thrown exception from MØD provides no exception safety. -// rst: Any exception thrown from MØD or any dependencies are intented to derive from `std::exception`, +// rst: Any exception thrown from MØD or any dependencies are intended to derive from `std::exception`, // rst: and any exception from MØD derives from :class:`Exception`. -// rst: The exceptions are in general only thrown from the outer-most interface, and not from within the ``mod::lib`` namespace. +// rst: The exceptions are in general only thrown from the outermost interface, and not from within the ``mod::lib`` namespace. namespace mod { @@ -25,7 +25,7 @@ struct MOD_DECL Stacktrace { // rst: .. function:: Stacktrace(unsigned int frameLimit, unsigned int numSkip) // rst: // rst: Capture a stacktrace with at most `frameLimit` frames and without the first `numSkip` frames. - // rst: The frame from the constructor it self is always skipped. + // rst: The frame from the constructor itself is always skipped. Stacktrace(unsigned int frameLimit, unsigned int numSkip); // rst: .. function:: void print(unsigned int frameLimit, std::ostream &s) const // rst: diff --git a/libs/libmod/src/mod/Function.hpp b/libs/libmod/src/mod/Function.hpp index d47f740..b94d9cd 100644 --- a/libs/libmod/src/mod/Function.hpp +++ b/libs/libmod/src/mod/Function.hpp @@ -24,7 +24,7 @@ struct Function { // rst-class: template Function // rst: -// rst: Abstract base class template for fuctors used in the library. +// rst: Abstract base class template for function objects used in the library. // rst: // rst-class-start: diff --git a/libs/libmod/src/mod/Misc.cpp b/libs/libmod/src/mod/Misc.cpp index f3506cf..0d276c6 100644 --- a/libs/libmod/src/mod/Misc.cpp +++ b/libs/libmod/src/mod/Misc.cpp @@ -14,7 +14,6 @@ #include #include -#include #include #include #include @@ -33,14 +32,20 @@ double rngUniformReal() { return std::uniform_real_distribution(0, 1)(lib::getRng()); } -void showDump(const std::string &file) { +std::string strFromDump(const std::string &file) { boost::iostreams::mapped_file_source ifs(file); std::vector data(ifs.begin(), ifs.end()); std::ostringstream err; auto jOpt = lib::IO::readJson(data, err); if(!jOpt) throw InputError("Error showing dump: " + err.str()); - std::cout << std::setw(3) << *jOpt << std::endl; + std::stringstream ss; + ss << std::setw(3) << *jOpt << "\n"; + return ss.str(); +} + +void showDump(const std::string &file) { + std::cout << strFromDump(file) << std::flush; } void printGeometryGraph() { diff --git a/libs/libmod/src/mod/Misc.hpp b/libs/libmod/src/mod/Misc.hpp index 941eb86..f0ac7ef 100644 --- a/libs/libmod/src/mod/Misc.hpp +++ b/libs/libmod/src/mod/Misc.hpp @@ -24,6 +24,7 @@ MOD_DECL void rngReseed(unsigned int seed); // rst: :returns: a uniformly random real number between 0 and 1. MOD_DECL double rngUniformReal(); +MOD_DECL std::string strFromDump(const std::string &file); MOD_DECL void showDump(const std::string &file); MOD_DECL void printGeometryGraph(); diff --git a/libs/libmod/src/mod/Term.cpp b/libs/libmod/src/mod/Term.cpp index bc4d3e7..0f7f9c8 100644 --- a/libs/libmod/src/mod/Term.cpp +++ b/libs/libmod/src/mod/Term.cpp @@ -28,7 +28,7 @@ void mgu(const std::string &left, const std::string &right) { machine.setTemp(machineTemp); addrRight.type = lib::Term::AddressType::Temp; std::cout << "=================================================" << std::endl; - lib::Term::Write::wam(machine, lib::Term::getStrings(), std::cout); + lib::Term::Write::wam(machine, lib::Term::getStrings(), lib::IO::Logger(std::cout)); std::cout << "Left = " << addrLeft << ", Right = " << addrRight << std::endl; std::cout << "Most general unifier of" << std::endl << "\t"; @@ -43,7 +43,8 @@ void mgu(const std::string &left, const std::string &right) { std::cout << std::endl; auto mgu = machine.unifyHeapTemp(addrLeft.addr, addrRight.addr); - lib::Term::Write::wam(machine, lib::Term::getStrings(), std::cout << "is "); + std::cout << "is\n"; + lib::Term::Write::wam(machine, lib::Term::getStrings(), lib::IO::Logger(std::cout)); std::cout << "Left = " << machine.deref(addrLeft) << ", Right = " << machine.deref(addrRight) << std::endl; lib::Term::Write::mgu(machine, mgu, lib::Term::getStrings(), std::cout); diff --git a/libs/libmod/src/mod/dg/Builder.cpp b/libs/libmod/src/mod/dg/Builder.cpp index 1072ca1..cf11a51 100644 --- a/libs/libmod/src/mod/dg/Builder.cpp +++ b/libs/libmod/src/mod/dg/Builder.cpp @@ -16,13 +16,19 @@ namespace mod::dg { struct Builder::Pimpl { - Pimpl(std::shared_ptr dg_, lib::DG::NonHyperBuilder &dgLib) : dg_(dg_), b(dgLib.build()) {} + Pimpl(std::shared_ptr dg_, lib::DG::NonHyperBuilder &dgLib, + std::shared_ptr> onNewVertex, + std::shared_ptr> onNewHyperEdge) + : dg_(dg_), b(dgLib.build(onNewVertex, onNewHyperEdge)) {} public: std::shared_ptr dg_; lib::DG::Builder b; }; -Builder::Builder(lib::DG::NonHyperBuilder &dg_) : p(new Pimpl(dg_.getAPIReference(), dg_)) {} +Builder::Builder(lib::DG::NonHyperBuilder &dg_, + std::shared_ptr> onNewVertex, + std::shared_ptr> onNewHyperEdge) + : p(new Pimpl(dg_.getAPIReference(), dg_, onNewVertex, onNewHyperEdge)) {} Builder::Builder(Builder &&other) = default; Builder &Builder::operator=(Builder &&other) = default; diff --git a/libs/libmod/src/mod/dg/Builder.hpp b/libs/libmod/src/mod/dg/Builder.hpp index 0db83a1..54c293a 100644 --- a/libs/libmod/src/mod/dg/Builder.hpp +++ b/libs/libmod/src/mod/dg/Builder.hpp @@ -9,6 +9,7 @@ namespace mod { struct Derivations; +template struct Function; } // namespace mod namespace mod::lib::DG { struct ExecuteResult; @@ -26,7 +27,9 @@ namespace mod::dg { // rst-class-start: class MOD_DECL Builder { friend class DG; - explicit Builder(lib::DG::NonHyperBuilder &dg_); + explicit Builder(lib::DG::NonHyperBuilder &dg_, + std::shared_ptr> onNewVertex, + std::shared_ptr> onNewHyperEdge); public: Builder(Builder &&other); Builder &operator=(Builder &&other); @@ -79,7 +82,7 @@ class MOD_DECL Builder { // rst: ExecuteResult execute(std::shared_ptr strategy, int verbosity) // rst: ExecuteResult execute(std::shared_ptr strategy, int verbosity, bool ignoreRuleLabelTypes) // rst: - // rst: Execute the given strategy (:ref:`dgStrat`) and as a side-effect add + // rst: Execute the given strategy (:ref:`dgStrat`) and as a side effect add // rst: vertices and hyperedges to the underlying derivation graph. // rst: // rst: The :cpp:var:`verbosity` defaults to level 2. @@ -158,8 +161,8 @@ class MOD_DECL Builder { // rst: Add vertices and hyperedges based on the given abstract description. // rst: The description must adhere to the grammar described at :ref:`dg_abstract-desc`. // rst: - // rst: For each vertex named in the description a graph object with no vertices will be created, - // rst: and its name set to the given identifier. + // rst: For each vertex named in the description a graph object with a single vertex will be created. + // rst: The label of that vertex and the name of the graph is set to the given identifier. // rst: // rst: :throws: :class:`InputError` if the description could not be parsed. void addAbstract(const std::string &description); diff --git a/libs/libmod/src/mod/dg/DG.cpp b/libs/libmod/src/mod/dg/DG.cpp index 5c323d9..29899ad 100644 --- a/libs/libmod/src/mod/dg/DG.cpp +++ b/libs/libmod/src/mod/dg/DG.cpp @@ -148,12 +148,17 @@ DG::HyperEdge DG::findEdge(const std::vector > &so //------------------------------------------------------------------------------ Builder DG::build() { + return build(nullptr, nullptr); +} + +Builder DG::build(std::shared_ptr> onNewVertex, + std::shared_ptr> onNewHyperEdge) { if(isLocked()) throw LogicError("The DG is locked."); if(hasActiveBuilder()) throw LogicError("Another build is already in progress."); if(auto *ptr = dynamic_cast (p->dg.get())) { - return Builder(*ptr); + return Builder(*ptr, onNewVertex, onNewHyperEdge); } else throw LogicError("Only DGs from DG::builder can be built\n"); } diff --git a/libs/libmod/src/mod/dg/DG.hpp b/libs/libmod/src/mod/dg/DG.hpp index 5f53b0f..90ed9ef 100644 --- a/libs/libmod/src/mod/dg/DG.hpp +++ b/libs/libmod/src/mod/dg/DG.hpp @@ -11,6 +11,9 @@ #include #include +namespace mod { +template struct Function; +} // namespace mod namespace mod::dg { // rst-class: dg::DG @@ -115,13 +118,21 @@ struct MOD_DECL DG { const std::vector> &targets) const; public: // rst: .. function:: Builder build() + // rst: Builder build(std::shared_ptr> onNewVertex, \ + // rst: std::shared_ptr> onNewHyperEdge) // rst: + // rst: :param onNewVertex: a callback invoked when a new vertex is added to the underlying derivation graph. + // rst: Defaults to `nullptr`. + // rst: :param onNewHyperEdge: a callback invoked when a new hyperedge is added to the underlying derivation graph. + // rst: Defaults to `nullptr`. // rst: :returns: an RAII-style move-only object which can be used to construct the derivation graph. // rst: Only one of these objects can be active at the same time, and on destruction an active builder object // rst: will lock the associated DG object for further modification. // rst: :throws: :cpp:class:`LogicError` if `hasActiveBuilder()`. // rst: :throws: :cpp:class:`LogicError` if `isLocked()`. Builder build(); + Builder build(std::shared_ptr> onNewVertex, + std::shared_ptr> onNewHyperEdge); // rst: .. function:: const std::vector> &getGraphDatabase() const // rst: // rst: :returns: a list of all graphs created by the derivation graph, @@ -177,7 +188,7 @@ struct MOD_DECL DG { // rst: // rst: The given :cpp:class:`LabelSettings` defines which category the derivation graph object works in. // rst: All morphism calculations (monomorphism and isomorphism) are thus defined by the :cpp:enum:`LabelType`, - // rst: while the :cpp:enum:`LabelRelation` is used for for monomorphism enumeration. + // rst: while the :cpp:enum:`LabelRelation` is used for monomorphism enumeration. // rst: // rst: The graphs is the given :cpp:var:`graphDatabase` are used as the initial graph database. // rst: Any subsequently added or constructed graph for this object diff --git a/libs/libmod/src/mod/dg/GraphInterface.cpp b/libs/libmod/src/mod/dg/GraphInterface.cpp index 112fe89..0728c73 100644 --- a/libs/libmod/src/mod/dg/GraphInterface.cpp +++ b/libs/libmod/src/mod/dg/GraphInterface.cpp @@ -65,10 +65,10 @@ std::ostream &operator<<(std::ostream &s, const DG::HyperEdge &e) { if(e.isNull()) s << "null"; else { s << *e.getDG() << ", {"; - for(auto src : e.sources()) + for(auto src: e.sources()) s << " " << src.getId(); s << " }, {"; - for(auto tar : e.targets()) + for(auto tar: e.targets()) s << " " << tar.getId(); s << " }"; } @@ -151,12 +151,13 @@ DG::HyperEdge DG::HyperEdge::getInverse() const { std::vector > DG::HyperEdge::print(const graph::Printer &printer, const std::string &nomatchColour, - const std::string &matchColour) const { + const std::string &matchColour, int verbosity) const { if(isNull()) throw LogicError("Can not print null edge."); if(rules().size() == 0) throw LogicError("The edge has no rules."); const auto &dg = g->getHyper(); const auto v = dg.getInternalVertex(*this); - return lib::DG::Write::summaryDerivation(g->getNonHyper(), v, printer.getOptions(), nomatchColour, matchColour); + return lib::DG::Write::summaryDerivation(g->getNonHyper(), v, printer.getOptions(), nomatchColour, matchColour, + verbosity); } //------------------------------------------------------------------------------ diff --git a/libs/libmod/src/mod/dg/GraphInterface.hpp b/libs/libmod/src/mod/dg/GraphInterface.hpp index 4a0b7a8..97294a7 100644 --- a/libs/libmod/src/mod/dg/GraphInterface.hpp +++ b/libs/libmod/src/mod/dg/GraphInterface.hpp @@ -153,20 +153,27 @@ class MOD_DECL DG::HyperEdge { HyperEdge getInverse() const; public: // rst: .. function:: std::vector> \ - // rst: print(const graph::Printer &printer, const std::string &nomatchColour, const std::string &matchColour) const + // rst: print(const graph::Printer &printer, const std::string &nomatchColour, const std::string &matchColour, int verbosity) const // rst: // rst: Print the derivations represented by the hyperedge. // rst: All possible Double-Pushout diagrams are printed. // rst: The `matchColour` must be a valid colour for TikZ, which is applied to the rule // rst: and its image in the bottom span. // rst: + // rst: :param verbosity: the level of debug information to print. Defaults to 0. + // rst: + // rst: - 0 (or less): print no information. + // rst: - 1: print debug information within the outer printing algorithm, but not debug information related to rule composition. + // rst: - 10: also print information for morphism generation for rule composition. + // rst: - 20: also print rule composition information. + // rst: // rst: :returns: A list with file data for each DPO diagram printed. // rst: Each element is a pair of filename prefixes, where the first entry is completed by appending ``_derL``, ``_derK``, or ``_derR``. // rst: The second entry is completed similarly by appending ``_derG``, ``_derD``, or ``_derH``. // rst: :throws: :class:`LogicError` if it is a null descriptor. // rst: :throws: :class:`LogicError` if it has no rules. std::vector> - print(const graph::Printer &printer, const std::string &nomatchColour, const std::string &matchColour) const; + print(const graph::Printer &printer, const std::string &nomatchColour, const std::string &matchColour, int verbosity) const; private: std::shared_ptr g; std::size_t eId; diff --git a/libs/libmod/src/mod/dg/Printer.hpp b/libs/libmod/src/mod/dg/Printer.hpp index dcf8375..b741df2 100644 --- a/libs/libmod/src/mod/dg/Printer.hpp +++ b/libs/libmod/src/mod/dg/Printer.hpp @@ -111,20 +111,20 @@ struct MOD_DECL Printer { // rst: .. function:: void setWithShortcutEdges(bool value) // rst: bool getWithShortcutEdges() const // rst: - // rst: Control whether or not hyperedges :math:`(T, H)` with :math:`|T| = |H| = 1` + // rst: Control whether hyperedges :math:`(T, H)` with :math:`|T| = |H| = 1` // rst: are printed as a simple arrow without the usual rectangle. void setWithShortcutEdges(bool value); bool getWithShortcutEdges() const; // rst: .. function:: void setWithGraphImages(bool value) // rst: bool getWithGraphImages() const // rst: - // rst: Control whether or not each vertex is printed with an image of its graph in it. + // rst: Control whether each vertex is printed with an image of its graph in it. void setWithGraphImages(bool value); bool getWithGraphImages() const; // rst: .. function:: void setLabelsAsLatexMath(bool value) // rst: bool getLabelsAsLatexMath() const // rst: - // rst: Control whether or not labels on vertices and hyperedges are put inline :math:`\LaTeX` math. + // rst: Control whether labels on vertices and hyperedges are put inline :math:`\LaTeX` math. // rst: Specifically, a label ``label`` is written as ``$\mathrm{label'}$``, with ``label'`` being // rst: ``label`` with all space characters escaped. void setLabelsAsLatexMath(bool value); @@ -158,7 +158,7 @@ struct MOD_DECL Printer { // rst: .. function:: void setWithShortcutEdgesAfterVisibility(bool value) // rst: bool getWithShortcutEdgesAfterVisibility() const // rst: - // rst: Control whether or not hyperedges are depicted as simple arrows when all but 1 head and tail are hidden. + // rst: Control whether hyperedges are depicted as simple arrows when all but 1 head and tail are hidden. void setWithShortcutEdgesAfterVisibility(bool value); bool getWithShortcutEdgesAfterVisibility() const; // rst: .. function:: void setVertexLabelSep(std::string sep) @@ -200,25 +200,25 @@ struct MOD_DECL Printer { // rst: .. function:: void setWithGraphName(bool value) // rst: bool getWithGraphName() const // rst: - // rst: Control whether or not graph names are appended to the vertex labels (see also :func:`pushVertexLabel`). + // rst: Control whether graph names are appended to the vertex labels (see also :func:`pushVertexLabel`). void setWithGraphName(bool value); bool getWithGraphName() const; // rst: .. function:: void setWithRuleName(bool value) // rst: bool getWithRuleName() const // rst: - // rst: Control whether or not rules names are appended to the edge labels (see also :func:`pushEdgeLabel`). + // rst: Control whether rules names are appended to the edge labels (see also :func:`pushEdgeLabel`). void setWithRuleName(bool value); bool getWithRuleName() const; // rst: .. function:: void setWithRuleId(bool value) // rst: bool getWithRuleId() const // rst: - // rst: Control whether or not rules IDs are appended to the edge labels (see also :func:`pushEdgeLabel`). + // rst: Control whether rules IDs are appended to the edge labels (see also :func:`pushEdgeLabel`). void setWithRuleId(bool value); bool getWithRuleId() const; // rst: .. function:: void setWithInlineGraphs(bool value) // rst: bool getWithInlineGraphs() const // rst: - // rst: Control whether or not graph depictions should be precompiled, or be included inline in the DG figure. + // rst: Control whether graph depictions should be precompiled, or be included inline in the DG figure. void setWithInlineGraphs(bool value); bool getWithInlineGraphs() const; // rst: .. function:: void pushVertexColour(std::function f, bool extendToEdges) diff --git a/libs/libmod/src/mod/dg/Strategies.hpp b/libs/libmod/src/mod/dg/Strategies.hpp index b472483..2a89f2d 100644 --- a/libs/libmod/src/mod/dg/Strategies.hpp +++ b/libs/libmod/src/mod/dg/Strategies.hpp @@ -79,7 +79,7 @@ struct MOD_DECL Strategy { IsomorphismPolicy graphPolicy); // rst: .. function:: static std::shared_ptr makeSequence(const std::vector> &strategies) // rst: - // rst: :retunrs: a :ref:`strat-sequence` strategy. + // rst: :returns: a :ref:`strat-sequence` strategy. // rst: :throws: :class:`LogicError` if `strategies.empty()`. // rst: :throws: :class:`LogicError` if there is a `nullptr` in `strategies`. static std::shared_ptr makeSequence(const std::vector> &strategies); @@ -92,7 +92,7 @@ struct MOD_DECL Strategy { // rst: .. function:: static std::shared_ptr makeFilter(bool alsoUniverse, std::shared_ptr, const Strategy::GraphState&, bool)>> filterFunc) // rst: // rst: The filtering predicate will be called for each graph in either the subset or the universe. - // rst: The predicate is called with the graph and the graph state as arguments, and a bool stating whether or not + // rst: The predicate is called with the graph and the graph state as arguments, and a bool stating whether // rst: the call is the first in the filtering process. // rst: // rst: :returns: a :ref:`strat-filterUniverse` strategy if `alsoUniverse` is `true`, otherwise a :ref:`strat-filterSubset` strategy. diff --git a/libs/libmod/src/mod/dg/VertexMapper.cpp b/libs/libmod/src/mod/dg/VertexMapper.cpp new file mode 100644 index 0000000..bd89723 --- /dev/null +++ b/libs/libmod/src/mod/dg/VertexMapper.cpp @@ -0,0 +1,108 @@ +#include "VertexMapper.hpp" + +#include +#include +#include +#include +#include +#include +#include + +namespace mod::dg { + +struct VertexMapper::Pimpl { + graph::Union getLeft() const { + std::vector> gs; + gs.reserve(res.leftDGVertices.size()); + const auto &dg = e.getDG()->getHyper().getGraph(); + for(const auto v: res.leftDGVertices) + gs.push_back(dg[v].graph->getAPIReference()); + return graph::Union(std::move(gs)); + } + + graph::Union getRight() const { + std::vector> gs; + gs.reserve(res.rightDGVertices.size()); + const auto &dg = e.getDG()->getHyper().getGraph(); + for(const auto v: res.rightDGVertices) + gs.push_back(dg[v].graph->getAPIReference()); + return graph::Union(std::move(gs)); + } +public: + DG::HyperEdge e; + lib::DG::VertexMappingResult res; +}; + +VertexMapper::Result VertexMapper::iterator::dereference() const { + assert(owner); + assert(i < owner->size()); + // capture owner->p in the callbacks to keep the mapping data alive + auto m = VertexMap( + owner->getLeft(), owner->getRight(), + [p = owner->p, i = this->i](graph::Union::Vertex vLeft) -> graph::Union::Vertex { + assert(vLeft.getId() < num_vertices(p->res.gLeft)); + const auto v = vertices(p->res.gLeft).first[vLeft.getId()]; + const auto vRes = get(p->res.maps[i].second, p->res.gLeft, p->res.gRight, v); + if(vRes == p->res.gRight.null_vertex()) + return {}; + return p->getRight().vertices()[get(boost::vertex_index_t(), p->res.gRight, vRes)]; + }, + [p = owner->p, i = this->i](graph::Union::Vertex vRight) -> graph::Union::Vertex { + assert(vRight.getId() < num_vertices(p->res.gRight)); + const auto v = vertices(p->res.gRight).first[vRight.getId()]; + const auto vRes = get_inverse(p->res.maps[i].second, p->res.gLeft, p->res.gRight, v); + if(vRes == p->res.gLeft.null_vertex()) + return {}; + return p->getLeft().vertices()[get(boost::vertex_index_t(), p->res.gLeft, vRes)]; + } + ); + return {owner->p->res.maps[i].first->getAPIReference(), std::move(m)}; +} + +// ================================================================================= + +VertexMapper::VertexMapper(DG::HyperEdge e) : VertexMapper(e, true, 1, 1 << 30, 0) {} + +VertexMapper::VertexMapper(DG::HyperEdge e, bool upToIsomorphismG, int leftLimit, int rightLimit, int verbosity) + : p(new Pimpl()) { + if(!e) throw LogicError("Can not find vertex maps for null edge."); + const auto &dg = e.getDG()->getHyper(); + p->e = e; + lib::IO::Logger logger(std::cout); + p->res = lib::DG::calculateVertexMaps(dg, dg.getInternalVertex(e), upToIsomorphismG, leftLimit, rightLimit, + logger, verbosity); +} + +VertexMapper::~VertexMapper() = default; + +DG::HyperEdge VertexMapper::getEdge() const { + return p->e; +} + +graph::Union VertexMapper::getLeft() const { + return p->getLeft(); +} + +graph::Union VertexMapper::getRight() const { + return p->getRight(); +} + +VertexMapper::const_iterator VertexMapper::begin() const { + return {this, 0}; +} + +VertexMapper::const_iterator VertexMapper::end() const { + return {this, p->res.maps.size()}; +} + +std::size_t VertexMapper::size() const { + return p->res.maps.size(); +} + +VertexMapper::Result VertexMapper::operator[](std::size_t i) const { + if(i >= p->res.maps.size()) + throw LogicError("Index " + std::to_string(i) + " is out of range (" + std::to_string(size()) + ")."); + return begin()[i]; +} + +} // namespace mod::dg \ No newline at end of file diff --git a/libs/libmod/src/mod/dg/VertexMapper.hpp b/libs/libmod/src/mod/dg/VertexMapper.hpp new file mode 100644 index 0000000..ae0914b --- /dev/null +++ b/libs/libmod/src/mod/dg/VertexMapper.hpp @@ -0,0 +1,134 @@ +#ifndef MOD_DG_VERTEXMAPPER_HPP +#define MOD_DG_VERTEXMAPPER_HPP + +#include +#include +#include + +#include + +namespace mod::graph { +struct Union; +} // mod::graph +namespace mod::dg { +// rst-class: dg::VertexMapper +// rst: +// rst: A class for enumerating all valid vertex maps for a given :class:`dg::DG::HyperEdge`. +// rst: That is, for such a hyperedge, collect the graphs associated with +// rst: respectively the source and target vertices, and create the disjoint union of those graphs. +// rst: Let the result be the graphs :math:`G'` and :math:`H'`. +// rst: Then each rule :math:`p = (L\leftarrow K\rightarrow R)` associated with the hyperedge, +// rst: generate direct derivations :math:`G\overset{p, m}{\Rightarrow} H` +// rst: where :math:`G` is isomorphic to :math:`G'` and :math:`H` is isomorphic to :math:`H'`. +// rst: +// rst: Each recorded vertex map is a map :math:`V(G) \rightarrow V(H)`. +// rst: Those maps are available in this class. +// rst: +// rst-class-start: +struct MOD_DECL VertexMapper { + // rst: .. type:: Map = VertexMap; + // rst: + // rst: The vertex map type. + using Map = VertexMap; + // rst: .. class:: Result + // rst: + // rst: The value type returned for each vertex map. + // rst: the rule used to generate the map, and then the actual map. + // rst: + struct Result { + // rst: .. var:: std::shared_ptr r + // rst: + // rst: The rule used to generate the map. + std::shared_ptr r; + // rst: .. var:: Map map + // rst: + // rst: The actual vertex map :math:`V(G) \rightarrow V(H)`. + Map map; + }; +public: + // rst: .. class:: iterator + // rst: + // rst: A random-access iterator over :type:`Result`\ s. + struct iterator : public boost::iterator_facade { + iterator() = default; + private: + friend class VertexMapper; + iterator(const VertexMapper *owner, std::size_t i) : owner(owner), i(i) {} + private: + friend class boost::iterator_core_access; + value_type dereference() const; + bool equal(const iterator &other) const { return std::tie(owner, i) == std::tie(other.owner, other.i); } + void increment() { ++i; } + void decrement() { --i; } + void advance(iterator::difference_type n) { i += n; } + iterator::difference_type distance_to(const iterator &other) const { return other.i - i; } + private: + const VertexMapper *owner = nullptr; + std::size_t i = 0; + }; + // rst: .. type:: const_iterator = iterator + using const_iterator = iterator; +public: + // rst: .. function:: VertexMapper(DG::HyperEdge e) + // rst: VertexMapper(DG::HyperEdge e, bool upToIsomorphismG, int leftLimit, int rightLimit, int verbosity) + // rst: + // rst: Construct a vertex map holder. It will immediately calculate all vertex maps for the derivations underlying the + // rst: given hyperedge. + // rst: By default all maps :math:`V(G) \rightarrow V(H)` are enumerated. + // rst: To only enumerate a singular vertex map per rule, use `upToIsomorphismG = true` and `leftLimit = rightLimit = 1`. + // rst: + // rst: :param e: the hyperedge to construct vertex maps for. + // rst: :param upToIsomrophismG: whether to enumerate all :math:`m`, or just those such that all bottom spans + // rst: :math:`(G\leftarrow D\rightarrow H)` up to isomorphism are generated. + // rst: Defaults to `true`. + // rst: :param leftLimit: after bottom span generation, find this many isomorphisms back to the sources of the hyperedge. + // rst: Defaults to 1. + // rst: :param rightLimit: after bottom span generation, find this many isomorphisms back to the targets of the hyperedge. + // rst: Defaults to :math:`2^{30}`. + // rst: :param verbosity: the level of debug information to print. Defaults to 0. + // rst: + // rst: - 0 (or less): print no information. + // rst: - 1: print debug information within the vertex mapping, but not debug information related to rule composition. + // rst: - 10: also print information for morphism generation for rule composition. + // rst: - 20: also print rule composition information. + // rst: + // rst: :throws: :class:`LogicError` if `!e`. + VertexMapper(DG::HyperEdge e); + VertexMapper(DG::HyperEdge e, bool upToIsomorphismG, int leftLimit, int rightLimit, int verbosity); + ~VertexMapper(); + // rst: .. function:: DG::HyperEdge getEdge() const + // rst: + // rst: :returns: the hyperedge for which the mapper calculates vertex maps. + DG::HyperEdge getEdge() const; + // rst: .. function:: graph::Union getLeft() const + // rst: graph::Union getRight() const + // rst: + // rst: :returns: the disjoint union of graphs from respectively the source and target vertices of the hyperedge. + // rst: That is, the graphs :math:`G` and :math:`H` that are the domain and codomain graphs of the calculated + // rst: vertex maps. + graph::Union getLeft() const; + graph::Union getRight() const; + // rst: .. function:: const_iterator begin() const + // rst: const_iterator end() const + // rst: + // rst: :returns: iterators for the range of vertex maps calculated by the mapper. + const_iterator begin() const; + const_iterator end() const; + // rst: .. function:: std::size_t size() const + // rst: + // rst: :returns: `end() - begin()` + std::size_t size() const; + // rst: .. function:: Result operator[](std::size_t i) const + // rst: + // rst: :returns: `begin()[i]` + // rst: :throws: :class:`LogicError` if `i >= size()`. + Result operator[](std::size_t i) const; +private: + struct Pimpl; + std::shared_ptr p; +}; +// rst-class-end: + +} // namespace mod::dg + +#endif // MOD_DG_VERTEXMAPPER_HPP diff --git a/libs/libmod/src/mod/graph/Graph.cpp b/libs/libmod/src/mod/graph/Graph.cpp index a6af12b..430c56a 100644 --- a/libs/libmod/src/mod/graph/Graph.cpp +++ b/libs/libmod/src/mod/graph/Graph.cpp @@ -276,9 +276,14 @@ makeGraphFromData(lib::Graph::Read::Data data, std::vector handleLoadedGraph(std::vector data, lib::IO::Warnings warnings, const std::string &type, const std::string &source) { - if(data.size() != 1) - throw InputError("Error in loading " + type + " from " + source - + ".\nA/the graph is not connected (" + std::to_string(data.size()) + " components)."); + if(data.size() != 1) { + if(data.empty()) { + throw InputError("Error in loading " + type + " from " + source + ".\nthe graph is empty."); + } else { + throw InputError("Error in loading " + type + " from " + source + + ".\nthe graph is not connected (" + std::to_string(data.size()) + " components)."); + } + } return makeGraphFromData(std::move(data.front()), warnings.extractWarnings()); } @@ -348,20 +353,20 @@ auto load(const std::string &data, const std::string &type, FParse parse, FProce /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// -std::shared_ptr Graph::fromGMLString(const std::string &data) { - return load(data, "GML", &lib::Graph::Read::gml, &handleLoadedGraph); +std::shared_ptr Graph::fromGMLString(const std::string &data, bool printStereoWarnings) { + return load(data, "GML", &lib::Graph::Read::gml, &handleLoadedGraph, printStereoWarnings); } -std::shared_ptr Graph::fromGMLFile(const std::string &file) { - return load(file, "GML", &lib::Graph::Read::gml, &handleLoadedGraph); +std::shared_ptr Graph::fromGMLFile(const std::string &file, bool printStereoWarnings) { + return load(file, "GML", &lib::Graph::Read::gml, &handleLoadedGraph, printStereoWarnings); } -std::vector> Graph::fromGMLStringMulti(const std::string &data) { - return load(data, "GML", &lib::Graph::Read::gml, &handleLoadedGraphs); +std::vector> Graph::fromGMLStringMulti(const std::string &data, bool printStereoWarnings) { + return load(data, "GML", &lib::Graph::Read::gml, &handleLoadedGraphs, printStereoWarnings); } -std::vector> Graph::fromGMLFileMulti(const std::string &file) { - return load(file, "GML", &lib::Graph::Read::gml, &handleLoadedGraphs); +std::vector> Graph::fromGMLFileMulti(const std::string &file, bool printStereoWarnings) { + return load(file, "GML", &lib::Graph::Read::gml, &handleLoadedGraphs, printStereoWarnings); } /////////////////////////////////////////////////////////////////////////////// @@ -380,21 +385,25 @@ std::vector> Graph::fromDFSMulti(const std::string &data) /////////////////////////////////////////////////////////////////////////////// std::shared_ptr Graph::fromSMILES(const std::string &smiles) { - return Graph::fromSMILES(smiles, false, SmilesClassPolicy::NoneOnDuplicate); + return Graph::fromSMILES(smiles, false, SmilesClassPolicy::NoneOnDuplicate, true); } std::shared_ptr -Graph::fromSMILES(const std::string &smiles, const bool allowAbstract, SmilesClassPolicy classPolicy) { - return load(smiles, "SMILES", &lib::Graph::Read::smiles, &handleLoadedGraph, allowAbstract, classPolicy); +Graph::fromSMILES(const std::string &smiles, bool allowAbstract, + SmilesClassPolicy classPolicy, bool printStereoWarnings) { + return load(smiles, "SMILES", &lib::Graph::Read::smiles, &handleLoadedGraph, + printStereoWarnings, allowAbstract, classPolicy); } std::vector> Graph::fromSMILESMulti(const std::string &smiles) { - return fromSMILESMulti(smiles, false, SmilesClassPolicy::NoneOnDuplicate); + return fromSMILESMulti(smiles, false, SmilesClassPolicy::NoneOnDuplicate, true); } std::vector> -Graph::fromSMILESMulti(const std::string &smiles, bool allowAbstract, SmilesClassPolicy classPolicy) { - return load(smiles, "SMILES", &lib::Graph::Read::smiles, &handleLoadedGraphs, allowAbstract, classPolicy); +Graph::fromSMILESMulti(const std::string &smiles, bool allowAbstract, + SmilesClassPolicy classPolicy, bool printStereoWarnings) { + return load(smiles, "SMILES", &lib::Graph::Read::smiles, &handleLoadedGraphs, + printStereoWarnings, allowAbstract, classPolicy); } /////////////////////////////////////////////////////////////////////////////// diff --git a/libs/libmod/src/mod/graph/Graph.hpp b/libs/libmod/src/mod/graph/Graph.hpp index 4fd9000..59a7836 100644 --- a/libs/libmod/src/mod/graph/Graph.hpp +++ b/libs/libmod/src/mod/graph/Graph.hpp @@ -132,7 +132,7 @@ struct MOD_DECL Graph { const std::string &getGraphDFS() const; // rst: .. function:: const std::string &getGraphDFSWithIds() const // rst: - // rst: :returns: a :ref:`GraphDFS ` string of the graph, where each vertices have an explicit id, + // rst: :returns: a :ref:`GraphDFS ` string of the graph, where each vertex have an explicit id, // rst: corresponding to its internal vertex id. const std::string &getGraphDFSWithIds() const; // rst: .. function:: const std::string &getLinearEncoding() const @@ -141,7 +141,7 @@ struct MOD_DECL Graph { const std::string &getLinearEncoding() const; // rst: .. function:: bool getIsMolecule() const // rst: - // rst: :returns: whether or not the graph models a molecule. See :ref:`mol-enc`. + // rst: :returns: whether the graph models a molecule. See :ref:`mol-enc`. bool getIsMolecule() const; // rst: .. function:: double getEnergy() const // rst: @@ -204,6 +204,9 @@ struct MOD_DECL Graph { // rst: .. function:: std::shared_ptr makePermutation() const // rst: // rst: :returns: a graph isomorphic to this, but with the vertex indices randomly permuted. + // rst: + // rst: .. note: Currently, permuting stereo-information is not supported, and the resulting + // rst: graphs thus have any stereo-information stripped. std::shared_ptr makePermutation() const; // rst: .. function:: void setImage(std::shared_ptr> image) // rst: @@ -266,22 +269,26 @@ struct MOD_DECL Graph { // this is only instantiated when the graph is loaded from an external format std::unique_ptr externalData; public: - // rst: .. function:: static std::shared_ptr fromGMLString(const std::string &data) - // rst: static std::shared_ptr fromGMLFile(const std::string &file) + // rst: .. function:: static std::shared_ptr fromGMLString(const std::string &data, bool printStereoWarnings = true) + // rst: static std::shared_ptr fromGMLFile(const std::string &file, bool printStereoWarnings = true) // rst: + // rst: :param printStereoWarnings: whether to print warnings due to unhandled stereo information. // rst: :returns: a graph created from the given :ref:`GML ` in a string or file. // rst: The graph must be connected. Use :func:`fromGMLStringMulti` or :func:`fromGMLFile` if it is not. // rst: :throws: :class:`InputError` on bad input. - static std::shared_ptr fromGMLString(const std::string &data); - static std::shared_ptr fromGMLFile(const std::string &file); - // rst: .. function:: std::vector> fromGMLStringMulti(const std::string &data) - // rst: std::vector> fromGMLFileMulti(const std::string &file) + static std::shared_ptr fromGMLString(const std::string &data, bool printStereoWarnings = true); + static std::shared_ptr fromGMLFile(const std::string &file, bool printStereoWarnings = true); + // rst: .. function:: std::vector> fromGMLStringMulti(const std::string &data, bool printStereoWarnings = true) + // rst: std::vector> fromGMLFileMulti(const std::string &file, bool printStereoWarnings = true) // rst: + // rst: :param printStereoWarnings: whether to print warnings due to unhandled stereo information. // rst: :returns: a list of graphs, loaded from the given :ref:`GML ` in a string or file. // rst: The graphs are the connected components of the graph specified in the data. // rst: :throws: :class:`InputError` on bad input. - static std::vector> fromGMLStringMulti(const std::string &data); - static std::vector> fromGMLFileMulti(const std::string &file); + static std::vector> + fromGMLStringMulti(const std::string &data, bool printStereoWarnings = true); + static std::vector> + fromGMLFileMulti(const std::string &file, bool printStereoWarnings = true); // =========================================================================== // rst: .. function:: static std::shared_ptr fromDFS(const std::string &graphDFS) // rst: @@ -298,8 +305,9 @@ struct MOD_DECL Graph { // =========================================================================== // rst: .. function:: static std::shared_ptr fromSMILES(const std::string &smiles) // rst: static std::shared_ptr fromSMILES(const std::string &smiles, bool allowAbstract, \ - // rst: SmilesClassPolicy classPolicy) + // rst: SmilesClassPolicy classPolicy, bool printStereoWarnings) // rst: + // rst: :param printStereoWarnings: whether to print warnings due to unhandled stereo information. Defaults to `true`. // rst: :param allowAbstract: whether abstract atoms, e.g., ``*``, are allowed. Defaults to `false`. // rst: :param classPolicy: which policy to use for class labels. Defaults to `SmilesClassPolicy::NoneOnDuplicate`. // rst: :returns: a graph representing a molecule, loaded from the given :ref:`SMILES ` string. @@ -308,10 +316,10 @@ struct MOD_DECL Graph { // rst: :throws: :class:`InputError` if `classPolicy == SmilesClassPolicy::NoneOnDuplicate` and a class label is duplicated. static std::shared_ptr fromSMILES(const std::string &smiles); static std::shared_ptr fromSMILES(const std::string &smiles, bool allowAbstract, - SmilesClassPolicy classPolicy); + SmilesClassPolicy classPolicy, bool printStereoWarnings); // rst: .. function:: static std::vector> fromSMILESMulti(const std::string &smiles) // rst: static std::vector> fromSMILESMulti(const std::string &smiles, bool allowAbstract, \ - // rst: SmilesClassPolicy classPolicy) + // rst: SmilesClassPolicy classPolicy, bool printStereoWarnings) // rst: // rst: See :func:`fromSMILES` for parameter and exception descriptions. // rst: @@ -319,7 +327,7 @@ struct MOD_DECL Graph { // rst: The graphs are the connected components of the graph specified in the SMILES string. static std::vector> fromSMILESMulti(const std::string &smiles); static std::vector> fromSMILESMulti(const std::string &smiles, bool allowAbstract, - SmilesClassPolicy classPolicy); + SmilesClassPolicy classPolicy, bool printStereoWarnings); // =========================================================================== // rst: .. function:: static std::shared_ptr fromMOLString(const std::string &data, const MDLOptions &options) // rst: static std::shared_ptr fromMOLFile(const std::string &file, const MDLOptions &options) @@ -341,14 +349,14 @@ struct MOD_DECL Graph { // rst: .. function:: static std::vector> fromSDString(const std::string &data, const MDLOptions &options) // rst: static std::vector> fromSDFile(const std::string &file, const MDLOptions &options) // rst: - // rst: :returns: a list of graphs graph created from the given :ref:`SD ` data. + // rst: :returns: a list of graphs created from the given :ref:`SD ` data. // rst: :throws: :class:`InputError` on bad input. static std::vector> fromSDString(const std::string &data, const MDLOptions &options); static std::vector> fromSDFile(const std::string &file, const MDLOptions &options); // rst: .. function:: static std::vector>> fromSDStringMulti(const std::string &data, const MDLOptions &options) // rst: static std::vector>> fromSDFileMulti(const std::string &file, const MDLOptions &options) // rst: - // rst: :returns: a list of lists of graphs graph created from the given :ref:`SD ` data. + // rst: :returns: a list of lists of graphs created from the given :ref:`SD ` data. // rst: :throws: :class:`InputError` on bad input. static std::vector>> fromSDStringMulti(const std::string &data, const MDLOptions &options); diff --git a/libs/libmod/src/mod/graph/GraphInterface.hpp b/libs/libmod/src/mod/graph/GraphInterface.hpp index caf8744..c9d0b02 100644 --- a/libs/libmod/src/mod/graph/GraphInterface.hpp +++ b/libs/libmod/src/mod/graph/GraphInterface.hpp @@ -261,7 +261,7 @@ struct Graph::EdgeRange { // Incidence // ----------------------------------------------------------------------------- -// rst-class: graph::Graph::IncidnetEdgeIterator +// rst-class: graph::Graph::IncidentEdgeIterator // rst: // rst: An iterator for traversing all edges in a graph. // rst: It models a forward iterator. diff --git a/libs/libmod/src/mod/graph/Printer.hpp b/libs/libmod/src/mod/graph/Printer.hpp index eb4abd4..5a2cdcb 100644 --- a/libs/libmod/src/mod/graph/Printer.hpp +++ b/libs/libmod/src/mod/graph/Printer.hpp @@ -130,7 +130,7 @@ struct MOD_DECL Printer { // rst: Do not use Open Babel for coordinate generation, but only the Graphviz fallback // rst: during post-processing. // rst: When setting this to `true` consider setting `setSimpleCarbons(false)` to avoid - // rst: misleading depictions due to colinear carbon chains. + // rst: misleading depictions due to collinear carbon chains. void setWithGraphvizCoords(bool value); bool getWithGraphvizCoords() const; public: diff --git a/libs/libmod/src/mod/graph/Union.cpp b/libs/libmod/src/mod/graph/Union.cpp index 1fa5490..a244430 100644 --- a/libs/libmod/src/mod/graph/Union.cpp +++ b/libs/libmod/src/mod/graph/Union.cpp @@ -13,6 +13,7 @@ #include #include #include +#include #include #include @@ -108,6 +109,10 @@ Union::EdgeRange Union::edges() const { return EdgeRange(p); } +void Union::printTermState() const { + lib::Graph::Write::termState(p->g, boost::lexical_cast(*this)); +} + //------------------------------------------------------------------------------ // Vertex //------------------------------------------------------------------------------ diff --git a/libs/libmod/src/mod/graph/Union.hpp b/libs/libmod/src/mod/graph/Union.hpp index 8fe088f..f5b9f30 100644 --- a/libs/libmod/src/mod/graph/Union.hpp +++ b/libs/libmod/src/mod/graph/Union.hpp @@ -96,6 +96,11 @@ struct MOD_DECL Union { // rst: // rst: :returns: a range of all edges in the graph. EdgeRange edges() const; +public: + // rst: .. function:: void printTermState() const + // rst: + // rst: Print the term state for the graph. + void printTermState() const; private: std::shared_ptr p; }; @@ -383,7 +388,7 @@ struct Union::EdgeRange { // Incidence // ----------------------------------------------------------------------------- -// rst-class: graph::Union::IncidnetEdgeIterator +// rst-class: graph::Union::IncidentEdgeIterator // rst: // rst: An iterator for traversing all edges in a union graph. // rst: It models a forward iterator. diff --git a/libs/libmod/src/mod/graph/internal/Graph.cpp b/libs/libmod/src/mod/graph/internal/Graph.cpp index c0006d6..1b8d6c8 100644 --- a/libs/libmod/src/mod/graph/internal/Graph.cpp +++ b/libs/libmod/src/mod/graph/internal/Graph.cpp @@ -6,6 +6,7 @@ #include #include #include +#include namespace mod::graph::internal { @@ -65,7 +66,7 @@ const std::string &getString( return get_string(g)[e]; } -// LabelledUnionGraph +// LabelledUnionGraph // ---------------------------------------------------------------------------- void push_back(lib::LabelledUnionGraph &ug, const lib::Graph::LabelledGraph *g) { diff --git a/libs/libmod/src/mod/graph/internal/Graph.hpp b/libs/libmod/src/mod/graph/internal/Graph.hpp index cfd5001..e4ff337 100644 --- a/libs/libmod/src/mod/graph/internal/Graph.hpp +++ b/libs/libmod/src/mod/graph/internal/Graph.hpp @@ -5,6 +5,7 @@ #include #include #include +#include namespace mod::graph::internal { @@ -23,7 +24,7 @@ MOD_DECL std::shared_ptr makeGraph( MOD_DECL std::string writePDF(const lib::Graph::Single &g, const mod::lib::IO::Graph::Write::Options &options); -// LablledGraph +// LabelledGraph MOD_DECL const lib::Graph::GraphType &getGraph(const lib::Graph::LabelledGraph &g); MOD_DECL const std::string &getString( boost::graph_traits::vertex_descriptor v, @@ -32,7 +33,7 @@ MOD_DECL const std::string &getString( boost::graph_traits::edge_descriptor e, const lib::Graph::LabelledGraph &g); -// LabelledUnionGraph +// LabelledUnionGraph MOD_DECL void push_back(lib::LabelledUnionGraph &ug, const lib::Graph::LabelledGraph *g); MOD_DECL const lib::LabelledUnionGraph::GraphType & diff --git a/libs/libmod/src/mod/lib/Algorithm/MultiDimSelector.hpp b/libs/libmod/src/mod/lib/Algorithm/MultiDimSelector.hpp index 99ff9a6..7001862 100644 --- a/libs/libmod/src/mod/lib/Algorithm/MultiDimSelector.hpp +++ b/libs/libmod/src/mod/lib/Algorithm/MultiDimSelector.hpp @@ -1,6 +1,8 @@ #ifndef MOD_LIB_ALGORITHM_MULTIDIMSELECTOR_HPP #define MOD_LIB_ALGORITHM_MULTIDIMSELECTOR_HPP +#include + namespace mod::lib { template diff --git a/libs/libmod/src/mod/lib/Chem/Smiles.hpp b/libs/libmod/src/mod/lib/Chem/Smiles.hpp index a314fa2..6337cb3 100644 --- a/libs/libmod/src/mod/lib/Chem/Smiles.hpp +++ b/libs/libmod/src/mod/lib/Chem/Smiles.hpp @@ -20,7 +20,8 @@ namespace mod::lib::Chem { std::string getSmiles(const lib::Graph::GraphType &g, const lib::Graph::PropMolecule &molState, const std::vector *ranks, bool withIds); lib::IO::Result> -readSmiles(lib::IO::Warnings &warnings, std::string_view smiles, bool allowAbstract, SmilesClassPolicy classPolicy); +readSmiles(lib::IO::Warnings &warnings, bool printStereoWarnings, + std::string_view smiles, bool allowAbstract, SmilesClassPolicy classPolicy); const std::vector &getSmilesOrganicSubset(); bool isInSmilesOrganicSubset(AtomId atomId); void addImplicitHydrogens(lib::Graph::GraphType &g, lib::Graph::PropString &pString, lib::Graph::Vertex v, diff --git a/libs/libmod/src/mod/lib/Chem/SmilesRead.cpp b/libs/libmod/src/mod/lib/Chem/SmilesRead.cpp index 08f8486..03b5f09 100644 --- a/libs/libmod/src/mod/lib/Chem/SmilesRead.cpp +++ b/libs/libmod/src/mod/lib/Chem/SmilesRead.cpp @@ -166,7 +166,7 @@ struct ChainTail { int dummy; public: friend std::ostream &operator<<(std::ostream &s, const ChainTail &ct) { - for(auto &&e : ct.elements) s << e; + for(auto &&e: ct.elements) s << e; return s; } }; @@ -193,8 +193,8 @@ struct BranchedAtom { public: friend std::ostream &operator<<(std::ostream &s, const BranchedAtom &ba) { s << ba.atom; - for(const auto &rb : ba.ringBonds) s << rb; - for(const auto &b : ba.branches) s << '(' << b << ')'; + for(const auto &rb: ba.ringBonds) s << rb; + for(const auto &b: ba.branches) s << '(' << b << ')'; return s; } @@ -219,7 +219,7 @@ namespace parser { struct BondSymbol : x3::symbols { BondSymbol() { name("bondSymbol"); - for(char c :{'-', '=', '#', '$', ':', '/', '\\'}) + for(char c: {'-', '=', '#', '$', ':', '/', '\\'}) add(std::string(1, c), c); } } bondSymbol; @@ -227,9 +227,9 @@ struct BondSymbol : x3::symbols { struct ShorthandSymbol : x3::symbols { ShorthandSymbol() { name("aliphaticOrganic|aromaticOrganic|wildcardSymbol"); - for(auto atomId : getSmilesOrganicSubset()) + for(auto atomId: getSmilesOrganicSubset()) add(symbolFromAtomId(atomId), symbolFromAtomId(atomId)); - for(std::string str :{"b", "c", "n", "o", "s", "p"}) + for(std::string str: {"b", "c", "n", "o", "s", "p"}) add(str, str); add("*", std::string("*")); } @@ -246,14 +246,14 @@ struct ElementSymbol : x3::symbols { struct AromaticSymbol : x3::symbols { AromaticSymbol() { name("aromaticSymbol"); - for(std::string str :{"b", "c", "n", "o", "p", "s", "se", "as"}) add(str, str); + for(std::string str: {"b", "c", "n", "o", "p", "s", "se", "as"}) add(str, str); } } aromaticSymbol; struct ChiralSymbl : x3::symbols { ChiralSymbl() { name("chiralSymbol"); - for(std::string str :{"@", "@@", "@TH1", "@TH2", "@AL1", "@AL2", "@SP1", "@SP2", "@SP3"}) + for(std::string str: {"@", "@@", "@TH1", "@TH2", "@AL1", "@AL2", "@SP1", "@SP2", "@SP3"}) add(str, Chiral::makeSimple(str)); for(unsigned int i = 1; i < 20; i++) add("@TB" + boost::lexical_cast(i), Chiral::makeTB(i)); @@ -364,7 +364,7 @@ struct RingResolver { } lib::IO::Result<> operator()(ChainTail &ct, Atom &parent) { - for(BondBranchedAtomPair &bba : ct.elements) { + for(BondBranchedAtomPair &bba: ct.elements) { auto res = (*this)(bba.atom.get()); if(!res) return res; } @@ -372,7 +372,7 @@ struct RingResolver { } lib::IO::Result<> operator()(BranchedAtom &bAtom) { - for(auto &rb : bAtom.ringBonds) { + for(auto &rb: bAtom.ringBonds) { const auto iter = openRings.find(rb.ringId); if(iter == end(openRings)) { openRings.insert(std::make_pair(rb.ringId, std::make_pair(&bAtom.atom, &rb))); @@ -392,12 +392,13 @@ struct RingResolver { } } - for(auto &b : bAtom.branches) { + for(auto &b: bAtom.branches) { auto res = (*this)(b, bAtom.atom); if(!res) return res; } return lib::IO::Result<>(); } + public: std::map> openRings; }; @@ -413,13 +414,14 @@ Vertex addHydrogen(lib::Graph::GraphType &g, lib::Graph::PropString &pString, Ve lib::IO::Result<> addBond(lib::IO::Warnings &warnings, lib::Graph::GraphType &g, lib::Graph::PropString &pString, Atom &p, Atom &v, - char bond, Edge &e) { + char bond, Edge &e, + const bool printStereoWarnings) { std::string edgeLabel; switch(bond) { case '/': // note: fall-through to make / and \ implicit case '\\': warnings.add("up/down bonds are not supported, converted to '-' instead.", - getConfig().graph.printSmilesParsingWarnings.get()); + printStereoWarnings); [[fallthrough]]; case 0: if(p.isAromatic && v.isAromatic) edgeLabel += ':'; @@ -457,13 +459,13 @@ struct AssignConnectedComponentID { } void operator()(ChainTail &ct) { - for(auto &bap : ct.elements) + for(auto &bap: ct.elements) (*this)(bap.atom.get()); } void operator()(BranchedAtom &bAtom) { (*this)(bAtom.atom); - for(auto &b : bAtom.branches) + for(auto &b: bAtom.branches) (*this)(b); } @@ -471,6 +473,7 @@ struct AssignConnectedComponentID { a.connectedComponentID = nextID; ++nextID; } + public: int nextID = 0; }; @@ -485,7 +488,7 @@ struct JoinConnected { void operator()(const ChainTail &ct, const Atom &parent) { auto *parentPtr = &parent; - for(const BondBranchedAtomPair &bba : ct.elements) { + for(const BondBranchedAtomPair &bba: ct.elements) { (*this)(bba, *parentPtr); parentPtr = &bba.atom.get().atom; } @@ -498,19 +501,21 @@ struct JoinConnected { } void operator()(const BranchedAtom &bAtom) { - for(const auto &rb : bAtom.ringBonds) { + for(const auto &rb: bAtom.ringBonds) { if(!rb.otherAtom) continue; if(rb.bond != '.') join(*rb.otherAtom, bAtom.atom); } - for(auto &b : bAtom.branches) + for(auto &b: bAtom.branches) (*this)(b, bAtom.atom); } + private: void join(const Atom &a, const Atom &b) { components.join(a.connectedComponentID, b.connectedComponentID); } + public: ConnectedComponents &components; }; @@ -519,8 +524,10 @@ struct Converter { Converter(std::vector> &gPtrs, std::vector> &pStringPtrs, const ConnectedComponents &components, - lib::IO::Warnings &warnings, bool allowAbstract) + lib::IO::Warnings &warnings, bool printStereoWarnings, + bool allowAbstract) : gPtrs(gPtrs), pStringPtrs(pStringPtrs), components(components), warnings(warnings), + printStereoWarnings(printStereoWarnings), allowAbstract(allowAbstract) {} lib::IO::Result<> operator()(SmilesChain &c) { @@ -530,7 +537,7 @@ struct Converter { lib::IO::Result<> operator()(ChainTail &ct, Atom &parent) { auto *parentPtr = &parent; - for(BondBranchedAtomPair &bba : ct.elements) { + for(BondBranchedAtomPair &bba: ct.elements) { if(auto res = (*this)(bba, *parentPtr); !res) return res; parentPtr = &bba.atom.get().atom; } @@ -543,14 +550,16 @@ struct Converter { assert(components[bba.atom.get().atom.connectedComponentID] == components[parent.connectedComponentID]); const auto comp = components[parent.connectedComponentID]; - auto res = addBond(warnings, *gPtrs[comp], *pStringPtrs[comp], parent, bba.atom.get().atom, bba.bond, bba.edge); + auto res = addBond(warnings, *gPtrs[comp], *pStringPtrs[comp], + parent, bba.atom.get().atom, bba.bond, bba.edge, + printStereoWarnings); return res; } lib::IO::Result<> operator()(BranchedAtom &bAtom) { if(auto res = (*this)(bAtom.atom); !res) return res; // process ring bonds - for(auto &rb : bAtom.ringBonds) { + for(auto &rb: bAtom.ringBonds) { if(!rb.otherAtom) continue; // link ring bond from the other side assert(rb.otherRingBond); assert(rb.bond != '.'); @@ -558,13 +567,14 @@ struct Converter { == components[bAtom.atom.connectedComponentID]); const auto comp = components[rb.otherAtom->connectedComponentID]; if(auto res = addBond(warnings, *gPtrs[comp], *pStringPtrs[comp], - *rb.otherAtom, bAtom.atom, rb.bond, rb.edge); + *rb.otherAtom, bAtom.atom, rb.bond, rb.edge, + printStereoWarnings); !res) return res; rb.otherRingBond->edge = rb.edge; } - for(auto &b : bAtom.branches) + for(auto &b: bAtom.branches) if(auto res = (*this)(b, bAtom.atom); !res) return res; return {}; } @@ -656,11 +666,13 @@ struct Converter { if(!ch.specifier.empty()) hasStereo = true; } + private: std::vector> &gPtrs; std::vector> &pStringPtrs; const ConnectedComponents &components; lib::IO::Warnings &warnings; + const bool printStereoWarnings; public: std::multimap> classToVertexId; bool hasStereo = false; @@ -680,13 +692,13 @@ struct ExplicitHydrogenAdder { } void operator()(ChainTail &ct) { - for(auto &&bba : ct.elements) + for(auto &&bba: ct.elements) (*this)(bba.atom.get()); } void operator()(BranchedAtom &bAtom) { (*this)(bAtom.atom); - for(auto &b : bAtom.branches) (*this)(b); + for(auto &b: bAtom.branches) (*this)(b); } void operator()(Atom &a) { @@ -698,6 +710,7 @@ struct ExplicitHydrogenAdder { } } } + private: std::vector> &gPtrs; std::vector> &pStringPtrs; @@ -716,13 +729,13 @@ struct ImplicitHydrogenAdder { } void operator()(ChainTail &ct) { - for(auto &&bba : ct.elements) + for(auto &&bba: ct.elements) (*this)(bba.atom.get()); } void operator()(BranchedAtom &bAtom) { (*this)(bAtom.atom); - for(auto &b : bAtom.branches) (*this)(b); + for(auto &b: bAtom.branches) (*this)(b); } void operator()(Atom &a) { @@ -732,6 +745,7 @@ struct ImplicitHydrogenAdder { addImplicitHydrogens(*gPtrs[comp], *pStringPtrs[comp], a.vertex, a.atomId, &addHydrogen); } } + private: std::vector> &gPtrs; std::vector> &pStringPtrs; @@ -742,8 +756,10 @@ struct StereoConverter { StereoConverter(std::vector> &gPtrs, const std::vector &pMols, const ConnectedComponents &components, - lib::IO::Warnings &warnings) - : gPtrs(gPtrs), pMols(pMols), components(components), warnings(warnings), + lib::IO::Warnings &warnings, + bool printStereoWarnings) + : gPtrs(gPtrs), pMols(pMols), components(components), + warnings(warnings), printStereoWarnings(printStereoWarnings), hasAssigned(gPtrs.size(), false) { infs.reserve(gPtrs.size()); for(int i = 0; i != gPtrs.size(); ++i) @@ -775,27 +791,21 @@ struct StereoConverter { if(!bAtom.atom.isImplicit) { const auto &ch = bAtom.atom.chiral; if(!ch.specifier.empty()) { - if(getConfig().graph.ignoreStereoInSmiles.get()) { - warnings.add("Ignoring stereochemical information (" + if(ch.specifier == "@" || ch.specifier == "@@") { + if(auto res = assignTetrahedral(ch.specifier, bAtom, prev, next); !res) return res; + } else { // not @ or @@ + warnings.add("Stereochemical information (" + boost::lexical_cast(ch) - + ") in SMILES, requested by user.", - getConfig().graph.printSmilesParsingWarnings.get()); - } else { - if(ch.specifier == "@" || ch.specifier == "@@") { - if(auto res = assignTetrahedral(ch.specifier, bAtom, prev, next); !res) return res; - } else { // not @ or @@ - warnings.add("Stereochemical information (" - + boost::lexical_cast(ch) - + ") in SMILES string not handled.", - getConfig().graph.printSmilesParsingWarnings.get()); - } + + ") in SMILES string not handled.", + printStereoWarnings); } } } - for(auto &b : bAtom.branches) + for(auto &b: bAtom.branches) if(auto res = (*this)(b, bAtom.atom); !res) return res; return {}; } + private: lib::IO::Result<> assignTetrahedral(const std::string &winding, const BranchedAtom &bAtom, const Atom *prev, const Atom *next) { @@ -807,7 +817,7 @@ struct StereoConverter { warnings.add("Ignoring stereo information in SMILES. Can not add tetrahedral geometry to vertex (" + boost::lexical_cast(bAtom.atom) + ") with degree " + std::to_string(oes.size()) + ". Must be 4.", - getConfig().graph.printSmilesParsingWarnings.get()); + printStereoWarnings); return {}; } std::vector used(oes.size(), false); @@ -824,17 +834,17 @@ struct StereoConverter { // first the previous atom if(prev) addNeighbour(prev->vertex); // ring closures - for(const auto &rb : bAtom.ringBonds) { + for(const auto &rb: bAtom.ringBonds) { const auto vSrc = source(rb.edge, g); const auto vTar = target(rb.edge, g); assert(vSrc != vTar); addNeighbour(vSrc == v ? vTar : vSrc); } // hydrogens from atom property - for(const auto &vH : bAtom.atom.hydrogens) + for(const auto &vH: bAtom.atom.hydrogens) addNeighbour(vH); // now add all branches - for(const ChainTail &ct : bAtom.branches) { + for(const ChainTail &ct: bAtom.branches) { const auto vBranch = ct.elements.front().atom.get().atom.vertex; addNeighbour(vBranch); } @@ -850,21 +860,24 @@ struct StereoConverter { inf.fixSimpleGeometry(v); if(winding == "@@" && !edgesToAdd.empty()) std::reverse(edgesToAdd.begin() + 1, edgesToAdd.end()); - for(const auto &e : edgesToAdd) inf.addEdge(v, e); + for(const auto &e: edgesToAdd) inf.addEdge(v, e); return {}; } + public: std::vector> &gPtrs; const std::vector &pMols; const ConnectedComponents &components; lib::IO::Warnings &warnings; + const bool printStereoWarnings; public: std::vector> infs; std::vector hasAssigned; }; lib::IO::Result> -parseSmiles(lib::IO::Warnings &warnings, std::string_view smiles, const bool allowAbstract, +parseSmiles(lib::IO::Warnings &warnings, const bool printStereoWarnings, + std::string_view smiles, const bool allowAbstract, SmilesClassPolicy classPolicy) { SmilesChain ast; try { @@ -878,12 +891,12 @@ parseSmiles(lib::IO::Warnings &warnings, std::string_view smiles, const bool all if(smiles != astStr.str()) { std::cout << "Converting: >>>" << smiles << "<<< " << smiles.size() << std::endl; std::cout << "Ast: >>>" << astStr.str() << "<<< " << astStr.str().size() << std::endl; - for(auto c : smiles) { + for(auto c: smiles) { if(std::isprint(c)) std::cout << c << ' '; else std::cout << int(c) << ' '; } std::cout << std::endl; - for(auto c : astStr.str()) { + for(auto c: astStr.str()) { if(std::isprint(c)) std::cout << c << ' '; else std::cout << int(c) << ' '; } @@ -923,7 +936,7 @@ parseSmiles(lib::IO::Warnings &warnings, std::string_view smiles, const bool all gPtrs[i] = std::make_unique(); pStringPtrs[i] = std::make_unique(*gPtrs[i]); } - Converter conv(gPtrs, pStringPtrs, components, warnings, allowAbstract); + Converter conv(gPtrs, pStringPtrs, components, warnings, printStereoWarnings, allowAbstract); if(auto res = conv(ast); !res) return res; (ExplicitHydrogenAdder(gPtrs, pStringPtrs, components))(ast); (ImplicitHydrogenAdder(gPtrs, pStringPtrs, components)(ast)); @@ -952,13 +965,13 @@ parseSmiles(lib::IO::Warnings &warnings, std::string_view smiles, const bool all } if(assignExternalIds) { if(classPolicy == SmilesClassPolicy::MapUnique) { - for(auto &&vp : conv.classToVertexId) { + for(auto &&vp: conv.classToVertexId) { if(conv.classToVertexId.count(vp.first) > 1) continue; datas[vp.second.first].externalToInternalIds[vp.first] = get(boost::vertex_index_t(), *gPtrs[vp.second.first], vp.second.second); } } else { - for(auto &&vp : conv.classToVertexId) { + for(auto &&vp: conv.classToVertexId) { datas[vp.second.first].externalToInternalIds[vp.first] = get(boost::vertex_index_t(), *gPtrs[vp.second.first], vp.second.second); } @@ -969,16 +982,13 @@ parseSmiles(lib::IO::Warnings &warnings, std::string_view smiles, const bool all std::vector pMols; for(int i = 0; i != numComponents; ++i) pMols.emplace_back(*gPtrs[i], *pStringPtrs[i]); - StereoConverter stereoConv(gPtrs, pMols, components, warnings); + StereoConverter stereoConv(gPtrs, pMols, components, warnings, printStereoWarnings); if(auto res = stereoConv(ast); !res) return res; for(int i = 0; i != numComponents; ++i) { if(stereoConv.hasAssigned[i]) { - lib::IO::Warnings deductionWarnings; - auto deductionResult = stereoConv.infs[i].finalize(deductionWarnings, [&](auto v) { + auto deductionResult = stereoConv.infs[i].finalize(warnings, printStereoWarnings, [&](auto v) { return std::to_string(get(boost::vertex_index_t(), *gPtrs[i], v)); }); - warnings.addFrom(std::move(deductionWarnings), - !getConfig().stereo.silenceDeductionWarnings.get()); if(!deductionResult) return deductionResult; datas[i].pStereo = std::make_unique(*gPtrs[i], std::move(stereoConv.infs[i])); } @@ -997,9 +1007,11 @@ parseSmiles(lib::IO::Warnings &warnings, std::string_view smiles, const bool all namespace mod::lib::Chem { lib::IO::Result> -readSmiles(lib::IO::Warnings &warnings, std::string_view src, const bool allowAbstract, +readSmiles(lib::IO::Warnings &warnings, bool printStereoWarnings, + std::string_view src, const bool allowAbstract, SmilesClassPolicy classPolicy) { - return Smiles::parseSmiles(warnings, src, allowAbstract, classPolicy); + return Smiles::parseSmiles(warnings, printStereoWarnings, + src, allowAbstract, classPolicy); } } // namespace mod::lib::Chem diff --git a/libs/libmod/src/mod/lib/DG/Dump.cpp b/libs/libmod/src/mod/lib/DG/Dump.cpp index 52145b7..8cc7e78 100644 --- a/libs/libmod/src/mod/lib/DG/Dump.cpp +++ b/libs/libmod/src/mod/lib/DG/Dump.cpp @@ -42,10 +42,10 @@ struct ConstructionData { }; struct NonHyperDump : public NonHyper { - NonHyperDump(const std::vector > &graphs, + NonHyperDump(const std::vector> &graphs, ConstructionData &&constructionData) : NonHyper({LabelType::String, LabelRelation::Isomorphism}, graphs, IsomorphismPolicy::Check) { - calculatePrologue(); + calculatePrologue(nullptr, nullptr); constexpr bool printInfo = true; const std::vector > &rules = constructionData.rules; auto &vertices = constructionData.vertices; diff --git a/libs/libmod/src/mod/lib/DG/Hyper.cpp b/libs/libmod/src/mod/lib/DG/Hyper.cpp index 0300827..07276b8 100644 --- a/libs/libmod/src/mod/lib/DG/Hyper.cpp +++ b/libs/libmod/src/mod/lib/DG/Hyper.cpp @@ -2,6 +2,7 @@ #include #include +#include #include #include #include @@ -19,15 +20,21 @@ namespace mod::lib::DG { // HyperCreator //------------------------------------------------------------------------------ -HyperCreator::HyperCreator(Hyper &hyper) : owner(&hyper) {} +HyperCreator::HyperCreator(Hyper &hyper, + std::shared_ptr> onNewVertex, + std::shared_ptr> onNewHyperEdge) + : owner(&hyper), onNewVertex(onNewVertex), onNewHyperEdge(onNewHyperEdge) {} -HyperCreator::HyperCreator(HyperCreator &&other) : owner(other.owner) { +HyperCreator::HyperCreator(HyperCreator &&other) + : owner(other.owner), onNewVertex(std::move(other.onNewVertex)), onNewHyperEdge(std::move(other.onNewHyperEdge)) { other.owner = nullptr; } HyperCreator &HyperCreator::operator=(HyperCreator &&other) { if(&other == this) return *this; std::swap(owner, other.owner); + std::swap(onNewVertex, other.onNewVertex); + std::swap(onNewHyperEdge, other.onNewHyperEdge); return *this; } @@ -37,7 +44,8 @@ HyperCreator::~HyperCreator() { void HyperCreator::addVertex(const lib::Graph::Single *g) { assert(owner); - owner->addVertex(g); + const auto[v, isNew] = owner->addVertex(g); + if(isNew && onNewVertex) (*onNewVertex)(owner->getInterfaceVertex(v)); } HyperVertex HyperCreator::addEdge(NonHyper::Edge eNon) { @@ -51,18 +59,19 @@ HyperVertex HyperCreator::addEdge(NonHyper::Edge eNon) { hyper[v].edge = eNon; { // source edges - for(const lib::Graph::Single *g : dg[vSrcNon].graphs) { + for(const lib::Graph::Single *g: dg[vSrcNon].graphs) { Hyper::Vertex vSrc = owner->getVertexFromGraph(g); add_edge(vSrc, v, hyper); } } { // target edges - for(const lib::Graph::Single *g : dg[vTarNon].graphs) { + for(const lib::Graph::Single *g: dg[vTarNon].graphs) { Hyper::Vertex vTar = owner->getVertexFromGraph(g); add_edge(v, vTar, hyper); } } + if(onNewHyperEdge) (*onNewHyperEdge)(owner->getInterfaceEdge(v)); return v; } @@ -73,10 +82,13 @@ HyperVertex HyperCreator::addEdge(NonHyper::Edge eNon) { Hyper::Hyper(const NonHyper &dg) : hasCalculated(false), nonHyper(dg) { } -std::pair, HyperCreator> Hyper::makeHyper(const NonHyper &dg) { +std::pair, HyperCreator> Hyper::makeHyper( + const NonHyper &dg, + std::shared_ptr> onNewVertex, + std::shared_ptr> onNewHyperEdge) { auto hyper = std::unique_ptr(new Hyper(dg)); auto &hyperRef = *hyper; - return std::make_pair(std::move(hyper), HyperCreator(hyperRef)); + return std::make_pair(std::move(hyper), HyperCreator(hyperRef, onNewVertex, onNewHyperEdge)); } //Hyper::Hyper(const NonHyper &dgClass, int dummy) @@ -142,16 +154,19 @@ std::pair, HyperCreator> Hyper::makeHyper(const NonHyper // } //} -void Hyper::addVertex(const lib::Graph::Single *g) { +std::pair Hyper::addVertex(const lib::Graph::Single *g) { { // sanity check assert(nonHyper.getGraphDatabase().contains(g->getAPIReference())); } - std::map::iterator idIter = graphToHyperVertex.find(g); - if(idIter == graphToHyperVertex.end()) { // create the vertex + const auto iter = graphToHyperVertex.find(g); + if(iter == graphToHyperVertex.end()) { // create the vertex Vertex vNew = add_vertex(hyper); hyper[vNew].kind = HyperVertexKind::Vertex; hyper[vNew].graph = g; graphToHyperVertex[g] = vNew; + return {vNew, true}; + } else { + return {iter->second, false}; } } @@ -179,7 +194,7 @@ void Hyper::printStats(std::ostream &s) const { unsigned int numUniqueInOnlyReverse = 0, numUniqueOutOnlyReverse = 0; unsigned int projectedNumTransitCollapseNonReverse = 0; - for(Vertex v : asRange(vertices(hyper))) { + for(Vertex v: asRange(vertices(hyper))) { if(hyper[v].kind != HyperVertexKind::Vertex) { numEdges++; if(getReverseEdge(v) != hyper.null_vertex()) numEdgePairs++; @@ -190,15 +205,15 @@ void Hyper::printStats(std::ostream &s) const { countNumIn[in_degree(v, hyper)]++; numOut += out_degree(v, hyper); countNumOut[out_degree(v, hyper)]++; - for(Edge e : asRange(out_edges(v, hyper))) + for(Edge e: asRange(out_edges(v, hyper))) if(getReverseEdge(target(e, hyper)) != hyper.null_vertex()) numReverse++; unsigned int numInReverse = 0; - for(Edge e : asRange(in_edges(v, hyper))) + for(Edge e: asRange(in_edges(v, hyper))) if(getReverseEdge(source(e, hyper)) != hyper.null_vertex()) numInReverse++; unsigned int numOutReverse = 0; - for(Edge e : asRange(out_edges(v, hyper))) + for(Edge e: asRange(out_edges(v, hyper))) if(getReverseEdge(target(e, hyper)) != hyper.null_vertex()) numOutReverse++; if(in_degree(v, hyper) > 0) { @@ -223,10 +238,10 @@ void Hyper::printStats(std::ostream &s) const { unsigned int localNumUniqueInOnlyReverse = 1; // +1 from the virtual input/output edges unsigned int localNumUniqueOutOnlyReverse = 1; - for(Vertex eIn : asRange(inv_adjacent_vertices(v, hyper))) { + for(Vertex eIn: asRange(inv_adjacent_vertices(v, hyper))) { if(getReverseEdge(eIn) != hyper.null_vertex()) localNumUniqueInOnlyReverse++; } - for(Vertex eOut : asRange(adjacent_vertices(v, hyper))) { + for(Vertex eOut: asRange(adjacent_vertices(v, hyper))) { if(getReverseEdge(eOut) != hyper.null_vertex()) localNumUniqueOutOnlyReverse++; } assert(localNumUniqueInOnlyReverse == localNumUniqueOutOnlyReverse); // right? @@ -243,7 +258,7 @@ void Hyper::printStats(std::ostream &s) const { uniqueIn.size() * uniqueOut.size() - localNumUniqueInOnlyReverse; // we subtract these because they would be zero-constrained anyway - // we add 1 because the catch all would also make a sub-vertex + // we add 1 because the catch-all would also make a sub-vertex projectedNumTransitCollapseNonReverse += (localNumUniqueInOnlyReverse + 1) * (localNumUniqueOutOnlyReverse + 1) - localNumUniqueInOnlyReverse; // we subtract these because they would be zero-constrained anyway @@ -264,10 +279,10 @@ void Hyper::printStats(std::ostream &s) const { s << "pairs/edge:\t" << (numEdgePairs / ((double) numEdges)) << std::endl; s << "------------------------------------------------------------------" << std::endl; s << "numIn histogram:" << std::endl; - for(const auto &p : countNumIn) s << p.first << "\t" << p.second << std::endl; + for(const auto &p: countNumIn) s << p.first << "\t" << p.second << std::endl; s << "------------------------------------------------------------------" << std::endl; s << "numOut histogram:" << std::endl; - for(const auto &p : countNumIn) s << p.first << "\t" << p.second << std::endl; + for(const auto &p: countNumIn) s << p.first << "\t" << p.second << std::endl; s << "------------------------------------------------------------------" << std::endl; s << "avgInReverseRatio\t" << avgInReverseRatio << std::endl; s << "avgInReverseRatioWithVirtual\t" << avgInReverseRatioWithVirtual << std::endl; @@ -352,12 +367,12 @@ mod::Derivation Hyper::getDerivation(Vertex v) const { assert(v != hyper.null_vertex()); assert(hyper[v].kind == HyperVertexKind::Edge); Derivation d; - for(Vertex vIn : asRange(inv_adjacent_vertices(v, hyper))) + for(Vertex vIn: asRange(inv_adjacent_vertices(v, hyper))) d.left.push_back(hyper[vIn].graph->getAPIReference()); const auto &rules = getRulesFromEdge(v); if(!rules.empty()) d.r = rules.front()->getAPIReference(); - for(Vertex vOut : asRange(adjacent_vertices(v, hyper))) + for(Vertex vOut: asRange(adjacent_vertices(v, hyper))) d.right.push_back(hyper[vOut].graph->getAPIReference()); return d; } diff --git a/libs/libmod/src/mod/lib/DG/Hyper.hpp b/libs/libmod/src/mod/lib/DG/Hyper.hpp index 919a6e4..5ca43e3 100644 --- a/libs/libmod/src/mod/lib/DG/Hyper.hpp +++ b/libs/libmod/src/mod/lib/DG/Hyper.hpp @@ -22,7 +22,9 @@ struct HyperCreator { friend struct Hyper; private: HyperCreator() = default; - explicit HyperCreator(Hyper &hyper); + explicit HyperCreator(Hyper &hyper, + std::shared_ptr> onNewVertex, + std::shared_ptr> onNewHyperEdge); public: HyperCreator(HyperCreator &&other); HyperCreator &operator=(HyperCreator &&other); @@ -31,6 +33,8 @@ struct HyperCreator { HyperVertex addEdge(NonHyper::Edge eNon); private: Hyper *owner = nullptr; + std::shared_ptr> onNewVertex; + std::shared_ptr> onNewHyperEdge; }; struct Hyper { @@ -45,10 +49,14 @@ struct Hyper { friend struct HyperCreator; Hyper(const NonHyper &dg); public: - static std::pair, HyperCreator> makeHyper(const NonHyper &dg); + static std::pair, HyperCreator> makeHyper( + const NonHyper &dg, + std::shared_ptr> onNewVertex, + std::shared_ptr> onNewHyperEdge); // Hyper(const NonHyper &dg, int dummy); private: - void addVertex(const lib::Graph::Single *g); + // the vertex, isNew + std::pair addVertex(const lib::Graph::Single *g); public: ~Hyper(); const NonHyper &getNonHyper() const; diff --git a/libs/libmod/src/mod/lib/DG/IO/Read.cpp b/libs/libmod/src/mod/lib/DG/IO/Read.cpp index b6534e5..ac107bc 100644 --- a/libs/libmod/src/mod/lib/DG/IO/Read.cpp +++ b/libs/libmod/src/mod/lib/DG/IO/Read.cpp @@ -134,7 +134,7 @@ std::unique_ptr dump(const std::vector> LabelSettings labelSettings = from_json(j["labelSettings"]); auto dgInternal = std::make_unique(labelSettings, graphDatabase, graphPolicy); { // construction - auto b = dgInternal->build(); + auto b = dgInternal->build(nullptr, nullptr); auto res = b.trustLoadDump(std::move(j), ruleDatabase, err, verbosity); if(!res) return {}; } diff --git a/libs/libmod/src/mod/lib/DG/IO/Write.cpp b/libs/libmod/src/mod/lib/DG/IO/Write.cpp index bc23486..f479d4b 100644 --- a/libs/libmod/src/mod/lib/DG/IO/Write.cpp +++ b/libs/libmod/src/mod/lib/DG/IO/Write.cpp @@ -165,9 +165,9 @@ void TikzPrinter::comment(const std::string &str) { } void TikzPrinter::vertex(const std::string &id, - const std::string &label, - const std::string &image, - const std::string &colour) { + const std::string &label, + const std::string &image, + const std::string &colour) { bool haveLabel = label != ""; bool haveImage = image != ""; s << "\\node[modStyleDGHyperVertex, at=(v-coord-" << id << ")"; @@ -187,22 +187,22 @@ void TikzPrinter::vertex(const std::string &id, else s << IO::escapeForLatex(label); s << "}"; } - s << "};" << std::endl; + s << "};\n"; } void TikzPrinter::vertexHidden(const std::string &id, bool large) { s << "\\node[modStyleDGHyperVertexHidden"; if(large) s << "Large"; - s << ", at=(v-coord-" << id << ")] (v-" << id << ") {};" << std::endl; + s << ", at=(v-coord-" << id << ")] (v-" << id << ") {};\n"; } void TikzPrinter::transitVertex(const std::string &idHost, - const std::string &idTransit, - const std::string &angle, - const std::string &label) { + const std::string &idTransit, + const std::string &angle, + const std::string &label) { s << "\\node[modStyleDGTransitVertex, at=(v-" << idHost << "." << angle << ")"; if(!label.empty()) s << ", label=" << angle << ":{" << label << "}"; - s << "] (v-" << idTransit << ") {};" << std::endl; + s << "] (v-" << idTransit << ") {};\n"; } void TikzPrinter::hyperEdge(const std::string &id, const std::string &label, const std::string &colour) { @@ -213,46 +213,46 @@ void TikzPrinter::hyperEdge(const std::string &id, const std::string &label, con if(options.labelsAsLatexMath) s << IO::asLatexMath(label); else s << IO::escapeForLatex(label); } - s << "};" << std::endl; + s << "};\n"; } void TikzPrinter::connector(const std::string &idTail, - const std::string &idHead, - const std::string &colour, - int num, int maxNum) { + const std::string &idHead, + const std::string &colour, + int num, int maxNum) { if(maxNum > 1) { s << "\\pgfmathparse{"; int position = num - maxNum / 2 - 1; s << position << "*\\modDGHyperConnectorBend"; if(maxNum % 2 == 0) s << " + 0.5*\\modDGHyperConnectorBend"; - s << "}" << std::endl << "\\pgfmathsetmacro{\\modDGHyperConnectorResultAngle}{\\pgfmathresult}" << std::endl; + s << "}\n\\pgfmathsetmacro{\\modDGHyperConnectorResultAngle}{\\pgfmathresult}\n"; } s << "\\path[modStyleDGHyperConnector"; if(!colour.empty()) s << ", draw=" << colour; s << "] (v-" << idTail << ") to"; if(maxNum > 1) s << "[bend right=\\modDGHyperConnectorResultAngle]"; - s << " (v-" << idHead << ");" << std::endl; + s << " (v-" << idHead << ");\n"; } void TikzPrinter::tailConnector(const std::string &idVertex, - const std::string &idHyperEdge, - const std::string &colour, - int num, int maxNum) { + const std::string &idHyperEdge, + const std::string &colour, + int num, int maxNum) { connector(idVertex, idHyperEdge, colour, num, maxNum); } void TikzPrinter::headConnector(const std::string &idHyperEdge, - const std::string &idVertex, - const std::string &colour, - int num, int maxNum) { + const std::string &idVertex, + const std::string &colour, + int num, int maxNum) { connector(idHyperEdge, idVertex, colour, num, maxNum); } void TikzPrinter::shortcutEdge(const std::string &idTail, - const std::string &idHead, - const std::string &label, - const std::string &colour, - bool hasReverse) { + const std::string &idHead, + const std::string &label, + const std::string &colour, + bool hasReverse) { s << "\\path[modStyleDGHyperConnector"; if(!colour.empty()) s << ", draw=" << colour; s << "] (v-" << idTail << ") to"; @@ -262,13 +262,13 @@ void TikzPrinter::shortcutEdge(const std::string &idTail, if(options.labelsAsLatexMath) s << IO::asLatexMath(label); else s << IO::escapeForLatex(label); } - s << "} (v-" << idHead << ");" << std::endl; + s << "} (v-" << idHead << ");\n"; } void TikzPrinter::transitEdge(const std::string &idTail, - const std::string &idHead, - const std::string &label, - const std::string &colour) { + const std::string &idHead, + const std::string &label, + const std::string &colour) { s << "\\path[modStyleDGHyperConnector"; if(!colour.empty()) s << ", draw=" << colour; s << "] (v-" << idTail << ") to"; @@ -277,14 +277,14 @@ void TikzPrinter::transitEdge(const std::string &idTail, if(options.labelsAsLatexMath) s << IO::asLatexMath(label); else s << IO::escapeForLatex(label); } - s << "} (v-" << idHead << ");" << std::endl; + s << "} (v-" << idHead << ");\n"; } std::function TikzPrinter::getImageCreator() { return [this](const Hyper &dg, HyperVertex v, Options::DupVertex vDup, const std::string &id) -> std::string { if(this->options.imageOverwrite) { - auto[file, cmd] = this->options.imageOverwrite(v, options.dupGraph[vDup].dupNum, dg); + auto [file, cmd] = this->options.imageOverwrite(v, options.dupGraph[vDup].dupNum, dg); if(!file.empty()) { if(!cmd.empty()) lib::IO::post() << cmd << '\n'; return file; @@ -345,14 +345,14 @@ std::pair Options::outDegreeVisible(DupVertex e, const } bool Options::isShortcutEdge(DupVertex e, - const Hyper &dg, - int inDegreeVisible, - int outDegreeVisible) const { + const Hyper &dg, + int inDegreeVisible, + int outDegreeVisible) const { const auto &g = dg.getGraph(); Vertex v = dupGraph[e].v; return (withShortcutEdges && in_degree(v, g) == 1 && out_degree(v, g) == 1 && inDegreeVisible > 0 && - outDegreeVisible > 0) - || (withShortcutEdgesAfterVisibility && inDegreeVisible == 1 && outDegreeVisible == 1); + outDegreeVisible > 0) + || (withShortcutEdgesAfterVisibility && inDegreeVisible == 1 && outDegreeVisible == 1); } std::string Options::vDupToId(DupVertex vDup, const Hyper &dg) const { @@ -399,10 +399,10 @@ bool Data::removeDuplicate(Vertex e, int eDup) { namespace { void reconnectCommon(const Hyper &dgHyper, - Data::ConnectionsStore &connections, - Vertex v, int eDup, - Vertex headOrTail, int vDupTar, int vDupSrc, - bool isTail) { + Data::ConnectionsStore &connections, + Vertex v, int eDup, + Vertex headOrTail, int vDupTar, int vDupSrc, + bool isTail) { // std::cout << "reconnect(" << std::boolalpha << isTail << ", " << v << ", " << eDup << ", " << headOrTail << ", " << vDupTar << ", " << vDupSrc << ")" << std::endl; const auto &dg = dgHyper.getGraph(); assert(dg[v].kind == HyperVertexKind::Edge); @@ -725,20 +725,36 @@ void Printer::setup(Options &options) { }; options.vertexLabel = [this](Vertex v, const Hyper &dg) { + std::vector labels; + labels.reserve(vertexLabels.size()); + for(const auto &vl: vertexLabels) { + std::string label = vl(v, dg); + if(!label.empty()) + labels.push_back(std::move(label)); + } std::string label; - if(!vertexLabels.empty()) label += vertexLabels.front()(v, dg); - for(int i = 1; i < vertexLabels.size(); i++) { + if(!labels.empty()) + label += std::move(labels.front()); + for(int i = 1; i < labels.size(); ++i) { label += vertexLabelSep; - label += vertexLabels[i](v, dg); + label += std::move(labels[i]); } return label; }; options.hyperedgeLabel = [this](Vertex v, const Hyper &dg) { + std::vector labels; + labels.reserve(edgeLabels.size()); + for(const auto &vl: edgeLabels) { + std::string label = vl(v, dg); + if(!label.empty()) + labels.push_back(std::move(label)); + } std::string label; - if(!edgeLabels.empty()) label += edgeLabels.front()(v, dg); - for(int i = 1; i < edgeLabels.size(); i++) { + if(!labels.empty()) + label += std::move(labels.front()); + for(int i = 1; i < labels.size(); ++i) { label += edgeLabelSep; - label += edgeLabels[i](v, dg); + label += std::move(labels[i]); } return label; }; @@ -900,9 +916,9 @@ std::string dot(const Hyper &dg, const Options &options, const IO::Graph::Write: } virtual void vertex(const std::string &id, - const std::string &label, - const std::string &image, - const std::string &colour) override { + const std::string &label, + const std::string &image, + const std::string &colour) override { s << '"' << id << "\" [ shape=ellipse label=\"" << label << "\""; if(!image.empty()) s << " image=\"" << image << "\""; if(!colour.empty()) s << " color=\"" << colour << "\""; @@ -920,9 +936,9 @@ std::string dot(const Hyper &dg, const Options &options, const IO::Graph::Write: } void connector(const std::string &idSrc, - const std::string &idTarget, - const std::string &colour, - int num, int maxNum) { + const std::string &idTarget, + const std::string &colour, + int num, int maxNum) { // dot handles parallel edges fine, just print the data s << '"' << idSrc << "\" -> \"" << idTarget << "\" ["; if(!colour.empty()) s << "color=\"" << colour << "\""; @@ -930,33 +946,34 @@ std::string dot(const Hyper &dg, const Options &options, const IO::Graph::Write: } virtual void tailConnector(const std::string &idVertex, - const std::string &idHyperEdge, - const std::string &colour, - int num, int maxNum) override { + const std::string &idHyperEdge, + const std::string &colour, + int num, int maxNum) override { connector(idVertex, idHyperEdge, colour, num, maxNum); } virtual void headConnector(const std::string &idHyperEdge, - const std::string &idVertex, - const std::string &colour, - int num, int maxNum) override { + const std::string &idVertex, + const std::string &colour, + int num, int maxNum) override { connector(idHyperEdge, idVertex, colour, num, maxNum); } virtual void shortcutEdge(const std::string &idTail, - const std::string &idHead, - const std::string &label, - const std::string &colour, - bool hasReverse) override { + const std::string &idHead, + const std::string &label, + const std::string &colour, + bool hasReverse) override { s << '"' << idTail << "\" -> \"" << idHead << "\" [ label=\"" << label << "\""; if(!colour.empty()) s << " color=\"" << colour << "\""; s << " ];\n"; } virtual std::function getImageCreator() override { - return [this](const Hyper &dg, HyperVertex v, Options::DupVertex vDup, const std::string &id) -> std::string { + HyperVertex, Options::DupVertex, + const std::string &)> getImageCreator() override { + return [this](const Hyper &dg, HyperVertex v, Options::DupVertex vDup, + const std::string &id) -> std::string { const auto &g = *dg.getGraph()[v].graph; return lib::Graph::Write::svg(g, graphOptions); }; @@ -983,7 +1000,7 @@ std::string coords(const Hyper &dg, const Options &options, const IO::Graph::Wri } std::pair tikz(const Hyper &dg, const Options &options, - const IO::Graph::Write::Options &graphOptions) { + const IO::Graph::Write::Options &graphOptions) { std::string fileCoordsExt = coords(dg, options, graphOptions); std::string file = IO::makeUniqueFilePrefix(); file += "dg_" + boost::lexical_cast(dg.getNonHyper().getId()) + "_"; @@ -995,7 +1012,7 @@ std::pair tikz(const Hyper &dg, const Options &options } std::string pdfFromDot(const Hyper &dg, const Options &options, - const IO::Graph::Write::Options &graphOptions) { + const IO::Graph::Write::Options &graphOptions) { std::string fileNoExt = dot(dg, options, graphOptions); fileNoExt.erase(end(fileNoExt) - 4, end(fileNoExt)); IO::post() << "gv dgHyper \"" << fileNoExt << "\" pdf" << std::endl; @@ -1003,7 +1020,7 @@ std::string pdfFromDot(const Hyper &dg, const Options &options, } std::pair pdf(const Hyper &dg, const Options &options, - const IO::Graph::Write::Options &graphOptions) { + const IO::Graph::Write::Options &graphOptions) { auto tikzFiles = tikz(dg, options, graphOptions); std::string fileNoExt = tikzFiles.first.substr(0, tikzFiles.first.length() - 4); std::string fileCoordsNoExt = tikzFiles.second.substr(0, tikzFiles.second.length() - 4); @@ -1014,18 +1031,18 @@ std::pair pdf(const Hyper &dg, const Options &options, } std::pair summary(const Data &data, Printer &printer, - const IO::Graph::Write::Options &graphOptions) { + const IO::Graph::Write::Options &graphOptions) { const auto files = printer.printHyper(data, graphOptions); std::string fileNoExt = files.first; const auto &dg = data.dg; fileNoExt.erase(end(fileNoExt) - 4, end(fileNoExt)); - IO::post() << "summaryDGHyper \"dg_" << dg.getNonHyper().getId() << "\" \"" << fileNoExt << "\"\n"; + IO::post() << "summaryDGHyper \"dg_" << dg.getNonHyper().getId() << "\" \"" << fileNoExt << "\"" << std::endl; return files; } std::string summaryNonHyper(const NonHyper &dg) { std::string file = pdfNonHyper(dg); - IO::post() << "summaryDGNonHyper \"dg_" << dg.getId() << "\" \"" << file << "\"\n"; + IO::post() << "summaryDGNonHyper \"dg_" << dg.getId() << "\" \"" << file << "\"" << std::endl; return file; } diff --git a/libs/libmod/src/mod/lib/DG/IO/Write.hpp b/libs/libmod/src/mod/lib/DG/IO/Write.hpp index fa65348..4b55424 100644 --- a/libs/libmod/src/mod/lib/DG/IO/Write.hpp +++ b/libs/libmod/src/mod/lib/DG/IO/Write.hpp @@ -365,7 +365,8 @@ std::string summaryNonHyper(const NonHyper &dg); std::vector> summaryDerivation(const NonHyper &dg, HyperVertex v, const IO::Graph::Write::Options &options, - const std::string &nomatchColour, const std::string &matchColour); + const std::string &nomatchColour, const std::string &matchColour, + const int verbosity); // utilities for those referring to DG elements in their dumps nlohmann::json dumpDigest(const HyperGraphType &dg); diff --git a/libs/libmod/src/mod/lib/DG/IO/WriteDerivation.cpp b/libs/libmod/src/mod/lib/DG/IO/WriteDerivation.cpp index 61d342b..49dddfa 100644 --- a/libs/libmod/src/mod/lib/DG/IO/WriteDerivation.cpp +++ b/libs/libmod/src/mod/lib/DG/IO/WriteDerivation.cpp @@ -3,20 +3,16 @@ #include #include #include -#include #include +#include #include #include #include +#include #include #include #include #include -#include -#include -#include -#include -#include #include #include #include @@ -27,101 +23,57 @@ namespace mod::lib::DG::Write { namespace { namespace GM = jla_boost::GraphMorphism; -std::vector findCompleteRules(const NonHyper &dg, - HyperVertex v, - const lib::Rules::Real &rReal) { +template +void forEachMatch(const NonHyper &dg, HyperVertex v, const lib::Rules::Real &rReal, const int verbosity, F f) { + IO::Logger logger(std::cout); + bool derivationFound = false; + const HyperGraphType &dgGraph = dg.getHyper().getGraph(); assert(v != dgGraph.null_vertex()); - using Vertex = HyperVertex; assert(dgGraph[v].kind == HyperVertexKind::Edge); - LabelledUnionGraph eductUnion, productUnion; + const auto ls = dg.getLabelSettings(); + VertexMapping::Input input{rReal}; for(const auto vAdj: asRange(inv_adjacent_vertices(v, dgGraph))) - eductUnion.push_back(&dgGraph[vAdj].graph->getLabelledGraph()); + input.lugG.push_back(&dgGraph[vAdj].graph->getLabelledGraph()); for(const auto vAdj: asRange(adjacent_vertices(v, dgGraph))) - productUnion.push_back(&dgGraph[vAdj].graph->getLabelledGraph()); - const auto identifyL = lib::Rules::graphToRule(eductUnion, lib::Rules::Membership::K, "G"); - const auto identifyR = lib::Rules::graphToRule(productUnion, lib::Rules::Membership::K, "H"); - std::vector matchingLR; - { - std::vector matchingL; - { - if(getConfig().dg.derivationDebugOutput.get()) { - std::cout << "Derivation: compose identifyL -> rReal" << std::endl; - std::cout << "Derivation: eductUnion:" << std::endl; - for(const auto vAdj: asRange(inv_adjacent_vertices(v, dgGraph))) - std::cout << "Derivation: " << dgGraph[vAdj].graph->getName() << std::endl; - } - auto reporter = [&matchingL, &dg](std::unique_ptr r) { - auto *rPtr = r.release(); - auto labelType = dg.getLabelSettings().type; - auto withStereo = dg.getLabelSettings().withStereo; - auto p = findAndInsert(matchingL, rPtr, lib::Rules::makeIsomorphismPredicate(labelType, withStereo)); - if(!p.second) delete rPtr; - return true; - }; - if(getConfig().dg.derivationDebugOutput.get()) - Rules::Write::termState(rReal); - lib::RC::Super mm( - getConfig().dg.derivationVerbosity.get(), IO::Logger(std::cout), - false, true); - lib::RC::composeRuleRealByMatchMaker(*identifyL, rReal, mm, reporter, dg.getLabelSettings()); - } - for(auto *r: matchingL) { - if(getConfig().dg.derivationDebugOutput.get()) - std::cout << "Derivation: compose matchingL -> identifyR" << std::endl; - auto reporter = [&matchingLR, &dg](std::unique_ptr r) { - if(getConfig().dg.derivationDebugOutput.get()) - std::cout << "Derivation: got result" << std::endl; - auto *rPtr = r.release(); - auto labelType = dg.getLabelSettings().type; - auto withStereo = dg.getLabelSettings().withStereo; - auto p = findAndInsert(matchingLR, rPtr, lib::Rules::makeIsomorphismPredicate(labelType, withStereo)); - if(getConfig().dg.derivationDebugOutput.get()) - std::cout << "Derivation: findAndInsert = " << std::boolalpha << p.second << std::endl; - if(!p.second) delete rPtr; - return true; - }; - assert(r); - // TODO: we should do isomorphism here instead - lib::RC::Sub mm( - getConfig().dg.derivationVerbosity.get(), IO::Logger(std::cout), - false); - lib::RC::composeRuleRealByMatchMaker(*r, *identifyR, mm, reporter, dg.getLabelSettings()); - delete r; - } - } - return matchingLR; -} + input.lugH.push_back(&dgGraph[vAdj].graph->getLabelledGraph()); -template -void forEachMatch(const NonHyper &dg, HyperVertex v, const lib::Rules::Real &rReal, F f) { - bool derivationFound = false; - std::vector matchingLR = findCompleteRules(dg, v, rReal); - for(const lib::Rules::Real *rLower: matchingLR) { - auto mr = [&f, &derivationFound, rLower, matchCount = 0](auto &&m, - const lib::Rules::GraphType &gUpper, - const lib::Rules::GraphType &gLower) mutable { - derivationFound = true; - std::string strMatch = boost::lexical_cast(matchCount); - f(*rLower, gUpper, gLower, m, strMatch); - ++matchCount; - return true; - }; - // mod::postSection("Bah"); - // lib::IO::Graph::Write::Options options; - // options.withRawStereo = true; - // options.withColour = true; - // options.edgesAsBonds = true; - // options.withIndex = true; - // lib::IO::Rules::Write::summary(rReal, options, options); - // lib::IO::Rules::Write::summary(*rLower, options, options); - // std::cout << "morphismSelectByLabelSettings: " << dg.getLabelSettings() << std::endl; - lib::GraphMorphism::morphismSelectByLabelSettings(rReal.getDPORule(), rLower->getDPORule(), dg.getLabelSettings(), - lib::GraphMorphism::VF2Monomorphism(), std::ref(mr), - lib::Rules::MembershipPredWrapper()); - // std::cout << "morphismSelectByLabelSettings done" << std::endl; - delete rLower; + if(verbosity != 0) { + logger.indent() << "WriteDerivation: ls=" << ls << std::endl; + ++logger.indentLevel; } + + VertexMapping::foreachRuleMatchedToGandH( + ls, input, logger, verbosity, true, 1, + [ls, &input, &f, &derivationFound](IO::Logger logger, const Rules::Real *rPtr, const auto &rightMap) { + auto mr = [&f, &derivationFound, &rPtr, matchCount = 0]( + auto &&m, + const lib::Rules::GraphType &gUpper, + const lib::Rules::GraphType &gLower) mutable { + derivationFound = true; + std::string strMatch = boost::lexical_cast(matchCount); + f(*rPtr, gUpper, gLower, m, strMatch); + ++matchCount; + return true; + }; + // mod::postSection("Bah"); + // lib::IO::Graph::Write::Options options; + // options.withRawStereo = true; + // options.withColour = true; + // options.edgesAsBonds = true; + // options.withIndex = true; + // lib::IO::Rules::Write::summary(rReal, options, options); + // lib::IO::Rules::Write::summary(*rLower, options, options); + // std::cout << "morphismSelectByLabelSettings: " << dg.getLabelSettings() << std::endl; + lib::GraphMorphism::morphismSelectByLabelSettings(input.r->getDPORule(), + rPtr->getDPORule(), + ls, + lib::GraphMorphism::VF2Monomorphism(), + std::ref(mr), + lib::Rules::MembershipPredWrapper()); + // std::cout << "morphismSelectByLabelSettings done" << std::endl; + return true; + }); if(!derivationFound) { std::string msg = "No derivation exists for rule " + rReal.getName() + "."; throw LogicError(std::move(msg)); @@ -135,7 +87,8 @@ summaryDerivation(const NonHyper &dg, HyperVertex v, const IO::Graph::Write::Options &options, const std::string &nomatchColour, - const std::string &matchColour) { + const std::string &matchColour, + const int verbosity) { const auto &dgHyper = dg.getHyper(); const auto &dgGraph = dgHyper.getGraph(); const auto &rules = dgHyper.getRulesFromEdge(v); @@ -219,9 +172,8 @@ summaryDerivation(const NonHyper &dg, << strMatch << "\"" << std::endl; res.emplace_back(fileNoExt1 + "_" + strMatch, fileNoExt2 + "_" + strMatch); } - Rules::Write::gml(rLower, false); }; - forEachMatch(dg, v, rReal, f); + forEachMatch(dg, v, rReal, verbosity, f); } return res; } diff --git a/libs/libmod/src/mod/lib/DG/NonHyper.cpp b/libs/libmod/src/mod/lib/DG/NonHyper.cpp index 7a2ea6a..5c8a6a4 100644 --- a/libs/libmod/src/mod/lib/DG/NonHyper.cpp +++ b/libs/libmod/src/mod/lib/DG/NonHyper.cpp @@ -100,11 +100,13 @@ bool NonHyper::getHasCalculated() const { return hasCalculated; } -void NonHyper::calculatePrologue() { +void NonHyper::calculatePrologue( + std::shared_ptr> onNewVertex, + std::shared_ptr> onNewHyperEdge) { if(getHasStartedCalculation()) MOD_ABORT; if(hyperCreator) MOD_ABORT; hasStartedCalculation = true; - auto p = Hyper::makeHyper(*this); + auto p = Hyper::makeHyper(*this, onNewVertex, onNewHyperEdge); hyper = std::move(p.first); hyperCreator.reset(new HyperCreator(std::move(p.second))); } diff --git a/libs/libmod/src/mod/lib/DG/NonHyper.hpp b/libs/libmod/src/mod/lib/DG/NonHyper.hpp index 0f50c2a..443da97 100644 --- a/libs/libmod/src/mod/lib/DG/NonHyper.hpp +++ b/libs/libmod/src/mod/lib/DG/NonHyper.hpp @@ -45,7 +45,9 @@ struct NonHyper { bool getHasStartedCalculation() const; bool getHasCalculated() const; protected: // calculation - void calculatePrologue(); // call this before modifying the DG + void calculatePrologue( // call this before modifying the DG + std::shared_ptr> onNewVertex, + std::shared_ptr> onNewHyperEdge); void calculateEpilogue(); // call this when done with the modifications // Overall Idea // ------------ @@ -70,7 +72,7 @@ struct NonHyper { // Searches the database for the given graph by isomorphism. // If found, returns the found graph and the input, // If not found, returns the given wrapped given graph and nullptr. - // Does NOT change the graphDatabse. + // Does NOT change the graphDatabase. std::pair, std::unique_ptr> checkIfNew(std::unique_ptr g) const; // trustAddGraph and then rename if it was a new graph. diff --git a/libs/libmod/src/mod/lib/DG/NonHyperBuilder.cpp b/libs/libmod/src/mod/lib/DG/NonHyperBuilder.cpp index 5392bc5..8cf444e 100644 --- a/libs/libmod/src/mod/lib/DG/NonHyperBuilder.cpp +++ b/libs/libmod/src/mod/lib/DG/NonHyperBuilder.cpp @@ -36,12 +36,14 @@ void ExecuteResult::list(bool withUniverse) const { // ----------------------------------------------------------------------------- -Builder::Builder(NonHyperBuilder *dg) : dg(dg) { +Builder::Builder(NonHyperBuilder *dg, + std::shared_ptr> onNewVertex, + std::shared_ptr> onNewHyperEdge) : dg(dg) { if(dg->getHasCalculated()) { this->dg = nullptr; throw LogicError(dg->getType() + ": has already been build."); } - dg->calculatePrologue(); + dg->calculatePrologue(onNewVertex, onNewHyperEdge); } Builder::Builder(Builder &&other) : dg(other.dg) { @@ -298,11 +300,8 @@ Builder::apply(const std::vector> &graphs, delete br.rule; } std::swap(inputRules, outputRules); - if(verbosity >= V_RuleApplication) { - ++logger.indentLevel; - logger.indent() << "Result after apply filtering: " << inputRules.size() << " rules" << std::endl; - --logger.indentLevel; - } + if(verbosity >= V_RuleApplication) + logger.indent(1) << "Result after apply filtering: " << inputRules.size() << " rules" << std::endl; } // for each round // after the last round we may still have rules with connected components in L // which go unused, so delete them @@ -322,21 +321,15 @@ Builder::apply(const std::vector> &graphs, return dg->checkIfNew(std::move(gCand)).first; }, [verbosity, &logger](std::shared_ptr gWrapped, std::shared_ptr gPrev) { - if(verbosity >= V_RuleApplication_Binding) { - ++logger.indentLevel; - logger.indent() << "Discarding product " << gWrapped->getName() - << ", isomorphic to other product " << gPrev->getName() - << "." << std::endl; - --logger.indentLevel; - } + if(verbosity >= V_RuleApplication_Binding) + logger.indent(1) << "Discarding product " << gWrapped->getName() + << ", isomorphic to other product " << gPrev->getName() + << "." << std::endl; } ); if(products.empty()) { - if(verbosity >= V_RuleApplication) { - ++logger.indentLevel; - logger.indent() << "Discarding derivation, empty result." << std::endl; - --logger.indentLevel; - } + if(verbosity >= V_RuleApplication) + logger.indent(1) << "Discarding derivation, empty result." << std::endl; continue; } for(const auto &p: products) @@ -414,21 +407,15 @@ Builder::applyRelaxed(const std::vector> &graphs, return dg->checkIfNew(std::move(gCand)).first; }, [verbosity, &logger](std::shared_ptr gWrapped, std::shared_ptr gPrev) { - if(verbosity >= V_RuleApplication_Binding) { - ++logger.indentLevel; - logger.indent() << "Discarding product " << gWrapped->getName() - << ", isomorphic to other product " << gPrev->getName() - << "." << std::endl; - --logger.indentLevel; - } + if(verbosity >= V_RuleApplication_Binding) + logger.indent(1) << "Discarding product " << gWrapped->getName() + << ", isomorphic to other product " << gPrev->getName() + << "." << std::endl; } ); if(products.empty()) { - if(verbosity >= V_RuleApplication) { - ++logger.indentLevel; - logger.indent() << "Discarding derivation, empty result." << std::endl; - --logger.indentLevel; - } + if(verbosity >= V_RuleApplication) + logger.indent(1) << "Discarding derivation, empty result." << std::endl; delete br.rule; return true; } @@ -474,21 +461,32 @@ Builder::applyRelaxed(const std::vector> &graphs, void Builder::addAbstract(const std::string &description) { std::ostringstream err; - auto res = lib::DG::Read::abstract(description, err); + const auto res = lib::DG::Read::abstract(description, err); if(!res) throw InputError("Could not parse description of abstract derivations.\n" + err.str()); const auto &derivations = *res; - std::unordered_map > strToGraph; - const auto handleSide = [this, &strToGraph](const lib::DG::Read::AbstractDerivation::List &side) { - for(const auto &e: side) { - const auto iter = strToGraph.find(e.second); - if(iter != end(strToGraph)) continue; + std::unordered_map> graphFromStr; + for(const auto &gOuter: dg->getGraphDatabase().asList()) { + const auto &gInner = gOuter->getGraph().getGraph(); + if(num_vertices(gInner) != 1) continue; + const auto v = *vertices(gInner).first; + const auto &s = get_string(gOuter->getGraph().getLabelledGraph())[v]; + assert(graphFromStr.find(s) == graphFromStr.end()); + graphFromStr[s] = gOuter; + } + + const auto handleSide = [this, &graphFromStr](const lib::DG::Read::AbstractDerivation::List &side) { + for(const auto &[coef, name]: side) { + const auto iter = graphFromStr.find(name); + if(iter != graphFromStr.end()) continue; auto gBoost = std::make_unique(); auto pString = std::make_unique(*gBoost); + const auto v = add_vertex(*gBoost); + pString->addVertex(v, name); auto gLib = std::make_unique(std::move(gBoost), std::move(pString), nullptr); auto g = graph::Graph::create(std::move(gLib)); dg->addProduct(g); // this renames it - g->setName(e.second); - strToGraph[e.second] = g; + g->setName(name); + graphFromStr[name] = g; } }; for(const auto &der: derivations) { @@ -497,10 +495,10 @@ void Builder::addAbstract(const std::string &description) { } using Side = std::unordered_map, unsigned int>; - const auto makeSide = [&strToGraph](const lib::DG::Read::AbstractDerivation::List &side) { + const auto makeSide = [&graphFromStr](const lib::DG::Read::AbstractDerivation::List &side) { Side result; for(const auto &e: side) { - const auto g = strToGraph[e.second]; + const auto g = graphFromStr[e.second]; assert(g); auto iter = result.find(g); if(iter == end(result)) iter = result.insert(std::make_pair(g, 0)).first; @@ -564,6 +562,7 @@ bool Builder::trustLoadDump(nlohmann::json &&j, std::ostream &err, int verbosity) { constexpr int V_Link = 2; + constexpr bool printStereoWarnings = true; assert(j["version"].get() == 3); @@ -582,7 +581,7 @@ bool Builder::trustLoadDump(nlohmann::json &&j, v.id = jv[0].get(); const std::string &gml = jv[2].get(); lib::IO::Warnings warnings; - auto gDatasRes = lib::Graph::Read::gml(warnings, gml); + auto gDatasRes = lib::Graph::Read::gml(warnings, gml, printStereoWarnings); err << warnings; if(!gDatasRes) { err << gDatasRes.extractError() << '\n'; @@ -714,9 +713,10 @@ std::string NonHyperBuilder::getType() const { return "DG"; } -Builder NonHyperBuilder::build() { +Builder NonHyperBuilder::build(std::shared_ptr> onNewVertex, + std::shared_ptr> onNewHyperEdge) { if(getHasCalculated()) throw LogicError(getType() + ": has already been build."); - return Builder(this); + return Builder(this, onNewVertex, onNewHyperEdge); } } // namespace mod::lib::DG \ No newline at end of file diff --git a/libs/libmod/src/mod/lib/DG/NonHyperBuilder.hpp b/libs/libmod/src/mod/lib/DG/NonHyperBuilder.hpp index f8f00bf..84a210d 100644 --- a/libs/libmod/src/mod/lib/DG/NonHyperBuilder.hpp +++ b/libs/libmod/src/mod/lib/DG/NonHyperBuilder.hpp @@ -21,7 +21,9 @@ struct ExecuteResult { }; struct Builder { - explicit Builder(NonHyperBuilder *dg); + explicit Builder(NonHyperBuilder *dg, + std::shared_ptr> onNewVertex, + std::shared_ptr> onNewHyperEdge); Builder(Builder &&other); Builder &operator=(Builder &&other); ~Builder(); @@ -57,7 +59,8 @@ struct NonHyperBuilder : public NonHyper { const std::vector > &graphDatabase, IsomorphismPolicy graphPolicy); virtual ~NonHyperBuilder(); virtual std::string getType() const override; - Builder build(); + Builder build(std::shared_ptr> onNewVertex, + std::shared_ptr> onNewHyperEdge); private: friend class ExecuteResult; friend class Builder; diff --git a/libs/libmod/src/mod/lib/DG/Strategies/Rule.cpp b/libs/libmod/src/mod/lib/DG/Strategies/Rule.cpp index b9915c6..d108222 100644 --- a/libs/libmod/src/mod/lib/DG/Strategies/Rule.cpp +++ b/libs/libmod/src/mod/lib/DG/Strategies/Rule.cpp @@ -102,11 +102,8 @@ void handleBoundRulePair(int verbosity, IO::Logger logger, Context context, cons if(verbosity >= PrintSettings::V_RuleApplication) --logger.indentLevel; if(d.right.empty()) { - if(verbosity >= V_RuleApplication) { - ++logger.indentLevel; - logger.indent() << "Discarding derivation, empty result." << std::endl; - --logger.indentLevel; - } + if(verbosity >= V_RuleApplication) + logger.indent(1) << "Discarding derivation, empty result." << std::endl; return; } @@ -224,101 +221,57 @@ void Rule::executeImpl(PrintSettings settings, const GraphState &input) { return; } - if(getConfig().dg.useOldRuleApplication.get()) { - std::vector> - intermediaryRules(get_num_connected_components(get_labelled_left(rRaw->getDPORule())) + 1); - { - BoundRule p; - p.rule = rRaw; - intermediaryRules[0].push_back(p); - } - Context context{r, getExecutionEnv(), output, consumedGraphs}; - const auto &subset = input.getSubset(); - const auto &universe = input.getUniverse(); - for(unsigned int i = 1; i <= get_num_connected_components(get_labelled_left(rRaw->getDPORule())); i++) { - if(settings.verbosity >= PrintSettings::V_RuleBinding) { - settings.indent() << "Component bind round " << i << " with "; - ++settings.indentLevel; - if(i == 1) { - std::cout << subset.size() << " graphs"; - } else { - std::cout << universe.size() << " graphs and " << intermediaryRules[i - 1].size() << " intermediaries"; - } - std::cout << std::endl; - } + const auto &subset = input.getSubset(); + const auto &universe = input.getUniverse(); - std::size_t processedRules = 0; - if(i == 1) { - processedRules = bindGraphs(settings, context, subset, intermediaryRules[0], intermediaryRules[1], - getExecutionEnv().graphAsRuleCache); - } else { - processedRules = bindGraphs(settings, context, universe, intermediaryRules[i - 1], intermediaryRules[i], - getExecutionEnv().graphAsRuleCache); - for(BoundRule &p: intermediaryRules[i - 1]) { - delete p.rule; - p.rule = nullptr; - } - } - if(settings.verbosity >= PrintSettings::V_RuleBinding) { - settings.indent() << "Processing of " << processedRules << " intermediary rules done" << std::endl; - --settings.indentLevel; - } - if(context.executionEnv.doExit()) break; - } - assert(intermediaryRules.back().empty()); - } else { // new implementation - const auto &subset = input.getSubset(); - const auto &universe = input.getUniverse(); - - // partition such that the subset is first - for(int i = 0; i != subset.size(); ++i) - assert(subset.begin()[i] == universe[subset.getIndices()[i]]); + // partition such that the subset is first + for(int i = 0; i != subset.size(); ++i) + assert(subset.begin()[i] == universe[subset.getIndices()[i]]); - std::vector inSubset(universe.size(), false); - for(int idx: subset.getIndices()) - inSubset[idx] = true; + std::vector inSubset(universe.size(), false); + for(int idx: subset.getIndices()) + inSubset[idx] = true; - std::vector graphs = universe; - auto subsetEnd = graphs.begin(); - for(auto iter = graphs.begin(); iter != graphs.end(); ++iter) { - const auto offset = iter - graphs.begin(); - if(inSubset[offset]) { - std::iter_swap(subsetEnd, iter); - ++subsetEnd; - } + std::vector graphs = universe; + auto subsetEnd = graphs.begin(); + for(auto iter = graphs.begin(); iter != graphs.end(); ++iter) { + const auto offset = iter - graphs.begin(); + if(inSubset[offset]) { + std::iter_swap(subsetEnd, iter); + ++subsetEnd; } - assert(subsetEnd - graphs.begin() == subset.size()); + } + assert(subsetEnd - graphs.begin() == subset.size()); - Context context{r, getExecutionEnv(), output, consumedGraphs}; - std::vector inputRules{{rRaw, {}, 0}}; - for(int round = 0; round != get_num_connected_components(get_labelled_left(rRaw->getDPORule())); ++round) { - const auto firstGraph = graphs.begin(); - const auto lastGraph = round == 0 ? subsetEnd : graphs.end(); + Context context{r, getExecutionEnv(), output, consumedGraphs}; + std::vector inputRules{{rRaw, {}, 0}}; + for(int round = 0; round != get_num_connected_components(get_labelled_left(rRaw->getDPORule())); ++round) { + const auto firstGraph = graphs.begin(); + const auto lastGraph = round == 0 ? subsetEnd : graphs.end(); - const auto onOutput = [verbosity = settings.verbosity, context] - (IO::Logger logger, BoundRule br) -> bool { - if(br.rule->isOnlyRightSide()) { - handleBoundRulePair(verbosity, logger, context, br); - delete br.rule; - } - return true; - }; - std::vector outputRules = bindGraphs( - settings.ruleApplicationVerbosity(), settings, - round, - firstGraph, lastGraph, inputRules, - getExecutionEnv().graphAsRuleCache, - getExecutionEnv().labelSettings, - onOutput); - if(round != 0) { - // in round 0 the inputRules is the actual original input rule, so don't delete it - for(auto &br: inputRules) - delete br.rule; + const auto onOutput = [verbosity = settings.verbosity, context] + (IO::Logger logger, BoundRule br) -> bool { + if(br.rule->isOnlyRightSide()) { + handleBoundRulePair(verbosity, logger, context, br); + delete br.rule; } - std::swap(inputRules, outputRules); - } // for each round based on numComponents - assert(inputRules.empty()); - } // if(getConfig().dg.useOldRuleApplication.get()) + return true; + }; + std::vector outputRules = bindGraphs( + settings.ruleApplicationVerbosity(), settings, + round, + firstGraph, lastGraph, inputRules, + getExecutionEnv().graphAsRuleCache, + getExecutionEnv().labelSettings, + onOutput); + if(round != 0) { + // in round 0 the inputRules is the actual original input rule, so don't delete it + for(auto &br: inputRules) + delete br.rule; + } + std::swap(inputRules, outputRules); + } // for each round based on numComponents + assert(inputRules.empty()); } } // namespace mod::lib::DG::Strategies \ No newline at end of file diff --git a/libs/libmod/src/mod/lib/DG/Strategies/Strategy.cpp b/libs/libmod/src/mod/lib/DG/Strategies/Strategy.cpp index 37a99ed..eedcd16 100644 --- a/libs/libmod/src/mod/lib/DG/Strategies/Strategy.cpp +++ b/libs/libmod/src/mod/lib/DG/Strategies/Strategy.cpp @@ -52,9 +52,7 @@ void Strategy::printBaseInfo(PrintSettings settings) const { s << " " << g->getName(); else s << " [listing disabled]"; s << '\n'; - --settings.indentLevel; - settings.indent() << "output:\n"; - ++settings.indentLevel; + settings.indent(-1) << "output:\n"; // important to use getOutput(), it might be overwritten settings.indent() << "subset ="; for(const auto *g : getOutput().getSubset()) diff --git a/libs/libmod/src/mod/lib/DG/VertexMapping.cpp b/libs/libmod/src/mod/lib/DG/VertexMapping.cpp new file mode 100644 index 0000000..c76a4fb --- /dev/null +++ b/libs/libmod/src/mod/lib/DG/VertexMapping.cpp @@ -0,0 +1,106 @@ +#include "VertexMapping.hpp" + +#include +#include +#include +#include +#include +#include + +namespace GM = jla_boost::GraphMorphism; +namespace GM_MOD = mod::lib::GraphMorphism; + +namespace mod::lib::DG::VertexMapping { + +const lib::Rules::Real &Input::getG() const { + if(!idG) idG = lib::Rules::graphToRule(lugG, lib::Rules::Membership::K, "G"); + return *idG; +} + +const lib::Rules::Real &Input::getH() const { + if(!idH) idH = lib::Rules::graphToRule(lugH, lib::Rules::Membership::K, "H"); + return *idH; +} + +} // namespace mod::lib::DG::VertexMapping +namespace mod::lib::DG { + +VertexMappingResult +calculateVertexMaps(const Hyper &dg, const HyperVertex v, IO::Logger logger, const int verbosity) { + return calculateVertexMaps(dg, v, true, 1 << 30, 1, logger, verbosity); +} + +VertexMappingResult +calculateVertexMaps(const Hyper &dg, const HyperVertex v, + const bool upToIsomorphismG, const int leftLimit, const int rightLimit, + IO::Logger loggerOrig, const int verbosity) { + VertexMappingResult res; + const auto &dgGraph = dg.getGraph(); + assert(dgGraph[v].kind == HyperVertexKind::Edge); + const auto invAdj = inv_adjacent_vertices(v, dgGraph); + const auto adj = adjacent_vertices(v, dgGraph); + res.leftDGVertices.insert(res.leftDGVertices.begin(), invAdj.first, invAdj.second); + res.rightDGVertices.insert(res.rightDGVertices.begin(), adj.first, adj.second); + const auto vLess = [&dgGraph](HyperVertex a, HyperVertex b) { + return get(boost::vertex_index_t(), dgGraph, a) < get(boost::vertex_index_t(), dgGraph, b); + }; + std::sort(begin(res.leftDGVertices), end(res.leftDGVertices), vLess); + std::sort(begin(res.rightDGVertices), end(res.rightDGVertices), vLess); + + const auto ls = dg.getNonHyper().getLabelSettings(); + VertexMapping::Input input; + for(const auto vAdj: res.leftDGVertices) + input.lugG.push_back(&dgGraph[vAdj].graph->getLabelledGraph()); + for(const auto vAdj: res.rightDGVertices) + input.lugH.push_back(&dgGraph[vAdj].graph->getLabelledGraph()); + res.gLeft = get_graph(input.lugG); + res.gRight = get_graph(input.lugH); + + for(const auto *rDerivation: dg.getRulesFromEdge(v)) { + auto logger = loggerOrig; + assert(rDerivation); + if(verbosity != 0) { + logger.indent() << "calculateVertexMaps: with rule " << rDerivation->getName() << std::endl; + ++logger.indentLevel; + } + input.r = rDerivation; + VertexMapping::foreachRuleMatchedToGandH( + ls, input, logger, verbosity, upToIsomorphismG, rightLimit, + [ls, leftLimit, verbosity, &input, &res](IO::Logger logger, const Rules::Real *rPtr, auto &&mapRight) { + if(verbosity != 0) { + logger.indent() << "calculateVertexMaps(leftLimit=" << leftLimit << "): got span" << std::endl; + ++logger.indentLevel; + } + + const auto &&Lunwrapped = get_labelled_left(rPtr->getDPORule()); + LabelledFilteredGraph L(Lunwrapped); + auto mr = GM::makeLimit(leftLimit, [verbosity, &input, &logger, &rPtr, &mapRight, &L, &res]( + const auto &mapLeft, const auto &gDom, const auto &gCodom) { + if(verbosity != 0) logger.indent() << "got isomorphism to G, making map" << std::endl; + + const auto &&Runwrapped = get_labelled_right(rPtr->getDPORule()); + LabelledFilteredGraph R(Runwrapped); + const auto &core = rPtr->getGraph(); + VertexMappingResult::Map map(res.gLeft, res.gRight); + for(const auto vLeft: asRange(vertices(res.gLeft))) { + const auto vCore = get(mapLeft, res.gLeft, get_graph(L), vLeft); + assert(vCore != core.null_vertex()); + assert(core[vCore].membership != lib::Rules::Membership::R); + if(core[vCore].membership == lib::Rules::Membership::L) continue; + const auto vRight = get(mapRight, get_graph(R), res.gRight, vCore); + assert(vRight != res.gRight.null_vertex()); + put(map, res.gLeft, res.gRight, vLeft, vRight); + } + res.maps.emplace_back(input.r, std::move(map)); + return true; + }); + // the Limit callback has state, so send it by reference + lib::GraphMorphism::morphismSelectByLabelSettings( + input.lugG, L, ls, GraphMorphism::VF2Isomorphism(), std::ref(mr)); + return true; + }); + } // for each derivation rule + return res; +} + +} // namespace mod::lib::DG \ No newline at end of file diff --git a/libs/libmod/src/mod/lib/DG/VertexMapping.hpp b/libs/libmod/src/mod/lib/DG/VertexMapping.hpp new file mode 100644 index 0000000..2bda038 --- /dev/null +++ b/libs/libmod/src/mod/lib/DG/VertexMapping.hpp @@ -0,0 +1,151 @@ +#ifndef MOD_LIB_DG_VERTEXMAPPING_HPP +#define MOD_LIB_DG_VERTEXMAPPING_HPP + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace mod::lib::Rules { +struct Real; +} // namespace mod::lib::Rules +namespace mod::lib::DG::VertexMapping { + +struct Input { + Input() = default; + Input(const Rules::Real &r) : r(&r) {} + const lib::Rules::Real &getG() const; + const lib::Rules::Real &getH() const; +public: + const Rules::Real *r = nullptr; + LabelledUnionGraph lugG, lugH; +private: + mutable std::unique_ptr idG, idH; +}; + +template +// OnResult: bool(logger, rPtr) +std::vector> +foreachRuleMatchedToG(const LabelSettings ls, const Input &input, IO::Logger logger, const int verbosity, + const bool upToIsomorphism, OnResult onResult) { + if(verbosity != 0) { + logger.indent() << "VertexMapping::foreachG(upToIsomorphism=" << std::boolalpha + << upToIsomorphism << "):" << std::endl; + ++logger.indentLevel; + } + std::vector> res; + lib::RC::Super mm(verbosity - 10 + 2 /* the same as in RC Evaluator.cpp */, logger, false, true); + lib::RC::composeRuleRealByMatchMaker( + input.getG(), *input.r, mm, + [ls, loggerOrig = logger, verbosity, upToIsomorphism, onResult, &res](std::unique_ptr r) { + auto logger = loggerOrig; + if(verbosity != 0) { + logger.indent() << "VertexMapping::foreachG(upToIsomorphism=" << std::boolalpha + << upToIsomorphism << "): got candidate rule" << std::endl; + ++logger.indentLevel; + } + if(upToIsomorphism) { + for(const auto &rOther: res) { + if(lib::Rules::makeIsomorphismPredicate(ls.type, ls.withStereo)(rOther, r)) { + if(verbosity != 0) + logger.indent() << "VertexMapping::foreachG(upToIsomorphism=" << std::boolalpha + << upToIsomorphism << "): isomorphic rule already found" << std::endl; + return true; // we know it already, find the next + } + } + } + res.push_back(std::move(r)); + const bool cont = onResult(logger, res.back().get()); + if(verbosity != 0) + logger.indent() << "VertexMapping::foreachG(upToIsomorphism=" << std::boolalpha + << upToIsomorphism << "): onResult=" << cont << std::endl; + return cont; + }, ls); + return res; +} + +template +// OnResult: bool(logger, rPtr) +std::vector> +foreachRuleMatchedToGandH(const LabelSettings ls, const Input &input, IO::Logger logger, const int verbosity, + const bool upToIsomorphismG, const int rightLimit, OnResult onResult) { + return foreachRuleMatchedToG( + ls, input, logger, verbosity, upToIsomorphismG, + [ls, &input, verbosity, rightLimit, onResult](IO::Logger logger, const Rules::Real *rPtr) { + if(verbosity != 0) { + logger.indent() << "VertexMapping::foreachGandH(rightLimit=" << rightLimit << "):" + << std::endl; + ++logger.indentLevel; + } + assert(rPtr); + const auto &&Runwrapped = get_labelled_right(rPtr->getDPORule()); + LabelledFilteredGraph R(Runwrapped); + // The request from the user needs both to go into the morphism enumeration, + // and then when no more morphisms, then the last request goes to the next outer enumeration. + bool cont = true; + auto mr = jla_boost::GraphMorphism::makeLimit( + rightLimit, [loggerOrig = logger, verbosity, rightLimit, onResult, &rPtr, &cont]( + const auto &vm, const auto &gDom, + const auto &gCodom) -> bool { + auto logger = loggerOrig; + if(verbosity != 0) { + logger.indent() + << "VertexMapping::foreachGandH(rightLimit=" + << rightLimit + << "): got isomorphism to H" << std::endl; + ++logger.indentLevel; + } + // and now we let the user decide if we should pull another solution + cont = onResult(logger, rPtr, vm); + if(verbosity != 0) + logger.indent() + << "VertexMapping::foreachGandH(rightLimit=" + << rightLimit + << "): onResult=" << cont << std::endl; + return cont; + }); + // the Limit callback has state, so send it by reference + lib::GraphMorphism::morphismSelectByLabelSettings( + R, input.lugH, ls, GraphMorphism::VF2Isomorphism(), std::ref(mr)); + if(verbosity != 0) + logger.indent() << "VertexMapping::foreachGandH(rightLimit=" << rightLimit + << "): done, returning " << std::boolalpha << cont << std::endl; + return cont; + }); +} + +} // namespace mod::lib::DG::VertexMapping + +#include + +namespace mod::lib::DG { +struct Hyper; + +struct VertexMappingResult { + using Graph = jla_boost::union_graph; + using Map = jla_boost::GraphMorphism::InvertibleVectorVertexMap; +public: + std::vector leftDGVertices, rightDGVertices; + Graph gLeft, gRight; + std::vector> maps; +}; + +VertexMappingResult calculateVertexMaps(const Hyper &dg, HyperVertex v, IO::Logger logger, const int verbosity); +VertexMappingResult calculateVertexMaps(const Hyper &dg, HyperVertex v, + bool upToIsomorphismG, int leftLmit, int rightLimit, + IO::Logger logger, const int verbosity); + +} // namespace mod::lib::DG + +#endif // MOD_LIB_DG_VERTEXMAPPING_HPP \ No newline at end of file diff --git a/libs/libmod/src/mod/lib/DPO/CombinedRule.hpp b/libs/libmod/src/mod/lib/DPO/CombinedRule.hpp index be0dc3e..3b518c4 100644 --- a/libs/libmod/src/mod/lib/DPO/CombinedRule.hpp +++ b/libs/libmod/src/mod/lib/DPO/CombinedRule.hpp @@ -152,6 +152,6 @@ struct CombinedRule { ToCombinedMorphismSide mLtoCG, mRtoCG; }; -} // namesapce mod::lib::DPO +} // namespace mod::lib::DPO #endif // MOD_LIB_DPO_COMBINEDRULE_HPP \ No newline at end of file diff --git a/libs/libmod/src/mod/lib/Graph/IO/Read.cpp b/libs/libmod/src/mod/lib/Graph/IO/Read.cpp index 5b29061..12b4c97 100644 --- a/libs/libmod/src/mod/lib/Graph/IO/Read.cpp +++ b/libs/libmod/src/mod/lib/Graph/IO/Read.cpp @@ -43,7 +43,7 @@ void Data::reset() { g.reset(); } -Result> gml(lib::IO::Warnings &warnings, std::string_view src) { +Result> gml(lib::IO::Warnings &warnings, std::string_view src, bool printStereoWarnings) { GML::Graph gGML; { gml::ast::KeyValue ast; @@ -132,8 +132,8 @@ Result> gml(lib::IO::Warnings &warnings, std::string_view src) return std::pair(comp, vertex(vIdIter->second, *datas[comp].g)); }; for(const auto &eGML: gGML.edges) { - const auto[comp, vSrc] = vFromVertexId(eGML.source); - const auto[compTar, vTar] = vFromVertexId(eGML.target); + const auto [comp, vSrc] = vFromVertexId(eGML.source); + const auto [compTar, vTar] = vFromVertexId(eGML.target); assert(comp == compTar); auto &g = *datas[comp].g; const auto eQuery = edge(vSrc, vTar, g); @@ -165,8 +165,8 @@ Result> gml(lib::IO::Warnings &warnings, std::string_view src) // Set the explicitly defined edge categories. //---------------------------------------------------------------------------- for(const auto &eGML: gGML.edges) { - const auto[comp, vSrc] = vFromVertexId(eGML.source); - const auto[compTar, vTar] = vFromVertexId(eGML.target); + const auto [comp, vSrc] = vFromVertexId(eGML.source); + const auto [compTar, vTar] = vFromVertexId(eGML.target); assert(comp == compTar); const auto &g = *datas[comp].g; const auto ePair = edge(vSrc, vTar, g); @@ -195,7 +195,7 @@ Result> gml(lib::IO::Warnings &warnings, std::string_view src) //---------------------------------------------------------------------------- for(auto &vGML: gGML.vertices) { if(!vGML.stereo) continue; - const auto[comp, v] = vFromVertexId(vGML.id); + const auto [comp, v] = vFromVertexId(vGML.id); if(auto res = lib::Stereo::Read::parseEmbedding(*vGML.stereo)) { vGML.parsedEmbedding = std::move(*res); } else { @@ -209,7 +209,7 @@ Result> gml(lib::IO::Warnings &warnings, std::string_view src) const auto vGeo = gGeometry.findGeometry(*embGML.geometry); if(vGeo == gGeometry.nullGeometry()) return atError("Error in stereo data for vertex " + std::to_string(vGML.id) - + ". Invalid gGeometry '" + *embGML.geometry + "'."); + + ". Invalid geometry '" + *embGML.geometry + "'."); if(auto res = stereoInferences[comp].assignGeometry(v, vGeo); !res) return atError("Error in stereo data for vertex " + std::to_string(vGML.id) + ". " + res.extractError()); @@ -224,7 +224,7 @@ Result> gml(lib::IO::Warnings &warnings, std::string_view src) if(globalIddFromExtID.find(extIDNeighbour) == end(globalIddFromExtID)) return atError("Neighbour vertex " + std::to_string(extIDNeighbour) + " in stereo embedding for vertex " + std::to_string(vGML.id) + " does not exist."); - const auto[compNeighbour, vNeighbour] = vFromVertexId(extIDNeighbour); + const auto [compNeighbour, vNeighbour] = vFromVertexId(extIDNeighbour); const auto ePair = edge(v, vNeighbour, *datas[comp].g); if(!ePair.second) return atError("Error in graph GML. Vertex " + std::to_string(extIDNeighbour) + @@ -261,14 +261,12 @@ Result> gml(lib::IO::Warnings &warnings, std::string_view src) for(int comp = 0; comp != numComponents; ++comp) { // TODO: the warning should only be printed once, instead of for each connected component - lib::IO::Warnings stereoWarnings; auto stereoResult = stereoInferences[comp].finalize( - stereoWarnings, [comp, &extIDFromVertex](lib::Graph::Vertex v) { + warnings, printStereoWarnings, [comp, &extIDFromVertex](lib::Graph::Vertex v) { const auto iter = extIDFromVertex[comp].find(v); assert(iter != extIDFromVertex[comp].end()); return std::to_string(iter->second); }); - warnings.addFrom(std::move(stereoWarnings), !getConfig().stereo.silenceDeductionWarnings.get()); if(!stereoResult) return atError(stereoResult.extractError()); datas[comp].pStereo = std::make_unique(*datas[comp].g, std::move(stereoInferences[comp])); @@ -291,7 +289,7 @@ struct JoinConnected { JoinConnected(ConnectedComponents &components) : components(components) {} void operator()(const Chain &chain) { - auto[prev, isRingClosure] = (*this)(chain.head, nullptr); + auto [prev, isRingClosure] = (*this)(chain.head, nullptr); assert(!isRingClosure); assert(prev); for(const EVPair &ev: chain.tail) { @@ -301,7 +299,7 @@ struct JoinConnected { } ConvertRes operator()(const Vertex &vertex, const LabelVertex *prev) { - const auto[subNext, subIsRingClosure] = boost::apply_visitor(*this, vertex.vertex); + const auto [subNext, subIsRingClosure] = boost::apply_visitor(*this, vertex.vertex); assert(!(subIsRingClosure && prev == nullptr)); const auto *branchRoot = subIsRingClosure ? prev : subNext; for(const Branch &branch: vertex.branches) { @@ -315,7 +313,7 @@ struct JoinConnected { } const LabelVertex *operator()(const EVPair &ev, const LabelVertex *prev) { - const auto[next, isRingClosure] = (*this)(ev.second, prev); + const auto [next, isRingClosure] = (*this)(ev.second, prev); join(prev, next, ev.first.label); if(isRingClosure) return prev; else return next; @@ -330,11 +328,13 @@ struct JoinConnected { ConvertRes operator()(const RingClosure &vertex) { return {vertex.other, true}; } + private: void join(const LabelVertex *src, const LabelVertex *tar, const std::string &label) { if(label.empty()) return; // a dot edge for no-edge components.join(src->connectedComponentID, tar->connectedComponentID); } + private: ConnectedComponents &components; }; @@ -403,6 +403,7 @@ struct Converter { const int component = components[rc.other->connectedComponentID]; return {component, vertex(rc.other->gVertexId, *gPtrs[component]), true}; } + private: void makeEdge(int srcComponent, GVertex vSrc, int tarComponent, GVertex vTar, const std::string &label) { if(label.empty()) return; // a dot edge for no-edge @@ -413,6 +414,7 @@ struct Converter { assert(e.second); pStringPtrs[srcComponent]->addEdge(e.first, label); } + private: std::vector> &gPtrs; std::vector> &pStringPtrs; @@ -462,6 +464,7 @@ struct ImplicitHydrogenAdder { }; lib::Chem::addImplicitHydrogens(g, pString, gVertex, atomId, hydrogenAdder); } + private: std::vector> &gPtrs; std::vector> &pStringPtrs; @@ -507,9 +510,9 @@ Result> dfs(lib::IO::Warnings &warnings, std::string_view src) return std::move(datas); // TODO: remove std::move when C++20/P1825R0 is available } -Result> smiles(lib::IO::Warnings &warnings, std::string_view src, const bool allowAbstract, - SmilesClassPolicy classPolicy) { - return lib::Chem::readSmiles(warnings, src, allowAbstract, classPolicy); +Result> smiles(lib::IO::Warnings &warnings, std::string_view src, bool printStereoWarnings, + bool allowAbstract, SmilesClassPolicy classPolicy) { + return lib::Chem::readSmiles(warnings, printStereoWarnings, src, allowAbstract, classPolicy); } Result> MDLMOL(lib::IO::Warnings &warnings, std::string_view src, const MDLOptions &options) { diff --git a/libs/libmod/src/mod/lib/Graph/IO/Read.hpp b/libs/libmod/src/mod/lib/Graph/IO/Read.hpp index 6d42165..774003a 100644 --- a/libs/libmod/src/mod/lib/Graph/IO/Read.hpp +++ b/libs/libmod/src/mod/lib/Graph/IO/Read.hpp @@ -39,10 +39,11 @@ struct RXNFileData { // std::vector>> aamap; }; -lib::IO::Result> gml(lib::IO::Warnings &warnings, std::string_view src); +lib::IO::Result> gml(lib::IO::Warnings &warnings, std::string_view src, bool printStereoWarnings); lib::IO::Result> dfs(lib::IO::Warnings &warnings, std::string_view src); -lib::IO::Result> smiles(lib::IO::Warnings &warnings, std::string_view smiles, bool allowAbstract, - SmilesClassPolicy classPolicy); +lib::IO::Result> +smiles(lib::IO::Warnings &warnings, std::string_view smiles, bool printStereoWarnings, + bool allowAbstract, SmilesClassPolicy classPolicy); lib::IO::Result> MDLMOL(lib::IO::Warnings &warnings, std::string_view src, const MDLOptions &options); lib::IO::Result>> MDLSD(lib::IO::Warnings &warnings, std::string_view src, const MDLOptions &options); diff --git a/libs/libmod/src/mod/lib/Graph/IO/Write.cpp b/libs/libmod/src/mod/lib/Graph/IO/Write.cpp index 56d2828..edfcd51 100644 --- a/libs/libmod/src/mod/lib/Graph/IO/Write.cpp +++ b/libs/libmod/src/mod/lib/Graph/IO/Write.cpp @@ -342,7 +342,7 @@ std::pair dfs(const LabelledGraph &gLabelled, bool withIds) { const auto &g = get_graph(gLabelled); const auto &pString = get_string(gLabelled); if(num_vertices(g) == 0) return std::pair("", false); - auto[chain, idMap] = dfsDetail::write(g, pString, withIds); + auto [chain, idMap] = dfsDetail::write(g, pString, withIds); std::stringstream graphDFS; dfsDetail::Printer p(graphDFS, idMap); @@ -577,49 +577,56 @@ std::pair summary(const Single &g, const Options &firs return std::pair(graphLike, molLike); } -void termState(const Single &g) { +namespace { + +template +void termStateImpl(const std::string &name, const LGraph &g) { + lib::IO::post() << "summarySubsection \"Term State for " << name << "\"\n"; using namespace lib::Term; - lib::IO::post() << "summarySubsection \"Term State for " << g.getName() << "\"\n"; post::FileHandle s(lib::IO::makeUniqueFilePrefix() + "termState.tex"); s << "\\begin{verbatim}\n"; - const auto &termState = get_term(g.getLabelledGraph()); + const auto &termState = get_term(g); + const auto &gg = get_graph(g); if(isValid(termState)) { - std::unordered_map > addrToVertex; - std::unordered_map > addrToEdge; - for(Vertex v: asRange(vertices(g.getGraph()))) { + std::unordered_map> annotations; + for(const auto v: asRange(vertices(get_graph(g)))) { Address a{AddressType::Heap, termState[v]}; - addrToVertex[a].insert(v); + annotations[a].push_back("v" + std::to_string(get(boost::vertex_index_t(), gg, v))); } - for(Edge e: asRange(edges(g.getGraph()))) { + for(const auto e: asRange(edges(get_graph(g)))) { Address a{AddressType::Heap, termState[e]}; - addrToEdge[a].insert(e); + annotations[a].push_back( + "e(" + std::to_string(get(boost::vertex_index_t(), gg, source(e, gg))) + + ", " + std::to_string(get(boost::vertex_index_t(), gg, target(e, gg))) + ")"); } - lib::Term::Write::wam(getMachine(termState), lib::Term::getStrings(), s, [&](Address addr, std::ostream &s) { - s << " "; - bool first = true; - for(auto v: addrToVertex[addr]) { - if(!first) s << ", "; - first = false; - s << "v" << get(boost::vertex_index_t(), g.getGraph(), v); - } - for(auto e: addrToEdge[addr]) { - if(!first) s << ", "; - first = false; - s << "e(" - << get(boost::vertex_index_t(), g.getGraph(), source(e, g.getGraph())) - << ", " - << get(boost::vertex_index_t(), g.getGraph(), target(e, g.getGraph())) - << ")"; - } - }); + lib::Term::Write::wam(getMachine(termState), lib::Term::getStrings(), + IO::Logger(s), [&](Address addr, std::ostream &s) { + s << " "; + bool first = true; + for(const auto &str: annotations[addr]) { + if(!first) s << ", "; + first = false; + s << str; + } + }); } else { - std::string msg = "Parsing failed for graph '" + g.getName() + "'. " + termState.getParsingError(); + std::string msg = "Parsing failed for graph '" + name + "'. " + termState.getParsingError(); throw TermParsingError(std::move(msg)); } s << "\\end{verbatim}\n"; lib::IO::post() << "summaryInput \"" << std::string(s) << "\"\n"; } +} // namespace + +void termState(const Single &g) { + termStateImpl(g.getName(), g.getLabelledGraph()); +} + +void termState(const lib::LabelledUnionGraph &g, std::string name) { + termStateImpl(name, g); +} + std::string stereoSummary(const Single &gLib, Vertex v, const lib::Stereo::Configuration &conf, const IO::Graph::Write::Options &options, int shownIdOffset, const std::string &nameSuffix) { const auto &g = gLib.getGraph(); diff --git a/libs/libmod/src/mod/lib/Graph/IO/Write.hpp b/libs/libmod/src/mod/lib/Graph/IO/Write.hpp index 7e6cd1f..ac1fb54 100644 --- a/libs/libmod/src/mod/lib/Graph/IO/Write.hpp +++ b/libs/libmod/src/mod/lib/Graph/IO/Write.hpp @@ -1,6 +1,7 @@ #ifndef MOD_LIB_GRAPH_IO_WRITE_HPP #define MOD_LIB_GRAPH_IO_WRITE_HPP +#include #include #include #include @@ -37,6 +38,7 @@ std::string svg(const LabelledGraph &gLabelled, const DepictionData &depict, const std::size_t gId, const Options &options); std::pair summary(const Single &g, const Options &first, const Options &second); void termState(const Single &g); +void termState(const lib::LabelledUnionGraph &g, std::string name); std::string stereoSummary(const Single &g, Vertex v, const lib::Stereo::Configuration &conf, const IO::Graph::Write::Options &options, int shownIdOffset, const std::string &nameSuffix); diff --git a/libs/libmod/src/mod/lib/Graph/LabelledGraph.cpp b/libs/libmod/src/mod/lib/Graph/LabelledGraph.cpp index 374093c..4df652e 100644 --- a/libs/libmod/src/mod/lib/Graph/LabelledGraph.cpp +++ b/libs/libmod/src/mod/lib/Graph/LabelledGraph.cpp @@ -70,11 +70,11 @@ const LabelledGraph::PropStereoType &get_stereo(const LabelledGraph &g) { if(!has_stereo(g)) { auto inference = lib::Stereo::Inference(get_graph(g), get_molecule(g), false); lib::IO::Warnings warnings; - auto result = inference.finalize(warnings, [&g](Vertex v) { + const bool printWarnings = true; + auto result = inference.finalize(warnings, printWarnings, [&g](Vertex v) { return std::to_string(get(boost::vertex_index_t(), get_graph(g), v)); }); - if(!getConfig().stereo.silenceDeductionWarnings.get()) - std::cout << warnings; + std::cout << warnings; result.throwIfError(); g.pStereo.reset(new PropStereo(get_graph(g), std::move(inference))); } diff --git a/libs/libmod/src/mod/lib/Graph/Properties/Molecule.cpp b/libs/libmod/src/mod/lib/Graph/Properties/Molecule.cpp index e92e6b3..d5c3805 100644 --- a/libs/libmod/src/mod/lib/Graph/Properties/Molecule.cpp +++ b/libs/libmod/src/mod/lib/Graph/Properties/Molecule.cpp @@ -14,10 +14,11 @@ namespace mod::lib::Graph { -PropMolecule::PropMolecule(const GraphType &g, const PropString &pString) : Base(g), isMolecule(true) { +PropMolecule::PropMolecule(const GraphType &g, const PropString &pString) + : Base(g), isMolecule(true), hasOnlyChemicalBonds(true) { // atomData this->vertexState.resize(num_vertices(g)); - for(Vertex v : asRange(vertices(g))) { + for(Vertex v: asRange(vertices(g))) { AtomId atomId; Isotope isotope; Charge charge; @@ -30,11 +31,14 @@ PropMolecule::PropMolecule(const GraphType &g, const PropString &pString) : Base // edgeData this->edgeState.reserve(num_edges(g)); - for(Edge e : asRange(edges(g))) { + for(Edge e: asRange(edges(g))) { BondType bt = Chem::decodeEdgeLabel(pString[e]); assert(get(boost::edge_index_t(), g, e) == this->edgeState.size()); this->edgeState.push_back(bt); - if(bt == BondType::Invalid) isMolecule = false; + if(bt == BondType::Invalid) { + isMolecule = false; + hasOnlyChemicalBonds = false; + } } verify(&g); @@ -44,12 +48,16 @@ bool PropMolecule::getIsMolecule() const { return isMolecule; } +bool PropMolecule::getHasOnlyChemicalBonds() const { + return hasOnlyChemicalBonds; +} + #ifdef MOD_HAVE_OPENBABEL const lib::Chem::OBMolHandle &PropMolecule::getOBMol() const { if(!isMolecule) { std::cout << "MoleculeState: Trying to create OpenBabel::OBMol from non-molecule." << std::endl - << "Should DepictionData be used instead?" << std::endl; + << "Should DepictionData be used instead?" << std::endl; MOD_ABORT; } if(!obMol) { @@ -70,7 +78,8 @@ double PropMolecule::getExactMass() const { const auto vs = vertices(*g); exactMass = std::accumulate(vs.first, vs.second, 0.0, [&](double val, const auto v) { const auto &ad = (*this)[v]; - return val + lib::Chem::exactMass(ad.getAtomId(), ad.getIsotope()) - lib::Chem::electronMass * ad.getCharge(); + return val + lib::Chem::exactMass(ad.getAtomId(), ad.getIsotope()) - + lib::Chem::electronMass * ad.getCharge(); }); } return *exactMass; @@ -80,8 +89,8 @@ double PropMolecule::getEnergy() const { if(!energy) { #ifndef MOD_HAVE_OPENBABEL throw FatalError(MOD_NO_OPENBABEL_ERROR_STR - + "\nEnergy calculation is not possible without Open Babel.\n" - + "Energy values can be manually cached on graphs if calculation is not desired."); + + "\nEnergy calculation is not possible without Open Babel.\n" + + "Energy values can be manually cached on graphs if calculation is not desired."); #else energy = getOBMol().getEnergy(false); #endif diff --git a/libs/libmod/src/mod/lib/Graph/Properties/Molecule.hpp b/libs/libmod/src/mod/lib/Graph/Properties/Molecule.hpp index d332f2a..ce931c8 100644 --- a/libs/libmod/src/mod/lib/Graph/Properties/Molecule.hpp +++ b/libs/libmod/src/mod/lib/Graph/Properties/Molecule.hpp @@ -17,6 +17,7 @@ struct PropMolecule : Prop { using Base::Prop; PropMolecule(const GraphType &g, const PropString &pString); bool getIsMolecule() const; + bool getHasOnlyChemicalBonds() const; #ifdef MOD_HAVE_OPENBABEL const lib::Chem::OBMolHandle &getOBMol() const; #endif @@ -24,7 +25,7 @@ struct PropMolecule : Prop { double getEnergy() const; void cacheEnergy(double value) const; private: - bool isMolecule; + bool isMolecule, hasOnlyChemicalBonds; mutable std::optional exactMass; #ifdef MOD_HAVE_OPENBABEL mutable lib::Chem::OBMolHandle obMol; diff --git a/libs/libmod/src/mod/lib/Graph/Single.cpp b/libs/libmod/src/mod/lib/Graph/Single.cpp index 3c12de9..0e999c04 100644 --- a/libs/libmod/src/mod/lib/Graph/Single.cpp +++ b/libs/libmod/src/mod/lib/Graph/Single.cpp @@ -41,6 +41,10 @@ const std::string getGraphName(unsigned int id) { } bool sanityCheck(const GraphType &g, const PropString &pString, std::ostream &s) { + if(num_vertices(g) == 0) { + s << "Graph::sanityCheck:\tempty graph" << std::endl; + return false; + } std::vector > edgesSorted; edgesSorted.reserve(num_edges(g)); for(Edge e: asRange(edges(g))) { @@ -143,7 +147,7 @@ const std::string &Single::getSmiles() const { } else { std::string text; text += "Graph " + boost::lexical_cast(getId()) + " with name '" + getName() + - "' is not a molecule.\n"; + "' is not a molecule.\n"; text += "Can not generate SMILES string. GraphDFS is\n\t" + getGraphDFS().first + "\n"; throw LogicError(std::move(text)); } @@ -163,7 +167,7 @@ const std::string &Single::getSmilesWithIds() const { } else { std::string text; text += "Graph " + boost::lexical_cast(getId()) + " with name '" + getName() + - "' is not a molecule.\n"; + "' is not a molecule.\n"; text += "Can not generate SMILES string. GraphDFS is\n\t" + getGraphDFS().first + "\n"; throw LogicError(std::move(text)); } @@ -223,7 +227,7 @@ const Single::CanonForm &Single::getCanonForm(LabelType labelType, bool withSter if(!canon_form_string) { assert(!aut_group_string); std::tie(canon_perm_string, canon_form_string, aut_group_string) = lib::Graph::getCanonForm(*this, labelType, - withStereo); + withStereo); } assert(canon_form_string); assert(aut_group_string); @@ -246,20 +250,20 @@ namespace GM_MOD = lib::GraphMorphism; template void morphism(const Single &gDomain, - const Single &gCodomain, - LabelSettings labelSettings, - Finder finder, - Callback callback) { + const Single &gCodomain, + LabelSettings labelSettings, + Finder finder, + Callback callback) { lib::GraphMorphism::morphismSelectByLabelSettings(gDomain.getLabelledGraph(), gCodomain.getLabelledGraph(), - labelSettings, finder, callback); + labelSettings, finder, callback); } template std::size_t morphismMax(const Single &gDomain, - const Single &gCodomain, - std::size_t maxNumMatches, - LabelSettings labelSettings, - Finder finder) { + const Single &gCodomain, + std::size_t maxNumMatches, + LabelSettings labelSettings, + Finder finder) { auto mr = GM::makeLimit(maxNumMatches); morphism(gDomain, gCodomain, labelSettings, finder, std::ref(mr)); return mr.getNumHits(); @@ -269,12 +273,14 @@ std::size_t isomorphismSmilesOrCanonOrVF2(const Single &gDom, const Single &gCod const auto &ggDom = gDom.getLabelledGraph(); const auto &ggCodom = gCodom.getLabelledGraph(); // first try if we can compare canonical SMILES strings - if(get_molecule(ggDom).getIsMolecule() && get_molecule(ggCodom).getIsMolecule() && - !getConfig().graph.useWrongSmilesCanonAlg.get()) + if(!labelSettings.withStereo + && get_molecule(ggDom).getIsMolecule() && get_molecule(ggCodom).getIsMolecule() + && !getConfig().graph.useWrongSmilesCanonAlg.get()) return gDom.getSmiles() == gCodom.getSmiles() ? 1 : 0; // otherwise maybe we can still do canonical form comparison - if(labelSettings.type == LabelType::String && !labelSettings.withStereo) { + if(labelSettings.type == LabelType::String && !labelSettings.withStereo + && get_molecule(ggDom).getHasOnlyChemicalBonds() && get_molecule(ggCodom).getHasOnlyChemicalBonds()) { return canonicalCompare(gDom, gCodom, labelSettings.type, labelSettings.withStereo) ? 1 : 0; } @@ -285,7 +291,7 @@ std::size_t isomorphismSmilesOrCanonOrVF2(const Single &gDom, const Single &gCod } // namespace std::size_t Single::isomorphismVF2(const Single &gDom, const Single &gCodom, std::size_t maxNumMatches, - LabelSettings labelSettings) { + LabelSettings labelSettings) { return morphismMax(gDom, gCodom, maxNumMatches, labelSettings, GM_MOD::VF2Isomorphism()); } @@ -294,22 +300,18 @@ bool Single::isomorphic(const Single &gDom, const Single &gCodom, LabelSettings const auto nDom = num_vertices(gDom.getGraph()); const auto nCodom = num_vertices(gCodom.getGraph()); if(nDom != nCodom) return false; // early bail-out - // this hax with name comparing is basically to make abstract derivation graphs - // TODO: remove it, so the name truly doesn't matter - if(nDom == 0) - return gDom.getName() == gCodom.getName(); if(&gDom == &gCodom) return true; switch(getConfig().graph.isomorphismAlg.get()) { - case Config::IsomorphismAlg::SmilesCanonVF2: - return isomorphismSmilesOrCanonOrVF2(gDom, gCodom, labelSettings); - case Config::IsomorphismAlg::VF2: - return isomorphismVF2(gDom, gCodom, 1, labelSettings); - case Config::IsomorphismAlg::Canon: - if(labelSettings.relation != LabelRelation::Isomorphism) - throw LogicError("Can only do isomorphism via canonicalisation with the isomorphism relation."); - if(labelSettings.withStereo && labelSettings.stereoRelation != LabelRelation::Isomorphism) - throw LogicError("Can only do isomorphism via canonicalisation with the isomorphism stereo relation."); - return canonicalCompare(gDom, gCodom, labelSettings.type, labelSettings.withStereo); + case Config::IsomorphismAlg::SmilesCanonVF2: + return isomorphismSmilesOrCanonOrVF2(gDom, gCodom, labelSettings); + case Config::IsomorphismAlg::VF2: + return isomorphismVF2(gDom, gCodom, 1, labelSettings); + case Config::IsomorphismAlg::Canon: + if(labelSettings.relation != LabelRelation::Isomorphism) + throw LogicError("Can only do isomorphism via canonicalisation with the isomorphism relation."); + if(labelSettings.withStereo && labelSettings.stereoRelation != LabelRelation::Isomorphism) + throw LogicError("Can only do isomorphism via canonicalisation with the isomorphism stereo relation."); + return canonicalCompare(gDom, gCodom, labelSettings.type, labelSettings.withStereo); } MOD_ABORT; } @@ -337,7 +339,7 @@ Single::monomorphism(const Single &gDom, const Single &gCodom, std::size_t maxNu namespace { auto makeMorphismEnumerationCallback(const Single &gDom, const Single &gCodom, - std::function)> callback) { + std::function)> callback) { return GM::makeSliceProps( // Slice away the properties for now GM::makeTransform( GM::ToInvertibleVectorVertexMap(), @@ -372,17 +374,17 @@ auto makeMorphismEnumerationCallback(const Single &gDom, const Single &gCodom, } // namespace void Single::enumerateIsomorphisms(const Single &gDom, const Single &gCodom, - std::function)> callback, - LabelSettings labelSettings) { + std::function)> callback, + LabelSettings labelSettings) { morphism(gDom, gCodom, labelSettings, GM_MOD::VF2Isomorphism(), - makeMorphismEnumerationCallback(gDom, gCodom, callback)); + makeMorphismEnumerationCallback(gDom, gCodom, callback)); } void Single::enumerateMonomorphisms(const Single &gDom, const Single &gCodom, - std::function)> callback, - LabelSettings labelSettings) { + std::function)> callback, + LabelSettings labelSettings) { morphism(gDom, gCodom, labelSettings, GM_MOD::VF2Monomorphism(), - makeMorphismEnumerationCallback(gDom, gCodom, callback)); + makeMorphismEnumerationCallback(gDom, gCodom, callback)); } bool Single::nameLess(const Single *g1, const Single *g2) { @@ -397,26 +399,26 @@ bool Single::canonicalCompare(const Single &g1, const Single &g2, LabelType labe } Single makePermutation(const Single &g) { - if(has_stereo(g.getLabelledGraph())) - throw mod::FatalError("Can not (yet) permute graphs with stereo information."); + // if(has_stereo(g.getLabelledGraph())) + // throw mod::FatalError("Can not (yet) permute graphs with stereo information."); std::unique_ptr pString; auto gBoost = lib::makePermutedGraph(g.getGraph(), - [&pString](GraphType &gNew) { - pString.reset(new PropString(gNew)); - }, - [&g, &pString](Vertex vOld, const GraphType &gOld, Vertex vNew, - GraphType &gNew) { - pString->addVertex(vNew, g.getStringState()[vOld]); - }, - [&g, &pString](Edge eOld, const GraphType &gOld, Edge eNew, GraphType &gNew) { - pString->addEdge(eNew, g.getStringState()[eOld]); - } + [&pString](GraphType &gNew) { + pString.reset(new PropString(gNew)); + }, + [&g, &pString](Vertex vOld, const GraphType &gOld, Vertex vNew, + GraphType &gNew) { + pString->addVertex(vNew, g.getStringState()[vOld]); + }, + [&g, &pString](Edge eOld, const GraphType &gOld, Edge eNew, GraphType &gNew) { + pString->addEdge(eNew, g.getStringState()[eOld]); + } ); Single gPerm(std::move(gBoost), std::move(pString), nullptr); if(getConfig().graph.checkIsoInPermutation.get()) { const bool iso = 1 == Single::isomorphismVF2(g, gPerm, 1, - {LabelType::String, LabelRelation::Isomorphism, false, - LabelRelation::Isomorphism}); + {LabelType::String, LabelRelation::Isomorphism, false, + LabelRelation::Isomorphism}); if(!iso) { Write::Options graphLike, molLike; graphLike.EdgesAsBonds(true).RaiseCharges(true).CollapseHydrogens(true).WithIndex(true); diff --git a/libs/libmod/src/mod/lib/GraphMorphism/CommonSubgraphFinder.hpp b/libs/libmod/src/mod/lib/GraphMorphism/CommonSubgraphFinder.hpp index 0ccb175..a08869e 100644 --- a/libs/libmod/src/mod/lib/GraphMorphism/CommonSubgraphFinder.hpp +++ b/libs/libmod/src/mod/lib/GraphMorphism/CommonSubgraphFinder.hpp @@ -42,7 +42,7 @@ struct CommonSubgraphFinder { auto idxCodomain = get(boost::vertex_index_t(), gCodomain); if(UseBoostCommonSubgraph) { if(maximum) { - // TOOD: this does actually not really work when part of the morphism definition is implemented in the MR. + // TODO: this does actually not really work when part of the morphism definition is implemented in the MR. // e.g., see the rc test 'A -> AAA' with 'ABA -> A' in term mode. // Make a test with terms that include variables that actually doesn't unify, so we get a wrong maximum. boost::mcgregor_common_subgraphs_maximum( @@ -55,7 +55,7 @@ struct CommonSubgraphFinder { } } else { if(maximum) { - // TOOD: this does actually not really work when part of the morphism definition is implemented in the MR. + // TODO: this does actually not really work when part of the morphism definition is implemented in the MR. // e.g., see the rc test 'A -> AAA' with 'ABA -> A' in term mode. // Make a test with terms that include variables that actually doesn't unify, so we get a wrong maximum. if(connected) diff --git a/libs/libmod/src/mod/lib/GraphMorphism/Finder.hpp b/libs/libmod/src/mod/lib/GraphMorphism/Finder.hpp index 7ba28bf..325cf44 100644 --- a/libs/libmod/src/mod/lib/GraphMorphism/Finder.hpp +++ b/libs/libmod/src/mod/lib/GraphMorphism/Finder.hpp @@ -4,12 +4,100 @@ #include namespace mod::lib::GraphMorphism { +namespace { + +template +std::vector::vertex_descriptor> +vertex_order_by_max_connectivity(const Graph &g) { + std::vector::vertex_descriptor> vertex_order, candidates; + vertex_order.reserve(num_vertices(g)); + candidates.reserve(num_vertices(g)); + std::vector deg(num_vertices(g), 0); + std::vector used(num_vertices(g), false), is_candidate(num_vertices(g), false); + +// std::cout << "graph:\n"; +// for(const auto v: asRange(vertices(g))) { +// std::cout << get(boost::vertex_index_t(), g, v) << ":"; +// for(const auto e: asRange(out_edges(v, g))) +// std::cout << " " << get(boost::vertex_index_t(), g, target(e, g)); +// std::cout << std::endl; +// } +// const auto print = [&](std::string header) { +// const auto printVec = [&](std::string prefix, const auto &vec) { +// std::cout << prefix; +// for(const auto &e: vec) std::cout << " " << e; +// std::cout << std::endl; +// }; +// std::cout << header << std::endl; +// printVec("vertex_order:", vertex_order); +// printVec("candidates: ", candidates); +// printVec("deg: ", deg); +// printVec("used: ", used); +// printVec("is_candidate:", is_candidate); +// }; +// +// print("start"); + const auto addNode = [&](auto v) { +// print("addNode(" + std::to_string(get(boost::vertex_index_t(), g, v)) + ")"); + const auto idx = get(boost::vertex_index_t(), g, v); + assert(!used[idx]); + used[idx] = true; + vertex_order.push_back(v); + for(const auto eOut: asRange(out_edges(v, g))) { + const auto vAdj = target(eOut, g); + const auto idxAdj = get(boost::vertex_index_t(), g, vAdj); + if(used[idxAdj]) continue; + ++deg[idxAdj]; + if(!is_candidate[idxAdj]) { + candidates.push_back(vAdj); + is_candidate[idxAdj] = true; + } + } + }; + while(true) { + const auto vs = vertices(g); + // Note, for filtered_graphs we don't actually know how many vertices we need, + // so we simply go until all are used. + auto cand = std::find_if(vs.first, vs.second, [&](auto v) { + return !used[get(boost::vertex_index_t(), g, v)]; + }); + if(cand == vs.second) + break; + auto idxCand = get(boost::vertex_index_t(), g, *cand); + for(auto iter = std::next(cand); iter != vs.second; ++iter) { + const auto idx = get(boost::vertex_index_t(), g, *iter); + if(used[idx]) continue; + if(deg[idx] > deg[idxCand]) { + cand = iter; + idxCand = idx; + } + } + addNode(*cand); + while(!candidates.empty()) { + const auto iter = std::max_element(candidates.begin(), candidates.end(), [&](auto a, auto b) { + const auto idx_a = get(boost::vertex_index_t(), g, a); + const auto idx_b = get(boost::vertex_index_t(), g, b); + return deg[idx_a] < deg[idx_b]; + }); + assert(iter != candidates.end()); + const auto v = *iter; + candidates.erase(iter); + addNode(v); + } + } + return vertex_order; +} + +} // namespace struct DefaultFinderArgsProvider { template friend std::vector::vertex_descriptor> get_vertex_order(const DefaultFinderArgsProvider &, const Graph &g) { - return jla_boost::GraphMorphism::vertex_order_by_mult(g); + if(getConfig().graph.vf2UseOrigVertexOrder.get()) + return jla_boost::GraphMorphism::vertex_order_by_mult(g); + else + return vertex_order_by_max_connectivity(g); } }; diff --git a/libs/libmod/src/mod/lib/GraphMorphism/TermVertexMap.hpp b/libs/libmod/src/mod/lib/GraphMorphism/TermVertexMap.hpp index e1447c0..a1da506 100644 --- a/libs/libmod/src/mod/lib/GraphMorphism/TermVertexMap.hpp +++ b/libs/libmod/src/mod/lib/GraphMorphism/TermVertexMap.hpp @@ -59,8 +59,8 @@ struct TermPredConstants { stack.emplace_back(addrLeft, addrRight); if constexpr(DEBUG) { std::cout << "TermConstEqual:\n"; - Term::Write::wam(machineLeft, Term::getStrings(), std::cout); - Term::Write::wam(machineRight, Term::getStrings(), std::cout); + Term::Write::wam(machineLeft, Term::getStrings(), IO::Logger(std::cout)); + Term::Write::wam(machineRight, Term::getStrings(), IO::Logger(std::cout)); } while(!stack.empty()) { std::size_t l, r; @@ -132,7 +132,7 @@ struct TermAssociationHandlerUnify { if(DEBUG) { auto &s = std::cout; s << "TermAssociationHandlerUnify:\n"; - Term::Write::wam(res, Term::getStrings(), s); + Term::Write::wam(res, Term::getStrings(), IO::Logger(s)); } res.unifyHeapTemp(r, l, mgu); if(DEBUG) { @@ -174,6 +174,7 @@ struct ToTermVertexMap { const auto &pCodomain = get_term(lgCodom); assert(isValid(pDomain)); assert(isValid(pCodomain)); + Term::Wam machine(getMachine(pCodomain)); machine.setTemp(getMachine(pDomain)); Term::MGU mgu(machine.getHeap().size()); diff --git a/libs/libmod/src/mod/lib/IO/GraphWriteGeneric.hpp b/libs/libmod/src/mod/lib/IO/GraphWriteGeneric.hpp index d81cb8d..bd73b30 100644 --- a/libs/libmod/src/mod/lib/IO/GraphWriteGeneric.hpp +++ b/libs/libmod/src/mod/lib/IO/GraphWriteGeneric.hpp @@ -478,7 +478,7 @@ void tikz(std::ostream &s, const Options &options, const Graph &g, const Depict } if(depict.getRadical(v)) { std::size_t auxRadicalPosition; - // first try the x/y axis + // first try the x/y-axis /**/ if((auxBlocked & Loc::R) == 0 && charge == 0) auxRadicalPosition = 0; else if((auxBlocked & Loc::T) == 0) auxRadicalPosition = 4; else if((auxBlocked & Loc::L) == 0) auxRadicalPosition = 8; @@ -541,7 +541,7 @@ void tikz(std::ostream &s, const Options &options, const Graph &g, const Depict // index, which were not already handled due to simple carbon if(!isSimpleCarbon[vId] && options.withIndex) { std::size_t auxIndexPosition; - // first try the x/y axis + // first try the x/y-axis /**/ if((auxBlocked & Loc::R_narrow) == 0) auxIndexPosition = 0; else if((auxBlocked & Loc::T_narrow) == 0) auxIndexPosition = 4; else if((auxBlocked & Loc::L_narrow) == 0) auxIndexPosition = 8; diff --git a/libs/libmod/src/mod/lib/IO/IO.cpp b/libs/libmod/src/mod/lib/IO/IO.cpp index 04b2f6b..0c5e1a1 100644 --- a/libs/libmod/src/mod/lib/IO/IO.cpp +++ b/libs/libmod/src/mod/lib/IO/IO.cpp @@ -2,6 +2,7 @@ #include +#include #include #include #include @@ -130,14 +131,14 @@ void postReopenCommandFile() { postStream.resetStream(); } -std::ostream &Logger::indent() const { - assert(indentLevel >= 0); - return s << std::string(indentLevel * 2, ' '); +std::ostream &Logger::indent(int offset) const { + assert(indentLevel + offset >= 0); + return s << std::string((indentLevel + offset) * 2, ' '); } std::ostream &Logger::sep(char c) const { assert(indentLevel >= 0); - return s << std::string(std::max(10, 80 - indentLevel * 2), c) << '\n'; + return indent() << std::string(std::max(10, 80 - indentLevel * 2), c) << '\n'; } } // namespace mod::lib::IO diff --git a/libs/libmod/src/mod/lib/IO/IO.hpp b/libs/libmod/src/mod/lib/IO/IO.hpp index 7fe7ab4..d973cfc 100644 --- a/libs/libmod/src/mod/lib/IO/IO.hpp +++ b/libs/libmod/src/mod/lib/IO/IO.hpp @@ -19,7 +19,7 @@ void postReopenCommandFile(); struct Logger { explicit Logger(std::ostream &s) : s(s) {} - std::ostream &indent() const; + std::ostream &indent(int offset = 0) const; std::ostream &sep(char c) const; public: std::ostream &s; diff --git a/libs/libmod/src/mod/lib/IO/Json.cpp b/libs/libmod/src/mod/lib/IO/Json.cpp index 114cc34..78d8ffc 100644 --- a/libs/libmod/src/mod/lib/IO/Json.cpp +++ b/libs/libmod/src/mod/lib/IO/Json.cpp @@ -54,13 +54,12 @@ bool validateJson(const nlohmann::json &j, struct ErrorHandler : nlohmann::json_schema::basic_error_handler { ErrorHandler(std::ostream &err, const std::string &msg) : err(err), msg(msg) {} - void error(const nlohmann::json_pointer> &pointer, + void error(const nlohmann::json::json_pointer &pointer, const nlohmann::json &instance, const std::string &message) override { nlohmann::json_schema::basic_error_handler::error(pointer, instance, message); err << msg << "\n\t" << message << " at " << pointer << " in\n\t" << instance << "\n"; } - public: std::ostream &err; const std::string &msg; diff --git a/libs/libmod/src/mod/lib/LabelledFilteredGraph.hpp b/libs/libmod/src/mod/lib/LabelledFilteredGraph.hpp new file mode 100644 index 0000000..43d7024 --- /dev/null +++ b/libs/libmod/src/mod/lib/LabelledFilteredGraph.hpp @@ -0,0 +1,48 @@ +#ifndef MOD_LIB_LABELLEDFILTEREDGRAPH_HPP +#define MOD_LIB_LABELLEDFILTEREDGRAPH_HPP + +#include + +#include + +namespace mod::lib { + +template +struct LabelledFilteredGraph { + using InnerGraph = typename LabelledGraphTraits::GraphType; +public: + using GraphType = jla_boost::FilteredWrapper; + using PropStringType = typename LabelledGraphTraits::PropStringType; + using PropTermType = typename LabelledGraphTraits::PropTermType; + using PropStereoType = typename LabelledGraphTraits::PropStereoType; +public: + LabelledFilteredGraph(const LGraph &lg) : lg(lg), g(jla_boost::makeFilteredWrapper(get_graph(lg))) {} + + friend const GraphType &get_graph(const LabelledFilteredGraph &g) { + return g.g; + } + + friend PropStringType get_string(const LabelledFilteredGraph &g) { + return get_string(g.lg); + } + + friend PropTermType get_term(const LabelledFilteredGraph &g) { + return get_term(g.lg); + } + + friend bool has_stereo(const LabelledFilteredGraph &g) { + return has_stereo(g.lg); + } + + friend PropStereoType get_stereo(const LabelledFilteredGraph &g) { + return get_stereo(g.lg); + } +private: + const LGraph ≶ + const GraphType g; +}; + + +} // namespace mod::lib + +#endif // MOD_LIB_LABELLEDFILTEREDGRAPH_HPP \ No newline at end of file diff --git a/libs/libmod/src/mod/lib/LabelledGraph.hpp b/libs/libmod/src/mod/lib/LabelledGraph.hpp index 4346563..9e831bc 100644 --- a/libs/libmod/src/mod/lib/LabelledGraph.hpp +++ b/libs/libmod/src/mod/lib/LabelledGraph.hpp @@ -1,6 +1,8 @@ #ifndef MOD_LIB_LABELLEDGRAPH_HPP #define MOD_LIB_LABELLEDGRAPH_HPP +#include + #include namespace mod::lib { @@ -26,6 +28,8 @@ struct LabelledGraphConcept { [[maybe_unused]] const GraphType &gConst = get_graph(gOuterConst); [[maybe_unused]] const PropStringType &pString = get_string(gOuterConst); [[maybe_unused]] const PropTermType &pTerm = get_term(gOuterConst); + [[maybe_unused]] const bool pIsValid = isValid(pTerm); + [[maybe_unused]] const lib::Term::Wam &machine = getMachine(pTerm); [[maybe_unused]] const bool hasStereo = has_stereo(gOuterConst); [[maybe_unused]] const PropStereoType &pStereo = get_stereo(gOuterConst); } @@ -52,7 +56,7 @@ struct IdentityPropertyHandler { } template - static auto reduce(Op &&op, Val &&val) { + static auto reduce(Op &&, Val &&val) { return std::forward(val); } }; diff --git a/libs/libmod/src/mod/lib/LabelledUnionGraph.hpp b/libs/libmod/src/mod/lib/LabelledUnionGraph.hpp index 4831da6..014c17b 100644 --- a/libs/libmod/src/mod/lib/LabelledUnionGraph.hpp +++ b/libs/libmod/src/mod/lib/LabelledUnionGraph.hpp @@ -5,6 +5,8 @@ #include +#include + namespace mod::lib { namespace detail { @@ -21,11 +23,18 @@ struct UnionPropBase { const std::vector &lgs; }; -#define MOD_MAKE_UNION_PROP(Name, Func) \ +#define MOD_MAKE_UNION_PROP_MIN(Name, Func) \ template \ struct UnionProp ## Name : UnionPropBase { \ using Base = UnionPropBase; \ + using Handler = typename LGraph::Prop ## Name ## Type::Handler; \ public: \ + template \ + friend decltype(auto) get(const UnionProp ## Name &up, const K &k) { \ + return up[k]; \ + } + +#define MOD_MAKE_UNION_PROP(Name, Func) MOD_MAKE_UNION_PROP_MIN(Name, Func) \ using Base::Base; \ \ decltype(auto) operator[](const typename Base::Vertex v) const { \ @@ -34,17 +43,56 @@ struct UnionPropBase { \ decltype(auto) operator[](const typename Base::Edge e) const { \ return get_ ## Func(*this->lgs[e.gIdx])[e.e]; \ - } \ - \ - template \ - friend decltype(auto) get(const UnionProp ## Name &up, const K &k) { \ - return up[k]; \ - } \ - }; + } + MOD_MAKE_UNION_PROP(String, string) -MOD_MAKE_UNION_PROP(Term, term) +}; +MOD_MAKE_UNION_PROP_MIN(Term, term) + UnionPropTerm(const std::vector &lgs) : Base(lgs) { + update(); + } + + decltype(auto) operator[](const typename Base::Vertex v) const { + return get_term(*this->lgs[v.gIdx])[v.v] + offsets[v.gIdx]; + } + + decltype(auto) operator[](const typename Base::Edge e) const { + return get_term(*this->lgs[e.gIdx])[e.e] + offsets[e.gIdx]; + } + + void update() { + for(unsigned int i = offsets.size(); i != this->lgs.size(); ++i) { + offsets.push_back(m.getHeap().size()); + m.appendHeapFrom(getMachine(get_term(*this->lgs[i]))); + } + } + + const std::string &getParsingError() const { + assert(!isValid(*this)); + for(const auto *g: this->lgs) + if(!isValid(get_term(*g))) + return get_term(*g).getParsingError(); + __builtin_unreachable(); + } + + friend bool isValid(const UnionPropTerm &up) { + for(const auto *g: up.lgs) + if(!isValid(get_term(*g))) + return false; + return true; + } + + friend const lib::Term::Wam &getMachine(const UnionPropTerm &up) { + return up.m; + } +private: + lib::Term::Wam m; + std::vector offsets; +}; MOD_MAKE_UNION_PROP(Stereo, stereo) +}; MOD_MAKE_UNION_PROP(Molecule, molecule) +}; #undef MOD_MAKE_UNION_PROP } // namespace detail @@ -54,30 +102,32 @@ struct LabelledUnionGraph { using InnerGraph = typename LabelledGraphTraits::GraphType; public: using GraphType = jla_boost::union_graph; - using PropString = detail::UnionPropString; - using PropTerm = detail::UnionPropTerm; - using PropStereo = detail::UnionPropStereo; + using PropStringType = detail::UnionPropString; + using PropTermType = detail::UnionPropTerm; + using PropStereoType = detail::UnionPropStereo; using PropMolecule = detail::UnionPropMolecule; public: void push_back(const LGraph *lg) { lgs.push_back(lg); ug.push_back(&get_graph(*lg)); + if(pTerm) pTerm->update(); } public: friend const GraphType &get_graph(const LabelledUnionGraph &lug) { return lug.ug; } - friend PropString get_string(const LabelledUnionGraph &lug) { - return PropString(lug.lgs); + friend PropStringType get_string(const LabelledUnionGraph &lug) { + return PropStringType(lug.lgs); } - friend PropTerm get_term(const LabelledUnionGraph &lug) { - return PropTerm(lug.lgs); + friend const PropTermType &get_term(const LabelledUnionGraph &lug) { + if(!lug.pTerm) lug.pTerm.emplace(lug.lgs); + return *lug.pTerm; } - friend PropStereo get_stereo(const LabelledUnionGraph &lug) { - return PropStereo(lug.lgs); + friend PropStereoType get_stereo(const LabelledUnionGraph &lug) { + return PropStereoType(lug.lgs); } friend bool has_stereo(const LabelledUnionGraph &lug) { @@ -92,6 +142,7 @@ struct LabelledUnionGraph { private: std::vector lgs; GraphType ug; + mutable std::optional pTerm; }; } // namesapce mod::lib diff --git a/libs/libmod/src/mod/lib/RC/Compose.hpp b/libs/libmod/src/mod/lib/RC/Compose.hpp index 8d46179..caee48f 100644 --- a/libs/libmod/src/mod/lib/RC/Compose.hpp +++ b/libs/libmod/src/mod/lib/RC/Compose.hpp @@ -15,7 +15,7 @@ namespace mod::lib::RC { template -bool compose(Result &result, +bool compose(IO::Logger logger, Result &result, const RuleFirst &rFirst, const RuleSecond &rSecond, const InvertibleVertexMap &match, VisitorT visitor) { // match must be rSecond -> rFirst @@ -27,7 +27,7 @@ bool compose(Result &result, BOOST_CONCEPT_ASSERT((jla_boost::GraphMorphism::InvertibleVertexMapConcept)); return detail::CompositionHelper(result, rFirst, rSecond, match, - Visitor::makeVisitor(std::move(visitor)))(); + Visitor::makeVisitor(std::move(visitor)))(logger); } } // namespace mod::lib::RC diff --git a/libs/libmod/src/mod/lib/RC/ComposeRuleRealGeneric.hpp b/libs/libmod/src/mod/lib/RC/ComposeRuleRealGeneric.hpp index 4d7d995..f778dd3 100644 --- a/libs/libmod/src/mod/lib/RC/ComposeRuleRealGeneric.hpp +++ b/libs/libmod/src/mod/lib/RC/ComposeRuleRealGeneric.hpp @@ -20,13 +20,13 @@ struct Sub; struct Super; template -std::optional composeRuleRealByMatch(const lib::Rules::Real &rFirst, - const lib::Rules::Real &rSecond, - InvertibleVertexMap &match) { +std::optional composeRuleRealByMatch( + IO::Logger logger, const lib::Rules::Real &rFirst, const lib::Rules::Real &rSecond, + InvertibleVertexMap &match) { auto visitor = Visitor::MatchConstraints(rFirst.getDPORule(), rSecond.getDPORule()); LabelledResult result(rFirst.getDPORule().getRule(), rSecond.getDPORule().getRule()); const bool success = composeLabelled( - result, rFirst.getDPORule(), rSecond.getDPORule(), match, visitor); + logger, result, rFirst.getDPORule(), rSecond.getDPORule(), match, visitor); if(success) { assert(result.pString || result.pTerm); auto rule = result.pString @@ -49,8 +49,9 @@ std::unique_ptr composeRuleRealByMatch(const lib::Rules::Real ++logger.indentLevel; } auto resultOpt = verbose - ? composeRuleRealByMatch(rFirst, rSecond, match) - : composeRuleRealByMatch(rFirst, rSecond, match); + ? composeRuleRealByMatch(logger, rFirst, rSecond, match) + : composeRuleRealByMatch(logger, rFirst, rSecond, match); + if(verbose) --logger.indentLevel; if(!resultOpt) { if(verbose) logger.indent() << "Composition failed" << std::endl; return nullptr; @@ -77,16 +78,20 @@ struct MatchMakerCallback { constexpr LabelType labelType = HasTerm::value ? LabelType::Term : LabelType::String; if(verbose) { logger.indent() << "RuleComp: " << rFirst.getName() << " with " << rSecond.getName() << std::endl; - logger.indent() << " hasTerm=" << std::boolalpha << HasTerm::value << ", hasStereo=" << HasStereo::value << std::endl; - logger.indent() << " map:"; + ++logger.indentLevel; + logger.indent() << "hasTerm=" << std::boolalpha << HasTerm::value << ", hasStereo=" << HasStereo::value + << std::endl; + logger.indent() << "map:"; const auto &gFirst = get_R_projected(rFirst.getDPORule()); const auto &gSecond = get_L_projected(rSecond.getDPORule()); bool first = true; for(const auto vSecond: asRange(vertices(gSecond))) { const auto vFirst = get(m, gSecond, gFirst, vSecond); if(vFirst == gFirst.null_vertex()) continue; - if(first) logger.s << " "; - else logger.s << ", "; + if(first) { + logger.s << " "; + first = false; + } else logger.s << ", "; logger.s << "(" << get(boost::vertex_index_t(), gFirst, vFirst) << ", " << get(boost::vertex_index_t(), gSecond, vSecond) << ")"; } diff --git a/libs/libmod/src/mod/lib/RC/Evaluator.cpp b/libs/libmod/src/mod/lib/RC/Evaluator.cpp index 4ca8b0d..6847ca7 100644 --- a/libs/libmod/src/mod/lib/RC/Evaluator.cpp +++ b/libs/libmod/src/mod/lib/RC/Evaluator.cpp @@ -17,8 +17,8 @@ namespace mod::lib::RC { namespace { struct EvalVisitor : public boost::static_visitor>> { - EvalVisitor(int verbosity, IO::Logger logger, Evaluator &evaluator) - : verbosity(verbosity), logger(logger), evaluator(evaluator) {} + EvalVisitor(bool onlyUnique, int verbosity, IO::Logger logger, Evaluator &evaluator) + : onlyUnique(onlyUnique), verbosity(verbosity), logger(logger), evaluator(evaluator) {} // Nullary/unary //---------------------------------------------------------------------- @@ -28,12 +28,20 @@ struct EvalVisitor : public boost::static_visitor> operator()(const rule::RCExp::Union &par) { - std::vector> result; - for(const auto &subExp : par.getExpressions()) { - auto subRes = subExp.applyVisitor(*this); - result.insert(end(result), begin(subRes), end(subRes)); + const auto doIt = [&par, this](auto &result) { + for(const auto &subExp : par.getExpressions()) + for(const auto &r: subExp.applyVisitor(*this)) + result.insert(result.end(), r); + }; + if(onlyUnique) { + std::unordered_set> result; + doIt(result); + return {result.begin(), result.end()}; + } else { + std::vector> result; + doIt(result); + return result; } - return result; } std::vector> operator()(const rule::RCExp::Bind &bind) { @@ -60,31 +68,40 @@ struct EvalVisitor : public boost::static_visitor std::vector> composeTemplate( const rule::RCExp::ComposeBase &compose, Composer composer) { - auto firstResult = compose.getFirst().applyVisitor(*this); - auto secondResult = compose.getSecond().applyVisitor(*this); - std::vector > result; - for(auto rFirst : firstResult) { - for(auto rSecond : secondResult) { - std::vector resultVec; - auto reporter = [&resultVec](std::unique_ptr r) { - resultVec.push_back(r.release()); - return true; - }; - composer(rFirst->getRule(), rSecond->getRule(), reporter); - for(auto *r : resultVec) { - if(compose.getDiscardNonchemical() && !r->isChemical()) { - delete r; - continue; + const auto doIt = [&compose, &composer, this](auto &result) { + auto firstResult = compose.getFirst().applyVisitor(*this); + auto secondResult = compose.getSecond().applyVisitor(*this); + for(auto rFirst : firstResult) { + for(auto rSecond : secondResult) { + std::vector resultVec; + auto reporter = [&resultVec](std::unique_ptr r) { + resultVec.push_back(r.release()); + return true; + }; + composer(rFirst->getRule(), rSecond->getRule(), reporter); + for(auto *r: resultVec) { + if(compose.getDiscardNonchemical() && !r->isChemical()) { + delete r; + continue; + } + auto rWrapped = evaluator.checkIfNew(r); + bool isNew = evaluator.addRule(rWrapped); + if(isNew) evaluator.giveProductStatus(rWrapped); + evaluator.suggestComposition(&rFirst->getRule(), &rSecond->getRule(), &rWrapped->getRule()); + result.insert(result.end(), rWrapped); } - auto rWrapped = evaluator.checkIfNew(r); - bool isNew = evaluator.addRule(rWrapped); - if(isNew) evaluator.giveProductStatus(rWrapped); - evaluator.suggestComposition(&rFirst->getRule(), &rSecond->getRule(), &rWrapped->getRule()); - result.push_back(rWrapped); } } + }; + if(onlyUnique) { + std::unordered_set> result; + doIt(result); + return {result.begin(), result.end()}; + } else { + std::vector> result; + doIt(result); + return result; } - return result; } std::vector> operator()(const rule::RCExp::ComposeCommon &common) { @@ -133,6 +150,7 @@ struct EvalVisitor : public boost::static_visitor> &Evaluator::getProducts() return products; } -std::vector> Evaluator::eval(const rule::RCExp::Expression &exp, int verbosity) { +std::vector> Evaluator::eval(const rule::RCExp::Expression &exp, bool onlyUnique, int verbosity) { struct PreEvalVisitor : public boost::static_visitor { PreEvalVisitor(Evaluator &evaluator) : evaluator(evaluator) {} @@ -221,7 +239,7 @@ std::vector> Evaluator::eval(const rule::RCExp::Expr Evaluator &evaluator; }; exp.applyVisitor(PreEvalVisitor(*this)); - auto result = exp.applyVisitor(EvalVisitor(verbosity, IO::Logger(std::cout), *this)); + auto result = exp.applyVisitor(EvalVisitor(onlyUnique, verbosity, IO::Logger(std::cout), *this)); return result; } diff --git a/libs/libmod/src/mod/lib/RC/Evaluator.hpp b/libs/libmod/src/mod/lib/RC/Evaluator.hpp index db16136..0575a64 100644 --- a/libs/libmod/src/mod/lib/RC/Evaluator.hpp +++ b/libs/libmod/src/mod/lib/RC/Evaluator.hpp @@ -38,7 +38,7 @@ struct Evaluator { Evaluator(std::unordered_set> database, LabelSettings labelSettings); const std::unordered_set> &getRuleDatabase() const; const std::unordered_set> &getProducts() const; - std::vector> eval(const rule::RCExp::Expression &exp, int verbosity); + std::vector> eval(const rule::RCExp::Expression &exp, bool onlyUnique, int verbosity); void print() const; const GraphType &getGraph() const; public: // evaluation interface diff --git a/libs/libmod/src/mod/lib/RC/LabelledComposition.hpp b/libs/libmod/src/mod/lib/RC/LabelledComposition.hpp index bc62161..e3d4ecb 100644 --- a/libs/libmod/src/mod/lib/RC/LabelledComposition.hpp +++ b/libs/libmod/src/mod/lib/RC/LabelledComposition.hpp @@ -16,11 +16,11 @@ namespace mod::lib::RC { namespace detail { template -bool composeLabelledFinallyDoIt(Result &result, +bool composeLabelledFinallyDoIt(IO::Logger logger, Result &result, const lib::Rules::LabelledRule &rFirst, const lib::Rules::LabelledRule &rSecond, InvertibleVertexMap &match, VisitorT visitor) { - return compose(result, rFirst.getRule(), rSecond.getRule(), match, std::move(visitor)); + return compose(logger, result, rFirst.getRule(), rSecond.getRule(), match, std::move(visitor)); } template @@ -61,11 +61,12 @@ struct WithStereoVisitor { template -bool composeLabelled(Result &result, const lib::Rules::LabelledRule &rFirst, const lib::Rules::LabelledRule &rSecond, +bool composeLabelled(IO::Logger logger, Result &result, + const lib::Rules::LabelledRule &rFirst, const lib::Rules::LabelledRule &rSecond, InvertibleVertexMap &match, VisitorT visitor = Visitor::Null()) { return detail::composeLabelledFinallyDoIt( - result, rFirst, rSecond, match, + logger, result, rFirst, rSecond, match, Visitor::makeVisitor( std::move(visitor), detail::LabelTypeToVisitor::make(rFirst, rSecond), diff --git a/libs/libmod/src/mod/lib/RC/MatchBuilder.cpp b/libs/libmod/src/mod/lib/RC/MatchBuilder.cpp index 3b73548..f88d344 100644 --- a/libs/libmod/src/mod/lib/RC/MatchBuilder.cpp +++ b/libs/libmod/src/mod/lib/RC/MatchBuilder.cpp @@ -57,7 +57,7 @@ void MatchBuilder::pop() { std::unique_ptr MatchBuilder::compose(bool verbose) const { auto ls = labelSettings; - // specialization for the morphisms R1 <- M -> L2 means the direct map L2 -> R1 should use unification + // specialization for the morphisms R1 <- M -> L2 means the direct map L2 -> R1 should use unification, // so it models doing the pushout of the span if(ls.relation == LabelRelation::Specialisation) ls.relation = LabelRelation::Unification; @@ -76,7 +76,7 @@ std::unique_ptr MatchBuilder::compose(bool verbose) const { std::vector> MatchBuilder::composeAll(bool maximum, bool verbose) const { auto ls = labelSettings; - // specialization for the morphisms R1 <- M -> L2 means the direct map L2 -> R1 should use unification + // specialization for the morphisms R1 <- M -> L2 means the direct map L2 -> R1 should use unification, // so it models doing the pushout of the span if(ls.relation == LabelRelation::Specialisation) ls.relation = LabelRelation::Unification; diff --git a/libs/libmod/src/mod/lib/RC/Visitor/Compound.hpp b/libs/libmod/src/mod/lib/RC/Visitor/Compound.hpp index 877cf17..2eb320d 100644 --- a/libs/libmod/src/mod/lib/RC/Visitor/Compound.hpp +++ b/libs/libmod/src/mod/lib/RC/Visitor/Compound.hpp @@ -12,36 +12,40 @@ struct Compound { template<> struct Compound<> { template - bool init(const RuleFirst &rFirst, const RuleSecond &rSecond, InvertibleVertexMap &match, Result &result) { + bool init(IO::Logger logger, const RuleFirst &rFirst, const RuleSecond &rSecond, InvertibleVertexMap &match, Result &result) { return true; } template - bool finalize(const RuleFirst &rFirst, const RuleSecond &rSecond, InvertibleVertexMap &match, Result &result) { + bool finalize(IO::Logger logger, const RuleFirst &rFirst, const RuleSecond &rSecond, InvertibleVertexMap &match, Result &result) { return true; } public: template - void copyVertexFirst(const RuleFirst &rFirst, const RuleSecond &rSecond, const InvertibleVertexMap &match, + void copyVertexFirst(IO::Logger logger, + const RuleFirst &rFirst, const RuleSecond &rSecond, const InvertibleVertexMap &match, const Result &result, const VertexFirst &vFirst, const VertexResult &vResult) {} template - void copyVertexSecond(const RuleFirst &rFirst, const RuleSecond &rSecond, const InvertibleVertexMap &match, + void copyVertexSecond(IO::Logger logger, + const RuleFirst &rFirst, const RuleSecond &rSecond, const InvertibleVertexMap &match, const Result &result, const VertexSecond &vSecond, const VertexResult &vResult) {} template - void copyEdgeFirst(const RuleFirst &rFirst, const RuleSecond &rSecond, const InvertibleVertexMap &match, + void copyEdgeFirst(IO::Logger logger, + const RuleFirst &rFirst, const RuleSecond &rSecond, const InvertibleVertexMap &match, const Result &result, const EdgeFirst &eFirst, const EdgeResult &eResult) {} template - void copyEdgeSecond(const RuleFirst &rFirst, const RuleSecond &rSecond, const InvertibleVertexMap &match, + void copyEdgeSecond(IO::Logger logger, + const RuleFirst &rFirst, const RuleSecond &rSecond, const InvertibleVertexMap &match, const Result &result, const EdgeSecond &eSecond, const EdgeResult &eResult) {} public: @@ -72,25 +76,29 @@ struct Compound<> { public: template - void composeVertexRvsLR(const RuleFirst &rFirst, const RuleSecond &rSecond, const InvertibleVertexMap &match, + void composeVertexRvsLR(IO::Logger logger, + const RuleFirst &rFirst, const RuleSecond &rSecond, const InvertibleVertexMap &match, const Result &result, VertexResult vResult, VertexSecond vSecond) {} template - void composeVertexLRvsL(const RuleFirst &rFirst, const RuleSecond &rSecond, const InvertibleVertexMap &match, + void composeVertexLRvsL(IO::Logger logger, + const RuleFirst &rFirst, const RuleSecond &rSecond, const InvertibleVertexMap &match, const Result &result, VertexResult vResult, VertexSecond vSecond) {} template - void composeVertexLRvsLR(const RuleFirst &rFirst, const RuleSecond &rSecond, const InvertibleVertexMap &match, + void composeVertexLRvsLR(IO::Logger logger, + const RuleFirst &rFirst, const RuleSecond &rSecond, const InvertibleVertexMap &match, const Result &result, VertexResult vResult, VertexSecond vSecond) {} public: template - void setEdgeResultRightFromSecondRight(const RuleFirst &rFirst, const RuleSecond &rSecond, + void setEdgeResultRightFromSecondRight(IO::Logger logger, + const RuleFirst &rFirst, const RuleSecond &rSecond, const InvertibleVertexMap &match, const Result &result, EdgeResult eResult, EdgeSecond eSecond) {} }; @@ -103,51 +111,55 @@ struct Compound : Compound { : Base(std::move(visitors)...), visitor(std::move(visitor)) {} template - bool init(const RuleFirst &rFirst, const RuleSecond &rSecond, InvertibleVertexMap &match, Result &result) { - bool res = visitor.template init(rFirst, rSecond, match, result); - return res && Base::template init(rFirst, rSecond, match, result); + bool init(IO::Logger logger, const RuleFirst &rFirst, const RuleSecond &rSecond, InvertibleVertexMap &match, Result &result) { + bool res = visitor.template init(logger, rFirst, rSecond, match, result); + return res && Base::template init(logger, rFirst, rSecond, match, result); } template - bool finalize(const RuleFirst &rFirst, const RuleSecond &rSecond, InvertibleVertexMap &match, Result &result) { - bool res = visitor.template finalize(rFirst, rSecond, match, result); - return res && Base::template finalize(rFirst, rSecond, match, result); + bool finalize(IO::Logger logger, const RuleFirst &rFirst, const RuleSecond &rSecond, InvertibleVertexMap &match, Result &result) { + bool res = visitor.template finalize(logger, rFirst, rSecond, match, result); + return res && Base::template finalize(logger, rFirst, rSecond, match, result); } public: template - void copyVertexFirst(const RuleFirst &rFirst, const RuleSecond &rSecond, const InvertibleVertexMap &match, + void copyVertexFirst(IO::Logger logger, + const RuleFirst &rFirst, const RuleSecond &rSecond, const InvertibleVertexMap &match, const Result &result, const VertexFirst &vFirst, const VertexResult &vResult) { - visitor.template copyVertexFirst(rFirst, rSecond, match, result, vFirst, vResult); - Base::template copyVertexFirst(rFirst, rSecond, match, result, vFirst, vResult); + visitor.template copyVertexFirst(logger, rFirst, rSecond, match, result, vFirst, vResult); + Base::template copyVertexFirst(logger, rFirst, rSecond, match, result, vFirst, vResult); } template - void copyVertexSecond(const RuleFirst &rFirst, const RuleSecond &rSecond, const InvertibleVertexMap &match, + void copyVertexSecond(IO::Logger logger, + const RuleFirst &rFirst, const RuleSecond &rSecond, const InvertibleVertexMap &match, const Result &result, const VertexSecond &vSecond, const VertexResult &vResult) { - visitor.template copyVertexSecond(rFirst, rSecond, match, result, vSecond, vResult); - Base::template copyVertexSecond(rFirst, rSecond, match, result, vSecond, vResult); + visitor.template copyVertexSecond(logger, rFirst, rSecond, match, result, vSecond, vResult); + Base::template copyVertexSecond(logger, rFirst, rSecond, match, result, vSecond, vResult); } template - void copyEdgeFirst(const RuleFirst &rFirst, const RuleSecond &rSecond, const InvertibleVertexMap &match, + void copyEdgeFirst(IO::Logger logger, + const RuleFirst &rFirst, const RuleSecond &rSecond, const InvertibleVertexMap &match, const Result &result, const EdgeFirst &eFirst, const EdgeResult &eResult) { - visitor.template copyEdgeFirst(rFirst, rSecond, match, result, eFirst, eResult); - Base::template copyEdgeFirst(rFirst, rSecond, match, result, eFirst, eResult); + visitor.template copyEdgeFirst(logger, rFirst, rSecond, match, result, eFirst, eResult); + Base::template copyEdgeFirst(logger, rFirst, rSecond, match, result, eFirst, eResult); } template - void copyEdgeSecond(const RuleFirst &rFirst, const RuleSecond &rSecond, const InvertibleVertexMap &match, + void copyEdgeSecond(IO::Logger logger, + const RuleFirst &rFirst, const RuleSecond &rSecond, const InvertibleVertexMap &match, const Result &result, const EdgeSecond &eSecond, const EdgeResult &eResult) { - visitor.template copyEdgeSecond(rFirst, rSecond, match, result, eSecond, eResult); - Base::template copyEdgeSecond(rFirst, rSecond, match, result, eSecond, eResult); + visitor.template copyEdgeSecond(logger, rFirst, rSecond, match, result, eSecond, eResult); + Base::template copyEdgeSecond(logger, rFirst, rSecond, match, result, eSecond, eResult); } public: template @@ -192,38 +204,42 @@ struct Compound : Compound { public: template - void composeVertexRvsLR(const RuleFirst &rFirst, const RuleSecond &rSecond, const InvertibleVertexMap &match, + void composeVertexRvsLR(IO::Logger logger, + const RuleFirst &rFirst, const RuleSecond &rSecond, const InvertibleVertexMap &match, const Result &result, VertexResult vResult, VertexSecond vSecond) { - visitor.template composeVertexRvsLR(rFirst, rSecond, match, result, vResult, vSecond); - Base::template composeVertexRvsLR(rFirst, rSecond, match, result, vResult, vSecond); + visitor.template composeVertexRvsLR(logger, rFirst, rSecond, match, result, vResult, vSecond); + Base::template composeVertexRvsLR(logger, rFirst, rSecond, match, result, vResult, vSecond); } template - void composeVertexLRvsL(const RuleFirst &rFirst, const RuleSecond &rSecond, const InvertibleVertexMap &match, + void composeVertexLRvsL(IO::Logger logger, + const RuleFirst &rFirst, const RuleSecond &rSecond, const InvertibleVertexMap &match, const Result &result, VertexResult vResult, VertexSecond vSecond) { - visitor.template composeVertexLRvsL(rFirst, rSecond, match, result, vResult, vSecond); - Base::template composeVertexLRvsL(rFirst, rSecond, match, result, vResult, vSecond); + visitor.template composeVertexLRvsL(logger, rFirst, rSecond, match, result, vResult, vSecond); + Base::template composeVertexLRvsL(logger, rFirst, rSecond, match, result, vResult, vSecond); } template - void composeVertexLRvsLR(const RuleFirst &rFirst, const RuleSecond &rSecond, const InvertibleVertexMap &match, + void composeVertexLRvsLR(IO::Logger logger, + const RuleFirst &rFirst, const RuleSecond &rSecond, const InvertibleVertexMap &match, const Result &result, VertexResult vResult, VertexSecond vSecond) { - visitor.template composeVertexLRvsLR(rFirst, rSecond, match, result, vResult, vSecond); - Base::template composeVertexLRvsLR(rFirst, rSecond, match, result, vResult, vSecond); + visitor.template composeVertexLRvsLR(logger, rFirst, rSecond, match, result, vResult, vSecond); + Base::template composeVertexLRvsLR(logger, rFirst, rSecond, match, result, vResult, vSecond); } public: template - void setEdgeResultRightFromSecondRight(const RuleFirst &rFirst, const RuleSecond &rSecond, + void setEdgeResultRightFromSecondRight(IO::Logger logger, + const RuleFirst &rFirst, const RuleSecond &rSecond, const InvertibleVertexMap &match, const Result &result, EdgeResult eResult, EdgeSecond eSecond) { - visitor.template setEdgeResultRightFromSecondRight(rFirst, rSecond, match, result, eResult, eSecond); - Base::template setEdgeResultRightFromSecondRight(rFirst, rSecond, match, result, eResult, eSecond); + visitor.template setEdgeResultRightFromSecondRight(logger, rFirst, rSecond, match, result, eResult, eSecond); + Base::template setEdgeResultRightFromSecondRight(logger, rFirst, rSecond, match, result, eResult, eSecond); } private: Visitor visitor; diff --git a/libs/libmod/src/mod/lib/RC/Visitor/MatchConstraints.hpp b/libs/libmod/src/mod/lib/RC/Visitor/MatchConstraints.hpp index b99b182..64ca31b 100644 --- a/libs/libmod/src/mod/lib/RC/Visitor/MatchConstraints.hpp +++ b/libs/libmod/src/mod/lib/RC/Visitor/MatchConstraints.hpp @@ -168,7 +168,7 @@ struct MatchConstraints : Null { : rFirst(rFirst), rSecond(rSecond) {} template - bool finalize(const lib::DPO::CombinedRule &dpoFirst, const lib::DPO::CombinedRule &dpoSecond, + bool finalize(IO::Logger logger, const lib::DPO::CombinedRule &dpoFirst, const lib::DPO::CombinedRule &dpoSecond, InvertibleVertexMap &match, Result &result) { using RuleFirst = lib::Rules::LabelledRule; using RuleSecond = lib::Rules::LabelledRule; diff --git a/libs/libmod/src/mod/lib/RC/Visitor/Stereo.hpp b/libs/libmod/src/mod/lib/RC/Visitor/Stereo.hpp index 1775828..6eb885c 100644 --- a/libs/libmod/src/mod/lib/RC/Visitor/Stereo.hpp +++ b/libs/libmod/src/mod/lib/RC/Visitor/Stereo.hpp @@ -59,7 +59,7 @@ struct Stereo { : rFirst(rFirst), rSecond(rSecond) {} template - bool init(const lib::DPO::CombinedRule &dpoFirst, const lib::DPO::CombinedRule &dpoSecond, + bool init(IO::Logger logger, const lib::DPO::CombinedRule &dpoFirst, const lib::DPO::CombinedRule &dpoSecond, InvertibleVertexMap &match, Result &result) { assert(&dpoFirst == &rFirst.getRule()); assert(&dpoSecond == &rSecond.getRule()); @@ -67,7 +67,7 @@ struct Stereo { } template - bool finalize(const lib::DPO::CombinedRule &dpoFirst, const lib::DPO::CombinedRule &dpoSecond, + bool finalize(IO::Logger loggerOrig, const lib::DPO::CombinedRule &dpoFirst, const lib::DPO::CombinedRule &dpoSecond, InvertibleVertexMap &match, Result &result) { const auto &gFirst = get_graph(rFirst); const auto &gSecond = get_graph(rSecond); @@ -78,6 +78,7 @@ struct Stereo { return lib::Stereo::getGeometryGraph().getGraph()[vGeo].name; }; const auto copyAllFromSide = [&]( + IO::Logger logger, const auto safe, const auto &glSide, const auto &vInput, const auto &gInput, const auto &mInputToResult, const auto &vResult, @@ -87,7 +88,7 @@ struct Stereo { auto &data = vData[vResultId]; const auto &conf = *get_stereo(glSide)[vInput]; data.vGeometry = conf.getGeometryVertex(); - if(Verbose) std::cout << "\tGeometry: " << getGeoName(data.vGeometry) << "\n"; + if(Verbose) logger.indent() << "Geometry: " << getGeoName(data.vGeometry) << "\n"; for(const auto &emb: conf) { switch(emb.type) { case lib::Stereo::EmbeddingEdge::Type::LonePair: @@ -103,15 +104,15 @@ struct Stereo { const auto eInput = emb.getEdge(vInput, get_graph(glSide)); const auto vAdjInput = target(eInput, gInput); if(Verbose) { - std::cout << "\tmapping edge: (" - << get(boost::vertex_index_t(), gInput, vInput) << ", " - << get(boost::vertex_index_t(), gInput, vAdjInput) << ")\n"; + logger.indent() << "mapping edge: (" + << get(boost::vertex_index_t(), gInput, vInput) << ", " + << get(boost::vertex_index_t(), gInput, vAdjInput) << ")\n"; } const auto vAdjResult = get(mInputToResult, gInput, gResult, vAdjInput); if(safe) assert(vAdjResult != NullVertex(gResult)); else if(vAdjResult == NullVertex(gResult)) { // the vertex is deleted, so let's skip it - if(Verbose) std::cout << "\tdeleted\n"; + if(Verbose) logger.indent() << "deleted\n"; partial = true; break; // the case statement } @@ -125,10 +126,10 @@ struct Stereo { return std::distance(oeResult.first, oeIter); }(); if(Verbose) { - std::cout << "\tto edge: (" - << get(boost::vertex_index_t(), gResult, vResult) << ", " - << get(boost::vertex_index_t(), gResult, vAdjResult) << "), offset = " - << eResultOffset << " (of " << out_degree(vResult, gResultSide) << ")\n"; + logger.indent() << "to edge: (" + << get(boost::vertex_index_t(), gResult, vResult) << ", " + << get(boost::vertex_index_t(), gResult, vAdjResult) << "), offset = " + << eResultOffset << " (of " << out_degree(vResult, gResultSide) << ")\n"; } const auto eResult = out_edges(vResult, gResult).first[eResultOffset]; const auto eIdResult = get(boost::edge_index_t(), gResult, eResult); @@ -141,37 +142,46 @@ struct Stereo { if(partial) { // let it remain free MOD_ABORT; // TODO assert(data.fix == lib::Stereo::Fixation::free()); - if(Verbose) std::cout << "\tfix: remain free (" << data.fix << ")\n"; + if(Verbose) logger.indent() << "fix: remain free (" << data.fix << ")\n"; } else { // copy from conf data.fix = conf.getFixation(); - if(Verbose) std::cout << "\tfix: copy (" << data.fix << ")\n"; + if(Verbose) logger.indent() << "fix: copy (" << data.fix << ")\n"; } return partial; }; - const auto handleOnly = [&](auto vResult, auto vInput, const auto &rInput, const auto &mInputToResult) { + const auto handleOnly = [&](IO::Logger logger, auto vResult, auto vInput, const auto &rInput, + const auto &mInputToResult) { const auto &gInput = get_graph(rInput); // yay, just copy the embedding, both in the right and left side const auto m = gResult[vResult].membership; if(m != Membership::R) { // copy left - if(Verbose) std::cout << "\tLeft:\n"; - const bool partial = copyAllFromSide(std::true_type(), get_labelled_left(rInput), vInput, gInput, + if(Verbose) { + logger.indent() << "Left:\n"; + ++logger.indentLevel; + } + const bool partial = copyAllFromSide(logger, std::true_type(), get_labelled_left(rInput), vInput, gInput, mInputToResult, vResult, result.rDPO->getLProjected(), vDataLeft, eDataLeft); (void) partial; assert(!partial); + if(Verbose) --logger.indentLevel; } if(m != Membership::L) { // copy right - if(Verbose) std::cout << "\tRight:\n"; - const bool partial = copyAllFromSide(std::true_type(), get_labelled_right(rInput), vInput, gInput, + if(Verbose) { + logger.indent() << "Right:\n"; + ++logger.indentLevel; + } + const bool partial = copyAllFromSide(logger, std::true_type(), get_labelled_right(rInput), vInput, gInput, mInputToResult, vResult, result.rDPO->getRProjected(), vDataRight, eDataRight); (void) partial; assert(!partial); + if(Verbose) --logger.indentLevel; } - }; - const auto handleBoth = [&](auto vResult, auto vFirst, auto vSecond) { + }; // handleOnly() + const auto handleBoth = [&](IO::Logger logger, auto vResult, auto vFirst, auto vSecond) { using EmbEdge = lib::Stereo::EmbeddingEdge; // const auto &geo = lib::Stereo::getGeometryGraph(); const auto m = gResult[vResult].membership; @@ -232,45 +242,66 @@ struct Stereo { const auto firstInContext = get_stereo(rFirst).inContext(vFirst); const auto &confL1 = *get_stereo(get_labelled_left(rFirst))[vFirst]; const auto geoL1 = confL1.getGeometryVertex(); - if(Verbose) - std::cout << "\tHandling L\n" - << "\t\tGeo L1: " << getGeoName(geoL1) << "\n" - << "\t\tGeo R1: " << getGeoName(geoR1) << "\n" - << "\t\tGeo L2: " << getGeoName(geoL2) << "\n"; + if(Verbose) { + logger.indent() << "Handling L\n"; + ++logger.indentLevel; + logger.indent() << "Geo L1: " << getGeoName(geoL1) << "\n"; + logger.indent() << "Geo R1: " << getGeoName(geoR1) << "\n"; + logger.indent() << "Geo L2: " << getGeoName(geoL2) << "\n"; + --logger.indentLevel; + } if(firstInContext) { - if(Verbose) std::cout << "\t\tFirst stereo in context\n"; + if(Verbose) { + logger.indent() << "First stereo in context\n"; + ++logger.indentLevel; + } if(secondToFirstSubgraph) { - if(Verbose) std::cout << "\t\tSecond-to-first subgraph: copy and map L1/R1 to L\n"; - const bool partial = copyAllFromSide(std::true_type(), get_labelled_left(rFirst), vFirst, gFirst, + if(Verbose) { + logger.indent() << "Second-to-first subgraph: copy and map L1/R1 to L\n"; + ++logger.indentLevel; + } + const bool partial = copyAllFromSide(logger, std::true_type(), get_labelled_left(rFirst), vFirst, + gFirst, result.mFirstToResult, vResult, result.rDPO->getLProjected(), vDataLeft, eDataLeft); (void) partial; assert(!partial); + if(Verbose) --logger.indentLevel; } else if(firstToSecondSubgraph) { - if(Verbose) std::cout << "\t\tFirst-to-second subgraph: copy and map L2 to L\n"; + if(Verbose) logger.indent() << "First-to-second subgraph: copy and map L2 to L\n"; MOD_ABORT; } else { - if(Verbose) std::cout << "\t\tNon-subgraph: do a merge\n"; + if(Verbose) logger.indent() << "Non-subgraph: do a merge\n"; MOD_ABORT; } + if(Verbose) --logger.indentLevel; } else { // !firstInContext - if(Verbose) std::cout << "\t\tFirst stereo changes\n"; + if(Verbose) { + logger.indent() << "First stereo changes\n"; + ++logger.indentLevel; + } if(secondToFirstSubgraph) { - if(Verbose) std::cout << "\t\tSecond-to-first subgraph: copy and map L1 to L\n"; - const bool partial = copyAllFromSide(std::true_type(), get_labelled_left(rFirst), vFirst, gFirst, + if(Verbose) { + logger.indent() << "Second-to-first subgraph: copy and map L1 to L\n"; + ++logger.indentLevel; + } + const bool partial = copyAllFromSide(logger, std::true_type(), get_labelled_left(rFirst), vFirst, + gFirst, result.mFirstToResult, vResult, result.rDPO->getLProjected(), vDataLeft, eDataLeft); (void) partial; assert(!partial); + if(Verbose) --logger.indentLevel; } else if(firstToSecondSubgraph) { - if(Verbose) std::cout << "\t\tFirst-to-second subgraph: hmm\n"; + if(Verbose) logger.indent() << "First-to-second subgraph: hmm\n"; MOD_ABORT; } else { - if(Verbose) std::cout << "\t\tNon-subgraph: do a merge\n"; + if(Verbose) logger.indent() << "Non-subgraph: do a merge\n"; MOD_ABORT; } + if(Verbose) --logger.indentLevel; } - } + } // if(m != Membership::R) if(m != Membership::L) { assert(membership(rSecond, vSecond) == Membership::K); auto &data = vDataRight[vResultId]; @@ -278,49 +309,76 @@ struct Stereo { const auto secondInContext = get_stereo(rSecond).inContext(vSecond); const auto &confR2 = *get_stereo(get_labelled_right(rSecond))[vSecond]; const auto geoR2 = confR2.getGeometryVertex(); - if(Verbose) - std::cout << "\tHandling R\n" - << "\t\tGeo R1: " << getGeoName(geoR1) << "\n" - << "\t\tGeo L2: " << getGeoName(geoL2) << "\n" - << "\t\tGeo R2: " << getGeoName(geoR2) << "\n"; + if(Verbose) { + logger.indent() << "Handling R\n"; + ++logger.indentLevel; + logger.indent() << "Geo R1: " << getGeoName(geoR1) << "\n"; + logger.indent() << "Geo L2: " << getGeoName(geoL2) << "\n"; + logger.indent() << "Geo R2: " << getGeoName(geoR2) << "\n"; + --logger.indentLevel; + } if(secondInContext) { - if(Verbose) std::cout << "\t\tSecond stereo in context\n"; + if(Verbose) { + logger.indent() << "Second stereo in context\n"; + ++logger.indentLevel; + } if(firstToSecondSubgraph) { - if(Verbose) std::cout << "\t\tFirst-to-second subgraph: copy and map L2/R2 to R\n"; - const bool partial = copyAllFromSide(std::true_type(), get_labelled_right(rSecond), vSecond, gSecond, + if(Verbose) { + logger.indent() << "First-to-second subgraph: copy and map L2/R2 to R\n"; + ++logger.indentLevel; + } + const bool partial = copyAllFromSide(logger, std::true_type(), get_labelled_right(rSecond), vSecond, + gSecond, result.mSecondToResult, vResult, result.rDPO->getRProjected(), vDataRight, eDataRight); (void) partial; assert(!partial); + if(Verbose) --logger.indentLevel; } else if(secondToFirstSubgraph) { - if(Verbose) std::cout << "\t\tSecond-to-first subgraph: copy and map R1 to R\n"; - const bool partial = copyAllFromSide(std::true_type(), get_labelled_right(rFirst), vFirst, gFirst, + if(Verbose) { + logger.indent() << "Second-to-first subgraph: copy and map R1 to R\n"; + ++logger.indentLevel; + } + const bool partial = copyAllFromSide(logger, std::true_type(), get_labelled_right(rFirst), vFirst, + gFirst, result.mFirstToResult, vResult, result.rDPO->getRProjected(), vDataRight, eDataRight); (void) partial; assert(!partial); + if(Verbose) --logger.indentLevel; } else { - if(Verbose) std::cout << "\t\tNon-subgraph: do a merge\n"; + if(Verbose) logger.indent() << "Non-subgraph: do a merge\n"; MOD_ABORT; } + if(Verbose) --logger.indentLevel; } else { // !secondInContext - if(Verbose) std::cout << "\t\tSecond stereo changes\n"; + if(Verbose) { + logger.indent() << "Second stereo changes\n"; + ++logger.indentLevel; + } if(firstToSecondSubgraph) { - if(Verbose) std::cout << "\t\tFirst-to-second subgraph: copy and map R2 to R\n"; - const bool partial = copyAllFromSide(std::true_type(), get_labelled_right(rSecond), vSecond, gSecond, + if(Verbose) { + logger.indent() << "First-to-second subgraph: copy and map R2 to R\n"; + ++logger.indentLevel; + } + const bool partial = copyAllFromSide(logger, std::true_type(), get_labelled_right(rSecond), vSecond, + gSecond, result.mSecondToResult, vResult, result.rDPO->getRProjected(), vDataRight, eDataRight); (void) partial; assert(!partial); + if(Verbose) --logger.indentLevel; } else if(secondToFirstSubgraph) { if(Verbose) { - std::cout << "\t\tSecond-to-first subgraph:\n" - << "\t\t\t- Copy all from R2.\n" - << "\t\t\t- Copy unmatched from R1.\n" - << "\t\t\t- Match R2 stereo onto the result and check if the pushout is valid.\n"; - std::cout << "\tCopying all from R2\n"; + logger.indent() << "Second-to-first subgraph:\n"; + logger.indent() << "- Copy all from R2.\n"; + logger.indent() << "- Copy unmatched from R1.\n"; + logger.indent() << "- Match R2 stereo onto the result and check if the pushout is valid.\n"; + logger.indent() << "Copying all from R2\n"; + ++logger.indentLevel; } - const bool partial = copyAllFromSide(std::true_type(), get_labelled_right(rSecond), vSecond, gSecond, + const bool partial = copyAllFromSide(logger, std::true_type(), get_labelled_right(rSecond), vSecond, + gSecond, result.mSecondToResult, vResult, result.rDPO->getRProjected(), vDataRight, eDataRight); (void) partial; @@ -328,7 +386,7 @@ struct Stereo { const auto sizeAfterR2 = data.edges.size(); (void) sizeAfterR2; { // copy unmatched from R1 - if(Verbose) std::cout << "\tCopying unmatched from R1\n"; + if(Verbose) logger.indent() << "Copying unmatched from R1\n"; const auto vInput = vFirst; const auto &gBaseInput = get_graph(rFirst); const auto &glSide = get_labelled_right(rFirst); @@ -353,14 +411,14 @@ struct Stereo { const auto eInput = emb.getEdge(vInput, gInput); const auto vAdjInput = target(eInput, gInput); if(Verbose) { - std::cout << "\tmapping edge: (" - << get(boost::vertex_index_t(), gInput, vInput) << ", " - << get(boost::vertex_index_t(), gInput, vAdjInput) << ")\n"; + logger.indent() << "mapping edge: (" + << get(boost::vertex_index_t(), gInput, vInput) << ", " + << get(boost::vertex_index_t(), gInput, vAdjInput) << ")\n"; } const auto vAdjResult = get(mInputToResult, gBaseInput, gResult, vAdjInput); if(vAdjResult == NullVertex(gResult)) { // the vertex is deleted, so let's skip it - if(Verbose) std::cout << "\tdeleted\n"; + if(Verbose) logger.indent() << "deleted\n"; break; // the case statement } // is it mapped? @@ -368,37 +426,37 @@ struct Stereo { const auto vAdjInputOther = mapToOtherInput(vAdjInput); const bool isMatched = [&]() { if(vInputOther == NullVertex(gInput)) { - if(Verbose) std::cout << "\tnot matched, due to vInputOther = null\n"; + if(Verbose) logger.indent() << "not matched, due to vInputOther = null\n"; return false; } if(vAdjInputOther == NullVertex(gInput)) { - if(Verbose) std::cout << "\tnot matched, due to vAdjInputOther = null\n"; + if(Verbose) logger.indent() << "not matched, due to vAdjInputOther = null\n"; return false; } for(auto eInputOther: asRange(out_edges(vInputOther, gInputOther))) { if(target(eInputOther, gInputOther) != vAdjInputOther) { if(Verbose) { - std::cout << "\tcand = (" - << get(boost::vertex_index_t(), gInputOther, vInputOther) << ", " - << get(boost::vertex_index_t(), gInputOther, vAdjInputOther) - << ") not it\n"; + logger.indent() << "cand = (" + << get(boost::vertex_index_t(), gInputOther, vInputOther) << ", " + << get(boost::vertex_index_t(), gInputOther, vAdjInputOther) + << ") not it\n"; } continue; } if(Verbose) { - std::cout << "\tcand = (" - << get(boost::vertex_index_t(), gInputOther, vInputOther) << ", " - << get(boost::vertex_index_t(), gInputOther, vAdjInputOther) - << ") is it\n"; + logger.indent() << "cand = (" + << get(boost::vertex_index_t(), gInputOther, vInputOther) << ", " + << get(boost::vertex_index_t(), gInputOther, vAdjInputOther) + << ") is it\n"; } // TODO: shouldn't we check the membership as well? return true; } - if(Verbose) std::cout << "\tnot matched, due to no edge found\n"; + if(Verbose) logger.indent() << "not matched, due to no edge found\n"; return false; }(); if(isMatched) { - if(Verbose) std::cout << "\tmatched\n"; + if(Verbose) logger.indent() << "matched\n"; break; } @@ -413,10 +471,10 @@ struct Stereo { return std::distance(oeResult.first, oeIter); }(); if(Verbose) { - std::cout << "\tto edge: (" - << get(boost::vertex_index_t(), gResult, vResult) << ", " - << get(boost::vertex_index_t(), gResult, vAdjResult) << "), offset = " - << eResultOffset << " (of " << out_degree(vResult, gResultSide) << ")\n"; + logger.indent() << "to edge: (" + << get(boost::vertex_index_t(), gResult, vResult) << ", " + << get(boost::vertex_index_t(), gResult, vAdjResult) << "), offset = " + << eResultOffset << " (of " << out_degree(vResult, gResultSide) << ")\n"; } const auto eResult = out_edges(vResult, gResult).first[eResultOffset]; const auto eIdResult = get(boost::edge_index_t(), gResult, eResult); @@ -431,32 +489,46 @@ struct Stereo { if(data.vGeometry != lib::Stereo::getGeometryGraph().any) { MOD_ABORT; // bah, we need to do something, or reject the pushout } + if(Verbose) --logger.indentLevel; } else { - if(Verbose) std::cout << "\t\tNon-subgraph: do a merge\n"; + if(Verbose) logger.indent() << "tNon-subgraph: do a merge\n"; MOD_ABORT; } + if(Verbose) --logger.indentLevel; } if(false) { - copyAllFromSide(std::false_type(), get_labelled_right(rSecond), vSecond, gSecond, result.mSecondToResult, + if(Verbose) ++logger.indentLevel; + copyAllFromSide(logger, std::false_type(), get_labelled_right(rSecond), vSecond, gSecond, + result.mSecondToResult, vResult, result.rDPO->getRProjected(), vDataRight, eDataRight); const auto prevEmbSize = data.edges.size(); if(data.edges.size() > prevEmbSize) { // we the fixation must be free if(Verbose) - std::cout << "\tfix: data.edges.size() = " << data.edges.size() << " > " << prevEmbSize - << " = prevEmbSize, so set free (was " << data.fix << ")\n"; + logger.indent() << "fix: data.edges.size() = " << data.edges.size() << " > " << prevEmbSize + << " = prevEmbSize, so set free (was " << data.fix << ")\n"; data.fix = lib::Stereo::Fixation::free(); } else { - if(Verbose) std::cout << "\tfix: not changing it (" << data.fix << ")\n"; + if(Verbose) logger.indent() << "fix: not changing it (" << data.fix << ")\n"; } + if(Verbose) --logger.indentLevel; } // if false, old code } // if vResult in R }; // handleBoth() - if(Verbose) std::cout << "Stereo Finalization\n" << std::string(80, '-') << '\n'; + + if(Verbose) { + loggerOrig.indent() << "Stereo Finalization\n"; + loggerOrig.sep('-'); + } const auto &gGeometry = lib::Stereo::getGeometryGraph().getGraph(); for(auto vResult: asRange(vertices(gResult))) { - if(Verbose) std::cout << "Result vertex: " << get(boost::vertex_index_t(), gResult, vResult) << "\n"; + auto logger = loggerOrig; + if(Verbose) { + ++logger.indentLevel; + logger.indent() << "Result vertex: " << get(boost::vertex_index_t(), gResult, vResult) << "\n"; + ++logger.indentLevel; + } const auto m = result.rDPO->getCombinedGraph()[vResult].membership; const auto vResultId = get(boost::vertex_index_t(), gResult, vResult); // If vResult is in only first or only second, we should be able to just copy the embedding. @@ -464,8 +536,11 @@ struct Stereo { const auto vSecond = get_inverse(result.mSecondToResult, gSecond, gResult, vResult); assert(vFirst != NullVertex() || vSecond != NullVertex()); std::stringstream ssErr; - const auto instantiateConfs = [&]() { - if(Verbose) std::cout << "\tinstantiating configurations\n"; + const auto instantiateConfs = [&](IO::Logger logger) { + if(Verbose) { + logger.indent() << "instantiating configurations\n"; + ++logger.indentLevel; + } // TODO: we should probably correct LonePair and Radical offsets here if(m != Membership::R) { auto &data = vDataLeft[vResultId]; @@ -487,19 +562,19 @@ struct Stereo { MOD_ABORT; } } - }; + }; // instantiateCoefs() if(vFirst == NullVertex()) { - if(Verbose) std::cout << "\tnot in First, copy only from Second\n"; - handleOnly(vResult, vSecond, rSecond, result.mSecondToResult); - instantiateConfs(); + if(Verbose) logger.indent() << "not in First, copy only from Second\n"; + handleOnly(logger, vResult, vSecond, rSecond, result.mSecondToResult); + instantiateConfs(logger); } else if(vSecond == NullVertex()) { - if(Verbose) std::cout << "\tnot in Second, copy only from First\n"; - handleOnly(vResult, vFirst, rFirst, result.mFirstToResult); - instantiateConfs(); + if(Verbose) logger.indent() << "not in Second, copy only from First\n"; + handleOnly(logger, vResult, vFirst, rFirst, result.mFirstToResult); + instantiateConfs(logger); } else { - if(Verbose) std::cout << "\tin both\n"; - handleBoth(vResult, vFirst, vSecond); - instantiateConfs(); + if(Verbose) logger.indent() << "in both\n"; + handleBoth(logger, vResult, vFirst, vSecond); + instantiateConfs(logger); } } @@ -539,7 +614,8 @@ struct Stereo { } public: template - void copyVertexFirst(const lib::DPO::CombinedRule &dpoFirst, const lib::DPO::CombinedRule &dpoSecond, + void copyVertexFirst(IO::Logger logger, + const lib::DPO::CombinedRule &dpoFirst, const lib::DPO::CombinedRule &dpoSecond, const InvertibleVertexMap &match, const Result &result, const VertexFirst &vFirst, const VertexResult &vResult) { const auto &gResult = result.rDPO->getCombinedGraph(); @@ -556,7 +632,8 @@ struct Stereo { template - void copyVertexSecond(const lib::DPO::CombinedRule &dpoFirst, const lib::DPO::CombinedRule &dpoSecond, + void copyVertexSecond(IO::Logger logger, + const lib::DPO::CombinedRule &dpoFirst, const lib::DPO::CombinedRule &dpoSecond, const InvertibleVertexMap &match, const Result &result, const VertexSecond &vSecond, const VertexResult &vResult) { const auto &gResult = result.rDPO->getCombinedGraph(); @@ -573,7 +650,8 @@ struct Stereo { template - void copyEdgeFirst(const lib::DPO::CombinedRule &dpoFirst, const lib::DPO::CombinedRule &dpoSecond, + void copyEdgeFirst(IO::Logger logger, + const lib::DPO::CombinedRule &dpoFirst, const lib::DPO::CombinedRule &dpoSecond, const InvertibleVertexMap &match, const Result &result, const EdgeFirst &eFirst, const EdgeResult &eResult) { using GraphSecond = lib::Rules::LabelledRule::GraphType; @@ -621,7 +699,8 @@ struct Stereo { template - void copyEdgeSecond(const lib::DPO::CombinedRule &dpoFirst, const lib::DPO::CombinedRule &dpoSecond, + void copyEdgeSecond(IO::Logger logger, + const lib::DPO::CombinedRule &dpoFirst, const lib::DPO::CombinedRule &dpoSecond, const InvertibleVertexMap &match, const Result &result, const EdgeSecond &eSecond, const EdgeResult &eResult) { using GraphFirst = lib::Rules::LabelledRule::GraphType; @@ -795,7 +874,8 @@ struct Stereo { public: template - void composeVertexRvsLR(const lib::DPO::CombinedRule &dpoFirst, const lib::DPO::CombinedRule &dpoSecond, + void composeVertexRvsLR(IO::Logger logger, + const lib::DPO::CombinedRule &dpoFirst, const lib::DPO::CombinedRule &dpoSecond, const InvertibleVertexMap &match, const Result &result, VertexResult vResult, VertexSecond vSecond) { // -> a | a -> b, maybe a == b @@ -806,7 +886,8 @@ struct Stereo { template - void composeVertexLRvsL(const lib::DPO::CombinedRule &dpoFirst, const lib::DPO::CombinedRule &dpoSecond, + void composeVertexLRvsL(IO::Logger logger, + const lib::DPO::CombinedRule &dpoFirst, const lib::DPO::CombinedRule &dpoSecond, const InvertibleVertexMap &match, const Result &result, VertexResult vResult, VertexSecond vSecond) { // a -> a | a -> @@ -820,7 +901,8 @@ struct Stereo { template - void composeVertexLRvsLR(const lib::DPO::CombinedRule &dpoFirst, const lib::DPO::CombinedRule &dpoSecond, + void composeVertexLRvsLR(IO::Logger logger, + const lib::DPO::CombinedRule &dpoFirst, const lib::DPO::CombinedRule &dpoSecond, const InvertibleVertexMap &match, const Result &result, VertexResult vResult, VertexSecond vSecond) { // a != b, a != c, b =? c @@ -836,7 +918,8 @@ struct Stereo { template void - setEdgeResultRightFromSecondRight(const lib::DPO::CombinedRule &dpoFirst, const lib::DPO::CombinedRule &dpoSecond, + setEdgeResultRightFromSecondRight(IO::Logger logger, + const lib::DPO::CombinedRule &dpoFirst, const lib::DPO::CombinedRule &dpoSecond, const InvertibleVertexMap &match, const Result &result, EdgeResult eResult, EdgeSecond eSecond) { // | -> vs. -> |, simply copy the R2 to R diff --git a/libs/libmod/src/mod/lib/RC/Visitor/String.hpp b/libs/libmod/src/mod/lib/RC/Visitor/String.hpp index 511eb70..c2d285a 100644 --- a/libs/libmod/src/mod/lib/RC/Visitor/String.hpp +++ b/libs/libmod/src/mod/lib/RC/Visitor/String.hpp @@ -14,7 +14,7 @@ struct String { : rFirst(rFirst), rSecond(rSecond) {} template - bool init(const lib::DPO::CombinedRule &dpoFirst, const lib::DPO::CombinedRule &dpoSecond, + bool init(IO::Logger logger, const lib::DPO::CombinedRule &dpoFirst, const lib::DPO::CombinedRule &dpoSecond, const InvertibleVertexMap &match, Result &result) { assert(&dpoFirst == &rFirst.getRule()); assert(&dpoSecond == &rSecond.getRule()); @@ -24,35 +24,39 @@ struct String { } template - bool finalize(const lib::DPO::CombinedRule &dpoFirst, const lib::DPO::CombinedRule &dpoSecond, + bool finalize(IO::Logger logger, const lib::DPO::CombinedRule &dpoFirst, const lib::DPO::CombinedRule &dpoSecond, InvertibleVertexMap &match, Result &result) { result.pString->verify(); return true; } public: template - void copyVertexFirst(const lib::DPO::CombinedRule &dpoFirst, const lib::DPO::CombinedRule &dpoSecond, + void copyVertexFirst(IO::Logger logger, + const lib::DPO::CombinedRule &dpoFirst, const lib::DPO::CombinedRule &dpoSecond, const InvertibleVertexMap &match, const Result &result, const VertexFirst &vFirst, const VertexResult &vResult) { copyVertex(rFirst, result, vFirst, vResult, *rFirst.pString); } template - void copyVertexSecond(const lib::DPO::CombinedRule &dpoFirst, const lib::DPO::CombinedRule &dpoSecond, + void copyVertexSecond(IO::Logger logger, + const lib::DPO::CombinedRule &dpoFirst, const lib::DPO::CombinedRule &dpoSecond, const InvertibleVertexMap &match, const Result &result, const VertexSecond &vSecond, const VertexResult &vResult) { copyVertex(rSecond, result, vSecond, vResult, *rSecond.pString); } template - void copyEdgeFirst(const lib::DPO::CombinedRule &dpoFirst, const lib::DPO::CombinedRule &dpoSecond, + void copyEdgeFirst(IO::Logger logger, + const lib::DPO::CombinedRule &dpoFirst, const lib::DPO::CombinedRule &dpoSecond, const InvertibleVertexMap &match, const Result &result, const EdgeFirst &eFirst, const EdgeResult &eResult) { copyEdge(rFirst, result, eFirst, eResult, *rFirst.pString); } template - void copyEdgeSecond(const lib::DPO::CombinedRule &dpoFirst, const lib::DPO::CombinedRule &dpoSecond, + void copyEdgeSecond(IO::Logger logger, + const lib::DPO::CombinedRule &dpoFirst, const lib::DPO::CombinedRule &dpoSecond, const InvertibleVertexMap &match, const Result &result, const EdgeSecond &eSecond, const EdgeResult &eResult) { copyEdge(rSecond, result, eSecond, eResult, *rSecond.pString); @@ -95,7 +99,8 @@ struct String { public: template - void composeVertexRvsLR(const lib::DPO::CombinedRule &dpoFirst, const lib::DPO::CombinedRule &dpoSecond, + void composeVertexRvsLR(IO::Logger logger, + const lib::DPO::CombinedRule &dpoFirst, const lib::DPO::CombinedRule &dpoSecond, const InvertibleVertexMap &match, const Result &result, VertexResult vResult, VertexSecond vSecond) { // -> a | a -> b, maybe a == b @@ -104,7 +109,8 @@ struct String { } template - void composeVertexLRvsL(const lib::DPO::CombinedRule &dpoFirst, const lib::DPO::CombinedRule &dpoSecond, + void composeVertexLRvsL(IO::Logger logger, + const lib::DPO::CombinedRule &dpoFirst, const lib::DPO::CombinedRule &dpoSecond, const InvertibleVertexMap &match, const Result &result, VertexResult vResult, VertexSecond vSecond) { // vFirst is CONTEXT, so do nothing @@ -116,7 +122,8 @@ struct String { } template - void composeVertexLRvsLR(const lib::DPO::CombinedRule &dpoFirst, const lib::DPO::CombinedRule &dpoSecond, + void composeVertexLRvsLR(IO::Logger logger, + const lib::DPO::CombinedRule &dpoFirst, const lib::DPO::CombinedRule &dpoSecond, const InvertibleVertexMap &match, const Result &result, VertexResult vResult, VertexSecond vSecond) { // the left label of vResult is ok, but the right label might have to change @@ -130,7 +137,8 @@ struct String { public: template void - setEdgeResultRightFromSecondRight(const lib::DPO::CombinedRule &dpoFirst, const lib::DPO::CombinedRule &dpoSecond, + setEdgeResultRightFromSecondRight(IO::Logger logger, + const lib::DPO::CombinedRule &dpoFirst, const lib::DPO::CombinedRule &dpoSecond, const InvertibleVertexMap &match, const Result &result, EdgeResult eResult, EdgeSecond eSecond) { result.pString->setRight(eResult, rSecond.pString->getRight()[eSecond]); diff --git a/libs/libmod/src/mod/lib/RC/Visitor/Term.hpp b/libs/libmod/src/mod/lib/RC/Visitor/Term.hpp index 9e5a372..7bf34ce 100644 --- a/libs/libmod/src/mod/lib/RC/Visitor/Term.hpp +++ b/libs/libmod/src/mod/lib/RC/Visitor/Term.hpp @@ -21,7 +21,7 @@ struct Term { : rFirst(rFirst), rSecond(rSecond) {} template - bool init(const lib::DPO::CombinedRule &dpoFirst, const lib::DPO::CombinedRule &dpoSecond, + bool init(IO::Logger logger, const lib::DPO::CombinedRule &dpoFirst, const lib::DPO::CombinedRule &dpoSecond, InvertibleVertexMap &match, Result &result) { assert(&dpoFirst == &rFirst.getRule()); assert(&dpoSecond == &rSecond.getRule()); @@ -31,24 +31,26 @@ struct Term { machine.verify(); result.pTerm = std::make_unique(*result.rDPO, std::move(machine)); if(Verbose) { - std::cout << "New machine:\n"; - lib::Term::Write::wam(getMachine(*result.pTerm), lib::Term::getStrings(), std::cout); + logger.indent() << "New machine:\n"; + ++logger.indentLevel; + lib::Term::Write::wam(getMachine(*result.pTerm), lib::Term::getStrings(), logger); } return true; } template - bool finalize(const lib::DPO::CombinedRule &dpoFirst, const lib::DPO::CombinedRule &dpoSecond, + bool finalize(IO::Logger logger, const lib::DPO::CombinedRule &dpoFirst, const lib::DPO::CombinedRule &dpoSecond, InvertibleVertexMap &match, Result &result) { result.pTerm->verify(); return true; } public: template - void copyVertexFirst(const lib::DPO::CombinedRule &dpoFirst, const lib::DPO::CombinedRule &dpoSecond, - const InvertibleVertexMap &match, - const Result &result, - const VertexFirst &vFirst, const VertexResult &vResult) { + void copyVertexFirst(IO::Logger logger, + const lib::DPO::CombinedRule &dpoFirst, const lib::DPO::CombinedRule &dpoSecond, + const InvertibleVertexMap &match, + const Result &result, + const VertexFirst &vFirst, const VertexResult &vResult) { assert(result.pTerm); const auto &pFirst = *rFirst.pTerm; auto &pResult = *result.pTerm; @@ -66,23 +68,25 @@ struct Term { break; } if(Verbose) { - std::cout << "Cur machine:\n"; - lib::Term::Write::wam(getMachine(*result.pTerm), lib::Term::getStrings(), std::cout); + logger.indent() << "Current machine:\n"; + ++logger.indentLevel; + lib::Term::Write::wam(getMachine(*result.pTerm), lib::Term::getStrings(), logger); } } template - void copyVertexSecond(const lib::DPO::CombinedRule &dpoFirst, const lib::DPO::CombinedRule &dpoSecond, - const InvertibleVertexMap &match, - const Result &result, - const VertexSecond &vSecond, const VertexResult &vResult) { + void copyVertexSecond(IO::Logger logger, + const lib::DPO::CombinedRule &dpoFirst, const lib::DPO::CombinedRule &dpoSecond, + const InvertibleVertexMap &match, + const Result &result, + const VertexSecond &vSecond, const VertexResult &vResult) { assert(result.pTerm); const auto &pSecond = *rSecond.pTerm; auto &pResult = *result.pTerm; auto m = membership(rSecond, vSecond); assert(m == result.rDPO->getCombinedGraph()[vResult].membership); - if(m != Membership::L) fixSecondTerm(pSecond.getRight()[vSecond], result); - if(m != Membership::R) fixSecondTerm(pSecond.getLeft()[vSecond], result); + if(m != Membership::L) fixSecondTerm(logger, pSecond.getRight()[vSecond], result); + if(m != Membership::R) fixSecondTerm(logger, pSecond.getLeft()[vSecond], result); switch(m) { case Membership::L: pResult.add(vResult, deref(pSecond.getLeft()[vSecond], result), TERM_MAX); @@ -95,16 +99,18 @@ struct Term { break; } if(Verbose) { - std::cout << "Cur machine:\n"; - lib::Term::Write::wam(getMachine(*result.pTerm), lib::Term::getStrings(), std::cout); + logger.indent() << "Current machine:\n"; + ++logger.indentLevel; + lib::Term::Write::wam(getMachine(*result.pTerm), lib::Term::getStrings(), logger); } } template - void copyEdgeFirst(const lib::DPO::CombinedRule &dpoFirst, const lib::DPO::CombinedRule &dpoSecond, - const InvertibleVertexMap &match, - const Result &result, - const EdgeFirst &eFirst, const EdgeResult &eResult) { + void copyEdgeFirst(IO::Logger logger, + const lib::DPO::CombinedRule &dpoFirst, const lib::DPO::CombinedRule &dpoSecond, + const InvertibleVertexMap &match, + const Result &result, + const EdgeFirst &eFirst, const EdgeResult &eResult) { // the membership of e may be different from eResult assert(result.pTerm); const auto &pFirst = *rFirst.pTerm; @@ -122,23 +128,25 @@ struct Term { break; } if(Verbose) { - std::cout << "Cur machine:\n"; - lib::Term::Write::wam(getMachine(*result.pTerm), lib::Term::getStrings(), std::cout); + logger.indent() << "Current machine:\n"; + ++logger.indentLevel; + lib::Term::Write::wam(getMachine(*result.pTerm), lib::Term::getStrings(), logger); } } template - void copyEdgeSecond(const lib::DPO::CombinedRule &dpoFirst, const lib::DPO::CombinedRule &dpoSecond, - const InvertibleVertexMap &match, - const Result &result, - const EdgeSecond &eSecond, const EdgeResult &eResult) { + void copyEdgeSecond(IO::Logger logger, + const lib::DPO::CombinedRule &dpoFirst, const lib::DPO::CombinedRule &dpoSecond, + const InvertibleVertexMap &match, + const Result &result, + const EdgeSecond &eSecond, const EdgeResult &eResult) { // the membership of e may be different from eResult assert(result.pTerm); const auto &pSecond = *rSecond.pTerm; auto &pResult = *result.pTerm; auto m = result.rDPO->getCombinedGraph()[eResult].membership; - if(m != Membership::L) fixSecondTerm(pSecond.getRight()[eSecond], result); - if(m != Membership::R) fixSecondTerm(pSecond.getLeft()[eSecond], result); + if(m != Membership::L) fixSecondTerm(logger, pSecond.getRight()[eSecond], result); + if(m != Membership::R) fixSecondTerm(logger, pSecond.getLeft()[eSecond], result); switch(m) { case Membership::L: pResult.add(eResult, deref(pSecond.getLeft()[eSecond], result), TERM_MAX); @@ -151,68 +159,71 @@ struct Term { break; } if(Verbose) { - std::cout << "Cur machine:\n"; - lib::Term::Write::wam(getMachine(*result.pTerm), lib::Term::getStrings(), std::cout); + logger.indent() << "Current machine:\n"; + ++logger.indentLevel; + lib::Term::Write::wam(getMachine(*result.pTerm), lib::Term::getStrings(), logger); } } public: template void printVertexFirst(const lib::DPO::CombinedRule &dpoFirst, const lib::DPO::CombinedRule &dpoSecond, - const InvertibleVertexMap &match, - const Result &result, - std::ostream &s, const VertexFirst &vFirst) { + const InvertibleVertexMap &match, + const Result &result, + std::ostream &s, const VertexFirst &vFirst) { rFirst.pTerm->print(s, vFirst); } template void printVertexSecond(const lib::DPO::CombinedRule &dpoFirst, const lib::DPO::CombinedRule &dpoSecond, - const InvertibleVertexMap &match, - const Result &result, - std::ostream &s, const VertexSecond &vSecond) { + const InvertibleVertexMap &match, + const Result &result, + std::ostream &s, const VertexSecond &vSecond) { rSecond.pTerm->print(s, vSecond); } template void printVertexResult(const lib::DPO::CombinedRule &dpoFirst, const lib::DPO::CombinedRule &dpoSecond, - const InvertibleVertexMap &match, - const Result &result, - std::ostream &s, const VertexResult &vResult) { + const InvertibleVertexMap &match, + const Result &result, + std::ostream &s, const VertexResult &vResult) { result.pTerm->print(s, vResult); } template void printEdgeFirst(const lib::DPO::CombinedRule &dpoFirst, const lib::DPO::CombinedRule &dpoSecond, - const InvertibleVertexMap &match, - const Result &result, - std::ostream &s, const EdgeFirst &eFirst) { + const InvertibleVertexMap &match, + const Result &result, + std::ostream &s, const EdgeFirst &eFirst) { rFirst.pTerm->print(s, eFirst); } template void printEdgeSecond(const lib::DPO::CombinedRule &dpoFirst, const lib::DPO::CombinedRule &dpoSecond, - const InvertibleVertexMap &match, - const Result &result, - std::ostream &s, const EdgeSecond &eSecond) { + const InvertibleVertexMap &match, + const Result &result, + std::ostream &s, const EdgeSecond &eSecond) { rSecond.pTerm->print(s, eSecond); } public: template - void composeVertexRvsLR(const lib::DPO::CombinedRule &dpoFirst, const lib::DPO::CombinedRule &dpoSecond, - const InvertibleVertexMap &match, - const Result &result, - VertexResult vResult, VertexSecond vSecond) { + void composeVertexRvsLR(IO::Logger logger, + const lib::DPO::CombinedRule &dpoFirst, const lib::DPO::CombinedRule &dpoSecond, + const InvertibleVertexMap &match, + const Result &result, + VertexResult vResult, VertexSecond vSecond) { // -> a | a -> b, maybe a == b auto addr = rSecond.pTerm->getRight()[vSecond]; - fixSecondTerm(addr, result); + fixSecondTerm(logger, addr, result); result.pTerm->setRight(vResult, deref(addr, result)); // -> b } template - void composeVertexLRvsL(const lib::DPO::CombinedRule &dpoFirst, const lib::DPO::CombinedRule &dpoSecond, - const InvertibleVertexMap &match, - const Result &result, - VertexResult vResult, VertexSecond vSecond) { + void composeVertexLRvsL(IO::Logger logger, + const lib::DPO::CombinedRule &dpoFirst, const lib::DPO::CombinedRule &dpoSecond, + const InvertibleVertexMap &match, + const Result &result, + VertexResult vResult, VertexSecond vSecond) { // vFirst is CONTEXT, so do nothing // a -> a | a -> // b -> a | a -> @@ -222,10 +233,11 @@ struct Term { } template - void composeVertexLRvsLR(const lib::DPO::CombinedRule &dpoFirst, const lib::DPO::CombinedRule &dpoSecond, - const InvertibleVertexMap &match, - const Result &result, - VertexResult vResult, VertexSecond vSecond) { + void composeVertexLRvsLR(IO::Logger logger, + const lib::DPO::CombinedRule &dpoFirst, const lib::DPO::CombinedRule &dpoSecond, + const InvertibleVertexMap &match, + const Result &result, + VertexResult vResult, VertexSecond vSecond) { // the left label of vResult is ok, but the right label might have to change // a != b, a != c, b =? c // a -> a | a -> a @@ -233,29 +245,38 @@ struct Term { // b -> a | a -> a // b -> a | a -> c auto addr = rSecond.pTerm->getRight()[vSecond]; - fixSecondTerm(addr, result); + fixSecondTerm(logger, addr, result); result.pTerm->setRight(vResult, deref(addr, result)); } public: template void - setEdgeResultRightFromSecondRight(const lib::DPO::CombinedRule &dpoFirst, const lib::DPO::CombinedRule &dpoSecond, - const InvertibleVertexMap &match, const Result &result, - EdgeResult eResult, EdgeSecond eSecond) { + setEdgeResultRightFromSecondRight(IO::Logger logger, + const lib::DPO::CombinedRule &dpoFirst, const lib::DPO::CombinedRule &dpoSecond, + const InvertibleVertexMap &match, const Result &result, + EdgeResult eResult, EdgeSecond eSecond) { auto addr = rSecond.pTerm->getRight()[eSecond]; - fixSecondTerm(addr, result); + fixSecondTerm(logger, addr, result); result.pTerm->setRight(eResult, deref(addr, result)); } private: template - void fixSecondTerm(std::size_t addr, Result &result) { + void fixSecondTerm(IO::Logger logger, std::size_t addr, Result &result) { auto &m = getMachine(*result.pTerm); m.verify(); - if(Verbose) - lib::Term::Write::wam(m, lib::Term::getStrings(), std::cout << "Copy " << addr << "\n"); + if(Verbose) { + logger.indent() << "Copy " << addr << '\n'; + ++logger.indentLevel; + lib::Term::Write::wam(m, lib::Term::getStrings(), logger); + --logger.indentLevel; + } m.copyFromTemp(addr); - if(Verbose) - lib::Term::Write::wam(m, lib::Term::getStrings(), std::cout << "After copy " << addr << "\n"); + if(Verbose) { + logger.indent() << "After copy " << addr << '\n'; + ++logger.indentLevel; + lib::Term::Write::wam(m, lib::Term::getStrings(), logger); + --logger.indentLevel; + } m.verify(); } diff --git a/libs/libmod/src/mod/lib/RC/detail/CompositionHelper.hpp b/libs/libmod/src/mod/lib/RC/detail/CompositionHelper.hpp index f3bb799..ef83489 100644 --- a/libs/libmod/src/mod/lib/RC/detail/CompositionHelper.hpp +++ b/libs/libmod/src/mod/lib/RC/detail/CompositionHelper.hpp @@ -25,42 +25,42 @@ struct CompositionHelper { using EdgeSecond = typename boost::graph_traits::edge_descriptor; public: CompositionHelper(Result &result, - const RuleFirst &rFirst, const RuleSecond &rSecond, const InvertibleVertexMap &match, - Visitor visitor) + const RuleFirst &rFirst, const RuleSecond &rSecond, const InvertibleVertexMap &match, + Visitor visitor) : result(result), rFirst(rFirst), rSecond(rSecond), match(match), visitor(std::move(visitor)) {} - bool operator()() &&{ - if(Verbose) std::cout << std::string(80, '=') << std::endl; - bool resInit = visitor.template init(rFirst, rSecond, match, result); + bool operator()(IO::Logger logger) &&{ + if(Verbose) logger.sep('='); + bool resInit = visitor.template init(logger, rFirst, rSecond, match, result); if(!resInit) { - if(Verbose) std::cout << std::string(80, '=') << std::endl; + if(Verbose) logger.sep('='); return false; } // Vertices //-------------------------------------------------------------------------- - copyVerticesFirst(); - composeVerticesSecond(); + copyVerticesFirst(logger); + composeVerticesSecond(logger); // Edges //-------------------------------------------------------------------------- - bool resFirst = copyEdgesFirstUnmatched(); + bool resFirst = copyEdgesFirstUnmatched(logger); if(!resFirst) { - if(Verbose) std::cout << std::string(80, '=') << std::endl; + if(Verbose) logger.sep('='); return false; } - bool resSecond = composeEdgesSecond(); + bool resSecond = composeEdgesSecond(logger); if(!resSecond) { - if(Verbose) std::cout << std::string(80, '=') << std::endl; + if(Verbose) logger.sep('='); return false; } // Finish it //-------------------------------------------------------------------------- - bool resFinal = visitor.template finalize(rFirst, rSecond, match, result); + bool resFinal = visitor.template finalize(logger, rFirst, rSecond, match, result); if(!resFinal) { - if(Verbose) std::cout << std::string(80, '=') << std::endl; + if(Verbose) logger.sep('='); return false; } - if(Verbose) std::cout << std::string(80, '=') << std::endl; + if(Verbose) logger.sep('='); return true; } private: @@ -91,19 +91,25 @@ struct CompositionHelper { return get_inverse(match, gDom, gCodom, vFirst); } private: - void copyVerticesFirst() { - if(Verbose) std::cout << "copyVerticesFirst\n" << std::string(80, '-') << std::endl; + void copyVerticesFirst(IO::Logger loggerOrig) { + if(Verbose) { + loggerOrig.indent() << "copyVerticesFirst\n"; + loggerOrig.sep('-'); + } auto &gResult = result.rDPO->getCombinedGraph(); const auto &gFirst = rFirst.getCombinedGraph(); const auto &gSecond = rSecond.getCombinedGraph(); for(const auto vFirst: asRange(vertices(gFirst))) { + auto logger = loggerOrig; if(Verbose) { - std::cout << "rFirst node:\t" - << get(boost::vertex_index_t(), gFirst, vFirst) - << "(" << rFirst.getCombinedGraph()[vFirst].membership << ")" - << "("; - visitor.template printVertexFirst(rFirst, rSecond, match, result, std::cout, vFirst); - std::cout << ")" << std::endl; + ++logger.indentLevel; + logger.indent() << "rFirst node:\t" + << get(boost::vertex_index_t(), gFirst, vFirst) + << "(" << rFirst.getCombinedGraph()[vFirst].membership << ")" + << "("; + visitor.template printVertexFirst(rFirst, rSecond, match, result, logger.s, vFirst); + logger.s << ")" << std::endl; + ++logger.indentLevel; } const bool getsDeleted = [&]() { // must be only in R to be deleted @@ -116,39 +122,45 @@ struct CompositionHelper { }(); if(getsDeleted) { put(result.mFirstToResult, gFirst, gResult, vFirst, getNullResult()); - if(Verbose) std::cout << "gets deleted" << std::endl; + if(Verbose) logger.indent() << "gets deleted" << std::endl; } else { const auto vResult = add_vertex(gResult); syncSize(result.mFirstToResult, gFirst, gResult); syncSize(result.mSecondToResult, gSecond, gResult); put(result.mFirstToResult, gFirst, gResult, vFirst, vResult); gResult[vResult].membership = rFirst.getCombinedGraph()[vFirst].membership; - visitor.template copyVertexFirst(rFirst, rSecond, match, result, vFirst, vResult); + visitor.template copyVertexFirst(logger, rFirst, rSecond, match, result, vFirst, vResult); if(Verbose) { - std::cout << "new node:\t" - << get(boost::vertex_index_t(), gResult, vResult) - << "(" << gResult[vResult].membership << ")("; - visitor.template printVertexResult(rFirst, rSecond, match, result, std::cout, vResult); - std::cout << ")" << std::endl; + logger.indent() << "new node:\t" + << get(boost::vertex_index_t(), gResult, vResult) + << "(" << gResult[vResult].membership << ")("; + visitor.template printVertexResult(rFirst, rSecond, match, result, logger.s, vResult); + logger.s << ")" << std::endl; } } } } - void composeVerticesSecond() { - if(Verbose) std::cout << "composeVerticesSecond\n" << std::string(80, '-') << std::endl; + void composeVerticesSecond(IO::Logger loggerOrig) { + if(Verbose) { + loggerOrig.indent() << "composeVerticesSecond\n"; + loggerOrig.sep('-'); + } const auto &gFirst = rFirst.getCombinedGraph(); const auto &gSecond = rSecond.getCombinedGraph(); auto &gResult = result.rDPO->getCombinedGraph(); // copy nodes from second, but compose the matched ones which has already been created for(const auto vSecond: asRange(vertices(gSecond))) { + auto logger = loggerOrig; if(Verbose) { - std::cout << "rSecond node:\t" - << get(boost::vertex_index_t(), gSecond, vSecond) - << "(" << rSecond.getCombinedGraph()[vSecond].membership << ")" - << "("; - visitor.template printVertexSecond(rFirst, rSecond, match, result, std::cout, vSecond); - std::cout << ")" << std::endl; + ++logger.indentLevel; + logger.indent() << "rSecond node:\t" + << get(boost::vertex_index_t(), gSecond, vSecond) + << "(" << rSecond.getCombinedGraph()[vSecond].membership << ")" + << "("; + visitor.template printVertexSecond(rFirst, rSecond, match, result, logger.s, vSecond); + logger.s << ")" << std::endl; + ++logger.indentLevel; } // check if the vertex is matched const auto vFirst = getVertexFirstChecked(vSecond); @@ -159,26 +171,26 @@ struct CompositionHelper { syncSize(result.mSecondToResult, gSecond, gResult); put(result.mSecondToResult, gSecond, gResult, vSecond, vResult); gResult[vResult].membership = rSecond.getCombinedGraph()[vSecond].membership; - visitor.template copyVertexSecond(rFirst, rSecond, match, result, vSecond, vResult); + visitor.template copyVertexSecond(logger, rFirst, rSecond, match, result, vSecond, vResult); if(Verbose) { - std::cout << "new node:\t" << get(boost::vertex_index_t(), gResult, vResult) - << "(" << gResult[vResult].membership << ")" - << "("; - visitor.template printVertexResult(rFirst, rSecond, match, result, std::cout, vResult); - std::cout << ")" << std::endl; + logger.indent() << "new node:\t" << get(boost::vertex_index_t(), gResult, vResult) + << "(" << gResult[vResult].membership << ")" + << "("; + visitor.template printVertexResult(rFirst, rSecond, match, result, logger.s, vResult); + logger.s << ")" << std::endl; } } else { // vertex matched const auto vResult = get(result.mFirstToResult, gFirst, gResult, vFirst); put(result.mSecondToResult, gSecond, gResult, vSecond, vResult); if(vResult == getNullResult()) { - if(Verbose) std::cout << "deleted" << std::endl; + if(Verbose) logger.indent() << "deleted" << std::endl; } else { if(Verbose) { - std::cout << "match to:\t" << get(boost::vertex_index_t(), gResult, vResult) - << "(" << gResult[vResult].membership << ")" - << "("; - visitor.template printVertexResult(rFirst, rSecond, match, result, std::cout, vResult); - std::cout << ")" << std::endl; + logger.indent() << "match to:\t" << get(boost::vertex_index_t(), gResult, vResult) + << "(" << gResult[vResult].membership << ")" + << "("; + visitor.template printVertexResult(rFirst, rSecond, match, result, logger.s, vResult); + logger.s << ")" << std::endl; } // now we calculate the new membership for the node const auto mFirst = gResult[vResult].membership; // should be a copy of the one from rFirst @@ -192,18 +204,21 @@ struct CompositionHelper { std::abort(); } else { // vSecond is CONTEXT, so vResult must be RIGHT (which it already is in rResult) - visitor.template composeVertexRvsLR(rFirst, rSecond, match, result, vResult, vSecond); + visitor.template composeVertexRvsLR(logger, rFirst, rSecond, match, result, vResult, + vSecond); } } else { // vFirst is either LEFT or CONTEXT assert(mFirst != Membership::L); // we can't match a LEFT node in rRight // vFirst is CONTEXT if(mSecond == Membership::L) { // vSecond is disappearing, so vResult is disappearing as well - visitor.template composeVertexLRvsL(rFirst, rSecond, match, result, vResult, vSecond); + visitor.template composeVertexLRvsL(logger, rFirst, rSecond, match, result, vResult, + vSecond); gResult[vResult].membership = Membership::L; } else { // both vFirst and vSecond is in both of their sides // let the visitor do its thing - visitor.template composeVertexLRvsLR(rFirst, rSecond, match, result, vResult, vSecond); + visitor.template composeVertexLRvsLR(logger, rFirst, rSecond, match, result, vResult, + vSecond); assert(gResult[vResult].membership == Membership::K); } // end if vSecond is LEFT } // end if vFirst is RIGHT @@ -212,12 +227,16 @@ struct CompositionHelper { } // end foreach vSecond } - bool copyEdgesFirstUnmatched() { - if(Verbose) std::cout << "copyEdgesFirstUnmatched\n" << std::string(80, '-') << std::endl; + bool copyEdgesFirstUnmatched(IO::Logger logger) { + if(Verbose) { + logger.indent() << "copyEdgesFirstUnmatched\n"; + logger.sep('-'); + } const auto &gFirst = rFirst.getCombinedGraph(); const auto &gSecond = rSecond.getCombinedGraph(); auto &gResult = result.rDPO->getCombinedGraph(); - const auto processEdge = [&](const auto eFirst) { + const auto processEdge = [&](IO::Logger logger, const auto eFirst) { + ++logger.indentLevel; // map source and target to core vertices const auto vSrcFirst = source(eFirst, gFirst); const auto vTarFirst = target(eFirst, gFirst); @@ -226,12 +245,13 @@ struct CompositionHelper { const auto vSrcResult = get(result.mFirstToResult, gFirst, gResult, vSrcFirst); const auto vTarResult = get(result.mFirstToResult, gFirst, gResult, vTarFirst); // vSrcResult/vTarResult may be null_vertex - std::cout << "Edge first:\t(" << vSrcFirst << ", " << vTarFirst << ") maybe copy to new (" << vSrcResult - << ", " << vTarResult << ")" - << "(" << meFirst << ")" - << "("; - visitor.template printEdgeFirst(rFirst, rSecond, match, result, std::cout, eFirst); - std::cout << ")" << std::endl; + logger.indent() << "Edge first:\t(" << vSrcFirst << ", " << vTarFirst << ") maybe copy to new (" + << vSrcResult << ", " << vTarResult << ")" + << "(" << meFirst << ")" + << "("; + visitor.template printEdgeFirst(rFirst, rSecond, match, result, logger.s, eFirst); + logger.s << ")" << std::endl; + ++logger.indentLevel; } const auto makeCopy = [&]() { const auto vSrcResult = get(result.mFirstToResult, gFirst, gResult, vSrcFirst); @@ -239,48 +259,48 @@ struct CompositionHelper { // vResultSrc/vResultTar should be valid at this point assert(vSrcResult != getNullResult()); assert(vTarResult != getNullResult()); - if(Verbose) std::cout << "\tCopy eFirst" << std::endl; + if(Verbose) logger.indent() << "Copy eFirst" << std::endl; const auto peResult = add_edge(vSrcResult, vTarResult, gResult); // adding shouldn't fail assert(peResult.second); const auto eResult = peResult.first; gResult[eResult].membership = gFirst[eFirst].membership; - visitor.template copyEdgeFirst(rFirst, rSecond, match, result, eFirst, eResult); + visitor.template copyEdgeFirst(logger, rFirst, rSecond, match, result, eFirst, eResult); assert(gResult[vSrcResult].membership == Membership::K || gResult[vSrcResult].membership == meFirst); assert(gResult[vTarResult].membership == Membership::K || gResult[vTarResult].membership == meFirst); }; // and now the actual case analysis if(meFirst == Membership::L) { - if(Verbose) std::cout << "\teFirst in LEFT, clean copy" << std::endl; + if(Verbose) logger.indent() << "eFirst in LEFT, clean copy" << std::endl; makeCopy(); return true; } - if(Verbose) std::cout << "\teFirst in RIGHT or CONTEXT" << std::endl; + if(Verbose) logger.indent() << "eFirst in RIGHT or CONTEXT" << std::endl; const auto vSrcSecond = getVertexSecond(vSrcFirst); const auto vTarSecond = getVertexSecond(vTarFirst); const bool isSrcMatched = vSrcSecond != getNullSecond(); const bool isTarMatched = vTarSecond != getNullSecond(); if(isSrcMatched && isTarMatched) { - if(Verbose) std::cout << "\tBoth ends matched" << std::endl; + if(Verbose) logger.indent() << "Both ends matched" << std::endl; const auto oeSecond = out_edges(vSrcSecond, gSecond); const auto eSecondIter = std::find_if(oeSecond.first, oeSecond.second, - [&gSecond, vTarSecond](const auto &eSecond) { - return target(eSecond, gSecond) == vTarSecond && - gSecond[eSecond].membership != Membership::R; - }); + [&gSecond, vTarSecond](const auto &eSecond) { + return target(eSecond, gSecond) == vTarSecond && + gSecond[eSecond].membership != Membership::R; + }); // TODO: why do we check the membership in the find_if? // There should be only one edge, so we can bail out here, right? const bool isEdgeMatched = eSecondIter != oeSecond.second; if(isEdgeMatched) { const auto eSecond = *eSecondIter; if(meFirst == Membership::R) { - if(Verbose) std::cout << "\teFirst matched and in RIGHT, skipping" << std::endl; + if(Verbose) logger.indent() << "eFirst matched and in RIGHT, skipping" << std::endl; return true; } if(Verbose) - std::cout << "\teFirst matched and in CONTEXT, copying to LEFT or CONTEXT (depending on eSecond (" - << gSecond[eSecond].membership << "))" << std::endl; + logger.indent() << "eFirst matched and in CONTEXT, copying to LEFT or CONTEXT (depending on eSecond (" + << gSecond[eSecond].membership << "))" << std::endl; const auto vSrcResult = get(result.mFirstToResult, gFirst, gResult, vSrcFirst); const auto vTarResult = get(result.mFirstToResult, gFirst, gResult, vTarFirst); // vResultSrc/vResultTar can not be null_vertex @@ -292,7 +312,7 @@ struct CompositionHelper { const auto eResult = peResult.first; // we use the second membership, so do not use the common copy mechanism in the bottom of the function gResult[eResult].membership = gSecond[eSecond].membership; - visitor.template copyEdgeFirst(rFirst, rSecond, match, result, eFirst, eResult); + visitor.template copyEdgeFirst(logger, rFirst, rSecond, match, result, eFirst, eResult); assert(gResult[vSrcResult].membership != Membership::R); assert(gResult[vTarResult].membership != Membership::R); return true; @@ -304,7 +324,7 @@ struct CompositionHelper { // vSrcResult/vTarResult may be null_vertex const bool endPointDeleted = vSrcResult == getNullResult() || vTarResult == getNullResult(); if(endPointDeleted) { - if(Verbose) std::cout << "\tComposition failure: at least one matched vertex deleted" << std::endl; + if(Verbose) logger.indent() << "Composition failure: at least one matched vertex deleted" << std::endl; return false; } @@ -313,71 +333,78 @@ struct CompositionHelper { const auto mvTarResult = gResult[vTarResult].membership; if(mvSrcResult == Membership::L || mvTarResult == Membership::L) { if(Verbose) - std::cout << "\tComposition failure: at least one matched vertex has inconsistent context (" - << mvSrcResult << " and " << mvTarResult << "), eFirst is (" << meFirst << ")" << std::endl; + logger.indent() << "Composition failure: at least one matched vertex has inconsistent context (" + << mvSrcResult << " and " << mvTarResult << "), eFirst is (" << meFirst << ")" + << std::endl; return false; } - if(Verbose) std::cout << "\teFirst not matched and not dangling" << std::endl; + if(Verbose) logger.indent() << "eFirst not matched and not dangling" << std::endl; makeCopy(); return true; } // at most 1 end matched if(isSrcMatched != isTarMatched) { - if(Verbose) std::cout << "\tOne end matched" << std::endl; + if(Verbose) logger.indent() << "One end matched" << std::endl; const auto vSrcResult = get(result.mFirstToResult, gFirst, gResult, vSrcFirst); const auto vTarResult = get(result.mFirstToResult, gFirst, gResult, vTarFirst); // vResultSrc/vResultTar may be null_vertex const auto vResultMatched = isSrcMatched ? vSrcResult : vTarResult; const bool matchedDeleted = vResultMatched == boost::graph_traits::null_vertex(); if(matchedDeleted) { - if(Verbose) std::cout << "\tComposition failure: matched vertex deleted" << std::endl; + if(Verbose) logger.indent() << "Composition failure: matched vertex deleted" << std::endl; return false; } // matched, but is it consistent? const auto mvMatchedResult = gResult[vResultMatched].membership; if(mvMatchedResult == Membership::L) { if(Verbose) - std::cout << "\tComposition failure: matched vertex has inconsistent context (" - << mvMatchedResult << "), eFirst is (" << meFirst << ")" << std::endl; + logger.indent() << "Composition failure: matched vertex has inconsistent context (" + << mvMatchedResult << "), eFirst is (" << meFirst << ")" << std::endl; return false; } - if(Verbose) std::cout << "\teFirst not matched and not dangling" << std::endl; + if(Verbose) logger.indent() << "eFirst not matched and not dangling" << std::endl; makeCopy(); return true; } - if(Verbose) std::cout << "\tNo ends matched" << std::endl; + if(Verbose) logger.indent() << "No ends matched" << std::endl; makeCopy(); return true; }; for(const auto eFirst: asRange(edges(gFirst))) { - const bool ok = processEdge(eFirst); + const bool ok = processEdge(logger, eFirst); if(!ok) return false; } return true; } - bool composeEdgesSecond() { - if(Verbose) std::cout << "composeEdgesSecond\n" << std::string(80, '-') << std::endl; + bool composeEdgesSecond(IO::Logger loggerOrig) { + if(Verbose) { + loggerOrig.indent() << "composeEdgesSecond\n"; + loggerOrig.sep('-'); + } // const auto &gFirst = rFirst.getCombinedGraph(); const auto &gSecond = rSecond.getCombinedGraph(); auto &gResult = result.rDPO->getCombinedGraph(); for(auto eSecond: asRange(edges(gSecond))) { + auto logger = loggerOrig; auto vSecondSrc = source(eSecond, gSecond); auto vSecondTar = target(eSecond, gSecond); auto vResultSrc = get(result.mSecondToResult, gSecond, gResult, vSecondSrc); auto vResultTar = get(result.mSecondToResult, gSecond, gResult, vSecondTar); if(Verbose) { + ++logger.indentLevel; // vSrcNew/vTarNew may be null_vertex - std::cout << "Edge second:\t(" << vSecondSrc << ", " << vSecondTar << ")\tmapped to (" << vResultSrc << ", " - << vResultTar << ")" - << ", (" << gSecond[eSecond].membership << ")" - << "("; - visitor.template printEdgeSecond(rFirst, rSecond, match, result, std::cout, eSecond); - std::cout << ")" << std::endl; + logger.indent() << "Edge second:\t(" << vSecondSrc << ", " << vSecondTar << ")\tmapped to (" << vResultSrc + << ", " << vResultTar << ")" + << ", (" << gSecond[eSecond].membership << ")" + << "("; + visitor.template printEdgeSecond(rFirst, rSecond, match, result, logger.s, eSecond); + logger.s << ")" << std::endl; + ++logger.indentLevel; } // vResultSrc/vResultTar may be null_vertex // check for match on vFirstSrc and vFirstTar @@ -387,7 +414,7 @@ struct CompositionHelper { bool isTarMatched = vFirstTar != boost::graph_traits::null_vertex(); if(!isSrcMatched || !isTarMatched) { // new edge if(!isSrcMatched && !isTarMatched) { - if(Verbose) std::cout << "No ends matched. Copy eSecond." << std::endl; + if(Verbose) logger.indent() << "No ends matched. Copy eSecond." << std::endl; // vResultSrc/vResultTar can not be null_vertex assert(vResultSrc != boost::graph_traits::null_vertex()); assert(vResultTar != boost::graph_traits::null_vertex()); @@ -396,32 +423,35 @@ struct CompositionHelper { assert(peResult.second); auto eResult = peResult.first; gResult[eResult].membership = gSecond[eSecond].membership; - visitor.template copyEdgeSecond(rFirst, rSecond, match, result, eSecond, eResult); + visitor.template copyEdgeSecond(logger, rFirst, rSecond, match, result, eSecond, eResult); } else { // one end matched assert(vResultSrc != boost::graph_traits::null_vertex() - || vResultTar != boost::graph_traits::null_vertex()); - bool isOk = composeEdgeSecond_oneEndMatched(eSecond, vResultSrc, vResultTar, isSrcMatched, isTarMatched); + || vResultTar != boost::graph_traits::null_vertex()); + bool isOk = composeEdgeSecond_oneEndMatched(logger, eSecond, vResultSrc, vResultTar, isSrcMatched, + isTarMatched); if(!isOk) return false; } // if 0 or 1 end matched } else { // maybe a matched edge - bool isOk = composeEdgeSecond_bothEndsMatched(eSecond, vFirstSrc, vFirstTar, vResultSrc, vResultTar); + bool isOk = composeEdgeSecond_bothEndsMatched(logger, eSecond, vFirstSrc, vFirstTar, vResultSrc, + vResultTar); if(!isOk) return false; } // end if 0 or 1 matched endNodes } // end for each eSecond return true; } private: - bool composeEdgeSecond_oneEndMatched(EdgeSecond eSecond, - VertexResult vResultSrc, - VertexResult vResultTar, - bool isSrcMatched, - bool isTarMatched) { + bool composeEdgeSecond_oneEndMatched(IO::Logger logger, + EdgeSecond eSecond, + VertexResult vResultSrc, + VertexResult vResultTar, + bool isSrcMatched, + bool isTarMatched) { auto &gResult = result.rDPO->getCombinedGraph(); - if(Verbose) std::cout << "One end matched, eSecond should be copied" << std::endl; + if(Verbose) logger.indent() << "One end matched, eSecond should be copied" << std::endl; assert(isSrcMatched ^ isTarMatched); // at most one of vResultSrc and vResultTar may be null_vertex assert(vResultSrc != boost::graph_traits::null_vertex() - || vResultTar != boost::graph_traits::null_vertex()); + || vResultTar != boost::graph_traits::null_vertex()); auto vResultMatched = isSrcMatched ? vResultSrc : vResultTar; auto vResultOther = isSrcMatched ? vResultTar : vResultSrc; // vResultMatched may be null_vertex, if it's a RIGHT vs. LEFT vertex @@ -431,37 +461,40 @@ struct CompositionHelper { (void) mvResultOther; assert(mvResultOther == Membership::K || mvResultOther == meSecond); + if(Verbose) ++logger.indentLevel; + if(vResultMatched == boost::graph_traits::null_vertex()) { - if(Verbose) std::cout << "\tComposition failure: matched vertex deleted" << std::endl; + if(Verbose) logger.indent() << "Composition failure: matched vertex deleted" << std::endl; return false; } auto mvResultMatched = gResult[vResultMatched].membership; if(mvResultMatched != Membership::K && mvResultMatched != meSecond) { if(Verbose) - std::cout << "\tComposition failure: matched vertex has inconsistent context (" - << mvResultMatched << "), eSecond is (" << meSecond << ")" << std::endl; + logger.indent() << "Composition failure: matched vertex has inconsistent context (" + << mvResultMatched << "), eSecond is (" << meSecond << ")" << std::endl; return false; } - if(Verbose) std::cout << "\tCopy edge" << std::endl; + if(Verbose) logger.indent() << "Copy edge" << std::endl; auto peResult = add_edge(vResultSrc, vResultTar, gResult); // adding shouldn't fail assert(peResult.second); auto eResult = peResult.first; gResult[eResult].membership = rSecond.getCombinedGraph()[eSecond].membership; - visitor.template copyEdgeSecond(rFirst, rSecond, match, result, eSecond, eResult); + visitor.template copyEdgeSecond(logger, rFirst, rSecond, match, result, eSecond, eResult); return true; } - bool composeEdgeSecond_bothEndsMatched(EdgeSecond eSecond, - VertexFirst vFirstSrc, - VertexFirst vFirstTar, - VertexResult vResultSrc, - VertexResult vResultTar) { + bool composeEdgeSecond_bothEndsMatched(IO::Logger logger, + EdgeSecond eSecond, + VertexFirst vFirstSrc, + VertexFirst vFirstTar, + VertexResult vResultSrc, + VertexResult vResultTar) { const auto &gFirst = rFirst.getCombinedGraph(); auto &gResult = result.rDPO->getCombinedGraph(); - if(Verbose) std::cout << "Both ends matched" << std::endl; + if(Verbose) logger.indent() << "Both ends matched" << std::endl; // vResultSrc/vResultTar may be null_vertex std::optional omeFirst; // we search in coreFirst, because it has the matched edges @@ -472,6 +505,8 @@ struct CompositionHelper { } auto meSecond = rSecond.getCombinedGraph()[eSecond].membership; + if(Verbose) ++logger.indentLevel; + // possibilities: // -> vs. | -> // -> vs. -> | @@ -490,24 +525,24 @@ struct CompositionHelper { // -> vs. | -> // -> vs. -> | // -> vs. | -> | - if(Verbose) std::cout << "\tSimple copy of eSecond" << std::endl; + if(Verbose) logger.indent() << "Simple copy of eSecond" << std::endl; if(meSecond == Membership::L) { - if(Verbose) std::cout << "\t\teSecond in LEFT, check ends" << std::endl; + if(Verbose) logger.indent() << "eSecond in LEFT, check ends" << std::endl; // vResultSrc/vResultTar may be null_vertex if(vResultSrc == boost::graph_traits::null_vertex()) { - if(Verbose) std::cout << "\tComposition failure: vResultSrc deleted" << std::endl; + if(Verbose) logger.indent() << "Composition failure: vResultSrc deleted" << std::endl; return false; } if(vResultTar == boost::graph_traits::null_vertex()) { - if(Verbose) std::cout << "\tComposition failure: vResultTar deleted" << std::endl; + if(Verbose) logger.indent() << "Composition failure: vResultTar deleted" << std::endl; return false; } if(gResult[vResultSrc].membership == Membership::R) { - if(Verbose) std::cout << "\tComposition failure: vResultSrc not in LEFT or CONTEXT" << std::endl; + if(Verbose) logger.indent() << "Composition failure: vResultSrc not in LEFT or CONTEXT" << std::endl; return false; } if(gResult[vResultTar].membership == Membership::R) { - if(Verbose) std::cout << "\tComposition failure: vResultTar not in LEFT or CONTEXT" << std::endl; + if(Verbose) logger.indent() << "Composition failure: vResultTar not in LEFT or CONTEXT" << std::endl; return false; } } @@ -518,8 +553,8 @@ struct CompositionHelper { // adding shouldn't fail assert(peResult.second); auto eResult = peResult.first; - gResult[eResult].membership = rSecond.getCombinedGraph()[eSecond].membership; - visitor.template copyEdgeSecond(rFirst, rSecond, match, result, eSecond, eResult); + gResult[eResult].membership = rSecond.getCombinedGraph()[eSecond].membership; + visitor.template copyEdgeSecond(logger, rFirst, rSecond, match, result, eSecond, eResult); return true; } @@ -530,7 +565,7 @@ struct CompositionHelper { // creating parallel in left // | -> vs. | -> // | -> vs. | -> | - if(Verbose) std::cout << "\tComposition failure: duplicate edge in L" << std::endl; + if(Verbose) logger.indent() << "Composition failure: duplicate edge in L" << std::endl; return false; } if(meFirst != Membership::L && meSecond == Membership::R) { @@ -538,8 +573,9 @@ struct CompositionHelper { // -> | vs. -> | // | -> | vs. -> | if(Verbose) - std::cout << "\tComposition failure: eSecond in RIGHT, eFirst in CONTEXT or RIGHT, i.e., parallel edge in R" - << std::endl; + logger.indent() + << "Composition failure: eSecond in RIGHT, eFirst in CONTEXT or RIGHT, i.e., parallel edge in R" + << std::endl; return false; } // remaining possibilities: @@ -553,8 +589,8 @@ struct CompositionHelper { // -> | vs. | -> first not in result // | -> | vs. | -> first in result as LEFT if(Verbose) - std::cout << "\teSecond matched in (" << meSecond << ")" - << ", either in LEFT or both eSecond and eFirst in CONTEXT" << std::endl; + logger.indent() << "eSecond matched in (" << meSecond << ")" + << ", either in LEFT or both eSecond and eFirst in CONTEXT" << std::endl; return true; } // remaining possibilities: @@ -568,13 +604,13 @@ struct CompositionHelper { // copy eSecond as RIGHT to result assert(meSecond == Membership::K); // -> | vs. | -> | - if(Verbose) std::cout << "\t -> | vs. | -> |, copy to RIGHT" << std::endl; + if(Verbose) logger.indent() << " -> | vs. | -> |, copy to RIGHT" << std::endl; auto peResult = add_edge(vResultSrc, vResultTar, gResult); // adding shouldn't fail assert(peResult.second); auto eResult = peResult.first; gResult[eResult].membership = Membership::R; - visitor.template copyEdgeSecond(rFirst, rSecond, match, result, eSecond, eResult); + visitor.template copyEdgeSecond(logger, rFirst, rSecond, match, result, eSecond, eResult); return true; } // remaining possibilities: @@ -589,11 +625,12 @@ struct CompositionHelper { assert(edgeIter != edgesResult.second); auto eResult = *edgeIter; if(Verbose) - std::cout - << "\t'| -> vs. -> |' or '| -> | vs. | -> |', promote eNew to CONTEXT and set right from second right" + logger.indent() + << "'| -> vs. -> |' or '| -> | vs. | -> |', promote eNew to CONTEXT and set right from second right" << std::endl; gResult[eResult].membership = Membership::K; - visitor.template setEdgeResultRightFromSecondRight(rFirst, rSecond, match, result, eResult, eSecond); + visitor.template setEdgeResultRightFromSecondRight(logger, rFirst, rSecond, match, result, eResult, + eSecond); return true; } private: diff --git a/libs/libmod/src/mod/lib/Rules/IO/Read.cpp b/libs/libmod/src/mod/lib/Rules/IO/Read.cpp index e4be344..7191d04 100644 --- a/libs/libmod/src/mod/lib/Rules/IO/Read.cpp +++ b/libs/libmod/src/mod/lib/Rules/IO/Read.cpp @@ -234,7 +234,7 @@ struct MatchConstraintConverter { } // namespace -Result gml(lib::IO::Warnings &warnings, std::string_view input) { +Result gml(lib::IO::Warnings &warnings, std::string_view input, bool printStereoWarnings) { auto resRule = parseGML(input); if(!resRule) return std::move(resRule); // TODO: remove std::move when C++20/P1825R0 is available auto &rule = *resRule; @@ -306,7 +306,7 @@ Result gml(lib::IO::Warnings &warnings, std::string_view input) { } // for each vertex for(auto &[eIds, eData]: eLabelsFromIds) { - const auto[src, tar] = eIds; + const auto [src, tar] = eIds; if(vLabelsFromId.find(src) == end(vLabelsFromId)) return Result<>::Error( "Error in rule GML. Edge endpoint '" + std::to_string(src) + "' does not exist for edge (" @@ -423,7 +423,7 @@ Result gml(lib::IO::Warnings &warnings, std::string_view input) { } for(auto &[eIds, eData]: eLabelsFromIds) { - const auto[src, tar] = eIds; + const auto [src, tar] = eIds; if(eData.stereo.context) { if(eData.stereo.left) return Result<>::Error("Error in rule GML. Edge (" + std::to_string(src) + ", " + std::to_string(tar) + @@ -570,9 +570,9 @@ Result gml(lib::IO::Warnings &warnings, std::string_view input) { return res; } // for each vertex - const auto finalize = [&warnings, &rDPO, &vIdFromCG](auto &inference, const std::string &side, - const auto &gSide, const auto &mSideToCG) { - return inference.finalize(warnings, + const auto finalize = [&warnings, printStereoWarnings, &rDPO, &vIdFromCG]( + auto &inference, const std::string &side, const auto &gSide, const auto &mSideToCG) { + return inference.finalize(warnings, printStereoWarnings, [&rDPO, &vIdFromCG, &side, &gSide, &mSideToCG](lib::DPO::CombinedRule::SideVertex vS) { const auto v = get(mSideToCG, gSide, rDPO.getCombinedGraph(), vS); const auto iter = vIdFromCG.find(v); @@ -961,13 +961,13 @@ Result dfs(lib::IO::Warnings &warnings, std::string_view input) { return res; if(astRes->left.ast) { - for(const auto[id, vDFS]: astRes->left.vertexFromId) { + for(const auto [id, vDFS]: astRes->left.vertexFromId) { assert(vDFS->gVertexId != -1); data.externalToInternalIds[id] = vDFS->gVertexId; } } if(astRes->right.ast) { - for(const auto[id, vDFS]: astRes->right.vertexFromId) { + for(const auto [id, vDFS]: astRes->right.vertexFromId) { assert(vDFS->gVertexId != -1); if(auto iter = data.externalToInternalIds.find(id); iter == data.externalToInternalIds.end()) { data.externalToInternalIds[id] = vDFS->gVertexId; diff --git a/libs/libmod/src/mod/lib/Rules/IO/Read.hpp b/libs/libmod/src/mod/lib/Rules/IO/Read.hpp index 8ea42f5..8049037 100644 --- a/libs/libmod/src/mod/lib/Rules/IO/Read.hpp +++ b/libs/libmod/src/mod/lib/Rules/IO/Read.hpp @@ -23,7 +23,7 @@ struct Data { std::map externalToInternalIds; }; -lib::IO::Result gml(lib::IO::Warnings &warnings, std::string_view input); +lib::IO::Result gml(lib::IO::Warnings &warnings, std::string_view input, bool printStereoWarnings); lib::IO::Result dfs(lib::IO::Warnings &warnings, std::string_view input); } // namespace mod::lib::Rules::Read diff --git a/libs/libmod/src/mod/lib/Rules/IO/Write.cpp b/libs/libmod/src/mod/lib/Rules/IO/Write.cpp index 75b4844..e984655 100644 --- a/libs/libmod/src/mod/lib/Rules/IO/Write.cpp +++ b/libs/libmod/src/mod/lib/Rules/IO/Write.cpp @@ -412,7 +412,7 @@ std::string coords(const Real &r, int idOffset, const Options &options, const auto vId = get(boost::vertex_index_t(), gCombined, vCG); // if we are in the collapsed case and the depictor collapsed it, don't print if(useCollapsedCoords && depict.mayCollapse(vCG)) continue; - const auto[x, y] = pointTransform( + const auto [x, y] = pointTransform( depict.getX(vCG, !useCollapsedCoords), depict.getY(vCG, !useCollapsedCoords), options.rotation, options.mirror); @@ -893,53 +893,54 @@ void termState(const Real &r) { for(const auto &c: get_match_constraints(get_labelled_right(r.getDPORule()))) c->accept(vis); - Term::Write::wam(getMachine(pTerm), lib::Term::getStrings(), s, [&](Address addr, std::ostream &s) { - s << " "; - bool first = true; - for(auto vm: addrToVertex[addr]) { - if(!first) s << ", "; - first = false; - s << "v(" << get(boost::vertex_index_t(), gCombined, vm.first) << ", "; - switch(vm.second) { - case Membership::L: - s << "L"; - break; - case Membership::R: - s << "R"; - break; - case Membership::K: - s << "K"; - break; - } - s << ")"; - } - for(auto em: addrToEdge[addr]) { - if(!first) s << ", "; - first = false; - s << "e(" - << get(boost::vertex_index_t(), gCombined, source(em.first, gCombined)) - << ", " - << get(boost::vertex_index_t(), gCombined, target(em.first, gCombined)) - << ", "; - switch(em.second) { - case Membership::L: - s << "L"; - break; - case Membership::R: - s << "R"; - break; - case Membership::K: - s << "K"; - break; - } - s << ")"; - } - for(auto &msg: addrToConstraintInfo[addr]) { - if(!first) s << ", "; - first = false; - s << msg; - } - }); + Term::Write::wam(getMachine(pTerm), lib::Term::getStrings(), + IO::Logger(s), [&](Address addr, std::ostream &s) { + s << " "; + bool first = true; + for(auto vm: addrToVertex[addr]) { + if(!first) s << ", "; + first = false; + s << "v(" << get(boost::vertex_index_t(), gCombined, vm.first) << ", "; + switch(vm.second) { + case Membership::L: + s << "L"; + break; + case Membership::R: + s << "R"; + break; + case Membership::K: + s << "K"; + break; + } + s << ")"; + } + for(auto em: addrToEdge[addr]) { + if(!first) s << ", "; + first = false; + s << "e(" + << get(boost::vertex_index_t(), gCombined, source(em.first, gCombined)) + << ", " + << get(boost::vertex_index_t(), gCombined, target(em.first, gCombined)) + << ", "; + switch(em.second) { + case Membership::L: + s << "L"; + break; + case Membership::R: + s << "R"; + break; + case Membership::K: + s << "K"; + break; + } + s << ")"; + } + for(auto &msg: addrToConstraintInfo[addr]) { + if(!first) s << ", "; + first = false; + s << msg; + } + }); } else { std::string msg = "Parsing failed for rule '" + r.getName() + "'. " + pTerm.getParsingError(); throw TermParsingError(std::move(msg)); diff --git a/libs/libmod/src/mod/lib/Rules/LabelledRule.cpp b/libs/libmod/src/mod/lib/Rules/LabelledRule.cpp index e0a00cd..b74b0cc 100644 --- a/libs/libmod/src/mod/lib/Rules/LabelledRule.cpp +++ b/libs/libmod/src/mod/lib/Rules/LabelledRule.cpp @@ -187,6 +187,7 @@ bool has_stereo(const LabelledRule &r) { const LabelledRule::PropStereoType &get_stereo(const LabelledRule &r) { if(!has_stereo(r)) { + constexpr bool printStereoWarnings = true; auto gLeft = get_labelled_left(r); auto gRight = get_labelled_right(r); auto pMoleculeLeft = get_molecule(gLeft); @@ -196,20 +197,18 @@ const LabelledRule::PropStereoType &get_stereo(const LabelledRule &r) { { lib::IO::Warnings warnings; - auto res = leftInference.finalize(warnings, [&r](LabelledRule::Vertex v) { + auto res = leftInference.finalize(warnings, printStereoWarnings, [&r](LabelledRule::Vertex v) { return std::to_string(get(boost::vertex_index_t(), get_graph(r), v)) + " left"; }); - if(!getConfig().stereo.silenceDeductionWarnings.get()) - std::cout << warnings; + std::cout << warnings; res.throwIfError(); } { lib::IO::Warnings warnings; - auto res = rightInference.finalize(warnings, [&r](LabelledRule::Vertex v) { + auto res = rightInference.finalize(warnings, printStereoWarnings, [&r](LabelledRule::Vertex v) { return std::to_string(get(boost::vertex_index_t(), get_graph(r), v)) + " right"; }); - if(!getConfig().stereo.silenceDeductionWarnings.get()) - std::cout << warnings; + std::cout << warnings; res.throwIfError(); } diff --git a/libs/libmod/src/mod/lib/Stereo/Configuration/Configuration.hpp b/libs/libmod/src/mod/lib/Stereo/Configuration/Configuration.hpp index 0f18c85..0b9960c 100644 --- a/libs/libmod/src/mod/lib/Stereo/Configuration/Configuration.hpp +++ b/libs/libmod/src/mod/lib/Stereo/Configuration/Configuration.hpp @@ -48,12 +48,12 @@ struct Configuration { } public: // checking // pre: dynamic type of this and other is the same - virtual bool localPredIso(const Configuration &other) const { + virtual bool localPredIso(const Configuration &) const { return true; } // pre: dynamic type of this and other is the same - virtual bool localPredSpec(const Configuration &other) const { + virtual bool localPredSpec(const Configuration &) const { return true; } diff --git a/libs/libmod/src/mod/lib/Stereo/GeometryGraph.cpp b/libs/libmod/src/mod/lib/Stereo/GeometryGraph.cpp index 3d99fbc..25830f4 100644 --- a/libs/libmod/src/mod/lib/Stereo/GeometryGraph.cpp +++ b/libs/libmod/src/mod/lib/Stereo/GeometryGraph.cpp @@ -160,7 +160,8 @@ GeometryGraph::Vertex GeometryGraph::nullGeometry() { } lib::IO::Result -GeometryGraph::deduceLonePairs(lib::IO::Warnings &warnings, const AtomData &ad, const EdgeCategoryCount &catCount, +GeometryGraph::deduceLonePairs(lib::IO::Warnings &warnings, bool printWarnings, + const AtomData &ad, const EdgeCategoryCount &catCount, Vertex vGeometry, bool asPattern) const { auto atomId = ad.getAtomId(); auto charge = ad.getCharge(); @@ -190,14 +191,14 @@ GeometryGraph::deduceLonePairs(lib::IO::Warnings &warnings, const AtomData &ad, std::stringstream msg; msg << "No viable configurations for " << ad << " with bonds " << catCount << ", in geometry '" << g[vGeometry].name << "'."; - warnings.add(msg.str()); + warnings.add(msg.str(), printWarnings); return 0; } if(viables.size() > 1) { std::stringstream msg; msg << "Ambiguous deduction for " << ad << " with bonds " << catCount << ", in geometry '" << g[vGeometry].name << "'. Matches are:\n"; - for(const auto &v : viables) { + for(const auto &v: viables) { msg << "\t" << AtomData(v.atomId, v.charge, v.radical); if(v.catCount.sum() > 0) msg << ", " << v.catCount; if(v.lonePair > 0) msg << ", e = " << v.lonePair; @@ -210,7 +211,8 @@ GeometryGraph::deduceLonePairs(lib::IO::Warnings &warnings, const AtomData &ad, } lib::IO::Result -GeometryGraph::deduceGeometry(lib::IO::Warnings &warnings, const AtomData &ad, const EdgeCategoryCount &catCount, +GeometryGraph::deduceGeometry(lib::IO::Warnings &warnings, bool printWarnings, + const AtomData &ad, const EdgeCategoryCount &catCount, unsigned char numLonePairs, bool asPattern) const { auto atomId = ad.getAtomId(); auto charge = ad.getCharge(); @@ -238,14 +240,14 @@ GeometryGraph::deduceGeometry(lib::IO::Warnings &warnings, const AtomData &ad, c msg << ", and "; if(numLonePairs > 0) msg << numLonePairs << " lone pairs."; else msg << " no lone pairs."; - warnings.add(msg.str()); + warnings.add(msg.str(), printWarnings); return any; } if(viables.size() > 1) { std::stringstream msg; msg << "Ambiguous deduction for " << ad << " with bonds " << catCount << ", and " << numLonePairs << " lone pairs.Matches are:\n"; - for(auto &v : viables) { + for(auto &v: viables) { msg << "\t" << AtomData(v.atomId, v.charge, v.radical); if(v.catCount.sum() > 0) msg << ", " << v.catCount; msg << ", geometry = " << g[v.geometry].name << "\n"; @@ -257,8 +259,9 @@ GeometryGraph::deduceGeometry(lib::IO::Warnings &warnings, const AtomData &ad, c } lib::IO::Result> -GeometryGraph::deduceGeometryAndLonePairs(lib::IO::Warnings &warnings, const AtomData &ad, - const EdgeCategoryCount &catCount, bool asPattern) const { +GeometryGraph::deduceGeometryAndLonePairs(lib::IO::Warnings &warnings, bool printWarnings, + const AtomData &ad, const EdgeCategoryCount &catCount, + bool asPattern) const { using Res = std::tuple; auto atomId = ad.getAtomId(); auto charge = ad.getCharge(); @@ -295,7 +298,7 @@ GeometryGraph::deduceGeometryAndLonePairs(lib::IO::Warnings &warnings, const Ato msg << "No viable geometries for " << ad; if(catCount.sum() > 0) msg << " with bonds " << catCount << "."; else msg << " without bonds."; - warnings.add(msg.str()); + warnings.add(msg.str(), printWarnings); } return Res{any, 0}; } @@ -306,7 +309,7 @@ GeometryGraph::deduceGeometryAndLonePairs(lib::IO::Warnings &warnings, const Ato } std::stringstream msg; msg << "Ambiguous deduction for " << ad << " with bonds " << catCount << ". Matches are:\n"; - for(auto &v : viables) { + for(auto &v: viables) { msg << "\t" << AtomData(v.atomId, v.charge, v.radical); if(v.catCount.sum() > 0) msg << ", " << v.catCount; if(v.lonePair > 0) msg << ", e = " << v.lonePair; diff --git a/libs/libmod/src/mod/lib/Stereo/GeometryGraph.hpp b/libs/libmod/src/mod/lib/Stereo/GeometryGraph.hpp index 65399f3..9c0b7e6 100644 --- a/libs/libmod/src/mod/lib/Stereo/GeometryGraph.hpp +++ b/libs/libmod/src/mod/lib/Stereo/GeometryGraph.hpp @@ -59,13 +59,16 @@ struct GeometryGraph { static Vertex nullGeometry(); public: // deduction lib::IO::Result - deduceLonePairs(lib::IO::Warnings &warnings, const AtomData &ad, const EdgeCategoryCount &catCount, Vertex vGeometry, + deduceLonePairs(lib::IO::Warnings &warnings, bool printWarnings, + const AtomData &ad, const EdgeCategoryCount &catCount, Vertex vGeometry, bool asPattern) const; lib::IO::Result - deduceGeometry(lib::IO::Warnings &warnings, const AtomData &ad, const EdgeCategoryCount &catCount, + deduceGeometry(lib::IO::Warnings &warnings, bool printWarnings, + const AtomData &ad, const EdgeCategoryCount &catCount, unsigned char numLonePairs, bool asPattern) const; lib::IO::Result> - deduceGeometryAndLonePairs(lib::IO::Warnings &warnings, const AtomData &ad, const EdgeCategoryCount &catCount, + deduceGeometryAndLonePairs(lib::IO::Warnings &warnings, bool printWarnings, + const AtomData &ad, const EdgeCategoryCount &catCount, bool asPattern) const; public: // matching bool isAncestorOf(Vertex ancestor, Vertex child) const; // true also if child == ancestor diff --git a/libs/libmod/src/mod/lib/Stereo/Inference.hpp b/libs/libmod/src/mod/lib/Stereo/Inference.hpp index e911c7d..0c601b4 100644 --- a/libs/libmod/src/mod/lib/Stereo/Inference.hpp +++ b/libs/libmod/src/mod/lib/Stereo/Inference.hpp @@ -111,7 +111,7 @@ struct Inference { } template - lib::IO::Result<> finalize(lib::IO::Warnings &warnings, VertexPrinter vertexPrinter) { + lib::IO::Result<> finalize(lib::IO::Warnings &warnings, bool printWarnings, VertexPrinter vertexPrinter) { const auto &geo = getGeometryGraph(); const auto &gGeometry = geo.getGraph(); assert(!hasFinalized); @@ -146,7 +146,7 @@ struct Inference { } for(const auto v: asRange(vertices(g))) { - auto res = finalizeVertex(warnings, v, vertexPrinter); + auto res = finalizeVertex(warnings, printWarnings, v, vertexPrinter); if(!res) return res; } @@ -167,6 +167,7 @@ struct Inference { hasFinalized = true; return {}; } + private: EdgeCategoryCount addEdgesFromGraph(Vertex v) { const auto vId = get(boost::vertex_index_t(), g, v); @@ -195,7 +196,8 @@ struct Inference { } template - lib::IO::Result<> finalizeVertex(lib::IO::Warnings &warnings, Vertex v, VertexPrinter vertexPrinter) { + lib::IO::Result<> finalizeVertex(lib::IO::Warnings &warnings, bool printWarnings, + Vertex v, VertexPrinter vertexPrinter) { const auto &geo = getGeometryGraph(); const auto vId = get(boost::vertex_index_t(), g, v); auto &data = vertexData[vId]; @@ -240,11 +242,13 @@ struct Inference { ++catCount[emb.cat]; break; case EmbeddingEdge::Type::LonePair: - assert(emb.offset >= out_degree(v, g)); // should not happen, [0, d[ are reserved for the real edges + assert( + emb.offset >= out_degree(v, g)); // should not happen, [0, d[ are reserved for the real edges ++numLonePairs; break; case EmbeddingEdge::Type::Radical: - assert(emb.offset >= out_degree(v, g)); // should not happen, [0, d[ are reserved for the real edges + assert( + emb.offset >= out_degree(v, g)); // should not happen, [0, d[ are reserved for the real edges if(radical) return lib::IO::Result<>::Error( "Multiple radicals in stereo embedding for vertex " + vertexPrinter(v) + "."); @@ -256,22 +260,23 @@ struct Inference { if(explicitGeometry && explicitEmbedding) { // the user has spoken } else if(explicitGeometry && !explicitEmbedding) { - if(auto res = geo.deduceLonePairs(warnings, ad, catCount, data.vGeometry, asPattern)) + if(auto res = geo.deduceLonePairs(warnings, printWarnings, ad, catCount, data.vGeometry, asPattern)) numLonePairs = *res; else return std::move(res); } else if(!explicitGeometry && explicitEmbedding) { - if(auto res = geo.deduceGeometry(warnings, ad, catCount, numLonePairs, asPattern)) + if(auto res = geo.deduceGeometry(warnings, printWarnings, ad, catCount, numLonePairs, asPattern)) data.vGeometry = *res; else return std::move(res); } else { assert(!explicitGeometry && !explicitEmbedding); - if(auto res = geo.deduceGeometryAndLonePairs(warnings, ad, catCount, asPattern)) + if(auto res = geo.deduceGeometryAndLonePairs(warnings, printWarnings, ad, catCount, asPattern)) std::tie(data.vGeometry, numLonePairs) = *res; else return std::move(res); } if(!explicitEmbedding) addLonePairs(v, numLonePairs); return {}; } + public: // if hasFinalized std::unique_ptr extractConfiguration(Vertex v) { assert(hasFinalized); @@ -286,6 +291,7 @@ struct Inference { assert(eId < num_edges(g)); return edgeData[eId].finalCategory; } + public: const Graph &g; const PropMolecule &pMolecule; diff --git a/libs/libmod/src/mod/lib/Term/IO/Write.cpp b/libs/libmod/src/mod/lib/Term/IO/Write.cpp index a22c3da..fc3953a 100644 --- a/libs/libmod/src/mod/lib/Term/IO/Write.cpp +++ b/libs/libmod/src/mod/lib/Term/IO/Write.cpp @@ -65,30 +65,28 @@ std::ostream &element(Cell cell, const StringStore &strings, std::ostream &s) { __builtin_unreachable(); } -void wam(const Wam &machine, const StringStore &strings, std::ostream &s) { - wam(machine, strings, s, [](Address, std::ostream &) {}); +void wam(const Wam &machine, const StringStore &strings, IO::Logger logger) { + wam(machine, strings, logger, [](Address, std::ostream &) {}); } -void wam(const Wam &machine, const StringStore &strings, std::ostream &s, +void wam(const Wam &machine, const StringStore &strings, IO::Logger logger, std::function addressCallback) { - s << "Heap:" << std::endl; + logger.indent() << "Heap:\n"; for(std::size_t i = 0; i < machine.getHeap().size(); i++) { Cell cell = machine.getHeap()[i]; - s << std::setw(5) << std::left << i; - element(cell, strings, s); - addressCallback({AddressType::Heap, i}, s); - s << std::endl; + logger.indent() << std::setw(5) << std::left << i; + element(cell, strings, logger.s); + addressCallback({AddressType::Heap, i}, logger.s); + logger.s << '\n'; } - s << "-------------------------------------------------" << std::endl; - s << "Temp:" << std::endl; + logger.indent() << "Temp:\n"; for(std::size_t i = 0; i < machine.getTemp().size(); i++) { Cell cell = machine.getTemp()[i]; - s << std::setw(5) << std::left << i; - element(cell, strings, s); - addressCallback({AddressType::Temp, i}, s); - s << std::endl; + logger.indent() << std::setw(5) << std::left << i; + element(cell, strings, logger.s); + addressCallback({AddressType::Temp, i}, logger.s); + logger.s << '\n'; } - s << "-------------------------------------------------" << std::endl; } std::ostream &term(const Wam &machine, Address addr, const StringStore &strings, std::ostream &s) { @@ -114,13 +112,13 @@ std::ostream &term(const Wam &machine, Address addr, const StringStore &strings, break; case Cell::Tag::Structure: if(occurred[static_cast(addr.type)][addr.addr] != 0) { - wam(machine, strings, std::cout); - std::cout << "addr.addr = " << addr.addr << std::endl; - std::cout << "occurred:" << std::endl; - for(int aType : {0, 1}) { - for(const auto o : occurred[aType]) { + wam(machine, strings, IO::Logger(s)); + s << "addr.addr = " << addr.addr << std::endl; + s << "occurred:" << std::endl; + for(int aType: {0, 1}) { + for(const auto o: occurred[aType]) { if(o == 0) continue; - std::cout << " [" << aType << "]: " << o << std::endl; + s << " [" << aType << "]: " << o << std::endl; } } } @@ -161,7 +159,7 @@ std::ostream &mgu(const Wam &machine, const MGU &mgu, const StringStore &strings return s; } bool first = true; - for(auto binding : mgu.bindings) { + for(auto binding: mgu.bindings) { if(binding.type == AddressType::Heap && binding.addr >= mgu.preHeapSize) continue; if(!first) s << ", "; first = false; diff --git a/libs/libmod/src/mod/lib/Term/IO/Write.hpp b/libs/libmod/src/mod/lib/Term/IO/Write.hpp index 132bb32..bff590c 100644 --- a/libs/libmod/src/mod/lib/Term/IO/Write.hpp +++ b/libs/libmod/src/mod/lib/Term/IO/Write.hpp @@ -1,6 +1,7 @@ #ifndef MOD_LIB_TERM_IO_WRITE_HPP #define MOD_LIB_TERM_IO_WRITE_HPP +#include #include #include @@ -14,9 +15,9 @@ namespace mod::lib::Term::Write { std::ostream &rawTerm(const RawTerm &term, const StringStore &strings, std::ostream &s); std::ostream &element(Cell cell, const StringStore &strings, std::ostream &s); -void wam(const Wam &machine, const StringStore &strings, std::ostream &s); -void wam(const Wam &machine, const StringStore &strings, std::ostream &s, - std::function addressCallback); +void wam(const Wam &machine, const StringStore &strings, IO::Logger logger); +void wam(const Wam &machine, const StringStore &strings, IO::Logger logger, + std::function addressCallback); std::ostream &term(const Wam &machine, Address addr, const StringStore &strings, std::ostream &s); std::ostream &mgu(const Wam &machine, const MGU &mgu, const StringStore &strings, std::ostream &s); diff --git a/libs/libmod/src/mod/lib/Term/WAM.hpp b/libs/libmod/src/mod/lib/Term/WAM.hpp index f5cf11e..3da085d 100644 --- a/libs/libmod/src/mod/lib/Term/WAM.hpp +++ b/libs/libmod/src/mod/lib/Term/WAM.hpp @@ -249,7 +249,7 @@ struct Wam { void setTemp(const Wam &other) { temp = other.heap; - for(Cell &cell : temp) { + for(Cell &cell: temp) { switch(cell.tag) { case Cell::Tag::REF: assert(cell.REF.addr.type == AddressType::Heap); @@ -271,7 +271,7 @@ struct Wam { } void revert(const MGU &mgu) { - for(const Address &a : mgu.bindings) { + for(const Address &a: mgu.bindings) { Cell &c = getCell(a); assert(c.tag == Cell::Tag::REF); assert(c.REF.addr != a); @@ -280,6 +280,26 @@ struct Wam { assert(heap.size() >= mgu.preHeapSize); heap.resize(mgu.preHeapSize); } + + void appendHeapFrom(const Wam &mOther) { + const int offset = heap.size(); + heap.reserve(heap.size() + mOther.heap.size()); + for(Cell c: mOther.heap) { + switch(c.tag) { + case Cell::Tag::STR: + assert(c.STR.addr.type == AddressType::Heap); + c.STR.addr.addr += offset; + break; + case Cell::Tag::REF: + assert(c.REF.addr.type == AddressType::Heap); + c.REF.addr.addr += offset; + break; + case Cell::Tag::Structure: + break; + } + heap.push_back(c); + } + } private: std::vector heap; std::vector temp; @@ -296,7 +316,7 @@ inline bool MGU::isRenaming(const Wam &machine) const { assert(status == Status::Exists); if(preHeapSize != machine.getHeap().size()) return false; std::vector isTarget(preHeapSize, false); - for(auto addr : bindings) { + for(auto addr: bindings) { // addr may be in either temp or heap addr = machine.deref(addr); assert(addr.type == AddressType::Heap); @@ -311,7 +331,7 @@ inline bool MGU::isRenaming(const Wam &machine) const { inline bool MGU::isSpecialisation(const Wam &machine) const { assert(status == Status::Exists); if(preHeapSize != machine.getHeap().size()) return false; - for(auto addr : bindings) { + for(auto addr: bindings) { // only temp addresses should be bound if(addr.type == AddressType::Heap) return false; } @@ -372,7 +392,7 @@ inline void Wam::unifyHeapHeap(std::size_t lhs, std::size_t rhs, MGU &mgu) { inline void Wam::verify() const { // nothing in the heap should point at temp - for(Cell cell : heap) { + for(Cell cell: heap) { switch(cell.tag) { case Cell::Tag::REF: if(cell.REF.addr.type != AddressType::Heap) MOD_ABORT; diff --git a/libs/libmod/src/mod/rule/Composer.cpp b/libs/libmod/src/mod/rule/Composer.cpp index 1c61fda..8e53de3 100644 --- a/libs/libmod/src/mod/rule/Composer.cpp +++ b/libs/libmod/src/mod/rule/Composer.cpp @@ -25,8 +25,8 @@ const std::unordered_set> &Composer::getProducts() c return p->evaluator.getProducts(); } -std::vector> Composer::eval(const RCExp::Expression &exp, int verbosity) { - return p->evaluator.eval(exp, verbosity); +std::vector> Composer::eval(const RCExp::Expression &exp, bool onlyUnique, int verbosity) { + return p->evaluator.eval(exp, onlyUnique, verbosity); } void Composer::print() const { diff --git a/libs/libmod/src/mod/rule/Composer.hpp b/libs/libmod/src/mod/rule/Composer.hpp index 409796e..a960498 100644 --- a/libs/libmod/src/mod/rule/Composer.hpp +++ b/libs/libmod/src/mod/rule/Composer.hpp @@ -20,7 +20,7 @@ namespace mod::rule { // rst: :math:`((u, v), R_e)` with :math:`(u, v)\in V\times V` as an *ordered* pair of rules and :math:`R_e\subseteq V` is the set // rst: of all resulting rules found. // rst: -// rst: The graph is visualised as a bipartite graph with point-shaped vertices representing the hyperedges. The in-edges to these +// rst: The graph is visualized as a bipartite graph with point-shaped vertices representing the hyperedges. The in-edges to these // rst: hyperedge vertices are labelled with 1 and 2. // rst: // rst-class-start: @@ -38,21 +38,22 @@ class MOD_DECL Composer { // rst: // rst: :returns: the set of unique rules this evaluator has constructed. const std::unordered_set> &getProducts() const; - // rst: .. function:: std::vector> eval(const RCExp::Expression &exp, int verbosity) + // rst: .. function:: std::vector> eval(const RCExp::Expression &exp, bool onlyUnique, int verbosity) // rst: // rst: Evaluates a rule composition expression. // rst: Any created rule is replaced by a rule in the database if they are isomorphic. // rst: - // rst: A rule may appear multiple times in the result if multiple overlaps resulted in the same composed rule. + // rst: The `onlyUnique` parameter controls whether each composition (sub-)result may contain duplicates or not. + // rst: Unless you need to count possibilities, prefer passing `true` to avoid accidental combinatorial explosion. // rst: // rst: The :var:`verbosity` has the following meaning: // rst: // rst: - 0 (or less): no information is printed. - // rst: - 10: Print information about morphism generation for rule composition. - // rst: - 20: Print rule composition information. + // rst: - 10: print information about morphism generation for rule composition. + // rst: - 20: print rule composition information. // rst: // rst: :returns: the result of the expression. - std::vector> eval(const RCExp::Expression &exp, int verbosity); + std::vector> eval(const RCExp::Expression &exp, bool onlyUnique, int verbosity); // rst: .. function:: void print() const // rst: // rst: Print the graph representing all expressions evaluated so far. diff --git a/libs/libmod/src/mod/rule/CompositionMatch.hpp b/libs/libmod/src/mod/rule/CompositionMatch.hpp index 4ff43a1..3b2aea4 100644 --- a/libs/libmod/src/mod/rule/CompositionMatch.hpp +++ b/libs/libmod/src/mod/rule/CompositionMatch.hpp @@ -75,11 +75,11 @@ struct MOD_DECL CompositionMatch { std::shared_ptr compose(bool verbose) const; // rst: .. function:: std::vector> composeAll(bool maximum, bool verbose) const // rst: - // rst: :param maximum: whether to only compose only using the matches of maximum cardinality. + // rst: :param maximum: whether to only compose using the matches of maximum cardinality. // rst: :param verbose: whether to output debug messages from the composition algorithm. // rst: :returns: the composition of the two rules along enumerated matches. // rst: The enumerated matches are all those that are extensions of the current match, - // rst: and the match it self. + // rst: and the match itself. std::vector> composeAll(bool maximum, bool verbose) const; private: struct Pimpl; diff --git a/libs/libmod/src/mod/rule/GraphInterface.hpp b/libs/libmod/src/mod/rule/GraphInterface.hpp index 34f1081..508f0c6 100644 --- a/libs/libmod/src/mod/rule/GraphInterface.hpp +++ b/libs/libmod/src/mod/rule/GraphInterface.hpp @@ -341,7 +341,7 @@ struct Rule::LeftGraph::EdgeRange { // Incidence // ----------------------------------------------------------------------------- -// rst-class: rule::Rule::LeftGraph::IncidnetEdgeIterator +// rst-class: rule::Rule::LeftGraph::IncidentEdgeIterator // rst: // rst: An iterator for traversing all edges in a rule. // rst: It models a forward iterator. @@ -664,7 +664,7 @@ struct Rule::ContextGraph::EdgeRange { // Incidence // ----------------------------------------------------------------------------- -// rst-class: rule::Rule::ContextGraph::IncidnetEdgeIterator +// rst-class: rule::Rule::ContextGraph::IncidentEdgeIterator // rst: // rst: An iterator for traversing all edges in a rule. // rst: It models a forward iterator. @@ -1031,7 +1031,7 @@ struct Rule::RightGraph::EdgeRange { // Incidence // ----------------------------------------------------------------------------- -// rst-class: rule::Rule::RightGraph::IncidnetEdgeIterator +// rst-class: rule::Rule::RightGraph::IncidentEdgeIterator // rst: // rst: An iterator for traversing all edges in a rule. // rst: It models a forward iterator. @@ -1153,14 +1153,14 @@ struct Rule::Vertex { // rst: .. function:: double get2DX(bool withHydrogens=true) // rst: // rst: :returns: the x-coordinate in a 2D depiction of the rule. - // rst: Different sets of coordinates exists for rendering with and wihout certain hydrogens. + // rst: Different sets of coordinates exists for rendering with and without certain hydrogens. // rst: :throws: :cpp:class:`LogicError` if it is a null descriptor, or // rst: if `withHydrogens` is `true` and the vertex is a "clean" hydrogen. double get2DX(bool withHydrogens = true); // rst: .. function:: double get2DY(bool withHydrogens=true) // rst: // rst: :returns: the y-coordinate in a 2D depiction of the rule. - // rst: Different sets of coordinates exists for rendering with and wihout certain hydrogens. + // rst: Different sets of coordinates exists for rendering with and without certain hydrogens. // rst: :throws: :cpp:class:`LogicError` if it is a null descriptor, or // rst: if `withHydrogens` is `true` and the vertex is a "clean" hydrogen. double get2DY(bool withHydrogens = true); @@ -1334,7 +1334,7 @@ struct Rule::EdgeRange { // Incidence // ----------------------------------------------------------------------------- -// rst-class: rule::Rule::IncidnetEdgeIterator +// rst-class: rule::Rule::IncidentEdgeIterator // rst: // rst: An iterator for traversing all edges in a rule. // rst: It models a forward iterator. diff --git a/libs/libmod/src/mod/rule/Rule.cpp b/libs/libmod/src/mod/rule/Rule.cpp index 64d54ed..f5ec158 100644 --- a/libs/libmod/src/mod/rule/Rule.cpp +++ b/libs/libmod/src/mod/rule/Rule.cpp @@ -253,13 +253,13 @@ std::shared_ptr handleLoadedRule(lib::IO::Result d } // namespace -std::shared_ptr Rule::fromGMLString(const std::string &data, bool invert) { +std::shared_ptr Rule::fromGMLString(const std::string &data, bool invert, bool printStereoWarnings) { lib::IO::Warnings warnings; - auto res = lib::Rules::Read::gml(warnings, data); + auto res = lib::Rules::Read::gml(warnings, data, printStereoWarnings); return handleLoadedRule(std::move(res), std::move(warnings), invert, ""); } -std::shared_ptr Rule::fromGMLFile(const std::string &file, bool invert) { +std::shared_ptr Rule::fromGMLFile(const std::string &file, bool invert, bool printStereoWarnings) { boost::iostreams::mapped_file_source ifs; try { ifs.open(file); @@ -268,7 +268,7 @@ std::shared_ptr Rule::fromGMLFile(const std::string &file, bool invert) { } if(!ifs) throw InputError("Could not open rule GML file '" + file + "'.\n"); lib::IO::Warnings warnings; - auto res = lib::Rules::Read::gml(warnings, {ifs.begin(), ifs.size()}); + auto res = lib::Rules::Read::gml(warnings, {ifs.begin(), ifs.size()}, printStereoWarnings); return handleLoadedRule(std::move(res), std::move(warnings), invert, "file '" + file + "'"); } diff --git a/libs/libmod/src/mod/rule/Rule.hpp b/libs/libmod/src/mod/rule/Rule.hpp index a6dbcf4..e08745a 100644 --- a/libs/libmod/src/mod/rule/Rule.hpp +++ b/libs/libmod/src/mod/rule/Rule.hpp @@ -176,8 +176,8 @@ struct MOD_DECL Rule { int getMinExternalId() const; int getMaxExternalId() const; public: - // rst: .. function:: static std::shared_ptr fromGMLString(const std::string &data, bool invert) - // rst: static std::shared_ptr fromGMLFile(const std::string &file, bool invert) + // rst: .. function:: static std::shared_ptr fromGMLString(const std::string &data, bool invert, bool printStereoWarnings) + // rst: static std::shared_ptr fromGMLFile(const std::string &file, bool invert, bool printStereoWarnings) // rst: // rst: Load a rule from a :ref:`GML ` string or file, and store either that rule or its inverse. // rst: The name of the rule is the one specified in the GML string, though when ``invert=True`` @@ -188,10 +188,11 @@ struct MOD_DECL Rule { // rst: If the GML string specifies matching constraints it is not possible to invert the rule. // rst: There is however a configuration option to ignore matching constraints when inverting rules. // rst: + // rst: :param printStereoWarnings: whether to print warnings due to unhandled stereo information. // rst: :returns: the loaded (possibly inverted) rule. // rst: :throws: :class:`InputError` on bad data and when inversion fails due to constraints. - static std::shared_ptr fromGMLString(const std::string &data, bool invert); - static std::shared_ptr fromGMLFile(const std::string &file, bool invert); + static std::shared_ptr fromGMLString(const std::string &data, bool invert, bool printStereoWarnings = true); + static std::shared_ptr fromGMLFile(const std::string &file, bool invert, bool printStereoWarnings = true); // rst: .. function:: static std::shared_ptr fromDFS(const std::string &data, bool invert) // rst: // rst: Load a rule from a :ref:`RuleDFS ` string, and store either that rule or its inverse. diff --git a/libs/post_mod/bin/mod_post b/libs/post_mod/bin/mod_post index 2232802..9ef6de5 100755 --- a/libs/post_mod/bin/mod_post +++ b/libs/post_mod/bin/mod_post @@ -1,4 +1,4 @@ -#!/bin/bash +#!/usr/bin/env bash # Constants self="mod_post" @@ -6,7 +6,6 @@ texFolder="summary" outFolder="out" texMasterFile="summary.tex" texFigureTemplateFile="figureTemplate.tex" -texFormatFile="commonPreamble.fmt" texFile="$texFolder/all.tex" makefile="$texFolder/Makefile" makefileImpl=${makefile}Impl @@ -199,7 +198,12 @@ else # $1 == --mode local p=$MOD_PREFIX/share/mod/commonPreamble if [ -f $p.fmt ]; then if [ ! -f out/commonPreamble.fmt ]; then - ln -s $p.fmt out/commonPreamble.fmt + ln -s $p.fmt out/commonPreamble.fmt &> /dev/null + if [ $? -ne 0 ]; then + echo "out/commonPreamble.fmt: $p.tex" + echo " echo 'Failed to create symbolic link in out/ for commonPreamble.fmt. Falling back to compiling it each time.'" + echo " $this --mode compileFmt" + fi fi else echo "out/commonPreamble.fmt: $p.tex" diff --git a/libs/post_mod/share/mod/mod.sty b/libs/post_mod/share/mod/mod.sty index a034b4d..ba3352d 100644 --- a/libs/post_mod/share/mod/mod.sty +++ b/libs/post_mod/share/mod/mod.sty @@ -1,5 +1,5 @@ \NeedsTeXFormat{LaTeX2e}[1994/06/01] -\ProvidesPackage{mod}[2015/05/01 The MØD Package] +\ProvidesPackage{mod}[2024/01/09 The MØD Package] \newcommand\modName{M\O D} \newcommand\modAbbr\modName @@ -7,7 +7,8 @@ \RequirePackage{ifthen} \RequirePackage{grffile} \RequirePackage{verbatim} -\RequirePackage[dvipsnames]{xcolor} +\PassOptionsToPackage{svgnames}{xcolor} +\RequirePackage{xcolor} \RequirePackage{tikz} \usetikzlibrary{shapes,positioning,arrows,fit,calc,matrix,shadows,decorations.pathmorphing} diff --git a/libs/pymod/CMakeLists.txt b/libs/pymod/CMakeLists.txt index 446f159..3d163d0 100644 --- a/libs/pymod/CMakeLists.txt +++ b/libs/pymod/CMakeLists.txt @@ -90,5 +90,6 @@ install(PROGRAMS ${exportDir}/mod install(FILES share/mod/obabel.supp share/mod/python.supp + share/mod/extra.supp DESTINATION ${CMAKE_INSTALL_DATADIR}/mod COMPONENT pymod_run) \ No newline at end of file diff --git a/libs/pymod/bin/mod.in b/libs/pymod/bin/mod.in index 67ba077..ba65678 100755 --- a/libs/pymod/bin/mod.in +++ b/libs/pymod/bin/mod.in @@ -1,4 +1,4 @@ -#!/bin/bash +#!/usr/bin/env bash function printHelp { echo "MØD Wrapper usage:" @@ -41,28 +41,26 @@ clean="false" vgArgs="" interactive="false" quiet="false" -interceptedArgs="" summaryArgs="" # File names summaryMaker="mod_post" obabelSupp="obabel.supp" pythonSupp="python.supp" +extraSupp="extra.supp" # Find prefix self="mod" if [ -z "$MOD_PREFIX" ]; then MOD_PREFIX="$(cd -P "$(dirname "${BASH_SOURCE[0]}")" && pwd )/.." - stat $MOD_PREFIX/bin/$self &> /dev/null - if [ $? -ne 0 ]; then + if ! stat "$MOD_PREFIX/bin/$self" &> /dev/null; then echo "Could not find our own location. Please set PATH, MOD_PREFIX or use the correct path." echo "PATH is $PATH" echo "Guessed path is $MOD_PREFIX/bin/$self" exit 1 fi else - stat $MOD_PREFIX/bin/$self &> /dev/null - if [ $? -ne 0 ]; then + if ! stat "$MOD_PREFIX/bin/$self" &> /dev/null; then echo "Invalid path in MOD_PREFIX. \"$MOD_PREFIX/bin/$self\" does not exist." exit 1 fi @@ -146,7 +144,7 @@ fi if test "$doPrintHelp" = "true"; then - printHelp $0 + printHelp "$0" exit 0 fi if test "$doVersion" = "true"; then @@ -156,7 +154,7 @@ if test "$getLatex" = "true"; then if test "$quiet" = "false"; then echo "cp $MOD_PREFIX/share/mod/mod.{sty,mk} ./" fi - cp $MOD_PREFIX/share/mod/mod.{sty,mk} ./ + cp "$MOD_PREFIX"/share/mod/mod.{sty,mk} ./ exit $? fi @@ -165,7 +163,7 @@ fi if test "$quiet" = "false"; then echo "Plugins ------------------------------------------------------------" fi -pySearchPaths="" +pySearchPath="" plugins=() function loadPluginFile { function getVar { @@ -177,8 +175,8 @@ function loadPluginFile { echo "Bad plugin file, '$varName' not found: $f" return $res fi - numLines=$(grep "^$varName:" "$f" | wc -l) - if test $numLines -ne 1; then + numLines=$(grep -c "^$varName:" "$f") + if test "$numLines" -ne 1; then echo "Bad plugin file, multiple '$varName' lines ($numLines): $f" return 1 fi @@ -187,19 +185,19 @@ function loadPluginFile { } if ! test -f "$f"; then echo "Bad plugin file, not a regular file: $f" - continue + return 1 fi name=$(getVar name "$f") if test $? -ne 0; then - echo $name - continue + echo "$name" + return fi pluginPath=$(getVar path "$f") if test $? -ne 0; then - echo $pluginPath - continue + echo "$pluginPath" + return fi - plugins+=($name) + plugins+=("$name") pySearchPath="$pySearchPath:$pluginPath" if test "$quiet" = "false"; then echo " $name: $pluginPath" @@ -210,7 +208,7 @@ function loadPlugins { if test ! -d "$path"; then return fi - for f in $(ls $path/*); do + for f in "$path"/*; do loadPluginFile "$f" done } @@ -221,7 +219,7 @@ if test "$quiet" = "false"; then fi loadPlugins "$globalPluginPath" IFS=":" read -ra paths <<< "$MOD_PLUGIN_PATH" -for p in ${paths[@]}; do +for p in "${paths[@]}"; do if test "$quiet" = "false"; then echo "Additional ($p):" fi @@ -232,29 +230,28 @@ done # Create precommand (debugger/valgrind/...) precommand="" -if [ $profile = "true" -o $memcheck = "true" ]; then +if [[ $profile = "true" ]] || [[ $memcheck = "true" ]]; then precommand="valgrind --error-exitcode=42" fi if [ $profile = "true" ]; then precommand="$precommand --tool=callgrind --dump-instr=yes --collect-jumps=yes $vgArgs" elif [ $memcheck = "true" ]; then function checkSuppFile { - stat $MOD_PREFIX/share/mod/$1 &> /dev/null - if [ $? -ne 0 ]; then + if ! stat "$MOD_PREFIX/share/mod/$1" &> /dev/null; then echo "Could not find valgrind suppressions file, \"$MOD_PREFIX/share/$1\"" exit 1 fi } checkSuppFile $obabelSupp checkSuppFile $pythonSupp + checkSuppFile $extraSupp if [ $debug = "true" ]; then precommand="$precommand --vgdb=yes --vgdb-error=0" fi precommand="$precommand --leak-check=full --track-origins=yes --num-callers=50 --gen-suppressions=all $vgArgs" precommand="$precommand --suppressions=$MOD_PREFIX/share/mod/$obabelSupp" - if [ $pymod = "true" ]; then - precommand="$precommand --suppressions=$MOD_PREFIX/share/mod/$pythonSupp" - fi + precommand="$precommand --suppressions=$MOD_PREFIX/share/mod/$pythonSupp" + precommand="$precommand --suppressions=$MOD_PREFIX/share/mod/$extraSupp" elif [ $debug = "true" ]; then if [ "x$MOD_DEBUGGER" != 'x' ]; then precommand="$MOD_DEBUGGER" @@ -269,12 +266,14 @@ elif [ $debug = "true" ]; then fi # Prepare output folder +# Don't delete it for niceness if people have it open while rerunning things. if [ -e out ]; then if [ -d out ]; then # there could be a lot of files in out/ - cd out - ls | xargs rm -rf - cd .. + ( + cd out || exit 1 + ls | xargs rm -rf + ) else rm -f out mkdir out @@ -305,7 +304,7 @@ sys.setdlopenflags(sys.getdlopenflags() | ctypes.RTLD_GLOBAL) # Plugins #-------------------------------------------------------------- EOF - for plugin in ${plugins[@]}; do + for plugin in "${plugins[@]}"; do echo "import $plugin" echo "from $plugin import *" done @@ -368,7 +367,7 @@ if "LD_PRELOAD" in os.environ and "valgrind" in os.environ["LD_PRELOAD"]: atexit.register(_valgrindLeakHaxAtExit) _initialGlobals = set(globals()) EOF - if [ ! -z "$MOD_NO_DEPRECATED" ]; then + if [ -n "$MOD_NO_DEPRECATED" ]; then echo "config.common.ignoreDeprecation = False" fi } @@ -379,7 +378,7 @@ EOF if test "$quiet" = "true"; then echo "config.common.quiet = True" >> $pyFile fi - while [ $1 ]; do + while [ "$1" ]; do case $1 in "-f" ) shift @@ -458,8 +457,8 @@ fi # Post processing if [ $post = "true" ]; then export MOD_PREFIX - if test -x $MOD_PREFIX/bin/$summaryMaker; then - $MOD_PREFIX/bin/$summaryMaker "${summaryArgs[@]}" + if test -x "$MOD_PREFIX/bin/$summaryMaker"; then + "$MOD_PREFIX/bin/$summaryMaker" "${summaryArgs[@]}" res=$? else echo "Wrapper script called without --nopost, but mod_post is not installed." diff --git a/libs/pymod/lib/mod/__init__.py b/libs/pymod/lib/mod/__init__.py index bff3057..b24b444 100644 --- a/libs/pymod/lib/mod/__init__.py +++ b/libs/pymod/lib/mod/__init__.py @@ -330,9 +330,12 @@ def _DG__getattribute__(self: DG, name: str) -> Any: class DGBuilder: _builder: Optional[libpymod._DGBuilder] - def __init__(self, dg: DG) -> None: + def __init__(self, dg: DG, onNewVertex, onNewHyperEdge) -> None: assert dg is not None - self._builder = _DG_build_orig(dg) + self._builder = _DG_build_orig(dg, + None if onNewVertex is None else _funcWrap(libpymod._Func_VoidDGVertex, onNewVertex), + None if onNewHyperEdge is None else _funcWrap(libpymod._Func_VoidDGHyperEdge, onNewHyperEdge) + ) def __enter__(self) -> "DGBuilder": return self @@ -381,7 +384,7 @@ def load(self, ruleDatabase: List[Rule], f: str, verbosity: int = 2) -> None: prefixFilename(f), verbosity) _DG_build_orig = DG.build -DG.build = lambda self: DGBuilder(self) # type: ignore +DG.build = lambda self, *, onNewVertex=None, onNewHyperEdge=None: DGBuilder(self, onNewVertex, onNewHyperEdge) # type: ignore #---------------------------------------------------------- @@ -745,24 +748,24 @@ def _graphssLoad(gs: List[List[Graph]], add: bool) -> List[List[Graph]]: _Graph_fromSDStringMulti_orig = Graph.fromSDStringMulti _Graph_fromSDFileMulti_orig = Graph.fromSDFileMulti -def _Graph_fromGMLString( s: str, name: Optional[str] = None, add: bool = True) -> Graph: - return _graphLoad(_Graph_fromGMLString_orig( s ), name, add) -def _Graph_fromGMLFile( f: str, name: Optional[str] = None, add: bool = True) -> Graph: - return _graphLoad(_Graph_fromGMLFile_orig( prefixFilename(f) ), name, add) -def _Graph_fromGMLStringMulti(s: str, add: bool = True) -> List[Graph]: - return _graphsLoad(_Graph_fromGMLStringMulti_orig( s ), add) -def _Graph_fromGMLFileMulti( f: str, add: bool = True) -> List[Graph]: - return _graphsLoad(_Graph_fromGMLFileMulti_orig(prefixFilename(f) ), add) +def _Graph_fromGMLString( s: str, name: Optional[str] = None, add: bool = True, printStereoWarnings: bool = True) -> Graph: + return _graphLoad(_Graph_fromGMLString_orig( s , printStereoWarnings), name, add) +def _Graph_fromGMLFile( f: str, name: Optional[str] = None, add: bool = True, printStereoWarnings: bool = True) -> Graph: + return _graphLoad(_Graph_fromGMLFile_orig( prefixFilename(f) , printStereoWarnings), name, add) +def _Graph_fromGMLStringMulti(s: str, add: bool = True, printStereoWarnings: bool = True) -> List[Graph]: + return _graphsLoad(_Graph_fromGMLStringMulti_orig( s , printStereoWarnings), add) +def _Graph_fromGMLFileMulti( f: str, add: bool = True, printStereoWarnings: bool = True) -> List[Graph]: + return _graphsLoad(_Graph_fromGMLFileMulti_orig(prefixFilename(f) , printStereoWarnings), add) def _Graph_fromDFS( s: str, name: Optional[str] = None, add: bool = True) -> Graph: return _graphLoad(_Graph_fromDFS_orig( s ), name, add) def _Graph_fromDFSMulti( s: str, add: bool = True) -> List[Graph]: return _graphsLoad(_Graph_fromDFSMulti_orig( s ), add) def _Graph_fromSMILES( s: str, name: Optional[str] = None, allowAbstract: bool = False, classPolicy: SmilesClassPolicy = SmilesClassPolicy.NoneOnDuplicate, - add: bool = True) -> Graph: - return _graphLoad(_Graph_fromSMILES_orig( s, allowAbstract, classPolicy ), name, add) + add: bool = True, printStereoWarnings: bool = True) -> Graph: + return _graphLoad(_Graph_fromSMILES_orig( s, allowAbstract, classPolicy, printStereoWarnings), name, add) def _Graph_fromSMILESMulti( s: str, allowAbstract: bool = False, classPolicy: SmilesClassPolicy = SmilesClassPolicy.NoneOnDuplicate, - add: bool = True) -> List[Graph]: - return _graphsLoad(_Graph_fromSMILESMulti_orig( s, allowAbstract, classPolicy ), add) + add: bool = True, printStereoWarnings: bool = True) -> List[Graph]: + return _graphsLoad(_Graph_fromSMILESMulti_orig( s, allowAbstract, classPolicy, printStereoWarnings), add) def _Graph_fromMOLString( s: str, name: Optional[str] = None, options: MDLOptions = MDLOptions(), add: bool = True) -> Graph: return _graphLoad(_Graph_fromMOLString_orig( s, options ), name, add) def _Graph_fromMOLFile( f: str, name: Optional[str] = None, options: MDLOptions = MDLOptions(), add: bool = True) -> Graph: @@ -880,10 +883,10 @@ def _ruleLoad(a: Rule, add: bool) -> Rule: _Rule_fromGMLFile_orig = Rule.fromGMLFile _Rule_fromDFS_orig = Rule.fromDFS -def _Rule_fromGMLString(s: str, invert: bool=False, add: bool=True) -> Rule: - return _ruleLoad(_Rule_fromGMLString_orig(s, invert), add) -def _Rule_fromGMLFile(f: str, invert: bool=False, add: bool=True) -> Rule: - return _ruleLoad(_Rule_fromGMLFile_orig(prefixFilename(f), invert), add) +def _Rule_fromGMLString(s: str, invert: bool=False, add: bool=True, printStereoWarnings: bool=True) -> Rule: + return _ruleLoad(_Rule_fromGMLString_orig(s, invert, printStereoWarnings), add) +def _Rule_fromGMLFile(f: str, invert: bool=False, add: bool=True, printStereoWarnings: bool=True) -> Rule: + return _ruleLoad(_Rule_fromGMLFile_orig(prefixFilename(f), invert, printStereoWarnings), add) def _Rule_fromDFS(s: str, invert: bool=False, add: bool=True) -> Rule: return _ruleLoad(_Rule_fromDFS_orig(s, invert), add) @@ -914,7 +917,7 @@ def _RCEvaluator__getattribute__(self: RCEvaluator, name: str) -> Any: RCEvaluator.__getattribute__ = _RCEvaluator__getattribute__ # type: ignore _RCEvaluator_eval = RCEvaluator.eval -RCEvaluator.eval = lambda self, exp, *, verbosity=2: _unwrap(_RCEvaluator_eval(self, exp, verbosity)) # type: ignore +RCEvaluator.eval = lambda self, exp, *, onlyUnique=True, verbosity=0: _unwrap(_RCEvaluator_eval(self, exp, onlyUnique, verbosity)) # type: ignore def rcEvaluator(rules: Iterable[Rule], labelSettings: LabelSettings=_lsString) -> RCEvaluator: return libpymod._rcEvaluator(_wrap(libpymod._VecRule, rules), labelSettings) diff --git a/libs/pymod/lib/mod/libpymod.pyi b/libs/pymod/lib/mod/libpymod.pyi index 0d8e923..e51f260 100644 --- a/libs/pymod/lib/mod/libpymod.pyi +++ b/libs/pymod/lib/mod/libpymod.pyi @@ -33,21 +33,26 @@ class _Func_String: class _Func_BoolDerivation: def __call__(self, d: Derivation) -> bool: ... +class _Func_VoidDGVertex: + def __call__(self, v: DGVertex) -> None: ... class _Func_BoolDGVertex: def __call__(self, v: DGVertex) -> bool: ... -class _Func_DoubleDGVertex: - def __call__(self, v: DGVertex) -> float: ... class _Func_StringDGVertex: def __call__(self, v: DGVertex) -> str: ... +class _Func_PairDoubleBoolDGVertex: + def __call__(self, v: DGVertex) -> Tuple[float, bool]: ... + class _Func_StringDGVertexInt: def __call__(self, v: DGVertex, dupNum: int) -> str: ... +class _Func_VoidDGHyperEdge: + def __call__(self, e: DGHyperEdge) -> None: ... class _Func_BoolDGHyperEdge: def __call__(self, e: DGHyperEdge) -> bool: ... class _Func_StringDGHyperEdge: def __call__(self, e: DGHyperEdge) -> str: ... -class _Func_DoubleDGHyperEdge: - def __call__(self, e: DGHyperEdge) -> float: ... +class _Func_PairDoubleBoolDGHyperEdge: + def __call__(self, e: DGHyperEdge) -> Tuple[float, bool]: ... class _Func_BoolGraph: def __call__(self, g: Graph) -> bool: ... @@ -104,13 +109,11 @@ def _SmilesClassPolicy__str__(self: SmilesClassPolicy) -> str: ... class MDLOptions: ... -def _getAvailableILPSolvers() -> List[str]: ... - class Config: class Common: def __init__(self) -> None: - self.ignoreDeprecation: bool = ... + self.ignoreDeprecation: bool=... def __init__(self) -> None: self.common = Config.Common() @@ -170,7 +173,9 @@ class DG: def findEdge(self, sources: List[DGVertex], targets: List[DGVertex]) -> DGHyperEdge: ... @overload def findEdge(self, sourcesGraphs: List[Graph], targetGraphs: List[Graph]) -> DGHyperEdge: ... - def build(self): ... + def build(self, + onNewVertex: Optional[Callable[[DGVertex], None]]=None, + onNewHyperEdge: Optional[Callable[[DGHyperEdge], None]]=None): ... def print(self, printer: DGPrinter=..., data: Optional[DGPrintData]=...) -> Tuple[str, str]: ... @staticmethod def load(graphDatabase: List[Graph], ruleDatabase: List[Rule], file: str, graphPolicy: IsomorphismPolicy=..., verbosity: int=...) -> DG: ... @@ -181,12 +186,12 @@ class _DGBuilder: def dg(self) -> DG: ... @property def isActive(self) -> bool: ... - def addDerivation(self, d: Derivations, graphPolicy: IsomorphismPolicy = ...) -> DGHyperEdge: ... - def addHyperEdge(self, e: DGHyperEdge, graphPolicy: IsomorphismPolicy = ...) -> DGHyperEdge: ... + def addDerivation(self, d: Derivations, graphPolicy: IsomorphismPolicy=...) -> DGHyperEdge: ... + def addHyperEdge(self, e: DGHyperEdge, graphPolicy: IsomorphismPolicy=...) -> DGHyperEdge: ... def execute(self, strategy: DGStrat, *, verbosity: int=..., ignoreRuleLabelTypes: bool=...) -> DGExecuteResult: ... - def apply(self, graphs: List[Graph], rule: Rule, onlyProper: bool = ..., verbosity: int = ..., graphPolicy: IsomorphismPolicy = ...) -> List[DGHyperEdge]: ... + def apply(self, graphs: List[Graph], rule: Rule, onlyProper: bool=..., verbosity: int=..., graphPolicy: IsomorphismPolicy=...) -> List[DGHyperEdge]: ... def addAbstract(self, description: str) -> None: ... - def load(self, ruleDatabase: List[Rule], file: str, verbosity: int = ...) -> None: ... + def load(self, ruleDatabase: List[Rule], file: str, verbosity: int=...) -> None: ... class DGExecuteResult: @@ -265,13 +270,13 @@ class Graph: def monomorphism(self, host: Graph, maxNumMatches: int=..., labelSettings: LabelSettings=...) -> int: ... @staticmethod - def fromGMLString( s: str) -> Graph: ... + def fromGMLString( s: str, printStereoWarnings: bool=...) -> Graph: ... @staticmethod - def fromGMLFile( f: str) -> Graph: ... + def fromGMLFile( f: str, printStereoWarnings: bool=...) -> Graph: ... @staticmethod - def fromGMLStringMulti(s: str) -> List[Graph]: ... + def fromGMLStringMulti(s: str, printStereoWarnings: bool=...) -> List[Graph]: ... @staticmethod - def fromGMLFileMulti( f: str) -> List[Graph]: ... + def fromGMLFileMulti( f: str, printStereoWarnings: bool=...) -> List[Graph]: ... @staticmethod def fromDFS( s: str) -> Graph: ... @@ -279,35 +284,35 @@ class Graph: def fromDFSMulti( s: str) -> List[Graph]: ... @staticmethod - def fromSMILES( s: str, allowAbstract: bool = ..., classPolicy: SmilesClassPolicy = ...) -> Graph: ... + def fromSMILES( s: str, allowAbstract: bool=..., classPolicy: SmilesClassPolicy=..., printStereoWarnings: bool=...) -> Graph: ... @staticmethod - def fromSMILESMulti( s: str, allowAbstract: bool = ..., classPolicy: SmilesClassPolicy = ...) -> List[Graph]: ... + def fromSMILESMulti( s: str, allowAbstract: bool=..., classPolicy: SmilesClassPolicy=..., printStereoWarnings: bool=...) -> List[Graph]: ... @staticmethod - def fromMOLString( s: str, options: MDLOptions = ..., add: bool = ...) -> Graph: ... + def fromMOLString( s: str, options: MDLOptions=..., add: bool=...) -> Graph: ... @staticmethod - def fromMOLFile( f: str, options: MDLOptions = ..., add: bool = ...) -> Graph: ... + def fromMOLFile( f: str, options: MDLOptions=..., add: bool=...) -> Graph: ... @staticmethod - def fromMOLStringMulti(s: str, options: MDLOptions = ..., add: bool = ...) -> List[Graph]: ... + def fromMOLStringMulti(s: str, options: MDLOptions=..., add: bool=...) -> List[Graph]: ... @staticmethod - def fromMOLFileMulti( f: str, options: MDLOptions = ..., add: bool = ...) -> List[Graph]: ... + def fromMOLFileMulti( f: str, options: MDLOptions=..., add: bool=...) -> List[Graph]: ... @staticmethod - def fromSDString( s: str, options: MDLOptions = ..., add: bool = ...) -> List[Graph]: ... + def fromSDString( s: str, options: MDLOptions=..., add: bool=...) -> List[Graph]: ... @staticmethod - def fromSDFile( f: str, options: MDLOptions = ..., add: bool = ...) -> List[Graph]: ... + def fromSDFile( f: str, options: MDLOptions=..., add: bool=...) -> List[Graph]: ... @staticmethod - def fromSDStringMulti( s: str, options: MDLOptions = ..., add: bool = ...) -> List[List[Graph]]: ... + def fromSDStringMulti( s: str, options: MDLOptions=..., add: bool=...) -> List[List[Graph]]: ... @staticmethod - def fromSDFileMulti( f: str, options: MDLOptions = ..., add: bool = ...) -> List[List[Graph]]: ... + def fromSDFileMulti( f: str, options: MDLOptions=..., add: bool=...) -> List[List[Graph]]: ... @staticmethod - def fromRXNString( s: str, options: MDLOptions = ..., add: bool = ...): ... + def fromRXNString( s: str, options: MDLOptions=..., add: bool=...): ... @staticmethod - def fromRXNFile( f: str, options: MDLOptions = ..., add: bool = ...): ... + def fromRXNFile( f: str, options: MDLOptions=..., add: bool=...): ... @staticmethod - def fromRXNStringMulti(s: str, options: MDLOptions = ..., add: bool = ...): ... + def fromRXNStringMulti(s: str, options: MDLOptions=..., add: bool=...): ... @staticmethod - def fromRXNFileMulti( f: str, options: MDLOptions = ..., add: bool = ...): ... + def fromRXNFileMulti( f: str, options: MDLOptions=..., add: bool=...): ... class GraphAutGroup: ... @@ -377,9 +382,9 @@ class Rule(RCExpExp): def __rshift__(self, other: DGStrat) -> DGStrat: ... @staticmethod - def fromGMLString(s: str, invert: bool=...) -> Rule: ... + def fromGMLString(s: str, invert: bool=..., printStereoWarnings: bool=...) -> Rule: ... @staticmethod - def fromGMLFile(f: str, invert: bool=...) -> Rule: ... + def fromGMLFile(f: str, invert: bool=..., printStereoWarnings: bool=...) -> Rule: ... @staticmethod def fromDFS(s: str, invert: bool=...) -> Rule: ... diff --git a/libs/pymod/share/mod/extra.supp b/libs/pymod/share/mod/extra.supp new file mode 100644 index 0000000..7333174 --- /dev/null +++ b/libs/pymod/share/mod/extra.supp @@ -0,0 +1,37 @@ +{ + + Memcheck:Leak + fun:malloc + ... + fun:_dl_open + ... + fun:backtrace +} +{ + + Memcheck:Leak + fun:malloc + ... + fun:dlopen* +} +{ + + Memcheck:Leak + fun:calloc + ... + fun:dlopen* +} +{ + + Memcheck:Leak + fun:_Znwm + ... + fun:_ZN3mod2Py14Error_doExportEv +} +{ + + Memcheck:Leak + fun:malloc + ... + fun:_PyObject_GC_Resize +} diff --git a/libs/pymod/share/mod/python.supp b/libs/pymod/share/mod/python.supp index dc36fee..73035ed 100644 --- a/libs/pymod/share/mod/python.supp +++ b/libs/pymod/share/mod/python.supp @@ -15,26 +15,12 @@ # # See Misc/README.valgrind for more information. -{ - When using Open Babel from Python this appears. - Memcheck:Leak - match-leak-kinds: possible - fun:malloc - ... - fun:_PyObject_GC_Alloc* -} - # all tool names: Addrcheck,Memcheck,cachegrind,helgrind,massif { ADDRESS_IN_RANGE/Invalid read of size 4 Memcheck:Addr4 fun:address_in_range } -{ - ADDRESS_IN_RANGE/Invalid read of size 4, unknown inlined, v3.8 - Memcheck:Addr4 - src:obmalloc.c:1401 -} { ADDRESS_IN_RANGE/Invalid read of size 4 @@ -47,22 +33,12 @@ Memcheck:Value8 fun:address_in_range } -{ - ADDRESS_IN_RANGE/Invalid read of size 8 (x86_64 aka amd64), unknown inlined, v3.8 - Memcheck:Value8 - src:obmalloc.c:1403 -} { ADDRESS_IN_RANGE/Conditional jump or move depends on uninitialised value Memcheck:Cond fun:address_in_range } -{ - ADDRESS_IN_RANGE/Conditional jump or move depends on uninitialised value, unknown inlined, v3.8 - Memcheck:Cond - src:obmalloc.c:1403 -} # # Leaks (including possible leaks) @@ -70,14 +46,6 @@ # Will need to fix that. # -{ - Suppress leaking the GIL. Happens once per process, see comment in ceval.c. - Memcheck:Leak - fun:malloc - fun:PyThread_allocate_lock - fun:PyEval_InitThreads -} - { Suppress leaking the GIL after a fork. Memcheck:Leak @@ -106,16 +74,7 @@ { Handle PyMalloc confusing valgrind (possibly leaked) Memcheck:Leak - fun:malloc - ... - fun:_PyObject_GC_Resize - #fun:COMMENT_THIS_LINE_TO_DISABLE_LEAK_WARNING -} -{ - Handle PyMalloc confusing valgrind (possibly leaked), manually added - Memcheck:Leak fun:realloc - ... fun:_PyObject_GC_Resize #fun:COMMENT_THIS_LINE_TO_DISABLE_LEAK_WARNING } @@ -132,7 +91,6 @@ Handle PyMalloc confusing valgrind (possibly leaked) Memcheck:Leak fun:malloc - ... fun:_PyObject_GC_NewVar #fun:COMMENT_THIS_LINE_TO_DISABLE_LEAK_WARNING } diff --git a/libs/pymod/src/mod/py/Chem.cpp b/libs/pymod/src/mod/py/Chem.cpp index 71472c8..1ae836e 100644 --- a/libs/pymod/src/mod/py/Chem.cpp +++ b/libs/pymod/src/mod/py/Chem.cpp @@ -152,7 +152,7 @@ void Chem_doExport() { // rst: :returns: A string representation of the bond type adhering to the string encoding of bonds (see :ref:`mol-enc`). // rst: :raises: :class:`LogicError` if the bond type is :const:`Invalid`. ; - // TOOD: py::enum_ does not support overriding of methods, so we set __str__ on the Python side. + // TODO: py::enum_ does not support overriding of methods, so we set __str__ on the Python side. py::def("_bondTypeToString", &bondTypeToString); diff --git a/libs/pymod/src/mod/py/Collections.cpp b/libs/pymod/src/mod/py/Collections.cpp index 46d91bb..b0798a2 100644 --- a/libs/pymod/src/mod/py/Collections.cpp +++ b/libs/pymod/src/mod/py/Collections.cpp @@ -4,6 +4,7 @@ #include #include #include +#include #include #include #include @@ -15,7 +16,7 @@ namespace mod { // This is just hax for the vector_indexing_suite, which requires == and !=. -// Currently the Boost sandbox has a version where the operators can be disabled. +// Currently, the Boost sandbox has a version where the operators can be disabled. bool operator==(const Derivation &, const Derivation &) { std::cerr << "Derivation does not support ==" << std::endl; @@ -78,6 +79,7 @@ void Collections_doExport() { makePair(); makePair(); makePair(); + makePair, dg::VertexMapper::Map>(); // Optional py::to_python_converter, ToPythonOptionalValue>(); diff --git a/libs/pymod/src/mod/py/Config.cpp b/libs/pymod/src/mod/py/Config.cpp index 49db56a..d57e5c3 100644 --- a/libs/pymod/src/mod/py/Config.cpp +++ b/libs/pymod/src/mod/py/Config.cpp @@ -90,7 +90,7 @@ void Config_doExport() { // rst: :param LabelType type: How to interpret labels. // rst: :param LabelRelation relation: The relation that should hold in morphisms between two labels. // rst: :param bool withStereo: A flag to specify if stereo information should be included. - // rst: Defaults to ``False``, unless ``stereoRelation`` is gieven, then ``True``. + // rst: Defaults to ``False``, unless ``stereoRelation`` is given, then ``True``. // rst: :param LabelRelation stereoRelation: The relation that should hold in morphisms between stereo data. // rst: Defaults to :class:`LabelRelation.Isomorphism`, but is only used when ``withStereo`` is ``True``. .def(py::init()) diff --git a/libs/pymod/src/mod/py/Error.cpp b/libs/pymod/src/mod/py/Error.cpp index d74726b..8440b67 100644 --- a/libs/pymod/src/mod/py/Error.cpp +++ b/libs/pymod/src/mod/py/Error.cpp @@ -21,15 +21,15 @@ PyObject *exportException(const std::string &name) { return exType; } -#define MOD_PY_ExportException(Name) { \ +#define MOD_PY_ExportException(Name) { \ py::class_(#Name "_", py::no_init); \ PyObject *exType = exportException(#Name); \ py::register_exception_translator([exType](const Name &ex) { \ - py::object exPy(ex); /* wrap the C++ exception */ \ - py::object exTypePy(py::handle<>(py::borrowed(exType))); \ - /* add the wrapped exception to the Python exception */ \ - exTypePy.attr("cause") = exPy; \ - PyErr_SetString(exType, ex.what()); \ + py::object exPy(ex); /* wrap the C++ exception */ \ + py::object exTypePy(py::handle<>(py::borrowed(exType))); \ + /* add the wrapped exception to the Python exception */ \ + exTypePy.attr("cause") = exPy; \ + PyErr_SetString(exType, ex.what()); \ }); \ } diff --git a/libs/pymod/src/mod/py/Function.cpp b/libs/pymod/src/mod/py/Function.cpp index 3a464a2..8ff633d 100644 --- a/libs/pymod/src/mod/py/Function.cpp +++ b/libs/pymod/src/mod/py/Function.cpp @@ -18,16 +18,18 @@ void Function_doExport() { exportFunc("_Func_BoolDerivation"); exportFunc("_Func_StringDerivation"); // DG::Vertex -> X + exportFunc("_Func_VoidDGVertex"); exportFunc("_Func_BoolDGVertex"); - exportFunc("_Func_DoubleDGVertex"); exportFunc("_Func_StringDGVertex"); + exportFunc(dg::DG::Vertex)>("_Func_PairDoubleBoolDGVertex"); // DG::Vertex x int -> X exportFunc(dg::DG::Vertex, int)>( "_Func_PairStringStringDGVertexInt"); // DG::HyperEdge -> X + exportFunc("_Func_VoidDGHyperEdge"); exportFunc("_Func_BoolDGHyperEdge"); exportFunc("_Func_StringDGHyperEdge"); - exportFunc("_Func_DoubleDGHyperEdge"); + exportFunc(dg::DG::HyperEdge)>("_Func_PairDoubleBoolDGHyperEdge"); // Graph -> X exportFunc)>("_Func_BoolGraph"); exportFunc)>("_Func_IntGraph"); diff --git a/libs/pymod/src/mod/py/Misc.cpp b/libs/pymod/src/mod/py/Misc.cpp index 0d82884..0f05d90 100644 --- a/libs/pymod/src/mod/py/Misc.cpp +++ b/libs/pymod/src/mod/py/Misc.cpp @@ -89,8 +89,9 @@ void Misc_doExport() { // rst: :rtype: float py::def("rngUniformReal", &mod::rngUniformReal); + py::def("strFromDump", &mod::strFromDump); py::def("showDump", &mod::showDump); - + py::def("printGeometryGraph", &mod::printGeometryGraph); } diff --git a/libs/pymod/src/mod/py/Module.cpp b/libs/pymod/src/mod/py/Module.cpp index 37736a7..0225c3f 100644 --- a/libs/pymod/src/mod/py/Module.cpp +++ b/libs/pymod/src/mod/py/Module.cpp @@ -12,7 +12,7 @@ #define MOD_NAMESPACED_FILES() \ ((graph, (Printer))) /* this must be before DGGraphInterface due to default arg */ \ - ((dg, (Builder) (DG) (GraphInterface) (Printer) (Strategy))) \ + ((dg, (Builder) (DG) (GraphInterface) (Printer) (Strategy) (VertexMapper))) \ ((graph, (Graph) (Union))) \ ((graph, (Automorphism) (GraphInterface))) /* nested classes of Graph, so must be after */ \ ((rule, (CompositionMatch) (Composition) (Rule) (GraphInterface))) \ diff --git a/libs/pymod/src/mod/py/dg/Builder.cpp b/libs/pymod/src/mod/py/dg/Builder.cpp index e6fe2e6..84d18e5 100644 --- a/libs/pymod/src/mod/py/dg/Builder.cpp +++ b/libs/pymod/src/mod/py/dg/Builder.cpp @@ -84,7 +84,7 @@ void Builder_doExport() { .def("addHyperEdge", static_cast(&Builder::addHyperEdge)) // rst: .. method:: execute(strategy, *, verbosity=2, ignoreRuleLabelTypes=False) // rst: - // rst: Execute the given strategy (:ref:`dgStrat`) and as a side-effect add + // rst: Execute the given strategy (:ref:`dgStrat`) and as a side effect add // rst: vertices and hyperedges to the underlying derivation graph. // rst: // rst: :param DGStrat strategy: the strategy to execute. @@ -92,7 +92,7 @@ void Builder_doExport() { // rst: See :cpp:func:`dg::Builder::execute` for explanations of the levels. // rst: :param bool ignoreRuleLabelTypes: whether rules in the strategy should be checked beforehand for // rst: whether they have an associated :class:`LabelType` which matches the one in the underlying derivation graph. - // rst: :returns: a proxy object for accessing the result of the exeuction. + // rst: :returns: a proxy object for accessing the result of the execution. // rst: :rtype: DGExecuteResult // rst: :throws: :class:`LogicError` if a static "add" strategy has :attr:`IsomorphismPolicy.Check` as graph policy, // rst: and it tries to add a graph object isomorphic to an already known, but different, graph object in the database. @@ -137,8 +137,8 @@ void Builder_doExport() { // rst: Add vertices and hyperedges based on the given abstract description. // rst: The description must adhere to the grammar described at :ref:`dg_abstract-desc`. // rst: - // rst: For each vertex named in the description a graph object with no vertices will be created, - // rst: and its name set to the given identifier. + // rst: For each vertex named in the description a graph object with a single vertex will be created. + // rst: The label of that vertex and the name of the graph is set to the given identifier. // rst: // rst: :param str description: the description to parse into abstract derivations. // rst: :raises: :class:`InputError` if the description could not be parsed. @@ -186,7 +186,7 @@ void Builder_doExport() { // rst: // rst: Output information from the execution of the strategy. // rst: - // rst: :param bool withUniverse: The universe lists can be rather long. As default they are omitted when listing. + // rst: :param bool withUniverse: The universe lists can be rather long. As default, they are omitted when listing. .def("list", &ExecuteResult::list); } diff --git a/libs/pymod/src/mod/py/dg/DG.cpp b/libs/pymod/src/mod/py/dg/DG.cpp index 81b1284..0203bc5 100644 --- a/libs/pymod/src/mod/py/dg/DG.cpp +++ b/libs/pymod/src/mod/py/dg/DG.cpp @@ -8,6 +8,8 @@ #include #include +#include + namespace mod::dg::Py { namespace { @@ -18,8 +20,10 @@ DG::HyperEdge (DG::*findEdgeGraphs)(const std::vector DG_build(std::shared_ptr dg_) { - return std::make_shared(dg_->build()); +std::shared_ptr DG_build(std::shared_ptr dg_, + std::shared_ptr> onNewVertex, + std::shared_ptr> onNewHyperEdge) { + return std::make_shared(dg_->build(onNewVertex, onNewHyperEdge)); } } // namespace diff --git a/libs/pymod/src/mod/py/dg/GraphInterface.cpp b/libs/pymod/src/mod/py/dg/GraphInterface.cpp index 23d6c42..0e624f3 100644 --- a/libs/pymod/src/mod/py/dg/GraphInterface.cpp +++ b/libs/pymod/src/mod/py/dg/GraphInterface.cpp @@ -137,7 +137,7 @@ void GraphInterface_doExport() { .add_property("sources", &DG::HyperEdge::sources) // rst: .. attribute:: numTargets // rst: - // rst: (Read-only) The number of targerts of the hyperedge. + // rst: (Read-only) The number of targets of the hyperedge. // rst: // rst: :type: int .add_property("numTargets", &DG::HyperEdge::numTargets) @@ -164,13 +164,14 @@ void GraphInterface_doExport() { // rst: :raises: :class:`LogicError` if it is a null descriptor. // rst: :raises: :class:`LogicError` if not ``dg.locked``. .add_property("inverse", &DG::HyperEdge::getInverse) - // rst: .. method:: print(printer=GraphPrinter(), nomatchColour="gray", matchColour="") + // rst: .. method:: print(printer=GraphPrinter(), nomatchColour="gray", matchColour="", verbosity=0) // rst: // rst: Print the derivations represented by the hyperedge. // rst: All possible Double-Pushout diagrams are printed. // rst: // rst: :param GraphPrinter printer: the printer to use for the figures. // rst: :param str matchColour: the TikZ colour to use for the rule and its image in the bottom span. + // rst: :param int verbosity: see :cpp:func:`dg::DG::HyperEdge::print`. // rst: :returns: A list with file data for each DPO diagram printed. // rst: Each element is a pair of filename prefixes, where the first entry is completed by appending ``_derL``, ``_derK``, or ``_derR``. // rst: The second entry is completed similarly by appending ``_derG``, ``_derD``, or ``_derH``. @@ -180,7 +181,8 @@ void GraphInterface_doExport() { .def("print", &DG::HyperEdge::print, ( py::arg("printer") = graph::Printer(), py::arg("nomatchColour") = "gray", - py::arg("matchColour") = "") + py::arg("matchColour") = "", + py::arg("verbosity") = 0) ); py::class_("DGVertexRange", py::no_init) diff --git a/libs/pymod/src/mod/py/dg/Printer.cpp b/libs/pymod/src/mod/py/dg/Printer.cpp index 38dae1b..7fbedae 100644 --- a/libs/pymod/src/mod/py/dg/Printer.cpp +++ b/libs/pymod/src/mod/py/dg/Printer.cpp @@ -157,20 +157,20 @@ void Printer_doExport() { Printer_setGraphPrinter) // rst: .. attribute:: withShortcutEdges // rst: - // rst: Control whether or not hyperedges :math:`(T, H)` with :math:`|T| = |H| = 1` + // rst: Control whether hyperedges :math:`(T, H)` with :math:`|T| = |H| = 1` // rst: are printed as a simple arrow without the usual rectangle. // rst: // rst: :type: bool .add_property("withShortcutEdges", &Printer::getWithShortcutEdges, &Printer::setWithShortcutEdges) // rst: .. attribute:: withGraphImages // rst: - // rst: Control whether or not each vertex is printed with a image of its graph in it. + // rst: Control whether each vertex is printed with a image of its graph in it. // rst: // rst: :type: bool .add_property("withGraphImages", &Printer::getWithGraphImages, &Printer::setWithGraphImages) // rst: .. attribute:: labelsAsLatexMath // rst: - // rst: Control whether or not labels on vertices and hyperedges are put inline :math:`\LaTeX` math. + // rst: Control whether labels on vertices and hyperedges are put inline :math:`\LaTeX` math. // rst: Specifically, a label ``label`` is written as ``$\mathrm{label'}$``, with ``label'`` being // rst: ``label`` with all space characters escaped. // rst: @@ -206,7 +206,7 @@ void Printer_doExport() { .def("popEdgeVisible", &Printer::popEdgeVisible) // rst: .. attribute:: withShortcutEdgesAfterVisibility // rst: - // rst: Control whether or not hyperedges are depicted as simple arrows when all but 1 head and tail are hidden. + // rst: Control whether hyperedges are depicted as simple arrows when all but 1 head and tail are hidden. // rst: // rst: :type: bool .add_property("withShortcutEdgesAfterVisibility", &Printer::getWithShortcutEdgesAfterVisibility, @@ -258,25 +258,25 @@ void Printer_doExport() { .def("popEdgeLabel", &Printer::popEdgeLabel) // rst: .. attribute:: withGraphName // rst: - // rst: Control whether or not graph names are appended to the vertex labels (see also :meth:`DGPrinter.pushVertexLabel`). + // rst: Control whether graph names are appended to the vertex labels (see also :meth:`DGPrinter.pushVertexLabel`). // rst: // rst: :type: bool .add_property("withGraphName", &Printer::getWithGraphName, &Printer::setWithGraphName) // rst: .. attribute:: withRuleName // rst: - // rst: Control whether or not rule names are appended to the edge labels (see also :meth:`DGPrinter.pushEdgeLabel`). + // rst: Control whether rule names are appended to the edge labels (see also :meth:`DGPrinter.pushEdgeLabel`). // rst: // rst: :type: bool .add_property("withRuleName", &Printer::getWithRuleName, &Printer::setWithRuleName) // rst: .. attribute:: withRuleId // rst: - // rst: Control whether or not rule IDs are appended to the edge labels (see also :meth:`DGPrinter.pushEdgeLabel`). + // rst: Control whether rule IDs are appended to the edge labels (see also :meth:`DGPrinter.pushEdgeLabel`). // rst: // rst: :type: bool .add_property("withRuleId", &Printer::getWithRuleId, &Printer::setWithRuleId) // rst: .. attribute:: withInlineGraphs // rst: - // rst: Control whether or not graph depictions should be precompiled, or be included inline in the DG figure. + // rst: Control whether graph depictions should be precompiled, or be included inline in the DG figure. // rst: // rst: :type: bool .add_property("withInlineGraphs", &Printer::getWithInlineGraphs, &Printer::setWithInlineGraphs) @@ -290,7 +290,7 @@ void Printer_doExport() { // rst: // rst: :param f: the function to push for colouring vertices. // rst: :type f: Callable[[DGVertex], str] or str - // rst: :param bool extendToEdges: whether or not some hyperedges are coloured as well (see above). + // rst: :param bool extendToEdges: whether some hyperedges are coloured as well (see above). .def("pushVertexColour", &Printer_pushVertexColour) // rst: .. method:: popVertexColour() // rst: diff --git a/libs/pymod/src/mod/py/dg/Strategies.cpp b/libs/pymod/src/mod/py/dg/Strategies.cpp index a035dc2..af5cc0a 100644 --- a/libs/pymod/src/mod/py/dg/Strategies.cpp +++ b/libs/pymod/src/mod/py/dg/Strategies.cpp @@ -122,7 +122,7 @@ void Strategy_doExport() { // rst: // rst: :param strats: the strategies to evaluate in sequence. // rst: :type strats: list[DGStrat] - // rst: :retunrs: a :ref:`strat-sequence` strategy. + // rst: :returns: a :ref:`strat-sequence` strategy. // rst: :rtype: DGStrat // rst: :raises: :class:`LogicError` if the given list of strategies is empty. // rst: :raises: :class:`LogicError` if there is a ``None`` in ``strats``. @@ -140,7 +140,7 @@ void Strategy_doExport() { // rst: // rst: :param bool alsoUniverse: if the strategy is :ref:`strat-filterUniverse` or :ref:`strat-filterSubset`. // rst: :param p: the filtering predicate being called for each graph in either the subset or the universe. - // rst: The predicate is called with the graph and the graph state as arguments, and a bool stating whether or not + // rst: The predicate is called with the graph and the graph state as arguments, and a bool stating whether // rst: the call is the first in the filtering process. // rst: :type p: Callable[[Graph, DGStrat.GraphState, bool], bool] // rst: :returns: a :ref:`strat-filterUniverse` strategy if ``onlyUniverse`` is ``True``, otherwise a :ref:`strat-filterSubset` strategy. diff --git a/libs/pymod/src/mod/py/dg/VertexMapper.cpp b/libs/pymod/src/mod/py/dg/VertexMapper.cpp new file mode 100644 index 0000000..4f604b6 --- /dev/null +++ b/libs/pymod/src/mod/py/dg/VertexMapper.cpp @@ -0,0 +1,100 @@ +#include + +#include +#include +#include + +namespace mod::dg::Py { + +void VertexMapper_doExport() { + // rst: .. class:: DGVertexMapper + // rst: + // rst: A class for enumerating all valid vertex maps for a given :class:`DGHyperEdge`. + // rst: That is, for such a hyperedge, collect the graphs associated with + // rst: respectively the source and target vertices, and create the disjoint union of those graphs. + // rst: Let the result be the graphs :math:`G'` and :math:`H'`. + // rst: Then each rule :math:`p = (L\leftarrow K\rightarrow R)` associated with the hyperedge, + // rst: generate direct derivations :math:`G\overset{p, m}{\Rightarrow} H` + // rst: where :math:`G` is isomorphic to :math:`G'` and :math:`H` is isomorphic to :math:`H'`. + // rst: + // rst: Each recorded vertex map is a map :math:`V(G) \rightarrow V(H)`. + // rst: Those maps are available in this class. + // rst: + py::scope parent = py::class_("DGVertexMapper", py::no_init) + // rst: .. method:: __init__(e, upToIsomorphismG=True, leftLimit=1, rightLimit=2**30) + // rst: + // rst: Construct a vertex map holder. It will immediately calculate all vertex maps for the derivations underlying the + // rst: given hyperedge. + // rst: By default all maps :math:`V(G) \rightarrow V(H)` are enumerated. + // rst: To only enumerate a singular vertex map per rule, use ``upToIsomorphismG = True`` and ``leftLimit = rightLimit = 1``. + // rst: + // rst: :param DGHyperEdge e: the hyperedge to construct vertex maps for. + // rst: :param bool upToIsomrophismG: whether to enumerate all :math:`m`, or just those such that all bottom spans + // rst: :math:`(G\leftarrow D\rightarrow H)` up to isomorphism are generated. + // rst: :param int leftLimit: after bottom span generation, find this many isomorphisms back to the sources of the hyperedge. + // rst: :param int rightLimit: after bottom span generation, find this many isomorphisms back to the targets of the hyperedge. + // rst: :raises: :class:`LogicError` if ``not e``. + .def(py::init( + (py::args("upToIsomorphismG") = true, + py::args("leftLimit") = 1 << 30, py::args("rightLimit") = 1 << 30, + py::args("verbosity") = 0))) + // rst: .. attribute:: edge + // rst: + // rst: (Read-only) The hyperedge to calculate vertex maps for. + // rst: + // rst: :type: DGHyperEdge + .def_readonly("edge", &VertexMapper::getEdge) + // rst: .. attribute:: left + // rst: right + // rst: + // rst: :returns: the disjoint union of graphs from respectively the source and target vertices of the hyperedge. + // rst: That is, the graphs :math:`G` and :math:`H` that are the domain and codomain graphs of the calculated + // rst: vertex maps. + // rst: :type: UnionGraph + .def_readonly("left", &VertexMapper::getLeft) + .def_readonly("right", &VertexMapper::getRight) + // rst: .. method:: __iter__() + // rst: + // rst: :returns: an iterator over the vertex maps, + // rst: see :meth:`__getitem__` for the specific type. + .def("__iter__", py::iterator()) + // rst: .. attribute:: size + // rst: + // rst: (Read-only) The number of vertex maps calculated. + // rst: + // rst: :type: int + .def_readonly("size", &VertexMapper::size) + // rst: .. method:: __len__() + // rst: + // rst: :returns: :attr:`size` + // rst: :rtype: int + .def("__len__", &VertexMapper::size) + // rst: .. method:: __getitem__(i) + // rst: + // rst: :param int i: the index of the map to retrieve. + // rst: :returns: the ``i``\ th vertex map. + // rst: :rtype: Result + // rst: :raises: :class:`LogicError` if ``i`` is out of range. + .def("__getitem__", &VertexMapper::operator[]); + + // rst: .. class:: DGVertexMapper.Result + // rst: + // rst: The value type returned for each vertex map. + // rst: the rule used to generate the map, and then the actual map. + // rst: + py::class_("Result", py::no_init) + // rst: .. attribute:: rule + // rst: + // rst: The rule used to generate the map. + // rst: + // rst: :type: Rule + .def_readonly("rule", &VertexMapper::Result::r) + // rst: .. attribute:: map + // rst: + // rst: The actual vertex map :math:`V(G) \rightarrow V(H)`. + // rst: + // rst: :type: VertexMapUnionGraphUnionGraph + .def_readonly("map", &VertexMapper::Result::map); +} + +} // namespace mod::dg::Py \ No newline at end of file diff --git a/libs/pymod/src/mod/py/graph/Graph.cpp b/libs/pymod/src/mod/py/graph/Graph.cpp index bf87d63..67ba7d6 100644 --- a/libs/pymod/src/mod/py/graph/Graph.cpp +++ b/libs/pymod/src/mod/py/graph/Graph.cpp @@ -118,7 +118,7 @@ void Graph_doExport() { py::make_function(&Graph::getGraphDFS, py::return_value_policy())) // rst: .. attribute:: graphDFSWithIds // rst: - // rst: (Read-only) This is a :ref:`GraphDFS ` of the graph, where each vertices have an explicit id, + // rst: (Read-only) This is a :ref:`GraphDFS ` of the graph, where each vertex have an explicit id, // rst: corresponding to its internal vertex id. // rst: // rst: :type: str @@ -133,7 +133,7 @@ void Graph_doExport() { py::return_value_policy())) // rst: .. attribute:: isMolecule // rst: - // rst: (Read-only) Whether or not the graph models a molecule. See :ref:`mol-enc`. + // rst: (Read-only) Whether the graph models a molecule. See :ref:`mol-enc`. // rst: // rst: :type: bool .add_property("isMolecule", &Graph::getIsMolecule) @@ -204,6 +204,9 @@ void Graph_doExport() { // rst: // rst: :returns: a graph isomorphic to this, but with the vertex indices randomly permuted. // rst: :rtype: Graph + // rst: + // rst: .. note: Currently, permuting stereo-information is not supported, and the resulting + // rst: graphs thus have any stereo-information stripped. .def("makePermutation", &Graph::makePermutation) // rst: .. attribute:: image // rst: @@ -213,7 +216,7 @@ void Graph_doExport() { // rst: // rst: :type: Callable[[], str] .add_property("image", &mod::Py::noGet, &Graph::setImage) - // rst: .. attribute:: imageCommad + // rst: .. attribute:: imageCommand // rst: // rst: A command to be run in post-processing if a custom depiction is set. // rst: The command is only run once. @@ -269,8 +272,8 @@ void Graph_doExport() { // rst: Loading Functions // rst: ================= // rst: - // rst: .. staticmethod:: Graph.fromGMLString(s, name=None, add=True) - // rst: Graph.fromGMLFile(f, name=None, add=True) + // rst: .. staticmethod:: Graph.fromGMLString(s, name=None, add=True, printStereoWarnings=True) + // rst: Graph.fromGMLFile(f, name=None, add=True, printStereoWarnings=True) // rst: // rst: Load a graph in :ref:`GML ` format from a given string, ``s``, // rst: or given file ``f``. @@ -282,6 +285,7 @@ void Graph_doExport() { // rst: :type f: str or CWDPath // rst: :param str name: the name of the graph. If none is given the default name is used. // rst: :param bool add: whether to append the graph to :data:`inputGraphs` or not. + // rst: :param bool printStereoWarnings: whether to print warnings due to unhandled stereo information. // rst: :returns: the loaded graph. // rst: :rtype: Graph // rst: :raises: :class:`InputError` on bad input. @@ -289,8 +293,8 @@ void Graph_doExport() { .staticmethod("fromGMLString") .def("fromGMLFile", &Graph::fromGMLFile) .staticmethod("fromGMLFile") - // rst: .. staticmethod:: Graph.fromGMLStringMulti(s, add=True) - // rst: Graph.fromGMLFileMulti(f, add=True) + // rst: .. staticmethod:: Graph.fromGMLStringMulti(s, add=True, printStereoWarnings=True) + // rst: Graph.fromGMLFileMulti(f, add=True, printStereoWarnings=True) // rst: // rst: Load a set of graphs in :ref:`GML ` format from a given string, ``s``, // rst: or given file ``f``, @@ -331,7 +335,7 @@ void Graph_doExport() { // rst: :raises: :class:`InputError` on bad input. .def("fromDFSMulti", &Graph::fromDFSMulti) .staticmethod("fromDFSMulti") - // rst: .. staticmethod:: Graph.fromSMILES(s, name=None, allowAbstract=False, classPolicy=SmilesClassPolicy.NoneOnDuplicate, add=True) + // rst: .. staticmethod:: Graph.fromSMILES(s, name=None, allowAbstract=False, classPolicy=SmilesClassPolicy.NoneOnDuplicate, add=True, printStereoWarnings=True) // rst: // rst: Load a molecule from a :ref:`SMILES ` string. // rst: The molecule must be a connected graph. If not, use :meth:`fromSMILESMulti`. @@ -340,13 +344,15 @@ void Graph_doExport() { // rst: :param str name: the name of the graph. If none is given the default name is used. // rst: :param bool allowAbstract: whether to allow abstract vertex labels in bracketed atoms. // rst: :param bool add: whether to append the graph to :data:`inputGraphs` or not. + // rst: :param bool printStereoWarnings: whether to print warnings due to unhandled stereo information. // rst: :returns: the loaded molecule. // rst: :rtype: Graph // rst: :raises: :class:`InputError` on bad input. .def("fromSMILES", - static_cast (*)(const std::string &, bool, SmilesClassPolicy)>(&Graph::fromSMILES)) + static_cast (*)( + const std::string &, bool, SmilesClassPolicy, bool)>(&Graph::fromSMILES)) .staticmethod("fromSMILES") - // rst: .. staticmethod:: Graph.fromSMILESMulti(s, allowAbstract=False, classPolicy=SmilesClassPolicy.NoneOnDuplicate, add=True) + // rst: .. staticmethod:: Graph.fromSMILESMulti(s, allowAbstract=False, classPolicy=SmilesClassPolicy.NoneOnDuplicate, add=True, printStereoWarnings=True) // rst: // rst: Load a set of molecules from a :ref:`SMILES ` string, // rst: with each molecule being a connected component of the graph specified in the SMILES string. @@ -355,8 +361,8 @@ void Graph_doExport() { // rst: // rst: :returns: a list of the loaded molecules. // rst: :rtype: list[Graph] - .def("fromSMILESMulti", static_cast>(*)(const std::string &, bool, - SmilesClassPolicy)>(&Graph::fromSMILESMulti)) + .def("fromSMILESMulti", static_cast>(*)( + const std::string &, bool, SmilesClassPolicy, bool)>(&Graph::fromSMILESMulti)) .staticmethod("fromSMILESMulti") // rst: .. staticmethod:: Graph.fromMOLString(s, name=None, options=MDLOptions(), add=True) // rst: Graph.fromMOLFile(f, name=None, options=MDLOptions(), add=True) @@ -397,7 +403,7 @@ void Graph_doExport() { // rst: Graph.fromSDFile(f, options=MDLOptions(), add=True) // rst: // rst: Load a list of molecules in :ref:`SD ` format from a given string or file, - // rst: with each molecule being a connected component of each of the the graphs specified in the data. + // rst: with each molecule being a connected component of each of the graphs specified in the data. // rst: If any graph is not connected, use :meth:`fromSDStringMulti` and :meth:`fromSDFileMulti` instead. // rst: // rst: :param str s: the string to parse. @@ -433,16 +439,16 @@ void Graph_doExport() { mod::Py::exportVertexMap>("VertexMapGraphGraph"); - // rst: .. method:: graphGMLString(s, name=None, add=True) + // rst: .. method:: graphGMLString(...) // rst: // rst: Alias of :py:meth:`Graph.fromGMLString`. - // rst: .. method:: graphGML(f, name=None, add=True) + // rst: .. method:: graphGML(...) // rst: // rst: Alias of :py:meth:`Graph.fromGMLFile`. - // rst: .. method:: graphDFS(s, name=None, add=True) + // rst: .. method:: graphDFS(...) // rst: // rst: Alias of :py:meth:`Graph.fromDFS`. - // rst: .. method:: smiles(s, name=None, allowAbstract=False, classPolicy=SmilesClassPolicy.NoneOnDuplicate, add=True) + // rst: .. method:: smiles(...) // rst: // rst: Alias of :py:meth:`Graph.fromSMILES`. // rst: diff --git a/libs/pymod/src/mod/py/graph/Printer.cpp b/libs/pymod/src/mod/py/graph/Printer.cpp index 3b5445f..d67918b 100644 --- a/libs/pymod/src/mod/py/graph/Printer.cpp +++ b/libs/pymod/src/mod/py/graph/Printer.cpp @@ -120,7 +120,7 @@ void Printer_doExport() { // rst: Do not use Open Babel for coordinate generation, but only the Graphviz fallback // rst: during post-processing. // rst: When setting this to ``True`` consider setting `simpleCarbons = False`` to avoid - // rst: misleading depictions due to colinear carbon chains. + // rst: misleading depictions due to collinear carbon chains. // rst: // rst: :type: bool .add_property("withGraphvizCoords", &Printer::getWithGraphvizCoords, &Printer::setWithGraphvizCoords) diff --git a/libs/pymod/src/mod/py/graph/Union.cpp b/libs/pymod/src/mod/py/graph/Union.cpp index a2410c1..aacefdd 100644 --- a/libs/pymod/src/mod/py/graph/Union.cpp +++ b/libs/pymod/src/mod/py/graph/Union.cpp @@ -67,7 +67,11 @@ void exportClass() { .add_property("numVertices", &Union::numVertices) .add_property("vertices", &Union::vertices) .add_property("numEdges", &Union::numEdges) - .add_property("edges", &Union::edges); + .add_property("edges", &Union::edges) + // rst: .. method:: printTermState + // rst: + // rst: Print the term state for the graph. + .def("printTermState", &Union::printTermState); // rst: .. class:: Vertex diff --git a/libs/pymod/src/mod/py/rule/Composition.cpp b/libs/pymod/src/mod/py/rule/Composition.cpp index 3d4aa53..f8c17b3 100644 --- a/libs/pymod/src/mod/py/rule/Composition.cpp +++ b/libs/pymod/src/mod/py/rule/Composition.cpp @@ -50,11 +50,6 @@ std::vector> getProducts(std::shared_ptr rc) { return std::vector>(begin(rc->getProducts()), end(rc->getProducts())); } -std::vector> eval(std::shared_ptr rc, const RCExp::Expression &e, int verbosity) { - auto result = rc->eval(e, verbosity); - return std::vector>(begin(result), end(result)); -} - std::shared_ptr create(const std::vector> dVec, LabelSettings labelSettings) { std::unordered_set> dUSet(begin(dVec), end(dVec)); return Composer::create(dUSet, labelSettings); @@ -63,7 +58,6 @@ std::shared_ptr create(const std::vector> dVec, } // namespace void Composition_doExport() { - // rst: Expression Evaluator // rst: ################################################# // rst: @@ -92,18 +86,19 @@ void Composition_doExport() { // rst: // rst: :type: list[Rule] .add_property("_products", &getProducts) - // rst: .. method:: eval(exp, *, verbosity=0) + // rst: .. method:: eval(exp, *, onlyUnique=True, verbosity=0) // rst: // rst: Evaluates a rule composition expression. // rst: Any created rule is replaced by a rule in the database if they are isomorphic. // rst: A rule may appear multiple times in the result if multiple overlaps resulted in the same composed rule. // rst: // rst: :param RCExpExp exp: the expression to evaluate. + // rst: :param bool onlyUnique: whether each composition (sub-)result may contain duplicates or not. // rst: :param int verbosity: the level of information being printed about the evaluation. // rst: See :cpp:func:`rule::Composer::eval` for details. // rst: :returns: the resulting list of rules of the expression. // rst: :rtype: list[Rule] - .def("eval", &eval) + .def("eval", &Composer::eval) // rst: .. method:: print() // rst: // rst: Print the graph representing all expressions evaluated so far. @@ -159,7 +154,7 @@ void Composition_doExport() { .def(py::init>()) .def(str(py::self)); - // Expresssion + // Expression //-------------------------------------------------------------------------- // rst: .. class:: RCExpExp // rst: diff --git a/libs/pymod/src/mod/py/rule/CompositionMatch.cpp b/libs/pymod/src/mod/py/rule/CompositionMatch.cpp index 891b74e..48ef625 100644 --- a/libs/pymod/src/mod/py/rule/CompositionMatch.cpp +++ b/libs/pymod/src/mod/py/rule/CompositionMatch.cpp @@ -87,7 +87,7 @@ void CompositionMatch_doExport() { .def("compose", &CompositionMatch::compose, py::args("verbose") = false) // rst: .. method:: composeAll(*, maximum=False, verbose=False) // rst: - // rst: :param bool maximum: whether to only compose only using the matches of maximum cardinality. + // rst: :param bool maximum: whether to only compose using the matches of maximum cardinality. // rst: :param bool verbose: whether to output debug messages from the composition algorithm. // rst: :returns: the composition of the two rules along enumerated matches. // rst: The enumerated matches are all those that are extensions of the current match, diff --git a/libs/pymod/src/mod/py/rule/Rule.cpp b/libs/pymod/src/mod/py/rule/Rule.cpp index 8997fa7..3a2b7a6 100644 --- a/libs/pymod/src/mod/py/rule/Rule.cpp +++ b/libs/pymod/src/mod/py/rule/Rule.cpp @@ -189,8 +189,8 @@ void Rule_doExport() { // rst: Loading Functions // rst: ================= // rst: - // rst: .. staticmethod:: Rule.fromGMLString(s, invert=False, add=True) - // rst: Rule.fromGMLFile(f, invert=False, add=True) + // rst: .. staticmethod:: Rule.fromGMLString(s, invert=False, add=True, printStereoWarnings=True) + // rst: Rule.fromGMLFile(f, invert=False, add=True, printStereoWarnings=True) // rst: // rst: Load a rule from a :ref:`GML ` string or file, and maybe store it in a global list. // rst: The name of the rule is the one specified in the GML string, though when ``invert=True`` @@ -204,8 +204,9 @@ void Rule_doExport() { // rst: :param str s: the GML string to load a rule from. // rst: :param f: name of the GML file to be loaded. // rst: :type f: str or CWDPath - // rst: :param bool invert: whether or not to invert the loaded rule. + // rst: :param bool invert: whether to invert the loaded rule. // rst: :param bool add: whether to append the rule to :data:`inputRules` or not. + // rst: :param bool printStereoWarnings: whether to print warnings due to unhandled stereo information. // rst: :returns: the rule in the GML string, possibly inverted. // rst: :rtype: Rule .def("fromGMLString", &Rule::fromGMLString) @@ -217,7 +218,7 @@ void Rule_doExport() { // rst: Load a rule from a :ref:`RuleDFS ` string. // rst: // rst: :param str s: the :ref:`RuleDFS ` string to parse. - // rst: :param bool invert: whether or not to invert the loaded rule. + // rst: :param bool invert: whether to invert the loaded rule. // rst: :param str name: the name of the rule. If none is given the default name is used. // rst: :param bool add: whether to append the rule to :data:`inputRules` or not. // rst: :returns: the loaded rule. @@ -226,10 +227,10 @@ void Rule_doExport() { .def("fromDFS", &Rule::fromDFS) .staticmethod("fromDFS"); - // rst: .. function:: ruleGMLString(s, invert=False, add=True) + // rst: .. function:: ruleGMLString(...) // rst: // rst: Alias of :py:meth:`Rule.fromGMLString`. - // rst: .. method:: ruleGML(f, invert=False, add=True) + // rst: .. method:: ruleGML(...) // rst: // rst: Alias of :py:meth:`Rule.fromGMLFile`. // rst: diff --git a/requirements.txt b/requirements.txt index 3f5fc99..09accb8 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,2 +1,3 @@ -r requirements_nodoc.txt sphinx>=3.5 +sphinx_design diff --git a/scripts/checkJsonVisibility.sh b/scripts/checkJsonVisibility.sh index 8b7ad84..9b2209f 100755 --- a/scripts/checkJsonVisibility.sh +++ b/scripts/checkJsonVisibility.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/usr/bin/env bash root=$(git rev-parse --show-toplevel) cd $root/libs grep -Rn '#include.*nlohman' &> /dev/null diff --git a/scripts/flake8.sh b/scripts/flake8.sh index a9a976e..b3f09c1 100755 --- a/scripts/flake8.sh +++ b/scripts/flake8.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/usr/bin/env bash # Create an "installation" of the Python parts by symlinking them into # build/checkPython/mod, and then run the Python tools. root=$(git rev-parse --show-toplevel) diff --git a/scripts/jla_build.sh b/scripts/jla_build.sh index 123b7d0..37a61a2 100755 --- a/scripts/jla_build.sh +++ b/scripts/jla_build.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/usr/bin/env bash export AS_RLIMIT=300000000 root=$(git rev-parse --show-toplevel) cd $root diff --git a/scripts/makeConda.sh b/scripts/makeConda.sh index 27eb1cc..3929b45 100755 --- a/scripts/makeConda.sh +++ b/scripts/makeConda.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/usr/bin/env bash set -e root=$(git rev-parse --show-toplevel) cd $root diff --git a/scripts/makeDepGraph.sh b/scripts/makeDepGraph.sh index 8324869..169364f 100755 --- a/scripts/makeDepGraph.sh +++ b/scripts/makeDepGraph.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/usr/bin/env bash root=$(git rev-parse --show-toplevel) res=$? if [ $res -ne 0 ]; then diff --git a/scripts/makeDocker.sh b/scripts/makeDocker.sh index a5bba84..6713430 100755 --- a/scripts/makeDocker.sh +++ b/scripts/makeDocker.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/usr/bin/env bash if [ "$1" = "-j" ]; then shift j=$1 diff --git a/scripts/makePyExamples.py b/scripts/makePyExamples.py index 615a130..9af77ee 100755 --- a/scripts/makePyExamples.py +++ b/scripts/makePyExamples.py @@ -15,8 +15,10 @@ def processExamples(topSrcDir): section['id'] = sec section['exs'] = [] for ex in os.listdir(root + sec): + if ex in ('out', 'summary'): + continue exFull = root + sec + "/" + ex - assert os.path.isfile(exFull), exFull + assert os.path.isfile(exFull), (exFull, root, sec, ex) if not ex.endswith(".py"): continue with open(exFull, encoding='utf-8') as f: diff --git a/scripts/mypy.sh b/scripts/mypy.sh index be6a7e7..8b293a7 100755 --- a/scripts/mypy.sh +++ b/scripts/mypy.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/usr/bin/env bash # Create an "installation" of the Python parts by symlinking them into # build/checkPython/mod, and then run the Python tools. root=$(git rev-parse --show-toplevel) diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 943d63e..eb503a4 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -19,10 +19,7 @@ foreach(fileName ${mod_TEST_CPP_FILES}) target_compile_options(${testName} PRIVATE -Wall -Wextra -pedantic -Werror -Wno-comment) target_link_libraries(${testName} PRIVATE mod::libmod) - if(BUILD_TESTING_SANITIZERS AND NOT BUILD_COVERAGE) - target_compile_options(${testName} PRIVATE ${sanFlags}) - target_link_libraries(${testName} PRIVATE ${sanFlags}) - endif() + handle_sanitizers(${testName}) add_dependencies(tests ${testName}) target_add_coverage(${testName}) add_test(NAME ${testName} diff --git a/test/cpp/dg/vertexMapping.cpp b/test/cpp/dg/vertexMapping.cpp new file mode 100644 index 0000000..ffb8444 --- /dev/null +++ b/test/cpp/dg/vertexMapping.cpp @@ -0,0 +1,7 @@ +#include + +#include + +int main() { + BOOST_CONCEPT_ASSERT((boost::RandomAccessIterator)); +} \ No newline at end of file diff --git a/test/cpp/graph/union.cpp b/test/cpp/graph/union.cpp index 298e018..572306e 100644 --- a/test/cpp/graph/union.cpp +++ b/test/cpp/graph/union.cpp @@ -2,8 +2,16 @@ #include #include +#include +#include +#include +#include +#include +#include + #include int main() { BOOST_CONCEPT_ASSERT((mod::concepts::LabelledGraph)); + BOOST_CONCEPT_ASSERT((mod::lib::LabelledGraphConcept>)); } \ No newline at end of file diff --git a/test/py/dg/100_execute_basic.py b/test/py/dg/100_build_execute_basic.py similarity index 100% rename from test/py/dg/100_execute_basic.py rename to test/py/dg/100_build_execute_basic.py diff --git a/test/py/dg/200_build_callbacks.py b/test/py/dg/200_build_callbacks.py new file mode 100644 index 0000000..7d78a3d --- /dev/null +++ b/test/py/dg/200_build_callbacks.py @@ -0,0 +1,32 @@ + +doAssert = False +vs = [] +es = [] + +def onNewVertex(v): + print("Vertex:", v, v.graph) + if doAssert: + assert False + vs.append(v) + +def onNewHyperEdge(e): + print("HyperEdge:", e) + if doAssert: + assert False + es.append(e) + +g = Graph.fromSMILES('[O]', "O") +g2 = Graph.fromSMILES('[P]', "P") +r = Rule.fromDFS("[O]1>>[P]1") + +dg = DG(graphDatabase=inputGraphs) +with dg.build(onNewVertex=onNewVertex, onNewHyperEdge=onNewHyperEdge) as b: + b.execute(addSubset(g) >> r) + print("try again") + doAssert = True + b.execute(addSubset(g) >> r) + print("done") +assert [v.graph for v in vs] == [g, g2], [v.graph for v in vs] +assert len(es) == 1 +assert [v.graph for v in es[0].sources] == [g] +assert [v.graph for v in es[0].targets] == [g2] diff --git a/test/py/dg/401_printer_using.py b/test/py/dg/401_printer_using.py index 170672d..3f59096 100644 --- a/test/py/dg/401_printer_using.py +++ b/test/py/dg/401_printer_using.py @@ -85,6 +85,20 @@ dg.print(p) p.popVertexLabel() +post.summarySection("vertexLabelEmpty") +p = DGPrinter() +p.withGraphName = False +dg.print(p) +p.pushVertexLabel("") +p.pushVertexLabel("") +p.pushVertexLabel("1") +p.pushVertexLabel("") +p.pushVertexLabel("") +p.pushVertexLabel("2") +p.pushVertexLabel("") +p.pushVertexLabel("") +dg.print(p) + post.summarySection("edgeLabelSep") p = DGPrinter() p.pushEdgeLabel("eLabelConstant") @@ -100,6 +114,20 @@ dg.print(p) p.popEdgeLabel() +post.summarySection("edgeLabelEmpty") +p = DGPrinter() +p.withRuleName = False +dg.print(p) +p.pushEdgeLabel("") +p.pushEdgeLabel("") +p.pushEdgeLabel("1") +p.pushEdgeLabel("") +p.pushEdgeLabel("") +p.pushEdgeLabel("2") +p.pushEdgeLabel("") +p.pushEdgeLabel("") +dg.print(p) + post.summarySection("withGraphName, withRuleName, withRuleId") p = DGPrinter() p.withGraphName = False diff --git a/test/py/dg/453_print_dpo_log.py b/test/py/dg/453_print_dpo_log.py new file mode 100644 index 0000000..0bd277d --- /dev/null +++ b/test/py/dg/453_print_dpo_log.py @@ -0,0 +1,15 @@ +s = "[A]" +for i in range(3): + s += "([H])" +A = Graph.fromDFS(s) + +dg = DG() +dg.build().apply([A], Rule.fromDFS("[A]1>>[B]1")) +assert dg.numEdges == 1 +e = next(iter(dg.edges)) + +for v in (0, 1, 9, 10, 19, 20): + print("*" * 80) + print("Verbosity", v) + print("*" * 80) + e.print(verbosity=v) diff --git a/test/py/dg/500_build_addAbstract.py b/test/py/dg/500_build_addAbstract.py index 38717ce..73404eb 100644 --- a/test/py/dg/500_build_addAbstract.py +++ b/test/py/dg/500_build_addAbstract.py @@ -1,12 +1,16 @@ include("xx0_helpers.py") -def doStuff(s, numVertices, numEdges): - dg = DG() - dg.build().addAbstract(s) +def getNames(dg): names = {} for v in dg.vertices: assert v.graph.name not in names names[v.graph.name] = v + return names + +def doStuff(s, numVertices, numEdges): + dg = DG() + dg.build().addAbstract(s) + names = getNames(dg) if numVertices is not None: assert dg.numVertices == numVertices assert len(names) == numVertices @@ -22,7 +26,7 @@ def doStuff(s, numVertices, numEdges): doStuff("a + b -> a", 2, 1) doStuff("2 a + b -> 3 c", 3, 1) doStuff("a -> b b -> d + a d -> c c -> b", 4, 4) -# test null reactions +# test null reactions doStuff("a -> b b + c -> b + c c + d <=> c + d d -> e", 5, 4) # test coefficient stuff dg, names = doStuff("2a -> 2 b", None, 1) @@ -33,4 +37,13 @@ def doStuff(s, numVertices, numEdges): fail(lambda: DG().build().addAbstract(""), msg, err=InputError, isSubstring=True) fail(lambda: DG().build().addAbstract("\x80"), msg, err=InputError, isSubstring=True) fail(lambda: DG().build().addAbstract("42\x80"), msg, err=InputError, isSubstring=True) +# the dash in the arrow is not a - but a different character fail(lambda: DG().build().addAbstract("BrO3- + Br- + H+ + H+ —> HBrO2 + HOBr"), "Expected -> or <=>.", err=InputError) + + +dg = DG() +with dg.build() as b: + b.addAbstract("A -> B") + b.addAbstract("A -> C") +names = list(sorted(v.graph.name for v in dg.vertices)) +assert names == ['A', 'B', 'C'], names diff --git a/test/py/dg/600_vertexMap_basic.py b/test/py/dg/600_vertexMap_basic.py new file mode 100644 index 0000000..ee760f1 --- /dev/null +++ b/test/py/dg/600_vertexMap_basic.py @@ -0,0 +1,36 @@ +include("../xxx_helpers.py") + +fail(lambda: DGVertexMapper(DGHyperEdge()), + "Can not find vertex maps for null edge.") + +O = smiles("[O]", name="O") +S = smiles("[S]", name="S") +r = Rule.fromDFS("[O]1>>[S]1") +rCopy = Rule.fromDFS("[O]1>>[S]1") + +dg = DG(graphDatabase=inputGraphs) +dg.build().apply([O], r) +assert dg.numEdges == 1 +e = next(iter(dg.edges)) +maps = DGVertexMapper(e) +assert maps.edge == e +assert list(maps.left) == [O] +assert list(maps.right) == [S] +assert len(maps) == maps.size +assert len(list(maps)) == maps.size +assert maps.size == 1 + +rule = maps[0].rule +m = maps[0].map +assert rule == r +assert m.domain == UnionGraph([O]) +assert m.codomain == UnionGraph([S]) +fail(lambda: m[UnionGraph.Vertex()], "Can not map null vertex.") +fail(lambda: m.inverse(UnionGraph.Vertex()), "Can not map null vertex.") + +vDom = next(iter(m.domain.vertices)) +vCodom = next(iter(m.codomain.vertices)) +fail(lambda: m[vCodom], "Vertex does not belong to the domain graph.") +fail(lambda: m.inverse(vDom), "Vertex does not belong to the codomain graph.") +assert m[vDom] == vCodom +assert m.inverse(vCodom) == vDom diff --git a/test/py/dg/601_vertexMap_count.py b/test/py/dg/601_vertexMap_count.py new file mode 100644 index 0000000..d902f7a --- /dev/null +++ b/test/py/dg/601_vertexMap_count.py @@ -0,0 +1,95 @@ +include("../xxx_helpers.py") + +import math + + +def check(numH, expCount, isoG=True, leftLimit=None, rightLimit=None, silent=False, verbosity=0): + inputGraphs[:] = [] + extra = [ + Graph.fromDFS("[L1]"), + Graph.fromDFS("[L2]"), + ] + s = "[A]" + for i in range(numH): + s += "([H])" + A = Graph.fromDFS(s) + + dg = DG(graphDatabase=inputGraphs) + dg.build().apply(extra + [A], + Rule.fromDFS("[L1].[A]1[H]2.[L2]>>[R1].[B]1[H]2.[R2]")) + assert dg.numEdges == 1 + e = next(iter(dg.edges)) + + header = f"#H={numH}, isoG={isoG}, leftLimit={leftLimit}, rightLimit={rightLimit}" + print(header) + if leftLimit is None: + leftLimit = 2**30 + if rightLimit is None: + rightLimit = 2**30 + maps = DGVertexMapper(e, upToIsomorphismG=isoG, + leftLimit=leftLimit, rightLimit=rightLimit, + verbosity=verbosity) + if not silent: + for res in maps: + r = res.rule + m = res.map + print(" ", [ + "{}:{:2s}".format(v.id, v.stringLabel) + for v in m.domain.vertices + ]) + print("->", [ + "{}:{:2s}".format( + m[v].id if m[v] else ".", + m[v].stringLabel if m[v] else ".") + for v in m.domain.vertices + ]) + + print(" ", [ + "{}:{:2s}".format(v.id, v.stringLabel) + for v in m.codomain.vertices + ]) + print("->", [ + "{}:{:2s}".format( + m.inverse(v).id if m.inverse(v) else ".", + m.inverse(v).stringLabel if m.inverse(v) else ".") + for v in m.codomain.vertices + ]) + for v in m.domain.vertices: + if m[v]: + assert m.inverse(m[v]) == v, (m, m[v], m.inverse(m[v])) + print(f"count={len(maps)}") + assert len(maps) == expCount, (len(maps), expCount) + + +print("="*80) +check(3, 1, + isoG=True, leftLimit=1, rightLimit=1, silent=True) + +print("="*80) +check(3, math.factorial(3), + isoG=True, leftLimit=1, rightLimit=None, silent=True) +print("="*80) +check(3, math.factorial(3), + isoG=True, leftLimit=None, rightLimit=1, silent=True) +print("="*80) +check(3, 3, + isoG=False, leftLimit=1, rightLimit=1, silent=True) + +print("="*80) +check(3, math.factorial(3)*3, + isoG=False, leftLimit=None, rightLimit=1, silent=True) +print("="*80) +check(3, math.factorial(3)*3, + isoG=False, leftLimit=1, rightLimit=None, silent=True) +print("="*80) +check(3, math.factorial(3)**2 * 3, + isoG=False, leftLimit=None, rightLimit=None, silent=True) + + +print("#"*80) + +check(7, math.factorial(7), rightLimit=1, silent=True) + +print("=" * 80) +check(9, 1, leftLimit=1, rightLimit=1) +check(9, math.factorial(9), rightLimit=1, silent=True) diff --git a/test/py/dg/602_vertexMap_term.py b/test/py/dg/602_vertexMap_term.py new file mode 100644 index 0000000..04bd617 --- /dev/null +++ b/test/py/dg/602_vertexMap_term.py @@ -0,0 +1,18 @@ +include("../xxx_helpers.py") + +W = Graph.fromDFS("[*]", name="W") +r = Rule.fromDFS("[*]1>>[S]1") + +W.print() +W.printTermState() +r.print() +r.printTermState() + +ls = LabelSettings(LabelType.Term, LabelRelation.Specialisation) + +dg = DG(graphDatabase=inputGraphs, labelSettings=ls) +dg.build().apply([W], r) +assert dg.numEdges == 1 +e = next(iter(dg.edges)) +maps = DGVertexMapper(e, verbosity=10) +assert maps.size == 1 diff --git a/test/py/dg/610_vertexMap_log.py b/test/py/dg/610_vertexMap_log.py new file mode 100644 index 0000000..60ab98f --- /dev/null +++ b/test/py/dg/610_vertexMap_log.py @@ -0,0 +1,18 @@ +include("../xxx_helpers.py") + +s = "[A]" +for i in range(2): + s += "([H])" +A = Graph.fromDFS(s) + +dg = DG() +dg.build().apply([A], Rule.fromDFS("[A]1>>[B]1")) +assert dg.numEdges == 1 +e = next(iter(dg.edges)) + +for v in (0, 1, 9, 10, 19, 20): + print("*" * 80) + print("Verbosity", v) + print("*" * 80) + maps = DGVertexMapper(e, verbosity=v) + print("|M|:", len(maps)) diff --git a/test/py/dg/650_vertexMap_dg.py b/test/py/dg/650_vertexMap_dg.py new file mode 100644 index 0000000..d1ee3fa --- /dev/null +++ b/test/py/dg/650_vertexMap_dg.py @@ -0,0 +1,73 @@ +def printReactionWithAAM(e, m, *, withH=False, withDuplicates=False): + # interface constraints + assert e, "The hyperedge must be non-null." + assert not withDuplicates, "TODO: doesn't work yet, nag Jakob for a fix." + + dg = e.dg + # check that the library is doing what we want + assert [v.graph for v in e.sources] == list(m.domain) + assert [v.graph for v in e.targets] == list(m.codomain) + srcs = list(e.sources) + tars = list(e.targets) + d = DGPrintData(dg) + if withDuplicates: + # Make each source and target have a unique duplicate ID int he print data. + # Note: we need the duplicate numbers later for printing the extra Latex. + i = 1 + for v in e.sources: + d.reconnectSource(e, 0, v, i) + i += 1 + for v in e.targets: + d.reconnectTarget(e, 0, v, i) + i += 1 + p = DGPrinter() + p.withInlineGraphs = True # print the DG Latex where molecules are \input'ed + if withH: + p.graphPrinter.collapseHydrogens = False + p.pushEdgeVisible(lambda eCand: e == eCand) # only print our candidate edge + # Print it to get the Latex file, the actual depiction is unused. + # TODO: this is sort of a hax, MØD will be changed to directly print a DG with + # extra Latex. + fDG = dg.print(p, d) + + # write an extra Latex file with the AAM as an overlay + fName = makeUniqueFilePrefix() + "vm.tex" + with open(fName, "w") as f: + f.write("\\begin{tikzpicture}[overlay, remember picture]\n") + for vSrc in m.domain.vertices: + if not withH and vSrc.atomId == AtomIds.H: + continue + vTar = m[vSrc] + assert vTar, "Atom is being destroyed" + srcDup = 0 + tarDup = 0 + sSrc = "v-{}-{}-v-{}".format(srcs[vSrc.graphIndex].id, srcDup, vSrc.vertex.id) + sTar = "v-{}-{}-v-{}".format(tars[vTar.graphIndex].id, tarDup, vTar.vertex.id) + f.write(f"\\draw[red, dashed, ->, >=stealth'] ({sSrc}) to[bend left=10] ({sTar});\n") + f.write("\\end{tikzpicture}") + # TODO: the following is how we get the depicition, but in the future it will be + # simplified to allow direct printing of a DG with extra Latex. + # input the DG Latex in the summary inline + post.summaryInput(fDG[0][:-3] + "tex") + # and then input the AAM Latex + post.summaryInput(fName) + + +def test(): + # some semi-arbitrary example to ensure test of some specific cases + hcn = Graph.fromSMILES("C#N") + water = Graph.fromSMILES("O") + ammonia = Graph.fromSMILES("N") + res = Graph.fromSMILES("N#CC=O") + + r = Rule.fromDFS("[H]2[C]1.[C]20#[N]21.[H]31[O]30[H]32>>[C]1[C]20=[O]30.[H]2[N]21([H]31)([H]32)") + dg = DG(graphDatabase=inputGraphs) + dg.build().execute(addSubset(hcn, water) >> r) + + e = next(iter(dg.edges)) + maps = DGVertexMapper(e) + m = maps[0].map + printReactionWithAAM(e, m) + printReactionWithAAM(e, m, withH=True) + +test() diff --git a/test/py/dg/xx0_helpers.py b/test/py/dg/xx0_helpers.py index 5d37ec6..7761601 100644 --- a/test/py/dg/xx0_helpers.py +++ b/test/py/dg/xx0_helpers.py @@ -38,7 +38,7 @@ def checkDGAfterBuild(dg): dumpName2 = dg2.dump() _compareDGs(dg, dg2) - _compareFiles(dumpName, dumpName2) + _compareDumps(dumpName, dumpName2) class BuilderHook: diff --git a/test/py/graph/010_basic_loading.py b/test/py/graph/010_basic_loading.py index 5b65484..6f1c804 100644 --- a/test/py/graph/010_basic_loading.py +++ b/test/py/graph/010_basic_loading.py @@ -29,6 +29,10 @@ def makeList(a): check(Graph.fromGMLString, dataGML) assert Graph.fromGMLString == graphGMLString +fail(lambda: Graph.fromGMLString("graph []"), + "the graph is empty.", err=InputError, isSubstring=True) + + check(Graph.fromGMLFile, fGML) assert Graph.fromGMLFile == graphGML fail(lambda: Graph.fromGMLFile("doesNotExist.gml"), @@ -39,6 +43,20 @@ def makeList(a): fail(lambda: Graph.fromGMLFileMulti("doesNotExist.gml"), "Could not open GML file ", err=InputError, isSubstring=True) +assert Graph.fromGMLStringMulti("graph []") == [] + +# Stereo warnings +p = '''graph [ + node [ id 0 label "H" stereo "any" ] + node [ id 1 label "O" ] + edge [ source 0 target 1 label "-" ] +]''' +print("GML: With stereo warnings:") +Graph.fromGMLString(p) +print("GML: Without stereo warnings:") +Graph.fromGMLString(p, printStereoWarnings=False) +print("GML: End of stereo warning test") + ############################################################################### dataDFS = "C" @@ -55,6 +73,13 @@ def makeList(a): check(Graph.fromSMILESMulti, dataSMILES) +p = "O[C@@H](O)[O]" +print("SMILES: With stereo warnings:") +Graph.fromSMILES(p) +print("SMILES: Without stereo warnings:") +Graph.fromSMILES(p, printStereoWarnings=False) +print("SMILES: End of stereo warning test") + ############################################################################### dataMOL = """\n\n\n 1 0 0 0 0 0 0 0 0 0999 V3000 diff --git a/test/py/graph/030_smiles/mass/doOBabelTests.sh b/test/py/graph/030_smiles/mass/doOBabelTests.sh index de9f3fe..44c136c 100755 --- a/test/py/graph/030_smiles/mass/doOBabelTests.sh +++ b/test/py/graph/030_smiles/mass/doOBabelTests.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/usr/bin/env bash # This script is based on the cansmiles_shuffle.sh script in Open Babels test suite niter=${1:-20} diff --git a/test/py/graph/030_smiles/mass/problematic.py b/test/py/graph/030_smiles/mass/problematic.py index 01c2893..5865551 100644 --- a/test/py/graph/030_smiles/mass/problematic.py +++ b/test/py/graph/030_smiles/mass/problematic.py @@ -1,23 +1,23 @@ post.disableInvokeMake() -smiles("C(C1C(C=O)=C(C)C=1(CO))") -smiles("CC1=CC(C)=C1(O)") -smiles(R"CN(C)C1=NC(=C2C=CC=C12)N(C)C") -smiles(R"CC12=C3(C)[Ru+]456789%101(C1=C5C8(=C6C4=C71N)N)C2(C)C%10(=C39C)C") -smiles(R"CC12=C3(C)[Ru+]456789%101(C1=C7(N)C4=C6C8(=C51)N)C2(C)C%10(=C39C)C") -smiles(R"CC1=C(CC2=C(C)N=S(=O)(O)N=C2C)C(=NS(=O)(=N1)O)C") -smiles(R"CCCCCCCCCCCCCCCCCCOc1ccc2C3=NC4=NC(=NC5=NC(=NC6=NC(=NC(=N3)c2c1)c1cc(OCCCCCCCCCCCCCCCCCC)ccc61)c1ccc(OCCCCCCCCCCCCCCCCCC)cc51)c1cc(OCCCCCCCCCCCCCCCCCC)ccc41") -smiles(R"c1ccc(cc1)C1=C2C=CC3=C(c4ccccc4)C4=[N+]5C(=C(c6ccccc6)C6=CC=C7C(=C8C=CC1=[N+]8[Zn@@+2]5([NH+]67)[NH+]23)c1cc[n+](cc1)[Pt+2]([n+]1ccc(cc1)C1=C2C=CC3=[N+]2[Zn@@+2]25[NH+]6C1=CC=C6C(=C1C=CC(=[N+]51)C(=C1C=CC(=C3c3ccccc3)[NH+]21)c1ccccc1)c1ccccc1)([n+]1ccc(cc1)C1=C2C=CC3=C(c5ccccc5)C5=[N+]6C(=C(c7ccccc7)C7=CC=C8C(=C9C=CC1=[N+]9[Zn@+2]6([NH+]23)[NH+]78)c1ccccc1)C=C5)[n+]1ccc(cc1)C1=C2C=CC3=C(c5ccccc5)C5=[N+]6C(=C(c7ccccc7)C7=CC=C8C(=C9C=CC1=[N+]9[Zn@+2]6([NH+]23)[NH+]78)c1ccccc1)C=C5)C=C4") -smiles(R"c1ccc(cc1)C1=C2C=CC3=C(c4ccccc4)C4=[N+]5C(=C(c6ccccc6)C6=CC=C7C(=C8C=CC1=[N+]8[Zn@@+2]5([NH+]67)[NH+]23)c1cc[n+](cc1)[Pt@@+2]([n+]1ccc(cc1)C1=C2C=CC3=[N+]2[Zn@@+2]25[NH+]6C1=CC=C6C(=C1C=CC(=[N+]51)C(=C1C=CC(=C3c3ccccc3)[NH+]21)c1ccccc1)c1ccccc1)([n+]1ccc(cc1)C1=C2C=CC3=C(c5ccccc5)C5=[N+]6C(=C(c7ccccc7)C7=CC=C8C(=C9C=CC1=[N+]9[Zn@+2]6([NH+]23)[NH+]78)c1ccccc1)C=C5)[n+]1ccc(cc1)C1=C2C=CC3=C(c5ccccc5)C5=[N+]6C(=C(c7ccccc7)C7=CC=C8C(=C9C=CC1=[N+]9[Zn@+2]6([NH+]23)[NH+]78)c1ccccc1)C=C5)C=C4") -smiles(R"NC1=C(/N=N/c2ccc(cc2)[N+](=O)[O-])C(=N[S@](=O)(=N1)O)N") -smiles(R"NC1=N[S@](=O)(=NC(=C1/N=N/c1ccc(cc1)[N+](=O)[O-])N)O") -smiles(R"[O+]#C[Cr]12345(C#[O+])(C#[O+])C6=C1C3(=C5(N)C4(=C26)C)C") -smiles(R"C1C23=C4(C5=C6C7=C2[Ru+2]34567)C23=C4C5=C6C7=C13[Ru+2]24567") -smiles(R"C1C23=C4C5=C6C7=C3([Ru+2]24567)C23=C41C1=C5C6=C2[Ru+2]34156") -smiles(R"c1ccc2C3=NC4=NC(=NC5=NC(=NC6=NC(=NC(=N3)c2c1)c1ccccc61)c1ccccc51)c1ccccc41") +smiles("C(C1C(C=O)=C(C)C=1(CO))", printStereoWarnings=False) +smiles("CC1=CC(C)=C1(O)", printStereoWarnings=False) +smiles(R"CN(C)C1=NC(=C2C=CC=C12)N(C)C", printStereoWarnings=False) +smiles(R"CC12=C3(C)[Ru+]456789%101(C1=C5C8(=C6C4=C71N)N)C2(C)C%10(=C39C)C", printStereoWarnings=False) +smiles(R"CC12=C3(C)[Ru+]456789%101(C1=C7(N)C4=C6C8(=C51)N)C2(C)C%10(=C39C)C", printStereoWarnings=False) +smiles(R"CC1=C(CC2=C(C)N=S(=O)(O)N=C2C)C(=NS(=O)(=N1)O)C", printStereoWarnings=False) +smiles(R"CCCCCCCCCCCCCCCCCCOc1ccc2C3=NC4=NC(=NC5=NC(=NC6=NC(=NC(=N3)c2c1)c1cc(OCCCCCCCCCCCCCCCCCC)ccc61)c1ccc(OCCCCCCCCCCCCCCCCCC)cc51)c1cc(OCCCCCCCCCCCCCCCCCC)ccc41", printStereoWarnings=False) +smiles(R"c1ccc(cc1)C1=C2C=CC3=C(c4ccccc4)C4=[N+]5C(=C(c6ccccc6)C6=CC=C7C(=C8C=CC1=[N+]8[Zn@@+2]5([NH+]67)[NH+]23)c1cc[n+](cc1)[Pt+2]([n+]1ccc(cc1)C1=C2C=CC3=[N+]2[Zn@@+2]25[NH+]6C1=CC=C6C(=C1C=CC(=[N+]51)C(=C1C=CC(=C3c3ccccc3)[NH+]21)c1ccccc1)c1ccccc1)([n+]1ccc(cc1)C1=C2C=CC3=C(c5ccccc5)C5=[N+]6C(=C(c7ccccc7)C7=CC=C8C(=C9C=CC1=[N+]9[Zn@+2]6([NH+]23)[NH+]78)c1ccccc1)C=C5)[n+]1ccc(cc1)C1=C2C=CC3=C(c5ccccc5)C5=[N+]6C(=C(c7ccccc7)C7=CC=C8C(=C9C=CC1=[N+]9[Zn@+2]6([NH+]23)[NH+]78)c1ccccc1)C=C5)C=C4", printStereoWarnings=False) +smiles(R"c1ccc(cc1)C1=C2C=CC3=C(c4ccccc4)C4=[N+]5C(=C(c6ccccc6)C6=CC=C7C(=C8C=CC1=[N+]8[Zn@@+2]5([NH+]67)[NH+]23)c1cc[n+](cc1)[Pt@@+2]([n+]1ccc(cc1)C1=C2C=CC3=[N+]2[Zn@@+2]25[NH+]6C1=CC=C6C(=C1C=CC(=[N+]51)C(=C1C=CC(=C3c3ccccc3)[NH+]21)c1ccccc1)c1ccccc1)([n+]1ccc(cc1)C1=C2C=CC3=C(c5ccccc5)C5=[N+]6C(=C(c7ccccc7)C7=CC=C8C(=C9C=CC1=[N+]9[Zn@+2]6([NH+]23)[NH+]78)c1ccccc1)C=C5)[n+]1ccc(cc1)C1=C2C=CC3=C(c5ccccc5)C5=[N+]6C(=C(c7ccccc7)C7=CC=C8C(=C9C=CC1=[N+]9[Zn@+2]6([NH+]23)[NH+]78)c1ccccc1)C=C5)C=C4", printStereoWarnings=False) +smiles(R"NC1=C(/N=N/c2ccc(cc2)[N+](=O)[O-])C(=N[S@](=O)(=N1)O)N", printStereoWarnings=False) +smiles(R"NC1=N[S@](=O)(=NC(=C1/N=N/c1ccc(cc1)[N+](=O)[O-])N)O", printStereoWarnings=False) +smiles(R"[O+]#C[Cr]12345(C#[O+])(C#[O+])C6=C1C3(=C5(N)C4(=C26)C)C", printStereoWarnings=False) +smiles(R"C1C23=C4(C5=C6C7=C2[Ru+2]34567)C23=C4C5=C6C7=C13[Ru+2]24567", printStereoWarnings=False) +smiles(R"C1C23=C4C5=C6C7=C3([Ru+2]24567)C23=C41C1=C5C6=C2[Ru+2]34156", printStereoWarnings=False) +smiles(R"c1ccc2C3=NC4=NC(=NC5=NC(=NC6=NC(=NC(=N3)c2c1)c1ccccc61)c1ccccc51)c1ccccc41", printStereoWarnings=False) graphLike = GraphPrinter() molLike = GraphPrinter() graphLike.withIndex = True graphLike.collapseHydrogens = True molLike.setMolDefault() molLike.withIndex = True -#for a in inputGraphs: a.print(graphLike, molLike) +#for a in inputGraphs: a.print(graphLike, molLike, printStereoWarnings=False) diff --git a/test/py/graph/030_smiles/mass/rhea.py b/test/py/graph/030_smiles/mass/rhea.py index 00a5e9c..46048e7 100644 --- a/test/py/graph/030_smiles/mass/rhea.py +++ b/test/py/graph/030_smiles/mass/rhea.py @@ -1,4305 +1,4305 @@ post.disableInvokeMake() -smiles(R"[Ag+]") -smiles(R"[As](=O)([O-])(C)C") -smiles(R"[Br-]") -smiles(R"C") -smiles(R"[C@@]123[C@]4(C2)[C@@H](CC[C@H]1[C@]1([C@](CC3)([C@H](CC1)[C@@H](CCC(=C)C(C)C)C)C)C)[C@@H]([C@H](CC4)O)C") -smiles(R"[C@@]123[C@]4(C2)[C@H](C([C@H](CC4)O)(C)C)CC[C@H]1[C@]1([C@](CC3)([C@H](CC1)C(CCC=C(C)C)C)C)C") -smiles(R"[C@@]123c4c5O[C@H]2[C@H](C=C[C@H]1[C@@H](Cc4ccc5OC)[NH+](CC3)C)O") -smiles(R"[C@]123[C@]4([C@@H]([C@]56[C@@H](CC4=O)C(O[C@H]5CC(=O)OC6)(C)C)CC[C@]2([C@@H](OC(=O)[C@H]1O3)c1ccoc1)C)C") -smiles(R"[C@]123C(=C(C[C@]4([C@@H]1[NH+](CC3)CC=C4)CC)C(=O)OC)Nc1c2ccc(c1)O") -smiles(R"[C@]123C(=C(C[C@]4([C@@H]1[NH+](CC3)CC=C4)CC)C(=O)OC)Nc1c2ccc(c1)OC") -smiles(R"[C@]123[C@](CCCC1(C)C)(CC=C([C@H]2C3)C)C") -smiles(R"[C@]123[C@]([C@@H](/C(=C/C4=N/C(=C\c5[nH]c(Cc6[nH]c([C@]1(C)O)c(c6CCC(=O)[O-])CC(=O)[O-])c(c5CC(=O)[O-])CCC(=O)[O-])/[C@H]([C@@]4(CC(=O)[O-])C)CCC(=O)[O-])/N2)CCC(=O)[O-])(CC(=O)O3)C") -smiles(R"[C@]123[C@@H]4C(=O)C=C[C@H]1[C@@H](Cc1c2c(O4)c(cc1)O)[NH+](CC3)C") -smiles(R"[C@@]123[C@H]([C@]4([C@H](CC2)[C@](CCC4)(C)C=O)C)CC[C@@H](C1)C(=C)C3") -smiles(R"[C@@]123[C@H]([C@]4([C@H](CC2)[C@](CCC4)(C)CO)C)CC[C@@H](C1)C(=C)C3") -smiles(R"[C@]123[C@@H](C(C(=C)[C@@H](C1)CC3)(C)C)CC[C@H]2C") -smiles(R"[C@@]123[C@H](C([C@@H](CC1)O3)(C)C)CC[C@H]1[C@]2(CC[C@@]2([C@@]1(CC[C@](C2)(CCC=C(C)C)C)C)C)C") -smiles(R"[C@]123[C@@H](Nc4c2ccc(c4)OC)[C@](C[C@]2([C@@H]1[NH+](CC3)CC=C2)CC)(C(=O)OC)O") -smiles(R"[C@@]123[C@@H](N(c4c2ccc(c4)OC)C)[C@](C[C@]2([C@@H]1[NH+](CC3)CC=C2)CC)(C(=O)OC)O") -smiles(R"[C@@]123[C@@H](N(c4c2ccc(c4)OC)C)[C@]([C@@H]([C@]2([C@@H]1[NH+](CC3)CC=C2)CC)OC(=O)C)(C(=O)OC)O") -smiles(R"[C@@]123[C@@H](N(c4c2ccc(c4)OC)C)[C@]([C@@H]([C@]2([C@@H]1[NH+](CC3)CC=C2)CC)O)(C(=O)OC)O") -smiles(R"[C@@]123[C@@H](N(c4c2ccc(c4)O)C)[C@]([C@@H]([C@]2([C@@H]1[NH+](CC3)CC=C2)CC)O)(C(=O)OC)O") -smiles(R"c12c3c4c5c6c1[C@]1(O[C@H]7c2c(c(c3C(=O)C[C@@]4(O[C@H]2c5c(c(c6C(=O)C1)O)[C@H](O[C@@H]2C)C)O)O)[C@H](O[C@@H]7C)C)O") -smiles(R"c12c3c4c(c(c2[O-])C)O[C@](O/C=C/[C@@H]([C@H](C)[C@@H](OC(=O)C)[C@@H](C)[C@H](O)[C@H](C)[C@@H](O)[C@H](/C=C/C=C(\C(=O)Nc(c(/C=N/N2CC[NH+](CC2)C)c3O)c1O)/C)C)OC)(C4=O)C") -smiles(R"c12=C3C4=NC(=Cc5n6c(c(c5C)C=C)C=C5N=C(C=c(n1[Mg]6)c(c2C(=O)[C-]3C(=O)OC)C)C(=C5C)C=C)C(=C4CCC(=O)[O-])C") -smiles(R"c12c3c4O[C@@](C3=O)(O/C=C/[C@@H]([C@@H]([C@H]([C@H]([C@@H]([C@@H]([C@H]([C@H](/C=C/C=C(\C(=O)Nc(c(c1c(c4C)[O-])O)cc2OCC(=O)[O-])/C)C)O)C)O)C)OC(=O)C)C)OC)C") -smiles(R"c12c3c(c4c(c1c1c([nH]2)c(Cl)ccc1)c(=O)[nH]c4=O)c1c(n3[C@H]2[C@@H]([C@H]([C@@H]([C@H](O2)CO)OC)O)O)c(Cl)ccc1") -smiles(R"c12c3c(c4c(c1c1c([nH]2)c(Cl)ccc1)c(=O)[nH]c4=O)c1c(n3[C@H]2[C@@H]([C@H]([C@@H]([C@H](O2)CO)O)O)O)c(Cl)ccc1") -smiles(R"c12c3c(c4c(c1c1c([nH]2)c(Cl)ccc1)c(=O)[nH]c4=O)c1c([nH]3)c(Cl)ccc1") -smiles(R"[C@@]12(C3=C([C@@]4(C(CC3)[C@@H]([C@H](CC4)O)C)C)CC[C@@]1([C@H](CC2)[C@@H](CCC(=C)C(C)C)C)C)C") -smiles(R"c12c3c(c4c(c(=O)o3)C(=O)CC4)c(cc2O[C@@H]2[C@H]1C=CO2)OC") -smiles(R"c12c3c(c4c(c(=O)o3)C(=O)CC4)c(cc2O[C@@H]2[C@H]1CCO2)OC") -smiles(R"c12C3(C=C4C(=O)c2c(c(c2c1C(=O)[C@](O2)(O/C=C/[C@@H]([C@@H]([C@H]([C@H]([C@@H]([C@@H]([C@H]([C@H](/C=C/C=C(\C(=O)N4)/C)C)O)C)O)C)OC(=O)C)C)OC)C)C)O)OC(=O)CO3") -smiles(R"[C@]12(C3(CC([C@@]1(CCC2)C)C(=CC3)C)C)C") -smiles(R"c12c3c(Cc1cc(cc2)N(C(=O)C)O)cccc3") -smiles(R"c12c3c(C(c1cccc2)O)cccc3") -smiles(R"c12c3c(ccc1cccc2)ccc(c3O)O") -smiles(R"c12c3c(ccc1C[C@@H]1[C@H]4[C@@]2([C@@H](O3)[C@H](C=C4)O)CC[NH+]1C)O") -smiles(R"c12c3c(ccc1CC(=O)c1c(CCN(C2)C)cc2c(c1)OCO2)OCO3") -smiles(R"c12c3c(ccc1CC(=O)c1c(CC(N(C2)C)O)cc2c(c1)OCO2)OCO3") -smiles(R"c12c3cccc1[C@@H]1[C@@H](Cc2c([nH]3)C(C=C)(C)C)[NH+](C[C@@H]([C@@H]1OC(=O)C)C)C") -smiles(R"c12c3cccc1[C@@H]1[C@@H](Cc2c[nH]3)[NH+](C[C@@H]([C@@H]1O)C)C") -smiles(R"c12c3cccc1[C@@H]1[C@@H](Cc2c[nH]3)[NH+](C[C@@H]([C@@H]1OC(=O)C)C)C") -smiles(R"c12c3c(c(cc1O[C@@H]1[C@H]2C=CO1)OC)c(=O)c1c(o3)cccc1OC") -smiles(R"c12c3c(ccc(c3)C[C@H]3C(=O)N[C@@H](Cc(c2)ccc1O)C(=O)N3)O") -smiles(R"c12c3c(cc(c(c3)O)OC)CC[n+]1cc1c(c2)ccc(c1OC)OC") -smiles(R"C12(C3=C([C@](C(=N3)Cc3c(c(c([nH]3)CC3=C([C@@](C(=N3)/C=C(\N2)/[C@H]([C@@]1(CC(=O)[O-])C)CCC(=O)[O-])(CC(=O)[O-])C)CCC(=O)[O-])CC(=O)[O-])CCC(=O)[O-])(CCC(=O)[O-])C)CC(=O)[O-])C(=O)C") -smiles(R"[C@@]12(C3=C([C@](C(=N3)CC3=N[C@](C(=C3CCC(=O)[O-])CC(=O)[O-])(CC3=C([C@@](C(=N3)/C=C(\N2)/[C@H]([C@@]1(CC(=O)[O-])C)CCC(=O)[O-])(CC(=O)[O-])C)CCC(=O)[O-])C)(CCC(=O)[O-])C)CC(=O)[O-])C") -smiles(R"C12(C3=C([C@](C(=N3)CC3=N[C@](C(=C3CCC(=O)[O-])CC(=O)[O-])(CC3=C([C@@](C(=N3)/C=C(\N2)/[C@H]([C@@]1(CC(=O)[O-])C)CCC(=O)[O-])(CC(=O)[O-])C)CCC(=O)[O-])C)(CCC(=O)[O-])C)CC(=O)[O-])C(=O)C") -smiles(R"c12c3c([C@@H]4[C@H]([NH+](CC(=C4)C)C)C1)cccc3[nH]c2") -smiles(R"c12c3c(C(=O)c1cccc2)cccc3") -smiles(R"[C@@]12([C@]3([C@@H]([C@]45[C@@H](CC3=O)C(O[C@H]4CC(=O)OC5)(C)C)CC[C@@]1(C)[C@H](c1ccoc1)O[C@@H]1O[C@H](CO)[C@H]([C@H](O)[C@H]1O)O)C)[C@H](O2)C(=O)[O-]") -smiles(R"[C@@]12([C@]3([C@@H]([C@@]4([C@@H](CC3=O)C(O[C@H]4CC(=O)[O-])(C)C)CO)CC[C@]1([C@H](c1ccoc1)O)C)C)[C@H](O2)C(=O)[O-]") -smiles(R"[C@@]12([C@]3([C@@H]([C@@]4([C@H](C([C@H](CC4)O)(C)C)CC3)C)CC[C@@H]1[C@H]1[C@H](C(=C)C)CC[C@@]1(CC2)C)C)C") -smiles(R"[C@@]12([C@]3([C@@H]([C@@]4([C@H](C([C@H](CC4)O)(C)C)CC3)C)CC[C@@H]1[C@H]1[C@H](C(O)(C)C)CC[C@@]1(CC2)C)C)C") -smiles(R"[C@@]12([C@]3([C@H](CC[C@@H]1[C@@]1([C@@H](CC2)C(CCC1)(C)C)C)[C@H](CC3)C(=C)CCC=C(C)C)C)C") -smiles(R"[C@@]12([C@@]3([C@H]([C@H](CC1)C)C[C@H](C2(C)C)CC3)C)O") -smiles(R"C12(C3(Cl)C4(C5(Cl)C3(Cl)C(Cl)(Cl)C2(Cl)C5(Cl)C1(Cl)C4=O)Cl)Cl") -smiles(R"C12(C3(Cl)C4(C5(Cl)C3(Cl)C(Cl)(Cl)C2(Cl)C5(Cl)C1(Cl)C4O)Cl)Cl") -smiles(R"c12c3c(nc(cc3O)C(=O)[O-])c(=O)cc1oc1c(n2)c(C(=O)CC(C(=O)[O-])[NH3+])ccc1") -smiles(R"c12c3c(O[C@@H]4[C@H]3CCO4)cc(c1c(=O)c1c(o2)cccc1OC)OC") -smiles(R"c12c3c(O[C@@H]4[C@H]3C=CO4)cc(c1c(=O)c1c(o2)cccc1O)OC") -smiles(R"c12c3c(O[C@@H]4[C@H]3CCO4)cc(c1c(=O)c1c(o2)cccc1O)OC") -smiles(R"c12c3c(sc1C=C[C@@H]([C@@H]2O)O)cccc3") -smiles(R"C12C(C1(C)C)/C=C(/CC/C=C(/CC/C=C(/CC2)\C)\C)\C") -smiles(R"C12CC2(CCC1(C)O)C(C)C") -smiles(R"c12c(c3c4c5c1c1c(cccc1)n5[C@]1(O[C@@H](n4c4c3cccc4)C[C@@H]([NH2+]C)[C@H]1OC)C)C(=O)NC2") -smiles(R"c12c(c3c4c5c1c1c(cccc1)n5[C@]1(O[C@@H](n4c4c3cccc4)C[C@@H]([NH2+]C)[C@H]1O)C)C(=O)NC2") -smiles(R"C12(C(C3CC2C1C3)(C)C)C") -smiles(R"c12c(c3c(c(c1ccc(=O)o2)O)cco3)OC") -smiles(R"c12cc3c(cc1C[C@H](O2)C(C)(C)O)ccc(=O)o3") -smiles(R"[C@]12(C(=C3[C@@](CC2)(CCC(C3)(C)C)C)CC[C@H]2[C@]1(CC[C@@H]1[C@@]2(CC[C@@H](C1(C)C)O)C)C)C") -smiles(R"c12c([C@]3(C(=CC(=C(C3=O)C(=O)C)[O-])O1)C)c(c(c(c2C(=O)C)O)C)[O-]") -smiles(R"C12C(c3c(O2)cc(cc3)OC)COc2c1ccc(c2)O") -smiles(R"c12C=C3[N+]4=C(C5=c6n7c(=CC8=[N+]9C(=Cc(c(c1C)C=C)n2[Mg-2]479)C(=C8CC)C)c(C)c6C(=O)[C@@H]5C(=O)OC)[C@@H](CCC(=O)OC/C=C(/CCC[C@@H](CCC[C@@H](CCCC(C)C)C)C)\C)[C@@H]3C") -smiles(R"C12=CC3=[N+]4C(=C([C@@]3(CC(=O)[O-])C)CCC(=O)[O-])C[C@]3(C(=C(C5=CC6=[N+]7C(=C([C@]6(CCC(=O)[O-])C)CC(=O)[O-])C6(N2[Co-2]47N35)[C@]([C@@H]1CCC(=O)[O-])(CC(=O)OC6C)C)CCC(=O)[O-])CC(=O)[O-])C") -smiles(R"C12=CC3=[N+]4C(=C([C@@]3(CC(=O)[O-])C)CCC(=O)[O-])C[C@]3(C(=C(C5=CC6=[N+]7C(=C(N2[Co-2]47N35)[C@]([C@@H]1CCC(=O)[O-])(CC(=O)[O-])C)[C@@H]([C@]6(CCC(=O)[O-])C)CC(=O)[O-])CCC(=O)[O-])CC(=O)[O-])C") -smiles(R"C12=CC3=[N+]4C(=C([C@@]3(CC(=O)[O-])C)CCC(=O)[O-])C[C@]3(C(=C(C5=[N+]3[Co-2]34N2[C@]([C@]([C@@H]1CCC(=O)[O-])(CC(=O)[O-])C)(C1=C([C@](C(=[N+]31)C5)(CCC(=O)[O-])C)CC(=O)[O-])C)CCC(=O)[O-])CC(=O)[O-])C") -smiles(R"C12=CC3=[N+]4C(=C([C@@]3(CC(=O)[O-])C)CCC(=O)[O-])C[C@]3(C(=C(C5=[N+]3[Co-2]34N2[C@]([C@]([C@@H]1CCC(=O)[O-])(CC(=O)[O-])C)([C@H]1[C@@H]([C@](C(=[N+]31)C5C)(CCC(=O)[O-])C)CC(=O)[O-])C)CCC(=O)[O-])C)C") -smiles(R"C12=C(C3=[N+]4C(=C([C@@]3(CC(=O)[O-])C)CCC(=O)[O-])C[C@]3(C(=C(C5=[N+]3[Co-2]34N2[C@]([C@]([C@@H]1CCC(=O)[O-])(CC(=O)[O-])C)([C@H]1[C@@H]([C@](C(=[N+]31)C5C)(CCC(=O)[O-])C)CC(=O)[O-])C)CCC(=O)[O-])C)C)C") -smiles(R"C12=CC3=[N+]4C(=C([C@@]3(CC(=O)[O-])C)CCC(=O)[O-])C[C@]3(C(=C(C5=[N+]3[Co-2]34N2[C@]([C@]([C@@H]1CCC(=O)[O-])(CC(=O)[O-])C)([C@H]1[C@@H]([C@](C(=[N+]31)C5)(CCC(=O)[O-])C)CC(=O)[O-])C)CCC(=O)[O-])CC(=O)[O-])C") -smiles(R"C12=CC3=[N+]4C(=Cc5c(c(c6n5[Co-2]54N2C2([C@]([C@@H]1CCC(=O)[O-])(CC(=O)OC2C)C)C1=C([C@](C(=[N+]51)C6)(CCC(=O)[O-])C)CC(=O)[O-])CCC(=O)[O-])CC(=O)[O-])[C@H]([C@@]3(CC(=O)[O-])C)CCC(=O)[O-]") -smiles(R"c12C=C3[N+]4=C(C=c5n6c(=CC7=[N+]8C(=Cc(c(c1C)C=C)n2[Fe-2]468)C(=C7C=C)C)c(C)c5CCC(=O)[O-])C(=C3C)CCC(=O)[O-]") -smiles(R"c12C=c3n4c(C=c5n6c(=Cc7n8c(=Cc(c(c1C)C=C)n2[Mg]468)c(C)c7C=C)c(C)c5CCC(=O)[O-])c(c3C)CCC(=O)[O-]") -smiles(R"c12C=c3n4c(C=c5n6c(=Cc7n8c(=Cc(c(c1C)C=C)n2[Mg]468)c(C)c7C=C)c(C)c5CCC(=O)OC)c(c3C)CCC(=O)[O-]") -smiles(R"c12C=c3n4c(C=c5n6c(=Cc7n8c(=Cc(c(c1C)C=C)n2[Mg]468)c(C)c7C=C)c(C)c5CCC(=O)OC)c(c3C)CCC(=O)O") -smiles(R"c12C=c3n4c(C=c5n6c(=Cc7n8c(=Cc(c(c1C)C=C)n2[Mg]468)c(C)c7C=C)c(C)c5C(CC(=O)OC)O)c(c3C)CCC(=O)O") -smiles(R"c12C=c3n4c(C=c5n6c(=Cc7n8c(=Cc(c(c1C)C=C)n2[Mg]468)c(C)c7C=C)c(C)c5C(=O)CC(=O)OC)c(c3C)CCC(=O)O") -smiles(R"C12=C(C3=[N+]4C(=CC5=[N+]6C(=C(C7=[N+]8[C@]([C@@]([C@@H]7CCC(=O)N)(C)CC(=O)N)([C@@H]7N1[Co-3]468([n+]1c4cc(C)c(cc4n(c1)[C@H]1O[C@H](CO)[C@H]([C@H]1O)OP(=O)([O-])OC(CNC(=O)CC[C@@]2([C@H]7CC(=O)N)C)C)C)C#N)C)C)[C@@]([C@@H]5CCC(=O)N)(C)CC(=O)N)C([C@@H]3CCC(=O)N)(C)C)C") -smiles(R"c12=CC3=[N+]4C(=Cc5n6c(C=C7[N+]8=C(C=c(n2[Fe-2]468)c(c1C)[C@H](CC/C=C(\C)/CC/C=C(/CCC=C(C)C)\C)O)C(=C7C=C)C)c(C)c5CCC(=O)[O-])C(=C3C)CCC(=O)[O-]") -smiles(R"C12=C(C3=[N+]4C(=CC5=[N+]6C(=C(C7=[N+]8[C@]([C@@H]9N1[Co-3]468([n+]1c4cc(C)c(cc4n(c1)[C@H]1O[C@H](CO)[C@H]([C@H]1O)OP(=O)(O[C@@H](CNC(=O)CC[C@]2(C)[C@H]9CC(=O)N)C)[O-])C)[OH2+])(C)[C@]([C@@H]7CCC(=O)N)(CC(=O)N)C)C)[C@@]([C@@H]5CCC(=O)N)(C)CC(=O)N)C([C@@H]3CCC(=O)N)(C)C)C") -smiles(R"C12=C(C3=[N+]4C(=CC5=[N+]6C(=C(C7=[N+]8[Co-2]946N1[C@@H]([C@@]8(C)[C@]([C@@H]7CCC(=O)N)(CC(=O)N)C)[C@H](CC(=O)N)[C@@]2(C)CCC(=O)NC[C@H](OP(=O)(O[C@@H]1[C@H](O[C@H](n2c[n+]9c4cc(C)c(cc24)C)[C@@H]1O)CO)[O-])C)C)[C@](C)([C@@H]5CCC(=O)N)CC(=O)N)C([C@@H]3CCC(=O)N)(C)C)C") -smiles(R"C12=C(C3=[N+]4C(=CC5=[N+]6C(=C(C7=[N+]8[Co-3]946N1[C@@H]([C@@]8(C)[C@]([C@@H]7CCC(=O)N)(CC(=O)N)C)[C@H](CC(=O)N)[C@@]2(C)CCC(=O)NC[C@H](OP(=O)(O[C@@H]1[C@H](O[C@H](n2c[n+]9c4cc(C)c(cc24)C)[C@@H]1O)CO)[O-])C)C)[C@](C)([C@@H]5CCC(=O)N)CC(=O)N)C([C@@H]3CCC(=O)N)(C)C)C") -smiles(R"C12=C(C3=[N+]4C(=CC5=[N+]6C(=C(C7=[N+]8[Co-4]946N1[C@@H]([C@@]8(C)[C@]([C@@H]7CCC(=O)N)(CC(=O)N)C)[C@H](CC(=O)N)[C@@]2(C)CCC(=O)NC[C@H](OP(=O)(O[C@@H]1[C@H](O[C@H](n2c[n+]9c4cc(C)c(cc24)C)[C@@H]1O)CO)[O-])C)C)[C@](C)([C@@H]5CCC(=O)N)CC(=O)N)C([C@@H]3CCC(=O)N)(C)C)C") -smiles(R"c12=CC3=NC(=C4c5n6c(C=C7N=C(C=c(c(c1C)C=C)n2[Mg]6)C(=C7CC)C)c(c5C(=O)[C-]4C(=O)OC)C)C(=C3C)CCC(=O)[O-]") -smiles(R"c12=CC3=NC(=C4c5n6c(C=C7N=C(C=c(c(c1C)C=C)n2[Mg]6)C(=C7C=C)C)c(c5C(=O)[C-]4C(=O)OC)C)[C@@H](CCC(=O)[O-])[C@@H]3C") -smiles(R"c12=CC3=NC(=C4c5n6c(C=C7N=C(C=c(c(c1C)C=C)n2[Mg]6)C(=C7CC)C)c(c5C(=O)[C-]4C(=O)OC)C)[C@@H](CCC(=O)[O-])[C@@H]3C") -smiles(R"c12=CC3=NC(=C4c5n6c(C=C7N=C(C=c(c(c1C)C=C)n2[Mg]6)C(=C7CC)C=O)c(c5C(=O)[C-]4C(=O)OC)C)[C@@H](CCC(=O)[O-])[C@@H]3C") -smiles(R"c12=CC3=NC(=C4c5n6c(C=C7N=C(C=c(c(c1C)C=C)n2[Mg]6)C(=C7CC)CO)c(c5C(=O)[C-]4C(=O)OC)C)[C@@H](CCC(=O)[O-])[C@@H]3C") -smiles(R"c\1/2=C/C3=N/C(=C/4\c5[nH]c(/C=C/6\N=C(/C=c(/c(c1C)C=C)\[nH]2)C(=C6CC)C)c(c5C(=O)C4)C)/[C@@H](CCC(=O)[O-])[C@@H]3C") -smiles(R"c\1/2=C/C3=N/C(=C/4\c5[nH]c(/C=C/6\N=C(/C=c(/c(c1C)C=C)\[nH]2)C(=C6CC)C)c(c5C(=O)[C@@H]4C(=O)[O-])C)/[C@@H](CCC(=O)[O-])[C@@H]3C") -smiles(R"c\1/2=C/C3=N/C(=C/4\c5[nH]c(/C=C/6\N=C(/C=c(/c(c1C)C=C)\[nH]2)C(=C6CC)C)c(C)c5C(=O)[C-]4C(=O)OC)/[C@@H](CCC(=O)[O-])[C@@H]3C") -smiles(R"C\1/2=C\C3=NC(=C([C@@]3(CC(=O)[O-])C)CCC(=O)[O-])C[C@@]3([NH+]/C(=C\C4=N[C@H]([C@H](CC(=O)[O-])[C@]4(CCC(=O)[O-])C)[C@]([NH+]1)([C@@](CC(=O)[O-])([C@@H]2CCC(=O)[O-])C)C)/C(=C3CC(=O)[O-])CCC(=O)[O-])C") -smiles(R"C\1/2=C(\C3=N/C(=C\C4=N/C(=C(\C5=N[C@H]([C@H](CC(=O)[O-])[C@]5(CCC(=O)[O-])C)[C@]([NH+]1)([C@@](CC(=O)N)([C@@H]2CCC(=O)[O-])C)C)/C)/[C@@H](CCC(=O)[O-])C4(C)C)/[C@H]([C@@]3(CC(=O)N)C)CCC(=O)[O-])/C") -smiles(R"C\1/2=C(\C3=N/C(=C\C4=N/C(=C(\C5=N[C@H]([C@H](CC(=O)[O-])[C@]5(CCC(=O)[O-])C)[C@]([NH+]1)([C@@](CC(=O)[O-])([C@@H]2CCC(=O)[O-])C)C)/C)/[C@@H](CCC(=O)[O-])C4(C)C)/[C@H]([C@@]3(CC(=O)[O-])C)CCC(=O)[O-])/C") -smiles(R"c\1/2=C/C3=N/C(=C\c4[nH]c(/C=C/5\N=C(/C=c(/c(c1C)C=C)\[nH]2)C(=C5C=C)C)c(C)c4CCC(=O)[O-])/C(=C3C)CCC(=O)[O-]") -smiles(R"C\1/2=C/C3=[NH+]C(=C([C@@]3(CC(=O)[O-])C)CCC(=O)[O-])C[C@]3(C(=C(C(=N3)C(C3=N[C@@H]([C@](N2)([C@]([C@@H]1CCC(=O)[O-])(CC(=O)[O-])C)C)[C@@H]([C@]3(CCC(=O)[O-])C)CC(=O)[O-])C)CCC(=O)[O-])C)C") -smiles(R"c12Cc3[nH]c(Cc4[nH]c(Cc5[nH]c(Cc(c(c1C)C=C)[nH]2)c(C)c5C=C)c(C)c4CCC(=O)[O-])c(c3C)CCC(=O)[O-]") -smiles(R"c12c(c(c3c(c1c(cc(n2)C(=O)[O-])C(=O)[O-])[nH]c(c3)C(=O)[O-])O)O") -smiles(R"c12c(c(c3c(c1)ccc(=O)o3)OC)occ2") -smiles(R"c12c(c(c3c(c1)oc(=O)cc3)O)cco2") -smiles(R"C12CCC3C(=C)C1(CCCC(C)(C)C23)C") -smiles(R"[C@]12(C=C([C@@]3(CC[C@H]([C@]23CCC1)C)C)C)C") -smiles(R"[C@@]12(CCC[C@@]3([C@@H]1[C@@H]([C@@]14CC(=C)C(CC[C@@H]34)C1)C(=O)[O-])OC2=O)C") -smiles(R"[C@]12(CCC[C@@]3([C@@H]1[C@@H]([C@@]14CC(=C)C(CC[C@@H]34)(C1)O)C(=O)[O-])COC2=O)C") -smiles(R"[C@]12(CCC[C@@]3([C@@H]1[C@@H]([C@@]14CC(=C)C(CC[C@@H]34)(C1)O)C(=O)OC)OC2=O)C") -smiles(R"[C@]12(CCC[C@@]3([C@@H]1[C@@H]([C@@]14CC(=C)C(CC[C@@H]34)(C1)O)C(=O)[O-])OC2=O)C") -smiles(R"[C@]12(CCC[C@@]3([C@@H]1[C@@H]([C@@]14CC(=C)[C@@H](CC[C@@H]34)C1)C(=O)OC)OC2=O)C") -smiles(R"[C@]12([C@@](CC[C@]3([C@H]4C(=CC[C@@H]13)C([C@H](CC4)O)(C)C)C)(C)[C@H](CC2)[C@@H](CCC=C(C)C)C)C") -smiles(R"c12c(cccc1)ccc(c2O)O") -smiles(R"C12C=C(CCC1=C(CCCC2(C)C)C)C") -smiles(R"C12C=C(CCC1C(=CCCC2(C)C)C)C") -smiles(R"C12C=C(CCC1C(=C)CCCC2(C)C)C") -smiles(R"[C@@]12(C(CCCC1=C)(C)C)CCC(=CC2)C") -smiles(R"c12c(cccc1CC=C(C)C)[nH]cc2C[C@@H](C(=O)[O-])[NH2+]C") -smiles(R"c12c(cccc1CC=C(C)C)[nH]cc2C[C@@H](C(=O)[O-])[NH3+]") -smiles(R"[C@@]12(C(=C(CCC1)C)C[C@@H](CC2)C(C)(C)O)C") -smiles(R"c12ccccc1c(ccn2)C") -smiles(R"c12ccccc1cc(cn2)C") -smiles(R"c12ccc(cc1cccn2)O") -smiles(R"c12cccc(c1cccn2)O") -smiles(R"c12ccccc1c(cc(=O)[nH]2)C") -smiles(R"c12ccccc1cc(c(=O)[nH]2)C") -smiles(R"c12cc(ccc1ccc(=O)[nH]2)O") -smiles(R"c12ccc(cc1ccc(=O)[nH]2)O") -smiles(R"c12cccc(c1ccc(=O)[nH]2)O") -smiles(R"c12cc(c(cc1CC[NH2+]C2Cc1ccc(c(c1)OC)O)OC)O") -smiles(R"c12c(cccc1)c(c[nH]2)CC(=O)NCCCC[C@@H](C(=O)[O-])[NH3+]") -smiles(R"c12c(cccc1)CC[NH+](C2Cc1ccccc1)C") -smiles(R"c12c(cccc1)C([NH2+]CC2)Cc1ccccc1") -smiles(R"c12c(cccc1)C(=O)CC2") -smiles(R"c12c(cccc1)N=C1[C@H]3N4[C@H]5C[C@@]21[C@@H](C5[C@H](/C(=C\C)/C4)C3)OC(=O)C") -smiles(R"c12c(cccc1)N=C1[C@H]3N4[C@H]5C[C@@]21[C@@H](C5[C@H](/C(=C\C)/[C@H]4O)C3)OC(=O)C") -smiles(R"c12c(cccc1)N=C1[C@H]3N4[C@H]5C[C@@]21[C@@H](C5[C@H](/C(=C\C)/[C@H]4O[C@@H]1O[C@@H]([C@@H](O)[C@@H]([C@H]1O)O)CO)C3)OC(=O)C") -smiles(R"c12c(cccc1)N[C@H]1[C@H]3N4[C@H]5C[C@@]21[C@@H](C5[C@H](/C(=C\C)/[C@H]4O)C3)OC(=O)C") -smiles(R"c12cc(c(cc1nc[nH]2)C)C") -smiles(R"c12ccc(cc1nc([nH]2)NC(=O)OC)SCCC") -smiles(R"c12ccc(cc1nc([nH]2)NC(=O)OC)S(=O)CCC") -smiles(R"c12c(cccc1)N(C(=O)C2=O)C(=O)C") -smiles(R"c12c(cccc1[nH]cc2C[C@H]1C(=O)/C(=C(\C)/[O-])/C(=O)N1)CC=C(C)C") -smiles(R"c12c(cc(cc1O/C(=C\c1cc(c(cc1)O)O)/C2=O)[O-])O") -smiles(R"c12c(c(c(c(c1O)C/C=C(/CCC(=O)O[C@H]1[C@@H]([C@H]([C@@H]([C@H](O1)C(=O)[O-])O)O)O)\C)OC)C)COC2=O") -smiles(R"c12c(c(c(c(c1O)C/C=C(/CCC(=O)[O-])\C)OC)C)COC2=O") -smiles(R"c12c(c(ccc1)OCC(C[NH2+]C(C)(C)C)O)CCCC2=O") -smiles(R"c12c(c(ccc1)OCC(C[NH2+]C(C)(C)C)O)CCCC2O") -smiles(R"c12c(c(cc(c1)O[C@H]1[C@@H]([C@H]([C@@H]([C@H](O1)COC(=O)CC(=O)[O-])O)O)O)O)c(=O)c(co2)c1ccc(cc1)OC") -smiles(R"c12c(c(cc(c1)O[C@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)O)c(=O)c(co2)c1ccc(cc1)OC") -smiles(R"c12c(cc(cc1O[C@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)[O-])[o+]c(c(c2)O[C@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO[C@H]1[C@@H]([C@@H]([C@H]([C@@H](O1)C)O)O)O)O)O)O)c1ccc(cc1)O") -smiles(R"c12c(cc(cc1O[C@@H](CC2=O)c1ccc(cc1)O)[O-])O") -smiles(R"c12c(c(cc(c1O)C)O)cccc2") -smiles(R"c12c(cc(c(c1)OC)OC)[C@@H]1N(CC2)Cc2c([C@@H]1C)ccc(c2OC)OC") -smiles(R"c12c(ccc(c1)O)c(=O)c(co2)c1ccc(cc1)OC") -smiles(R"c12c(c(cc(c1)OC)O)C(=O)OC(C2)C") -smiles(R"c12c(ccc(c1)O)[nH]cc2CCNC(=O)C") -smiles(R"c12c(ccc(c1)O)[nH]cc2CC=O") -smiles(R"c12c(ccc(c1O)O)ccc(=O)o2") -smiles(R"c12c(cc(cc1)O)OC[C@H](C2=O)c1c(cc(cc1)OC)O") -smiles(R"c12c(cc(cc1)O)OC[C@H](C2O)c1c(cc(cc1)OC)O") -smiles(R"c12c(cc(cc1)O)OC[C@H]([C@H]2O)c1c(cc(cc1)OC)O") -smiles(R"c12c(ccc(c1O)O[C@@H]1O[C@@H]([C@H]([C@@H]([C@H]1O)O)O)CO)ccc(=O)o2") -smiles(R"c12c(c(cc(c1)O)O)C(=O)CC(C2)O") -smiles(R"c12c(c(cc(c1)O)O)C(=O)O[C@@H](C2)C") -smiles(R"c12c(cc(c(c1)O)O)[nH]cc2") -smiles(R"c12c(cc(cc1[O-])O)[o+]c(c(c2)O[C@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO[C@H]1[C@@H]([C@@H]([C@H]([C@@H](O1)C)O)O)O)O)O)O)c1ccc(cc1)O") -smiles(R"c12c(cc(cc1O)O)O[C@@H]([C@H]([C@H]2O)O)c1ccc(O)c(c1)O") -smiles(R"c12c(cc(cc1)O)sc(n2)C1=N[C@H](CS1)C(=O)[O-]") -smiles(R"c12c(cccc2)CCC1O") -smiles(R"c12c(cccc2C)cccn1") -smiles(R"c12c(cccc2C)ccc(=O)[nH]1") -smiles(R"c12c(cccc2Cl)cccn1") -smiles(R"c12c(cccc2Cl)ccc(=O)[nH]1") -smiles(R"c12c(cccc2)[nH]cc1O") -smiles(R"c12c(cccc2O)cccn1") -smiles(R"c12c(cccc2O)ccc(=O)[nH]1") -smiles(R"c12c(c(c(c(c2)[O-])[C@@H]2O[C@@H]([C@H]([C@@H]([C@H]2O)O)O)CO)O)c(=O)cc(o1)c1cc(c(cc1)O)OC") -smiles(R"c12c(c(c(cc2O)[O-])CC=C(C)C)OCC(C1=O)c1c(cc(cc1)O)O") -smiles(R"c12c(c(c(cc2O)O)CCC(C)(C)O)OCC(C1=O)c1ccc(cc1O)O") -smiles(R"c12c(cc(c(c2)O)OC)CC[NH2+]C1Cc1cc(c(cc1)O)O") -smiles(R"C12(C(C(=C)CCC1)C=C(CC2)C(C)C)C") -smiles(R"C12=CC(=C(C)C)CC[C@@H]2[C@@]2([C@@H](CC1)C(CCC2)(C)C)C") -smiles(R"C12[C@](CCC[C@@H]1C)(C)CCC=C2") -smiles(R"[C@]12(CCC[C@@]([C@H]1[C@@H]([C@@]13CC(=C)C(CC[C@@H]23)(C1)O)C(=O)[O-])(C)C(=O)[O-])C=O") -smiles(R"C12=CCC(=C[C@@H]1[C@H](CC[C@@H]2C)C(C)C)C") -smiles(R"C12=CC(=CC[C@@H]2[C@@]2([C@@H](CC1)C(CCC2)(C)C)C)C(C)C") -smiles(R"c12c(c(CCC(=O)[O-])c([nH]2)Cc2c(c(c([nH]2)Cc2[nH]c(Cc3[nH]c(C1)c(c3CCC(=O)[O-])C)c(c2CCC(=O)[O-])C)C)CCC(=O)[O-])C") -smiles(R"C12=C(CC[C@@H]1C)[C@H](CC[C@H](C2)C(=C)C)C") -smiles(R"C12=C(CC[C@@H]3[C@@]1(CCCC3(C)C)C)CC(=CC2)C(C)C") -smiles(R"[C@]12(C(=CC[C@H]3[C@]1(CC[C@@H]1[C@@]3(CC[C@@H](C1(C)C)O)C)C)[C@H]1[C@@](CC2)(CCC(C1)(C)C)C)C") -smiles(R"[C@]12(C(=CC[C@H]3[C@]1(CC[C@@H]1[C@@]3(CC[C@@H]([C@]1(C)CO)O)C)C)[C@H]1[C@@](CC2)(CCC(C1)(C)C)C)C") -smiles(R"[C@@]12([C@](CC[C@@H]3[C@@]4([C@@H](CC=C13)C([C@H](CC4)O)(C)C)C)(C)[C@@H](CC2)[C@H](CCC=C(C)C)C)C") -smiles(R"C12=C(CC[C@@H]3[C@H]([C@@H]1[C@@H](CC2)C)C3(C)C)C") -smiles(R"[C@]12(C(=CC[C@H](C1)C(=C)C)[C@@H](C[C@H]([C@H]2C)O)O)C") -smiles(R"C12=CCC[C@H]([C@@]1(C[C@@H](CC2)C(=C)C)C)C") -smiles(R"c12c(c(ccn1)O)cccc2") -smiles(R"c12c(ccc(n1)O)cccc2") -smiles(R"c12c(ccc(n2)O)cccc1O") -smiles(R"c12c(cc(c([o+]2)c2ccc(c(c2)O)O)O[C@@H]2O[C@@H]([C@@H](O)[C@@H]([C@H]2O)O)CO[C@@H]2O[C@@H](C)[C@@H]([C@H]([C@H]2O)O)O)c(cc(c1)O)O[C@H]1[C@@H]([C@@H](O)[C@@H]([C@@H](CO)O1)C)C") -smiles(R"c12c(ccc(=O)[nH]1)cccc2") -smiles(R"c12c(c(c(c(=O)o2)NC(=O)c2cc(c(cc2)O)CC=C(C)C)[O-])ccc(c1C)O[C@H]1[C@@H]([C@@H]([C@H](C(O1)(C)C)OC)OC(=O)N)O") -smiles(R"C12=CC[C@H]3[C@]([C@@]1(CC[C@@]1([C@H]2[C@H]([C@@H](CC1)C)C)C)C)(CC[C@@H]1[C@@]3(CC[C@@H](C1(C)C)O)C)C") -smiles(R"C12=CC[C@H]3C[C@H](CC[C@@]3([C@H]1CC[C@]1([C@H]2CC[C@@H]1[C@H](C)CCC=C(C)C)C)C)O") -smiles(R"C12=CC[C@H](C[C@@]1([C@@H](CCC2)C)C)C(=C)C") -smiles(R"c12c(C[C@@H](CC1)C)occ2C") -smiles(R"[C@@]12(C(C[C@@H](C[C@]1(O2)C)O)(C)C)/C=C/C(=C\C=O)/C") -smiles(R"[C@@]12(CC[C@@H](CC1=O)C2(C)C)C") -smiles(R"[C@@]12(CC[C@@H](C[C@@H]1O)C2(C)C)C") -smiles(R"[C@]12(C(=C[C@H]([C@H]3[C@]1(CC[C@@H]1[C@@]3(CC[C@@H](C1(C)C)O)C)C)O)[C@H]1[C@@](CC2)(CCC(C1)(C)C)C)C") -smiles(R"c12c(c(c([nH]1)Cc1c(c(c([nH]1)Cc1[nH]c(Cc3[nH]c(C2)c(c3CC(=O)[O-])CCC(=O)[O-])c(c1CCC(=O)[O-])CC(=O)[O-])CC(=O)[O-])CCC(=O)[O-])CC(=O)[O-])CCC(=O)[O-]") -smiles(R"c12c(c(c([nH]2)Cc2c(c(c([nH]2)Cc2[nH]c(Cc3[nH]c(C1)c(c3CCC(=O)[O-])C)c(c2CCC(=O)[O-])C)C)CCC(=O)[O-])C)CCC(=O)[O-]") -smiles(R"c12c(CC(=O)c3c(CCN(C2)C)cc2c(c3)OCO2)ccc(c1OC)OC") -smiles(R"c12c(cc([O-])c(c1O[C@@H](CC2=O)c1ccc(cc1)O)CC=C(C)C)O") -smiles(R"c12c(cc([O-])c(c1O[C@@H](CC2=O)c1ccc(cc1O)O)CC=C(C)C)O") -smiles(R"c12c(cc(O)c(c1O[C@@H](CC2=O)c1ccc(cc1O)O)C[C@H](C(=C)C)CC=C(C)C)O") -smiles(R"[C@]12(C(=CC(=O)[C@H]3[C@]1(CC[C@@H]1[C@@]3(CC[C@@H](C1(C)C)O)C)C)[C@H]1[C@@](CC2)(CCC(C1)(C)C)C)C") -smiles(R"[C@]12(C(=CC(=O)[C@H]3[C@]1(CC[C@@H]1[C@@]3(CC[C@@H](C1(C)C)O)C)C)[C@H]1[C@@](CC2)(CC[C@](C1)(C)C=O)C)C") -smiles(R"[C@]12(C(=CC(=O)[C@H]3[C@]1(CC[C@@H]1[C@@]3(CC[C@@H](C1(C)C)O)C)C)[C@H]1[C@@](CC2)(CC[C@](C1)(C)CO)C)C") -smiles(R"c12c(C(C(=O)N1)C)cccc2") -smiles(R"c12cc(c(=O)[nH]c1C=CC(C2O)O)C") -smiles(R"c12c(CC(=O)O[C@@H]3[C@H]([C@H](OC4O[C@@H]([C@@H]([C@@H]([C@H]4O)O)O)CO)[C@H]([C@@H]([C@@H]3O)O)O)O)c[nH]c1cccc2") -smiles(R"[C@@]12([C@]([C@H]3[C@@](CC2)(CCC(C3)(C)C)C)(CC[C@@]2([C@@H]1CC[C@]1([C@H]2CCC(=O)[C@@H]1C)C)C)C)C") -smiles(R"c12C[C@@H]3[C@H]4[C@]5(c1c(O[C@H]5C(=O)C=C4)c(cc2)OC)CC[NH+]3C") -smiles(R"C12=C([C@@H]([C@@]3([C@@H](CC(=O)[O-])C(O[C@H]3CC(=O)[O-])(C)C)CO)CC[C@]2([C@@H](OC(=O)C1)c1ccoc1)C)C") -smiles(R"C12=C[C@@H](C(=C[C@@]31c1c(ccc(c1O)OC)C[C@H]2[NH+](CC3)C)OC)O") -smiles(R"C12=C[C@@H](C(=C[C@@]31c1c(ccc(c1O)OC)C[C@H]2[NH+](CC3)C)OC)OC(=O)C") -smiles(R"c12c(c(ncn1CC[C@@H](C(=O)[O-])[NH3+])NCC=C(C)C)ncn2") -smiles(R"c12c(c(nc(n2)O)O)nc(c(n1)O)O") -smiles(R"c12c(c[nH]c1cccc2)CC#N") -smiles(R"C12=C(C(=O)c3c([C@]1(O)C)cccc3O)C(=O)[C@@]1(C(=O)C(=C([C@@H]([NH+](C)C)[C@@H]1C2)[O-])C(=O)N)O") -smiles(R"c12c(C(=O)C3=C([C@]4([C@@H](C[C@@H]3[C@@]1(O)C)[C@@H](C(=C(C4=O)C(=O)N)[O-])[NH+](C)C)O)[O-])c(ccc2)O") -smiles(R"c12c(C(=O)C(C(C1=O)(C/C=C(/CCC[C@@H](CCC[C@@H](CCCC(C)C)C)C)\C)O)C)cccc2") -smiles(R"C12=CC(=O)C(=C[C@@]31c1c(ccc(c1O)OC)C[C@H]2[NH+](CC3)C)OC") -smiles(R"[C@@]12(CC(=O)C(=C)[C@H]1C2)C(C)C") -smiles(R"c12c(C(=O)C[C@H](O1)c1ccc(cc1)O)ccc(c2)O") -smiles(R"c12c(c(=O)c(co1)c1ccc3c(c1)OCO3)c(cc(c2)[O-])O") -smiles(R"c12c(c(=O)cc(o1)c1ccccc1)c(c(c(c2)O)O)O") -smiles(R"c12c(c(=O)cc(o1)c1ccc(cc1)O)c(cc(c2)O[C@@H]1O[C@@H]([C@H]([C@H](O)[C@H]1O)O)CO)O") -smiles(R"c12c(c(=O)c(co1)c1ccc(cc1)OC)c(cc(c2)[O-])O") -smiles(R"c12c(c(=O)c(co1)c1cc(c(cc1)OC)O)ccc(c2)O") -smiles(R"c12c(c(=O)cc(o1)c1ccc(O)c(c1)OC)c(cc(c2)[O-])O") -smiles(R"c12c(C(=O)C(CO2)c2ccc(cc2)OC)c(cc(c1)[O-])O") -smiles(R"C12CC(=O)C(C(=O)C1)(C)C2(C)C") -smiles(R"C12=CC(=O)[C@H]3[C@@](C2CC[C@]2([C@]1(CC[C@@H]2[C@@H]([C@@H](CCC(C)(C)O)O)C)O)C)(C[C@@H]([C@@H](C3)OC(=O)CCCCCCCCCCCCCCC)O)C") -smiles(R"C12=CC(=O)[C@H]3[C@@]([C@H]1CC[C@@]1(C)[C@]2(CC[C@@H]1[C@H](C)[C@@H](CCC(C)(C)O)O)O)(C[C@@H]([C@@H](C3)O)O)C") -smiles(R"C12=CC(=O)[C@H]3[C@@]([C@H]1CC[C@@]1(C)[C@]2(CC[C@@H]1[C@H](C)[C@@H](CCC(C)(C)O)O)O)(C[C@@H](C(=O)C3)O)C") -smiles(R"C12=CC(=O)C(=O)C=C1C[C@@H](N2)C(=O)[O-]") -smiles(R"C12=CC(=O)C(=O)C=C1C[C@H](N2)C(=O)[O-]") -smiles(R"c12c(c(=O)[n-]c(=O)n1)cc1c(cc(cc1)O)n2C[C@@H]([C@@H]([C@@H](CO)O)O)O") -smiles(R"c12c(c(=O)[n-]c(=O)n1)cc1c(cc(cc1)O)n2C[C@@H]([C@@H]([C@@H](COP(=O)(O[C@H](C(=O)N[C@@H](CCC(=O)N[C@@H](CCC(=O)[O-])C(=O)[O-])C(=O)[O-])C)[O-])O)O)O") -smiles(R"c12c(c(=O)[n-]c(=O)n1)cc1c(cc(cc1)O)n2C[C@@H]([C@@H]([C@@H](COP(=O)(O[C@H](C(=O)N[C@@H](CCC(=O)[O-])C(=O)[O-])C)[O-])O)O)O") -smiles(R"c12c(c(=O)[n-]c(=O)n1)cc1c(cc(cc1)O)n2C[C@@H]([C@@H]([C@@H](COP(=O)(O[C@H](C(=O)[O-])C)[O-])O)O)O") -smiles(R"c12c(c(=O)[n-]c(=O)n1)nc(c(C)n2C[C@@H]([C@@H]([C@@H](CO)O)O)O)C") -smiles(R"c12c(c(=O)[nH]cc1)cccc2") -smiles(R"c12c(c(=O)[nH]c(=O)[nH]1)[nH]c(=O)[nH]2") -smiles(R"c12c(C(=O)OC1=O)c(cc(=O)c(c2)O)[O-]") -smiles(R"[C@@]12([C@H]3C(=CC[C@@H]1[C@@]1([C@](CC2)(C)[C@H]2[C@@](CC1)(CCC(C2)(C)C)C)C)C([C@H](CC3)O)(C)C)C") -smiles(R"[C@@]12([C@H]3[C@@]([C@H](C(=O)CC3)C)(CC[C@@H]1[C@@]1([C@](C[C@@](CC1)(CCC=C(C)C)C)(CC2)C)C)C)C") -smiles(R"[C@@]12([C@@H]3[C@H]([C@H]4[C@@](CC3)(C)[C@H](CC4)[C@@H]([C@@H](O)[C@H](O)[C@H](C(C)C)C)C)CC[C@H]2C[C@@H](CC1)O)C") -smiles(R"c12[C@H]3N(C/C(=C/C)/[C@H](C3)C(C(=O)OC)C=O)CCc1c1c([nH]2)cccc1") -smiles(R"[C@@]12([C@H](C1)C(=C)[C@@H](C2)O)C(C)C") -smiles(R"[C@]12([C@H](c3c(OC2)c2c(cc3)OC(C=C2)(C)C)Oc2c1ccc(c2)O)O") -smiles(R"[C@]12([C@H](c3c(OC2)cc2c(c3)C=CC(O2)(C)C)Oc2c1ccc(c2)O)O") -smiles(R"[C@]12([C@H](c3c(OC2)cc2c(c3)C[C@H](O2)C(=C)C)Oc2c1ccc(c2)O)O") -smiles(R"c12[C@H](Cc3ccc(cc3)O)[NH2+]CCc1cc(c(c2)O)OC") -smiles(R"c12[C@@H](Cc3cc(Oc4ccc(cc4)C[C@H]4c5c(cc(c(c5)O)OC)CC[NH+]4C)c(cc3)O)[NH+](CCc1cc(c(c2)O)OC)C") -smiles(R"[C@]12([C@H](CC[C@@]3([C@@H]1[C@@H]([C@@]14CC(=C)C(CC[C@@H]34)C1)C(=O)[O-])OC2=O)O)C") -smiles(R"[C@]12([C@H](C=C[C@@]3([C@@H]1[C@@H]([C@@]14CC(=C)C(CC[C@@H]34)(C1)O)C(=O)OC)OC2=O)O)C") -smiles(R"[C@]12([C@H](CC[C@@]3([C@@H]1[C@@H]([C@@]14CC(=C)C(CC[C@@H]34)(C1)O)C(=O)OC)OC2=O)O)C") -smiles(R"[C@]12([C@H](C=C[C@@]3([C@@H]1[C@@H]([C@@]14CC(=C)C(CC[C@@H]34)(C1)O)C(=O)[O-])OC2=O)O)C") -smiles(R"[C@]12([C@H](CC[C@@]3([C@@H]1[C@@H]([C@@]14CC(=C)C(CC[C@@H]34)(C1)O)C(=O)[O-])OC2=O)O)C") -smiles(R"[C@]12([C@H](C=C[C@@]3([C@@H]1[C@@H]([C@@]14CC(=C)C(CC[C@@H]34)(C1)O)C(=O)[O-])OC2=O)O[C@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)C") -smiles(R"[C@]12([C@H](CC[C@@]3([C@@H]1[C@@H]([C@@]14CC(=C)[C@@H](CC[C@@H]34)C1)C(=O)OC)OC2=O)O)C") -smiles(R"[C@]12([C@H](C(CCC1)(C)C)CC[C@@H]1[C@]32CC[C@@]([C@@H](C1)C3)(C)O)C") -smiles(R"[C@]12([C@H](C(=CCC1)C)C[C@@H](CC2)C(C)(C)O)C") -smiles(R"[C@@]12([C@@H](C[C@@H](CC1)C2(C)C)O)C") -smiles(R"[C@@]12([C@@H](C[C@@H](CC1)C2(C)C)OP(=O)(OP(=O)([O-])[O-])[O-])C") -smiles(R"[C@@]12([C@H](C[C@@H](CC1=O)C2(C)C)O)C") -smiles(R"[C@]12([C@H](C([C@H](CC1)O)(C)C)CCC1=C2CC[C@@]2([C@@]1(CC[C@@]1([C@H]2CC(CC1)(C)C)C)C)C)C") -smiles(R"[C@]12([C@H](C([C@H](CC1)O)(C)C)CC[C@@]1([C@@H]2CC[C@@]2(C1=CC[C@@]1([C@H]2CC(CC1)(C)C)C)C)C)C") -smiles(R"[C@]12([C@H](C([C@H](CC1)O)(C)C)CC[C@@]1([C@@H]2CC[C@H]1[C@@](CC/C=C(/CCC=C(C)C)\C)(O)C)C)C") -smiles(R"[C@]12([C@H](C(C(=O)CC1)CCc1c(ccc(c1)O)C)CCC2=O)C") -smiles(R"[C@@]12([C@H]([C@H]3[C@@]([C@@]4(C(=CC(=O)C=C4)CC3)C)(CC2)O)CCC1=O)C") -smiles(R"[C@]12([C@H]([C@H]3[C@@H]([C@@]4(C(=CC3)C[C@H](CC4)O)C)CC1)CC[C@@H]2[C@@]([C@@H](CCC(C)C)O)(C)O)C") -smiles(R"[C@@]12([C@H]([C@H]3[C@@H]([C@@]4(C(=CC3)CC(=O)CC4)C)CC2)CC[C@@H]1[C@@H](CCCC(C)C)C)C") -smiles(R"[C@@]12([C@H]([C@H]3[C@@H]([C@@]4(C(=CC(=O)C=C4)CC3)C)CC2)CCC1=O)C") -smiles(R"[C@@]12([C@H]([C@H]3[C@@H]([C@@]4(C(=CC(=O)CC4)CC3)C)CC2)CC[C@@H]1[C@@H](CCCC(C)C)C)C") -smiles(R"[C@@]12([C@H]([C@H]3[C@@H]([C@@]4(C(=CC(=O)CC4)CC3)C)CC2)CC[C@@H]1[C@@H](CCCC(CO)C)C)C") -smiles(R"[C@]12([C@H]([C@H]3[C@@H]([C@@]4([C@@H](CC3)CC(=O)CC4)C)CC1)CC[C@@H]2[C@@H]([C@H](C[C@H](C(C)C)C)O)C)C") -smiles(R"[C@@]12([C@H]([C@H]3[C@@H]([C@@]4([C@H](C[C@H]3O)C[C@@H](CC4)O)C)CC2)CC[C@@H]1[C@@H](CCCC(C)C)C)C") -smiles(R"[C@]12([C@H]([C@H](C[C@@]3([C@@H]1[C@@H]([C@@]14CC(=C)C(CC[C@@H]34)C1)C(=O)OC)OC2=O)O)O)C") -smiles(R"[C@]12([C@H]([C@H](C[C@@]3([C@@H]1[C@@H]([C@@]14CC(=C)C(CC[C@@H]34)C1)C(=O)[O-])OC2=O)O)O)C") -smiles(R"[C@]12([C@H]([C@H](C[C@@]3([C@@H]1[C@@H]([C@@]14CC(=C)C(CC[C@@H]34)(C1)O)C(=O)[O-])OC2=O)O)O)C") -smiles(R"[C@@]12([C@@H]([C@@H](CC[C@@H]1O)C)[C@H]1[C@@H](CC2)C1(C)C)C") -smiles(R"[C@]12([C@H]([C@@H](C(=O)CC1)CCc1c(ccc(c1O)O)C)CCC2=O)C") -smiles(R"[C@@]12([C@H](Oc3c1cc1c(c3)OCO1)c1c(OC2)cc(cc1)OC)O") -smiles(R"c12c(nc3c(cc(c(c3)C)C)n1)c(=O)[nH]c(=O)[nH]2") -smiles(R"c12c(nc3c(cc(c(c3)C)C)n2C[C@@H]([C@@H]([C@@H](CO)O)O)O)c(=O)[n-]c(=O)n1") -smiles(R"c12c(nc3c(n1C[C@@H]([C@@H]([C@H](O)COP(=O)([O-])[O-])O)O)cc(c(c3)C)C)c(=O)[n-]c(=O)n2") -smiles(R"c12cnc(c(c1C(=O)OC2)O)C") -smiles(R"c12c(nccc1C(=O)[O-])cccc2") -smiles(R"c12c([n+](ccc1[N+](=O)[O-])[O-])cccc2") -smiles(R"c12c(ncc(c1O)O)cccc2") -smiles(R"c12c(NCC(=N1)CNc1ccc(C(=O)[O-])cc1)nc([nH]c2=O)N") -smiles(R"c12c(N=C(CN1)C(=O)C(C)O)c(=O)[nH]c(n2)N") -smiles(R"c12c(NC(CN1)C(=O)C(C)O)c(=O)[nH]c(n2)N") -smiles(R"c12c(N=C(CN1)C(=O)C(C)O)c(=O)[nH]c(=O)[nH]2") -smiles(R"c12c(NC(CN1)C(=O)[O-])c(=O)[nH]c(n2)N") -smiles(R"c12c(NCC(=N1)COP(=O)(OP(=O)([O-])[O-])[O-])nc(nc2O)N") -smiles(R"c12c(nc(cn2)C(C(C)O)O)c(=O)[nH]c(n1)N") -smiles(R"c12c(NC(CN2)C(C(C)O)O)c(=O)[nH]c(n1)N") -smiles(R"c12c(N=C(CN2)[C@@H]([C@@H](C)O)O)c(=O)nc([nH]1)N") -smiles(R"c12c(N=C(CN2)[C@@H]([C@H](C)O)O)c(=O)nc([nH]1)N") -smiles(R"c12c(N=C(CN2)[C@H]([C@H](C)O)O)c(=O)nc([nH]1)N") -smiles(R"c12c(nc(cn2)CNc2ccc(cc2)C(=O)N[C@H](C(=O)[O-])CCC(=O)[O-])c(=O)[nH]c(n1)N") -smiles(R"c12c(N=C(CN2)CO)c(nc(n1)N)O") -smiles(R"c12c(NC(C(=O)C(=O)C)CN1)c(=O)[nH]c(n2)N") -smiles(R"c12c(N[C@H]3[C@@H](N1)C(=C([S-])[C@H](O3)COP(=O)([O-])OP(=O)([O-])OC[C@@H]1[C@H]([C@H]([C@H](n3c4ncnc(c4nc3)N)O1)O)O)S)nc(N)[nH]c2=O") -smiles(R"c12c(N[C@@H](C)[C@H]3[N+]2=CN(c2ccc(cc2)C[C@@H]([C@@H]([C@@H](CO[C@H]2O[C@@H]([C@H]([C@H]2O)O)COP(=O)(O[C@H](C(=O)[O-])CCC(=O)[O-])[O-])O)O)O)[C@@H]3C)nc([nH]c1=O)N") -smiles(R"c12c(N[C@@H](C)[C@H]3N2CN(c2ccc(cc2)C[C@@H]([C@@H]([C@@H](CO[C@H]2O[C@@H]([C@H]([C@H]2O)O)COP(=O)(O[C@H](C(=O)[O-])CCC(=O)[O-])[O-])O)O)O)[C@@H]3C)nc([nH]c1=O)N") -smiles(R"c12c(N[C@H]([C@@H](N1C)[C@@H](C)Nc1ccc(cc1)C[C@@H]([C@@H]([C@@H](CO[C@H]1O[C@@H]([C@H]([C@H]1O)O)COP(=O)(O[C@H](C(=O)[O-])CCC(=O)[O-])[O-])O)O)O)C)nc([nH]c2=O)N") -smiles(R"c12c(N[C@H]([C@@H](N1)[C@@H](C)Nc1ccc(cc1)C[C@@H]([C@@H]([C@@H](CO[C@H]1O[C@@H]([C@H]([C@H]1O)O)COP(=O)(O[C@H](C(=O)N[C@H](C(=O)[O-])CCC(=O)[O-])CCC(=O)[O-])[O-])O)O)O)C)nc([nH]c2=O)N") -smiles(R"c12c(N[C@H]([C@@H](N1)[C@@H](C)Nc1ccc(cc1)C[C@@H]([C@@H]([C@@H](CO[C@H]1O[C@@H]([C@H]([C@H]1O)O)COP(=O)(O[C@H](C(=O)[O-])CCC(=O)[O-])[O-])O)O)O)C)nc([nH]c2=O)N") -smiles(R"c12c(N([C@H](CN1)CNc1ccc(cc1)C(=O)N[C@@H](CCC(=O)[O-])C(=O)[O-])C)c(=O)[nH]c(n2)N") -smiles(R"c12c(N[C@H](CN2)[C@@H]([C@H](C)O)O)c(=O)nc([nH]1)N") -smiles(R"c12c(ncn(c1N)C)ncn2") -smiles(R"c12c(ncnc1N)[nH]cn2") -smiles(R"c12c(nc([nH]1)C(=O)[O-])[nH]c(=O)[nH]c2=O") -smiles(R"c12c(nc[nH]1)ncnc2") -smiles(R"c12c(nc[nH]c1=O)nc[nH]2") -smiles(R"c12c(nc([nH]c2=O)N)N[C@@H](C)C(=N1)[C@@H](C)Nc1ccc(cc1)C[C@H](O)[C@@H]([C@@H](CO[C@@H]1[C@H](O)[C@H](O)[C@@H](COP(=O)(O[C@H](C(=O)[O-])CCC(=O)[O-])[O-])O1)O)O") -smiles(R"c12c(nc(N)[nH]c1=O)[nH]cn2") -smiles(R"c12c[nH]c3c1c([C@@H]1[C@H]([N+](=CC(=C1)C)C)C2)ccc3") -smiles(R"c12c[nH]c3c1c([C@@H]1[C@H]([N+](=CC(C1)C)C)C2)ccc3") -smiles(R"c12c[nH]c3c1c([C@@H]1[C@H]([NH+](C)C[C@@H](C1)C)C2)ccc3") -smiles(R"c12c[nH]c3c1c([C@H]([C@H]([NH2+]C)C2)/C=C(/C=O)\C)ccc3") -smiles(R"c12c[nH]c3c1c([C@H]([C@H]([NH2+]C)C2)/C=C(/CO)\C)ccc3") -smiles(R"c12c[nH]c3c1c([C@H]([C@H]([NH2+]C)C2)CC(C=O)C)ccc3") -smiles(R"c12c([nH]c3c(cc(c(c3)C)C)n2C[C@@H]([C@@H]([C@@H](CO)O)O)O)c(=O)[nH]c(=O)[nH]1") -smiles(R"c12c([nH]c3c(n1C[C@@H]([C@@H]([C@H](O)COP(=O)([O-])[O-])O)O)cc(c(c3)C)C)c(=O)[nH]c(=O)[nH]2") -smiles(R"c12c([nH]c(cn1c(=O)c(n2)[C@H](CC)C)c1c2c(cccc2)[nH]c1)CCCNC(=[NH2+])N") -smiles(R"c12c([nH]cn2)ncnc1NCC=C(C)C") -smiles(R"c12c([nH]c(=O)c(c2)C)ccc(c1O)O") -smiles(R"[C@@]12([C@](O1)(C[C@H](CC2(C)C)O)C)/C=C/C(=C/C=C/C(=C/C=C/C=C(/C=C/C=C(/C=C/[C@]12[C@](O1)(C[C@H](CC2(C)C)O)C)\C)\C)/C)/C") -smiles(R"[C@@]12(CO1)C[C@@H]([C@@H]([C@H]([C@H](O[C@H]1C[C@@H]([C@H]([C@@H](O1)C)O)OC)[C@H](C(=O)O[C@@H]([C@@H]([C@@H]([C@H](C2=O)C)O)C)C)C)C)O[C@H]1[C@@H]([C@H](C[C@H](O1)C)[NH+](C)C)O)C") -smiles(R"[C@@]12(CO1)C[C@@H]([C@@H]([C@H]([C@H](O[C@@H]1O[C@H]([C@@H]([C@H](C1)OC)O)C)[C@H](C(=O)O[C@@H]([C@@H]([C@@H]([C@H](C2=O)C)O)C)C)C)C)O)C") -smiles(R"[C@@]12(CO1)C[C@@H]([C@@H]([C@H]([C@H](O[C@@H]1O[C@H]([C@@H]([C@H](C1)O)O)C)[C@H](C(=O)O[C@@H]([C@@H]([C@@H]([C@H](C2=O)C)O)C)C)C)C)O)C") -smiles(R"[C@@]12(CO1)C[C@@H]([C@H](O[C@H]1[C@@H]([C@H](C[C@H](O1)C)[NH+](C)C)OP(=O)([O-])[O-])[C@H]([C@H](O[C@H]1C[C@@H]([C@H]([C@@H](O1)C)O)OC)[C@H](C(=O)O[C@@H]([C@@H]([C@@H]([C@H](C2=O)C)O)C)C)C)C)C") -smiles(R"c12c(oc3c(n1)cccc3)cc(=O)c(c2)N") -smiles(R"c12c(oc3c(o1)cccc3)cc(=O)c(=O)c2") -smiles(R"c12c(oc(c(c1=O)[O-])c1ccc(cc1)O)cc(cc2O)O") -smiles(R"c12c(oc(c(c1=O)[O-])c1ccc(cc1)OC)cc(cc2O)O") -smiles(R"c12c(oc(c(c1=O)[O-])c1cc(c(cc1)O)O)cc(cc2O)O") -smiles(R"c12c(oc(cc2=O)c2cc(c(cc2)O)O)cc([O-])c(c1O)[C@@H]1O[C@H](CO)[C@H]([C@H](O)[C@H]1O)O") -smiles(R"c12C(=O)C(=C(C(=O)c1cccc2)C/C=C(/CCC[C@@H](CCC[C@@H](CCCC(C)C)C)C)\C)C") -smiles(R"[C@@]12(C(=O)C[C@@H](CC1)C2(C)C)C") -smiles(R"c12c(=O)cc(oc1cc(cc2O)O)C") -smiles(R"c12c(=O)cc(oc2cc(c(c1O)OC)O)c1ccccc1") -smiles(R"c12c(O[C@@H](CC1=O)c1ccccc1)cccc2") -smiles(R"c12c(O[C@H]([C@H](C1=O)O)c1cc(c(cc1)O)O)cc(cc2O)[O-]") -smiles(R"c12c(O[C@@H]([C@H]([C@H]1O)O)c1ccc(cc1)O)cc(cc2O)O") -smiles(R"c12c(O[C@@H](C(=O)N1O)O[C@@H]1O[C@@H]([C@H]([C@@H]([C@H]1O)O)O)CO)cc(cc2)OC") -smiles(R"C12=[N+]3C(=C(c4c(c(c5n4[Co-2]43N3C(=C2)[C@]([C@@H](C3=CC2=[N+]4C(=C5)C(=C2CC(=O)[O-])CCC(=O)[O-])CCC(=O)[O-])(CC(=O)[O-])C)CCC(=O)[O-])CC(=O)[O-])C)[C@]([C@@H]1CCC(=O)[O-])(CC(=O)[O-])C") -smiles(R"C12=[N+]3C(=Cc4c(c(c5n4[Co-2]43N3C(=C2)[C@]([C@@H](C3=CC2=[N+]4C(=C5)C(=C2CC(=O)[O-])CCC(=O)[O-])CCC(=O)[O-])(CC(=O)[O-])C)CCC(=O)[O-])CC(=O)[O-])[C@]([C@@H]1CCC(=O)[O-])(CC(=O)[O-])C") -smiles(R"C12=[N+]3C(=C(c4c(c(c5n4[Co-2]43N3C(=C2)[C@]([C@@H](C3=CC2=[N+]4C(=C(C2CC(=O)[O-])CCC(=O)[O-])C5)CCC(=O)[O-])(CC(=O)[O-])C)CCC(=O)[O-])CC(=O)[O-])C)[C@]([C@@H]1CCC(=O)[O-])(CC(=O)[O-])C") -smiles(R"C12=[N+]3C(=Cc4c(c(c5n4[Co-2]43N3C(=C2)[C@]([C@@H](C3=CC2=[N+]4C(=C(C2CC(=O)[O-])CCC(=O)[O-])C5)CCC(=O)[O-])(CC(=O)[O-])C)CCC(=O)[O-])CC(=O)[O-])[C@]([C@@H]1CCC(=O)[O-])(CC(=O)[O-])C") -smiles(R"C12=[N+]3C(=Cc4n5c(C=C6[N+]7=C(C=c8n(c(=C1)c(c8CCC(=O)[O-])C)[Fe-2]357)[C@@]([C@@]6(C)O)(CCC(=O)[O-])O)c(c4C)C=C)C(=C2C)C=C") -smiles(R"C12=[N+]3[C@@]([C@@](CC(=O)N)([C@@H]2CCC(=O)N)C)(C)[C@@H]2N4C(=C(C5=[N+]6C(=CC7=[N+](C(=C1C)[C@]([C@@H]7CCC(=O)N)(CC(=O)N)C)[Co-2]346C[C@H]1O[C@H]([C@@H]([C@@H]1O)O)n1c3c(nc1)c(ncn3)N)C([C@@H]5CCC(=O)N)(C)C)C)[C@](CCC(=O)NC[C@H](OP(=O)(OP(=O)(OC[C@H]1O[C@H]([C@@H]([C@@H]1O)O)n1c3c(nc1)c(=O)[nH]c(n3)N)[O-])[O-])C)([C@H]2CC(=O)N)C") -smiles(R"C12=[N+]3[C@@]([C@@](CC(=O)N)([C@@H]2CCC(=O)N)C)(C)[C@@H]2N4C(=C(C5=[N+]6C(=CC7=[N+](C(=C1C)[C@]([C@@H]7CCC(=O)N)(CC(=O)N)C)[Co-2]346C[C@H]1O[C@@H](n3c4ncnc(N)c4nc3)[C@@H]([C@@H]1O)O)C([C@@H]5CCC(=O)N)(C)C)C)[C@](CCC(=O)NC[C@@H](C)O)([C@H]2CC(=O)N)C") -smiles(R"C12=[N+]3[C@@]([C@@](CC(=O)N)([C@@H]2CCC(=O)N)C)(C)[C@@H]2N4C(=C(C5=[N+]6C(=CC7=[N+](C(=C1C)[C@]([C@@H]7CCC(=O)N)(CC(=O)N)C)[Co-2]346C[C@H]1O[C@@H](n3c4ncnc(N)c4nc3)[C@@H]([C@@H]1O)O)C([C@@H]5CCC(=O)N)(C)C)C)[C@](CCC(=O)NC[C@@H](C)OP(=O)([O-])[O-])([C@H]2CC(=O)N)C") -smiles(R"C12=[N+]3[C@@]([C@@](CC(=O)N)([C@@H]2CCC(=O)N)C)(C)[C@@H]2N4C(=C(C5=[N+]6C(=CC7=[N+](C(=C1C)[C@]([C@@H]7CCC(=O)N)(CC(=O)N)C)[Co-2]346C[C@H]1O[C@@H](n3c4ncnc(N)c4nc3)[C@@H]([C@@H]1O)O)C([C@@H]5CCC(=O)N)(C)C)C)[C@](CCC(=O)[O-])([C@H]2CC(=O)N)C") -smiles(R"C12=[N+]3[C@@]([C@@](CC(=O)[O-])([C@@H]2CCC(=O)[O-])C)(C)[C@@H]2N4C(=C(C5=[N+]6C(=CC7=[N+](C(=C1C)[C@]([C@@H]7CCC(=O)[O-])(CC(=O)N)C)[Co-2]346)C([C@@H]5CCC(=O)[O-])(C)C)C)[C@](CCC(=O)[O-])([C@H]2CC(=O)[O-])C") -smiles(R"c12NC3C(Nc1nc(N)[nH]c2=O)OC1C(OP(=O)(OC1)[O-])C3=O") -smiles(R"C12=N/C(=C\c3c(c(c([nH]3)/C=C/3\N=C(/C=C/4\N/C(=C\2)/[C@]([C@@H]4CCC(=O)[O-])(CC(=O)[O-])C)C(=C3CCC(=O)[O-])CC(=O)[O-])CCC(=O)[O-])CC(=O)[O-])/[C@]([C@@H]1CCC(=O)[O-])(CC(=O)[O-])C") -smiles(R"C12=N/C(=C\c3c(c(c([nH]3)Cc3[nH]c(Cc4[nH]c(C2)c(c4CCC(=O)[O-])CC(=O)[O-])c(c3CCC(=O)[O-])CC(=O)[O-])CCC(=O)[O-])CC(=O)[O-])/[C@]([C@@H]1CCC(=O)[O-])(CC(=O)[O-])C") -smiles(R"C12=N/C(=C\c3c(c(c([nH]3)Cc3[nH]c(/C=C/4\[NH+]/C(=C\2)/[C@]([C@@H]4CCC(=O)[O-])(CC(=O)[O-])C)c(c3CCC(=O)[O-])CC(=O)[O-])CCC(=O)[O-])CC(=O)[O-])/[C@]([C@@H]1CCC(=O)[O-])(CC(=O)[O-])C") -smiles(R"C12=N[C@@]([C@@](CC(=O)N)([C@@H]2CCC(=O)N)C)(C)[C@@H]2N(/C(=C(\C3=N/C(=C\C4=N/C(=C\1/C)/[C@]([C@@H]4CCC(=O)N)(CC(=O)N)C)/C([C@@H]3CCC(=O)N)(C)C)/C)/[C@](CCC(=O)NC[C@@H](C)O)([C@H]2CC(=O)N)C)[Co]") -smiles(R"C12=N[C@@]([C@@](CC(=O)N)([C@@H]2CCC(=O)[O-])C)(C)[C@@H]2N(/C(=C(\C3=N/C(=C\C4=N/C(=C\1/C)/[C@]([C@@H]4CCC(=O)[O-])(CC(=O)N)C)/C([C@@H]3CCC(=O)[O-])(C)C)/C)/[C@](CCC(=O)[O-])([C@H]2CC(=O)[O-])C)[Co]") -smiles(R"C12=N[C@@]([C@@](CC(=O)N)([C@@H]2CCC(=O)[O-])C)(C)[C@@H]2N(/C(=C(\C3=N/C(=C\C4=N/C(=C\1/C)/[C@]([C@@H]4CCC(=O)[O-])(CC(=O)N)C)/C([C@@H]3CCC(=O)[O-])(C)C)/C)/[C@](CCC(=O)[O-])([C@H]2CC(=O)[O-])C)[Co+]") -smiles(R"C12=N[C@@]([C@@](CC(=O)N)([C@@H]2CCC(=O)[O-])C)(C)[C@@H]2N(/C(=C(\C3=N/C(=C\C4=N/C(=C\1/C)/[C@]([C@@H]4CCC(=O)[O-])(CC(=O)N)C)/C([C@@H]3CCC(=O)[O-])(C)C)/C)/[C@](CCC(=O)[O-])([C@H]2CC(=O)[O-])C)[Co+]C[C@H]1O[C@@H](n2c3ncnc(N)c3nc2)[C@@H]([C@@H]1O)O") -smiles(R"C12=N[C@@]([C@@](CC(=O)[O-])([C@@H]2CCC(=O)[O-])C)(C)[C@@H]2N=C(C(C3=N[C@](CC4=N/C(=C\1/C)/[C@]([C@@H]4CCC(=O)[O-])(CC(=O)[O-])C)(C)C(=C3CCC(=O)[O-])C)C)[C@](CCC(=O)[O-])([C@H]2CC(=O)[O-])C") -smiles(R"C12=N[C@@]([C@@](CC(=O)[O-])([C@@H]2CCC(=O)[O-])C)(C)[C@@H]2N(/C(=C(\C3=N/C(=C\C4=N/C(=C\1/C)/[C@]([C@@H]4CCC(=O)[O-])(CC(=O)[O-])C)/C([C@@H]3CCC(=O)[O-])(C)C)/C)/[C@](CCC(=O)[O-])([C@H]2CC(=O)[O-])C)[Co+]") -smiles(R"c12N[C@@H]3[C@H](Nc1nc(N)[nH]c2=O)O[C@@H](C(=C3S)[S-])COP(=O)([O-])[O-]") -smiles(R"c12n([C@@H]3O[C@@H]([C@H](C3)O)COP(=O)([O-])[O-])c(=O)[nH]c1c(=O)[nH]c(n2)N") -smiles(R"c12n([C@@H]3O[C@@H]([C@H](C3)O)COP(=O)(OP(=O)([O-])[O-])[O-])cnc1c(=O)[nH]c(n2)N") -smiles(R"c12n([C@@H]3O[C@@H]([C@H](C3)O)COP(=O)(OP(=O)([O-])[O-])[O-])c(=O)[nH]c1c(=O)[nH]c(n2)N") -smiles(R"c12n([C@@H]3O[C@@H]([C@H](C3)O)COP(=O)(OP(=O)(OP(=O)([O-])[O-])[O-])[O-])cnc1c(=O)[nH]c(n2)N") -smiles(R"c12n([C@@H]3O[C@@H]([C@H](C3)O)COP(=O)(OP(=O)(OP(=O)([O-])O)[O-])[O-])c(=O)[nH]c1c(=O)[nH]c(n2)N") -smiles(R"c12n([C@@H]3O[C@@H]([C@H]([C@H]3O)O)COP(=O)([O-])[O-])cnc1c(=O)[nH]c(=O)[nH]2") -smiles(R"c12ncn(c1c(=O)[nH]c(=O)[nH]2)C") -smiles(R"C12=NC(=NC(=O)C1=NC(CN2)C(C(C)O)O)N") -smiles(R"C12=NC(=NC(=O)C1(NC(CN2)C(C(C)O)O)O)N") -smiles(R"C12=NC(=NC(=O)C1=N[C@H](CN2)[C@@H]([C@@H](C)O)O)N") -smiles(R"C12=NC(=NC(=O)C1(N[C@H](CN2)[C@@H]([C@@H](C)O)O)O)N") -smiles(R"C12=NC(=O)NC(=O)C1(NC(=O)N2)O") -smiles(R"C12(OC(C(CC2)CC(=O)O1)(C)C)C") -smiles(R"c12occ(c(=O)c1ccc(c2)O)c1c(cc(cc1)OC)O") -smiles(R"c12oc(c(c(=O)c1c(c(c(c2)OC)OC)O)OC)c1cc(c(cc1)O)O") -smiles(R"c12oc(c(c(=O)c1c(cc(c2)OC)O)OC)c1cc(c(cc1)O)O") -smiles(R"c12oc(c(c(=O)c1c(cc(c2OC)O)O)[O-])c1cc(c(cc1)O)O") -smiles(R"c12oc(c(c(=O)c1c(c(c(c2)OC)O)O)OC)c1cc(c(cc1)O)O") -smiles(R"c12oc(cc(=O)c1c(cc(c2)[O-])O)c1ccc(cc1)OC") -smiles(R"c12oc(c(c(=O)c1c(cc(c2)[O-])O)OC)c1cc(c(cc1)O)O") -smiles(R"c12O[C@@H]([C@H](Cc1c(cc(c2)O)O)O)c1cc(c(cc1)O)O") -smiles(R"c12oc(=O)cc(c1cccc2)O") -smiles(R"c12oc(=O)cc(c1ccc(c2)O)C") -smiles(R"c12oc(=O)cc(c1ccc(c2)OC(=O)C)C") -smiles(R"c12oc(=O)ccc2cc2c(c1)occ2") -smiles(R"c12oc(=O)ccc2cc(c(c1)O)OC") -smiles(R"C1[C@@]23C(=C(C([C@@H]1CC3)(C)C)C)CC[C@@H]2C") -smiles(R"C1[C@@]23C(=C(C([C@@H]1CC3)(C)C)C)[C@@H](C[C@@H]2C)O") -smiles(R"C1[C@@]23C(=C(C([C@@H]1CC3)(C)C)C)[C@H](C[C@@H]2C)O") -smiles(R"C1[C@@]23C(=C(C([C@@H]1CC3)(C)C)C)C(=O)C[C@@H]2C") -smiles(R"c1c2c(c3c(c4c(c5c(cc4)cc4c(c5)OCO4)N(C3)C)c1OC)OCO2") -smiles(R"c1c2c(c3c(c4c(c5c(cc6c(c5)OCO6)c(c4)OC)N(C3)C)c1OC)OCO2") -smiles(R"C1C2=C([C@]3(CC[C@@H](C([C@@H]3C1)(C)C)O)C)CC[C@]1(C2=CC[C@@H]1[C@@H](CCC=C(C)C)C)C") -smiles(R"[C@@]1(/C/2=C(/c3c(c(c([nH]3)Cc3c(c(c(/C=C/4\N=C(/C=C(/[C@H]1CCC(=O)[O-])\[NH+]2)[C@]([C@@H]4CCC(=O)[O-])(CC(=O)[O-])C)[nH]3)CC(=O)[O-])CCC(=O)[O-])CCC(=O)[O-])CC(=O)[O-])\C)(CC(=O)[O-])C") -smiles(R"c1c2c(cc3c1OCO3)c1cc3c(c[n+]1CC2)c(c(cc3)OC)OC") -smiles(R"c1c2c(cc3c1OCO3)c1c(cc2OC)c2c(c[n+]1C)c1c(cc2OC)OCO1") -smiles(R"c1c2c(cc3c1OCO3)ccc1c2[n+](cc2c1c(cc1c2OCO1)OC)C") -smiles(R"c1c2c(cc3c1OCO3)[C@@H]1Cc3c(CN1CC2)c(c(cc3)OC)OC") -smiles(R"c1c2c(cc3c1OCO3)[C@H]1Cc3c(CN1CC2)c(c(cc3)OC)OC") -smiles(R"c1c2c(cc3c1OCO3)[C@@H]1Cc3c(C[N@@+]1(CC2)C)c(c(cc3)OC)OC") -smiles(R"c1c2c(c(c3c1oc(=O)cc3)OC)cco2") -smiles(R"c1(c2c(c(c3c1oc(=O)cc3)OC)cco2)OC") -smiles(R"C1C2C(C(C(=C1)C)C2)(C)C") -smiles(R"c1c2c(ccc1)c(c[nH]2)CC[NH3+]") -smiles(R"c1c2c(ccc1O)cccn2") -smiles(R"c1c2c(ccc1O)[C@H]1[C@@](CO2)(c2c(cc(cc2)O)O1)O") -smiles(R"c1c2c(c(cc1O[C@@H]1O[C@@H]([C@@H](O)[C@@H]([C@H]1O[C@@H]1O[C@@H]([C@@H](O)[C@@H]([C@H]1O)O)C(=O)[O-])O)C(=O)[O-])O)c(=O)cc(c1ccc(c(c1)O)O[C@@H]1O[C@@H]([C@H]([C@H](O)[C@H]1O)O)C(=O)[O-])o2") -smiles(R"c1c2c(c(cc1O[C@@H]1O[C@@H]([C@@H](O)[C@@H]([C@H]1O[C@@H]1O[C@@H]([C@@H](O)[C@@H]([C@H]1O)O)C(=O)[O-])O)C(=O)[O-])O)c(=O)cc(c1ccc(O)c(c1)O)o2") -smiles(R"c1c2c(cc(c1OC)O[C@H]1[C@H](O)[C@H]([C@@H]([C@H](O1)CO)O)O)oc(=O)cc2") -smiles(R"c1c2c(cc(c1O)O)[C@H]([NH2+]CC2)C[C@H]1[C@@H](C=C)[C@@H](OC=C1C(=O)OC)O[C@@H]1O[C@@H]([C@H]([C@H](O)[C@H]1O)O)CO") -smiles(R"c1(c2c(c(cc1O)O)C(=O)C=C(C2=O)[O-])C1=C(C(=O)c2c(C1=O)c(cc(c2)O)O)[O-]") -smiles(R"c1c2c(c(cc1O)O)C(=O)C(=C(C2=O)[O-])C1=C(C(=O)c2c(C1=O)c(cc(c2)O)O)[O-]") -smiles(R"C1(C2CCC(=C)C1C2)(C)C") -smiles(R"[C@]1([C@]2(CCC(=CC2)C)C)(C(=C)CCC1)C") -smiles(R"C1(c2ccccc2)CO1") -smiles(R"c1(c2c(cccc2)[nH]c1)C1=N[C@H](CS1)C(=O)[O-]") -smiles(R"c1(c2c(cccc2)[nH]c1)c1sccn1") -smiles(R"c1c2cc(c(cc2[nH]c1C(=O)[O-])O)O") -smiles(R"c1(c2cccc(c2O)O)ccccc1N") -smiles(R"C1(c2c(cc(cc2)O)O)C(=O)c2c(OC1)cc(cc2)O") -smiles(R"c1c2c(cc(c(c3ccc(O)c(c3)O)[o+]2)O[C@@H]2O[C@@H]([C@@H](O)[C@H](O)[C@H]2O)CO[C@@H]2O[C@H]([C@H](O)[C@@H](O)[C@H]2O)C)c(cc1O)[O-]") -smiles(R"c1c2c(cc(c(c3cc(O)c(cc3)O)[o+]2)O[C@@H]2O[C@@H]([C@@H]([C@@H]([C@H]2O[C@H]2[C@@H]([C@H]([C@@H](CO2)O)O)O)O)O)CO)c(cc1[O-])[O-]") -smiles(R"c1c2c(cc(c(c3cc(O)c(cc3)O)[o+]2)O[C@@H]2O[C@@H]([C@@H]([C@@H]([C@H]2O)O)O)CO)c(cc1O)[O-]") -smiles(R"c1c2c(CC[C@@H]3[C@@H]2CC[C@@]2([C@H](CC[C@@H]32)O)C)cc(c1)O") -smiles(R"c1(c2c(c(cc(n2)C(=O)[O-])O)ccc1O)O") -smiles(R"c1c2c(cc(c([o+]2)c2ccc(O)c(c2)O)O[C@@H]2O[C@@H]([C@H]([C@@H]([C@H]2O[C@@H]2O[C@@H]([C@H]([C@@H]([C@H]2O)O)O)C(=O)[O-])O)O)CO)c(cc1O)O") -smiles(R"c1c2c(cc(c([o+]2)c2ccc(O)c(c2)O)O[C@@H]2O[C@@H]([C@H]([C@@H]([C@H]2O)O)O)CO)c(cc1O)[O-]") -smiles(R"c1c2c(cc(c([o+]2)c2cc(c(O)cc2)O)O[C@@H]2O[C@H](CO)[C@H]([C@H](O)[C@H]2O)O)c(cc1O[C@@H]1O[C@H](CO)[C@H]([C@H](O)[C@H]1O)O)[O-]") -smiles(R"c1c2c(cc(c([o+]2)c2cc(c(O)cc2)O)O[C@@H]2O[C@H](CO)[C@H]([C@H](O)[C@H]2O)O)c(cc1[O-])O[C@@H]1O[C@H](CO)[C@H]([C@H](O)[C@H]1O)O") -smiles(R"c1c2c(cc(c([o+]2)c2cc(O)c(cc2)O)O[C@@H]2O[C@@H]([C@@H]([C@H](O)[C@H]2O[C@@H]2OC[C@@H](O)[C@@H]([C@H]2O)O)O)CO[C@@H]2O[C@@H]([C@@H](O)[C@@H]([C@H]2O)O)CO)c(cc1O)O") -smiles(R"c1c2c(cc(c([o+]2)c2cc(O)c(cc2)O)O[C@@H]2O[C@@H]([C@@H]([C@H](O)[C@H]2O[C@@H]2OC[C@@H](O)[C@@H]([C@H]2O)O)O)CO[C@@H]2O[C@@H]([C@@H](O)[C@@H]([C@H]2O)O)COC(=O)/C=C/c2ccc(cc2)O)c(cc1O)O") -smiles(R"C1[C@]2([C@@](C[C@H](C1)O)(O)[C@@H](C[C@@H]1[C@@H]2CC[C@]2([C@H]1CC[C@@H]2[C@@H](CCCC(C)C)C)C)O)C") -smiles(R"[C@]1([C@@]2(CC[C@H](C2(C)C)C1)C)(O)C") -smiles(R"C1[C@@]2(C=CC[NH+]3[C@@H]2[C@]2(c4c(cccc4)NC2=C1C(=O)OC)CC3)CC") -smiles(R"c1c2c(cc(O)c1)[C@@H](C[C@@H]1[C@@H]2CC[C@]2([C@H]1CC[C@@H]2O)C)O") -smiles(R"c1c2CC[C@](Oc2c(c(c1O)C)C)(CCC[C@@H](CCC[C@@H](CCCC(C)C)C)C)C") -smiles(R"c1(c2cccs2)sc(cc1)C#CCCO") -smiles(R"c1(c2cccs2)sc(cc1)C#CCCOC(=O)C") -smiles(R"c1(c2cccs2)sc(cc1)C#CC(O)COC(=O)C") -smiles(R"C1[C@]2(C[C@H]2C(=C1)C)[C@@H](CCC=C(C)C)C") -smiles(R"C1[C@]2(C[C@H]2C(=C1)C)[C@H](CCC=C(C)C)C") -smiles(R"C1(=C2C([C@@H](CC1)CC1C(=C)[C@H](CC[C@]1(CC2)C)O)(C)C)C") -smiles(R"C1(=C2C([C@@H](CC1)CC1C(=C)[C@H](CC[C@]1(CC2)C)OC(=O)C)(C)C)C") -smiles(R"C1(=C2C([C@@H](C[C@@H]1O)CC1C(=C)[C@H](CC[C@]1(CC2)C)O)(C)C)C") -smiles(R"C1c2c([C@@H](N3[C@@H]1C(=O)N1[C@H](C3=O)CCC1)C=C(C)C)[nH]c1c2cccc1") -smiles(R"c1(c2c(C(=O)c3c(C2=O)cccc3OC)c(c2c1C[C@](C[C@@H]2O[C@H]1C[C@@H]([C@@H]([C@@H](O1)C)O)[NH3+])(C(=O)C)O)O)O") -smiles(R"c1(c2c(C(=O)c3c(C2=O)cccc3OC)c(c2c1C[C@](C[C@@H]2O[C@H]1C[C@@H]([C@@H]([C@@H](O1)C)O)[NH3+])(C(=O)CO)O)O)O") -smiles(R"C1C2=CC(=O)CC[C@@]2([C@@H]2[C@@H](C1)[C@@H]1CC[C@@H]([C@]1(CC2)C)O)C") -smiles(R"C1C2=CC(=O)CC[C@@]2([C@@H]2[C@@H](C1)[C@@H]1CC[C@@H]([C@]1(CC2)C)OC(=O)C)C") -smiles(R"c1(c2c(c(=O)cc(c3ccccc3)o2)c(O)cc1O[C@@H]1O[C@H](C(=O)[O-])[C@H]([C@H](O)[C@H]1O)O)OC") -smiles(R"c1(c2c(c(=O)cc(c3ccccc3)o2)c(O)cc1O)OC") -smiles(R"c1c2c(c(=O)cc(c3ccccc3)o2)c(O)c(O)c1O[C@@H]1O[C@H](C(=O)[O-])[C@H]([C@H](O)[C@H]1O)O") -smiles(R"c1c2c(c(=O)cc(c3ccc(cc3)O)o2)c(O)c(c1[O-])[C@@H]1O[C@@H]([C@H]([C@@H]([C@H]1OC1O[C@@H]([C@H]([C@@H]([C@H]1O)O)O)CO)O)O)CO") -smiles(R"c1c2c(c(=O)cc(c3ccc(cc3)O)o2)c(O)c(O)c1O[C@@H]1O[C@H](C(=O)[O-])[C@H]([C@H](O)[C@H]1O)O") -smiles(R"c1c2c(c(=O)cc(c3ccc(O)c(c3)O)o2)c(cc1O[C@@H]1O[C@@H]([C@H]([C@@H]([C@H]1O)O)O)C(=O)[O-])O") -smiles(R"c1c2c(C(=O)C[C@@H](c3cc(O)c(cc3)OC)O2)c(cc1O[C@@H]1O[C@@H]([C@H]([C@H](O)[C@H]1O)O)CO[C@@H]1O[C@H]([C@H](O)[C@@H](O)[C@H]1O)C)O") -smiles(R"c1c2c(C(=O)C[C@@H](c3cc(O)c(cc3)OC)O2)c(cc1[O-])O") -smiles(R"c1c2c(C(=O)C[C@H](O2)c2ccc(cc2)O)c(cc1OC)O") -smiles(R"c1c2c(c(=O)cc(o2)c2ccc(O)c(c2)O)c(cc1O[C@H]1[C@@H]([C@@H](O)[C@H](O)[C@@H](CO)O1)O)O") -smiles(R"c1c2c(c(=O)cc(o2)c2ccc(O)c(c2)O)c(cc1[O-])O") -smiles(R"c1c2c(c(=O)c(c(o2)c2cc(O)c(O)c(c2)O)[O-])c(cc1O)O") -smiles(R"C1[C@]2([C@@H](C(=C)C1)C2)C(C)C") -smiles(R"C1[C@@]2([C@H](C(=C)C1)C2)C(C)C") -smiles(R"C1[C@@]2([C@H]([C@@H](C1=O)C)C2)C(C)C") -smiles(R"C1[C@@]2([C@H]([C@@H]([C@@H]1O)C)C2)C(C)C") -smiles(R"c1(c2c([nH]c1)cccc2)C[C@@H](C(=O)[O-])NO") -smiles(R"c1(c2c([nH]c1)cccc2)C[C@@H](C(=O)[O-])N(O)O") -smiles(R"c1c2c(OC[C@]3(c4c(cc(cc4)O)O[C@@H]23)O)cc(O)c1CC=C(C)C") -smiles(R"c1(c2c(O)cccc2)ccccc1") -smiles(R"c1(c2c(O)c(ccc2)O)ccccc1") -smiles(R"c1c2O[C@H](c3ccc(c(c3)O)O)[C@H](C(=O)c2c(cc1[O-])O)O") -smiles(R"C1CC1(C(=O)[O-])[NH3+]") -smiles(R"C1C=C2[C@]34[C@H](C1=O)Oc1c3c(C[C@H]2[NH+](CC4)C)ccc1OC") -smiles(R"C1CC2(C3C(C(C1)(C)C)C2CC=C3C)C") -smiles(R"c1cc2c(c3c1c1c(c4c(cc1)cc1c(c4)OCO1)N(C3)C)OCO2") -smiles(R"c1cc2c(c3c1c1c(c4c(cc1)cc1c(c4)OCO1)[n+](C)c3)OCO2") -smiles(R"c1cc2c(c3c1cc1c(c3)OCO1)N(Cc1c2c(cc2c1OCO2)O)C") -smiles(R"c1c(c2c(cc1O)cccc2O)O") -smiles(R"c1c(c2c(cc1O)[o+]c(c(c2)O[C@@H]1O[C@@H]([C@H]([C@@H]([C@H]1O)O)O)CO)c1cc(c(c(c1)O[C@@H]1O[C@@H]([C@H]([C@@H]([C@H]1O)O)O)CO)O)O)O[C@@H]1O[C@@H]([C@H]([C@@H]([C@H]1O)O)O)CO") -smiles(R"c1c(c2c(cc1O)[o+]c(c(c2)O[C@@H]1O[C@@H]([C@H]([C@@H]([C@H]1O)O)O)CO)c1cc(c(c(c1)O)O)O)O[C@@H]1O[C@@H]([C@H]([C@@H]([C@H]1O)O)O)CO") -smiles(R"c1c(c2c(cc1O)[o+]c(c(c2)O[C@@H]1O[C@@H]([C@H]([C@@H]([C@H]1O)O)O)COC(=O)CC(=O)[O-])c1cc(c(c(c1)O)O)O)[O-]") -smiles(R"c1cc2ccc3C=C[C@@H]([C@@H](c3c2cc1)O)O") -smiles(R"C1CC2=C(CC[C@@]2(CC2=C(CC[C@H]2[C@H]1C)C)C)C(C)C") -smiles(R"C1C[C@]2(CCCC(=C2C=C1C(C)C)C)C") -smiles(R"C1CC2(CCCC(=C2C=C1C(C)C)C)C") -smiles(R"c1c(c2c(c([C@H]3[C@H](O[C@@H]4O[C@@H]([C@@H](O)[C@H](O)[C@H]4O)CO)[C@H]([C@@H]([C@H](O3)CO)O)O)c1[O-])oc(cc2=O)c1ccc(cc1)O)O") -smiles(R"C1=C([C@]2(CC[C@H](C2)C(=C)C)[C@@H](CC1)C)C") -smiles(R"C1C(=C2[C@]([C@@H]3[C@H]1CC(C3)(C)C)(C)CC2)C") -smiles(R"C1C=C2C[C@H](CC[C@@]2([C@H]2CC[C@@]3(C(=O)CC[C@H]3[C@H]12)C)C)O") -smiles(R"C1C=C2C[C@H](CC[C@@]2([C@H]2CC[C@@]3(C(=O)CC[C@H]3[C@H]12)C)C)OS(=O)(=O)[O-]") -smiles(R"C1CC2C[C@@H]([C@H](C(=O)OC)C1[NH+]2C)O") -smiles(R"C1CC2C[C@@H]([C@H](C(=O)OC)C1[NH+]2C)OC(=O)c1ccccc1") -smiles(R"c1cc2c(C(=O)c3c(ccc(c3O)O)C2=O)cc1") -smiles(R"c1cc2c(C(=O)c3c(ccc(c3O)O[C@H]3[C@H](O)[C@@H](O)[C@H](O)[C@@H](CO)O3)C2=O)cc1") -smiles(R"C1CC2=CC(=O)CC[C@@]2([C@]23[C@@H]1[C@@H]1CC[C@@H]([C@]1(C[C@H]2O3)C)C(=O)C)C") -smiles(R"C1CC2=CC(=O)CC[C@@]2(C2=CC[C@@]3(C)[C@H]([C@H]12)CC[C@@H]3C(=O)C)C") -smiles(R"C1CC2=CC(=O)CC[C@@]2([C@@H]2[C@@H]1[C@@H]1CC=C([C@]1(CC2)C)C(=O)C)C") -smiles(R"C1CC2=CC(=O)CC[C@@]2([C@@H]2[C@@H]1[C@@H]1CC[C@@]([C@]1(CC2)C)(C(=O)C)O)C") -smiles(R"C1CC2=CC(=O)CC[C@@]2([C@@H]2[C@@H]1[C@@H]1CC[C@@]([C@]1(CC2)C)(C(O)C)O)C") -smiles(R"C1CC2=CC(=O)CC[C@@]2([C@@H]2[C@@H]1[C@@H]1CC[C@@]([C@]1(CC2=O)C)(C(=O)CO)O)C") -smiles(R"C1CC2=CC(=O)CC[C@@]2([C@@H]2[C@@H]1[C@@H]1CC[C@@]([C@]1(C[C@@H]2O)C)(C(=O)COC(=O)C)O)C") -smiles(R"C1CC2=CC(=O)CC[C@@]2([C@@H]2[C@@H]1[C@@H]1CC[C@@]([C@]1(C[C@@H]2O)C)(C(=O)CO)O)C") -smiles(R"C1CC2=CC(=O)CC[C@@]2([C@@H]2[C@@H]1[C@@H]1CC[C@@]([C@]1(C[C@@H]2O)C)(C(=O)COS(=O)(=O)[O-])O)C") -smiles(R"C1CC2=CC(=O)CC[C@@]2([C@@H]2[C@@H]1[C@@H]1CC[C@@H]([C@]1(CC2)C)C(=O)C)C") -smiles(R"C1CC2=CC(=O)CC[C@@]2([C@@H]2[C@@H]1[C@@H]1CC[C@@H]([C@]1(CC2)C)C(=O)CO)C") -smiles(R"C1CC2=CC(=O)CC[C@@]2([C@@H]2[C@@H]1[C@@H]1CC[C@@H]([C@]1(C[C@H]2O)C)C(=O)C)C") -smiles(R"C1CC2=CC(=O)CC[C@@]2([C@@H]2[C@@H]1[C@@H]1C[C@H]([C@@H]([C@]1(CC2)C)C(=O)C)O)C") -smiles(R"C1CC2CC(=O)[C@H](C(=O)OC)C1[NH+]2C") -smiles(R"C1=C(C2[C@@H]3[C@H](C1)[C@@]2(CC[C@H]3C(C)C)C)C") -smiles(R"C1=C([C@]2([C@@H](CC1=O)C)C[C@@H](CC2)C(=C)C)C") -smiles(R"C1C[C@]2([C@@H](CC[C@@H]2C(=O)C)[C@@H]2CC[C@@H]3CC(=O)CC[C@@]3([C@@H]12)C)C") -smiles(R"C1C[C@]2([C@@H](CC[C@@H]2C(=O)C)[C@@H]2CC[C@H]3CC(=O)CC[C@@]3([C@@H]12)C)C") -smiles(R"C1=C([C@]2([C@@H](C[C@@H]1O)C)C[C@@H](CC2)C(=C)C)C") -smiles(R"c1cc2c(OC[C@]3(c4c(cc(cc4)O)O[C@@H]23)O)c(c1O)CC=C(C)C") -smiles(R"c1cc2c(OC[C@H]3c4c(cc(cc4)O)O[C@@H]23)cc1O") -smiles(R"c1c(c2c(O[C@@H]([C@H](C2=O)O)c2ccc(O)c(c2)O)c(c1O)O)O") -smiles(R"c1cc2c(oc(=O)cc2)c2c1occ2") -smiles(R"c1cc2c(oc(=O)cc2)c2c1O[C@@H](C2)C(O)(C)C") -smiles(R"c1(c(c2[nH]c1Cc1c(c(c([nH]1)Cc1c(c(c(Cc3[nH]c(C2)c(c3CC(=O)[O-])CCC(=O)[O-])[nH]1)CCC(=O)[O-])CC(=O)[O-])CCC(=O)[O-])CC(=O)[O-])CC(=O)[O-])CCC(=O)[O-]") -smiles(R"c1(Cc2[nH]cc(c2CC(=O)[O-])CCC(=O)[O-])[nH]c(Cc2[nH]c(Cc3[nH]c(c(CC(=O)[O-])c3CCC(=O)[O-])CO)c(c2CCC(=O)[O-])CC(=O)[O-])c(c1CCC(=O)[O-])CC(=O)[O-]") -smiles(R"C1(=CC=C2[C@]34[C@H]1Oc1c3c(C[C@H]2[NH+](CC4)C)ccc1OC)OC") -smiles(R"c1ccc2c(c1)cccc2") -smiles(R"c1ccc2c(c1)CCC(=O)O2") -smiles(R"c1(ccc2c(c1)C(=O)CC[C@]12OC([C@@H]([C@@H]1O)O)O)C(=O)[O-]") -smiles(R"c1ccc2c(c1)C(=O)C=C(C2=O)C") -smiles(R"c1(ccc2c(c1)[n+]1cn2[C@H]2O[C@H](CO)[C@H]([C@H]2O)OP(=O)(O[C@@H](CNC(=O)CC[C@]2(C3=C(C4=[N+]5[Co-3]671(N3[C@@H]([C@@]1([N+]6=C([C@H]([C@@]1(CC(=O)N)C)CCC(=O)N)C(=C1[N+]7=C(C=C5C([C@@H]4CCC(=O)N)(C)C)[C@@H](CCC(=O)N)[C@]1(C)CC(=O)N)C)C)[C@@H]2CC(=O)N)C)C)C)C)[O-])O") -smiles(R"c1(ccc2c(c1)[n+]1cn2[C@H]2O[C@H](CO)[C@H]([C@H]2O)OP(=O)(O[C@@H](CNC(=O)CC[C@]2(C3=C(C4=[N+]5[Co-4]671N3[C@@H]([C@@]1([N+]6=C([C@H]([C@@]1(CC(=O)N)C)CCC(=O)N)C(=C1[N+]7=C(C=C5C([C@@H]4CCC(=O)N)(C)C)[C@@H](CCC(=O)N)[C@]1(C)CC(=O)N)C)C)[C@@H]2CC(=O)N)C)C)C)O)O") -smiles(R"c1(cc(c2c(c1)n(c1c(c2=O)cccc1)C)O)O") -smiles(R"c1ccc2c(c1)[nH]cc2CC(=O)N") -smiles(R"c1ccc2c(c1)[nH]c(c(c2=O)[O-])C") -smiles(R"c1(ccc2c(c1)occ(c2=O)c1ccccc1)OC") -smiles(R"c1(ccc2c(c1)OC(C(C2=O)c1ccc(cc1)OC)O)O") -smiles(R"c1(cc(c2c(c1)oc(cc2=O)c1ccc(cc1)O)O)O[C@@H]1O[C@@H]([C@H]([C@@H]([C@H]1O[C@H]1[C@@H]([C@@](CO1)(O)CO)O)O)O)CO") -smiles(R"c1ccc2cccc3C(=O)C(=O)c1c23") -smiles(R"c1(cc(c2ccccc2c1O)O)C(=O)[O-]") -smiles(R"C1CCC2=CC[C@@H](C[C@@]2([C@H]1C)C)C(=C)C") -smiles(R"c1(c(Cc2c(c(c([nH]2)C=O)C)CC)[nH]c2/C(=C\3/[C@H]([C@@H](C(=N3)/C=C\3/C(=C(C(=O)N3)C=C)C)C)CCC(=O)[O-])/[C-](C(=O)c12)C(=O)OC)C") -smiles(R"c1(c(Cc2c(c(c([nH]2)C=O)C)CC)[nH]c2/C(=C\3/[C@H]([C@@H](C(=N3)CC3C(=C(C(=O)N3)C=C)C)C)CCC(=O)[O-])/[C-](C(=O)c12)C(=O)OC)C") -smiles(R"c1c(c(c2c(c(=O)c(c(o2)c2ccc(O)c(c2)O)[O-])c1O)O)O") -smiles(R"C1C(=C)C2[C@@H]3[C@H](C1)[C@@]2(CC[C@H]3C(C)C)C") -smiles(R"C1CC[C@]2([C@H](C1(C)C)CC[C@]([C@@H]2C/C=C(/C)\C=C)(O)C)C") -smiles(R"C1CC[C@]2([C@H](C1(C)C)CC[C@]([C@@H]2CC[C@@](C=C)(C)O)(O)C)C") -smiles(R"C1CC[C@@]2([C@H](CCC[C@]2(C1)C)C)O") -smiles(R"C1(=C/C(=C/2\C(=NC(=O)C(=C2)[O-])O)/C(=NC1=O)O)[O-]") -smiles(R"C1=C(C[C@@]2(C(=O)C(=C[C@H]2[C@]2([C@@H]([C@H]([C@]3(C(C)(C)[C@H]3[C@H]12)OC(=O)CCC)OC(=O)CCC)C)O)C)O)CO") -smiles(R"C1=C(C[C@@]2(C(=O)C(=C[C@H]2[C@]2([C@@H]([C@H]([C@]3(C(C)(C)[C@H]3[C@H]12)OC(=O)CCC)O)C)O)C)O)CO") -smiles(R"C1CCC([C@]1(C1=CC=C(CC1)C)C)(C)C") -smiles(R"C1(CCCC1)O") -smiles(R"C1CCCC1=O") -smiles(R"c1cccc2c1c1c(s2)ccc(c1O)O") -smiles(R"C1(C(=CCC2C1(CCCC2(C)C)C)C)CC/C(=C/COP(=O)(OP(=O)([O-])[O-])[O-])/C") -smiles(R"c1cccc2c1c(cc(n2)C(=O)[O-])O") -smiles(R"c1cccc2c1C=CC(O2)(C(=O)[O-])O") -smiles(R"c1(ccc(c2c1C[C@@H]1C(=C([C@]3([C@@H](C1)[C@@H](C(=C(C3=O)C(=O)N)[O-])[NH+](C)C)O)[O-])C2=O)O)N(C)C") -smiles(R"c1cccc2c1c(c[nH]2)CC(O)C(=O)[O-]") -smiles(R"c1c(ccc2c1c(c[nH]2)CC(=O)[O-])O") -smiles(R"C1CC(CC2C1(C)O2)C(=C)C") -smiles(R"c1(cc(cc2c1C(=O)c1c(C2)cc(c(c1O)C(=O)CCCCC)O)O)O") -smiles(R"c1(cc(cc2c1C(=O)c1c(C2=O)cc2c(c1O)[C@@H]1CCC[C@](O2)(O1)C)O)O") -smiles(R"c1(cc(cc2c1C(=O)c1c(C2=O)cc2c(c1O)[C@H]1[C@@H](O2)OCC1)O)O") -smiles(R"c1(cc(cc2c1C(=O)c1c(C2=O)cc2c(c1O)[C@@H]([C@H](O2)O)CCC(=O)C)O)O") -smiles(R"c1(cc(cc2c1C(=O)c1c(C2=O)cc2c(c1O)[C@@H]([C@H](O2)O)CCOC(=O)C)O)O") -smiles(R"c1(cc(cc2c1C(=O)c1c(C2=O)cc2c(c1O)[C@@H]([C@H](O2)O)CCO)O)O") -smiles(R"c1(cc(cc2c1C(=O)c1c(C2=O)cc(c(c1O)[C@H](CCCCC)O)O)O)O") -smiles(R"c1(cc(cc2c1C(=O)c1c(C2=O)cc(c(c1O)[C@H](CCC[C@@H](C)O)O)O)O)O") -smiles(R"c1(cc(cc2c1C(=O)c1c(C2=O)cc(c(c1O)[C@H](CCC[C@H](C)O)O)O)O)O") -smiles(R"c1(cc(cc2c1C(=O)c1c(C2=O)cc(c(c1O)[C@H](CCCC(=O)C)O)O)O)O") -smiles(R"c1(cc(cc2c1C(=O)c1c(C2=O)cc(c(c1O)[C@@H](CO)CCC(=O)C)[O-])O)O") -smiles(R"c1(cc(cc2c1C(=O)c1c(C2=O)cc(c(c1O)[C@@H](CO)CCOC(=O)C)[O-])O)O") -smiles(R"c1(cc(cc2c1C(=O)c1c(C2=O)cc(c(c1O)[C@@H](CO)CCO)O)O)O") -smiles(R"c1(cc(cc2c1C(=O)c1c(C2=O)cc(c(c1O)C(=O)CCCCC)O)[O-])O") -smiles(R"c1ccc(c2c1C(=O)C=C(C2=O)[O-])O") -smiles(R"c1c(cc(c2c1C(=O)C(=CC2=O)[O-])O)O") -smiles(R"c1cc(cc2c1c(=O)c(co2)c1ccc(cc1)O)O") -smiles(R"c1cc(cc2c1c(=O)c(co2)c1ccc(cc1O)O)O") -smiles(R"c1cccc2c1C(=O)N(C(C(=O)N2)Cc1ccccc1)C") -smiles(R"c1cccc2c1nc1c(cc(cc1)OCCC(C)CC/C=C(\C)/CC/C=C(\C)/CC/C=C(\C)/CCC=C(C)C)n2") -smiles(R"c1cc(cc2c1nccc2[C@H]([C@@H]1C[C@@H]2[C@](C[N@@H+]1CC2)(C=C)O)O)OC") -smiles(R"c1cccc2c1NC(=O)C2=C") -smiles(R"c1cccc2c1[nH]c1c(cc(cc1)OCCC(C)CC/C=C(\C)/CC/C=C(\C)/CC/C=C(\C)/CCC=C(C)C)[nH]2") -smiles(R"c1cc(cc2c1[nH]cc2CCNC(=O)C)OC") -smiles(R"c1cccc2c1[nH]cc2C/C=N/O") -smiles(R"c1cccc2c1[nH]c(=O)cc2C(=O)[O-]") -smiles(R"c1c(cc(c2c1oc(cc2=O)c1cc(c(c(c1)OC)OC)OC)O)[O-]") -smiles(R"c1c(cc(c2c1oc(cc2=O)c1cc(c(c(c1)OC)O)OC)O)[O-]") -smiles(R"c1c(ccc2c1OC(C(C2=O)c1ccc(cc1)O)O)O") -smiles(R"c1c(cc(c2c1oc(cc2=O)c1cc(c(c(c1)O)O)OC)O)[O-]") -smiles(R"c1c(cc(c2c1[o+]c(c(c2)[O-])c1cc(c(cc1)O)O)[O-])O") -smiles(R"c1c(cc(c2c1OC(C(C2=O)c1ccc(cc1)O)O)O)[O-]") -smiles(R"c1c(cc(c2c1oc(cc2=O)c1cc(c(c(c1)O)O)O)O)[O-]") -smiles(R"c1c(cc(c2c1oc(c(c2=O)[O-])c1cc(c(c(c1)OC)O)O)O)O") -smiles(R"c1cccc2c1OC(C(=O)N2)O") -smiles(R"c1cccc2c1OC(C(=O)N2O)O") -smiles(R"c1cccc2c1O[C@@H](CC2O)c1ccccc1") -smiles(R"c1c(ccc2c1O[C@H]([C@@H](C2=O)c1ccc(cc1)O)O)O") -smiles(R"c1(c(ccc2ccccc12)C(=O)[O-])O") -smiles(R"c1(ccc(c2ccc(cc12)C(=O)[O-])O)O") -smiles(R"c1(cc(cc2cc(cc(c12)O)O)O)O") -smiles(R"C1(=C(/C(=C/c2cc(c(cc2)O)CC=C(C)C)/OC1=O)[O-])c1cc(c(cc1)O)CC=C(C)C") -smiles(R"C1(=C(/C(=C/c2ccc(cc2)O)/OC1=O)[O-])c1ccc(cc1)O") -smiles(R"C1CCC(C2=CC[C@@H]([C@]([C@H]12)(CC[C@](C=C)(C)O)C)C)(C)C") -smiles(R"C1CCC(C2=CC[C@@H]([C@]([C@H]12)(CC[C@@](C=C)(C)O)C)C)(C)C") -smiles(R"C1CCC(C2=CC[C@@H]([C@]([C@H]12)(CC/C(=C/CO)/C)C)C)(C)C") -smiles(R"C1CCC(C2=CC[C@@H]([C@]([C@H]12)(CC/C(=C/COP(=O)(OP(=O)([O-])[O-])[O-])/C)C)C)(C)C") -smiles(R"c1cccc2cccnc12") -smiles(R"c1cccc2ccncc12") -smiles(R"C1(CCC[C@]2([C@H]1CC[C@@H]1[C@]32C[C@H](C(=C1)C)CC3)C)(C)C") -smiles(R"C1(CCC[C@]2([C@H]1CC[C@H]1C[C@H]3C[C@@]21CCC3=C)C)(C)C") -smiles(R"[C@]1(CCC[C@@]2([C@@H]1[C@@H]([C@@]13CC(=C)[C@H](CC[C@@H]23)C1)C=O)C)(C)C(=O)[O-]") -smiles(R"[C@]1(CCC[C@@]2([C@@H]1[C@@H]([C@@]13CC(=C)[C@@H](CC[C@@H]23)C1)C(=O)[O-])C)(C)C(=O)[O-]") -smiles(R"c1cccc2NC(=O)Cc12") -smiles(R"c1cccc2NC(=O)C(c12)O") -smiles(R"c1cccc2[nH]ccc12") -smiles(R"c1cccc2[nH]cc(c12)CC(=O)[O-]") -smiles(R"c1cccc2[nH]cc(c12)C(=O)[O-]") -smiles(R"c1cccc2[nH]cc(c(=O)c12)[O-]") -smiles(R"c1ccccc1") -smiles(R"c1c(cc(c(c1Br)[O-])Br)C#N") -smiles(R"c1(cc(c(c(c1)Br)[O-])Br)C(=O)[O-]") -smiles(R"c1(ccc(cc1)Br)SCC(=O)C(=O)[O-]") -smiles(R"c1ccc(cc1)C") -smiles(R"c1(ccccc1)c1ccccc1") -smiles(R"c1(ccccc1)C=C") -smiles(R"c1cccc(c1)CC") -smiles(R"c1cc(ccc1C(c1ccc(cc1)O)(C)C)O") -smiles(R"c1cc(ccc1C(c1ccc(cc1)O)(C)CO)O") -smiles(R"c1cc(ccc1)/C=C/c1cc(cc(c1)O)O") -smiles(R"C1=C(CC=C(C1)C(C)C)C") -smiles(R"C1=C(CCC(=C1)C(C)C)C") -smiles(R"C1(=C(CCCC1(C)C)C)/C=C/C(=C/C=C/C(=C/C1C(/C=C(/C=C/C=C(/C=C/C2=C(CCCC2(C)C)C)\C)\C)O1)/C)/C") -smiles(R"C1(=C(CCCC1(C)C)C)/C=C/C(=C/C=C/C(=C/C=C/C=C(/C=C/C=C(/C=C/C1=C(CCCC1(C)C)C)\C)\C)/C)/C") -smiles(R"C1(=C(CCCC1(C)C)C)/C=C/C(=C/C=C/C(=C/C=C/C=C(/C=C/C=C(/C=C/C1C(=CCCC1(C)C)C)\C)\C)/C)/C") -smiles(R"C1(=C(CCCC1(C)C)C)/C=C/C(=C/C=C/C(=C/C(C(/C=C(/C=C/C=C(/C=C/C1=C(CCCC1(C)C)C)\C)\C)O)O)/C)/C") -smiles(R"C1(=C(CCCC1(C)C)C)/C=C/C(=C/C=C/C(=C/C=C/C=C(/C=C/C=C(/C=C/C=C(/CCC=C(C)C)\C)\C)\C)/C)/C") -smiles(R"C1(=C(CCCC1(C)C)C)/C=C/C(=C/C=C/C(=C/C=C/C=C(/C=C/C=C(/C=C/C=C(/C=O)\C)\C)\C)/C)/C") -smiles(R"C1(=C(CCCC1(C)C)C)/C=C/C(=C/C=C/C(=C/C=C/C=C(/C=C/C=C(/C=C/[C@H]1C(=C[C@@H](CC1(C)C)O)C)\C)\C)/C)/C") -smiles(R"C1CC(C(=C(C1)C)/C=C/C(=C/C=C/C(=C/C=C/C=C(/C=C/C=C(/C=C/C=C(/C(=O)[O-])\C)\C)\C)/C)/C)(C)C") -smiles(R"C1(=C(CCCC1(C)C)C)/C=C/C(=C/C=C/C(=C/C=C/C=C(/C=C/C=C(/CO)\C)\C)/C)/C") -smiles(R"C1CCC(C(=C1C)/C=C/C(=C/C=C/C(=C/C=C/C=C(/C=C/C=C(/C=O)\C)\C)/C)/C)(C)C") -smiles(R"C1CCC(C(=C1C)/C=C/C(=C/C=C/C(=C/C=C/C=C(/C=C/C=O)\C)/C)/C)(C)C") -smiles(R"c1(cc(cc(c1)CCCCCCC/C=C\C/C=C\CC=C)O)O") -smiles(R"c1(cc(cc(c1)CCCCCCC/C=C\C/C=C\CC=C)O)OC") -smiles(R"C1(=C(CCCC1(C)C)C)/C=C/C(=C/C=C/C(=C\CO)/C)/C") -smiles(R"C1CCC(C(=C1C)/C=C/C(=C/C=C/C(=C/C=C/C=O)/C)/C)(C)C") -smiles(R"C1(=C(CCCC1(C)C)C)/C=C/C(=C/C=C\C(=C\COC(=O)CCCCCCCCCCCCCCC)\C)/C") -smiles(R"C1CCC(=C(C1(C)C)/C=C/C(=C/C=C\C(=C\C=O)\C)/C)C") -smiles(R"c1(c(c(c(c(c1C)CCCCCCCCCC)O)OC)OC)O") -smiles(R"C1(C(=C(CCC1)C)/C=C/C(=C/C=C/C(=C/CO)/C)/C)(C)C") -smiles(R"C1(C(=C(CCC1)C)/C=C/C(=C/C=C/C(CCO)C)/C)(C)C") -smiles(R"C1(C(=C(CCC1)C)C=CC(=CC=CC(=CCO)C)C)(C)C") -smiles(R"C1C(C(=C(CC1)C)/C=C/C(=C/C=C/C(=C/C=O)/C)/C)(C)C") -smiles(R"C1C(C(=C(CC1)C)C=CC(=CC=CC(=CC=O)C)C)(C)C") -smiles(R"C1CC(C(=C(C1)C)/C=C/C(=C/C=C\C(=C\CO)\C)/C)(C)C") -smiles(R"C1(CCCC(=C1/C=C/C(=C/C=C/C(=C/COC(=O)CCCCCCCCCCCCCCC)/C)/C)C)(C)C") -smiles(R"C1(CCCC(=C1C=CC(=CC=CC(=CC(=O)[O-])C)C)C)(C)C") -smiles(R"C1CCC(C(=C1C)/C=C/C(=C/C=C/C(=O)C)/C)(C)C") -smiles(R"C1CCC(=C(C1(C)C)/C=C/C(=O)C)C") -smiles(R"C1(=CCC(CC1)C(=C)C)C=O") -smiles(R"C1(CCCC(=C1/C=C/C(=C\OC1OC(=O)C(=C1)C)/C)C)(C)C") -smiles(R"c1(ccc(cc1)C(=C(Cl)Cl)c1ccc(cc1)Cl)Cl") -smiles(R"c1cccc(c1)C(CC#N)C(=O)OC") -smiles(R"c1(ccccc1)/C=C/CO") -smiles(R"c1ccccc1/C=C/C=O") -smiles(R"c1c(ccc(c1)/C=C/C(=O)CC(=O)/C=C/c1ccc(c(c1)OC)O)O") -smiles(R"c1cccc(c1/C=C/C(=O)C(=O)[O-])O") -smiles(R"c1(c(ccc(c1)/C=C/C(=O)NCC(=O)[O-])O)OC") -smiles(R"c1c(cccc1)CCC(=O)[O-]") -smiles(R"c1(c(ccc(c1)CC=C)O)OC") -smiles(R"c1cc(ccc1CCC(=O)OCc1ccccc1)OC(=O)[C@H]1CC[C@@H](CC1)C[NH3+]") -smiles(R"c1c(c(ccc1/C=C/C(=O)OCCCCCCCCCCCCCCCC(=O)[O-])O)OC") -smiles(R"c1(c(cc(cc1)/C=C/C=O)OC)O") -smiles(R"c1(c(cc(cc1)/C=C/CO)OC)O[C@@H]1O[C@@H]([C@H]([C@@H]([C@H]1O)O)O)CO") -smiles(R"c1c(ccc(c1)/C=C\C(=O)[O-])O") -smiles(R"c1ccc(c(c1)/C=C\C(=O)[O-])O") -smiles(R"c1(ccc(cc1)/C=C\C(=O)[O-])O[C@@H]1O[C@@H]([C@H]([C@H](O)[C@H]1O)O)CO") -smiles(R"C1(=CCC(=CC1)C)[C@@H](CCC=C(C)C)C") -smiles(R"C1(=CCC(=CC1)C)[C@@H](CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)\C)\C)C") -smiles(R"c1(ccc(cc1)C[C@@H](C(=O)N[C@H](C(=O)N[C@H](C(=O)N1[C@@H](CCC1)C(=O)N[C@@H](Cc1ccccc1)C(=O)[O-])Cc1cnc[nH]1)[C@@H](C)CC)NC(=O)[C@@H](NC(=O)[C@@H](NC(=O)[C@H](CC(=O)[O-])[NH3+])CCCNC(=[NH2+])N)C(C)C)O") -smiles(R"c1(ccc(cc1)C[C@@H](C(=O)N[C@H](C(=O)N[C@H](C(=O)N1[C@@H](CCC1)C(=O)[O-])Cc1cnc[nH]1)[C@@H](C)CC)NC(=O)[C@@H](NC(=O)[C@@H](NC(=O)[C@H](CC(=O)[O-])[NH3+])CCCNC(=[NH2+])N)C(C)C)O") -smiles(R"c1ccc(cc1)C[C@H](C(=O)[O-])[NH3+]") -smiles(R"c1(ccc(cc1)C[C@@H](C(=O)[O-])N(O)O)O") -smiles(R"c1(ccccc1)C(C[NH2+]C)O") -smiles(R"c1cc(ccc1CC[NH2+]C)O") -smiles(R"c1(ccccc1)CC[NH3+]") -smiles(R"C1(CCC(C=C1)CC([NH3+])C(=O)[O-])O") -smiles(R"c1(ccccc1)C/C=N\O") -smiles(R"c1cc(ccc1)C(C#N)O") -smiles(R"c1ccccc1C/C=N/O") -smiles(R"c1(ccccc1)CC=O") -smiles(R"c1(ccccc1)CC(=O)C") -smiles(R"c1cccc(c1)CC(=O)C(=O)[O-]") -smiles(R"c1c(ccc(c1)CC(=O)C(=O)[O-])O") -smiles(R"C1(CC=C(C=C1)CC(=O)C(=O)[O-])O") -smiles(R"C1(CCC(C=C1)CC(=O)C(=O)[O-])O") -smiles(R"c1ccccc1CC(=O)N") -smiles(R"c1ccccc1CC(=O)[O-]") -smiles(R"c1ccccc1C(C(=O)OC)CC(=O)[O-]") -smiles(R"c1c(cccc1)C(C(=O)[O-])CO") -smiles(R"c1cc(c(c(c1)C)C(=O)[O-])O") -smiles(R"c1c(c(ccc1CC(=O)[O-])O)O") -smiles(R"C1(=CC=C(CC1)[C@@H](CCC=C(C)C)C)C") -smiles(R"c1ccccc1[C@H](CC(=O)[O-])[NH3+]") -smiles(R"c1ccccc1[C@H](/C(=N/C)/C)O") -smiles(R"c1c(c(ccc1[C@H](C[NH2+]C)O)O)O") -smiles(R"c1cc(ccc1)[C@H](C#N)O") -smiles(R"c1cccc(c1)[C@H](C)O") -smiles(R"c1cccc(c1)[C@@H](C(=O)[O-])O") -smiles(R"c1cccc(c1)[C@H](C(=O)[O-])O") -smiles(R"c1(ccc(cc1)Cl)CC#N") -smiles(R"c1(ccc(cc1)Cl)CC(=O)[O-]") -smiles(R"c1(c(c(c(c(c1Cl)Cl)Cl)Cl)Cl)[O-]") -smiles(R"c1(c(c(cc(c1Cl)Cl)Cl)Cl)[O-]") -smiles(R"c1(c(cc(cc1)Cl)Cl)O") -smiles(R"c1(c(c(c(c(c1Cl)Cl)[O-])Cl)Cl)[O-]") -smiles(R"c1(c(cccc1)Cl)C(=O)[O-]") -smiles(R"c1(ccccc1)CNC=O") -smiles(R"c1cccc(c1)CN=C=S") -smiles(R"c1ccccc1C[NH3+]") -smiles(R"c1(ccccc1)C=O") -smiles(R"c1cc(ccc1)CO") -smiles(R"C1CC(CC(C1C)O)C(=C)C") -smiles(R"c1(c(cccc1)C(=O)/C=C/C=C(\C(=O)[O-])/O)N") -smiles(R"c1ccc(c(c1)C(=O)C[C@@H](C(=O)[O-])[NH3+])NC=O") -smiles(R"c1ccc(c(c1)C(=O)C[C@H](C(=O)[O-])[NH3+])NC=O") -smiles(R"c1ccccc1C(=O)C(C)O") -smiles(R"c1cc(ccc1C(=O)C)O") -smiles(R"c1(ccccc1)COC(=O)C") -smiles(R"c1ccccc1C(=O)C(=O)C") -smiles(R"c1cc(ccc1C(=O)CO)O") -smiles(R"c1(c(cccc1)C=O)NC=O") -smiles(R"c1(c(c(c(cc1)C)O)N)C(=O)[O-]") -smiles(R"c1(c(ccc(c1)C)O)O") -smiles(R"c1(c(cccc1C)O)O") -smiles(R"c1c(c(ccc1)C=O)O") -smiles(R"c1cccc(c1)C(=O)[O-]") -smiles(R"c1ccccc1C(=O)OC") -smiles(R"c1cccc(c1)C(=O)OCc1ccccc1") -smiles(R"C1CC(CC=C1C(=O)[O-])C(=C)C") -smiles(R"C1CC(CC(C1(C)O)O)C(=C)C") -smiles(R"c1c(c(ccc1)C(=O)OCC(CC)CCCC)C(=O)OCC(CC)CCCC") -smiles(R"c1(c(c(cc(c1C(=O)[O-])CCCCC)O)C/C=C(/C)\CCC=C(C)C)O") -smiles(R"c1(c(c(cc(c1C(=O)[O-])CCCCC)O)C/C=C(/CCC=C(C)C)\C)O") -smiles(R"c1(cc(cc(c1C(=O)[O-])CCCCC)O)O") -smiles(R"c1(ccccc1C(=O)OC)N") -smiles(R"c1(ccccc1C(=O)[O-])C=O") -smiles(R"c1(c(ccc(c1)C=O)OC)OC") -smiles(R"c1cccc(c1C(=O)[O-])C(=O)CCC(=O)[O-]") -smiles(R"c1(c(c(c(c(c1)C)O)OC)OC)O") -smiles(R"c1c(c(ccc1)C(=O)[O-])C(=O)[O-]") -smiles(R"c1cc(ccc1C(=O)[O-])C(=O)[O-]") -smiles(R"c1cccc(c1C(=O)[O-])NC") -smiles(R"c1cccc(c1C(=O)[O-])NC=O") -smiles(R"c1cccc(c1C(=O)[O-])NC(=O)C") -smiles(R"c1(ccccc1C(=O)[O-])NC(=O)c1ccccc1") -smiles(R"c1(ccccc1C(=O)[O-])NC(=O)CC(=O)[O-]") -smiles(R"c1c(cc(cc1C(=O)[O-])N)O") -smiles(R"c1(ccc(cc1C(=O)[O-])[N+](=O)[O-])N") -smiles(R"c1(ccc(cc1C(=O)[O-])[N+](=O)[O-])O") -smiles(R"c1c(c(ccc1C=O)O)O") -smiles(R"c1cc(c(cc1)C(=O)[O-])O") -smiles(R"c1cc(ccc1C(=O)[O-])OC") -smiles(R"c1c(c(ccc1C(=O)[O-])O)C/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)\C)\C)\C)\C)\C") -smiles(R"c1cc(c(cc1C(=O)[O-])O)O") -smiles(R"C1(C(C(=CC=C1)C(=O)[O-])O)O") -smiles(R"c1(ccc(cc1)C=O)S(=O)(=O)[O-]") -smiles(R"c1(ccc(cc1)CO)S(=O)(=O)[O-]") -smiles(R"c1(ccccc1)CSC#N") -smiles(R"c1(c(cccc1)I)O") -smiles(R"c1(cc(c(c(c1)I)Oc1cc(I)c(O)c(c1)I)I)CC(C(=O)[O-])[NH3+]") -smiles(R"c1(cc(c(c(c1)I)Oc1cc(I)c(O)c(c1)I)I)C[C@@H](C(=O)[O-])[NH3+]") -smiles(R"c1(cc(c(c(c1)I)Oc1cc(I)c(OS(=O)(=O)[O-])c(c1)I)I)CC(C(=O)[O-])[NH3+]") -smiles(R"c1cc(ccc1)N") -smiles(R"c1(ccccc1)NC") -smiles(R"c1cccc(c1)N(C)C") -smiles(R"C1CCCCC1NC=O") -smiles(R"c1(ccc(cc1NC(=O)c1ccccc1)OC)C(=O)[O-]") -smiles(R"c1(ccccc1N)C(=O)C[C@@H](C(=O)[O-])[NH3+]") -smiles(R"c1(c(cccc1)N)C(=O)CC(=O)C(=O)[O-]") -smiles(R"c1(ccc(cc1)N(C(=O)C)O)c1ccccc1") -smiles(R"c1(ccc(cc1)N)C(=O)N[C@H](C(=O)[O-])CCC(=O)[O-]") -smiles(R"c1(c(cccc1)N)C(=O)[O-]") -smiles(R"c1cc(ccc1N)C(=O)[O-]") -smiles(R"c1(ccc(cc1N)C(=O)[O-])O") -smiles(R"C1CCCCC1[NH3+]") -smiles(R"c1(ccccc1)/[N+](=N/c1ccc(cc1)N(C)C)/[O-]") -smiles(R"c1(ccc(cc1)N)O") -smiles(R"c1(ccccc1)NO") -smiles(R"c1(ccccc1)N(=O)(C)C") -smiles(R"c1(ccc(cc1)NOC(=O)C)c1ccccc1") -smiles(R"c1(cc(ccc1N)O)C(=O)C[C@@H](C(=O)[O-])[NH3+]") -smiles(R"c1(cccc(c1N)O)C(=O)C[C@@H](C(=O)[O-])[NH3+]") -smiles(R"c1(ccc(cc1)N=O)N(C)C") -smiles(R"c1(ccc(cc1)NO)N(C)C") -smiles(R"c1c(ccc(c1N)O)O") -smiles(R"c1c(ccc(c1)[N+](=O)[O-])[C@H]([C@H](NC(=O)C(Cl)Cl)COC(=O)C)O") -smiles(R"c1c(ccc(c1)[N+](=O)[O-])[C@H]([C@H](NC(=O)C(Cl)Cl)CO)O") -smiles(R"c1cccc(c1[N+](=O)[O-])[O-]") -smiles(R"c1(c(cccc1)N)S(=O)(=O)[O-]") -smiles(R"c1ccccc1O") -smiles(R"C1CCCCC1=O") -smiles(R"C1CCCCC1O") -smiles(R"c1(ccc(cc1)O)C") -smiles(R"c1cc(cc(c1)O)C") -smiles(R"c1ccccc1OC") -smiles(R"c1(c(cc(cc1)Oc1c(cc(cc1I)C[C@@H](C(=O)[O-])[NH3+])I)I)O") -smiles(R"c1c(cc(cc1O)c1ccccc1)O") -smiles(R"c1(ccccc1O)c1ccccc1S(=O)[O-]") -smiles(R"c1(cc(c(cc1)Oc1cc(I)c(O)c(I)c1)I)C[C@@H](C(=O)[O-])[NH3+]") -smiles(R"c1(ccc(cc1)O)c1cn2c(c(n1)Cc1ccccc1)nc(c2OS(=O)(=O)[O-])Cc1ccccc1") -smiles(R"c1(ccc(cc1)O)c1cn2c(c([nH]1)Cc1ccccc1)nc(c2=O)Cc1ccccc1") -smiles(R"c1(ccc(cc1)O)c1cn2c(c([nH]1)Cc1ccccc1)nc(c2=O)Cc1ccc(cc1)O") -smiles(R"c1(ccc(cc1)O)c1cnc(c(n1)Cc1ccccc1)NC(=O)Cc1ccccc1") -smiles(R"c1(ccc(cc1)O)c1cnc(c(n1)Cc1ccccc1)NC(=O)Cc1ccc(cc1)O") -smiles(R"c1cc(ccc1O)C=C") -smiles(R"c1(ccc(cc1)OCc1cc(oc1)CNC=O)CCNC(=O)CC[C@H](NC(=O)CC[C@H](NC(=O)CC[C@H](C(=O)[O-])[C@H](C(=O)[O-])CCC(=O)[O-])C(=O)[O-])C(=O)[O-]") -smiles(R"c1(ccc(cc1)OCc1cc(oc1)C[NH3+])CCNC(=O)CC[C@H](NC(=O)CC[C@H](NC(=O)CC[C@H](C(=O)[O-])[C@H](C(=O)[O-])CCC(=O)[O-])C(=O)[O-])C(=O)[O-]") -smiles(R"c1cc(ccc1O)/C=C/C") -smiles(R"c1cc(ccc1OC)/C=C/C") -smiles(R"C1=C(CCC(C1=O)C(=C)C)C") -smiles(R"c1c(cc(cc1OC)/C=C/c1ccc(cc1)O)OC") -smiles(R"c1(c(c(c(cc1O)C/C=C(/[CH])\C)O)C)C") -smiles(R"c1(cc(ccc1O)/C=C/C)OC") -smiles(R"c1c(ccc(c1)O)/C=C/C(=O)C") -smiles(R"c1(ccc(cc1)O)/C=C/C(=O)CC(=O)/C=C/c1ccc(cc1)O") -smiles(R"c1cc(ccc1O)/C=C/COC(=O)C") -smiles(R"c1(cc(ccc1O)/C=C/C(=O)NCCc1ccc(cc1)O)OC") -smiles(R"c1c(ccc(c1)O)/C=C/C(=O)NCCCCNC(=[NH2+])N") -smiles(R"c1(ccc(cc1)O)/C=C/C(=O)[O-]") -smiles(R"c1(cccc(c1)O)/C=C/C(=O)[O-]") -smiles(R"c1(ccccc1O)/C=C/C(=O)[O-]") -smiles(R"c1cccc(c1O)CCC(=O)[O-]") -smiles(R"c1(cccc(c1O)CCC(=O)[O-])O") -smiles(R"c1(ccc(cc1O)C[C@@H]1[NH+](CCc2c1cc(c(c2)OC)O)C)O") -smiles(R"c1cc(ccc1O)C[C@@H](C(=O)N[C@H](C(=O)[O-])CCCNC(=[NH2+])N)[NH3+]") -smiles(R"c1cc(ccc1O)C[C@@H](C(=O)[O-])NO") -smiles(R"c1(ccc(cc1)O)CC#N") -smiles(R"c1(cc(ccc1[O-])CC[NH3+])N(=O)=O") -smiles(R"c1(ccc(cc1)O)C(C[NH3+])O") -smiles(R"c1(ccc(cc1O)CC[NH3+])O") -smiles(R"c1cc(ccc1O)C/C=N\O") -smiles(R"c1(c(c(c(c(c1)O)C)C)O)C/C=C(/CC/C=C(/CC/C=C(/CC/C=C(\C)/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)\C)\C)\C)\C)\C") -smiles(R"c1(cc(ccc1[O-])CC=O)[N+](=O)[O-]") -smiles(R"c1(cc(ccc1[O-])CC(=O)[O-])[N+](=O)[O-]") -smiles(R"c1(ccc(cc1)O)C(C(=O)[O-])O") -smiles(R"C1(C(=CC=CC1O)C)(C(=O)[O-])O") -smiles(R"c1(ccc(cc1O)[C@H](C[NH3+])O)O") -smiles(R"c1(ccc(cc1)O)[C@@H](C(=O)[O-])O") -smiles(R"c1(ccccc1OC)I") -smiles(R"c1(c(cccc1)O)CO") -smiles(R"c1(cc(ccc1)O)CO") -smiles(R"c1c(ccc(c1)O)C=O") -smiles(R"c1cc(cc(c1)O)C=O") -smiles(R"c1cc(cc(c1)OC)O") -smiles(R"c1c(cc(c(c1O)C(=O)c1c(cc(cc1C(=O)OC)O)OC)O)C") -smiles(R"c1c(cc(c(c1O)C(=O)c1c(cc(cc1C(=O)[O-])O)OC)O)C") -smiles(R"c1c(cc(c(c1OC(=O)c1cc(c(c(c1)O)O)O)O)O)C(=O)[O-]") -smiles(R"c1c(ccc(c1OC)OC)/C=C/C") -smiles(R"c1c(c(c(cc1)OC)O)C/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/[CH])\C)\C)\C)\C)\C)\C)\C)\C") -smiles(R"c1c(c(c(cc1)OC)O)C/C=C(/[CH])\C") -smiles(R"c1cc(cc(c1OC)OC)CO") -smiles(R"c1ccc(c(c1)OC(=O)C)C(=O)[O-]") -smiles(R"c1c(ccc(c1)OC(=O)[C@H]1CC[C@@H](CC1)C[NH3+])CCC(=O)[O-]") -smiles(R"c1(ccc(cc1)O)C(=O)[O-]") -smiles(R"c1(cccc(c1)O)C(=O)[O-]") -smiles(R"c1(cc(ccc1O)CO)OC") -smiles(R"c1(cc(c(c(c1)OC)O)OC)/C=C/C(=O)[O-]") -smiles(R"c1(cc(c(c(c1)OC)O)OC)/C=C/C(=O)OC[C@H]1OC(=O)[C@@H]([C@H]([C@@H]1O)O)O") -smiles(R"c1(cc(c(c(c1)OC)O)OC)/C=C/C(=O)OC(C(=O)[O-])C(=O)[O-]") -smiles(R"C1(C=CC(C=C1)O)(C(=O)[O-])CC(=O)C(=O)[O-]") -smiles(R"c1(c(ccc(c1)O)C(=O)[O-])NC(=O)c1ccccc1") -smiles(R"c1cccc(c1O)N") -smiles(R"c1(c(c(ccc1)O)N)C(=O)[O-]") -smiles(R"c1(ccc(cc1)O)[O]") -smiles(R"c1(ccc(cc1)O)O") -smiles(R"c1cc(cc(c1)O)O") -smiles(R"c1ccc(c(c1)O)O") -smiles(R"C1CCC(CC1=O)O") -smiles(R"c1(cc(cc(c1)O)O)C") -smiles(R"c1(c(c(ccc1)O)O)CC") -smiles(R"c1(c(ccc(c1)O)O)C/C=C(/CCC=C(C)C)\C") -smiles(R"c1c(c(c(cc1)O)O)C/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/[CH])\C)\C)\C)\C)\C)\C)\C)\C") -smiles(R"c1(c(ccc(c1)O)O)C/C=C(/CCC=C(C)C)\CO") -smiles(R"c1c(c(c(cc1)O)O)C/C=C(/[CH])\C") -smiles(R"c1(cc(c(cc1)O)OC)/C=C/C(=O)CC(=O)/C=C/c1cc(c(cc1)O)OC") -smiles(R"c1(cc(c(cc1)O)OC)/C=C/C(=O)CC(=O)CCc1cc(c(cc1)O)OC") -smiles(R"c1(cc(c(cc1)O)OC)CCC(=O)CC(=O)CCc1cc(c(cc1)O)OC") -smiles(R"c1c(ccc(c1O)O)/C=C/C(=O)NCCCC[NH3+]") -smiles(R"c1(cccc(c1O)O)/C=C/C(=O)[O-]") -smiles(R"c1c(cc(c(c1)O)O)CCC(=O)[O-]") -smiles(R"c1cc(cc(c1O)O)/C=C/C(=O)O[C@H](Cc1cc(O)c(cc1)O)C(=O)[O-]") -smiles(R"c1c(ccc(c1O)O)C[C@H](C(=O)[O-])O") -smiles(R"c1cc(cc(c1O)OC)C(=O)[O-]") -smiles(R"c1(cc(cc(c1O)O)Cl)Cl") -smiles(R"c1(ccc(cc1)O)OC(=O)C") -smiles(R"c1(c(c(cc(c1O)OC)O)C)C/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)\C)\C)\C)\C)\C") -smiles(R"c1(c(c(c(c(c1O)OC)OC)O)C)C/C=C(/[CH])\C") -smiles(R"c1(c(ccc(c1)O)O)C(=O)[O-]") -smiles(R"c1c(c(c(cc1)O)O)C(=O)[O-]") -smiles(R"c1c(c(c(cc1O)O)C(=O)[O-])C") -smiles(R"c1(cc(c(cc1)O)O)C(=O)Oc1c(c(cc(c1)O)O)C(=O)[O-]") -smiles(R"c1(c(c(c(c(c1O)OC)O)O)C)C/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)\C)\C)\C)\C)\C") -smiles(R"c1(c(c(c(cc1)O)O)C(=O)[O-])C(=O)[O-]") -smiles(R"c1(c(cc(c(c1)O)O)C(=O)[O-])C(=O)[O-]") -smiles(R"c1(cc(c(cc1)[O-])O)[N+](=O)[O-]") -smiles(R"c1(c(cc(cc1)O)O)O") -smiles(R"c1(cc(cc(c1)O)O)O") -smiles(R"c1c(c(c(cc1O)O)O)C") -smiles(R"c1(c(cc(cc1O)O)O)C(=O)c1ccccc1") -smiles(R"c1(c(cc(cc1O)O)O)C(=O)CC(C)C") -smiles(R"c1(cc(c(c(c1)O)O)O)C(=O)[O-]") -smiles(R"c1(c(c(ccc1)O)O)S(=O)(=O)[O-]") -smiles(R"c1(ccc(cc1)OS(=O)(=O)[O-])c1cn2c(c([nH]1)Cc1ccccc1)nc(c2=O)Cc1ccc(cc1)OS(=O)(=O)[O-]") -smiles(R"c1(ccc(cc1)OS(=O)(=O)[O-])c1cnc(c(n1)Cc1ccccc1)NC(=O)Cc1ccc(cc1)OS(=O)(=O)[O-]") -smiles(R"c1(ccc(cc1)S(=O)(=O)[O-])C(=O)[O-]") -smiles(R"C1CC(=C)C=C2[C@H]1[C@H](CC[C@@H]2[C@H](CCC=C(C)C)C)C") -smiles(R"C1C(=C)C=CC(C1)C(C)C") -smiles(R"C1CC/C(=C\C=C\2/C(=C)CC[C@@H](C2)O)/[C@@H]2CC[C@H]([C@H](C)CCCC(C)C)[C@@]12C") -smiles(R"C1CC/C(=C\C=C\2/C(=C)CC[C@@H](C2)O)/[C@@H]2CC[C@H]([C@H](C)CCCC(C)(C)O)[C@@]12C") -smiles(R"C1CC/C(=C\C=C\2/C(=C)CC[C@@H](C2)O)/[C@@H]2CC[C@H]([C@H](C)/C=C/[C@@H](C(C)C)C)[C@@]12C") -smiles(R"C1CC/C(=C\C=C\2/C(=C)CC[C@@H](C2)O)/[C@@H]2CC[C@H]([C@H](C)CC[C@H](C(C)(C)O)O)[C@@]12C") -smiles(R"C1CC/C(=C\C=C\2/C(=C)[C@H](C[C@@H](C2)O)O)/[C@@H]2CC[C@H]([C@H](C)CCCC(C)(C)O)[C@@]12C") -smiles(R"C1CC/C(=C\C=C\2/C(=C)[C@H](C[C@@H](C2)O)O)/[C@@H]2CC[C@H]([C@H](C)CC[C@H](C(C)(C)O)O)[C@@]12C") -smiles(R"C1CC/C(=C\C=C\2/C(=C)[C@H](C[C@@H](C2)O)O)/[C@@H]2CC[C@H]([C@H](C)CCC(=O)C(C)(C)O)[C@@]12C") -smiles(R"C1CC/C(=C\C=C\2/C(=C)[C@H](C[C@@H](C2)O)O)/[C@@H]2CC[C@H]([C@H](C)CC(C(=O)C(C)(C)O)O)[C@@]12C") -smiles(R"C1CC/C(=C\C=C\2/C(=C)[C@H](C[C@@H](C2)O)O)/[C@@H]2CC[C@H]([C@H](C)CC=O)[C@@]12C") -smiles(R"C1CC/C(=C\C=C\2/C(=C)[C@H](C[C@@H](C2)O)O)/[C@@H]2CC[C@H]([C@H](C)CCO)[C@@]12C") -smiles(R"C1CC/C(=C\C=C\2/C(=C)[C@H](C[C@@H](C2)O)O)/[C@@H]2CC[C@H]([C@H](C)CC(=O)[O-])[C@@]12C") -smiles(R"C1(=CCC(=C(C)C)CC1)C") -smiles(R"C1=C(CCC(=CCCC(=C1)C)C)C(C)C") -smiles(R"C1C=C(CCC=C(CCC1=C(C)C)C)C") -smiles(R"C1C=C(CCC=C(CCC1C(=C)C)C)C") -smiles(R"C1(CC=C(CCC=C(CC=C1)C)C)(C)C") -smiles(R"C1(=CCCC(=CCC(C=CC1=O)(C)C)C)C") -smiles(R"C1(=CCCC(=CCC(C=CC1O)(C)C)C)C") -smiles(R"C1(CCCC(=CCCC(=C)C=C1)C)(C)C") -smiles(R"C1/C(=C(\CCC=C(C)C)/C)/CCC(=C1)C") -smiles(R"C1C(=CC/C(=C(/CCC=C(C)C)\C)/C1)C") -smiles(R"C1C=C(CCC=C(CC[C@H]1C(=C)C)C)C") -smiles(R"C1C=C(CCC=C(CC[C@H]1C(=C)C=O)C)C") -smiles(R"C1C=C(CCC=C(CC[C@H]1C(=C)CO)C)C") -smiles(R"C1C=C(CCC=C(CC[C@H]1C(=C)C(=O)[O-])C)C") -smiles(R"C1CC=C(CC[C@@H](C=CC1=C)C(C)C)C") -smiles(R"C1CC=C(CC[C@H](C=CC1=C)C(C)C)C") -smiles(R"C1CC(=C(C)C)C(=O)C[C@@H]1C") -smiles(R"c1(cccc(CC(=O)[O-])c1)O") -smiles(R"C1CC(=CC[C@@H]1/C(=C/CC=C(C)C)/C)C") -smiles(R"C1C=C(C=C[C@H]1[C@@H](CCC=C(C)C)C)C") -smiles(R"C1C=C(CC[C@@H]1C(O)(C)C)C") -smiles(R"C1C=C(CC[C@H]1C(O)(C)C)C") -smiles(R"C1C(C(=C(C[C@H]1O)C)/C=C/C(=C/C=C/C(=C/C=O)/C)/C)(C)C") -smiles(R"[C@]1(C=CC=C[C@@H]1O)(C(=O)[O-])O") -smiles(R"C1(CC/C(=C\C(=O)C(=O)[O-])/C=C1)O") -smiles(R"C1CCC([C@H]2[C@]1([C@@H]1[C@@](CC2)([C@H]2[C@](CC1)([C@@H]([C@](CC2)(C)O)CC[C@H](C1=CCC(=CC1)C)C)C)C)C)(C)C") -smiles(R"C1CCC([C@@H]2[C@@]1([C@H]1[C@H](CC2)[C@@H](C(=CC1)C=C)C)C)(C)C") -smiles(R"C1CCC([C@@H]2[C@@]1([C@H]1[C@H](CC2)[C@@H](C(=C[C@H]1O)C=C)C)C)(C)C") -smiles(R"C1CCC([C@H]2CC[C@@]34CC(=C)[C@@H](CC[C@H]4[C@]12C)C3)(C)C") -smiles(R"C1CCC([C@H]2CC[C@@]34C=C([C@@H](CC[C@H]4[C@]12C)C3)C)(C)C") -smiles(R"C1CCC([C@@H]2CC[C@]3([C@@]4(CC[C@@H]5[C@](CC[C@H](O)C5(C)C)([C@H]4CC[C@@H]3[C@@]12C)C)C)C)(C)C") -smiles(R"C1CC[C@@]([C@@H]2CCc3cc(ccc3[C@@]12C)C(C)C)(C)C=O") -smiles(R"C1CC[C@@]([C@@H]2CCc3cc(ccc3[C@@]12C)C(C)C)(C)CO") -smiles(R"C1CC[C@@]([C@@H]2CCc3cc(ccc3[C@@]12C)C(C)C)(C)C(=O)[O-]") -smiles(R"C1CC[C@@]([C@@H]2CC=C3C=C(CC[C@@H]3[C@@]12C)C(C)C)(C)CO") -smiles(R"C1CC[C@@]([C@@H]2CC=C3C[C@](CC[C@@H]3[C@@]12C)(C=C)C)(C)C=O") -smiles(R"C1CC[C@@]([C@@H]2CC=C3C[C@](CC[C@@H]3[C@@]12C)(C=C)C)(C)CO") -smiles(R"C1CC[C@@]([C@@H]2CCC3=CC(=CC[C@@H]3[C@@]12C)C(C)C)(C)C=O") -smiles(R"C1CC[C@@]([C@@H]2CCC3=CC(=CC[C@@H]3[C@@]12C)C(C)C)(C)CO") -smiles(R"C1CC[C@@]([C@@H]2CC=C3C=C(CC[C@@H]3[C@@]12C)C(C)C)(C)C(=O)[O-]") -smiles(R"C1CC[C@]([C@@H]2CC=C3C=C(CC[C@@H]3[C@@]12C)C(C)C)(C=O)C") -smiles(R"C1CC[C@]([C@@H]2CC=C3C=C(CC[C@@H]3[C@@]12C)C(C)C)(C(O)O)C") -smiles(R"C1CCC([C@@H]2CC[C@@]3([C@H](CC[C@@H]4[C@]5(CC[C@@H]([C@@H]5CC[C@@]34C)C(=C)C)C)[C@@]12C)C)(C)C") -smiles(R"C1CCC([C@@H]2CC[C@@]3([C@H](CC[C@@H]4[C@]5(CC[C@@H]([C@@H]5CC[C@@]34C)C(C)(C)O)C)[C@@]12C)C)(C)C") -smiles(R"C1=C(CC[C@@H]2C(=C)CC[C@@H](C(C)C)[C@H]12)C") -smiles(R"C1=C(CC[C@@H]2C(=C)CC[C@H](C(C)C)[C@@H]12)C") -smiles(R"C1=C(CC[C@H]2C(=C)CC[C@@H](C(C)C)[C@H]12)C") -smiles(R"C1CCC([C@@H]2CC=C([C@@H]([C@@]12C)CC/C(=C/CO)/C)C)(C)C") -smiles(R"C1=C(CC[C@@H]2C(=CC[C@@H](C(C)C)[C@H]12)C)C") -smiles(R"C1=C(CC[C@@H]2[C@@H](C(=C)CC1)CC2(C)C)C") -smiles(R"C1=C(CC[C@@H]2[C@H](C(=C)CC1)CC2(C)C)C") -smiles(R"C1=C(CC[C@H]2[C@H](C(=C)CC1)CC2(C)C)C") -smiles(R"C1=C(CC[C@@H](C1)C(=C)C)CO") -smiles(R"C1=C(C=C[C@H](C1)[C@H](CCC=C(C)C)C)C") -smiles(R"C1=C(CC[C@@H](C1=O)C(=C)C)C") -smiles(R"C1(=CC=C[C@@H]([C@H]1[NH3+])O)C(=O)[O-]") -smiles(R"C1(=CC=C[C@@H]([C@@H]1O)O)CC") -smiles(R"C1(=CC=C([C@H]([C@H]1O)O)C(=O)[O-])C(C)C") -smiles(R"c1c(ccc[n+]1C)C(=O)[O-]") -smiles(R"c1c(c(c(c(n1)C)O)CO)CO") -smiles(R"C1CCCC(=N1)C(=O)[O-]") -smiles(R"c1(c(c(c(cn1)COP(=O)([O-])[O-])C=O)O)C") -smiles(R"C1=CC=C(C(=N)C1=O)C(=O)[O-]") -smiles(R"C1CCCC[NH2+]1") -smiles(R"C1CC(CC(=O)C1C)C(=C)C") -smiles(R"C1=CC=CC(=O)C1=O") -smiles(R"c1c(ccc(O)c1OC)/C=C/CO") -smiles(R"c1c(ccc(O)c1OC)/C=C/COC(=O)C") -smiles(R"c1ccc(c(O)c1O)O") -smiles(R"C1C(CCC(O)(C)C1=O)C(=C)C") -smiles(R"C1=CC(=C(C(=O)C)C(=O)[C@]1(c1c(O)c(C)c(O)c(c1O)C(=O)C)C)[O-]") -smiles(R"C1/C(=C/C)/C(=O)O[C@@H]2CCN3CC=C(COC(=O)[C@](O)([C@@H]1C)C)[C@H]23") -smiles(R"C1/C(=C/C)/C(=O)O[C@@H]2CC[N+]3(CC=C(COC(=O)[C@](O)([C@@H]1C)C)[C@H]23)[O-]") -smiles(R"C1=CC=C(C(=O)[O-])[C@@H]([C@H]1OC(=C)C(=O)[O-])[NH3+]") -smiles(R"C1=CC=C(C(=O)[O-])[C@@H]([C@H]1OC(=C)C(=O)[O-])O") -smiles(R"C1(=C/C(=C\C(=O)[O-])/OC1=O)Cl") -smiles(R"[C@]1(C(=C)[C@H]2CC[C@@H]1C2)(CCC=C(C)C)C") -smiles(R"C1(=CC[C@H](CC1)C1=CCCC(C1)(C)C)C") -smiles(R"C1(=CC[C@H](CC1)C(=C)CCC=C(C)C)C") -smiles(R"C1(=C(C[C@H](CC1(C)C)O)C)/C=C/C(=C/C=C/C(=C/C=C/C=C(/C=C/C=C(/C=C/[C@]12[C@](O1)(C[C@H](CC2(C)C)O)C)\C)\C)/C)/C") -smiles(R"C1(=C(C[C@H](CC1(C)C)O)C)/C=C/C(=C/C=C/C(=C/C=C/C=C(/C=C/C=C(/C=C/C1=C(CCCC1(C)C)C)\C)\C)/C)/C") -smiles(R"C1(=C(C[C@H](CC1(C)C)O)C)/C=C/C(=C/C=C/C(=C/C=C/C=C(/C=C/C=C(/C=C/C1=C(C[C@H](CC1(C)C)O)C)\C)\C)/C)/C") -smiles(R"C1(=C(C[C@H](CC1(C)C)O)C)/C=C/C(=C/C=C/C(=C/C=C/C=C(/C=C/C=C(/C=O)\C)\C)/C)/C") -smiles(R"C1(=C(C[C@H](CC1(C)C)O)C)C=O") -smiles(R"C1(=C(C[C@H](CC1(C)C)O[C@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)C)/C=C/C(=C/C=C/C(=C/C=C/C=C(/C=C/C=C(/C=C/C1=C(C[C@H](CC1(C)C)O[C@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)C)\C)\C)/C)/C") -smiles(R"C1(=CC[C@@H](CC1=O)C(=C)C)C") -smiles(R"C1(=CC[C@H](CC1=O)C(=C)C)C") -smiles(R"C1=C(C[C@H]([C@@H](C1=O)O)[NH3+])C(=O)[O-]") -smiles(R"C1=C(C)[C@H]([C@H](C=C1)O)O") -smiles(R"c1c(C[C@@H](C(=O)[O-])[N+](C)(C)C)nc[nH]1") -smiles(R"c1c(C[C@@H](C(=O)[O-])O)[nH]cn1") -smiles(R"c1c(C[C@@H](NC(=O)CC(=O)[O-])C(=O)[O-])c2c([nH]1)cccc2") -smiles(R"c1cc(Cl)c(cc1NC(=O)CC(=O)[O-])Cl") -smiles(R"C1(CC(C=N1)O)C(=O)[O-]") -smiles(R"c1cc(cnc1)[C@H]1[NH+](C)CCC1") -smiles(R"c1cc(c[n+](c1)[C@@H]1O[C@@H]([C@H]([C@H]1O)O)CO)C(=O)N") -smiles(R"c1(cc(c(nc1)C)O)C(=O)[O-]") -smiles(R"c1cc(cnc1O)[C@@H]1[NH+](C)CCC1") -smiles(R"c1cc(cnc1O)[C@H]1[NH+](C)CCC1") -smiles(R"c1(c(ccn(c1=O)C)OC)C#N") -smiles(R"c1(ccc(nc1)O)C(=O)[O-]") -smiles(R"c1(ccc(nc1O)O)C(=O)[O-]") -smiles(R"c1ccc[nH]1") -smiles(R"C1CCCOC1=O") -smiles(R"C1(C(C(C(OC1OP(=O)([O-])[O-])CO)O)O)NC(=O)C") -smiles(R"c1c(cc(O)c2c1O[C@]1(C(=CC(=O)C=C1OC)C(=O)OC)C2=O)C") -smiles(R"c1c(cc(O)c2c1O[C@@]1(C(=CC(=O)C=C1OC)C(=O)OC)C2=O)C") -smiles(R"[C@]1(C(=CC(=O)CC1(C)C)C)(/C=C/C(=C\C=O)/C)O") -smiles(R"[C@]1(C(=CC(=O)CC1(C)C)C)(/C=C/C(=C\C(=O)[O-])/C)O") -smiles(R"C1CCC(=O)CC1=O") -smiles(R"c1(cc(c(=O)cc(c1)O)[O-])C(=O)[O-]") -smiles(R"c1c(cc(OC)c(O)c1O)C(=O)[O-]") -smiles(R"c1ccc(O[C@H]2[C@@H]([C@H]([C@@H]([C@@H](CO)O2)O)O)O)c(c1)/C=C\C(=O)[O-]") -smiles(R"C1CCC(=O)C(=O)C1") -smiles(R"c1c(C)c(=O)[nH]c(=O)n1[C@H]1C[C@H](O)[C@H](O1)COP(=O)(OP(=O)([O-])OC1O[C@@H]([C@H](O)[C@H](O)[C@H]1O)CO)[O-]") -smiles(R"c1c(C)c(=O)[nH]c(=O)n1[C@H]1C[C@H](O)[C@H](O1)COP(=O)(OP(=O)([O-])OC1O[C@@H]([C@H](O)[C@H](O)[C@H]1O)C(=O)[O-])[O-]") -smiles(R"c1c(C)c(=O)[nH]c(=O)n1[C@H]1C[C@H](O)[C@H](O1)COP(=O)(OP(=O)([O-])OC1O[C@@H](C(=O)[C@H](O)[C@H]1O)C)[O-]") -smiles(R"c1c(c(c(=O)oc1/C=C/CCCC/C=C/C=C/C)C=O)OC") -smiles(R"c1c(c(c(=O)oc1/C=C/CCCC/C=C/C=C/C)CO)OC") -smiles(R"c1c(cc(=O)oc1C(=O)[O-])C(=O)[O-]") -smiles(R"C1C[C@H]2C3=CC[C@H]4[C@H](C)[C@@H](O)CC[C@]4(C)[C@H]3CC[C@@]2([C@H]1[C@H](C)CCC(=C)C(C)C)C") -smiles(R"C1C[C@H]2C3=CC[C@H]4[C@H](C)[C@@H](O)CC[C@]4(C)[C@H]3CC[C@@]2([C@H]1[C@H](C)CC/C(=C/C)/C(C)C)C") -smiles(R"C1=C([C@H]2[C@@]3([C@H]1CC(C3)(C)C)[C@@H]([C@@H](C2)O)C)C(=O)[O-]") -smiles(R"C1=C([C@H]2[C@@]3([C@H]1CC(C3)(C)C)[C@@H](C(=O)C2)C)C(=O)[O-]") -smiles(R"C1(=C[C@H]2[C@@]3([C@H]1CC(=O)O[C@H]3C)CC(C2)(C)C)C(=O)[O-]") -smiles(R"C1(=C[C@H]2[C@@]3([C@H]1COC(=O)[C@@]13CO1)CC(C2)(C)C)C(=O)[O-]") -smiles(R"C1(=C[C@H]2[C@@]3([C@H]1COC(=O)[C@@]13CO1)C=C([C@H]2C)C)C(=O)[O-]") -smiles(R"C1(=C[C@H]2[C@@]3([C@H]1COC(=O)C3=C)CC(C2)(C)C)C(=O)[O-]") -smiles(R"C1(=C[C@H]2[C@@]3([C@H]1COC(=O)[C@H]3C)CC(C2)(C)C)C(=O)[O-]") -smiles(R"C1(C[C@@H]2[C@]3([C@@H](CC[C@H]3C(=C2)C)C)C1)(C)C") -smiles(R"C1(C[C@@H]2[C@]3([C@@H](CC[C@H]3C(=C2)C=O)C)C1)(C)C") -smiles(R"C1(C[C@@H]2[C@]3([C@@H](CC[C@H]3C(=C2)CO)C)C1)(C)C") -smiles(R"C1(=C([C@H]2[C@@](CC1)(CCC(C2)(C)C)C)CC[C@H]1C(=CC[C@@H]2[C@@]1(CC[C@@H](C2(C)C)O)C)C)C") -smiles(R"C1(=C([C@H]2[C@@](CC1)(CC[C@H]([C@@H]2C)C)C)CC[C@H]1C(=CC[C@@H]2[C@@]1(CC[C@@H](C2(C)C)O)C)C)C") -smiles(R"C1C([C@@H]2CC[C@@]34[C@@H]([C@]2(CC1)C)CC[C@H](C3)[C@](C4)(C)O)(C)C") -smiles(R"C1C([C@@H]2CC=C3[C@H]([C@]2(CC1)C)CC[C@@](C3)(C)C=C)(C)C") -smiles(R"C1[C@@]([C@@H]2CC=C3[C@H]([C@]2(CC1)C)CC[C@@](C3)(C)C=C)(C=O)C") -smiles(R"C1[C@@]([C@@H]2CC=C3[C@H]([C@]2(CC1)C)CC[C@@](C3)(C)C=C)(CO)C") -smiles(R"C1[C@@]([C@@H]2CC=C3[C@H]([C@]2(CC1)C)CC[C@@](C3)(C)C=C)(C(=O)[O-])C") -smiles(R"C1=C[C@H]2CCCC[C@H]2[C@H](c2cc(c(c(=O)o2)C=O)OC)[C@H]1C") -smiles(R"C1=C([C@H]2C[C@@H]3CCC(=C(CC[C@@]2(CC1)C)C3(C)C)C)C") -smiles(R"C1(C[C@@H]2[C@]([C@@H](C1)O)(CC[C@@]1(C2=CC[C@H]2[C@]1(CC[C@@H]1[C@@]2(CC[C@@H]([C@@]1(CO)C)O[C@@H]1O[C@@H]([C@H]([C@@H]([C@H]1O[C@@H]1O[C@@H]([C@@H]([C@@H]([C@H]1O)O)O)CO)O)O)C(=O)[O-])C)C)C)C)(C)C") -smiles(R"C1C[C@@H]2C[C@@H](CC[C@@]2([C@H]2CC[C@@]3(C(=O)CC[C@H]3[C@H]12)C)C)O") -smiles(R"C1C[C@H]2C[C@@H](CC[C@@]2([C@H]2CC[C@@]3(C(=O)CC[C@H]3[C@H]12)C)C)O") -smiles(R"C1C[C@@H]2CC(=O)CC[C@]2(C)[C@@H]2[C@@H]1[C@@H]1CC[C@@]([C@]1(CC2=O)C)(C(=O)CO)O") -smiles(R"C1C[C@H]2CC(=O)CC[C@]2(C)[C@@H]2[C@@H]1[C@@H]1CC[C@@]([C@]1(CC2=O)C)(C(=O)CO)O") -smiles(R"C1C[C@H]2[C@H]3[C@@H]1C(=C)[C@@]2(CC[C@@H]3C(C)C)C") -smiles(R"C1C[C@@H]2[C@@H]([C@@]3(C1=CC(=O)CC3)C)CC[C@@]1(C(=O)CC[C@@H]21)C") -smiles(R"C1C[C@@H]2[C@H]([C@H]1C)C=C(CC=C2C)C(C)C") -smiles(R"C1C[C@@H]2C(O[C@]1(C)CC2)(C)C") -smiles(R"C1(C[C@H]([C@@]2(CC[C@]3([C@]4([C@@H]([C@@]5([C@H]([C@]([C@H](CC5)O[C@H]5[C@@H]([C@H]([C@@H]([C@H](O5)C(=O)[O-])O)O)O)(CO)C)CC4)C)CC=C3[C@@H]2C1)C)C)C)O)(C)C") -smiles(R"C1(C[C@H]([C@@]2(CC[C@]3([C@]4([C@@H]([C@@]5([C@H]([C@]([C@H](CC5)O)(CO)C)CC4)C)CC=C3[C@@H]2C1)C)C)C)O)(C)C") -smiles(R"C1C[C@@H](C[C@]23[C@H](C[C@@H]4[C@@H]([C@@]12C)CC[C@]1([C@H]4CC[C@@H]1[C@@H](CCCC(C)C)C)C)O3)O") -smiles(R"C1C[C@@H](C[C@@]23[C@@H](C[C@@H]4[C@@H]([C@@]12C)CC[C@]1([C@H]4CC[C@@H]1[C@@H](CCCC(C)C)C)C)O3)O") -smiles(R"C1C[C@@H](CC2=CC=C3[C@H]4[C@](CC[C@@H]3[C@@]12C)([C@H](CC4)[C@H](C)CCC=C(C)C)C)O") -smiles(R"C1C[C@@H](CC2=CC=C3[C@H]4[C@](CC[C@@H]3[C@@]12C)([C@H](CC4)[C@H](C)/C=C/[C@@H](C(C)C)C)C)O") -smiles(R"C1C[C@@H](CC2=CC=C3[C@H]4[C@](CC[C@@H]3[C@@]12C)([C@H](CC4)[C@H](C)/C=C/[C@@H](C(C)C)C)C)OC(=O)CCCCCCCCCCCCCCC") -smiles(R"C1C[C@@H](CC2=CC=C3[C@@H]([C@@]12C)CC[C@]1([C@H]3CC[C@@H]1[C@H](C)/C=C/C(=C)C(C)C)C)O") -smiles(R"C1C[C@@H](CC2=CC=C3[C@@H]([C@@]12C)CC[C@]1([C@H]3CC[C@@H]1[C@H](C)CCC(=C)C(C)C)C)O") -smiles(R"C1C[C@@H](CC2=CC=C3[C@@H]([C@@]12C)CC[C@]1([C@H]3CC[C@@H]1[C@H](C)/C=C/C(=C)C(C)C)C)OC(=O)C") -smiles(R"C1C[C@@H](CC2=CC=C3[C@@H]([C@@]12C)CC[C@]1([C@H]3CC[C@@H]1[C@@H](CCCC(C)C)C)C)O") -smiles(R"C1C[C@@H](CC2=CC=C3[C@@H]([C@@]12C)CC[C@]1([C@H]3CC[C@@H]1[C@H](C)CC[C@@H](C(C)C)C)C)O") -smiles(R"C1C[C@@H](C[C@@]2(CC=C3[C@@H]([C@@]12C)CC[C@]1([C@H]3CC[C@@H]1[C@H](C)/C=C/[C@@H](C(C)C)C)C)O)O") -smiles(R"C1C[C@@H](CC2=CC[C@H]3[C@H]4[C@](CC[C@@H]3[C@@]12C)([C@H](CC4)[C@H](C)CCC=C(C)C)C)O") -smiles(R"C1C[C@@H](CC2=CC[C@H]3[C@H]4[C@](CC[C@@H]3[C@@]12C)([C@H](CC4)[C@H](C)CCCC(C)C)C)O") -smiles(R"C1C[C@@H](CC2=CC[C@H]3[C@H]4[C@](CC[C@@H]3[C@@]12C)([C@H](CC4)[C@H](C)CCCC(C)C)C)OC(=O)CCCCCCC/C=C\CCCCCCCC") -smiles(R"C1C[C@@H](CC2=CC[C@H]3[C@H]4[C@](CC[C@@H]3[C@@]12C)([C@H](CC4)[C@H](C)CCCC(C)(C)O)C)O") -smiles(R"C1C[C@@H](CC2=CC[C@H]3[C@H]4[C@](CC[C@@H]3[C@@]12C)([C@H](CC4)[C@H](C)CCCC(C)CO)C)O") -smiles(R"C1C[C@@H](CC2=CC[C@H]3[C@H]4[C@](CC[C@@H]3[C@@]12C)([C@H](CC4)[C@H](C)[C@@H](CCC(C)C)O)C)O") -smiles(R"C1C[C@@H](CC2=CC[C@@H]3[C@@H]([C@@]12C)CC[C@@]1(C)[C@H]3C[C@@H]2O[C@]3(CC[C@@](O3)(C)CO)[C@H]([C@H]12)C)O") -smiles(R"C1C[C@@H](CC2=CC[C@@H]3[C@@H]([C@@]12C)CC[C@@]1(C)[C@H]3C[C@@H]2O[C@]3(CC[C@@](O3)(C)CO)[C@H]([C@H]12)C)O[C@@H]1O[C@@H]([C@H]([C@H](O)[C@H]1O)O)CO") -smiles(R"C1C[C@@H](CC2=CC[C@@H]3[C@@H]([C@@]12C)CC[C@]1([C@H]3CC[C@@H]1[C@H](C)CC[C@@]1(C(C)C)[C@@H](C)O1)C)O") -smiles(R"C1C[C@H](CC2CC[C@@H]3[C@@H]([C@@]12C)CC[C@]1([C@H]3CC[C@@H]1O)C)O") -smiles(R"C1C[C@@H](CC2=CC[C@@H]3[C@H](CC[C@]4(C)[C@H](CC[C@@H]34)C(=O)C)[C@@]12C)O") -smiles(R"C1C[C@@H](CC2=C[C@H]([C@H]3[C@H]4[C@](CC[C@@H]3[C@@]12C)([C@H](CC4)[C@H](C)CCCC(C)C)C)O)O") -smiles(R"C1C[C@@H](CC2=C[C@H]([C@H]3[C@H]4[C@](CC[C@@H]3[C@@]12C)([C@H](CC4)[C@H](C)CCCC(C)(C)O)C)O)O") -smiles(R"C1C[C@@H](CC2=C[C@H]([C@H]3[C@H]4[C@](CC[C@@H]3[C@@]12C)([C@H](CC4)[C@H](C)CCCC(C)CO)C)O)O") -smiles(R"C1=C[C@H](CCC1=C)C(C)C") -smiles(R"C1C[C@@H](CC=C1C)C(=C)C") -smiles(R"C1C[C@H](CC=C1C)C(=C)C") -smiles(R"C1=C[C@H](CCC=C(CC[C@H]1C(C)(C)O)C)C") -smiles(R"C1C[C@H](C(=C)C)C(=O)C[C@@H]1C") -smiles(R"C1C[C@@H](C([C@H]2[C@]1(C1=C(CC2)[C@](CC1)([C@@H](CC/C=C(/CCC=C(C)C)\C)C)C)C)(C)C)O") -smiles(R"C1C[C@H](C[C@H]2[C@@]1(C)[C@H]1CC[C@]3([C@@H](CC[C@@H]3[C@H](C)[C@H](C[C@H](C(C)C)C)O)[C@@H]1CC2)C)O") -smiles(R"C1C[C@H](C[C@@H]2[C@]1([C@@H]1[C@@H](CC2)[C@H]2[C@](CC1)([C@@H]([C@@H](CCC(=O)NCC(=O)[O-])C)CC2)C)C)O") -smiles(R"C1C[C@H](C[C@@H]2[C@]1([C@@H]1[C@@H](CC2)[C@H]2[C@](CC1)([C@@H]([C@@H](CCC(=O)NCC(=O)[O-])C)CC2)C)C)OS(=O)(=O)[O-]") -smiles(R"C1C[C@H](C[C@@H]2[C@]1([C@@H]1[C@@H](C[C@@H]2O)[C@H]2[C@](CC1)([C@H](CC2)[C@@H](CCC(=O)[O-])C)C)C)O") -smiles(R"C1C[C@H](C[C@@H]2[C@]1([C@@H]1[C@@H](C[C@H]2O)[C@H]2[C@](CC1)([C@H](CC2)[C@@H](CCC(=O)[O-])C)C)C)O") -smiles(R"C1C[C@H](C[C@@H]2[C@]1([C@@H]1[C@@H]([C@@H](C2)OS(=O)(=O)[O-])[C@H]2[C@](CC1)([C@H](CC2)[C@@H](CCC(=O)NCC(=O)[O-])C)C)C)O") -smiles(R"C1C[C@H](C[C@@H]2[C@]1([C@@H]1[C@@H]([C@@H]([C@@H]2O)O)[C@H]2[C@](CC1)([C@H](CC2)[C@@H](CCC(=O)NCCS(=O)(=O)[O-])C)C)C)O") -smiles(R"C1C[C@@H](C[C@@H]2CCC3=C([C@@]12C)CC[C@]1([C@H]3CC[C@@H]1[C@@H](CCC(=C)C(C)C)C)C)O") -smiles(R"C1C[C@@H](C[C@@H]2CCC3=C([C@@]12C)CC[C@]1([C@H]3CC[C@@H]1[C@@H](CCC=C(C)C)C)C)O") -smiles(R"C1C[C@@H](C[C@@H]2CCC3=C([C@@]12C)CC[C@]1([C@H]3CC[C@@H]1[C@H](C)CCCC(C)C)C)O") -smiles(R"C1C[C@@H](C[C@@H]2CC=C3[C@@H]([C@@]12C)CC[C@]1([C@H]3CC[C@@H]1[C@@H](CCC(=C)C(C)C)C)C)O") -smiles(R"C1C[C@@H](C[C@@H]2CC=C3[C@@H]([C@@]12C)CC[C@]1([C@H]3CC[C@@H]1[C@H](C)CCCC(C)C)C)O") -smiles(R"C1C[C@@H](C([C@@H]2CC[C@]3([C@H]([C@@]12C)CC[C@@H]1[C@@]3(CC/C/1=C(/CCC=C(C)C)\C)C)C)(C)C)O") -smiles(R"C1C[C@@H](C([C@@H]2CC[C@@]3([C@@H]([C@@]12C)C(=O)C=C1[C@]3(CC[C@@]2([C@H]1C[C@@](CC2)(C)C(=O)[O-])C)C)C)(C)C)O[C@@H]1[C@@H]([C@H]([C@@H]([C@H](O1)C(=O)[O-])O)O)O[C@H]1[C@@H]([C@H]([C@@H]([C@H](O1)C(=O)[O-])O)O)O") -smiles(R"C1C[C@@H](C([C@@H]2CC[C@@H]3[C@]4([C@@]12C4)CC[C@]1([C@]3(CC[C@@H]1[C@@H](CC[C@H](C(=C)C)C)C)C)C)(C)C)O") -smiles(R"C1C[C@@H](C[C@H]2CC[C@@H]3[C@@H]([C@@]12C)CC[C@]1(C)[C@@H]2[C@H](C[C@@H]31)O[C@@]1([C@H]2C)CC[C@@H](CO1)C)O") -smiles(R"C1C[C@@H](C[C@H]2CC[C@@H]3[C@@H]([C@@]12C)CC[C@]1(C)[C@@H]2[C@H](C[C@@H]31)O[C@@]1([C@H]2C)CC[C@@H](CO1)C)O[C@@H]1O[C@@H]([C@H]([C@H](O)[C@H]1O)O)CO") -smiles(R"C1C[C@H](C[C@H]2CC[C@@H]3[C@@H]([C@@]12C)CC[C@]1([C@H]3CC[C@@H]1[C@@H](CCC(=O)NCCS(=O)(=O)[O-])C)C)O") -smiles(R"C1C[C@H](C[C@H]2CC[C@@H]3[C@@H]([C@@]12C)CC[C@]1([C@H]3CC[C@@H]1[C@@H](CCC(=O)NCCS(=O)(=O)[O-])C)C)OS(=O)(=O)[O-]") -smiles(R"C1C[C@H](C[C@H]2CC[C@@H]3[C@@H]([C@@]12C)CC[C@]1([C@H]3CC[C@@H]1[C@@H](CCC(=O)[O-])C)C)O") -smiles(R"C1C[C@@H](C[C@@H]2CC[C@@H]3[C@@H]([C@@]12C)CC[C@]1([C@H]3CC[C@@H]1C(=O)C)C)O") -smiles(R"C1C[C@@H](C[C@H]2CC[C@@H]3[C@@H]([C@@]12C)CC[C@]1([C@H]3CC[C@@H]1C(=O)C)C)O") -smiles(R"C1C[C@@H](C[C@@H]2CC[C@@H]3[C@@H]([C@@]12C)CC[C@]1([C@H]3CC[C@@H]1O)C)O") -smiles(R"C1C[C@H](C[C@H]2CC[C@@H]3[C@@H]([C@@]12C)C[C@@H]([C@]1([C@H]3CC[C@@H]1[C@@H](CCC(=O)[O-])C)C)O)O") -smiles(R"C1C[C@H](C[C@H]2C[C@H]([C@@H]3[C@@H]([C@@]12C)CC[C@]1([C@H]3CC[C@@H]1[C@@H](CCC(=O)NCC(=O)[O-])C)C)O)O") -smiles(R"C1C[C@H](C[C@H]2C[C@H]([C@@H]3[C@@H]([C@@]12C)CC[C@]1([C@H]3CC[C@@H]1[C@@H](CCC(=O)NCCS(=O)(=O)[O-])C)C)O)O") -smiles(R"C1C[C@H](C[C@H]2C[C@H]([C@@H]3[C@@H]([C@@]12C)CC[C@]1([C@H]3CC[C@@H]1[C@@H](CCC(=O)[O-])C)C)O)O") -smiles(R"C1C[C@H](C[C@H]2C[C@H]([C@@H]3[C@@H]([C@@]12C)C[C@@H]([C@]1([C@H]3CC[C@@H]1[C@H](C)CCCC(C)C)C)O)O)O") -smiles(R"C1C[C@H](C[C@H]2C[C@H]([C@@H]3[C@@H]([C@@]12C)C[C@@H]([C@]1([C@H]3CC[C@@H]1[C@@H](CCC(=O)NCC(=O)[O-])C)C)O)O)O") -smiles(R"C1C[C@H](C[C@H]2C[C@H]([C@@H]3[C@@H]([C@@]12C)C[C@@H]([C@]1([C@H]3CC[C@@H]1[C@@H](CCC(=O)[O-])C)C)O)O)O") -smiles(R"C1C[C@H](C[C@H]2C[C@H]([C@@H]3[C@@H]([C@@]12C)C[C@H]([C@]1([C@H]3CC[C@@H]1[C@@H](CCC(=O)[O-])C)C)O)O)O") -smiles(R"C1C[C@H](C[C@H]2C[C@H]([C@@H]3[C@@H]([C@@]12C)CC(=O)[C@]1([C@H]3CC[C@@H]1[C@@H](CCC(=O)[O-])C)C)O)O") -smiles(R"C1C[C@H](C[C@H]2C[C@@H](O)[C@@H]3C(C[C@H](O)[C@]4(C)[C@H](CC[C@@H]34)[C@@H](CC[C@H](C(COS(=O)(=O)[O-])CO)O)C)[C@@]12C)O") -smiles(R"C1C[C@H](C[C@H]2C[C@@H](O)[C@H]3[C@@H]4CC[C@@H]([C@]4([C@H](C[C@@H]3[C@@]12C)O)C)[C@@H](CC[C@H](C(CO)CO)O)C)O") -smiles(R"C1C[C@H](C[C@@H]2C[C@@H](O)[C@H]3[C@@H]4CC[C@H]([C@@H](CCCO)C)[C@]4([C@H](C[C@@H]3[C@@]12C)O)C)O") -smiles(R"C1C[C@H](C[C@@H]2C[C@@H](O)[C@H]3[C@@H]4CC[C@H]([C@@H](CCCOS(=O)(=O)[O-])C)[C@]4([C@H](C[C@@H]3[C@@]12C)O)C)O") -smiles(R"C1C[C@H](C[C@H]2CC(=O)[C@@H]3[C@@H]([C@@]12C)C[C@@H]([C@]1([C@H]3CC[C@@H]1[C@@H](CCC(=O)[O-])C)C)O)O") -smiles(R"C1C[C@@H](C[C@H]([C@]1(C)O)O)C(=C)C") -smiles(R"C1C[C@H](C[C@@H]([C@@]1(C)O)O)C(=C)C") -smiles(R"C1(=C)[C@H](C([C@H](CC1)O)(C)C)CC/C(=C/CCC1=C(CC[C@@]2([C@H]1CC(CC2)(C)C)C)C)/C") -smiles(R"C1C[C@@H](C[C@@H]([C@@H]1C)O)C(=C)C") -smiles(R"C1C[C@@H](C[C@@H]([C@H]1C)O)C(=C)C") -smiles(R"C1C[C@@H](C[C@H]([C@@H]1C)O)C(=C)C") -smiles(R"C1C[C@@H](C[C@H]([C@H]1C)O)C(=C)C") -smiles(R"C1C[C@H](C[C@@H]([C@@H]1C)O)C(=C)C") -smiles(R"C1C[C@H](C[C@@H]([C@H]1C)O)C(=C)C") -smiles(R"C1C[C@H](C[C@H]([C@@H]1C)O)C(=C)C") -smiles(R"C1C[C@H](C[C@H]([C@H]1C)O)C(=C)C") -smiles(R"C1C[C@@H](CC(=O)[C@@H]1C)C(=C)C") -smiles(R"C1C[C@@H](CC(=O)[C@H]1C)C(=C)C") -smiles(R"C1C[C@H](CC(=O)[C@@H]1C)C(=C)C") -smiles(R"C1C[C@H](CC(=O)[C@H]1C)C(=C)C") -smiles(R"C1C[C@H]([C@H]2[C@@]3([C@@H]1C)[C@@H]2[C@](CC3)(O)C)C(C)C") -smiles(R"C1C[C@H]([C@H]2[C@@]3([C@@H]1C)[C@@H]2C(=C)CC3)C(C)C") -smiles(R"C1C[C@H]([C@@H]2CC[C@]3(CC(C)([C@H]1[C@]23O)C)C)C") -smiles(R"C1=C[C@@H]([C@@H](C(=C1)/C=C/C(=O)[O-])O)O") -smiles(R"C1(=C[C@@H]([C@@H](C=C1C(=O)[O-])O)O)C(=O)[O-]") -smiles(R"C1=C[C@@H]([C@@H](C=C1)O)O") -smiles(R"C1=C([C@H]([C@@H](C=C)[C@@H](O1)O[C@H]1[C@H](O)[C@H]([C@H](O)[C@H](O1)CO)O)C[C@H]1c2c(CC[NH2+]1)c1c(cccc1)[nH]2)C(=O)OC") -smiles(R"[C@@]1(C[C@H]([C@@H]([C@@H](C1)O)O)OC(=O)/C=C/c1cc(c(cc1)O)O)(O)C(=O)[O-]") -smiles(R"C1(=C[C@H]([C@H]([C@@H](C1)O)O)O)C(=O)[O-]") -smiles(R"[C@]1(C[C@H]([C@@H](C(=O)C1)O)O)(C(=O)[O-])O") -smiles(R"c1(C[C@H](NC(=O)CC[NH3+])C(=O)[O-])cncn1C") -smiles(R"c1(C[C@H]([NH3+])C=O)c[nH]cn1") -smiles(R"c1(C[C@H]([NH3+])C(=O)[O-])c[nH]cn1") -smiles(R"C1C[C@@H](O)[C@]2(CC[C@@H]3c4c(CC[C@H]3[C@H]12)cc(cc4)O)C") -smiles(R"C1C[C@@H](O)[C@]2(CC[C@@H]3c4c(CC[C@H]3[C@H]12)cc(cc4)O[C@@H]1O[C@H](C(=O)[O-])[C@H]([C@@H]([C@H]1O)O)O)C") -smiles(R"C1C[C@H](O)[C@]2([C@H]3[C@]1([C@@H]1CC[C@](CC1=C[C@H]3OC2=O)(C=C)C)C)C") -smiles(R"C1C[C@H](O)C([C@@H]2CCC3=C([C@@]12C)CC[C@]1([C@]3(CC[C@@H]1[C@H](C)CCC=C(C)C)C)C)(C)C") -smiles(R"C1C[C@H](O)C([C@@H]2CCC3=C([C@@]12C)CC[C@]1([C@]3(CC[C@@H]1[C@H](C)CCCC(C)C)C)C)(C)C") -smiles(R"C1C[C@H](O)C([C@@H]2CCC3=C([C@@]12C)CC[C@]1([C@H]3CC[C@@H]1[C@H](C)CCC=C(C)C)C)(C)C") -smiles(R"C1C[C@H](O)[C@@]([C@@H]2CCC3=C([C@@]12C)CC[C@]1([C@H]3CC[C@@H]1[C@@H](CCC=C(C)C)C)C)(C)C(=O)[O-]") -smiles(R"C1C[C@H](O)[C@]([C@@H]2CC=C3[C@@H]([C@@]12C)CC[C@]1([C@H]3CC[C@@H]1[C@@H](CCCC(C)C)C)C)(C)CO") -smiles(R"C1C[C@H](O)[C@@]([C@@H]2CC=C3[C@@H]([C@@]12C)CC[C@]1([C@H]3CC[C@@H]1[C@@H](CCCC(C)C)C)C)(C)C=O") -smiles(R"C1C[C@H](O)C([C@@H]2CC[C@H]3[C@]4([C@](CC=C3[C@@]12C)([C@H](CC4)[C@H](C)CCC=C(C)C)C)C)(C)C") -smiles(R"C1C[C@H](O)[C@H]([C@@H]2CCC3=C([C@@]12C)CC[C@]1(C3=CC[C@@H]1[C@H](C)CCC(=C)C(C)C)C)C") -smiles(R"C1C[C@H](O)[C@H]([C@@H]2CCC3=C([C@@]12C)CC[C@]1([C@H]3CC[C@@H]1[C@@H](CCC=C(C)C)C)C)C") -smiles(R"C1C[C@H](O)[C@H]([C@@H]2CC=C3[C@@H]([C@@]12C)CC[C@]1([C@H]3CC[C@@H]1[C@@H](CCCC(C)C)C)C)C") -smiles(R"C1C[C@@H](O)[C@H]([C@@H]2CC[C@]3([C@H]([C@@]12C)[C@@H](C[C@@H]1[C@@]3(C[C@H](OC(=O)C)/C/1=C(\C(=O)[O-])/CCC=C(C)C)C)O)C)C") -smiles(R"C1C[C@H](OC(=O)CCCCCCCCCCCCCCC)C([C@@H]2CCC3=C([C@@]12C)CC[C@]1([C@]3(CC[C@@H]1[C@H](C)CCC=C(C)C)C)C)(C)C") -smiles(R"c1ccncc1") -smiles(R"c1ccncc1C(=O)CCC[NH2+]C") -smiles(R"c1cc(ncc1C(=O)CCC[NH2+]C)O") -smiles(R"c1ccncc1C(=O)CCC=O") -smiles(R"c1ccncc1C(=O)CCC(=O)[O-]") -smiles(R"c1cc(ncc1C(=O)CCC(=O)[O-])O") -smiles(R"c1(c(c(ncc1CO)C)O)C[NH3+]") -smiles(R"c1c(cncc1)C(=O)N") -smiles(R"c1(c(cnc(c1O)C)C=O)CO") -smiles(R"c1(c(cnc(c1O)C)COP(=O)([O-])[O-])C[NH3+]") -smiles(R"c1(c(cnc(c1O)C)COP(=O)([O-])[O-])CO") -smiles(R"C1CC(=N[C@@H](C1)C(=O)[O-])C(=O)[O-]") -smiles(R"c1cc(nc(=O)n1[C@@H]1O[C@@H]([C@H]([C@H]1O)O)COP(=O)([O-])OP(=O)([O-])OC1O[C@H](C)[C@H](C[C@@H]1O)O)N") -smiles(R"c1cc(nc(=O)n1[C@@H]1O[C@@H]([C@@H](O)C1)COP(=O)([O-])[O-])N") -smiles(R"c1c(c(nc(=O)n1[C@@H]1O[C@@H]([C@@H](O)C1)COP(=O)([O-])[O-])N)CO") -smiles(R"c1cc(nc(=O)n1[C@@H]1O[C@@H]([C@@H](O)[C@H]1O)COP(=O)([O-])O[C@@]1(C[C@@H](O)[C@@H](O)[C@H](O1)[C@H](O)CO)C(=O)[O-])N") -smiles(R"c1cc(nc(=O)n1[C@@H]1O[C@@H]([C@@H](O)[C@H]1O)COP(=O)([O-])[O-])N") -smiles(R"C1CC[NH2+]C[C@@H]1C(=O)N") -smiles(R"c1(C(C[NH3+])O)ccccc1") -smiles(R"c1(c(c[nH]c(=O)n1)C)N") -smiles(R"c1cc(N)nc(=O)n1[C@@H]1O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OP(=O)(OC1O[C@H](C)C(=O)[C@H](O)[C@H]1O)[O-])[O-]") -smiles(R"c1cc(N)nc(=O)n1[C@@H]1O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OP(=O)(OC1O[C@@H]([C@H](C[C@H]1O)O)C)[O-])[O-]") -smiles(R"c1cc(N)nc(=O)n1[C@@H]1O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OP(=O)(OC1O[C@@H]([C@@H](O)[C@@H]([C@H]1O)O)CO)[O-])[O-]") -smiles(R"c1cc(N)nc(=O)n1[C@@H]1O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OP(=O)(OC1O[C@@H](C(=O)C[C@H]1O)C)[O-])[O-]") -smiles(R"c1cc(N)nc(=O)n1[C@@H]1O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OP(=O)(OCC(O)C(O)C(CO)O)[O-])[O-]") -smiles(R"c1cc(N)nc(=O)n1[C@@H]1O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OP(=O)(OCC(O)CO)[O-])[O-]") -smiles(R"c1cc(N)nc(=O)n1[C@@H]1O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OP(=O)(O[C@H]1O[C@@H]([C@@H](C[C@H]1O)O)C)[O-])[O-]") -smiles(R"c1cc(N)nc(=O)n1[C@@H]1O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OP(=O)(O[C@H]1O[C@@H]([C@H](C[C@H]1O)O)C)[O-])[O-]") -smiles(R"c1cc(N)nc(=O)n1[C@@H]1O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OP(=O)(O[C@H]1O[C@@H](C(=O)C[C@H]1O)C)[O-])[O-]") -smiles(R"c1(C/C(=N/O)/[S-])ccccc1") -smiles(R"C1(CC(=O)[C@@]2(CC[C@]3([C@]4([C@@H]([C@@]5([C@H]([C@]([C@H](CC5)O)(CO)C)CC4)C)CC=C3[C@@H]2C1)C)C)C)(C)C") -smiles(R"c1(cc(O)c2ccccc2c1O)C/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)\C)\C)\C)\C") -smiles(R"C1(=C(C(=O)c2ccccc2C1=O)C)C/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)\C)\C)\C)\C") -smiles(R"c1(cc(O)c2ccccc2c1O)C/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)\C)\C)\C)\C)\C") -smiles(R"C1(=CC(=O)c2ccccc2C1=O)C/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)\C)\C)\C)\C)\C") -smiles(R"c1(c(c(O)c2ccccc2c1O)C)C/C=C(/[CH])\C") -smiles(R"C1(=C(C(=O)c2ccccc2C1=O)C)C/C=C(/[CH])\C") -smiles(R"c1(cc(O)c2ccccc2c1O)C/C=C(/[CH])\C") -smiles(R"C1(=CC(=O)c2ccccc2C1=O)C/C=C(/[CH])\C") -smiles(R"C1CC(=O)[C@]2(CC[C@@H]3c4c(CC[C@H]3[C@H]12)cc(cc4)O)C") -smiles(R"C1CC(=O)[C@]2(CC[C@@H]3c4c(CC[C@H]3[C@H]12)cc(cc4)OS(=O)(=O)[O-])C") -smiles(R"C1CC(=O)[C@]2([C@H]3[C@]1([C@@H]1CC[C@](CC1=C[C@H]3OC2=O)(C=C)C)C)C") -smiles(R"c1(c(c(=O)c2c(o1)cc(cc2O)OC)OC)c1cc(c(cc1)OC)O") -smiles(R"c1(c(c(=O)c2c(o1)cc(cc2O)[O-])OS(=O)(=O)[O-])c1cc(c(cc1)O)O") -smiles(R"c1(c(c(=O)c2c(o1)cc(cc2O)[O-])OS(=O)(=O)[O-])c1cc(c(cc1)O)OS(=O)(=O)[O-]") -smiles(R"c1(c(c(=O)c2c(o1)cc(cc2O)[O-])OS(=O)(=O)[O-])c1cc(c(cc1)OS(=O)(=O)[O-])O") -smiles(R"c1(c(c(=O)c2c(o1)cc(cc2O)OS(=O)(=O)[O-])OS(=O)(=O)[O-])c1cc(c(cc1)O)OS(=O)(=O)[O-]") -smiles(R"C1(=CC(OC(=C1)C(=O)[O-])O)C(=O)[O-]") -smiles(R"C1=CC(=O)C(=C2[C@]1(CC[C@H]1[C@@H](C(=O)O[C@H]21)C)C)C") -smiles(R"C1CC(=O)C(=C2[C@]1(CC[C@H]1[C@@H](C(=O)O[C@H]21)C)C)C") -smiles(R"C1CC(=O)C=C2CC[C@@H]3[C@@H]([C@@]12C)CC[C@]1([C@H]3CC[C@@H]1[C@@H](CCC[C@H](C)C(=O)[O-])C)C") -smiles(R"C1CC(=O)C=C2CC[C@@H]3[C@@H]([C@@]12C)CC[C@]1([C@H]3CC[C@@H]1C(O)C=O)C") -smiles(R"C1CC(=O)C=C2C=C[C@@H]3[C@@H]([C@@]12C)C[C@@H]([C@]1([C@H]3CC[C@@H]1[C@@H](CCC(=O)[O-])C)C)O") -smiles(R"C1CC(=O)C=C2C[C@H]([C@H]3[C@H]4[C@]([C@H](CC4)[C@H](C)CCCC(C)C)(C)[C@H](C[C@@H]3[C@@]12C)O)O") -smiles(R"C1CC(=O)C=C2C[C@H]([C@@H]3[C@@H]([C@@]12C)CC[C@]1([C@H]3CC[C@@H]1[C@H](C)CCCC(C)C)C)O") -smiles(R"C1CC(=O)C=C2C[C@H]([C@@H]3[C@@H]([C@@]12C)C[C@@H]([C@]1([C@H]3CC[C@@H]1[C@@H](CCC(=O)[O-])C)C)O)O") -smiles(R"c1cc(O)c(cc1/C=C/C(=O)[O-])OC") -smiles(R"c1c(c(O)ccc1C=O)OC") -smiles(R"C1=CC(=O)C=CC1=O") -smiles(R"C1(=CC(=O)C(=C(C1=O)C)C)C/C=C(/CC/C=C(/CC/C=C(/CC/C=C(\C)/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)\C)\C)\C)\C)\C") -smiles(R"C1(=C(C(=O)C(=CC1=O)C/C=C(/[CH])\C)C)C") -smiles(R"C1=CC(=O)C=C(C1=O)[O-]") -smiles(R"C1(=CC(=O)C=C(C1=O)OC)C/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)\C)\C)\C)\C)\C") -smiles(R"C1(=C(C(=O)C=C(C1=O)OC)C)C/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)\C)\C)\C)\C)\C") -smiles(R"C1(=C(C(=O)C(=C(C1=O)OC)OC)C)C/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)\C)\C)\C)\C)\C") -smiles(R"C1(=C(C(=O)C(=C(C1=O)OC)[O-])C)C/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)\C)\C)\C)\C)\C)\C") -smiles(R"C1(=C(C(=O)C(=C(C1=O)OC)OC)C)C/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)\C)\C)\C)\C)\C)\C") -smiles(R"C1(=C(C(=O)C(=C(C1=O)OC)OC)C)C/C=C(/[CH])\C") -smiles(R"C1(=CC(=O)C(=C(C)C)CC1)C") -smiles(R"C1CC(=O)C[C@H]2[C@@]1(C)[C@H]1CC[C@]3([C@@H](CC[C@@H]3[C@H](C)[C@@H](O)[C@@H]([C@H](C(C)C)C)O)[C@@H]1CC2)C") -smiles(R"C1CC(=O)C([C@@H]2CCC3=C([C@@]12C)CC[C@]1([C@H]3CC[C@@H]1[C@@H](CCC=C(C)C)C)C)C") -smiles(R"C1CC(=O)C[C@@H]2CC=C3[C@@H]([C@@]12C)CC[C@]1([C@H]3CC[C@@H]1[C@@H](CCCC(C)C)C)C") -smiles(R"C1CC(=O)C[C@@H]2CC=C3[C@@H]([C@@]12C)CC[C@]1([C@H]3CC[C@@H]1[C@@H](CCC[C@H](C)C(=O)[O-])C)C") -smiles(R"C1CC(=O)C[C@@H]2CC[C@@H]3[C@@H]([C@@]12C)CC[C@]1([C@H]3CCC1=O)C") -smiles(R"C1CC(=O)C[C@H]2CC[C@@H]3[C@@H]([C@@]12C)CC[C@]1([C@H]3CCC1=O)C") -smiles(R"C1CC(=O)C[C@@H]2CC[C@@H]3[C@@H]([C@@]12C)CC[C@]1([C@H]3CC[C@@H]1[C@H](C)CCCC(C)C)C") -smiles(R"C1CC(=O)C[C@H]2CC[C@@H]3[C@@H]([C@@]12C)CC[C@]1([C@H]3CC[C@@H]1[C@H](C)CCCC(C)C)C") -smiles(R"C1CC(=O)C[C@H]2CC[C@@H]3[C@@H]([C@@]12C)CC[C@]1([C@H]3CC[C@@H]1[C@@H](CCC(=O)[O-])C)C") -smiles(R"C1CC(=O)C[C@@H]2CC[C@@H]3[C@@H]([C@@]12C)CC[C@@]1([C@H](CC[C@@H]31)O)C") -smiles(R"c1c(c(=O)ccn1C[C@@H](C(=O)[O-])[NH3+])[O-]") -smiles(R"C1CC(=O)[C@H]([C@@H]2CC=C3[C@@H]([C@@]12C)CC[C@]1([C@H]3CC[C@@H]1[C@@H](CCCC(C)C)C)C)C") -smiles(R"C1(=CC(=O)[C@H]([C@@H](C1)O)O)C(=O)[O-]") -smiles(R"C1=C(C(=O)[C@@H]([C@H]([C@@H]1O)O)O)[O-]") -smiles(R"c1(cc(oc(=O)c1)C)[O-]") -smiles(R"c1(CC(=O)C(=O)[O-])cc(c(cc1)O)O") -smiles(R"C1CC(=O)N(C1=O)CC") -smiles(R"C1CC(=O)NCCCCCC(=O)NCCC1") -smiles(R"c1(c(c(=O)[nH]c(n1)N)N)NC[C@@H]([C@@H]([C@@H](COP(=O)([O-])[O-])O)O)O") -smiles(R"c1c(c(=O)[nH]c(=O)n1[C@H]1C[C@H](O)[C@H](O1)COP(=O)(OP(=O)([O-])OC1O[C@@H]([C@@H]([NH3+])[C@@H]([C@H]1O)O)C)[O-])C") -smiles(R"c1c(c(=O)[nH]c(=O)n1[C@H]1C[C@H](O)[C@H](O1)COP(=O)(OP(=O)([O-])O[C@H]1O[C@@H]([C@@H]([NH3+])[C@@H]([C@H]1O)O)C)[O-])C") -smiles(R"c1cc(=O)[nH]c(=O)n1[C@H]1[C@H](O)[C@H](O)[C@@H](COP(=O)(OP(=O)([O-])O[C@@H]2[C@H](O)[C@H]([C@@H](CO2)O)O)[O-])O1") -smiles(R"c1c(c(=O)[nH]c(=O)n1[C@@H]1O[C@@H]([C@H](C1)O)COP(=O)([O-])[O-])C") -smiles(R"c1cc(=O)[nH]c(=O)n1[C@@H]1O[C@@H]([C@H]([C@H]1O)O)COP(=O)([O-])OP(=O)([O-])OC1OC(C)C(C(C1O)O)O") -smiles(R"c1cc(=O)[nH]c(=O)n1[C@@H]1O[C@@H]([C@H]([C@H]1O)O)COP(=O)([O-])OP(=O)([O-])OC1OC[C@@H]([C@@H]([C@H]1O)O)O") -smiles(R"c1cc(=O)[nH]c(=O)n1[C@@H]1O[C@@H]([C@H]([C@H]1O)O)COP(=O)([O-])OP(=O)([O-])OC1O[C@@H](C)[C@@H]([C@H]([C@H]1O)O)O") -smiles(R"c1cc(=O)[nH]c(=O)n1[C@@H]1O[C@@H]([C@H]([C@H]1O)O)COP(=O)([O-])OP(=O)([O-])O[C@@H]1[C@H](O)[C@@H](O)[C@@H](O1)CO") -smiles(R"c1cc(=O)[nH]c(=O)n1[C@@H]1O[C@@H]([C@H]([C@H]1O)O)COP(=O)([O-])OP(=O)([O-])O[C@H]1OC[C@@H]([C@@H]([C@H]1O)O)O") -smiles(R"c1cc(=O)[nH]c(=O)n1[C@@H]1O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OP(=O)(OC1O[C@@H]([C@@H]([C@@H]([C@H]1NC(=O)C)O)OS(=O)(=O)[O-])CO)[O-])[O-]") -smiles(R"c1cc(=O)[nH]c(=O)n1[C@@H]1O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OP(=O)(OC1O[C@@H]([C@@H]([C@@H]([C@H]1NC(=O)C)O)OS(=O)(=O)[O-])COS(=O)(=O)[O-])[O-])[O-]") -smiles(R"c1cc(=O)[nH]c(=O)n1[C@@H]1O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OP(=O)(O[C@H]1O[C@@H]([C@@H]([C@@H]([C@H]1NC(=O)C)O)O)CO)[O-])[O-]") -smiles(R"c1cc(=O)[nH]c(=O)n1[C@@H]1O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OP(=O)([O-])O[C@@H]1[C@@H]([C@H]([C@H]([C@@H](O1)C)NC(=O)C)O)NC(=O)C)[O-]") -smiles(R"c1cc(=O)[nH]c(=O)n1[C@@H]1O[C@@H]([C@@H](O)[C@H]1O)COP(=O)([O-])[O-]") -smiles(R"c1cc(=O)[nH]c(=O)n1[C@@H]1O[C@@H]([C@@H](O)[C@H]1O)COP(=O)(OP(=O)(OC1O[C@H](C)C(=O)[C@H](O)[C@H]1O)[O-])[O-]") -smiles(R"c1cc(=O)[nH]c(=O)n1[C@@H]1O[C@@H]([C@@H](O)[C@H]1O)COP(=O)(OP(=O)(OC1O[C@@H]([C@H]([C@@H]([C@H]1NC(=O)CC(CCCCCCCCCCC)O)OC(=O)CC(O)CCCCCCCCCCC)O)CO)[O-])[O-]") -smiles(R"c1cc(=O)[nH]c(=O)n1[C@@H]1O[C@@H]([C@@H](O)[C@H]1O)COP(=O)(OP(=O)(O[C@H]1O[C@@H]([C@H]([C@@H]([C@H]1NC(=O)C)OC(=C)C(=O)[O-])O)CO)[O-])[O-]") -smiles(R"c1cc(=O)[nH]c(=O)n1[C@@H]1O[C@@H]([C@@H](O)[C@H]1O)COP(=O)(OP(=O)(O[C@H]1O[C@@H]([C@H]([C@@H]([C@H]1NC(=O)C)O)[NH3+])C)[O-])[O-]") -smiles(R"c1cc(=O)[nH]c(=O)n1[C@@H]1O[C@@H]([C@@H](O)[C@H]1O)COP(=O)(OP(=O)(O[C@H]1O[C@@H]([C@H]([C@@H]([C@@H]1NC(=O)C)O)O)CO)[O-])[O-]") -smiles(R"c1cc(=O)[nH]c(=O)n1[C@@H]1O[C@@H]([C@@H](O)[C@H]1O)COP(=O)(OP(=O)(O[C@H]1O[C@@H]([C@H]([C@@H]([C@H]1[NH3+])OC(=O)C[C@H](O)CCCCCCCCCCC)O)CO)[O-])[O-]") -smiles(R"c1cc(=O)[nH]c(=O)n1[C@@H]1O[C@@H]([C@@H](O)[C@H]1O)COP(=O)(OP(=O)(O[C@H]1O[C@@H]([C@H]([C@H](O)[C@H]1NC(=O)C)O)COP(=O)([O-])O[C@@H]1[C@@H]([C@@H](O)[C@H]([C@@H](CO)O1)O)O)[O-])[O-]") -smiles(R"c1cc(=O)[nH]c(=O)n1[C@@H]1O[C@@H]([C@@H](O)[C@H]1O)COP(=O)(OP(=O)(O[C@@H]1O[C@@H](C(=O)[C@@H]([C@H]1NC(=O)C)O)C)[O-])[O-]") -smiles(R"c1(cc(=O)[nH]c(=O)[nH]1)C(=O)[O-]") -smiles(R"c1(c(c(=O)[nH]c(=O)[nH]1)N)NC[C@@H]([C@@H]([C@@H](COP(=O)([O-])[O-])O)O)O") -smiles(R"c1(c(C(=O)OCC(CCCC)CC)cccc1)C(=O)[O-]") -smiles(R"C1(=CC(=O)O[C@@H](C1(C)C)CC(=O)SCCNC(=O)CCNC(=O)[C@@H](C(COP(=O)(OP(=O)(OC[C@H]1O[C@H]([C@@H]([C@@H]1OP(=O)([O-])[O-])O)n1c2c(nc1)c(ncn2)N)[O-])[O-])(C)C)O)C") -smiles(R"C\1(=C\C(=O)[O-])/OC(=O)C=C1") -smiles(R"C1([C@H]2[C@](CCC1)([C@H](C(=CC2)C)CO)C)(C)C") -smiles(R"C1([C@H]2C(=C)CC[C@@H]1C2)(C)C") -smiles(R"C1([C@H]2CCC(=C)[C@@H]1C2)(C)C") -smiles(R"C1[C@@H]2C(=C)[C@H](CC[C@]2([C@H]([C@@H](C2=C([C@H](C[C@@H]1C2(C)C)OC(=O)C)C)OC(=O)C)OC(=O)C)C)OC(=O)C") -smiles(R"C1[C@@H]2C(=C)[C@H](C[C@@H]([C@]2([C@H]([C@@H](C2=C([C@H](C[C@@H]1C2(C)C)OC(=O)C)C)OC(=O)C)OC(=O)C)C)O)OC(=O)C") -smiles(R"C1([C@H]2[C@@]([C@@H]3[C@]([C@@]4(CC[C@]5(CCC(C=C5[C@H]4CC3)(C)C)C)C)(CC2)C)(CC[C@@H]1O)C)(C)C") -smiles(R"C1([C@H]2[C@@]([C@@H]3[C@@](CC2)([C@]2(C(=CC3)[C@H]3[C@@](CC2)([C@@H](CC(C3)(C)C)O)C)C)C)(CC[C@@H]1O)C)(C)C") -smiles(R"[C@@]1([C@H]2[C@@]([C@@H]3[C@@](CC2)([C@]2(C(=CC3)[C@H]3[C@@](CC2)([C@@H](CC(C3)(C)C)O)C)C)C)(CC[C@@H]1O[C@H]1[C@@H]([C@H]([C@@H]([C@H](O1)C(=O)[O-])O)O)O[C@H]1[C@@H]([C@H]([C@H]([C@H](O1)CO)O)O)O[C@H]1[C@@H]([C@@H]([C@H]([C@@H](O1)C)O)O)O)C)(CO)C") -smiles(R"C1[C@@H]2C([C@H](C(=C1)C)C2)(C)C") -smiles(R"C1[C@H]2C[C@H]([C@@H]3[C@@H]([C@]2(CC[C@H]1O)C)C[C@H](O)[C@@]1(C)[C@H]3CC[C@@H]1[C@@H](CCC[C@@H](C)C=O)C)O") -smiles(R"C1[C@H]2C[C@H]([C@@H]3[C@@H]([C@]2(CC[C@H]1O)C)C[C@H](O)[C@@]1(C)[C@H]3CC[C@@H]1[C@@H](CCC[C@@H](C)CO)C)O") -smiles(R"C1[C@H]2[C@@H]3[C@]2([C@]([C@H]1C3)(C)CCC=C(C)C)C") -smiles(R"C1([C@H]2[C@@H](C(=CO1)C)CC[C@@H]2C)O") -smiles(R"C1[C@H]2[C@H](O)C[C@](C1=O)(C)C2(C)C") -smiles(R"C1[C@@H]2C(O[C@](C)(CC2)C1=O)(C)C") -smiles(R"C1[C@@H]2C(O[C@](C)(CC2)[C@@H]1O)(C)C") -smiles(R"C1[C@@H]2C(O[C@](C)(CC2)[C@H]1O)(C)C") -smiles(R"C1[C@@H]2N3C/C(=C/C)/[C@H](C[C@H]3c3c1c1c(cccc1)[nH]3)[C@@]2(C=O)C(=O)OC") -smiles(R"C1[C@H]2N3C/C(=C/C)/[C@H](C[C@H]3c3c1c1c(cccc1)[nH]3)[C@H]2CO") -smiles(R"C1[C@@H]2N3C/C(=C/C)/[C@H](C[C@H]3c3c1c1c(ccc(c1)O)[nH]3)[C@H]2CO") -smiles(R"C1[C@H]2O[C@@H]1O[C@@H]([C@H]2C/C=C\CCCC(=O)[O-])/C=C/[C@H](CCCCC)O") -smiles(R"c1([C@@H]2O[C@@H]([C@H]([C@@H]([C@H]2O)O)O)CO)c(c2c(cc1[O-])oc(cc2=O)c1ccc(cc1)O)O") -smiles(R"C1[C@@H]2OO[C@H]1[C@@H]([C@H]2C/C=C\CCCC(=O)NCCO)/C=C/[C@H](CCCCC)O") -smiles(R"C1[C@@H]2OO[C@H]1[C@@H]([C@H]2C/C=C\CCCC(=O)[O-])/C=C/[C@H](CCCCC)O") -smiles(R"C1[C@@H]([C@@]2([C@@H]([C@]3([C@@H]1OC3)OC(=O)C)[C@@H]([C@@]1(C[C@@H](C(=C(C1(C)C)[C@H](C2=O)OC(=O)C)C)O)O)OC(=O)c1ccccc1)C)O") -smiles(R"C1[C@@H]([C@@]2([C@@H]([C@]3([C@@H]1OC3)OC(=O)C)[C@@H]([C@@]1(C[C@@H](C(=C(C1(C)C)[C@H](C2=O)O)C)O)O)O)C)O") -smiles(R"C1[C@@H]([C@@]2([C@@H]([C@]3([C@@H]1OC3)OC(=O)C)[C@@H]([C@@]1(C[C@@H](C(=C(C1(C)C)[C@@H](O)C2=O)C)O)O)OC(=O)c1ccccc1)C)O") -smiles(R"C1[C@@H](CC(=C(C1(C)C)/C=C/C(=C/C=C\C(=C\C=O)\C)/C)C)O") -smiles(R"C1[C@H](CC=C(C1)C)[C@@](CCC=C(C)C)(C)O") -smiles(R"C1[C@@H](CC(=C(C1(C)C)/C=C/C(=O)C)C)O") -smiles(R"[C@@]1([C@H](C=C(C=C1)C(=O)[O-])O)(C(=O)[O-])O") -smiles(R"C1([C@H](CC=C([C@H]1CC/C(=C/CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)/C)C)O)(C)C") -smiles(R"C1[C@@H](CC([C@H]2CC[C@@]34C=C([C@@H](CC[C@H]4[C@]12C)C3)C)(C)C)O") -smiles(R"C1[C@@H](CC[C@@](O)(C)C1=O)C(=C)C") -smiles(R"C1[C@H](CC[C@](O)(C)C1=O)C(=C)C") -smiles(R"C1[C@H](C[C@@H]2C(=C(C1)C)CC[C@@H]2C)C(=C)C") -smiles(R"C1[C@@H](C[C@H]2CC[C@@H]1[NH+]2C)O") -smiles(R"C1[C@H](C[C@H]2CC[C@@H]1[NH+]2C)O") -smiles(R"C1[C@H](C[C@H]2C[C@H]([C@@H]3[C@@H]([C@]2(C1)C)CC[C@]1([C@H]3CC[C@@H]1[C@@H](CCC[C@@H](C)C(=O)[O-])C)C)O)O") -smiles(R"C1[C@H](C[C@H]2C[C@H]([C@@H]3[C@@H]([C@]2(C1)C)C[C@@H]([C@]1([C@H]3CC[C@@H]1[C@@H](CCC[C@@H](C)C(=O)[O-])C)C)O)O)O") -smiles(R"C1[C@H](C[C@H](N=C1C(=O)[O-])C(=O)[O-])O") -smiles(R"C1[C@H](CC[NH+]2C[C@@H]3C[C@@H](CN4C(=O)CCC[C@H]34)[C@@H]12)O") -smiles(R"C1[C@@H](C([C@](O1)(C)O)(O)O)O") -smiles(R"C1([C@@H]([C@H]1C=C(C)C)COP(=O)(OP(=O)([O-])[O-])[O-])(C)C") -smiles(R"C1([C@H]([C@H]([C@@]2(CC[C@]3([C@]4([C@@H]([C@@]5([C@H]([C@]([C@H](CC5)O)(CO)C)CC4)C)CC=C3[C@@H]2C1)C)C)C)O)O)(C)C") -smiles(R"C1[C@@H]([C@@H](C[C@H]2C(=O)C=C3[C@@H]([C@@]12C)CC[C@]1([C@]3(CC[C@@H]1[C@](C)([C@@H](CCC(C)(C)O)O)O)O)C)O)O") -smiles(R"C1[C@H]([C@@H]([C@@H](C=C1C(=O)[O-])O)O)OC(=O)/C=C/c1ccc(cc1)O") -smiles(R"C1[C@@H]([C@H]([C@@H]([C@H]([C@@H]1[NH3+])O)O)O[C@@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)[NH3+]") -smiles(R"C1([C@@H]([C@H]([C@@H]([C@@H](CO)O1)O)O)NS(=O)(=O)[O-])O") -smiles(R"C1[C@H]([C@H]([C@@H]([C@@H](CO)O1)O)O)O") -smiles(R"C1([C@H]([C@H]([C@@H]([C@H](O1)[C@H](CO)O)O)O)O)OC[C@H]1OC(O[C@H]2C(O[C@@H]3[C@H](C(O[C@@H]4[C@@H]([C@H](O[C@@H]([C@H]4OP(=O)([O-])[O-])[C@H](COC4[C@H]([C@H]([C@@H]([C@H](O4)[C@H](CO)O)O)O)O)O)O[C@@H]4[C@@H]([C@@H](O[C@@H]5[C@@H](C[C@](O[C@@H]5[C@@H](CO)O)(OC[C@@H]5[C@H]([C@@H]([C@H]([C@@H](O5)OC[C@@H]5[C@H]([C@@H]([C@H]([C@H](O5)OP(=O)([O-])[O-])NC(=O)C[C@@H](CCCCCCCCCCC)O)OC(=O)C[C@@H](CCCCCCCCCCC)O)O)NC(=O)C[C@@H](CCCCCCCCCCC)OC(=O)CCCCCCCCCCC)OC(=O)C[C@@H](CCCCCCCCCCC)OC(=O)CCCCCCCCCCCCC)OP(=O)([O-])[O-])C(=O)[O-])O[C@@]5(C(=O)[O-])O[C@@H]([C@@H]([C@@H](C5)O)O)[C@@H](CO)O)O[C@@H]([C@H]4OP(=O)([O-])[O-])[C@H](CO)O)O)O)O[C@@H]([C@H]3O)COC3[C@@H]([C@H]([C@H]([C@H](O3)CO)O)O)O)O)O[C@@H]([C@H]([C@@H]2O)O)CO)[C@@H]([C@H]([C@@H]1O)O)O") -smiles(R"C1([C@H]([C@H]([C@@H]([C@H](O1)[C@H](CO)O)O)O)O)OC[C@@H]([C@H]1O[C@@H]([C@H]([C@H]([C@@H]1OP(=O)([O-])[O-])OC1[C@@H]([C@H]([C@@H]([C@H](O1)COC1[C@@H]([C@H]([C@H]([C@H](O1)CO)O)O)O)O)OC1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)OC1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)O)O)O[C@@H]1[C@@H]([C@@H](O[C@@H]2[C@@H](C[C@](O[C@@H]2[C@@H](CO)O)(OC[C@@H]2[C@H]([C@@H]([C@H]([C@@H](O2)OC[C@@H]2[C@H]([C@@H]([C@H]([C@H](O2)OP(=O)([O-])[O-])NC(=O)C[C@@H](CCCCCCCCCCC)O)OC(=O)C[C@@H](CCCCCCCCCCC)O)O)NC(=O)C[C@@H](CCCCCCCCCCC)OC(=O)CCCCCCCCCCC)OC(=O)C[C@@H](CCCCCCCCCCC)OC(=O)CCCCCCCCCCCCC)OP(=O)([O-])[O-])C(=O)[O-])O[C@@]2(C(=O)[O-])O[C@@H]([C@@H]([C@@H](C2)O)O)[C@@H](CO)O)O[C@@H]([C@H]1OP(=O)([O-])[O-])[C@H](CO)O)O)O") -smiles(R"C1([C@H]([C@H]([C@@H]([C@H](O1)[C@H](CO)O)O)O)O)OC[C@@H]([C@H]1O[C@@H]([C@H]([C@H]([C@@H]1OP(=O)([O-])[O-])OC1[C@@H]([C@H]([C@@H]([C@H](O1)COC1[C@@H]([C@H]([C@H]([C@H](O1)CO)O)O)O)O)OC1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)O)O)O[C@@H]1[C@@H]([C@@H](O[C@@H]2[C@@H](C[C@](O[C@@H]2[C@@H](CO)O)(OC[C@@H]2[C@H]([C@@H]([C@H]([C@@H](O2)OC[C@@H]2[C@H]([C@@H]([C@H]([C@H](O2)OP(=O)([O-])[O-])NC(=O)C[C@@H](CCCCCCCCCCC)O)OC(=O)C[C@@H](CCCCCCCCCCC)O)O)NC(=O)C[C@@H](CCCCCCCCCCC)OC(=O)CCCCCCCCCCC)OC(=O)C[C@@H](CCCCCCCCCCC)OC(=O)CCCCCCCCCCCCC)OP(=O)([O-])[O-])C(=O)[O-])O[C@@]2(C(=O)[O-])O[C@@H]([C@@H]([C@@H](C2)O)O)[C@@H](CO)O)O[C@@H]([C@H]1OP(=O)([O-])[O-])[C@H](CO)O)O)O") -smiles(R"C1([C@H]([C@H]([C@@H]([C@H](O1)[C@H](CO)O)O)O)O)OC[C@@H]([C@H]1O[C@@H]([C@H]([C@H]([C@@H]1OP(=O)([O-])[O-])OC1[C@@H]([C@H]([C@@H]([C@H](O1)COC1[C@@H]([C@H]([C@H]([C@H](O1)CO)O)O)O)O)O)O)O)O[C@@H]1[C@@H]([C@@H](O[C@@H]2[C@@H](C[C@](O[C@@H]2[C@@H](CO)O)(OC[C@@H]2[C@H]([C@@H]([C@H]([C@@H](O2)OC[C@@H]2[C@H]([C@@H]([C@H]([C@H](O2)OP(=O)([O-])[O-])NC(=O)C[C@@H](CCCCCCCCCCC)O)OC(=O)C[C@@H](CCCCCCCCCCC)O)O)NC(=O)C[C@@H](CCCCCCCCCCC)OC(=O)CCCCCCCCCCC)OC(=O)C[C@@H](CCCCCCCCCCC)OC(=O)CCCCCCCCCCCCC)OP(=O)([O-])[O-])C(=O)[O-])O[C@@]2(C(=O)[O-])O[C@@H]([C@@H]([C@@H](C2)O)O)[C@@H](CO)O)O[C@@H]([C@H]1OP(=O)([O-])[O-])[C@H](CO)O)O)O") -smiles(R"C1([C@H]([C@H]([C@@H]([C@H](O1)[C@H](CO)O)O)O)O)OC[C@@H]([C@H]1O[C@@H]([C@H]([C@H]([C@@H]1OP(=O)([O-])[O-])OC1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)O)O[C@@H]1[C@@H]([C@@H](O[C@@H]2[C@@H](C[C@](O[C@@H]2[C@@H](CO)O)(OC[C@@H]2[C@H]([C@@H]([C@H]([C@@H](O2)OC[C@@H]2[C@H]([C@@H]([C@H]([C@H](O2)OP(=O)([O-])[O-])NC(=O)C[C@@H](CCCCCCCCCCC)O)OC(=O)C[C@@H](CCCCCCCCCCC)O)O)NC(=O)C[C@@H](CCCCCCCCCCC)OC(=O)CCCCCCCCCCC)OC(=O)C[C@@H](CCCCCCCCCCC)OC(=O)CCCCCCCCCCCCC)OP(=O)([O-])[O-])C(=O)[O-])O[C@@]2(C(=O)[O-])O[C@@H]([C@@H]([C@@H](C2)O)O)[C@@H](CO)O)O[C@@H]([C@H]1OP(=O)([O-])[O-])[C@H](CO)O)O)O") -smiles(R"C1([C@@H]([C@H]([C@@H]([C@H](O1)CO[C@@H]1[C@@H]([C@H]([C@H]([C@H](O1)CO)O)O)O)O)O)O)O") -smiles(R"C1([C@@H]([C@H]([C@@H]([C@H](O1)COC(=O)C)O)O)O)O") -smiles(R"C1([C@@H]([C@H]([C@@H]([C@H](O1)CO)O[C@@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)O)O)O") -smiles(R"C1([C@@H]([C@H]([C@@H]([C@H](O1)CO)O[C@H]1[C@@H]([C@H]([C@H]([C@H](O1)CO)O)O)O)O)O)O") -smiles(R"C1([C@@H]([C@H]([C@@H]([C@H](O1)CO)O[C@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)O)O)O") -smiles(R"C1([C@@H]([C@H]([C@@H]([C@H](O1)CO)O[C@@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)O)O)OC(=O)C") -smiles(R"C1([C@@H]([C@H]([C@@H]([C@H](O1)CO)O)OC(C(=O)N[C@H](C(=O)NC(CCC(=O)N[C@@H](CCCC[NH3+])C(=O)N[C@H](C)C(=O)N[C@@H](C(=O)[O-])C)C(=O)[O-])C)C)NC(=O)C)OP(=O)(OP(=O)(OC[C@H]1O[C@H]([C@@H]([C@@H]1O)O)n1c(=O)[nH]c(=O)cc1)[O-])[O-]") -smiles(R"C1([C@@H]([C@H]([C@@H]([C@H](O1)CO)O)OC(C(=O)N[C@H](C(=O)NC(CCC(=O)N[C@@H](CCCC[NH3+])C(=O)[O-])C(=O)[O-])C)C)NC(=O)C)OP(=O)(OP(=O)(OC[C@H]1O[C@H]([C@@H]([C@@H]1O)O)n1c(=O)[nH]c(=O)cc1)[O-])[O-]") -smiles(R"C1([C@@H]([C@H]([C@H]([C@H](O1)CO)O)O[C@H]1[C@@H]([C@H]([C@H]([C@H](O1)CO)O)O)O)NC(=O)C)O") -smiles(R"C1([C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O[C@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)O)O") -smiles(R"C1([C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O[C@H](C)C(=O)N[C@@H](C)C(=O)N[C@H](CCC(=O)N[C@@H](C(=O)[O-])CCC[C@@H](C(=O)[O-])[NH3+])C(=O)[O-])NC(=O)C)OP(=O)(OP(=O)(OC[C@H]1O[C@H]([C@@H]([C@@H]1O)O)n1c(=O)[nH]c(=O)cc1)[O-])[O-]") -smiles(R"C1([C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O[C@H](C)C(=O)N[C@@H](C)C(=O)N[C@H](CCC(=O)[O-])C(=O)NCCCC[C@H](C(=O)[O-])[NH3+])NC(=O)C)OP(=O)(OP(=O)(OC[C@H]1O[C@H]([C@@H]([C@@H]1O)O)n1c(=O)[nH]c(=O)cc1)[O-])[O-]") -smiles(R"C1([C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O[C@H](C)C(=O)N[C@@H](C)C(=O)N[C@H](CCC(=O)[O-])C(=O)N[C@H](C(=O)[O-])CCCC[NH3+])NC(=O)C)OP(=O)(OP(=O)(OC[C@H]1O[C@H]([C@@H]([C@@H]1O)O)n1c(=O)[nH]c(=O)cc1)[O-])[O-]") -smiles(R"C1([C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O[C@H](C)C(=O)N[C@@H](C)C(=O)N[C@H](CCC(=O)[O-])C(=O)[O-])NC(=O)C)OP(=O)(OP(=O)(OC[C@H]1O[C@H]([C@@H]([C@@H]1O)O)n1c(=O)[nH]c(=O)cc1)[O-])[O-]") -smiles(R"C1([C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O[C@H](C)C(=O)N[C@@H](C)C(=O)[O-])NC(=O)C)OP(=O)(OP(=O)(OC[C@H]1O[C@H]([C@@H]([C@@H]1O)O)n1c(=O)[nH]c(=O)cc1)[O-])[O-]") -smiles(R"C1([C@@H]([C@@H]([C@H]([C@@H](O1)C)O)O)O)O") -smiles(R"C1([C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)OP(=O)([O-])OC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)\C)\C)\C)\C)\C)\C)\C)\C") -smiles(R"C1[C@H]([C@H]([C@H]([C@@H](O1)O)O)O)O") -smiles(R"C1[C@H]([C@@H]([C@H]([C@H](OC/C(=C\CNc2c3c([nH]cn3)ncn2)/C)O1)O)O)O") -smiles(R"C1([C@@H]([C@H]([C@@H](CO1)O)O)O)O") -smiles(R"C1[C@@H]([C@H]([C@H](O)C(CO)(O)O1)O)O") -smiles(R"c1([C@@H]([C@@H](COP(=O)([O-])[O-])O)O)nc[nH]c1") -smiles(R"C1[C@H]([C@H](CSS1)O)O") -smiles(R"C1[C@H](C=N[C@@H]1C(=O)[O-])O") -smiles(R"C1[C@@H](C(=O)[C@](O1)(C)O)O") -smiles(R"c1([C@@H](C(=O)C(=O)[O-])C)c[nH]c2c1cccc2") -smiles(R"C1[C@H](OC=C(C1=O)[O-])CO") -smiles(R"C1[C@H](O)[C@H](C/C=C\CCCC(=O)NCCO)[C@H]([C@@H]1O)/C=C/[C@H](CCCCC)O") -smiles(R"C1[C@H](O)[C@H](C/C=C\CCCC(=O)[O-])[C@H]([C@@H]1O)/C=C/[C@H](CCCCC)O") -smiles(R"C1[C@@H](O[C@@H]([C@H]1O)COP(=O)(OP(=O)([O-])[O-])[O-])n1c(=O)nc(cc1)N") -smiles(R"C1[C@H](O)[C@@H](NC(=O)C)[C@@H](O[C@@]1(C(=O)[O-])O)C(C(O)CO)OC(=O)C") -smiles(R"C1[C@H](O)[C@@H](NC(=O)C)[C@@H](O[C@@]1(C(=O)[O-])O)[C@@H]([C@H](O)COC(=O)C)O") -smiles(R"c1(Cl)c(Cl)cc(cc1)N") -smiles(R"c1c(nc2c(c1O)C=CC(C2O)O)C(=O)[O-]") -smiles(R"c1c(nc2c(c3c(cc([nH]3)C(=O)[O-])C(=O)C2=O)c1C(=O)[O-])C(=O)[O-]") -smiles(R"c1(c(nc(c(c1)c1c(nc(c(c1)O)O)O)O)O)O") -smiles(R"c1c[n+](c(c(c1)CCO)C)Cc1c(nc(C)nc1)N") -smiles(R"c1(c[n+](ccc1)[C@@H]1O[C@@H]([C@H]([C@H]1O)O)COP(=O)([O-])[O-])C(=O)N") -smiles(R"c1(c(ncc(c1C=O)CO)C)O") -smiles(R"c1(cnc(c(c1C(=O)[O-])O)C)CO") -smiles(R"c1c(nc(c(c1O)/C=C/C(=O)C(=O)[O-])O)C(=O)[O-]") -smiles(R"c1(cnccn1)C(=O)N") -smiles(R"c1(cncn1[C@H]1[C@H](O)[C@@H]([C@H](O1)COP(=O)([O-])[O-])O)NC(=O)[O-]") -smiles(R"c1(c(ncn1[C@@H]1O[C@@H]([C@H]([C@H]1O)O)COP(=O)([O-])[O-])C(=O)[O-])N") -smiles(R"c1(c(nc(nc1)C)N)C[n+]1csc(c1C)CCOP(=O)(OP(=O)([O-])[O-])[O-]") -smiles(R"c1(c(nc(nc1)C)N)CO") -smiles(R"c1(c(nc(nc1)C)N)COP(=O)(OP(=O)([O-])[O-])[O-]") -smiles(R"c1(cnc(nc1N)C)C[n+]1csc(c1C)CCO") -smiles(R"c1(cnc(nc1N)C)C[n+]1csc(c1C)CC(=O)[O-]") -smiles(R"c1(c(nc[nH]1)C(=O)N)N") -smiles(R"C1CNC(=O)[C@@H](CC1)[NH3+]") -smiles(R"C1CNC(=O)[C@H](CC1)[NH3+]") -smiles(R"C1(CNC(=O)NC1=O)C") -smiles(R"c1cn(c(=O)[nH]c1=O)[C@H]1[C@H](O)[C@H](O)[C@@H](COP(=O)(OP(=O)([O-])OC2OC[C@]([C@H]2O)(O)CO)[O-])O1") -smiles(R"c1(c(ncs1)C)CCO") -smiles(R"c1(c[nH]c2c1cccc2CC=C(C)C)C[C@@H](C(=O)[O-])[NH3+]") -smiles(R"c1(c[nH]c2c1cccc2)/C=C(/C(=O)[O-])\N") -smiles(R"c1(c[nH]c2c1cccc2)C[C@@H](C(=O)[O-])[NH2+]C") -smiles(R"c1(c[nH]c2c1cccc2)C[C@@H](C(=O)[O-])[NH3+]") -smiles(R"c1(c[nH]c2c1cccc2)C[C@H](C(=O)[O-])[NH3+]") -smiles(R"c1(c[nH]c2c1cccc2Cl)C[C@@H](C(=O)[O-])[NH3+]") -smiles(R"c1(c[nH]c2c1cccc2Cl)CC(=N)C(=O)[O-]") -smiles(R"c1(c[nH]cn1)/C=C/C(=O)[O-]") -smiles(R"c1(c(=O)c2c(oc1)cc(cc2)O)c1cc2c(OCO2)cc1") -smiles(R"c1(c(=O)c2c(oc1)cc(cc2)O)c1ccccc1") -smiles(R"c1(C(=O)/C=C/c2ccc(cc2)O)c(cc(cc1)O)O") -smiles(R"c1(C(=O)/C=C/c2ccc(cc2)O)c(cc(cc1)O)OC") -smiles(R"c1(C(=O)CCc2ccc(cc2)O)c(cc(cc1O)O)O") -smiles(R"c1c(O)c(cc(c1)C[C@@H](C(=O)[O-])[NH3+])O") -smiles(R"C1C(=O)C(CCC1)O") -smiles(R"C1C(=O)C=C(CC1O)O") -smiles(R"C1C(=O)C[C@H]2CC[C@@H]1[NH+]2C") -smiles(R"c1(C(=O)CC[NH3+])c(ccc(c1)O)N") -smiles(R"c1c(O[C@H]2[C@H](O)[C@@H](O)[C@@H]([C@H](O2)CO)O)ccc(c1)/C=C/C(=O)[O-]") -smiles(R"C1=CO[C@@H]2Oc3cc(c4c(=O)c5c(cccc5oc4c3[C@H]12)O)O") -smiles(R"C1C(=O)[C@H](C/C=C\CCCC(=O)[O-])[C@H]([C@@H]1O)/C=C/C(=O)CCCCC") -smiles(R"C1C(=O)[C@H]([C@@H](C(CO)O1)O)O") -smiles(R"C1C(=O)[C@@H]([C@H]([C@H]1O)C/C=C\CCCC(=O)[O-])/C=C/C(=O)CCCCC") -smiles(R"C1C(=O)[C@@H]([C@H]([C@@H]1O)CCC(=O)CCCCC)C/C=C\CCCC(=O)[O-]") -smiles(R"C1(C(=O)[C@H]([C@@H]([C@@H](CO)O1)O)O)O") -smiles(R"C1C(=O)CNC1C(=O)[O-]") -smiles(R"c1(COC(=O)C(C(=O)C)C)ccccc1") -smiles(R"C1=C([O-])C(=O)CO[C@@H]1CO") -smiles(R"c1(C(=O)NCCCCNC(=[NH2+])N)ccccc1") -smiles(R"c1(c(=O)[nH]c(=O)[nH]c1)[C@@H]1O[C@@H]([C@H]([C@H]1O)O)CO") -smiles(R"c1(c(=O)[nH]c(=O)[nH]c1)CO") -smiles(R"c1(C(=O)Oc2cc(c(c(c2)O)C(=O)[O-])C)c(cc(cc1O)O)C") -smiles(R"C1C(=O)O[C@]2(CC(=O)[C@H]1C2(C)C)C") -smiles(R"C1C(=O)O[C@@]2(CC(=O)[C@@H]1C2(C)C)C") -smiles(R"c1(C(=O)[O-])ccc(cc1)Cl") -smiles(R"c1(C(=O)[O-])ccc[nH]1") -smiles(R"[C@@]1(C(=O)[O-])(C[C@H]([C@@H]([C@@H](C1)O)OC(=O)/C=C/c1cc(c(cc1)O)OC)O)O") -smiles(R"[C@@]1(C(=O)[O-])(C[C@H]([C@@H]([C@@H](C1)O)O)O)O") -smiles(R"C1(C(=O)[O-])CSSC1") -smiles(R"C1CSSC1CCCCC(=O)N") -smiles(R"C1CSSC1CCCCC(=O)[O-]") -smiles(R"C1[n+]2c(c3c(cc(c(c3)OC)OC)C1)cc1c(c2)c(c(cc1)OC)OC") -smiles(R"c1nc2c(ncn2[C@H]2[C@H](O)[C@H](O)[C@H](O2)COP(=O)([O-])[O-])c(=N)n1[C@@H]1O[C@@H]([C@H]([C@H]1O)O)COP(=O)([O-])[O-]") -smiles(R"C1N=c2ncncc2=NC1") -smiles(R"c1nc(c2c(n1)n(cn2)[C@@H]1O[C@@H]([C@H]([C@H]1OP(=O)([O-])[O-])O)COP(=O)(OP(=O)([O-])OC1O[C@H](CO)[C@H]([C@H]1O)O)[O-])N") -smiles(R"c1nc(c2c(n(cn2)[C@H]2[C@@H]([C@@H]([C@@H](COP(=O)(OP(=O)(OC3O[C@@H]([C@H]([C@@H]([C@@H]3O)O)O)[C@@H](CO)O)[O-])[O-])O2)O)O)n1)N") -smiles(R"c1nc(c2c(n(cn2)[C@H]2[C@@H]([C@@H]([C@@H](COP(=O)(OP(=O)(OC3O[C@@H]([C@H]([C@@H]([C@@H]3O)O)O)[C@H](CO)O)[O-])[O-])O2)O)O)n1)N") -smiles(R"c1nc(c2c(n(cn2)[C@H]2[C@@H]([C@@H]([C@@H](COP(=O)(OP(=O)(O[C@@H]3O[C@@H]([C@H]([C@@H]([C@@H]3O)O)O)[C@@H](CO)O)[O-])[O-])O2)O)O)n1)N") -smiles(R"c1nc(c2c(n(cn2)[C@H]2[C@@H]([C@@H]([C@@H](COP(=O)(OP(=O)(O[C@@H]3O[C@@H]([C@H]([C@@H]([C@@H]3O)O)O)[C@H](CO)O)[O-])[O-])O2)O)O)n1)N") -smiles(R"C1(=NCCC1)C(=O)[O-]") -smiles(R"c1[n+](ccc(c1[O-])[O-])C[C@@H](C(=O)[O-])[NH3+]") -smiles(R"c1(N(C)C)ccc(cc1)N") -smiles(R"c1nc(cn1C)CC[NH3+]") -smiles(R"c1nc(c(nc1c1c[nH]c2c1cccc2)CCCNC(=[NH2+])N)NC(=O)[C@@H](C)CC") -smiles(R"C1=NCC(=O)N1") -smiles(R"c1ncnc2c1ncn2[C@@H]1O[C@H](CO)[C@@H](O)C1") -smiles(R"c1ncnc2c1ncn2[C@@H]1O[C@H](CO)[C@@H](O)[C@H]1O") -smiles(R"c1(ncnc2c1[nH]cn2)NCCC(CO)C") -smiles(R"c1(nc(nc(n1)NCC)NC(C)C)Cl") -smiles(R"c1(nc(nc(n1)NCC)NC(C)C)O") -smiles(R"c1(nc([nH]c1)CCC([NH2+]C)C(=O)[O-])C[C@@H](C(=O)[O-])[NH3+]") -smiles(R"C1(NC(=O)NC1CCCCCC(=O)[O-])C") -smiles(R"c1n(c(=O)[nH]c(=O)c1C)[C@H]1C[C@@H]([C@H](O1)COP(=O)([O-])OP(=O)([O-])O[C@H]1O[C@H](C)C(=O)[C@@H]([C@H]1O)O)O") -smiles(R"c1n(c(=O)[nH]c(=O)c1C)[C@H]1C[C@H](O)[C@H](O1)COP(=O)(OP(=O)([O-])OC1O[C@H]([C@]([C@H]1O)(O)CO)C)[O-]") -smiles(R"c1n(c(=O)[nH]c(=O)c1C)[C@H]1C[C@H](O)[C@H](O1)COP(=O)(OP(=O)([O-])OC1O[C@H](C)[C@@H]([C@@H]([C@H]1O)O)[NH3+])[O-]") -smiles(R"c1n(c(=O)[nH]c(=O)c1C)[C@H]1C[C@H](O)[C@H](O1)COP(=O)(OP(=O)([O-])O[C@H]1O[C@H](C)[C@@H]([C@@H]([C@H]1O)O)[NH3+])[O-]") -smiles(R"c1n(c(=O)[nH]c(=O)c1C)[C@H]1C[C@H](O)[C@H](O1)COP(=O)(OP(=O)([O-])O[C@H]1O[C@H](C(=O)[C@H]([C@H]1O)O)C)[O-]") -smiles(R"c1([nH]c(c(c1C)CCC(=O)[O-])/C=C/1\N=C(C(=C1CCC(=O)[O-])C)/C=C\1/C(=C(C=C)C(=O)N1)C)/C=C/1\NC(=O)C(=C1C=C)C") -smiles(R"c1([nH]c(c(c1C)CCC(=O)[O-])Cc1[nH]c(c(C)c1CCC(=O)[O-])/C=C\1/C(=C(C=C)C(=O)N1)C)/C=C/1\NC(=O)C(=C1C=C)C") -smiles(R"c1([nH]c(cc1)O)C(=O)[O-]") -smiles(R"c1[nH]cc(n1)CC(=O)[O-]") -smiles(R"c1[nH]c(c(n1)CC(=O)[O-])O") -smiles(R"c1([nH]ccn1)[N+](=O)[O-]") -smiles(R"c1[nH]cnc1CC(=O)COP(=O)([O-])[O-]") -smiles(R"c1(/N=N/c2ccccc2)ccc(cc1)N(C)C") -smiles(R"C1(=N)N(CC(=O)N1)C") -smiles(R"c1([N+](=O)[O-])ccc(cc1)N") -smiles(R"c1([N+](=O)[O-])ccc(cc1)[O-]") -smiles(R"C1(NS(=O)(=O)[O-])CCCCC1") -smiles(R"C1(=O)c2c3c(ccc2)O[Fe-3]245(O3)Oc3c(O2)c(C(=O)N[C@H]2COC(=O)[C@H](COC(=O)[C@H](COC2=O)N1)NC(=O)c1c(c(O5)ccc1)O4)ccc3") -smiles(R"C1(=O)c2c(c(cc(c2C(=O)C2=C1[C@H](O)[C@H](O[C@@H]2C)C)O)O)c1c2cc(cc(c2c(c2c1[C@H](O)[C@H](O[C@@H]2C)C)O)O)O") -smiles(R"C1(=O)[C@]2(C)CC(=O)[C@@H](C1)C2(C)C") -smiles(R"C1Oc2c([C@@H]3[C@@]1(O)c1c(O3)cc3c(c1)OCO3)ccc(c2)O") -smiles(R"c1(oc2c(c(=O)c1[O-])c(cc(c2)O)O)c1cc(c(c(c1)OC)O)OC") -smiles(R"C1(=O)c2c(C(=O)c3c1cc(cc3O)C)c(cc(c2)[O-])OC") -smiles(R"c1(=O)c2c(nc([nH]1)N)NCC(=N2)[C@@H]([C@H](O)CO)O") -smiles(R"c1(=O)c2c(nc([nH]1)N)NCC(=N2)[C@@H]([C@H](O)COP(=O)([O-])[O-])O") -smiles(R"c1(=O)c2c(nc([nH]1)N)NCC(=N2)[C@@H]([C@H](OP(=O)([O-])[O-])CO)O") -smiles(R"c1(=O)c2c(nc([nH]1)N)[nH]cc2C(=O)[O-]") -smiles(R"c1(=O)c2c(n(c(=O)[nH]1)[C@H]1[C@@H]([C@@H]([C@H](O1)CO)O)O)[nH]c(=O)[nH]2") -smiles(R"c1(=O)c2c(occ1c1cc(c(cc1)OC)O)cc(cc2O)[O-]") -smiles(R"C1(=O)/C(=C/c2ccccc2)/NC(=O)[C@@H](N1)CC(C)C") -smiles(R"c1(=O)/c(=C/c2ccccc2)/[nH]c(=O)/c(=C/C(C)C)/[nH]1") -smiles(R"C1(=O)CCC(C1)C#N") -smiles(R"C1(=O)CCC(C1)C(=O)[O-]") -smiles(R"C1(=O)CCCC=C1") -smiles(R"c1(O)c(cc(cc1)/C=C/c1ccc(O)c(c1)OC)OC") -smiles(R"c1(O)c(cc(cc1)C=C)OC") -smiles(R"C1(=O)C=CC=CC1=N") -smiles(R"C1(=O)C=C(C)[C@@](C(C1)(C)C)(/C=C/[C@H](O)C)O") -smiles(R"C1(=O)C=C(C)[C@@](C(C1)(C)C)(/C=C/C(=O)C)O") -smiles(R"C1(=O)CCCCCO1") -smiles(R"C1(=O)CCCCC(O1)O") -smiles(R"C1(=O)C(=C)CCO1") -smiles(R"C1(=O)C(=C(C(=O)c2ccccc12)C/C=C(\C)/CC/C=C(\C)/CC/C=C(\C)/CC/C=C(\C)/CC/C=C(\C)/CC/C=C(\C)/CC/C=C(/CCC=C(C)C)\C)C") -smiles(R"C1(=O)C(=C(C(=O)C(=C1C)CCCCCCCCCC)OC)OC") -smiles(R"C1(=O)C(=CC(=O)C(=C1OC)OC)C") -smiles(R"C1(=O)C[C@@H](CC[C@@H]1C(C)C)C") -smiles(R"c1(=O)ccn(c(=O)[nH]1)C[C@@H](C(=O)[O-])[NH3+]") -smiles(R"c1(=O)c(c[nH]c(=O)[nH]1)C") -smiles(R"c1(=O)cc(oc2c1c(cc(c2)[O-])O)c1ccc(cc1)O") -smiles(R"c1(=O)cc(oc2c1c(c(c(c2)O)O)O)c1ccc(cc1)O") -smiles(R"c1(O[C@H]2[C@H](O)[C@H]([C@@H]([C@H](O2)CO)O)O)ccc(cc1)O") -smiles(R"C1(=O)[C@H]2N(C(=O)/C/1=C(/C)\[O-])C(C)(C)[C@@H]1Cc3c4c(c[nH]c4ccc3)[C@H]21") -smiles(R"[C@]1(O[C@H]2O[C@@H]([C@H]([C@@H]([C@H]2O)O)O)CO)(O[C@@H]([C@H]([C@@H]1O)O)CO[C@@]1(O[C@@H]([C@H]([C@@H]1O)O)CO[C@@]1(O[C@@H]([C@H]([C@@H]1O)O)CO)CO)CO)CO") -smiles(R"[C@]1(O[C@H]2O[C@@H]([C@H]([C@@H]([C@H]2O)O)O)CO)(O[C@@H]([C@H]([C@@H]1O)O)CO[C@@]1(O[C@@H]([C@H]([C@@H]1O)O)CO)CO)CO") -smiles(R"[C@]1(O[C@H]2O[C@@H]([C@H]([C@@H]([C@H]2O)O)O)CO)(O[C@@H]([C@H]([C@@H]1O)O)CO[C@@]1(O[C@@H]([C@H]([C@@H]1O)O)CO)CO)CO[C@@]1(O[C@@H]([C@H]([C@@H]1O)O)CO)CO") -smiles(R"C1(=O)[C@@H](CC[C@H](C1)C)C(C)C") -smiles(R"C1(=O)[C@H]([C@H](C=C1)CCCCCCCC(=O)[O-])C/C=C\CC") -smiles(R"[C@]1(O[C@@H]([C@H]([C@@H]1O)O)CO)(CO)O[C@@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO[C@@H]1[C@@H]([C@H]([C@H]([C@H](O1)CO[C@@H]1[C@@H]([C@H]([C@H]([C@H](O1)CO)O)O)O)O)O)O)O)O)O") -smiles(R"[C@@]1(O[C@@H]([C@H]([C@@H]1O)O)CO)(OCC1(O[C@@H]([C@H]([C@@H]1O)O)CO)O)CO") -smiles(R"C1(O[C@H]([C@H]([C@H]([C@@H]1O)O)O)CO)OP(=O)([O-])[O-]") -smiles(R"C1(O[C@@H]([C@H]([C@@H]([C@@H]1O)O)O)COP(=O)([O-])[O-])O") -smiles(R"C1(=O)[C@@H]([C@@H]([C@H]([C@@H]([C@H]1O)O)O)O)O") -smiles(R"C1(=O)[C@@H]([C@H]([C@@H]([C@H]([C@H](C[C@H](C(=O)[C@@H]([C@H]([C@H]([C@H](O1)CC)C)O)C)C)C)O)C)O)C") -smiles(R"C1(=O)[C@@H]([C@H]([C@H]([C@H](O1)CO)O)O)O") -smiles(R"C1(=O)[C@H]([C@H]([C@@H]([C@H](O1)C=O)O)O)O") -smiles(R"C1(=O)[C@H]([C@H](O[C@@H]([C@@H]1O)C)OP(=O)(OP(=O)(OC[C@H]1O[C@H](C[C@@H]1O)n1c(=O)[nH]c(=O)c(c1)C)[O-])[O-])O") -smiles(R"C1O[C@@H]([C@H](O)[C@H]([C@@H]1O)O)OP(=O)([O-])[O-]") -smiles(R"C1(=O)[C@@H]([C@H](O)[C@H]([C@@H](O)C)O1)O") -smiles(R"C1O[C@@H]([C@H](O)[C@@H](O)[C@H]1O)O[C@H]1[C@@H]([C@@H]([C@@H]([C@H]([C@@H]1O)O)OC(=O)Cc1c[nH]c2c1cccc2)O)O") -smiles(R"C1(=O)[C@@H](NC(=O)[C@@H](N1)CC(C)C)Cc1ccccc1") -smiles(R"C1(=O)[C@@H](O)[C@@H]([C@@H](O)[C@@H](C1)O)O") -smiles(R"C1(=O)[C@@H](O)[C@@H]([C@@H](O)[C@@H]([C@H]1O)O)O") -smiles(R"C1(=O)[C@H](O)[C@H]([C@H](O)[C@@H](O)[C@H]1O)OC") -smiles(R"C1(O)[C@H](O)[C@@H](O[C@@H]2[C@H](O)[C@@H](O)[C@H](O)[C@H](O2)CO)[C@H](O)[C@H](O1)CO") -smiles(R"C1(O)[C@H](O)[C@H](O)[C@H](O1)CSCC[C@H]([NH3+])C(=O)[O-]") -smiles(R"C1(O)[C@H](O)[C@@H](O)[C@H](O)[C@H](O1)CO[C@H]1[C@H](O)[C@@H](O)[C@@H](O)CO1") -smiles(R"C1(OC(=O)C=C1C)CC(=O)[O-]") -smiles(R"C1(OC(=O)C=C1)(CC(=O)[O-])C") -smiles(R"C1OC(=O)[C@H](COC(=O)[C@H](COC(=O)[C@H]1NC(=O)c1cccc(O)c1O)NC(=O)c1cccc(O)c1O)NC(=O)c1c(c(ccc1)O)O") -smiles(R"C1OC(=O)[C@H](O)[C@H]([C@@H]1O)O") -smiles(R"C1(=O)NC(C(=C1C)C=C)Cc1[nH]c(c(c1C)CC)Cc1[nH]c2c(c1C)C(=O)C/C/2=C/1\[C@H]([C@@H]([C@H]([NH+]1)C(=O)[O-])C)CCC(=O)[O-]") -smiles(R"C1(=O)NC(C(=C1C)C=C)Cc1[nH]c(c(c1C)CC)Cc1[nH]c2c(c1C)c(=O)c(=O)/c/2=C/1\[C@H]([C@@H]([C@H](N1)C(=O)[O-])C)CCC(=O)[O-]") -smiles(R"C1(=O)NC(CC1)C(=O)[O-]") -smiles(R"C1(=O)NCCC(=O)N1") -smiles(R"C1(=O)N[C@@H](CC1)C(=O)[O-]") -smiles(R"C1(=O)N[C@H](CC1)C(=O)[O-]") -smiles(R"c1(=O)nc(N)cc[nH]1") -smiles(R"c1(=O)n(c(=O)c2c(n1C)ncn2C)C") -smiles(R"C1(=O)NC(=O)[C-](C(=O)N1)C") -smiles(R"C1(=O)[N-]C(=O)[CH-]C(=O)N1") -smiles(R"c1(=O)n(c(=O)[nH]c2c1n(cn2)C)C") -smiles(R"c1(=O)[nH]cc[nH]1") -smiles(R"c1(=O)[nH]c(nc2c1N=C(CN2)[C@@H]([C@@H]1OP(=O)(OC1)[O-])O)N") -smiles(R"c1(=O)[nH]c(nc2c1N=C(CN2)CNc1ccc(cc1)[C@@H]1O[C@@H]([C@H]([C@H]1O)O)COP(=O)([O-])[O-])N") -smiles(R"c1(=O)[nH]c(nc2c1N=C(CN2)COP(=O)(OP(=O)([O-])[O-])[O-])N") -smiles(R"c1(=O)[nH]c(nc2c1N[C@@H]1[C@H](N2)O[C@H](COP(=O)([O-])[O-])C2=C1S[Mo](=O)(=O)S2)N") -smiles(R"c1(=O)[nH]c(nc2c1N[C@@H]1[C@H](N2)O[C@H](COP(=O)([O-])[O-])C2=C1S[W](=O)(=O)S2)N") -smiles(R"c1(=O)[nH]c(nc2c1ncn2[C@@H]1O[C@@H]([C@H]([C@H]1O)OP(=O)(OP(=O)([O-])[O-])[O-])COP(=O)([O-])OP(=O)([O-])OP(=O)([O-])[O-])N") -smiles(R"c1(=O)[nH]c(nc2c1ncn2[C@@H]1O[C@@H]([C@@H](O)C1)COP(=O)([O-])[O-])N") -smiles(R"c1(=O)[nH]c(nc2c1ncn2[C@@H]1O[C@@H]([C@@H](O)[C@H]1O)COP(=O)([O-])NCCCC[C@@H](C(=O)OC)NC(=O)C)N") -smiles(R"c1(=O)[nH]c(nc2c1[n+](cn2[C@@H]1O[C@@H]([C@@H](O)[C@H]1O)COP(=O)([O-])[O-])C)N") -smiles(R"c1(=O)[nH]c(nc2c1ncn2[C@@H]1O[C@@H]([C@@H](O)[C@H]1O)COP(=O)([O-])[O-])N") -smiles(R"c1(=O)[nH]c(nc2c1[n+](cn2[C@@H]1O[C@@H]([C@@H](O)[C@H]1O)COP(=O)([O-])OP(=O)([O-])[O-])C)N") -smiles(R"c1(=O)[nH]c(nc2c1ncn2[C@@H]1O[C@@H]([C@@H](O)[C@H]1O)COP(=O)([O-])OP(=O)([O-])OP(=O)([O-])[O-])N") -smiles(R"c1(=O)[nH]c(nc2c1ncn2[C@@H]1O[C@H](CO)[C@@H](O)[C@H]1O)N") -smiles(R"c1(=O)[nH]c(nc2c1ncn2[C@@H]1O[C@H](CO)[C@@H](OP(=O)([O-])[O-])[C@H]1O)N") -smiles(R"c1(=O)[nH]c(=O)c2c(n1C)ncn2C") -smiles(R"c1(=O)[nH]c(=O)n(c2c1[nH]cn2)C") -smiles(R"c1(=O)[nH]c(=O)[nH]c2c1nc[nH]2") -smiles(R"C1(=O)O[C@@H]([C@@H]([C@@H]1O)O)[C@H](C=O)O") -smiles(R"[Ca+2]") -smiles(R"C[As](=O)(O)[O-]") -smiles(R"CBr") -smiles(R"C=C") -smiles(R"C#C") -smiles(R"CC12OC1CC1CC2C1(C)C") -smiles(R"Cc1c2CC[C@](Oc2c(c(c1O)C)C)(CCC[C@@H](CCC[C@@H](CCCC(C)C)C)C)C") -smiles(R"C(c1ccc(cc1)Cl)(c1ccc(cc1)Cl)C(Cl)(Cl)Cl") -smiles(R"Cc1c(c(c(c(O)c1C/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)\C)\C)\C)\C)\C)OC)OC)O") -smiles(R"Cc1c(cc(c(O)c1C/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)\C)\C)\C)OC)O") -smiles(R"CC1CC(=O)OC(CC1)C(C)C") -smiles(R"C(=C\1/[C@H](C/C=C\CC)O1)/C=C\CCCCCCCC(=O)[O-]") -smiles(R"C([C@]1([C@@H](COP(=O)(OP(=O)(O1)[O-])[O-])O)C)O") -smiles(R"C(c1c(nc(nc1)C)N)[n+]1csc(c1C)CCOP(=O)([O-])[O-]") -smiles(R"C(c1c(nc(nc1)C)N)[n+]1csc(c1C)CCOP(=O)(OP(=O)(OP(=O)([O-])[O-])[O-])[O-]") -smiles(R"C(c1c(nc(nc1)C)N)OP(=O)([O-])[O-]") -smiles(R"C=CC") -smiles(R"C(=C\[C@]12[C@](O1)(C[C@H](CC2(C)C)O)C)/C(=C\C=C\C(=C\C=C\C=C(\C=C\C=C(\C=C\[C@]12[C@](O1)(C[C@H](CC2(C)C)O)C)/C)/C)\C)/C") -smiles(R"C(=C\c1ccc(cc1)O)/c1cc(cc(c1)O)O") -smiles(R"C(=C\c1ccc(cc1)O)/c1cc(cc(c1)O)OC") -smiles(R"C(Cc1cc(ccc1)O)C(=O)[O-]") -smiles(R"C(C(c1cc(c(cc1)O)O)O)O") -smiles(R"C(=C\C1=C(C)CCCC1(C)C)/C(=C/C=C/C(=C/C=C/C=C(\C)/C=C/C=C(\C)/C=C/C=C(/C=C/C=C(C)C)\C)/C)/C") -smiles(R"C=C(C1CC(=O)OC(CC1)C)C") -smiles(R"C(=C)(C1CC(=O)OC(CC1)(C)O)C") -smiles(R"C=C(C1COC(=O)C(CC1)C)C") -smiles(R"C(=C)C(=C)C") -smiles(R"CC(=CCc1c(O)ccc2c1O[C@H]1c3ccc(O)cc3OC[C@@H]21)C") -smiles(R"C(CC=C(C)C)[C@]1([C@@H]2CCC(=C)[C@H]1C2)C") -smiles(R"C(CC=C(C)C)[C@]1([C@@H]2CC=C([C@H]1C2)C)C") -smiles(R"C(CC=C(C)C)[C@@]1([C@@H]2CC=C([C@H]1C2)C)C") -smiles(R"C(CC/C=C\C=C\1/O[C@H]1CCCCC)CCCCC(=O)[O-]") -smiles(R"C(=C)(CCC=C(C)C)C=C") -smiles(R"CC(=CC/C=C(/C=C)\C)C") -smiles(R"C(=C(\CCC=C(C)C)/C)/Cc1c(ccc(c1)C(=O)[O-])O") -smiles(R"C(=C\C/C=C(/C=C)\C)(/CCC=C(C)C)\C") -smiles(R"C(=C\CCC(=C)C=C)(/CCC=C(C)C)\C") -smiles(R"C(CCCCCCCCCCCCCC)CC") -smiles(R"C/C(=C/C=C/C(=C/C=C/C=C(/C=C/C=C(/C=C/C1=C(CCCC1(C)C)C)\C)\C)/C)/C=C/C1=C(CCCC1(C)C)C") -smiles(R"C(=C\C(=C/C=C/C(=C/C=C/C=C(/C=C/C=C(\C)/C=C=C1[C@@](C[C@H](CC1(C)C)O)(O)C)\C)/C)\C)/[C@]12O[C@@]2(C[C@H](CC1(C)C)O)C") -smiles(R"C(=C\C(=C\C=C\C(=C\C=C\C=C(\C=C\C=C(/C)\C=C=C1[C@@](C[C@H](CC1(C)C)O)(O)C)/C)\C)\C)/[C@]12O[C@@]2(C[C@H](CC1(C)C)O)C") -smiles(R"C(=C(\CCC=C(C)C)/C)/CC/C(=C/CC/C(=C/CC/C(=C/CC/C(=C/Cc1c(c(cc(c1)C(=O)[O-])OC)O)/C)/C)/C)/C") -smiles(R"C(/C=C(/CCC=C(C)C)\C)C/C(=C/CC/C(=C/CC/C(=C/CC/C(=C/Cc1cc(cc(c1O)O)C(=O)[O-])/C)/C)/C)/C") -smiles(R"CC(=CCC/C(=C/CC/C(=C/CC/C(=C/CC/C(=C/CC/C(=C/CC/C(=C/Cc1c(C)c(O)c2ccccc2c1O)/C)/C)/C)/C)/C)/C)C") -smiles(R"C(=C\C=C\C(=C\C=C\C=C(\C=C\C=C(\C=C\C=C(C)C)/C)/C)\C)(/C=C/C=C(C)C)\C") -smiles(R"C(=C\C=C\C(=C\C=C\C=C(\C=C\C=C(\C=C\C=C(C)C)/C)/C)\C)(/CCC=C(C)C)\C") -smiles(R"C(=C\C=C\C(=C\C=C\C=C(\CC/C=C(/CCC=C(C)C)\C)/C)\C)(/CCC=C(C)C)\C") -smiles(R"C(=C\CC/C(=C/C=C/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)/C)(/CCC=C(C)C)\C") -smiles(R"C(=C\CC/C(=C/C=C\C=C(\CC/C=C(/CCC=C(C)C)\C)/C)/C)(/CCC=C(C)C)\C") -smiles(R"CC(=CCC/C(=C/C=C/C(=C/C=C/C=C(/C=C/C=C(/CCC=C(C)C)\C)\C)/C)/C)C") -smiles(R"CC(=CCC/C(=C/CC/C(=C/CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)/C)/C)C") -smiles(R"CC(=C)C(CC/C(=C/CC/C(=C/CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)/C)/C)C") -smiles(R"CC(=C)C(CC/C(=C/CC/C(=C/CC/C=C(/CC/C=C(/CCC(C(=C)C)C)\C)\C)/C)/C)C") -smiles(R"CC(=CCC/C(=C/CC/C(=C/CC/C(=C/CC/C(=C/CC/C(=C/CC/C(=C/CC/C(=C/Cc1c(C)c(O)c2ccccc2c1O)/C)/C)/C)/C)/C)/C)/C)C") -smiles(R"C(=C(\C=C\C=C(/CC/C=C(/CCC=C(C)C)\C)\C)/C)/C=C\C=C(\C=C\C=C(/CC/C=C(/CCC=C(C)C)\C)\C)/C") -smiles(R"C(=C(\C=C\C=C(\C)/CC/C=C(/CCC=C(C)C)\C)/C)/C=C\C=C(\CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)/C") -smiles(R"C(=C(\CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)/C)/C=C\C=C(\CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)/C") -smiles(R"C(=C\C=C(\CCC=C(C)C)/C)\C(=C/C=C/C(=C/C=C/C=C(/C=C/C=C(/C)\C=C/C=C(/CCC=C(C)C)\C)\C)/C)\C") -smiles(R"C(=C\C=C\C=C(\C=C\C=C(/CC/C=C(/CCC=C(C)C)\C)\C)/C)(/C=C/C=C(\CC/C=C(/CCC=C(C)C)\C)/C)\C") -smiles(R"C(=C\C=C\C(=C\C=C\C=C(\C=C\C=C(\C=C\C=C(\C=C\C=C(C)C)/C)/C)/C)\C)(/C=C/C=C(/CCC=C(C)C)\C)\C") -smiles(R"C(=C\C=C\C(=C\C=C\C=C(\C=C\C=C(\C=C\C=C(\CCC=C(C)C)/C)/C)/C)\C)(/C=C/C=C(/CCC=C(C)C)\C)\C") -smiles(R"C(=C\C=C\C(=C\C=C\C=C(\C=C\C=C(\C=C\C=C(\CCC=C(C)C)/C)/C)/C)\C)(/CC/C=C(/CCC=C(C)C)\C)\C") -smiles(R"C(=C\C=C\C(=C\C=C\C=C(\CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)/C)\C)(/CC/C=C(/CCC=C(C)C)\C)\C") -smiles(R"C(=C\CC/C(=C/C=C/C=C(/CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)\C)/C)(/CC/C=C(/CCC=C(C)C)\C)\C") -smiles(R"CC(=CCC/C(=C/CC/C(=C/C=C/C(=C/C=C/C=C(/C=C/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)\C)/C)/C)/C)C") -smiles(R"C(/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)\C)\C)\C)\C)\C)c1c(c(cc(c1)O)OC)O") -smiles(R"CC(=CCC/C(=C/CC/C(=C/CC/C(=C\CC/C(=C\CC/C(=C\CC/C(=C\CC/C(=C\CC/C(=C\CC/C(=C\CC/C(=C\CC/C(=C\CC/C(=C\CC/C(=C\COP(=O)(OP(=O)([O-])[O-])[O-])/C)/C)/C)/C)/C)/C)/C)/C)/C)/C)/C)/C)/C)C") -smiles(R"C(/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)/C)/C)/C)/C)/C)/C)/C)/C)O") -smiles(R"C(/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)/C)/C)/C)/C)/C)/C)/C)/C)OP(=O)(OP(=O)(O[C@@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O[C@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)NC(=O)C)O[C@@H](C(=O)N[C@H](C(=O)N[C@@H](C(=O)[O-])CCC(=O)N[C@@H](CCCC[NH3+])C(=O)N[C@@H](C(=O)N[C@H](C)C(=O)[O-])C)C)C)NC(=O)C)[O-])[O-]") -smiles(R"C(/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)/C)/C)/C)/C)/C)/C)/C)/C)OP(=O)(OP(=O)(O[C@@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O[C@@H](C(=O)N[C@H](C(=O)N[C@@H](C(=O)[O-])CCC(=O)N[C@@H](CCCC[NH3+])C(=O)N[C@@H](C(=O)N[C@H](C)C(=O)[O-])C)C)C)NC(=O)C)[O-])[O-]") -smiles(R"CC(=CCC/C(=C/CC/C(=C/CC/C(=C\CC/C(=C\CC/C(=C\CC/C(=C\CC/C(=C\CC/C(=C\CC/C(=C\CC/C(=C\CC/C(=C\CC/C(=C\COP(=O)(OP(=O)([O-])[O-])[O-])/C)/C)/C)/C)/C)/C)/C)/C)/C)/C)/C)/C)C") -smiles(R"C(/C=C(/CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)\C)C/C(=C\CC/C(=C\CC/C(=C\CC/C(=C\CC/C(=C\CC/C(=C\CC/C(=C\COP(=O)([O-])[O-])/C)/C)/C)/C)/C)/C)/C") -smiles(R"C(/C=C(/CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)\C)C/C(=C\CC/C(=C\CC/C(=C\CC/C(=C\CC/C(=C\CC/C(=C\CC/C(=C\COP(=O)(OP(=O)([O-])[O-])[O-])/C)/C)/C)/C)/C)/C)/C") -smiles(R"CC(=CCC/C(=C/CC/C(=C/CC/C(=C\CC/C(=C\CC/C(=C\CC/C(=C\CC/C(=C\CC/C(=C\CC/C(=C\CC/C(=C\CC/C(=C\COP(=O)(OP(=O)([O-])[O-])[O-])/C)/C)/C)/C)/C)/C)/C)/C)/C)/C)/C)C") -smiles(R"C(=C(C)C)CC/C(=C/CC/C(=C/CC/C(=C/CC/C(=C/CC/C(=C/CC/C(=C/CC/C(=C/CC/C(=C/CC/C(=C/CC/C(=C/CO)/C)/C)/C)/C)/C)/C)/C)/C)/C)/C") -smiles(R"C(=C(C)C)CC/C(=C/CC/C(=C/CC/C(=C/CC/C(=C/CC/C(=C/CC/C(=C/CC/C(=C/CC/C(=C/CC/C(=C/CC/C(=C/COP(=O)([O-])[O-])/C)/C)/C)/C)/C)/C)/C)/C)/C)/C") -smiles(R"CC(=CCC/C(=C/CC/C(=C/CC/C(=C\CC/C(=C\CC/C(=C\CC/C(=C\CC/C(=C\CC/C(=C\CC/C(=C\CC/C(=C\COP(=O)([O-])[O-])/C)/C)/C)/C)/C)/C)/C)/C)/C)/C)C") -smiles(R"CC(=CCC/C(=C/CC/C(=C/CC/C(=C\CC/C(=C\CC/C(=C\CC/C(=C\CC/C(=C\CC/C(=C\CC/C(=C\CC/C(=C\COP(=O)(OP(=O)([O-])[O-])[O-])/C)/C)/C)/C)/C)/C)/C)/C)/C)/C)C") -smiles(R"C(=C(\C)/CCC=C(C)C)/CC/C(=C\CC/C(=C\CC/C(=C\CC/C(=C\CC/C(=C\CC/C(=C\CC/C(=C/CC/C(=C/COP(=O)(OP(=O)([O-])[O-])[O-])/C)/C)/C)/C)/C)/C)/C)/C") -smiles(R"C(=C(\C)/CCC=C(C)C)/CC/C(=C\CC/C(=C\CC/C(=C\CC/C(=C\CC/C(=C\CC/C(=C\CC/C(=C\CC/C(=C/COP(=O)(OP(=O)([O-])[O-])[O-])/C)/C)/C)/C)/C)/C)/C)/C") -smiles(R"CC(=CCC/C(=C/CC/C(=C\CC/C(=C\CC/C(=C\CC/C(=C\CC/C(=C\CC/C(=C\CC/C(=C\CC/C(=C\COP(=O)([O-])[O-])/C)/C)/C)/C)/C)/C)/C)/C)/C)C") -smiles(R"C(=C\C(=C\C=C\C(=C\C=C\C=C(\C=C\C=C(\C=C\C=C(\CCC=C(C)C)/C)/C)/C)\C)\C)/C=C(/C=C/CC(C)(O)C)\C") -smiles(R"C(C=C(C)C)C/C(=C/CC/C(=C/CC/C(=C/CC/C(=C/CC/C(=C/CC/C(=C/CC/C(=C/CC/C(=C/COC(=O)c1ccc(cc1)O)/C)/C)/C)/C)/C)/C)/C)/C") -smiles(R"C(=C(\CCC=C(C)C)/C)/CC/C(=C/C=C/C(=C/C=C/C=C(/C=C/C=C(/C=C/C=C(/C=C/CC(C)(C)O)\C)\C)\C)/C)/C") -smiles(R"C(=C(\CCC=C(C)C)/C)/CC/C(=C/C=C/C(=C/C=C/C=C(/C=C/C=C(/C=C/C=C(/C=C/CC(C)(C)OC)\C)\C)\C)/C)/C") -smiles(R"C(/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)\C)\C)\C)\C)OP(=O)(OP(=O)([O-])[O-])[O-]") -smiles(R"C(CCCCCCCCCCCCCCCC)CCCCCCCCC(=O)[O-]") -smiles(R"C(CCCCCCCCCCCCC)CCCCCCCCCC(=O)[O-]") -smiles(R"C(C/C=C(\C)/CC/C=C(/CCC=C(C)C)\C)/C(=C/CC/C(=C/COP(=O)(OP(=O)([O-])[O-])[O-])/C)/C") -smiles(R"C(=C\C=C\C(=C\C=C\C=C(\C=C\C=C(\C=C\C=C(\CCCC(O)(C)C)/C)/C)/C)\C)(/C=C/C=C(/CCC=C(C)C)\C)\C") -smiles(R"C(=C\C=C\C(=C\C=C\C=C(\C=C\C=C(\C=C\C=C(\CCCC(O)(C)C)/C)/C)/C)\C)(/C=C/C=C(/CCCC(O)(C)C)\C)\C") -smiles(R"C(=C\C/C=C\CC)\C/C=C\C/C=C\C/C=C\CCCC(=O)NCCO") -smiles(R"C(=C\CCCCC)\C/C=C\C/C=C\C/C=C\CCCC(=O)NCCO") -smiles(R"C(=C\C/C=C\CC)\CCC/C=C/C=C/C=C\CCCC(=O)[O-]") -smiles(R"C(=C\C=C\C(=C\C=C\C=C(\C=C\C=C(\C=C\C=C(\C=O)/C)/C)/C)\C)(/C=C/C=C(/C=O)\C)\C") -smiles(R"C(CCCCCCCCCCCC)CCCC[C@H]([C@H](CO)[NH3+])O") -smiles(R"C(CCCCCCCCCCCC)CCCC[C@H]([C@H](COP(=O)([O-])[O-])[NH3+])O") -smiles(R"C(=C\C/C=C\CCCCC)\CCCCCCCCO") -smiles(R"C(=C\CCCCCCCC)\CCCCCCCCO") -smiles(R"C(CCCCCCCCC)CCCCCCCC=O") -smiles(R"C(/C=C\C/C=C\CCCCC)CCCCCCC(=O)NCCO") -smiles(R"C(=C\C/C=C\CCCCC)\CCCCCCCC(=O)[O-]") -smiles(R"C(=C\CCCCCCCC)\CCCCCCCC(=O)[O-]") -smiles(R"C(CCCCCCCCCC)CCCCCC(C=O)O") -smiles(R"C(=C\C/C=C\C/C=C\C/C=C\C/C=C\CCCC(=O)[O-])\CC") -smiles(R"C(CCCCCCCCCCCC)CCC[C@H]([C@H]([C@H](CO)[NH3+])O)O") -smiles(R"C(CCCCCCCCCCCC)CCC[C@H]([C@H]([C@H](COP(=O)([O-])[O-])[NH3+])O)O") -smiles(R"C(C/C=C\C/C=C\C/C=C\C/C=C\CCCC(=O)[O-])CCC") -smiles(R"C(C/C=C\C/C=C\C/C=C\C/C=C\CCCC(=O)OC(CO)CO)CCC") -smiles(R"C(CCCCCCCCCC)CCCC[C@H]([C@H](C)[NH3+])O") -smiles(R"C(=C\CCCCCCCCCCCCC)/[C@H]([C@H](COC1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)[NH3+])O") -smiles(R"C(CCCCCCCCCC)CCCC[C@H]([C@H](CO)[NH3+])O") -smiles(R"CCCCCCCCCCCCCCC[C@H]([C@H](COP(=O)([O-])O[C@H]1[C@@H]([C@H]([C@@H]([C@H]([C@H]1O)O)O)O)O[C@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)NC(=O)CCCCCCCCCCCCCCCCCCCCCCC)O") -smiles(R"C(=C\CCCCCCCCCCCCC)/[C@H]([C@H](COP(=O)([O-])[O-])[NH3+])O") -smiles(R"C(CCCCCCCCCC)CCCC[C@H]([C@H](COP(=O)([O-])[O-])[NH3+])O") -smiles(R"CCCCCCCCCCCCCCC[C@H](C[NH3+])O") -smiles(R"C(=C\CCCCCCCCCCCCC)/C=O") -smiles(R"C(CCCCCCCC)CCCCCCC=O") -smiles(R"C(CCCCCCCC)CCCCCCCO") -smiles(R"CC(=CCC/C(=C/CC/C(=C/CC/C(=C/CO)/C)/C)/C)C") -smiles(R"CC(=CCC/C(=C/CC/C(=C/CC/C(=C/CO)/C)/CO)/C)C") -smiles(R"CCCCCCCCCCCCCCCC(=O)[C@@H]([NH3+])C") -smiles(R"CCCCCCCCCCCCCCCC(=O)C[NH3+]") -smiles(R"C(CCCCCCCC)CCCCCC(C=O)O") -smiles(R"C(CCCCCCCCCC)CCCCC(=O)[O-]") -smiles(R"C(CCCCCCCC)CCCCCC(C(=O)[O-])O") -smiles(R"C(CCCCCCCCCCCCCCC(=O)[O-])O") -smiles(R"CC(CCCC(CCCC(CCC/C(=C/COP(=O)(OP(=O)([O-])[O-])[O-])/C)C)C)C") -smiles(R"C(/C=C\CCCCC)/C=C\C=C\C=C\[C@H]1[C@@H](CCCC(=O)[O-])O1") -smiles(R"CCCCCCCCCCCCCC[C@H]([C@H]([C@H](CO)NC(=O)[C@H]([C@@H](CCCCCCCCCCCCCCCCCCCCCCC)O)O)O)O") -smiles(R"CCCCCCCCCCCCCC[C@H]([C@H]([C@H](CO)NC(=O)[C@H]([C@@H](CCCCCCCCCCCCCCCCCCCCC)O)O)O)O") -smiles(R"C(CCCCCCC(C)C)CC/C=C/[C@H]([C@H](CO)[NH3+])O") -smiles(R"C(CCCCCCC(C)C)CCCC[C@H]([C@H](CO)[NH3+])O") -smiles(R"C(CCCCCCC(C)C)CCCC[C@H]([C@H](COP(=O)([O-])[O-])[NH3+])O") -smiles(R"C(CCCCCCC(C)C)CC/C=C/[C@H]([C@@H]([NH3+])COP(=O)([O-])[O-])O") -smiles(R"C(/C=C\CCCCC)/C=C\C=C\C=C\[C@H]([C@@H](O)CCCC(=O)[O-])SC[C@H](NC(=O)CC[C@H]([NH3+])C(=O)[O-])C(=O)NCC(=O)[O-]") -smiles(R"C(/C=C\CCCCC)/C=C\C=C\C=C\[C@H]([C@@H](O)CCCC(=O)[O-])SC[C@H]([NH3+])C(=O)NCC(=O)[O-]") -smiles(R"C(/C=C\CCCCC)/C=C\C=C\C=C\[C@H]([C@@H](O)CCCC(=O)[O-])SC[C@H]([NH3+])C(=O)[O-]") -smiles(R"C(=C(\CC/C=C(/CCC=C(C)C)\C)/C)/C=O") -smiles(R"C(=C\CCCCCCCCCC(C)C)/C=O") -smiles(R"C(CCCC)CCCCCCCCCC=O") -smiles(R"C(CCCC)CCCCCCCCC(C=O)C") -smiles(R"C(CCCCCCCCCCCCCCO)CCC") -smiles(R"CC(CCCC(CCCC(CCCC(C=O)C)C)C)C") -smiles(R"CC(=C)C(CC/C(=C/CC[C@](/C=C/[C@@H](CC/C=C(/CCC=C(C)C)\C)C)(C=C)C)/C)C") -smiles(R"CC(=C)C(CC/C(=C/CC[C@](/C=C/[C@@H](CC/C=C(/CCC(C(=C)C)C)\C)C)(C=C)C)/C)C") -smiles(R"C(CCCCCCCCCCCC[C@H]([C@H]([C@H](CO)[NH3+])O)O)C") -smiles(R"C(CCCCCCCCCCCC[C@H]([C@H]([C@H](COP(=O)([O-])[O-])[NH3+])O)O)C") -smiles(R"C=C[C@](CC/C=C(/CCC=C(C)C)\C)(O)C") -smiles(R"C=C[C@@](CC/C=C(/CCC=C(C)C)\C)(O)C") -smiles(R"C/C(=C/C=C/C(=C/C=C/C=C(/C=C/C=O)\C)/C)/C=C/C1=C(CCCC1(C)C)C") -smiles(R"CC(CCCCCCCCCCCC(=O)[C@H](CO)[NH3+])C") -smiles(R"CC(=CCC/C(=C/CC[C@](/C=C/[C@@H](CC/C=C(/CCC=C(C)C)\C)C)(C=C)C)/C)C") -smiles(R"CC(=CCC/C(=C/CC[C@](/C=C/[C@@H](CC/C=C(/CCC(C(=C)C)C)\C)C)(C=C)C)/C)C") -smiles(R"C(=C\C/C=C\CCCCC)\C=C\[C@@H](C/C=C\CCCC(=O)[O-])OO") -smiles(R"C(CCCCCCCCCC[C@H]([C@H](CO)NC(=O)CCCCCCCCCCCCCCCCCCCCCCCCC)O)CCCC") -smiles(R"C(CCCCCCCCCC[C@H]([C@H](CO)NC(=O)C(CCCCCCCCCCCCCCCCCCCCCCCC)O)O)CCCC") -smiles(R"C(CCCCCCCCCC[C@H]([C@H](CO)NC(=O)CCCCCCCCCCCCCCCCCCCCCCC)O)CCCC") -smiles(R"C(CCCCCCCCCC[C@H]([C@H](CO)NC(=O)C(CCCCCCCCCCCCCCCCCCCCCC)O)O)CCCC") -smiles(R"CCCCCCCCCCC[C@H]([C@H](CO)[NH3+])O") -smiles(R"C(CCCCCCCCCC[C@H]([C@H](CO)[NH3+])O)CC") -smiles(R"CCCCCCCCCCCC(=O)[C@H](CO)[NH3+]") -smiles(R"C(CCCCCCCCCCC(=O)[C@H](CO)[NH3+])CC") -smiles(R"C(CCCCCCCCCCC(=O)[C@H](CO)[NH3+])CCCC") -smiles(R"C(CCCCCCCCCCC(=O)[C@H](CO)[NH3+])CCCCCC") -smiles(R"C(/C(=C/CC/C(=C/CC/C(=C/COP(=O)(OP(=O)([O-])[O-])[O-])/C)/C)/C)C/C=C(/CC/C=C(/CCC=C(C)C)\C)\C") -smiles(R"C(CCCCCCCCC[C@H]([C@H]([C@H](CO)NC(=O)CCCCCCCCCCCCCCCCCCCCCCCCC)O)O)CCCC") -smiles(R"C(CCCCCCCCC[C@H]([C@H]([C@H](CO)NC(=O)CCCCCCCCCCCCCCCCCCCCCCCCC)O)O)CCCCCC") -smiles(R"C(CCCCCCCCC[C@H]([C@H]([C@H](CO)NC(=O)C(CCCCCCCCCCCCCCCCCCCCCCCC)O)O)O)CCCC") -smiles(R"C(CCCCCCCCC[C@H]([C@H]([C@H](CO)NC(=O)CCCCCCCCCCCCCCCCCCCCCCC)O)O)CCCC") -smiles(R"C(CCCCCCCCC[C@H]([C@H]([C@H](CO)NC(=O)C(CCCCCCCCCCCCCCCCCCCCCC)O)O)O)CCCC") -smiles(R"C(CCCCCCCCC[C@H]([C@H]([C@H](CO)NC(=O)CCCCCCCCCCCCCCC)O)O)CCCC") -smiles(R"C(=C\CC/C(=C\CC/C(=C\COP(=O)(OP(=O)(O[C@H]1O[C@@H]([C@H]([C@@H]([C@H]1NC(=O)C)O[C@@H]1[C@@H]([C@H]([C@H]([C@H](O1)CO)O[C@@H]1[C@@H]([C@H]([C@H]([C@H](O1)CO)O[C@@H]1[C@@H]([C@H]([C@H]([C@H](O1)CO)O[C@@H]1[C@@H]([C@H]([C@H]([C@H](O1)CO)O[C@@H]1[C@@H]([C@H]([C@H]([C@H](O1)CO)O)O)NC(=O)C)O)NC(=O)C)O)NC(=O)C)O)NC(=O)C)O)NC(=O)C)NC(=O)C)C)[O-])[O-])/C)/C)(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\C)/CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)/C)/C)/C)/C)/C") -smiles(R"C(=C\CC/C(=C\CC/C(=C\COP(=O)(OP(=O)(O[C@H]1O[C@@H]([C@H]([C@@H]([C@H]1NC(=O)C)O[C@@H]1[C@@H]([C@H]([C@H]([C@H](O1)CO)O[C@@H]1[C@@H]([C@H]([C@H]([C@H](O1)CO)O)O)NC(=O)C)O)NC(=O)C)NC(=O)C)C)[O-])[O-])/C)/C)(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\C)/CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)/C)/C)/C)/C)/C") -smiles(R"C(=C)[C@](CCC=C(C)C)(C)O") -smiles(R"C(=C)[C@@](CCC=C(C)C)(C)O") -smiles(R"C(=C)C(CCC=C(C)C)(C)O") -smiles(R"C(CCCCCCCCC=O)CCC(C)C") -smiles(R"C(C/C(=C\CCC(C)CCO)/C)/C=C(/CC/C=C(/CCC=C(C)C)\C)\C") -smiles(R"CCCCCCCCCC(O)CCCCCCCCCCCC(=O)[O-]") -smiles(R"C(/C=C\C/C=C\CCCC(=O)[O-])/C=C\C=C\[C@H](CCCCC)O") -smiles(R"C(/C=C\C/C=C\CCCC(=O)[O-])/C=C\C=C\[C@H](CCCCC)OO") -smiles(R"C(CCCCCCCCC(=O)[O-])O") -smiles(R"C(=C\C(C/C=C\CCCC(=O)[O-])O)/[C@@H]1[C@H](C/C=C\CCCCC)O1") -smiles(R"C(C/C(=C\CCC(C)CCOP(=O)(OC1OC[C@H]([C@@H]([C@H]1O)O)O)[O-])/C)/C=C(/CC/C=C(/CCC=C(C)C)\C)\C") -smiles(R"C(C/C(=C\CCC(C)CCOP(=O)(OC1O[C@@H]([C@H]([C@@H]([C@@H]1O)O)O)CO)[O-])/C)/C=C(\C)/CC/C=C(\C)/CCC=C(C)C") -smiles(R"C(C/C(=C\CCC(C)CCOP(=O)(O[C@H]1O[C@@H]([C@H]([C@@H]([C@H]1NC(=O)C)O)O)CO)[O-])/C)/C=C(/CC/C=C(/CCC=C(C)C)\C)\C") -smiles(R"C(C/C(=C\CCC(C)CCOP(=O)(O[C@@H]1O[C@@H]([C@H]([C@@H]([C@@H]1O)O)O)CO)[O-])/C)/C=C(\C)/CC/C=C(\C)/CCC=C(C)C") -smiles(R"C(C/C(=C\CCC(C)CCOP(=O)(O[C@@H]1O[C@@H]([C@H]([C@@H]([C@H]1O)O)O)CO)[O-])/C)/C=C(\C)/CC/C=C(\C)/CCC=C(C)C") -smiles(R"C(C/C(=C\CCC(C)CCOP(=O)([O-])[O-])/C)/C=C(/CC/C=C(/CCC=C(C)C)\C)\C") -smiles(R"C(C/C(=C\CCC(C)CCOP(=O)(OP(=O)(OC1O[C@@H]([C@H]([C@@H]([C@H]1NC(=O)C)O)O[C@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O[C@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)O)O[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)O)O)O[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O[C@@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O[C@@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O[C@@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)O)O)O)O)NC(=O)C)CO)[O-])[O-])/C)/C=C(/CC/C=C(/CCC=C(C)C)\C)\C") -smiles(R"C(C/C(=C\CCC(C)CCOP(=O)(OP(=O)(OC1O[C@@H]([C@H]([C@@H]([C@H]1NC(=O)C)O)O[C@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O[C@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)O)O[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)O)O)O[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O[C@@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O[C@@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)O)O)O)O)NC(=O)C)CO)[O-])[O-])/C)/C=C(/CC/C=C(/CCC=C(C)C)\C)\C") -smiles(R"C(C/C(=C\CCC(C)CCOP(=O)(OP(=O)(OC1O[C@@H]([C@H]([C@@H]([C@H]1NC(=O)C)O)O[C@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O[C@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)O)O[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)O)O)O[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O[C@@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)O)O)O)NC(=O)C)CO)[O-])[O-])/C)/C=C(/CC/C=C(/CCC=C(C)C)\C)\C") -smiles(R"C(C/C(=C\CCC(C)CCOP(=O)(OP(=O)(OC1O[C@@H]([C@H]([C@@H]([C@H]1NC(=O)C)O)O[C@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O[C@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)O)O[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)O)O)O[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)O)O)NC(=O)C)CO)[O-])[O-])/C)/C=C(/CC/C=C(/CCC=C(C)C)\C)\C") -smiles(R"C(C/C(=C\CCC(C)CCOP(=O)(OP(=O)(OC1O[C@@H]([C@H]([C@@H]([C@H]1NC(=O)C)O)O[C@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O[C@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)O)O[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)O)O)O[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)O)O)NC(=O)C)CO)[O-])[O-])/C)/C=C(/CC/C=C(/CCC=C(C)C)\C)\C") -smiles(R"C(C/C(=C\CCC(C)CCOP(=O)(OP(=O)(OC1O[C@@H]([C@H]([C@@H]([C@H]1NC(=O)C)O)O[C@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O[C@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)O)O)O[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)O)O)NC(=O)C)CO)[O-])[O-])/C)/C=C(/CC/C=C(/CCC=C(C)C)\C)\C") -smiles(R"C(C/C(=C\CCC(C)CCOP(=O)(OP(=O)(OC1O[C@@H]([C@H]([C@@H]([C@H]1NC(=O)C)O)O[C@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O[C@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O[C@H]1O[C@@H]([C@H]([C@@H]([C@@H]1O)O)O)CO)O)O)O[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)O)O)NC(=O)C)CO)[O-])[O-])/C)/C=C(/CC/C=C(/CCC=C(C)C)\C)\C") -smiles(R"C(C/C(=C\CCC(C)CCOP(=O)(OP(=O)(OC1O[C@@H]([C@H]([C@@H]([C@H]1NC(=O)C)O)O[C@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O[C@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)O)O[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)O)O)NC(=O)C)CO)[O-])[O-])/C)/C=C(/CC/C=C(/CCC=C(C)C)\C)\C") -smiles(R"C(C/C(=C\CCC(C)CCOP(=O)(OP(=O)(OC1O[C@@H]([C@H]([C@@H]([C@H]1NC(=O)C)O)O[C@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O[C@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)O)O[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)O)O)NC(=O)C)CO)[O-])[O-])/C)/C=C(/CC/C=C(/CCC=C(C)C)\C)\C") -smiles(R"C(C/C(=C\CCC(C)CCOP(=O)(OP(=O)(OC1O[C@@H]([C@H]([C@@H]([C@H]1NC(=O)C)O)O[C@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O[C@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)O)O)NC(=O)C)CO)[O-])[O-])/C)/C=C(/CC/C=C(/CCC=C(C)C)\C)\C") -smiles(R"C(C/C(=C\CCC(C)CCOP(=O)(OP(=O)(OC1O[C@@H]([C@H]([C@@H]([C@H]1NC(=O)C)O)O[C@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O[C@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)O)NC(=O)C)CO)[O-])[O-])/C)/C=C(/CC/C=C(/CCC=C(C)C)\C)\C") -smiles(R"C(C/C(=C\CCC(C)CCOP(=O)(OP(=O)(O[C@H]1O[C@@H]([C@H]([C@@H]([C@H]1NC(=O)C)O)O)CO)[O-])[O-])/C)/C=C(/CC/C=C(/CCC=C(C)C)\C)\C") -smiles(R"C(=C(\CCC=C(C)C)/C)/COP(=O)(OP(=O)([O-])[O-])[O-]") -smiles(R"C(=C(\CCC=C(C)C)/C)(/COP(=O)(OP(=O)([O-])[O-])[O-])\C") -smiles(R"C(C/C(=C\CCC(C)CCOP(=O)(OP(=O)([O-])[O-])[O-])/C)/C=C(/CC/C=C(/CCC=C(C)C)\C)\C") -smiles(R"C(/C=C\CCCCC)[C@H](/C=C/C=C/C=C\[C@H](CCCC(=O)[O-])O)O") -smiles(R"C(C/C(=C\CC/C(=C\CO)/C)/C)/C=C(/CC/C=C(/CCC=C(C)C)\C)\C") -smiles(R"[C@@](CCC=C(C)C)([C@@H]1[C@@H]2[C@]([C@@]3(CC[C@@H]4[C@](CC[C@@H](C4(C)C)O)([C@H]3CC2)C)C)(CC1)C)(O)C") -smiles(R"C(C(CCCC)CC)O") -smiles(R"C(CCCCCC)C=O") -smiles(R"C(CCCCCCC)O") -smiles(R"C(/C=C\CCCCCO)/C=C\C=C\C=C\[C@H]([C@@H](O)CCCC(=O)[O-])SC[C@H]([NH3+])C(=O)[O-]") -smiles(R"C(/C(=C/CCC(C=C)(O)C)/C)O") -smiles(R"C(/C=C\CCCCCO)[C@H](/C=C/C=C/C=C\[C@H](CCCC(=O)[O-])O)O") -smiles(R"C(CCCCCCC(=O)NCCO)/C=C\CCCCCC") -smiles(R"CC(=CCC/C(=C/C(=O)[O-])/C)C") -smiles(R"C(=CCC(C(=C)C)COP(=O)([O-])OP(=O)([O-])[O-])(C)C") -smiles(R"C=C(C/C=C(/C)\C=O)C(C)C") -smiles(R"C(=CCC/C(=C/CO)/C)(C)C") -smiles(R"C(=C\CC/C(=C/CO)/C)(/CCC=C(C)C)\C") -smiles(R"C(=C\CC/C(=C\CO)/C)(/CCC=C(C)C)\C") -smiles(R"C(=C\CC/C(=C/C=O)/C)(/C=O)\C") -smiles(R"C(=C\CC/C(=C/C=O)/C)(/CO)\C") -smiles(R"C(=C\CC/C(=C/CO)/C)(/C=O)\C") -smiles(R"C(=C\CC/C(=C/CO)/C)(/CO)\C") -smiles(R"C(=C\CC/C(=C/COP(=O)(OP(=O)(OP(=O)(O)[O-])[O-])[O-])/C)(/CCC=C(C)C)\C") -smiles(R"C(=C\CC/C(=C/CSC[C@@H](C(=O)[O-])[NH3+])/C)(/CCC=C(C)C)\C") -smiles(R"C(/C=C\CC)[C@@H]1[C@@H](CC(=O)[O-])CCC1=O") -smiles(R"C(/C=C\C=C\[C@H](CCCC(=O)[O-])OO)/C=C\C/C=C\CCCCC") -smiles(R"C(C(C)C)CC=O") -smiles(R"CC(=CCCC(=O)C)C") -smiles(R"CC(=CCCC(O)C)C") -smiles(R"CCCCCC(=O)NC") -smiles(R"CCCCCC(=O)[O-]") -smiles(R"C(CCCCC(=O)[O-])CCCC=O") -smiles(R"C(CCCCC(=O)[O-])[NH3+]") -smiles(R"C(=C\C)\C=C(\C(=O)[O-])/O") -smiles(R"C(CCCCC(=O)[O-])O") -smiles(R"CCCC[C@@H](C)[C@@H](O)[C@H](C[C@H](C[C@@H](CCCC[C@H](C[C@@H]([C@H](C)[NH3+])O)O)O)C)O") -smiles(R"CCCC[C@@H](C)[C@@H](OC(=O)C[C@H](C(=O)[O-])CC(=O)[O-])[C@H](C[C@H](C[C@@H](CCCC[C@H](C[C@@H]([C@H](C)[NH3+])O)O)O)C)OC(=O)C[C@@H](CC(=O)[O-])C(=O)[O-]") -smiles(R"C(CCC)[C@@H](C(=O)[O-])[NH3+]") -smiles(R"C(=C(C)C)CO") -smiles(R"C(CC)(C)C=O") -smiles(R"CC(C)CC=O") -smiles(R"C(CCC)C(=O)N") -smiles(R"CCCCC(=O)[O-]") -smiles(R"C(=C\C(=C/C(=O)OC1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)\C)/[C@@]1(C(CC(=O)C=C1C)(C)C)O") -smiles(R"C(=C\C(=C/C(=O)[O-])\C)/[C@@]1([C@@](CC(=O)C=C1C)(C)CO)O") -smiles(R"C(=C\C(=C/C(=O)[O-])\C=C/C(=O)[O-])\C(=O)[O-]") -smiles(R"C(CCCC(=O)[O-])C(CCS)S") -smiles(R"C(=C(\C=C/C(=O)[O-])/Cl)\C(=O)[O-]") -smiles(R"C(=C\C=C(/C(=O)[O-])\Cl)(\C(=O)[O-])/Cl") -smiles(R"C(=C\C(=C/C=O)\O)\C(=O)[O-]") -smiles(R"C(=C/C=C\C(=O)[O-])(C(=O)[O-])C(=O)[O-]") -smiles(R"C(=C(\C=C/C(=O)[O-])/C(=O)[O-])\C(=O)[O-]") -smiles(R"C(/C(=C(\C)/C(=O)[O-])/C(=O)[O-])C(=O)[O-]") -smiles(R"C([C@](CCC(=O)[O-])(C(=O)[O-])O)C(=O)[O-]") -smiles(R"C(C(CCC(=O)[O-])(C(=O)[O-])O)C(=O)[O-]") -smiles(R"C(=C\C=C(/C(=O)[O-])\O)(/C[C@@H](C(=O)[O-])[NH3+])\C=O") -smiles(R"CC(C)[C@@H]1CCC(=C2CCC(=C[C@@H]12)C)C") -smiles(R"CC(C)[C@H]1CCC(=C2CCC(=C[C@H]12)C)C") -smiles(R"C(C[C@]([C@H](CCCCCCCCCC)C(=O)[O-])(C(=O)[O-])O)C(=O)[O-]") -smiles(R"C(=C\C([C@@H](C/C=C\CCCCC)O)O)/C(C/C=C\CCCC(=O)[O-])O") -smiles(R"C(CC[C@@H](C(=O)[O-])NC(=O)C)C=O") -smiles(R"C(CC[C@H](C(=O)[O-])[NH3+])[NH3+]") -smiles(R"C(C)C(C#N)C") -smiles(R"C/C(=C/CNc1c2c([nH]cn2)ncn1)/CO") -smiles(R"C(/C(=C/CNc1c2c([nH]cn2)ncn1)/C)O") -smiles(R"C(CCCNC(=[NH2+])N)NC(=[NH2+])N") -smiles(R"C(CCCNC(=O)C)[NH3+]") -smiles(R"C(CCC[NH2+]CC[C@@H](C(=O)[O-])[NH3+])[NH3+]") -smiles(R"C(C(C)C)[NH3+]") -smiles(R"CC(C)(C)[NH3+]") -smiles(R"C(CCC[NH3+])C(=O)N") -smiles(R"C(CCC[NH3+])[NH2+]CCC[NH2+]CCC[NH3+]") -smiles(R"C(C)C(/C=N/O)C") -smiles(R"C(C)C(/C=N\O)C") -smiles(R"C(#C)CCO") -smiles(R"C(CC)C=O") -smiles(R"C(CCC)O") -smiles(R"CC(=CC=O)C") -smiles(R"CC(CCO)C") -smiles(R"C(CCC=O)C(C(=O)[O-])[NH3+]") -smiles(R"C(CCC=O)[C@@H](C(=O)[O-])[NH3+]") -smiles(R"C(=C\CC(=O)C(=O)[O-])\C(=O)[O-]") -smiles(R"C(=C(\CC(=O)C(=O)[O-])/C(=O)[O-])\C(=O)[O-]") -smiles(R"C(C(CC(=O)C(=O)[O-])(C(=O)[O-])O)C(=O)[O-]") -smiles(R"C(CCC=O)[N+](C)(C)C") -smiles(R"CCCC(=O)[O-]") -smiles(R"C(C(CC(=O)[O-])C(=C)C)CC(=O)C") -smiles(R"C(/C(=C(\C(=O)[O-])/C)/C(=O)[O-])C(=O)[O-]") -smiles(R"C(=C(\C)/C(=O)[O-])/C(=O)[O-]") -smiles(R"C(CCC(=O)[O-])C(=O)[O-]") -smiles(R"C(C(CC(=O)[O-])C(=O)[O-])C(=O)[O-]") -smiles(R"C(C(CC(=O)[O-])C(=O)[O-])(C(=O)[O-])OC(=O)/C=C\c1cc(c(cc1)O)O") -smiles(R"C(CCC(=O)[O-])[N+](C)(C)C") -smiles(R"C(CC(C(=O)[O-])[NH3+])C(=O)NC(C(=O)[O-])CSSCC(C(=O)[O-])NC(=O)CCC(C(=O)[O-])[NH3+]") -smiles(R"C(C(C)C(=O)[O-])O") -smiles(R"C(CC(C(=O)[O-])(O)CC(=O)[O-])CSC") -smiles(R"C(CC(C(=O)[O-])(O)CC(=O)[O-])SC") -smiles(R"C(C(CC(=O)[O-])O)[N+](C)(C)C") -smiles(R"C(/C(=C\COP(=O)(OP(=O)([O-])[O-])[O-])/C)C/C=C(/CC/C=C(/CCC=C(C)C)\C)\C") -smiles(R"CCCCS(=O)(=O)[O-]") -smiles(R"C=C([C@@H]1CC(=O)O[C@@H](CC1)C)C") -smiles(R"C=C([C@H]1CC(=O)O[C@@H](CC1)C)C") -smiles(R"C(C[C@@H]1C(=O)CC[C@]2([C@H]1CCC2=O)C)C(=O)/C(=C/C=C(/C(=O)[O-])\O)/C") -smiles(R"C(C[C@@H]1C(=O)CC[C@]2([C@H]1CCC2=O)C)C(=O)/C(=C\C=C(\O)/C(=O)[O-])/C") -smiles(R"C(C[C@@H]1C(=O)CC[C@]2([C@H]1CCC2=O)C)C(=O)[O-]") -smiles(R"C=C([C@H]1COC(=O)[C@@H](CC1)C)C") -smiles(R"C([C@]([C@H](CCCCCCCCCC)C(=O)[O-])(C(=O)[O-])O)C(=O)[O-]") -smiles(R"C(=C\[C@H](C/C=C\CCCCC)OO)/C=C\C/C=C\CCCC(=O)[O-]") -smiles(R"CC[C@@H](CC(=O)C(=O)[O-])O") -smiles(R"C(C[C@H]([C@H](C(=O)[O-])[NH3+])C)[NH3+]") -smiles(R"C(C[C@H](C[NH3+])O)[C@@H](C(=O)[O-])[NH3+]") -smiles(R"C([C@]([C@@H](C(=O)[O-])C)(C(=O)[O-])O)C(=O)[O-]") -smiles(R"C(C[C@@H](C(=O)[O-])[NH3+])C(=O)N[C@H](C(=O)[O-])CS") -smiles(R"C(C[C@H](NC(=O)C)C(=O)[O-])C(=O)[O-]") -smiles(R"C(C[C@H](NC=O)C(=O)[O-])SC") -smiles(R"C(C[C@H]([NH3+])C=O)C(=O)[O-]") -smiles(R"C(=C\[C@@H](O)CCCCC)/[C@@H]1[C@@H](C/C=C\CCCC(=O)[O-])C(=O)C[C@H]1O") -smiles(R"C(=C\[C@@H](OO)C/C=C\CC)/C=C\CCCCCCCC(=O)[O-]") -smiles(R"C(CCNC(=[NH2+])N)[C@H]([NH2+][C@@H](C(=O)[O-])CCC(=O)[O-])C(=O)[O-]") -smiles(R"C(CCNC(=O)c1ccccc1)[C@@H](C(=O)[O-])NC(=O)c1ccccc1") -smiles(R"C(CCNC(=O)C)[NH2+]CCCC=O") -smiles(R"C(CCNC(=O)N)[C@@H](C(=O)[O-])NC(=O)C") -smiles(R"C(CC[NH2+]CCCNC(=O)C)C[NH3+]") -smiles(R"C(CC[NH2+]CCC[NH2+]CCC[NH3+])[NH3+]") -smiles(R"C(CC[NH2+][C@@H](C)C(=O)[O-])[C@@H](C(=O)[O-])[NH3+]") -smiles(R"C(C)(C)[NH3+]") -smiles(R"C(CC[NH3+])CC[NH3+]") -smiles(R"C(C(C)[NH3+])C(C(=O)[O-])[NH3+]") -smiles(R"C(CC[NH3+])[C@@H](C(=O)[O-])NC(=O)C") -smiles(R"C(CC[NH3+])[NH3+]") -smiles(R"CC(/C=N/O)C") -smiles(R"C=CC=O") -smiles(R"C(=C)CO") -smiles(R"C(C)C=O") -smiles(R"C#CCO") -smiles(R"CC(C)O") -smiles(R"C(C(CO)c1cc(c(cc1)OC)OC)(O)c1cc(c(cc1)OC)OC") -smiles(R"C(=C\C=O)(/CCC=C(C)C)\C") -smiles(R"CCC(=O)C(CC)O") -smiles(R"C(=C\C=O)(\C=C(/C(=O)[O-])\O)/C(=O)[O-]") -smiles(R"C(=C\C=O)(/C[C@@H](C(=O)[O-])[NH3+])\C=C(/C(=O)[O-])\O") -smiles(R"C([C@@](C)(O)C#N)C") -smiles(R"C(C(C)(O)C#N)C") -smiles(R"C(CC=O)C[NH3+]") -smiles(R"C(#CCO)CO") -smiles(R"C(CCO)C(=O)[O-]") -smiles(R"C(=C\C(=O)C(=O)[O-])\c1c(cccc1)C(=O)[O-]") -smiles(R"C(C(C)O)[N+](C)(C)C") -smiles(R"C(=C)(C(=O)N)C[C@@H](C(=O)[O-])[NH3+]") -smiles(R"C(=C)C(=O)[O-]") -smiles(R"C#CC(=O)[O-]") -smiles(R"C(=C\C(=O)[O-])/c1c[nH]cn1") -smiles(R"C(CC(=O)[O-])(CCCC(CCCC(CCCC(C)C)C)C)C") -smiles(R"C(=C(\C(=O)[O-])/C)/C=C/C(=C/C=C/C=C(/C=C/C=C(/C(=O)[O-])\C)\C)/C") -smiles(R"C(CC(=O)[O-])C/C=C\C/C=C\C/C=C\C=C\C(=O)CCCCC") -smiles(R"C(CC(=O)[O-])CCCCC/C=C\C=C\[C@H](/C=C\CCC)OO") -smiles(R"C(=C\C(=O)[O-])(/CCC(=O)[O-])\C(=O)[O-]") -smiles(R"C(=C\C(=O)[O-])(\C=C/C(=O)[O-])/O") -smiles(R"C(=C\C(=O)[O-])(\C=C(/C(=O)[O-])\O)/C(=O)[O-]") -smiles(R"C(=C(\C(=O)[O-])/C)/C(=O)[O-]") -smiles(R"C(=C)(C(=O)[O-])CC(=O)[O-]") -smiles(R"C(CC(=O)[O-])CNC(=O)C") -smiles(R"C(=C\C(=O)[O-])\C(=O)CC(=O)C(=O)[O-]") -smiles(R"C(CC(=O)[O-])(C(=O)C(=O)[O-])C(=O)[O-]") -smiles(R"C(=C\C(=O)[O-])/C(=O)[O-]") -smiles(R"C(CC(=O)[O-])C(=O)[O-]") -smiles(R"C(C(C(=O)[O-])[NH3+])CSSCCC(C(=O)[O-])[NH3+]") -smiles(R"C(C(C(=O)[O-])N)[NH3+]") -smiles(R"C(C(CO)O)O") -smiles(R"C(=C(\C(=O)[O-])/O)/C=C") -smiles(R"C(=C(\C(=O)[O-])/O)\C=C") -smiles(R"C(=C(\C(=O)[O-])/O)/C=C/C(=O)[O-]") -smiles(R"C(=C(\C(=O)[O-])/O)\C=C/C(=O)[O-]") -smiles(R"C(C(CO)O)(O)C(=O)CO") -smiles(R"C(CC(SC(=O)C)CCS)CCC(=O)N") -smiles(R"C(C(CS)O)(CS)O") -smiles(R"C[C@H]1CC(=O)O[C@@H](CC1)C(C)C") -smiles(R"C([C@@H]1[C@H]([C@H]([C@H](n2cnc3c(N)ncnc23)O1)O)O)OP(=O)(OP(=O)(OP(=O)(OP(=O)(OP(=O)(OC[C@@H]1[C@H]([C@H]([C@H](n2cnc3c2ncnc3N)O1)O)O)[O-])[O-])[O-])[O-])[O-]") -smiles(R"C([C@H](Cc1nc[nH]c1)[NH3+])O") -smiles(R"C([C@@H]([C@](C)(C(=O)[O-])O)C(=O)[O-])C(=O)[O-]") -smiles(R"C[C@@H](CC(=O)C(=O)[O-])O") -smiles(R"C([C@@H](CC(=O)[O-])O)[N+](C)(C)C") -smiles(R"C([C@H](CC(=O)[O-])O)[N+](C)(C)C") -smiles(R"C([C@@H]([C@@H](/C=C/CCCCCCCCCCCCC)O)[NH3+])OP(=O)(OCC[N+](C)(C)C)[O-]") -smiles(R"C([C@H]([C@H]([C@@H]([C@@H](CO)O)O)O)O)O") -smiles(R"C([C@H]([C@H]([C@@H]([C@@H](CO)O)O)O)O)OP(=O)([O-])[O-]") -smiles(R"C([C@@H]([C@H]([C@@H]([C@@H](COP(=O)([O-])[O-])O)O)O)O)O") -smiles(R"C[C@@H]([C@@H]([C@H](C(=O)CO)O)O)O") -smiles(R"C([C@H]([C@H]([C@@H](C(=O)C(=O)[O-])O)O)O)OP(=O)([O-])[O-]") -smiles(R"C([C@@H]([C@@H]([C@@H](CO)O)O)O)O") -smiles(R"C([C@@H]([C@H]([C@H](CO)O)O)O)O") -smiles(R"C([C@H]([C@@H]([C@H](C(=O)[O-])O)O)O)O") -smiles(R"C([C@H]([C@@H]([C@@H](CO)O)O)O)OP(=O)([O-])[O-]") -smiles(R"C([C@@H]([C@H]([C@@H](COP(=O)([O-])[O-])O)O)O)O") -smiles(R"C([C@@H]([C@H]([C@H](O)CO)O)O)O") -smiles(R"C([C@H]([C@@H](C(=O)C)O)O)[C@@H](C(=O)[O-])[NH3+]") -smiles(R"C([C@H]([C@@H](C(=O)C)O)O)C(=O)C(=O)[O-]") -smiles(R"C[C@@H]([C@H](C)O)O") -smiles(R"C[C@H]([C@@H](C)O)O") -smiles(R"C([C@H]([C@@H](CO)O)O)O") -smiles(R"C([C@@H]([C@H](O)CO)O)C=O") -smiles(R"C([C@H](C[N+](C)(C)C)OC(=O)C)C(=O)[O-]") -smiles(R"C([C@H](C[N+](C)(C)C)O)C(=O)N") -smiles(R"C([C@H](C)[NH3+])[C@H](C(=O)[O-])[NH3+]") -smiles(R"C[C@H](C[NH3+])OP(=O)([O-])[O-]") -smiles(R"C([C@@H](C(=O)C(=O)C)O)O") -smiles(R"C[C@@H](C(=O)NCC(=O)[O-])[NH3+]") -smiles(R"C([C@@H](C)O)[NH3+]") -smiles(R"[C@]([C@@H](C(=O)[O-])C)(C(=O)[O-])(O)C") -smiles(R"C([C@@H](C(=O)[O-])[NH3+])CCNC(=[NH2+])NO") -smiles(R"C([C@@H](C(=O)[O-])[NH3+])[C@@H](O)C=O") -smiles(R"C([C@@H](C(=O)[O-])[NH3+])C[NH2+][C@@H](CC[NH+]1[C@@H](CC1)C(=O)[O-])C(=O)[O-]") -smiles(R"C([C@@H](C(=O)[O-])[NH3+])SCC(=O)[O-]") -smiles(R"C([C@@H](C(=O)[O-])[NH3+])SS") -smiles(R"C([C@@H](C(=O)[O-])N(O)O)c1ccccc1") -smiles(R"[C@]([C@H](C(=O)[O-])O)(CC)(C)O") -smiles(R"C([C@H](C(=O)[O-])O)[C@@H](C(=O)[O-])[NH3+]") -smiles(R"C([C@@H](C(=O)[O-])O)S(=O)(=O)[O-]") -smiles(R"C([C@@H](CO)O)S(=O)(=O)[O-]") -smiles(R"C([C@H](C(=O)SC)O)OP(=O)([O-])[O-]") -smiles(R"C([C@H]([NH3+])C(=O)[O-])c1ccccc1") -smiles(R"C([C@H](NO)C(=O)[O-])c1ccccc1") -smiles(R"C([C@H](O)C(=O)[O-])C[NH2+][C@@H](CC[NH+]1[C@@H](CC1)C(=O)[O-])C(=O)[O-]") -smiles(R"C([C@H](O)C(=O)[O-])C[NH2+][C@H](C(=O)[O-])CCN1[C@H](C(=O)[O-])[C@H](C1)O") -smiles(R"C([C@H](O)C(=O)[O-])C[NH2+][C@H](C(=O)[O-])[C@H](CN1[C@@H](CC1)C(=O)[O-])O") -smiles(R"C([C@H](O)C(=O)[O-])C[NH2+][C@H](C(=O)[O-])[C@H](CN1[C@H](C(=O)[O-])[C@H](C1)O)O") -smiles(R"CCl") -smiles(R"C(Cl)Br") -smiles(R"C(CNC(=[NH2+])N)S(=O)(=O)[O-]") -smiles(R"C(CNC(=O)C)C=O") -smiles(R"C(C[NH2+]C)(O)c1ccc(cc1)O") -smiles(R"CC[NH3+]") -smiles(R"C(C[NH3+])c1c[nH]cn1") -smiles(R"C(C[NH3+])C=O") -smiles(R"C(C[NH3+])O") -smiles(R"C(C[NH3+])P(=O)([O-])O") -smiles(R"C(C[NH3+])S(=O)[O-]") -smiles(R"CC(=NO)C") -smiles(R"CCO") -smiles(R"CC(=O)C") -smiles(R"C(=C)(Oc1c(c(ccc1)C(=O)[O-])N)C(=O)[O-]") -smiles(R"C(C(=O)C)CC") -smiles(R"CC(=O)CCC1=C(C)CCCC1(C)C") -smiles(R"CC(=O)CCCCCCCCC") -smiles(R"C(C(=O)C(C(CO)O)O)O") -smiles(R"CC(=O)C(C)O") -smiles(R"CC(=O)CC(=O)C(=O)[O-]") -smiles(R"CC(=O)CC(=O)[O-]") -smiles(R"C(C(=O)CC(=O)[O-])C(=O)C") -smiles(R"CC(=O)[C@@](C(=O)[O-])(O)CC") -smiles(R"C(C(=O)[C@H]([C@@H](CC(=O)[O-])O)O)O") -smiles(R"CC(=O)[C@H]([C@@H]([C@@H]([C@@H](COP(=O)([O-])[O-])O)O)O)O") -smiles(R"C(C(=O)[C@H]([C@@H]([C@@H]([C@@H](COP(=O)([O-])[O-])O)O)O)O)OP(=O)([O-])[O-]") -smiles(R"C(C(=O)[C@H]([C@@H]([C@@H](COP(=O)([O-])[O-])O)O)O)[NH2+]CCCC[C@@H](C(=O)[O-])[NH3+]") -smiles(R"C(C(=O)[C@@H]([C@@H]([C@@H](COP(=O)([O-])[O-])O)O)O)O") -smiles(R"C(C(=O)[C@H]([C@@H](C(=O)CO)O)O)O") -smiles(R"C(C(=O)[C@@H]([C@@H](CO)O)O)O") -smiles(R"C(C(=O)[C@@H]([C@H](COP(=O)([O-])[O-])O)O)O") -smiles(R"C(C(=O)[C@@H]([C@@H](COP(=O)([O-])[O-])O)O)OP(=O)([O-])[O-]") -smiles(R"CC(=O)[C@@H](C)O") -smiles(R"CC(=O)[C@H](C)O") -smiles(R"C(CO)[C@@H](C(=O)[O-])[NH3+]") -smiles(R"C(C)(O)C=O") -smiles(R"C(CO)C=O") -smiles(R"C(CO)CO") -smiles(R"C(COC(=O)/C=C/c1cc(c(c(c1)OC)O)OC)[N+](C)(C)C") -smiles(R"CC(=O)C(O)C(O)CO") -smiles(R"C(=C(\O)/C(=O)[O-])/c1ccccc1") -smiles(R"C(C(=O)C(=O)[O-])C(C)C") -smiles(R"[C@](C(=O)C(=O)[O-])(CC)(C)O") -smiles(R"C(C(=O)C(=O)OCC)(C(=O)OCC)C") -smiles(R"C(C(=O)C(=O)[O-])[C@@H](CO)O") -smiles(R"C(C(=O)C(=O)[O-])[C@H](CO)O") -smiles(R"C(C(=O)C(=O)[O-])[C@@H](O)[C@H](C)O") -smiles(R"C(C(=O)C(=O)[O-])C[NH2+][C@@H](CC[NH+]1[C@@H](CC1)C(=O)[O-])C(=O)[O-]") -smiles(R"C(C(=O)C(=O)[O-])C(=O)[O-]") -smiles(R"C(C(=O)C(=O)[O-])(C(=O)[O-])C") -smiles(R"C(C(=O)C(=O)[O-])C(=O)OC") -smiles(R"C(C(=O)C)OP(=O)([O-])[O-]") -smiles(R"CC(O)COP(=O)([O-])[O-]") -smiles(R"CC(=O)NCCc1ccccc1") -smiles(R"C(C(=O)NC)C[C@@H](C(=O)[O-])[NH3+]") -smiles(R"CC(=O)NCCC[NH2+]CCCC[NH2+]CCC[NH3+]") -smiles(R"C(C(=O)N[C@H]1[C@@H]([C@@H](O)[C@H](O)[C@H](O1)CO)NC(=O)C)[C@@H](C(=O)[O-])[NH3+]") -smiles(R"CC(=O)N[C@H]1[C@@H](C)O[C@@H]([C@H](O)[C@H]1O)O[C@@H]1[C@H](O[C@@H](O[C@@H]2[C@H](O[C@H](OP(=O)(OP(=O)(OC/C=C(/C)\CC/C=C(/C)\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)/C)/C)/C)/C)/C)/C)[O-])[O-])[C@@H]([C@H]2O)NC(=O)C)CO)[C@H]([C@H]1O)NC(=O)C)C(=O)[O-]") -smiles(R"CC(=O)N[C@H]1[C@@H](O[C@H](CO)[C@@H](O)[C@@H]1O[C@H](C)C(=O)[O-])O") -smiles(R"C(C(=O)N[C@H](C(=O)[O-])CCC[NH3+])CC(=O)[O-]") -smiles(R"C(C(=O)N[C@H](C(=O)[O-])CCC=O)CC(=O)[O-]") -smiles(R"C(C(=O)N[C@H](C(=O)[O-])CCC(=O)[O-])CC(=O)[O-]") -smiles(R"C(C=O)[NH3+]") -smiles(R"C(CO)O") -smiles(R"CC(=O)[O-]") -smiles(R"C(CO)(O)c1cc(c(cc1)OC)OC") -smiles(R"C(C(=O)[O-])C#C") -smiles(R"C(C(=O)[O-])C(C)CCC(C(C)C)O") -smiles(R"C(C(=O)[O-])(C)C(=C)C(=O)[O-]") -smiles(R"CC(=O)OCC[C@@H](C(=O)[O-])[NH3+]") -smiles(R"C(C(=O)[O-])CC[NH3+]") -smiles(R"C(C(=O)[O-])CC(=O)C=O") -smiles(R"C(C(=O)[O-])(CC(=O)C(=O)[O-])(C)O") -smiles(R"C(C(=O)[O-])(CC(=O)[O-])C(C(=O)[O-])O") -smiles(R"C(C(=O)[O-])[C@](C(=O)[O-])(O)C(C)C") -smiles(R"C(C(=O)[O-])[C@H](C)CC[C@@H](C(C)C)O") -smiles(R"C(C(=O)[O-])C=O") -smiles(R"C(C(=O)[O-])C(=O)C(C)C") -smiles(R"C(C(=O)[O-])(C(=O)[O-])C") -smiles(R"C(C(=O)[O-])(C(=O)[O-])[NH3+]") -smiles(R"C(C(=O)[O-])C[S+](C)C") -smiles(R"C(C(=O)[O-])NC(=[NH2+])NP(=O)([O-])[O-]") -smiles(R"C(C(=O)[O-])NC(=O)[C@H]1[NH2+]CCC1") -smiles(R"C(COP(=O)(OCC(CO)O)[O-])(CO)O") -smiles(R"C(C=O)P(=O)([O-])O") -smiles(R"C(COP(=O)([O-])[O-])[NH3+]") -smiles(R"CC(=O)[S-]") -smiles(R"CC(=O)SCC[NH3+]") -smiles(R"C(C=O)S(=O)(=O)[O-]") -smiles(R"C(CSC)C[NH3+]") -smiles(R"C(CS)[NH3+]") -smiles(R"CCS(=O)(=O)[O-]") -smiles(R"[Cd+2]") -smiles(R"C(F)C=O") -smiles(R"C(F)C(=O)[O-]") -smiles(R"[C@H]12[C@]3(CC(C1)(C)C)[C@H](C(=C2)C(=O)[O-])CC[C@H]3C") -smiles(R"[C@H]12c3c(cc4c(c3)OCO4)CCN1Cc1c(C2)ccc2c1OCO2") -smiles(R"[C@H]12c3c(cc(c(c3)OC)OC)CCN1Cc1c(C2)ccc(c1OC)OC") -smiles(R"[C@H]12[C@@]3(CCC[C@](CC[C@@H]1C(C2)(C)C)(C3)C)O") -smiles(R"[C@H]12[C@]3(CC([C@@H]1O)(C)C)[C@H](C(=C2)C(=O)[O-])CC[C@H]3C") -smiles(R"[C@@H]12[C@]3(CC[C@@H](CC3=C[C@H]([C@H]1[C@H]1[C@](CC2)([C@H](CC1)[C@H](C)CC[C@H](C(C)C)O)C)O)O)C") -smiles(R"[C@@H]12c3c(CC[N+]2=C/C(=C/C)/[C@H](C1)/C(=C/O)/C(=O)OC)c1c([nH]3)cccc1") -smiles(R"[C@H]12[C@]3([C@@H]([C@](CCC3)(C)C(=O)[O-])CC[C@]31C[C@H](CC2)C(=C)C3)C") -smiles(R"[C@H]12[C@]3([C@@H]([C@](CCC3)(C)C(=O)[O-])C[C@@H]([C@]31C[C@H](CC2)C(=C)C3)O)C") -smiles(R"[C@H]12c3c(OC([C@@H]1CCC(=C2)C)(C)C)cc(c(c3O)C(=O)[O-])CCCCC") -smiles(R"[C@H]12[C@]([C@]3(C(=CC2=O)[C@H]2[C@@](CC3)(CC[C@@](C2)(C(=O)[O-])C)C)C)(CC[C@@H]2[C@@]1(CC[C@@H](C2(C)C)O)C)C") -smiles(R"[C@H]12[C@]([C@]3(C(=CC2=O)[C@H]2[C@@](CC3)(CC[C@@](C2)(C(=O)[O-])C)C)C)(CC[C@@H]2[C@@]1(CC[C@H](C2(C)C)O)C)C") -smiles(R"[C@H]12[C@]([C@]3(C(=CC2=O)[C@H]2[C@@](CC3)(CC[C@@](C2)(C(=O)[O-])C)C)C)(CC[C@@H]2[C@@]1(CCC(=O)C2(C)C)C)C") -smiles(R"[C@@H]12CC=C3C[C@H](CC[C@@]3([C@H]1CC[C@]1([C@H]2CC[C@@H]1[C@H](C)CC[C@@H](C(C)C)O)C)C)O") -smiles(R"[C@@H]12CC=C3C[C@H](CC[C@@]3([C@H]1CC[C@]1([C@H]2CC[C@@H]1[C@H](C)CC[C@H](C(C)C)O)C)C)O") -smiles(R"[C@@H]12CC=C3[C@H](CC[C@]4([C@H]3CC[C@@H]4[C@@H](CCCC(C)C)C)C)[C@@]1(C)CC[C@H](O)[C@]2(C(=O)[O-])C") -smiles(R"[C@@H]12CC[C@](C2)(C)C(=O)C1(C)C") -smiles(R"[C@H]12[C@@](C(=CCC1)C)(CC[C@H]([C@]2(CCC(=C)C=C)C)C)C") -smiles(R"[C@H]12[C@@](C(=CCC1)C)(CC[C@H]([C@]2(CC/C(=C/COP(=O)(OP(=O)([O-])[O-])[O-])/C)C)C)C") -smiles(R"[C@@H]12[C@](CCCC1=C)(CC[C@H](C2)C(O)(C)C)C") -smiles(R"[C@@H]12[C@@](CCCC2(C)C)(C2=CC[C@@](C[C@@H]2CC1)(C=C)C)C") -smiles(R"[C@H]12C(=C[C@@](CC2)(C)C=C)CC[C@@H]2[C@@]1(CCCC2(C)C)C") -smiles(R"[C@@H]12[C@@](CCCC2(C)C)([C@H]2C(=C[C@](CC2)(C=C)C)CC1)C") -smiles(R"[C@@H]12[C@@](CCCC2(C)C)([C@H]2C(=C[C@@](CC2)(C=C)C)CC1)C") -smiles(R"[C@@H]12C(=CC(=CC2)C)[C@H](CC[C@H]1C)C(C)C") -smiles(R"[C@@H]12C(=CC(=C)CC2)[C@H](CC[C@H]1C)C(C)C") -smiles(R"[C@H]12C=C(CCC=C(CC[C@H]1C2(C)C)C)C") -smiles(R"[C@@H]12C=C(CCC=C(CC[C@H]1C(=C)C(=O)O2)C)C") -smiles(R"[C@H]12C(=CC[C@@H]3[C@@]1(CCCC3(C)C)C)C=C(CC2)C(C)C") -smiles(R"[C@H]12C(=CC[C@@H]3[C@@]1(CCCC3(C)C)C)C[C@@](CC2)(C)C=C") -smiles(R"[C@H]12C(=CC[C@@H]3[C@@]1(CC[C@@H](C3(C)C)O)C)[C@H]1[C@](CC2)([C@H](CC1)[C@@H](CCCC(C)C)C)C") -smiles(R"[C@H]12C(=CC[C@H]3[C@]2(CC[C@@]2([C@@]3(CC[C@](C2)(CCC=C(C)C)C)C)C)C)C([C@H](CC1)O)(C)C") -smiles(R"[C@H]12C(=CC[C@@H]3[C@]2(C(=O)C[C@]2([C@]3(C[C@H]([C@@H]2[C@@](C(=O)/C=C/C(OC(=O)C)(C)C)(C)O)O)C)C)C)C(C(=O)[C@H](C1)O)(C)C") -smiles(R"[C@H]12C(=CC[C@@H]3[C@]2(C(=O)C[C@]2([C@]3(C[C@H]([C@@H]2[C@@](C(=O)CCC(OC(=O)C)(C)C)(C)O)O)C)C)C)C(C(=O)[C@H](C1)O)(C)C") -smiles(R"[C@H]12CC=C([C@H](C1(C)C)C2)C") -smiles(R"[C@H]12C(=C)C([C@H](CC1)C2)(C)C") -smiles(R"[C@H]12C(C(=C)[C@H](CC1)C2)(C)C") -smiles(R"[C@@H]12CC[C@H]([C@@H]3C(=C(CC3)C)[C@@H]1C2(C)C)C") -smiles(R"[C@@H]12[C@@]([C@@H]3C(=CC2)C[C@@](CC3)(C)C=C)(CCC[C@@]1(C)C(=O)[O-])C") -smiles(R"[C@@H]12C[C@@H]3C(=C)[C@H](CC[C@]3(C[C@@H](C(=C(CC1)C)C2(C)C)O)C)OC(=O)C") -smiles(R"[C@H]12[C@]([C@H](CC[C@@H]1C(C)C)C)(CCC(=C2)C)O") -smiles(R"[C@@H]12C[C@@H](C[C@@H]([C@@H]3[C@H]1O3)N2C)OC(=O)[C@H](CO)c1ccccc1") -smiles(R"[C@H]12[C@](C(=O)c3c(C1)c(c1c(c3O)c(ccc1)O)C)(C(=O)C(=C([C@H]2[NH+](C)C)[O-])C(=O)N)O") -smiles(R"[C@H]12CC(=O)N1[C@@H](/C(=C/C[NH3+])/O2)C(=O)[O-]") -smiles(R"[C@H]12CC(=O)N1[C@@H]([C@H](O2)CC[NH3+])C(=O)[O-]") -smiles(R"[C@H]12[C@H]3[C@@]([C@H](CC3)CC=O)(CC[C@@H]1[C@@]1(C(CC2)CCCC1)C)C") -smiles(R"[C@H]12[C@H]3[C@@]([C@H](CC3)CCO)(CC[C@@H]1[C@@]1(C(CC2)CCCC1)C)C") -smiles(R"[C@H]12[C@@H](c3c(CC1)cc(cc3)O[C@@H]1O[C@H](C(=O)[O-])[C@H]([C@H](O)[C@H]1O)O)CC[C@@]1([C@H](O[C@@H]3[C@@H]([C@@H](O)[C@H](O)[C@H](O3)CO)NC(=O)C)CC[C@@H]21)C") -smiles(R"[C@H]12[C@@H]([C@@]3(C(=CC1)C[C@H](CC3)O[C@@H]1O[C@@H]([C@H]([C@@H]([C@H]1O)O)O)CO)C)CC[C@@]1(C)[C@H]2CC[C@@H]1[C@@H](CCCC(C)C)C") -smiles(R"[C@@H]12[C@H](c3c(O2)c(c(cc3)O)CCC(C)(C)O)COc2c1ccc(c2)O") -smiles(R"[C@@H]12[C@H](c3c(O2)cc(cc3)OC)COc2c1ccc(c2)O") -smiles(R"[C@H]12[C@@H](CCC3=CC(=O)CC[C@]13C)[C@H]1[C@@](CC2)(C)OC(=O)CC1") -smiles(R"[C@H]12[C@@H](CCC3=CC(=O)CC[C@]13C)[C@@H]([C@@](CC2)(C)O)CCC(=O)[O-]") -smiles(R"[C@@H]12[C@@H](CC(=CC1)C)C2(C)C") -smiles(R"[C@H]12[C@H](CC(=CC1)C)C2(C)C") -smiles(R"[C@H]12[C@H](C=C(CC1)C)[C@H](CC[C@@]2(C)O)C(C)C") -smiles(R"[C@H]12[C@H](C=C(CC1)C)[C@@H](CC[C@H]2C)C(=C)C=O") -smiles(R"[C@H]12[C@H](C=C(CC1)C)[C@@H](CC[C@H]2C)C(=C)CO") -smiles(R"[C@H]12[C@H](C=C(CC1)C)[C@@H](CC[C@H]2C)C(=C)C(=O)[O-]") -smiles(R"[C@H]12[C@H](C=C(CC1)C)[C@@H](CC[C@H]2C)[C@@H](C)C=O") -smiles(R"[C@H]12[C@H](CC(=C([C@H](C[C@]3([C@@H](C(=C)[C@H](CC3)OC(=O)C)[C@@H]1OC(=O)C)C)O)C2(C)C)C)OC(=O)C") -smiles(R"[C@H]12[C@H](CC(=C([C@H](C[C@]3([C@@H](C(=C)[C@H](CC3)OC(=O)C)[C@@H]1OC(=O)C)C)OC(=O)C)C2(C)C)C)OC(=O)C") -smiles(R"[C@@H]12[C@@H](C(=CO[C@H]1O[C@@H]1O[C@@H]([C@H]([C@@H]([C@H]1O)O)O)CO)C(=O)[O-])C[C@@H]([C@@H]2C)O") -smiles(R"[C@@H]12[C@@H]([C@H](OC1)c1cc(c(cc1)O)OC)CO[C@@H]2c1cc(c(cc1)O)OC") -smiles(R"[C@H]12[C@H]([C@H](O[C@H]([C@H]1O[C@]1(O2)[C@@H]([C@H]([C@H]([C@H](O1)C(CO)[NH3+])O)O)O)O[C@H]1[C@@H]([C@H](C[C@H]([C@@H]1O)[NH3+])[NH2+]C)OP(=O)([O-])[O-])CO)O") -smiles(R"[C@@H]12[C@@H](CO[C@H]1c1ccc(c(c1)OC)O)[C@@H](OC2)c1cc(c(cc1)O)OC") -smiles(R"[C@@H]12[C@@H](NC(=O)N1)CS[C@H]2CCCCC(=O)N") -smiles(R"[C@@H]12[C@@H](NC(=O)N1)CS[C@H]2CCCCC(=O)[O-]") -smiles(R"[C@@H]12[C@@H](NC(=O)N1)CS[C@H]2CCCCC(=O)OP(=O)(OC[C@H]1O[C@@H](n2c3c(nc2)c(ncn3)N)[C@@H]([C@@H]1O)O)[O-]") -smiles(R"[C@@H]12[C@@H](NC(=O)N1)CS(=O)[C@H]2CCCCC(=O)[O-]") -smiles(R"[C@@H]12[C@H](OP(=O)(O2)[O-])[C@H](O)[C@H]([C@H](O)[C@H]1O)O") -smiles(R"[C@H]1(c2ccccc2C=C[C@@H]1O)O") -smiles(R"[C@H]1(c2ccccc2)CO1") -smiles(R"[C@H]1(c2c(cc(c(c2O)C(=O)[O-])CCCCC)O)[C@@H](CCC(=C1)C)C(=C)C") -smiles(R"[C@@H]1(c2c(CC[NH2+]1)cc(c(c2)O)O)C[C@H]1[C@@H](C=C)[C@@H](OC=C1C(=O)OC)O[C@@H]1O[C@H](CO)[C@H]([C@H](O)[C@H]1O)O") -smiles(R"[C@@H]1(c2c(=O)[nH]c(=O)[nH]c2)O[C@@H]([C@H]([C@H]1O)O)COP(=O)([O-])[O-]") -smiles(R"[C@@H]1(CC[C@@]2(C)CCC=C(C)[C@@H]2C1)C(=C)C") -smiles(R"[C@@H]1(CC[C@]2(C[C@@H](C3=C(C[C@@H]([C@@H](C[C@@H]2C1=C)C3(C)C)O)C)O)C)OC(=O)C") -smiles(R"[C@H]1(CC[C@@]2([C@H](C1)C(=CCC2)C)C)C(=C)C") -smiles(R"[C@H]1(CC[C@@]2([C@@H](C1)C(=C)CCC2)C)C(=C)C") -smiles(R"[C@H]1(C(=CCC1=O)/C=C/[C@H](CCCCC)O)CCCCCCC(=O)[O-]") -smiles(R"[C@H]1([C@@](C=CC(=C1)C)(O)C(=O)[O-])O") -smiles(R"[C@H]1(C=CC(=C)CC1)[C@H](CCC=C(C)C)C") -smiles(R"[C@@H]1(C=C(CCC=C(CC[C@@H]1C(C)C)C)C)O") -smiles(R"[C@H]1(CCC(=C(C)C)[C@H]([C@@]1(CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)C)CCC=O)C") -smiles(R"[C@@H]1(C=C(CC[C@@H]1C(=C)C)C)O") -smiles(R"[C@H]1(C=C(C=C[C@H]1[NH3+])C(=O)[O-])OC(=C)C(=O)[O-]") -smiles(R"[C@H]1(CCCC[C@H]1O)O") -smiles(R"[C@H]1(C(=C)CC[C@@H]2[C@@]1(CCCC2(C)C)C)C/C=C(/C=C)\C") -smiles(R"[C@@H]1(C(=C)CC[C@@H]2[C@@]1(CCCC2(C)C)C)CC/C(=C/COP(=O)(OP(=O)([O-])[O-])[O-])/C") -smiles(R"[C@H]1(C(=C)CC[C@@H]2[C@@]1(CCCC2(C)C)C)CC/C(=C/COP(=O)(OP(=O)([O-])[O-])[O-])/C") -smiles(R"[C@H]1(C(=C)CC[C@H]2[C@]1(CCCC2(C)C)C)CC/C(=C/COP(=O)(OP(=O)([O-])[O-])[O-])/C") -smiles(R"[C@@H]1([C@](CC[C@@H]2[C@@]1(CCCC2(C)C)C)(C)O)CC/C(=C/COP(=O)(OP(=O)([O-])[O-])[O-])/C") -smiles(R"[C@H]1(C(C)(C)[C@H]2CC[C@@]1(C)C2)O") -smiles(R"[C@@H]1(C(=CC[C@@H](C1)C(=C)C)C)O") -smiles(R"[C@H]1(C(=CC[C@@H](C1)C(=C)C)C)O") -smiles(R"[C@H]1(C(=CC[C@H](C1)C(=C)C)C)O") -smiles(R"[C@H]1(C[C@](C[C@H]([C@@H]1O)O)(C(=O)[O-])O)OC(=O)/C=C/c1cc(c(cc1)O)O") -smiles(R"[C@H]1(C=CCC(=O)[C@H]1[NH3+])C(=O)[O-]") -smiles(R"[C@H]1(CC[C@@H]2[C@@]31CC=C([C@@H](C3)C2(C)C)C)C") -smiles(R"[C@H]1(CC[C@@H]2[C@@]31CC[C@]([C@@H](C3)C2(C)C)(C)O)C") -smiles(R"[C@@H]1(C=C[C@@H]2[C@@H]([C@H]1CC[C@@H]1C[C@H](CC(=O)O1)O)CC[C@H](C2)C)C") -smiles(R"[C@H]1(CC[C@H](C[C@H]1O)C)C(C)(C)O") -smiles(R"[C@H]1(CC[C@H]([C@H]2[C@@H]1C=C(CC2)C)C)C(=C)C") -smiles(R"[C@H]1(CC(C[NH2+]1)O)C(=O)[O-]") -smiles(R"[C@H]1(C(=C(C(=O)O1)[O-])[O])[C@H](CO)O") -smiles(R"[C@H]1(C[C@H]([C@H](CC1)O)O)C(=O)[O-]") -smiles(R"[C@@H]1(C[C@H](C[NH2+]1)O)C(=O)[O-]") -smiles(R"[C@H]1(C[C@@H](C[NH2+]1)O)C(=O)[O-]") -smiles(R"[C@H]1(C[C@H](C[NH2+]1)O)C(=O)[O-]") -smiles(R"[C@H]1(CC(=O)[C@H](CC1)O)C(=O)[O-]") -smiles(R"[C@@H]1([C@@H]2C(=C(CC2)C)[C@@H](CC1)C=C(C)C)C") -smiles(R"[C@@H]1([C@H]2[C@@H]([C@H](O1)CO)OP(=O)(O2)[O-])n1c2c(nc1)c(=O)[nH]c(n2)N") -smiles(R"[C@@H]1([C@@H]([C@@]1(CC/C=C(/CCC=C(C)C)\C)C)/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)COP(=O)(OP(=O)([O-])[O-])[O-]") -smiles(R"[C@@H]1([C@@H](C1(C)C)C(=O)OCc1cc(Oc2ccccc2)ccc1)C=C(Cl)Cl") -smiles(R"[C@@H]1([C@@H](C1(C)C)C(=O)[O-])C=C(Cl)Cl") -smiles(R"[C@@H]1([C@@H](c2cccc3cccc1c23)O)O") -smiles(R"[C@H]1([C@H](C=CC1=O)/C=C/[C@H](CCCCC)O)CCCCCCC(=O)[O-]") -smiles(R"[C@@H]1([C@H](C(=CC=C1)CCC(=O)[O-])O)O") -smiles(R"[C@@H]1([C@@H](C=CC=C1C(=O)CCC(=O)[O-])O)C(=O)[O-]") -smiles(R"[C@@H]1([C@@H](C=C(C=C1)C(=O)[O-])OC(=C)C(=O)[O-])O") -smiles(R"[C@H]1([C@H](C(=CC=C1)C(=O)[O-])O)O") -smiles(R"[C@H]1([C@@H](/C=C(/CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)\C)[C@]1(CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)C)COP(=O)([O-])OP(=O)([O-])[O-]") -smiles(R"[C@@H]1([C@@H](CC[C@H](C1)C)C(C)C)O") -smiles(R"[C@H]1([C@@H](CC[C@H](C1)C)C(C)C)O") -smiles(R"[C@@H]1([C@@H](CC[C@H](C1)C)C(C)C)O[C@@H]1O[C@@H]([C@H]([C@@H]([C@H]1O)O)O)CO") -smiles(R"[C@H]1([C@H](C[C@@H]([C@@H](C1=O)O)Nc1ccc(cc1)[N+](=O)[O-])CO)O") -smiles(R"[C@@H]1([C@@H](C[C@@H]([C@H]([C@@H]1O[C@H]1[C@@H]2[C@H]([C@H]([C@H](O1)CO)O)O[C@]1(O2)O[C@@H]([C@@H]([C@@H]([C@H]1O)O)O)C([NH3+])CO)O)[NH2+]C)[NH3+])O") -smiles(R"[C@@H]1([C@@H](C[C@@H]([C@H]([C@@H]1O[C@H]1[C@@H]2[C@H]([C@H]([C@H](O1)CO)O)O[C@]1(O2)O[C@@H]([C@@H]([C@@H]([C@H]1O)O)O)C([NH3+])COP(=O)([O-])[O-])O)[NH2+]C)[NH3+])O") -smiles(R"[C@H]1([C@@H](CC[NH2+]1)O)C(=O)[O-]") -smiles(R"[C@H]1([C@H](CC[NH2+]1)O)C(=O)[O-]") -smiles(R"[C@H]1([C@H](CC(O[C@H]1[C@@H]([C@@H](CO)O)O)(C(=O)[O-])O)O)NC(=O)C") -smiles(R"[C@H]1([C@H]([C@@H](CC1=O)O)/C=C/[C@H](CCCCC)O)CCCCCCC(=O)[O-]") -smiles(R"[C@@H]1([C@@H]([C@H](C[C@H](O1)C)[NH+](C)C)O)O[C@H]1[C@H](C[C@H](C(=O)C=C[C@H]([C@@H](CC)OC(=O)[C@@H]1C)C)C)C") -smiles(R"[C@@H]1([C@@H]([C@H](C[C@](O1)(C(=O)[O-])OP(=O)([O-])OC[C@H]1O[C@H]([C@@H]([C@@H]1O)O)n1c(=O)nc(cc1)N)O)NC(=O)C)[C@@H]([C@@H](C)O)NC(=O)C") -smiles(R"[C@@H]1([C@@H]([C@H](C[C@](O1)(C(=O)[O-])OP(=O)([O-])OC[C@H]1O[C@H]([C@@H]([C@@H]1O)O)n1c(=O)nc(cc1)N)O)NC(=O)C)[C@@H]([C@@H](CO)O)O") -smiles(R"[C@H]1([C@H]([C@@H]([C@H](C=C1)C(=O)CCC(=O)[O-])C(=O)[O-])O)OC(=C)C(=O)[O-]") -smiles(R"[C@@H]1([C@@H]([C@H]([C@@H](C[C@@H]1[NH3+])O)O)O)O") -smiles(R"[C@@H]1([C@@H]([C@H]([C@@H]([C@H](C1)[NH3+])O[C@@H]1[C@@H](CC[C@H](O1)C[NH3+])NC(=O)C)O)O[C@@H]1[C@@H]([C@H]([C@@](CO1)(C)O)[NH2+]C)O)[NH3+]") -smiles(R"[C@@H]1([C@@H]([C@H]([C@@H]([C@H](C1)[NH3+])O[C@@H]1[C@@H](CC[C@H](O1)C[NH3+])[NH3+])O)O[C@@H]1[C@@H]([C@H]([C@@](CO1)(C)O)[NH2+]C)O)[NH3+]") -smiles(R"[C@@H]1([C@@H]([C@H]([C@@H]([C@H](C1)[NH3+])O)O)O)[NH3+]") -smiles(R"[C@H]1([C@H]([C@@H]([C@H]([C@@H]([C@H]1NC(=[NH2+])N)O)NC(=[NH2+])N)O[C@@H]1O[C@H]([C@@]([C@H]1O[C@H]1[C@H]([C@@H]([C@H]([C@@H](O1)CO)O)OP(=O)([O-])[O-])[NH2+]C)(C=O)O)C)O)O") -smiles(R"[C@@H]1([C@H]([C@H]([C@@H]([C@H]([C@@H]1O)O)O[C@@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)[NH3+])O)O)O") -smiles(R"[C@@H]1([C@H]([C@H]([C@@H]([C@H]([C@@H]1O)O)O)O)O)O") -smiles(R"[C@H]1([C@@H]([C@H]([C@@H]([C@H]([C@H]1O)O)O)O)O)O") -smiles(R"[C@@H]1([C@@H]([C@@H]([C@@H]([C@H]([C@@H]1O)O)O)O)OP(=O)(OC[C@@H](COC(=O)CCCCCCCCCCCCCCC)OC(=O)CCC/C=C\C/C=C\C/C=C\C/C=C\CCCCC)[O-])O") -smiles(R"[C@@H]1([C@@H]([C@@H]([C@@H]([C@H]([C@@H]1O)O)O)O)OP(=O)(OC[C@@H](COC(=O)CCCCCCCCCCCCCCC)OC(=O)CCCCCCC/C=C\C/C=C\CCCCC)[O-])O") -smiles(R"[C@@H]1([C@@H]([C@@H]([C@@H]([C@H]([C@@H]1O)O)O)O)OP(=O)(OC[C@@H](COC(=O)CCCCCCCCCCCCCCC)OC(=O)CCCCCCC/C=C\CCCCCCCC)[O-])O") -smiles(R"[C@@H]1([C@@H]([C@@H]([C@@H]([C@H]([C@@H]1O)O)O)O)OP(=O)(OC[C@@H](COC(=O)CCCCCCCCCCCCCCC)OC(=O)CCCCCCCCCCCCCCCCC)[O-])O") -smiles(R"[C@@H]1([C@@H]([C@@H]([C@@H]([C@H]([C@@H]1O)O)O)O)OP(=O)(OC[C@@H](COC(=O)CCCCCCCCCCCCCCC)OC(=O)CCCCCCCCCCCCCCC)[O-])O") -smiles(R"[C@@H]1([C@@H]([C@@H]([C@@H]([C@H]([C@@H]1O)O)O)O)OP(=O)(OC[C@@H](COC(=O)CCCCCCCCCCCCCCC)O)[O-])O") -smiles(R"[C@@H]1([C@@H]([C@@H]([C@@H]([C@H]([C@@H]1O)O)O)O)OP(=O)(OC[C@@H](CO)O)[O-])O") -smiles(R"[C@@H]1([C@@H]([C@H]([C@@H]([C@H]([C@@H]1O)O)OP(=O)([O-])[O-])NC(=[NH2+])N)O)NC(=[NH2+])N") -smiles(R"[C@H]1([C@H]([C@@H]([C@H]([C@@H]([C@H]1O)OP(=O)([O-])[O-])NC(=[NH2+])N)O)NC(=[NH2+])N)O[C@H]1[C@@H]([C@]([C@@H](O1)C)(CO)O)O") -smiles(R"[C@@H]1([C@@H]([C@H]([C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])OP(=O)([O-])[O-])O)OP(=O)([O-])[O-])OP(=O)([O-])[O-]") -smiles(R"[C@H]1([C@@H]([C@@H]([C@H]([C@@H]([C@H]1O)OP(=O)([O-])[O-])OP(=O)([O-])[O-])OP(=O)([O-])[O-])O)OP(=O)([O-])[O-]") -smiles(R"[C@H]1([C@H]([C@@H]([C@H]([C@H]([C@H]1OP(=O)([O-])[O-])OP(=O)([O-])[O-])OP(=O)([O-])[O-])O)OP(=O)([O-])[O-])OP(=O)([O-])[O-]") -smiles(R"[C@H]1([C@@H]([C@H]([C@@H]([C@H]([C@@H]1OP(=O)([O-])[O-])OP(=O)([O-])[O-])OP(=O)([O-])[O-])OP(=O)([O-])[O-])OP(=O)([O-])[O-])O") -smiles(R"[C@@H]1([C@@H]([C@@H]([C@@H]([C@H]([C@@H]1OP(=O)([O-])[O-])OP(=O)([O-])[O-])OP(=O)([O-])[O-])OP(=O)([O-])[O-])OP(=O)([O-])[O-])OP(=O)([O-])[O-]") -smiles(R"[C@@H]1([C@H]([C@H]([C@@H]([C@H]([C@@H]1OP(=O)([O-])[O-])OP(=O)(OP(=O)([O-])[O-])[O-])OP(=O)([O-])[O-])OP(=O)([O-])[O-])OP(=O)([O-])[O-])OP(=O)([O-])[O-]") -smiles(R"[C@@H]1([C@@H]([C@H]([C@@H]([C@@H]([NH3+])C1)O[C@H]1O[C@@H]([C@H](C[C@H]1[NH3+])O)C[NH3+])O)O[C@@H]1[C@@H]([C@H]([C@@H]([C@H](O1)COC(=O)N)O)[NH3+])O)[NH3+]") -smiles(R"[C@@H]1([C@@H]([C@H]([C@@H]([C@@H]([NH3+])C1)O[C@H]1O[C@@H]([C@H](C[C@H]1[NH3+])O)C[NH3+])O)O[C@@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)[NH3+])O)[NH3+]") -smiles(R"[C@@H]1([C@@H]([C@H]([C@@H]([C@@H]([NH3+])C1)O[C@H]1O[C@@H]([C@H]([C@@H](C1=O)O)O)C[NH3+])O)O[C@@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)[NH3+])O)[NH3+]") -smiles(R"[C@@H]1([C@@H]([C@H]([C@@H]([C@@H]([NH3+])C1)O[C@H]1O[C@@H]([C@H]([C@@H]([C@H]1[NH3+])O)O)C[NH3+])O)O[C@@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)[NH3+])O)[NH3+]") -smiles(R"[C@@H]1([C@@H]([C@H]([C@@H]([C@@H]([NH3+])C1)O[C@H]1O[C@@H]([C@H]([C@@H]([C@H]1[NH3+])O)O)C[NH3+])O)O[C@@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)[NH3+]") -smiles(R"[C@@H]1([C@@H]([C@H]([C@@H]([C@@H]([NH3+])C1)O[C@H]1O[C@@H]([C@H]([C@@H]([C@H]1[NH3+])O)O)CO)O)O[C@@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)[NH3+])O)[NH3+]") -smiles(R"[C@@H]1([C@@H]([C@H]([C@@H]([C@@H]([NH3+])C1)O[C@H]1O[C@@H]([C@H]([C@@H]([C@H]1[NH3+])O)O)CO)O)O[C@@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)[NH3+]") -smiles(R"[C@@H]1([C@@H]([C@H]([C@@H]([C@@H]([NH3+])C1)O[C@H]1O[C@@H]([C@H]([C@@H]([C@H]1O)O)O)C[NH3+])O)O[C@@H]1[C@@H]([C@H]([C@@H]([C@H](O1)COC(=O)N)O)[NH3+])O)[NH3+]") -smiles(R"[C@@H]1([C@@H]([C@H]([C@@H]([C@@H]([NH3+])C1)O[C@H]1O[C@@H]([C@H]([C@@H]([C@H]1O)O)O)C[NH3+])O)O[C@@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)[NH3+])O)[NH3+]") -smiles(R"[C@@H]1([C@@H]([C@H]([C@@H]([C@@H]([NH3+])C1)O[C@H]1O[C@@H]([C@H]([C@@H]([C@H]1O)O)O)C[NH3+])O)O[C@@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)[NH3+]") -smiles(R"[C@@H]1([C@@H]([C@H]([C@@H]([C@@H]([NH3+])C1)O[C@H]1O[C@@H]([C@H]([C@@H]([C@H]1O)O)O)CO)O)O[C@@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)[NH3+])O)[NH3+]") -smiles(R"[C@@H]1([C@@H]([C@H]([C@@H]([C@@H]([NH3+])C1)O[C@H]1O[C@@H]([C@H]([C@@H]([C@H]1O)O)O)CO)O)O[C@@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)[NH3+]") -smiles(R"[C@@H]1([C@@H]([C@H]([C@@H]([C@@H]([NH3+])C1)O[C@H]1O[C@@H]([C@H]([C@@H]([C@H]1O)OP(=O)([O-])[O-])O)C[NH3+])O)O[C@@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)[NH3+])O)[NH3+]") -smiles(R"[C@H]1([C@H]([C@H]([C@@H]([C@H](O1)[C@H](COC1[C@H]([C@H]([C@@H]([C@H](O1)[C@H](CO)O)O)O)O)O)O)OC1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)O)O[C@@H]1[C@@H]([C@@H](O[C@@H]2[C@@H](C[C@](O[C@@H]2[C@@H](CO)O)(OC[C@@H]2[C@H]([C@@H]([C@H]([C@@H](O2)OC[C@@H]2[C@H]([C@@H]([C@H]([C@H](O2)OP(=O)([O-])[O-])NC(=O)C[C@@H](CCCCCCCCCCC)O)OC(=O)C[C@@H](CCCCCCCCCCC)O)O)NC(=O)C[C@@H](CCCCCCCCCCC)OC(=O)CCCCCCCCCCC)OC(=O)C[C@@H](CCCCCCCCCCC)OC(=O)CCCCCCCCCCCCC)OP(=O)([O-])[O-])C(=O)[O-])O[C@@]2(C(=O)[O-])O[C@@H]([C@@H]([C@@H](C2)O)O)[C@@H](CO)O)O[C@@H]([C@H]1OP(=O)([O-])[O-])[C@H](CO)O)O") -smiles(R"[C@H]1([C@H]([C@H]([C@@H]([C@H](O1)[C@H](CO)O)O)OC1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)O)O[C@@H]1[C@@H]([C@@H](O[C@@H]2[C@@H](C[C@](O[C@@H]2[C@@H](CO)O)(OC[C@@H]2[C@H]([C@@H]([C@H]([C@@H](O2)OC[C@@H]2[C@H]([C@@H]([C@H]([C@H](O2)OP(=O)([O-])[O-])NC(=O)C[C@@H](CCCCCCCCCCC)O)OC(=O)C[C@@H](CCCCCCCCCCC)O)O)NC(=O)C[C@@H](CCCCCCCCCCC)OC(=O)CCCCCCCCCCC)OC(=O)C[C@@H](CCCCCCCCCCC)OC(=O)CCCCCCCCCCCCC)OP(=O)([O-])[O-])C(=O)[O-])O[C@@]2(C(=O)[O-])O[C@@H]([C@@H]([C@@H](C2)O)O)[C@@H](CO)O)O[C@@H]([C@H]1OP(=O)([O-])[O-])[C@H](CO)O)O") -smiles(R"[C@H]1([C@@H]([C@H]([C@H]([C@@H](O1)C)NC(=O)C)O)NC(=O)C)O") -smiles(R"[C@@H]1([C@@H]([C@@H]([C@H]([C@@H](O1)C)O[C@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O[C@H]1[C@@H]([C@H](C=C(O1)C(=O)[O-])O)O)O)O)O)O)O[C@@H]1[C@H]([C@@H](O[C@@H]([C@H]1O)CO)O)O") -smiles(R"[C@@H]1([C@@H]([C@@H]([C@H]([C@@H](O1)C)O[C@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)O)O)O[C@@H]1[C@H]([C@@H](O[C@@H]([C@H]1O)CO)O)O") -smiles(R"[C@@H]1([C@@H]([C@H]([C@@H]([C@H](O1)COC(=O)C)O)O)O)O") -smiles(R"[C@H]1([C@@H]([C@H]([C@H]([C@H](O1)CO)O[C@@H]1[C@@H]([C@H]([C@H]([C@H](O1)CO)O[C@@H]1[C@@H]([C@H]([C@H]([C@H](O1)CO)O)O)NC(=O)C)O)NC(=O)C)O[C@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)NC(=O)C)O[C@@H]1[C@@H]([C@H]([C@@H](O[C@@H]2[C@@H]([C@H]([C@@H](O[C@H]3[C@@H]([C@H](O[C@H](OP(=O)(OP(=O)(OC/C=C(/C)\CC/C=C(/C)\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\C)/CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)/C)/C)/C)/C)/C)[O-])[O-])[C@@H]3NC(=O)C)C)NC(=O)C)O[C@@H]2CO)NC(=O)C)O)O[C@@H]1CO)NC(=O)C)O") -smiles(R"[C@@H]1([C@@H]([C@H]([C@@H]([C@H](O1)CO)O[C@H]1[C@@H]([C@H]([C@H]([C@H](O1)CO)O)O)O)O)NC(=O)C)O") -smiles(R"[C@@H]1([C@@H]([C@H]([C@@H]([C@H](O1)CO)O[C@@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)O)O)O") -smiles(R"[C@@H]1([C@@H]([C@H]([C@@H]([C@H](O1)CO)O[C@H]1[C@@H]([C@H]([C@H]([C@H](O1)CO)O)O)O)O)O)O") -smiles(R"[C@H]1([C@@H]([C@H]([C@@H]([C@H](O1)CO)O[C@@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)O)O)O") -smiles(R"[C@H]1([C@@H]([C@H]([C@@H]([C@H](O1)CO)O[C@@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)O)O)OP(=O)([O-])[O-]") -smiles(R"[C@H]1([C@@H]([C@H]([C@@H]([C@H](O1)CO)O[C@@H]1[C@@H]([C@H]([C@@H]([C@H](O1)COP(=O)([O-])[O-])O)O)O)O)O)O") -smiles(R"[C@@H]1([C@@H]([C@H]([C@@H]([C@H](O1)CO)O[C@H]1[C@@H](C(=O)[C@H]([C@H](O1)CO)O)O)O)O)O") -smiles(R"[C@@H]1([C@@H]([C@@H]([C@H]([C@H](O1)CO)OC(=O)N)O)NC(=O)C[C@@H]([NH3+])CCCNC(=O)C[C@H](CCCNC(=O)C[C@H](CCC[NH3+])[NH3+])[NH3+])/[NH+]=C\1/N[C@H]2[C@H](N1)[C@@H](CNC2=O)O") -smiles(R"[C@@H]1([C@@H]([C@@H]([C@H]([C@H](O1)CO)OC(=O)N)O)NC(=O)C[C@@H]([NH3+])CCCNC(=O)C[C@H](CCCNC(=O)C[C@H](CCC[NH3+])[NH3+])[NH3+])/[NH+]=C\1/N[C@@H]([C@H](N1)[C@@H](C[NH3+])O)C(=O)[O-]") -smiles(R"[C@@H]1([C@@H]([C@@H]([C@H]([C@H](O1)CO)OC(=O)N)O)NC(=O)C[C@@H]([NH3+])CCC[NH3+])/[NH+]=C\1/N[C@H]2[C@H](N1)[C@@H](CNC2=O)O") -smiles(R"[C@@H]1([C@@H]([C@@H]([C@H]([C@H](O1)CO)OC(=O)N)O)NC(=O)C[C@@H]([NH3+])CCC[NH3+])/[NH+]=C\1/N[C@@H]([C@H](N1)[C@@H](C[NH3+])O)C(=O)[O-]") -smiles(R"[C@@H]1([C@@H]([C@H]([C@H]([C@H](O1)CO)O)OC1[C@@H]([C@H]([C@H]([C@H](O1)CO)O)O)O)NC(=O)C)OC[C@@H](C(=O)[O-])[NH3+]") -smiles(R"[C@H]1([C@@H]([C@H]([C@@H]([C@H](O1)CO)O)OC(C(=O)N[C@@H](C)C(=O)N[C@@H](C(=O)[O-])CCC(=O)N[C@H](C(=O)N[C@@H](C(=O)N[C@H](C)C(=O)[O-])C)CCCCNC(=O)[C@H](C)[NH3+])C)NC(=O)C)OP(=O)(OP(=O)(OC[C@H]1O[C@H]([C@@H]([C@@H]1O)O)n1c(=O)[nH]c(=O)cc1)[O-])[O-]") -smiles(R"[C@H]1([C@@H]([C@H]([C@@H]([C@H](O1)CO)O)OC(C(=O)N[C@@H](C)C(=O)N[C@@H](C(=O)[O-])CCC(=O)N[C@H](C(=O)N[C@@H](C(=O)N[C@H](C)C(=O)[O-])C)CCCC[NH3+])C)NC(=O)C)OP(=O)(OP(=O)(OC[C@H]1O[C@H]([C@@H]([C@@H]1O)O)n1c(=O)[nH]c(=O)cc1)[O-])[O-]") -smiles(R"[C@@H]1([C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O[C@H]1[C@@H]([C@H](C=C(O1)C(=O)[O-])O)O)NC(=O)C)O") -smiles(R"[C@@H]1([C@@H]([C@H]([C@H]([C@H](O1)CO)O)O[C@H]1[C@@H]([C@H](C=C(O1)C(=O)[O-])O)O)NC(=O)C)O") -smiles(R"[C@@H]1([C@@H]([C@H]([C@H]([C@H](O1)CO)O)O[C@H]1[C@@H]([C@H](C=C(O1)C(=O)[O-])O)OS(=O)(=O)[O-])NC(=O)C)O") -smiles(R"[C@H]1([C@@H]([C@H]([C@H]([C@H](O1)CO)O)O[C@H]1[C@@H]([C@H]([C@H]([C@H](O1)CO)O)O)O)NC(=O)C)OC[C@@H](C(=O)[O-])[NH3+]") -smiles(R"[C@H]1([C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O[C@H](C)C(=O)[O-])NC(=O)C)OP(=O)(OP(=O)(OC[C@H]1O[C@H]([C@@H]([C@@H]1O)O)n1c(=O)[nH]c(=O)cc1)[O-])[O-]") -smiles(R"[C@H]1([C@@H]([C@H]([C@@H]([C@H](O1)CO)O)OC(=O)C[C@@H](CCCCCCCCCCC)O)NC(=O)C[C@@H](CCCCCCCCCCC)O)OP(=O)([O-])[O-]") -smiles(R"[C@H]1([C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)NC(=O)[C@H](CS)[NH3+])O[C@H](C(=O)[O-])CC(=O)[O-]") -smiles(R"[C@@H]1([C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)NC(=O)C)N") -smiles(R"[C@H]1([C@@H]([C@H]([C@@H]([C@H](O1)C(=O)[O-])O)NC(=O)C)NC(=O)C)OP(=O)(OP(=O)([O-])OC[C@@H]1[C@H]([C@H]([C@@H](O1)n1ccc(=O)[nH]c1=O)O)O)[O-]") -smiles(R"[C@H]1([C@H]([C@H]([C@@H]([C@H](O1)C(=O)[O-])O)NC(=O)C)NC(=O)C)OP(=O)(OP(=O)([O-])OC[C@@H]1[C@H]([C@H]([C@@H](O1)n1ccc(=O)[nH]c1=O)O)O)[O-]") -smiles(R"[C@@H]1([C@@H]([C@H]([C@H]([C@H](O1)CO)O)O)NC(=O)C)O") -smiles(R"[C@@H]1([C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)NC(=O)C)O[C@@H]1[C@@H](O[C@@H]2[C@@H]([C@H](O[C@H]3[C@@H]([C@H]([C@H](O[C@H]4[C@@H]([C@H]([C@H](NC(=O)C[C@@H](C(=O)[O-])[NH3+])O[C@@H]4CO[C@H]4[C@H]([C@@H]([C@@H]([C@@H](O4)C)O)O)O)NC(=O)C)O)O[C@@H]3CO)NC(=O)C)O)O[C@@H]([C@H]2O)CO[C@@H]2[C@H]([C@H]([C@@H]([C@H](O2)CO)O)O)O[C@H]2[C@@H]([C@H]([C@@H]([C@H](O2)CO)O)O)NC(=O)C)O)O[C@@H]([C@H]([C@@H]1O)O)CO") -smiles(R"[C@@H]1([C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)NC(=O)C)O[C@@H]1[C@@H](O[C@@H]2[C@@H]([C@H](O[C@H]3[C@@H]([C@H]([C@H](O[C@H]4[C@@H]([C@H]([C@H](NC(=O)C[C@@H](C(=O)[O-])[NH3+])O[C@@H]4CO)NC(=O)C)O[C@H]4[C@H]([C@@H]([C@@H]([C@@H](O4)C)O)O)O)O[C@@H]3CO)NC(=O)C)O)O[C@@H]([C@H]2O)CO[C@@H]2[C@H]([C@H]([C@@H]([C@H](O2)CO)O)O)O[C@H]2[C@@H]([C@H]([C@@H]([C@H](O2)CO)O)O)NC(=O)C)O)O[C@@H]([C@H]([C@@H]1O)O)CO") -smiles(R"[C@@H]1([C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)NC(=O)C)O[C@@H]1[C@H](O[C@@H]([C@H]([C@@H]1O)O)CO)O[C@@H]1[C@@H]([C@H](O[C@H]2[C@@H]([C@H]([C@H](O[C@H]3[C@@H]([C@H]([C@H](NC(=O)C[C@@H](C(=O)[O-])[NH3+])O[C@@H]3CO)NC(=O)C)O)O[C@@H]2CO)NC(=O)C)O)O[C@@H]([C@H]1O)CO[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O[C@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)NC(=O)C)O[C@@H]1O[C@@H]([C@@H]([C@H]1O)O)CO") -smiles(R"[C@H]1([C@@H]([C@H]([C@H]([C@H](O1)CO)O)O)NC(=O)C)OP(=O)([O-])[O-]") -smiles(R"[C@H]1([C@@H]([C@H]([C@@H]([C@H](O1)C(=O)[O-])O)[NH3+])NC(=O)C)OP(=O)(OP(=O)([O-])OC[C@@H]1[C@H]([C@H]([C@@H](O1)n1ccc(=O)[nH]c1=O)O)O)[O-]") -smiles(R"[C@@H]1([C@@H]([C@@H]([C@H]([C@@H](O1)C)O)O)O)O") -smiles(R"[C@H]1([C@@H]([C@@H]([C@H]([C@@H](O1)C)O)O)O)O") -smiles(R"[C@@H]1([C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)c1c(cc(c2c1oc(cc2=O)c1ccc(cc1)O)O)[O-]") -smiles(R"[C@H]1([C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O[C@H]1[C@@H]([C@H]([C@@H]([C@H](O1)C(=O)[O-])O[C@H]1[C@H]([C@H]([C@H]2[C@H](O1)COC(O2)(C(=O)[O-])C)O)O)O)O)O[C@@H]1[C@H]([C@@H](O[C@@H]([C@H]1O)CO)O[C@H]1[C@@H]([C@H]([C@H](O[C@@H]1CO)OP(=O)(OP(=O)(OC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)/C)/C)/C)/C)/C)/C)/C)/C)[O-])[O-])O)O)O") -smiles(R"[C@H]1([C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O[C@H]1[C@@H]([C@H]([C@@H]([C@H](O1)C(=O)[O-])O[C@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)O)O)O[C@@H]1[C@H]([C@@H](O[C@@H]([C@H]1O)CO)O[C@H]1[C@@H]([C@H]([C@H](O[C@@H]1CO)OP(=O)(OP(=O)(OC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)/C)/C)/C)/C)/C)/C)/C)/C)[O-])[O-])O)O)O") -smiles(R"[C@H]1([C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O[C@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)NC(=O)C)O[C@@H]1[C@@H]([C@@H](O[C@@H]([C@H]1O)CO[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O[C@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)NC(=O)C)O[C@H]1[C@@H]([C@H]([C@@H](O[C@@H]1CO)O[C@H]1[C@@H]([C@H]([C@@H](O[C@@H]1CO)NC(=O)C[C@@H](C(=O)[O-])[NH3+])NC(=O)C)O)NC(=O)C)O)O") -smiles(R"[C@H]1([C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)O[C@@H](C(=O)[O-])COP(=O)([O-])[O-]") -smiles(R"[C@H]1([C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O[C@H]1[C@@H]([C@H]([C@@H]([C@H](O1)C(=O)[O-])O)O)O)O[C@@H]1[C@H]([C@@H](O[C@@H]([C@H]1O)CO)O[C@H]1[C@@H]([C@H]([C@H](O[C@@H]1CO)OP(=O)(OP(=O)(OC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)/C)/C)/C)/C)/C)/C)/C)/C)[O-])[O-])O)O)O") -smiles(R"[C@H]1([C@@H]([C@H]([C@@H]([C@H](O1)C(=O)[O-])O)O)NC(=O)C)OP(=O)(OP(=O)([O-])OC[C@@H]1[C@H]([C@H]([C@@H](O1)n1ccc(=O)[nH]c1=O)O)O)[O-]") -smiles(R"[C@@H]1([C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)Oc1ccc(cc1)C(=O)[O-]") -smiles(R"[C@H]1([C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)O[C@@]1(O[C@@H]([C@H]([C@@H]1O)O)CO)CO[C@@]1(O[C@@H]([C@H]([C@@H]1O)O)CO)CO") -smiles(R"[C@@H]1([C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)OCc1c(c(c(nc1)C)O)CO") -smiles(R"[C@H]1([C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)O[C@H]1[C@@H]([C@H]([C@H](O[C@@H]1CO)O[C@H]1[C@@H]([C@H]([C@H](O[C@@H]1CO)O[C@H]1[C@@H]([C@H]([C@H](O[C@@H]1CO)O)O)O)O)O)O)O") -smiles(R"[C@H]1([C@@H]([C@H]([C@H]([C@H](O1)CO)O)O)O)O[C@@H]1[C@H]([C@H](O[C@@H]([C@H]1O)CO)O[C@@]1(O[C@@H]([C@H]([C@@H]1O)O)CO)CO)O") -smiles(R"[C@H]1([C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)O[C@@H]1[C@H]([C@@H](O[C@@H]([C@H]1O)CO)O[C@H]1[C@@H]([C@H]([C@H](O[C@@H]1CO)OP(=O)(OP(=O)(OC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)/C)/C)/C)/C)/C)/C)/C)/C)[O-])[O-])O)O)O") -smiles(R"[C@H]1([C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)O[C@@H]1[C@@H]([C@H](O[C@@H]([C@H]1O)CO)O[C@@H]1[C@H](O[C@@H]([C@H]([C@@H]1O)O)CO)O[C@@H]1C(O[C@@H]([C@H]([C@@H]1O)O)CO)O)O") -smiles(R"[C@H]1([C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)O[C@@H]1[C@@H]([C@H](O[C@@H]([C@H]1O)CO)O[C@@H]1[C@H](O[C@@H]([C@H]([C@@H]1O)O)CO)O[C@@H]1C(O[C@@H]([C@H]([C@@H]1O)O)CO)O)O[C@@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)NC(=O)C") -smiles(R"[C@H]1([C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)O[C@@H]1[C@@H]([C@H](O[C@@H]([C@H]1O)CO)O)O") -smiles(R"[C@H]1([C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)O[C@@H](C(=O)[O-])CO") -smiles(R"[C@H]1([C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)O[C@@H](C(=O)[O-])COP(=O)([O-])[O-]") -smiles(R"[C@@H]1([C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)OC(=O)/C(=C/C=C/C(=C/C=C/C=C(/C=C/C=C(/C(=O)[O-])\C)\C)/C)/C") -smiles(R"[C@@H]1([C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)OC(=O)/C(=C/C=C/C(=C/C=C/C=C(/C=C/C=C(/C(=O)O[C@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)\C)\C)/C)/C") -smiles(R"[C@@H]1([C@@H]([C@H]([C@@H]([C@H](O1)C(=O)[O-])O)O)O)Oc1c(c(c2c(=O)cc(oc2c1)c1ccccc1)O)OC") -smiles(R"[C@@H]1([C@@H]([C@H]([C@@H]([C@H](O1)C(=O)[O-])O)O)O)O[C@@H]1[C@@]([C@H]2[C@@]([C@@H]3[C@]([C@@]4(CC[C@]5([C@@H]([C@@H](C(C[C@H]5C4=CC3)(C)C)O)O)C)C)(CC2)C)(CC1)C)(CO)C") -smiles(R"[C@@H]1([C@@H]([C@H]([C@@H]([C@H](O1)C(=O)[O-])O)O)O)O[C@@H]1[C@@]([C@H]2[C@@]([C@@H]3[C@]([C@@]4(CC[C@]5(C(=O)CC(C[C@H]5C4=CC3)(C)C)C)C)(CC2)C)(CC1)C)(CO)C") -smiles(R"[C@H]1([C@@H]([C@H]([C@@H]([C@H](O1)C(=O)[O-])O)O)O)OP(=O)(OP(=O)([O-])OC[C@@H]1[C@H]([C@H]([C@@H](O1)n1ccc(=O)[nH]c1=O)O)O)[O-]") -smiles(R"[C@H]1([C@@H]([C@H]([C@H]([C@H](O1)C(=O)[O-])O)O)O)OP(=O)(OP(=O)([O-])OC[C@@H]1[C@H]([C@H]([C@@H](O1)n1ccc(=O)[nH]c1=O)O)O)[O-]") -smiles(R"[C@H]1([C@H]([C@H]([C@@H]([C@H](O1)COP(=O)(O[C@@H]1[C@@H]([C@@H](O)[C@@H](CO1)O)O)[O-])O)O)O)O[C@@H]1[C@@H]([C@H](O[C@@H]([C@H]1O)CO)O)O") -smiles(R"[C@@H]1([C@@H]([C@H]([C@H]([C@H](O1)COS(=O)(=O)[O-])O)O[C@H]1[C@@H]([C@H](C=C(O1)C(=O)[O-])O)O)NC(=O)C)O") -smiles(R"[C@@H]1([C@@H]([C@H]([C@H]([C@H](O1)COS(=O)(=O)[O-])O)O)NC(=O)C)O") -smiles(R"[C@H]1([C@H]([C@@H]([C@H]([C@H](O1)O[C@@H]1[C@H](C[C@H]([C@@H]([C@H]1O)O)[NH3+])[NH3+])NC(=O)C)O)O)CO") -smiles(R"[C@H]1([C@H]([C@@H]([C@H]([C@H](O1)O[C@H]1[C@@H]([C@H]([C@@H](C[C@@H]1[NH3+])[NH3+])O[C@H]1O[C@@H]([C@H]([C@@H]([C@H]1O)[NH3+])O)CO)O)[NH3+])O)O)CNC(=O)C") -smiles(R"[C@H]1([C@H]([C@@H]([C@H]([C@H](O1)O[C@H]1[C@H]([C@@H](O[C@@H]1CO)O[C@@H]1[C@@H](O)[C@@H](C[C@@H]([C@H]1O[C@H]1O[C@@H]([C@H]([C@@H]([C@H]1[NH3+])O)O)C[NH3+])[NH3+])[NH3+])O)NC(=O)C)O)O)CO") -smiles(R"[C@H]1([C@H]([C@@H]([C@H]([C@H](O1)O[C@H]1[C@H]([C@@H](O[C@@H]1CO)O[C@@H]1[C@@H](O)[C@@H](C[C@@H]([C@H]1O[C@H]1O[C@@H]([C@H]([C@@H]([C@H]1[NH3+])O)O)C[NH3+])[NH3+])[NH3+])O)[NH3+])O)O)C[NH3+]") -smiles(R"[C@H]1([C@H]([C@@H]([C@H]([C@H](O1)O[C@H]1[C@H]([C@@H](O[C@@H]1CO)O[C@@H]1[C@@H](O)[C@@H](C[C@@H]([C@H]1O[C@H]1O[C@@H]([C@H]([C@@H]([C@H]1[NH3+])O)O)C[NH3+])[NH3+])[NH3+])O)[NH3+])O)O)C=O") -smiles(R"[C@H]1([C@H]([C@@H]([C@H]([C@H](O1)O[C@H]1[C@H]([C@@H](O[C@@H]1CO)O[C@@H]1[C@@H](O)[C@@H](C[C@@H]([C@H]1O[C@H]1O[C@@H]([C@H]([C@@H]([C@H]1[NH3+])O)O)C[NH3+])[NH3+])[NH3+])O)[NH3+])O)O)CO") -smiles(R"[C@H]1([C@H]([C@@H]([C@H]([C@@H](O1)OC(=O)c1cc(c(c(c1)O)O)O)O)O)O)COC(=O)c1cc(c(c(c1)O)O)O") -smiles(R"[C@H]1([C@H]([C@@H]([C@H]([C@@H](O1)OC(=O)c1cc(c(O)c(c1)O)O)OC(=O)c1cc(c(O)c(c1)O)O)OC(=O)c1cc(c(c(c1)O)O)O)OC(=O)c1cc(c(O)c(c1)O)O)COC(=O)c1cc(c(O)c(c1)O)O") -smiles(R"[C@H]1([C@H]([C@@H]([C@H]([C@@H](O1)OC(=O)c1cc(c(O)c(c1)O)O)OC(=O)c1cc(c(O)c(c1)O)O)OC(=O)c1cc(c(c(c1)O)O)O)O)COC(=O)c1cc(c(O)c(c1)O)O") -smiles(R"[C@H]1([C@H]([C@@H]([C@H]([C@H](O1)O)NS(=O)(=O)O)O)O[C@@H]1O[C@@H]([C@H]([C@@H]([C@H]1O)O)O)C(=O)O)CO") -smiles(R"[C@H]1([C@H]([C@@H]([C@H]([C@H](O1)O)NS(=O)(=O)O)O)O[C@@H]1O[C@H]([C@H]([C@@H]([C@H]1O)O)O)C(=O)O)CO") -smiles(R"[C@H]1([C@@H]([C@@H]([C@H]([C@H](O)[C@H]1O)O)OP(=O)([O-])[O-])O)O") -smiles(R"[C@@H]1([C@H]([C@H]([C@@H]([C@@H](O)[C@@H]1OP(=O)([O-])[O-])OP(=O)([O-])[O-])OP(=O)([O-])[O-])OP(=O)([O-])[O-])OP(=O)([O-])[O-]") -smiles(R"[C@H]1([C@H]([C@@H]([C@H](C(O1)O)NC(=O)C)O)O)CO") -smiles(R"[C@H]1([C@@H]([C@H]([C@H](CO1)O)O)O)OP(=O)([O-])[O-]") -smiles(R"[C@H]1([C@H]([C@@H]([C@H](C(=O)O[C@H](CC)[C@]([C@@H]([C@H](C(=O)[C@@H](C[C@]1(O)C)C)C)O)(O)C)C)O[C@H]1C[C@]([C@H]([C@@H](O1)C)O)(OC)C)C)O[C@H]1[C@@H]([C@H](C[C@H](O1)C)[NH+](C)C)O") -smiles(R"[C@H]1([C@H]([C@@H]([C@H](C(=O)O[C@H](CC)[C@]([C@@H]([C@H](C(=O)[C@@H](C[C@]1(O)C)C)C)O)(O)C)C)O[C@H]1C[C@]([C@H]([C@@H](O1)C)O)(O)C)C)O[C@H]1[C@@H]([C@H](C[C@H](O1)C)[NH+](C)C)O") -smiles(R"[C@H]1([C@H]([C@@H]([C@H](C(=O)O[C@H](CC)[C@@H]([C@@H]([C@H](C(=O)[C@@H](C[C@]1(O)C)C)C)O)C)C)O[C@H]1C[C@]([C@H]([C@@H](O1)C)O)(OC)C)C)O[C@H]1[C@@H]([C@H](C[C@H](O1)C)[NH+](C)C)O") -smiles(R"[C@H]1([C@H]([C@@H]([C@H](C(=O)O[C@H](CC)[C@@H]([C@@H]([C@H](C(=O)[C@@H](C[C@]1(O)C)C)C)O)C)C)O[C@H]1C[C@]([C@H]([C@@H](O1)C)O)(O)C)C)O") -smiles(R"[C@H]1([C@H]([C@@H]([C@H](C(=O)O[C@H](CC)[C@@H]([C@@H]([C@H](C(=O)[C@@H](C[C@]1(O)C)C)C)O)C)C)O[C@H]1C[C@]([C@H]([C@@H](O1)C)O)(O)C)C)O[C@H]1[C@@H]([C@H](C[C@H](O1)C)[NH+](C)C)O") -smiles(R"[C@@H]1([C@@H]([C@@H]([C@H](O1)C=O)O)O)n1cnc2c1ncnc2O") -smiles(R"[C@@H]1([C@@H]([C@@H]([C@H](O1)CO)O)O)n1cnc2c1ncnc2O") -smiles(R"[C@@H]1([C@@H]([C@@H]([C@H](O1)C(=O)[O-])O)O)n1cnc2c1nc[nH]c2=O") -smiles(R"[C@@H]1([C@@H]([C@@H]([C@H](O1)COP(=O)(OP(=O)(OP(=O)(OC[C@H]1O[C@H]([C@@H]([C@@H]1O)O)n1c2c(c(ncn2)N)nc1)[O-])[O-])[O-])O)O)n1c2c(c(ncn2)N)nc1") -smiles(R"[C@H]1([C@H]([C@@H]([C@H](OC1O)COP(=O)([O-])[O-])O)O)NC(=O)C") -smiles(R"[C@@H]1([C@@H]([C@H]([C@@H](O[C@@H]1CO[C@@]1(C[C@@H](O[C@@]2(C(=O)[O-])O[C@@H]([C@@H]([C@@H](C2)O)O)[C@@H](CO)O)[C@@H](O[C@@H]2[C@H]([C@@H](O[C@@H]3[C@H]([C@H]([C@@H]([C@H](O3)[C@H](CO)O)O)OC3[C@@H]([C@H]([C@@H]([C@H](O3)CO)O)O)O)O)[C@@H]([C@H](O2)[C@H](CO)O)O)O)[C@H](O1)[C@@H](CO)O)C(=O)[O-])OC[C@@H]1[C@H]([C@@H]([C@H]([C@H](O1)OP(=O)([O-])[O-])NC(=O)C[C@@H](CCCCCCCCCCC)O)OC(=O)C[C@@H](CCCCCCCCCCC)O)O)NC(=O)C[C@@H](CCCCCCCCCCC)OC(=O)CCCCCCCCCCC)OC(=O)C[C@@H](CCCCCCCCCCC)OC(=O)CCCCCCCCCCCCC)OP(=O)([O-])[O-]") -smiles(R"[C@@H]1([C@@H]([C@H]([C@@H](O[C@@H]1CO[C@@]1(C[C@@H](O[C@@]2(C(=O)[O-])O[C@@H]([C@@H]([C@@H](C2)O)O)[C@@H](CO)O)[C@@H](O[C@@H]2[C@H]([C@@H](O[C@@H]3[C@H]([C@H]([C@@H]([C@H](O3)[C@H](CO)O)O)O)O)[C@@H]([C@H](O2)[C@H](CO)O)O)O)[C@H](O1)[C@@H](CO)O)C(=O)[O-])OC[C@@H]1[C@H]([C@@H]([C@H]([C@H](O1)OP(=O)([O-])[O-])NC(=O)C[C@@H](CCCCCCCCCCC)O)OC(=O)C[C@@H](CCCCCCCCCCC)O)O)NC(=O)C[C@@H](CCCCCCCCCCC)OC(=O)CCCCCCCCCCC)OC(=O)C[C@@H](CCCCCCCCCCC)OC(=O)CCCCCCCCCCCCC)OP(=O)([O-])[O-]") -smiles(R"[C@@H]1([C@@H]([C@H]([C@@H](O[C@@H]1CO[C@@]1(C[C@@H](O[C@@]2(C(=O)[O-])O[C@@H]([C@@H]([C@@H](C2)O)O)[C@@H](CO)O)[C@@H](O[C@@H]2[C@H]([C@@H](O)[C@@H]([C@H](O2)[C@H](CO)O)O)O)[C@H](O1)[C@@H](CO)O)C(=O)[O-])OC[C@@H]1[C@H]([C@@H]([C@H]([C@H](O1)OP(=O)([O-])[O-])NC(=O)C[C@@H](CCCCCCCCCCC)O)OC(=O)C[C@@H](CCCCCCCCCCC)O)O)NC(=O)C[C@@H](CCCCCCCCCCC)OC(=O)CCCCCCCCCCC)OC(=O)C[C@@H](CCCCCCCCCCC)OC(=O)CCCCCCCCCCCCC)OP(=O)([O-])[O-]") -smiles(R"[C@@H]1([C@@H]([C@H]([C@@H](O[C@@H]1CO[C@@]1(C[C@@H](O[C@@]2(C(=O)[O-])O[C@@H]([C@@H]([C@@H](C2)O)O)[C@@H](CO)O)[C@@H](O)[C@H](O1)[C@@H](CO)O)C(=O)[O-])OC[C@@H]1[C@H]([C@@H]([C@H]([C@H](O1)OP(=O)([O-])[O-])NC(=O)C[C@@H](CCCCCCCCCCC)O)OC(=O)C[C@@H](CCCCCCCCCCC)O)O)NC(=O)C[C@@H](CCCCCCCCCCC)OC(=O)CCCCCCC/C=C\CCCCCC)OC(=O)C[C@@H](CCCCCCCCCCC)OC(=O)CCCCCCCCCCCCC)OP(=O)([O-])[O-]") -smiles(R"[C@@H]1([C@@H]([C@H]([C@@H](O[C@@H]1CO[C@@]1(C[C@@H](O[C@@]2(C(=O)[O-])O[C@@H]([C@@H]([C@@H](C2)O)O)[C@@H](CO)O)[C@@H](O)[C@H](O1)[C@@H](CO)O)C(=O)[O-])OC[C@@H]1[C@H]([C@@H]([C@H]([C@H](O1)OP(=O)([O-])[O-])NC(=O)C[C@@H](CCCCCCCCCCC)O)OC(=O)C[C@@H](CCCCCCCCCCC)O)O)NC(=O)C[C@@H](CCCCCCCCCCC)OC(=O)CCCCCCC/C=C\CCCCCC)OC(=O)C[C@@H](CCCCCCCCCCC)O)OP(=O)([O-])[O-]") -smiles(R"[C@@H]1([C@@H]([C@H]([C@@H](O[C@@H]1CO[C@@]1(C[C@@H](O[C@@]2(C(=O)[O-])O[C@@H]([C@@H]([C@@H](C2)O)O)[C@@H](CO)O)[C@@H](O)[C@H](O1)[C@@H](CO)O)C(=O)[O-])OC[C@@H]1[C@H]([C@@H]([C@H]([C@H](O1)OP(=O)([O-])[O-])NC(=O)C[C@@H](CCCCCCCCCCC)O)OC(=O)C[C@@H](CCCCCCCCCCC)O)O)NC(=O)C[C@@H](CCCCCCCCCCC)OC(=O)CCCCCCCCCCC)OC(=O)C[C@@H](CCCCCCCCCCC)OC(=O)CCCCCCCCCCCCC)OP(=O)([O-])[O-]") -smiles(R"[C@@H]1([C@@H]([C@H]([C@@H](O[C@@H]1CO[C@@]1(C[C@@H](O[C@@]2(C(=O)[O-])O[C@@H]([C@@H]([C@@H](C2)O)O)[C@@H](CO)O)[C@@H](O)[C@H](O1)[C@@H](CO)O)C(=O)[O-])OC[C@@H]1[C@H]([C@@H]([C@H]([C@H](O1)OP(=O)([O-])[O-])NC(=O)C[C@@H](CCCCCCCCCCC)O)OC(=O)C[C@@H](CCCCCCCCCCC)O)O)NC(=O)C[C@@H](CCCCCCCCCCC)OC(=O)CCCCCCCCCCC)OC(=O)C[C@@H](CCCCCCCCCCC)O)OP(=O)([O-])[O-]") -smiles(R"[C@@H]1([C@@H]([C@H]([C@@H](O[C@@H]1CO[C@@]1(C[C@@H](O[C@@]2(C(=O)[O-])O[C@@H]([C@@H]([C@@H](C2)O)O)[C@@H](CO)OP(=O)(OCC[NH3+])[O-])[C@@H](O)[C@H](O1)[C@@H](CO)O)C(=O)[O-])OC[C@@H]1[C@H]([C@@H]([C@H]([C@H](O1)OP(=O)([O-])[O-])NC(=O)C[C@@H](CCCCCCCCCCC)O)OC(=O)C[C@@H](CCCCCCCCCCC)O)O)NC(=O)C[C@@H](CCCCCCCCCCC)OC(=O)CCCCCCCCCCC)OC(=O)C[C@@H](CCCCCCCCCCC)OC(=O)CCCCCCCCCCCCC)OP(=O)([O-])[O-]") -smiles(R"[C@@H]1([C@@H]([C@H]([C@@H](O[C@@H]1CO[C@@]1(C(=O)[O-])O[C@@H]([C@@H]([C@@H](C1)O[C@@]1(C(=O)[O-])O[C@@H]([C@@H]([C@@H](C1)O[C@@]1(C(=O)[O-])O[C@@H]([C@@H]([C@@H](C1)O[C@@]1(C(=O)[O-])O[C@@H]([C@@H]([C@@H](C1)O)O)[C@@H](CO)O)O)[C@@H](CO)O)O)[C@@H](CO)O)O)[C@@H](CO)O)OC[C@@H]1[C@H]([C@@H]([C@H]([C@H](O1)OP(=O)([O-])[O-])NC(=O)C[C@@H](CCCCCCCCCCC)O)OC(=O)C[C@@H](CCCCCCCCCCC)O)O)NC(=O)C[C@@H](CCCCCCCCCCC)O)OC(=O)C[C@@H](CCCCCCCCCCC)O)OP(=O)([O-])[O-]") -smiles(R"[C@@H]1([C@@H]([C@H]([C@@H](O[C@@H]1CO[C@@]1(C(=O)[O-])O[C@@H]([C@@H]([C@@H](C1)O[C@@]1(C(=O)[O-])O[C@@H]([C@@H]([C@@H](C1)O[C@@]1(C(=O)[O-])O[C@@H]([C@@H]([C@@H](C1)O)O)[C@@H](CO)O)O)[C@@H](CO)O)O)[C@@H](CO)O)OC[C@@H]1[C@H]([C@@H]([C@H]([C@H](O1)OP(=O)([O-])[O-])NC(=O)C[C@@H](CCCCCCCCCCC)O)OC(=O)C[C@@H](CCCCCCCCCCC)O)O)NC(=O)C[C@@H](CCCCCCCCCCC)O)OC(=O)C[C@@H](CCCCCCCCCCC)O)OP(=O)([O-])[O-]") -smiles(R"[C@@H]1([C@@H]([C@H]([C@@H](O[C@@H]1CO[C@@]1(C(=O)[O-])O[C@@H]([C@@H]([C@@H](C1)O[C@@]1(C(=O)[O-])O[C@@H]([C@@H]([C@@H](C1)O)O)[C@@H](CO)O)O)[C@@H](CO)O)OC[C@@H]1[C@H]([C@@H]([C@H]([C@H](O1)OP(=O)([O-])O[C@H]1OC[C@@H]([C@@H]([C@H]1O)O)[NH3+])NC(=O)C[C@@H](CCCCCCCCCCC)O)OC(=O)C[C@@H](CCCCCCCCCCC)O)O)NC(=O)C[C@@H](CCCCCCCCCCC)OC(=O)CCCCCCCCCCC)OC(=O)C[C@@H](CCCCCCCCCCC)OC(=O)CCCCCCCCCCCCC)OP(=O)([O-])O[C@H]1OC[C@@H]([C@@H]([C@H]1O)O)[NH3+]") -smiles(R"[C@@H]1([C@@H]([C@H]([C@@H](O[C@@H]1CO[C@@]1(C(=O)[O-])O[C@@H]([C@@H]([C@@H](C1)O[C@@]1(C(=O)[O-])O[C@@H]([C@@H]([C@@H](C1)O)O)[C@@H](CO)O)O)[C@@H](CO)O)OC[C@@H]1[C@H]([C@@H]([C@H]([C@H](O1)OP(=O)([O-])[O-])NC(=O)C[C@@H](CCCCCCCCCCC)O)OC(=O)C[C@@H](CCCCCCCCCCC)O)O)NC(=O)C[C@@H](CCCCCCCCCCC)O)OC(=O)C[C@@H](CCCCCCCCCCC)O)OP(=O)([O-])[O-]") -smiles(R"[C@@H]1([C@@H]([C@H]([C@@H](O[C@@H]1CO[C@@]1(C(=O)[O-])O[C@@H]([C@@H]([C@@H](C1)O)O)[C@@H](CO)O)OC[C@@H]1[C@H]([C@@H]([C@H]([C@H](O1)OP(=O)([O-])[O-])NC(=O)C[C@@H](CCCCCCCCCCC)O)OC(=O)C[C@@H](CCCCCCCCCCC)O)O)NC(=O)C[C@@H](CCCCCCCCCCC)O)OC(=O)C[C@@H](CCCCCCCCCCC)O)OP(=O)([O-])[O-]") -smiles(R"[C@@H]1([C@@H]([C@H]([C@@H](O[C@@H]1CO[C@@]1(C(=O)[O-])O[C@@H]([C@@H]([C@@H](C1)OP(=O)([O-])[O-])O)[C@@H](CO)O)OC[C@@H]1[C@H]([C@@H]([C@H]([C@H](O1)OP(=O)([O-])[O-])NC(=O)C[C@@H](CCCCCCCCCCC)O)OC(=O)C[C@@H](CCCCCCCCCCC)O)O)NC(=O)C[C@@H](CCCCCCCCCCC)O)OC(=O)C[C@@H](CCCCCCCCCCC)O)OP(=O)([O-])[O-]") -smiles(R"[C@@H]1([C@@H]([C@H]([C@@H](O[C@@H]1C)O[C@H]1[C@H](C[C@H](C(=O)/C=C/C(=C/[C@@H]([C@H](OC(=O)C[C@H]([C@@H]1C)O)CC)CO[C@H]1[C@@H]([C@@H]([C@@H]([C@H](O1)C)O)OC)OC)/C)C)CC=O)O)N(C)C)O[C@H]1C[C@@]([C@H]([C@@H](O1)C)O)(C)O") -smiles(R"[C@@H]1([C@@H]([C@H]([C@@H](O[C@@H]1C)O[C@H]1[C@H](C[C@H](C(=O)/C=C/C(=C/[C@@H]([C@H](OC(=O)C[C@H]([C@@H]1C)O)CC)CO[C@H]1[C@@H]([C@@H]([C@@H]([C@H](O1)C)O)O)OC)/C)C)CC=O)O)N(C)C)O[C@H]1C[C@@]([C@H]([C@@H](O1)C)O)(C)O") -smiles(R"[C@@H]1([C@@H]([C@H]([C@@H](O[C@@H]1C)O[C@H]1[C@H](C[C@H](C(=O)/C=C/C(=C/[C@@H]([C@H](OC(=O)C[C@H]([C@@H]1C)O)CC)CO[C@H]1[C@@H]([C@@H]([C@@H]([C@H](O1)C)O)O)O)/C)C)CC=O)O)N(C)C)O[C@H]1C[C@@]([C@H]([C@@H](O1)C)O)(C)O") -smiles(R"[C@@H]1([C@@H]([C@H]([C@@H](O[C@@H]1CO)OC[C@@H]1[C@H]([C@@H]([C@H]([C@H](O1)OP(=O)([O-])[O-])NC(=O)C[C@@H](CCCCCCCCCCC)O)OC(=O)C[C@@H](CCCCCCCCCCC)O)O)NC(=O)C[C@@H](CCCCCCCCCCC)OC(=O)CCCCCCCCCCC)OC(=O)C[C@@H](CCCCCCCCCCC)OC(=O)CCCCCCCCCCCCC)OP(=O)([O-])[O-]") -smiles(R"[C@@H]1([C@@H]([C@H]([C@@H](O[C@@H]1CO)OC[C@@H]1[C@H]([C@@H]([C@H]([C@H](O1)OP(=O)([O-])[O-])NC(=O)C[C@@H](CCCCCCCCCCC)O)OC(=O)C[C@@H](CCCCCCCCCCC)O)O)NC(=O)C[C@@H](CCCCCCCCCCC)OC(=O)CCCCCCCCCCC)OC(=O)C[C@@H](CCCCCCCCCCC)OC(=O)CCCCCCCCCCCCC)OP(=O)([O-])O[C@H]1OC[C@@H]([C@@H]([C@H]1O)O)[NH3+]") -smiles(R"[C@@H]1([C@@H]([C@H]([C@@H](O[C@@H]1CO)OC[C@@H]1[C@H]([C@@H]([C@H]([C@H](O1)OP(=O)([O-])[O-])NC(=O)C[C@@H](CCCCCCCCCCC)O)OC(=O)C[C@@H](CCCCCCCCCCC)O)O)NC(=O)C[C@@H](CCCCCCCCCCC)O)OC(=O)C[C@@H](CCCCCCCCCCC)O)O") -smiles(R"[C@@H]1([C@@H]([C@H]([C@@H](O[C@@H]1CO)OC[C@@H]1[C@H]([C@@H]([C@H]([C@H](O1)OP(=O)([O-])[O-])NC(=O)C[C@@H](CCCCCCCCCCC)O)OC(=O)C[C@@H](CCCCCCCCCCC)O)O)NC(=O)C[C@@H](CCCCCCCCCCC)O)OC(=O)C[C@@H](CCCCCCCCCCC)O)OP(=O)([O-])[O-]") -smiles(R"[C@H]1([C@@H]([C@H]([C@@H](O[C@@H]1CO)O[C@@H]1[C@H](C(O[C@@H]([C@H]1O)CO)O)NC(=O)C)O)O)O") -smiles(R"[C@@H]1([C@@H]([C@H]([C@@H](O[C@@H]1CO)O[C@@H]1[C@H](OC([C@H]([C@H]1O)O)O)CO)O)O)O") -smiles(R"[C@@H]1([C@@H]([C@H]([C@@H](O[C@H]1O[C@H]1[C@@H](O[C@@H](C)[C@@]1(C=O)O)O[C@@H]1[C@H]([C@H](O)[C@H]([C@H](O)[C@H]1O)NC(=[NH2+])N)NC(=[NH2+])N)CO)O)O)[NH2+]C") -smiles(R"[C@@H]1([C@@H]([C@H]([C@@H](O[C@H]1O[C@H]1[C@@H](O[C@@H](C)[C@]1(O)COP(=O)([O-])[O-])O[C@@H]1[C@H]([C@H](O)[C@H]([C@@H]([C@H]1O)OP(=O)([O-])[O-])NC(=[NH2+])N)NC(=[NH2+])N)CO)O)O)[NH2+]C") -smiles(R"[C@H]1([C@H]([C@@H]([C@H](O[C@H]1O[C@H]1[C@H](O)O[C@@H]([C@H]([C@@H]1O)O)C(=O)[O-])C(=O)[O-])O)O)O") -smiles(R"[C@@H]1([C@H]([C@@H]([C@H](O[C@@H]1O[C@@H](C(=O)[O-])CO)CO)O)O)O") -smiles(R"[C@H]1([C@H]([C@@H]([C@H](O[C@H]1O)COP(=O)([O-])[O-])O)O)NC(=O)C") -smiles(R"[C@@H]1([C@@H]([C@H](C(=O)C[C@@H]1[NH3+])O)O)O") -smiles(R"[C@@H]1([C@@H]([C@@H](NC(=O)C)[C@H]2O[C@@H]1CO2)O[C@@H](C(=O)[O-])C)O") -smiles(R"[C@@H]1([C@H]([C@@H](OC1)c1cc(c(cc1)O)OC)CO)Cc1ccc(c(c1)OC)O") -smiles(R"[C@H]1([C@@H]([C@H](OC1)c1cc(c(cc1)O)OC)CO)Cc1ccc(c(c1)OC)O") -smiles(R"[C@@H]1([C@@H]([C@H](O[C@@]1(CO)O)CO)O)O") -smiles(R"[C@@H]1([C@@H]([C@H](OC1(CO)O)CO)O)O") -smiles(R"[C@@H]1([C@H]([C@H](OC1(CO)O)CO)O)O") -smiles(R"[C@@H]1([C@@H]([C@H](OC1(CO)O)C(=O)[O-])O)O") -smiles(R"[C@@H]1([C@@H]([C@H](O[C@@]1(CO)O)COP(=O)([O-])[O-])O)O") -smiles(R"[C@@H]1([C@@H]([C@H](OC1(CO)O)COP(=O)([O-])[O-])O)O") -smiles(R"[C@@H]1([C@@H]([C@H](O[C@@]1(CO)OP(=O)([O-])[O-])CO)O)O") -smiles(R"[C@@H]1([C@@H]([C@H](O[C@@]1(CO)OP(=O)([O-])[O-])COP(=O)([O-])[O-])O)O") -smiles(R"[C@@H]1([C@@H]([C@H](OC1(COP(=O)([O-])[O-])O)COP(=O)([O-])[O-])O)O") -smiles(R"[C@@H]1([C@@H]([C@H](O[C@@]21CO[C@@]1([C@H]([C@@H]([C@H](O1)CO)O)O)CO2)CO)O)O") -smiles(R"[C@@H]1([C@@H]([C@H](OC([C@@H]1[NH3+])O)CO)O)O") -smiles(R"[C@@H]1([C@@H]([C@H](OC[C@@H]1O)CO)O)O") -smiles(R"[C@H]1([C@@H]([C@@H](O[C@H]1c1ccc(cc1)O)c1ccc(cc1)O)C)C") -smiles(R"[C@H]1([C@@H]([C@@H](O[C@H]1c1ccc(c(c1)O)O)c1ccc(cc1)O)C)C") -smiles(R"[C@@H]1([C@H]([C@@H](O[C@@H]1CSCC[C@@H](C(=O)[O-])[NH3+])n1c2c(nc1)c(ncn2)N)O)O") -smiles(R"[C@@H]1([C@H]([C@@H](O[C@@H]1CSCC[C@@H](C(=O)[O-])[NH3+])n1c2c(nc1)c(ncn2)O)O)O") -smiles(R"[C@@H]1([C@@H]([C@@H](O[C@@H]2O[C@@H]([C@@H]([C@@H]([C@H]2O)O)O)CO)[C@@H]([C@H](O1)CO)O)NC(=O)C)O[C@@H]1[C@H]([C@H](O[C@H]2[C@@H]([C@H](C(O[C@@H]2CO)O)O)O)O[C@@H]([C@@H]1O)CO)O") -smiles(R"[C@H]1([C@H]([C@H](O[C@@H]([C@H]1O)CO)OC[C@H]1OC([C@H]([C@@H]1O)O)(O)CO)O)O") -smiles(R"[C@H]1([C@H]([C@@H](O[C@@H]([C@@H]1O)CO)O)NC(=O)C)OC1O[C@@H]([C@@H]([C@@H]([C@H]1O)O)O)CO") -smiles(R"[C@H]1([C@H]([C@@H](O[C@@H]([C@@H]1O)CO)O)NC(=O)C)O[C@@H]1O[C@@H]([C@H]([C@@H]([C@H]1O)O)O)C(=O)O") -smiles(R"[C@H]1([C@H]([C@H](O[C@@H]([C@H]1O)CO)O)NC(=O)C)O[C@@H](C(=O)N[C@H](C(=O)[O-])C)C") -smiles(R"[C@H]1([C@H]([C@H](O[C@@H]([C@@H]1O)C)OP(=O)(OP(=O)(OC[C@H]1O[C@H](C[C@@H]1O)n1c(=O)[nH]c(=O)c(c1)C)[O-])[O-])O)NC(=O)C") -smiles(R"[C@H]1([C@H]([C@H](O[C@@H]([C@@H]1O)C)OP(=O)(OP(=O)(OC[C@H]1O[C@H](C[C@@H]1O)n1c(=O)[nH]c(=O)c(c1)C)[O-])[O-])O)[NH3+]") -smiles(R"[C@H]1([C@H]([C@H](O[C@@H]([C@@H]1O)C)OP(=O)(OP(=O)(OC[C@H]1O[C@H](C[C@@H]1O)n1c(=O)[nH]c(=O)c(c1)C)[O-])[O-])O)[NH+](C)C") -smiles(R"[C@H]1([C@H]([C@@H](O[C@@H]([C@@H]1O)COS(=O)(=O)O)O)NC(=O)C)O[C@H]1[C@@H]([C@H]([C@@H]([C@H](O1)C(=O)O)O)O)O") -smiles(R"[C@@H]1([C@@H]([C@@H](O)[C@@H]([C@H]([C@@H]1O)O[C@@H]1O[C@@H](C)[C@@](C=O)(O)[C@H]1O[C@@H]1O[C@H]([C@H](O)[C@@H](O)[C@@H]1[NH2+]C)CO)NC(=[NH2+])N)NC(=[NH2+])N)OP(=O)([O-])[O-]") -smiles(R"[C@H]1([C@@H]([C@H](O)[C@H]([C@@H]([C@H]1OP(=O)([O-])[O-])OP(=O)([O-])[O-])OP(=O)([O-])[O-])OP(=O)([O-])[O-])OP(=O)([O-])[O-]") -smiles(R"[C@@H]1([C@@H]([C@@H](O)[C@@H]([C@@H](O)[C@@H]1O)O)O)[NH3+]") -smiles(R"[C@@H]1([C@@H]([C@@H](O)[C@@H]([C@@H](O)[C@@H]1O)OP(=O)([O-])[O-])O)[NH3+]") -smiles(R"[C@H]1([C@H](COC1=O)Cc1cc(c(cc1)O)OC)Cc1ccc(c(c1)OC)O") -smiles(R"[C@@H]1([C@@H](C(=O)C(=CC1)[O-])O)CO") -smiles(R"[C@@H]1([C@H](C(O[C@H]1COP(=O)([O-])[O-])(CO)O)O)O") -smiles(R"[C@H]1([C@@H](C(O[C@@H]1COP(=O)([O-])[O-])(CO)O)O)O") -smiles(R"[C@H]1([C@@H](C(O[C@@H]1COP(=O)([O-])[O-])(COP(=O)([O-])[O-])O)O)O") -smiles(R"[C@H]1([C@H](C(O[C@@H]([C@@H]1O)CO)O)NC(=O)C)O[C@@H]1OC(=C[C@@H]([C@H]1O)O)C(=O)[O-]") -smiles(R"[C@H]1([C@H](C(O[C@@H]([C@H]1O)COP(=O)([O-])[O-])O)[NH3+])O") -smiles(R"[C@H]1([C@H](C(O[C@@H]([C@@H]1O)COS(=O)(=O)[O-])O)NC(=O)C)O[C@@H]1OC(=C[C@@H]([C@H]1O)O)C(=O)[O-]") -smiles(R"[C@@H]1([C@@H](C(=O)[C@@H]([C@H]([C@@H]1O)NC(=[NH2+])N)O)O)O") -smiles(R"[C@H]1([C@@H](C(=O)[C@@H]([C@H](O1)C(=O)[O-])O)NC(=O)C)OP(=O)(OP(=O)([O-])OC[C@@H]1[C@H]([C@H]([C@@H](O1)n1ccc(=O)[nH]c1=O)O)O)[O-]") -smiles(R"[C@H]1([C@@H](O1)c1ccccc1)c1ccccc1") -smiles(R"[C@@H]1([C@@H](O1)C(=O)[O-])C(=O)[O-]") -smiles(R"[C@@H]1([C@H](O1)P(=O)(O)[O-])C") -smiles(R"[C@H]1([C@H](OC([C@@H]([C@H]1O[C@@H](C(=O)[O-])C)NC(=O)C)O)CO)O") -smiles(R"[C@H]1([C@H](OC([C@@H]([C@H]1O[C@@H](C(=O)[O-])C)NC(=O)C)O)COP(=O)([O-])[O-])O") -smiles(R"[C@@H]1([C@H](OC([C@@H]([C@H]1O)O)O)C(=O)[O-])O[C@H]1OC(=C[C@@H]([C@H]1O)O)C(=O)[O-]") -smiles(R"[C@@H]1([C@H](O[C@@H]2[C@H]([C@@H]([C@H]([C@@H]([C@H]2O)O)NC(=[NH2+])N)O)NC(=[NH2+])N)O[C@H]([C@@]1(C=O)O)C)O[C@H]1[C@H]([C@@H]([C@H]([C@@H](O1)CO)O)OP(=O)(OC[C@H]1O[C@H]([C@@H]([C@@H]1O)O)n1c2c(nc1)c(ncn2)N)[O-])[NH2+]C") -smiles(R"[C@@H]1([C@H](O[C@@H]2[C@H]([C@@H]([C@H]([C@@H]([C@H]2O)OP(=O)([O-])[O-])NC(=[NH2+])N)O)NC(=[NH2+])N)O[C@H]([C@@]1(CO)O)C)O[C@H]1[C@H]([C@@H]([C@H]([C@@H](O1)CO)O)O)[NH2+]C") -smiles(R"[C@@H]1([C@@H](O[C@@H]([C@H]1O)COP(=O)(OP(=O)(O[C@H]1[C@@H](O)[C@@H](O)[C@@H]([C@@H](O)[C@@H]1O)O)[O-])[O-])n1c(=O)nc(cc1)N)O") -smiles(R"[C@@H]1([C@@H](O[C@@H]([C@H]1O)COP(=O)(OP(=O)([O-])OCC[N+](C)(C)C)[O-])n1c(=O)nc(cc1)N)O") -smiles(R"[C@@H]1([C@@H](O[C@@H]([C@H]1O)COP(=O)(OP(=O)([O-])OCC[NH2+]C)[O-])n1c(=O)nc(cc1)N)O") -smiles(R"[C@@H]1([C@@H](O[C@@H]([C@H]1O)COP(=O)(OP(=O)([O-])OCC[NH3+])[O-])n1c(=O)nc(cc1)N)O") -smiles(R"[C@@H]1([C@@H](O[C@@H]([C@H]1O)COP(=O)(OP(=O)([O-])OCC[NH+](C)C)[O-])n1c(=O)nc(cc1)N)O") -smiles(R"[C@@H]1([C@@H](O[C@@H]([C@H]1O)COP(=O)(OP(=O)([O-])[O-])[O-])n1c(=O)nc(cc1)N)O") -smiles(R"[C@H]1([C@H](O[C@H]([C@@H]([C@H]1O[C@@H](C(=O)[O-])C)NC(=O)C)O)COP(=O)([O-])[O-])O") -smiles(R"[C@@H]1([C@@H](O[C@@H]([C@H]([C@@H]1O)O)CO)OC(=O)/C=C/c1cc(c(c(c1)OC)O)OC)O") -smiles(R"[C@@H]1([C@H](O[C@@H]([C@H]([C@@H]1O)O)CO)OP(=O)([O-])[O-])[NH3+]") -smiles(R"[C@@H]1([C@@H](O[C@@H]([C@H]([C@@H]1O)O)COP(=O)([O-])[O-])O)O") -smiles(R"[C@@H]1([C@H](O[C@@H]([C@H]([C@@H]1O)O)COP(=O)([O-])[O-])O)O") -smiles(R"[C@H]1([C@H](O[C@H]([C@@H]([C@H]1O)O)OC/C(=C\CNc1c2c(ncn1)[nH]cn2)/C)CO)O") -smiles(R"[C@H]1([C@H](O[C@H]([C@@H]([C@H]1O)O)OC/C(=C/CNc1c2c([nH]cn2)ncn1)/C)CO)O") -smiles(R"[C@H]1([C@H](O)[C@@H]([C@H]([C@H](O)[C@H]1O)OP(=O)([O-])[O-])OP(=O)([O-])[O-])OP(=O)([O-])[O-]") -smiles(R"[C@@H]1([C@@H](O)[C@H](n2cnc3c2nc(N)[nH]c3=O)O[C@@H]1COP(=O)(OP(=O)([O-])[O-])[O-])OP(=O)(OP(=O)([O-])[O-])[O-]") -smiles(R"[C@H]1([C@H](O)[C@H](O)[C@H]([C@@H]([C@H]1O)OP(=O)([O-])[O-])OP(=O)([O-])[O-])OP(=O)([O-])[O-]") -smiles(R"[C@H]1([C@H](O)[C@H](O)[C@H]([C@@H]([C@H]1OP(=O)([O-])[O-])OP(=O)([O-])[O-])OP(=O)([O-])[O-])OP(=O)([O-])[O-]") -smiles(R"[C@H]1([C@H](O)[C@H](O)[C@H]([C@H](O)[C@H]1O)O)OC") -smiles(R"[C@H]1([C@H](O)[C@H](O)[C@H]([C@H](O)[C@H]1O)O)OP(=O)([O-])[O-]") -smiles(R"[C@H]1([C@H](O)[C@H](O)[C@H]([C@H](O)[C@H]1O)OP(=O)([O-])[O-])OP(=O)([O-])[O-]") -smiles(R"[C@@H]1([C@H](O)[C@@H](O)[C@H](O)[C@H](O1)CO)O[C@H](C#N)c1ccc(cc1)O") -smiles(R"[C@@H]1([C@H](O)[C@@H](O)[C@H](O)[C@H](O1)CO)OC(=O)/C=C/c1ccccc1") -smiles(R"[C@H]1([C@H](O)[C@H](OP(=O)([O-])[O-])[C@H]([C@H](O)[C@H]1O)O)OP(=O)(O[C@H]1[C@@H](O)[C@@H](O)[C@@H]([C@@H](O)[C@@H]1O)O)[O-]") -smiles(R"[C@@H]1([C@@H](O)C(O[C@@H]1COP(=O)([O-])[O-])NC(=O)CNC=O)O") -smiles(R"[C@@H]1([C@H](OC(=O)[C@@H]([C@H]([C@H](C[C@H](C(=O)C=C1)C)C)O)C)CC)C") -smiles(R"[C@@H]1(C[NH2+]CCC1)C(=O)[O-]") -smiles(R"[C@H]1(COC([C@H]([C@@H]1O)O)O)O") -smiles(R"[C@@H]1(C(O[C@@H]([C@H]([C@@H]1O)O)COP(=O)([O-])[O-])O)O") -smiles(R"[C@@H]1(C(=O)C(=O)C[C@H]([C@@H]1O)O)O") -smiles(R"[C@H]1(C(=O)[O-])CC[C@@H](CC1)O") -smiles(R"[C@H]1(CO)O[C@H](O[C@@H]2[C@@H](CO)O[C@H](O)[C@@H]([C@H]2O)O)[C@@H]([C@H]([C@@H]1O[C@H]1O[C@@H]([C@H]([C@@H]([C@H]1O)O)O)CO)O)O") -smiles(R"[C@H]1(C(=O)[O-])[NH2+]CCCC1") -smiles(R"[C@@H]1([n+]2cc(ccc2)C(=O)[O-])O[C@@H]([C@H]([C@H]1O)O)COP(=O)([O-])[O-]") -smiles(R"[C@@H]1(n2c(cc(=O)[nH]c2=O)C(=O)[O-])O[C@@H]([C@H]([C@H]1O)O)COP(=O)([O-])[O-]") -smiles(R"[C@@H]1(n2c(=O)nc(c(c2)C)N)O[C@@H]([C@H](C1)O)COP(=O)([O-])[O-]") -smiles(R"[C@@H]1(n2c(=O)nc(c(c2)C)N)O[C@@H]([C@H](C1)O)COP(=O)(OP(=O)([O-])[O-])[O-]") -smiles(R"[C@@H]1(n2c(=O)nc(cc2)N)O[C@H]2[C@H]([C@H]1O)OP(=O)(OC2)[O-]") -smiles(R"[C@@H]1(n2c(=O)nc(cc2)N)O[C@@H]([C@@H]2[C@H]1OP(=O)(O2)[O-])CO") -smiles(R"[C@@H]1(n2c(=O)nc(cc2)N)O[C@@H]([C@H](C=C1)NC(=O)CC(CCN(C(=[NH2+])N)C)[NH3+])C(=O)[O-]") -smiles(R"[C@@H]1(n2c(=O)nc(cc2)N)O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OP(=O)([O-])OC[C@@H](O)[C@@](CO)(C)OP(=O)([O-])[O-])[O-]") -smiles(R"[C@@H]1(n2c(=O)nc(cc2)N)O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OP(=O)(OP(=O)([O-])[O-])[O-])[O-]") -smiles(R"[C@@H]1(n2c(=O)[nH]c(=O)c(c2)C)O[C@@H]([C@H](C1)O)CO") -smiles(R"[C@@H]1(n2c(=O)[nH]c(=O)c(c2)C)O[C@@H]([C@H](C1)O)COP(=O)(OP(=O)(O[C@H]1O[C@@H](C[C@H]([NH3+])[C@H]1O)C)[O-])[O-]") -smiles(R"[C@@H]1(n2c(=O)[nH]c(=O)c(c2)C)O[C@@H]([C@H](C1)O)COP(=O)(OP(=O)(O[C@H]1O[C@@H](C[C@H]([NH+](C)C)[C@H]1O)C)[O-])[O-]") -smiles(R"[C@@H]1(n2c(=O)[nH]c(=O)c(c2)C)O[C@@H]([C@H](C1)O)COP(=O)(OP(=O)(O[C@H]1O[C@@H]([C@H]([C@H]([NH3+])[C@H]1O)O)C)[O-])[O-]") -smiles(R"[C@@H]1(n2c(=O)[nH]c(=O)c(c2)C)O[C@@H]([C@H](C1)O)COP(=O)(OP(=O)(O[C@H]1O[C@@H]([C@H]([C@H]([NH+](C)C)[C@H]1O)O)C)[O-])[O-]") -smiles(R"[C@@H]1(n2c(=O)[nH]c(=O)c(c2)C)O[C@@H]([C@H](C1)O)COP(=O)(OP(=O)(O[C@H]1O[C@@H]([C@H]([C@H](O)[C@H]1O)O)CO)[O-])[O-]") -smiles(R"[C@@H]1(n2c(=O)[nH]c(=O)c(c2)C)O[C@@H]([C@H](C1)O)COP(=O)(OP(=O)([O-])[O-])[O-]") -smiles(R"[C@@H]1(n2c(=O)[nH]c(=O)c(c2)C)O[C@@H]([C@H](C1)O)COP(=O)(OP(=O)(OP(=O)([O-])[O-])[O-])[O-]") -smiles(R"[C@@H]1(n2c(=O)[nH]c(=O)cc2)O[C@@H]([C@@H]2[C@H]1OP(=O)(O2)[O-])CO") -smiles(R"[C@@H]1(n2c(=O)[nH]c(=O)cc2)O[C@@H]([C@H](C=C1)NC(=O)CC(CCN(C(=[NH2+])N)C)[NH3+])C(=O)[O-]") -smiles(R"[C@@H]1(n2c(=O)[nH]c(=O)cc2)O[C@@H]([C@H]([C@H]1O)O)CO") -smiles(R"[C@@H]1(n2c(=O)[nH]c(=O)cc2)O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OP(=O)(O[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)C(=O)[O-])O)O)NC(=O)C)[O-])[O-]") -smiles(R"[C@@H]1(n2c(=O)[nH]c(=O)cc2)O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OP(=O)(O[C@H]1O[C@H]([C@@H]([C@H]1O)O)[C@@H](CO)O)[O-])[O-]") -smiles(R"[C@@H]1(n2c(=O)[nH]c(=O)cc2)O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OP(=O)(O[C@H]1O[C@@H]([C@H]([C@@H]([C@H]1NC(=O)C)O[C@@H](C(=O)N[C@H](C(=O)N[C@H](CCC(=O)N[C@H](C(=O)N[C@@H](C(=O)N[C@@H](C(=O)[O-])C)C)CCC[C@H](C(=O)[O-])[NH3+])C(=O)[O-])C)C)O)CO)[O-])[O-]") -smiles(R"[C@@H]1(n2c(=O)[nH]c(=O)cc2)O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OP(=O)(O[C@H]1O[C@@H]([C@@H]([C@@H]([C@H]1O)O)O)CO)[O-])[O-]") -smiles(R"[C@@H]1(n2c(=O)[nH]c(=O)cc2)O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OP(=O)([O-])OC1[C@H](O)[C@H]([C@H](O)[C@@H](CO)O1)O)[O-]") -smiles(R"[C@@H]1(n2c(=O)[nH]c(=O)cc2)O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OP(=O)([O-])O[C@@H]1[C@H](O)[C@H]([C@H](O)[C@@H](CO)O1)[NH3+])[O-]") -smiles(R"[C@@H]1(n2c(=O)[nH]c(=O)cc2)O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OP(=O)([O-])O[C@@H]1[C@H](O)[C@H]([C@H](O)[C@@H](CO)O1)O)[O-]") -smiles(R"[C@@H]1(n2c(=O)[nH]c(=O)cc2)O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OP(=O)([O-])O[C@@H]1[C@H](O)[C@H]([C@H](O)[C@@H](CS(=O)(=O)[O-])O1)O)[O-]") -smiles(R"[C@@H]1(n2c(=O)[nH]c(=O)cc2)O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OP(=O)([O-])O[C@@H]1[C@H](O)C(=O)[C@H](O)[C@@H](CO)O1)[O-]") -smiles(R"[C@@H]1(n2c(=O)[nH]c(=O)cc2)O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OP(=O)([O-])O[C@H]1O[C@H]([C@H]([C@H]([C@@H]1NC(=O)C)O)O)C)[O-]") -smiles(R"[C@@H]1(n2c(=O)[nH]c(=O)cc2)O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OP(=O)([O-])O[C@H]1O[C@H]([C@H]([C@H]([C@H]1NC(=O)C)O)O)C)[O-]") -smiles(R"[C@@H]1(n2c(=O)[nH]c(=O)cc2)O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OP(=O)([O-])O[C@H]1O[C@@H]([C@H]([C@@H]([C@H]1NC(=O)C)O)O)CO)[O-]") -smiles(R"[C@@H]1(n2c(=O)[nH]c(=O)cc2)O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OP(=O)([O-])O[C@H]1O[C@@H]([C@H]([C@@H]([C@H]1NC(=O)C)OP(=O)([O-])[O-])O)CO)[O-]") -smiles(R"[C@@H]1(n2c(=O)[nH]c(=O)cc2)O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OP(=O)([O-])O[C@H]1O[C@@H](C(=O)[C@@H]([C@H]1NC(=O)C)O)C)[O-]") -smiles(R"[C@@H]1(n2c(=O)[nH]c(=O)cc2)O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OP(=O)([O-])O[C@H]1O[C@H](C(=O)[C@H]([C@H]1NC(=O)C)O)C)[O-]") -smiles(R"[C@@H]1(n2c(=O)[nH]c(=O)cc2)O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OP(=O)([O-])O[C@H]1O[C@H](CO)[C@@H](O)[C@H](OC(=O)C[C@@H](CCCCCCCCCCC)O)[C@H]1NC(=O)C)[O-]") -smiles(R"[C@@H]1(n2c(=O)[nH]c(=O)cc2)O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OP(=O)([O-])[O-])[O-]") -smiles(R"[C@@H]1(n2c(=O)[nH]c(=O)cc2)O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OP(=O)(OP(=O)([O-])[O-])[O-])[O-]") -smiles(R"[C@@H]1(Nc2c(cccc2)C(=O)[O-])O[C@@H]([C@H]([C@H]1O)O)COP(=O)([O-])[O-]") -smiles(R"[C@@H]1(Nc2c(c(=O)[nH]c(n2)N)NC=O)O[C@@H]([C@H]([C@H]1O)O)COP(=O)([O-])[O-]") -smiles(R"[C@@H]1(Nc2c(c(=O)[nH]c(n2)N)N)O[C@@H]([C@H]([C@H]1O)O)COP(=O)([O-])[O-]") -smiles(R"[C@@H]1(Nc2c(c(=O)[nH]c(=O)[nH]2)N)O[C@@H]([C@H]([C@H]1O)O)COP(=O)([O-])[O-]") -smiles(R"[C@H]1(NC(=O)NC1=O)NC(=O)N") -smiles(R"[C@@H]1(NC(=O)NC(=O)C1)C(=O)[O-]") -smiles(R"[C@H]1([NH2+]CCc2c1[nH]c1c2cccc1)C[C@H]1[C@H]([C@H](O)OC=C1C(=O)OC)C=C") -smiles(R"[C@@H]1(Oc2c(cccc2)/C=C/C(=O)[O-])O[C@@H]([C@H]([C@@H]([C@H]1O)O)O)CO") -smiles(R"[C@@H]1(Oc2c(cccc2)CO)O[C@@H]([C@H]([C@@H]([C@H]1O)O)O)CO") -smiles(R"[C@@H]1(Oc2c(cccc2)CO)O[C@@H]([C@H]([C@@H]([C@H]1O)O)O)COP(=O)([O-])[O-]") -smiles(R"[C@@H]1(O[C@@]2(CO)[C@@H](O)[C@H](O)[C@H](O2)CO[C@@H]2[C@H](O)[C@@H](O)[C@@H](O)[C@H](O2)CO)[C@H](O)[C@@H](O)[C@H](O)[C@H](O1)CO") -smiles(R"[C@@H]1(O[C@@]2(CO)[C@@H](O)[C@H](O)[C@H](O2)CO[C@@H]2[C@H](O)[C@@H](O)[C@@H](O)[C@H](O2)CO)[C@H](O)[C@@H](O)[C@H](O)[C@H](O1)CO[C@@H]1[C@H](O)[C@@H](O)[C@@H](O)[C@H](O1)CO") -smiles(R"[C@@H]1(O[C@@]2(CO)[C@@H](O)[C@H](O)[C@H](O2)CO)[C@H](O)[C@@H](O)[C@H](O)[C@H](O1)CO[C@@H]1[C@H](O)[C@@H](O)[C@@H](O)[C@H](O1)CO") -smiles(R"[C@@H]1(OC([C@@H]([C@@H]1O)O)NC(=O)C[NH3+])COP(=O)([O-])[O-]") -smiles(R"[C@@H]1(OC([C@@H]([C@H]([C@@H]1O)O)O)O)COC(=O)C(=C)CCO") -smiles(R"[C@@H]1(OC([C@@H]([C@H]([C@@H]1O)O)O)OP(=O)([O-])[O-])CO") -smiles(R"[C@@H]1(O[C@@H]2[C@H](O)[C@@H](O)[C@H](O)[C@H](O2)CO)[C@H](O)[C@@H](O)[C@H](O)[C@H](O1)CO") -smiles(R"[C@@H]1(O[C@@H]2[C@H](O)[C@@H](O)[C@H](O)[C@H](O2)COC(=O)C(C(CCCCCCC/C=C/CCCCCC)O)CCCCCCCCCCCCCC)[C@H](O)[C@@H](O)[C@H](O)[C@H](O1)CO") -smiles(R"[C@@H]1(O[C@@H]2[C@H](O)[C@@H](O)[C@H](O)[C@H](O2)COC(=O)C(C(CCCCCCC/C=C/CCCCCC)O)CCCCCCCCCCCCCC)[C@H](O)[C@@H](O)[C@H](O)[C@H](O1)COC(=O)C(C(CCCCCCC/C=C/CCCCCC)O)CCCCCCCCCCCCCC") -smiles(R"[C@@H]1(O[C@@H]2[C@H](O)[C@@H](O)[C@H](O)[C@H](O2)COP(=O)([O-])[O-])[C@H](O)[C@@H](O)[C@H](O)[C@H](O1)CO") -smiles(R"[C@H]1(O[C@@H]([C@@H]2[C@H]1OP(=O)(O2)[O-])CO)n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H](C1)O)COP(=O)(OP(=O)(OC1O[C@@H]([C@@H]([C@H](O)[C@H]1O)NC(=O)C)C)[O-])[O-])n1cc(c(=O)[nH]c1=O)C") -smiles(R"[C@H]1(O[C@@H]([C@H](C1)O)COP(=O)(OP(=O)(OC1O[C@@H]([C@@H]([C@H](O)[C@H]1O)O)C)[O-])[O-])n1cc(c(=O)[nH]c1=O)C") -smiles(R"[C@H]1(O[C@@H]([C@H](C1)O)COP(=O)(OP(=O)(O[C@H]1O[C@@H]([C@@H]([C@H](O)[C@H]1O)NC(=O)C)C)[O-])[O-])n1cc(c(=O)[nH]c1=O)C") -smiles(R"[C@H]1(O[C@@H]([C@H](C1)O)COP(=O)(OP(=O)(O[C@H]1O[C@@H]([C@H]([C@H](O)[C@H]1O)NC(=O)C)C)[O-])[O-])n1cc(c(=O)[nH]c1=O)C") -smiles(R"[C@H]1(O[C@@H]([C@H](C1)O)COP(=O)(OP(=O)(O[C@H]1O[C@H]([C@@H]([C@@H](O)[C@H]1O)O)C)[O-])[O-])n1cc(c(=O)[nH]c1=O)C") -smiles(R"[C@H]1(O[C@@H]([C@H](C1)O)COP(=O)(OP(=O)(O[C@H]1O[C@H]([C@H]([C@@H](O)[C@H]1O)O)C)[O-])[O-])n1cc(c(=O)[nH]c1=O)C") -smiles(R"[C@H]1(O[C@@H]([C@H](C1)O)COP(=O)(OP(=O)(O[C@H]1O[C@@H]([C@H](C(=O)[C@H]1O)O)C)[O-])[O-])n1cc(c(=O)[nH]c1=O)C") -smiles(R"[C@H]1(O[C@@H]([C@H](C1)O)COP(=O)(OP(=O)([O-])[O-])[O-])n1c(=O)[nH]c(=O)cc1") -smiles(R"[C@H]1(O[C@H]([C@@H]([C@H]1O)O)[C@@H](CO)O[C@@H]1O[C@H]([C@@H]([C@H]1O)O)[C@@H](CO)O)O[C@@H]1[C@H]([C@H]([C@@H](O[C@H]1C)O[C@@H]1[C@H]([C@@H](OP(=O)(OP(=O)(OC/C=C(/C)\CC/C=C(/C)\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(/CCC=C(C)C)\C)/C)/C)/C)/C)/C)/C)[O-])[O-])O[C@@H]([C@H]1O)CO)NC(=O)C)O)O") -smiles(R"[C@H]1(O[C@H]([C@@H]([C@H]1O)O)[C@@H](CO)O)O[C@@H]1[C@H]([C@H]([C@@H](O[C@H]1C)O[C@@H]1[C@H]([C@@H](OP(=O)(OP(=O)(OC/C=C(/C)\CC/C=C(/C)\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(/CCC=C(C)C)\C)/C)/C)/C)/C)/C)/C)[O-])[O-])O[C@@H]([C@H]1O)CO)NC(=O)C)O)O") -smiles(R"[C@@H]1(O[C@@H]([C@H]([C@H]1O)O)COP(=O)([O-])O[C@H](C(=O)[O-])CCC(=O)[O-])OC[C@H]([C@H]([C@H](Cc1ccc(N[C@@H](C2[C@@H](Nc3c(c(=O)[nH]c(n3)N)N2C=O)C)C)cc1)O)O)O") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)O)COP(=O)([O-])[O-])n1cnc(C(=O)N)c1NC=O") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)O)COP(=O)([O-])OP(=O)([O-])OC1O[C@@H]([C@H]([C@@H]([C@@H]1O)O)O)C(=O)[O-])n1cnc2c1nc(N)[nH]c2=O") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OP(=O)(OC1O[C@@H]([C@H]([C@H](O)[C@H]1O)O)CO)[O-])[O-])n1c2c(nc1)c(=O)[nH]c(N)n2") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCS)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OP(=O)(O[C@H]1O[C@@H]([C@H]([C@H](O)[C@H]1O)O)CO)[O-])[O-])n1c2c(nc1)c(=O)[nH]c(N)n2") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OP(=O)(O[C@H]1O[C@H]([C@H]([C@@H](O)[C@@H]1O)O)CO)[O-])[O-])n1c2c(nc1)c(=O)[nH]c(N)n2") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)O)CSC)n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)O)CSC)n1c2c(nc1)c(ncn2)O") -smiles(R"[C@@H]1(O[C@H]([C@@H]([C@@H]1O)O)n1c2c(c(ncn2)N)nc1)COP(=O)(OP(=O)([O-])OCC(C(=O)[O-])O)[O-]") -smiles(R"[C@@H]1(O[C@H]([C@@H]([C@@H]1O)O)n1c2c(c(ncn2)N)nc1)C[S+](CCC[NH3+])C") -smiles(R"[C@@H]1(O[C@H]([C@@H]([C@@H]1O)O)n1c2c(nc1)c(ncn2)N)C[S+](CCC(=O)C(=O)[O-])C") -smiles(R"[C@@H]1(O[C@H]([C@@H]([C@@H]1O)O)O[C@H]1[C@@H]([C@H](C[C@H]([C@@H]1O)[NH3+])[NH3+])O[C@@H]1[C@@H]([C@H]([C@@H]([C@H](O1)C[NH3+])O)O)[NH3+])COP(=O)([O-])[O-]") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])CO)n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)C(C(=O)NCCC(=O)NCCSC(=O)CC(=O)/C=C/c1cc(c(cc1)O)OC)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)c1cc(c2c(c1O)cccc2)O)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)c1ccc(cc1Cl)Cl)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)c1ccc(cc1)Cl)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)c1ccccc1C(=O)CCC(=O)[O-])O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)c1ccccc1NC)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)c1ccccc1N)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)c1ccccc1)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)C1=CCCC=C1)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)c1ccc(cc1)O)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)c1cccc(c1)O)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)c1ccccc1O)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)C1=CC(CC=C1)O)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)C1=CCCCC1O)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)C1=CC=CC(C1O)O)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)C1=C(CCC(=O)C1)N)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)c1ccco1)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)c1ccc(o1)[O-])O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)c1cccs1)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)c1ccc(s1)[O-])O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CC12C(C=CC=C1)O2)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)Cc1ccccc1)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CC1(CCCCC1)O)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)/C=C/1\OC=CC=CC1)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)/C=C/c1ccccc1)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)/C=C/c1ccc(cc1)O)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)/C=C/c1cc(c(O)c(c1)OC)OC)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)/C=C/c1ccc(O)c(c1)OC)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)/C=C/c1ccc(O)c(c1)O)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)/C=C/C=C/c1ccc2c(c1)OCO2)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CCCCCCCCCCCCCCCCCCCCCCCCC)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CCCCCCCCCCCCCCCCCCCCCCC)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CC(CCCC(CCCC(CCCC(C)C)C)C)C)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CCC/C=C\C/C=C\C/C=C\C/C=C\CCCCC)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CCCCCCCCCCCCCCCCCCC)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)C(C(CCCC(CCCC(CCCC(C)C)C)C)C)O)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)/C=C/CCCCCCCCCCCCCCC)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CCCC/C=C\C/C=C\C/C=C\CCCCC)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CCCCCCC/C=C\C/C=C\CCCCC)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CCCCCCC/C=C\CCCCCCCC)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CCCCCCCCCCCCCCCCC)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)/C=C/CCCCCCCCCCCC(C)C)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CCCCCCCCCCCCCC(C)C)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)C(C(CCCCCCCCCCCCC)C)O)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CC(CCCCCCCCCCCC(C)C)O)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)/C=C/CCCCCCCCCCCCC)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CCC(C)CCCC(C)CCCC(C)C)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CCCCCCC/C=C\CCCCCC)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CCCCCCCCCCCCCCC)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)/C=C/CCCCCCCCCC(C)C)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CCCCCCCCCCCC(C)C)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)/C=C/CCCCCCCCCCC)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)C/C=C\CCCCCCCCCC)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CCCCCCC/C=C\CCCC)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CCCCCCCCC/C=C/CC)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CCCCCCCCC/C=C\CC)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CCCCCCCCCCCCC)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CCCCCCCCCC(C)C)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)/C=C/CCCCCCCCC)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)C/C=C\CCCCCCCC)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CCCCCCCCCCC)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)/C=C/CCCCCCC)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)/C=C(\C)/CCC=C(C)C)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CCCCCCCCC)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)/C=C/CCCCC)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CCCCCCC)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)C=CCCCC(=O)[O-])O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CCCCCC(=O)[O-])O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CC(CCCC(=O)[O-])O)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CCCC[C@@H]1[C@H]2[C@@H](CS1)NC(=O)N2)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)/C=C/CCC)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CCCCC)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)C/C=C\CC=O)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)/C=C/CCC(=O)[O-])O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)/C=C\CCC(=O)[O-])O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)C/C=C\CC(=O)[O-])O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)/C=C(/CC(=O)[O-])\CCC=C(C)C)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)C/C(=C/C(=O)[O-])/C)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)C[C@@](CC(=O)[O-])(C)O)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CC(CC(=O)[O-])(O)CCC=C(C)C)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)/C(=C/C)/C)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)C=C(C)C)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)C(CC)C)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CC(C)C)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CCCC)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CC(C)(C)O)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CCCCO)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)/C=C/CC(=O)[O-])O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CC(=C)C(=O)[O-])O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CCCC(=O)[O-])O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CC[C@@H](C)[C@@H]1[C@@]2(C)CC[C@@H]3[C@]4(CC[C@H](C[C@H]4C[C@@H](O)[C@H]3[C@@H]2CC1)O)C)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CC[C@@H](C)[C@H]1CC[C@@H]2[C@]1(C)[C@H](C[C@@H]1[C@]3(CC[C@H](C[C@H]3CC[C@@H]21)O)C)O)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CC[C@@H](C)[C@H]1CC[C@@H]2[C@]1(C)[C@H](C[C@@H]1[C@]3(CC[C@H](C[C@H]3C[C@@H](O)[C@@H]21)O)C)O)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)/C=C/C[N+](C)(C)C)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CCC[N+](C)(C)C)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CCCNC(=O)C)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CCC[NH3+])O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)C(C)C(=O)CCC(C)CCCC(C)CCCC(C)C)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)C(C)C(=O)CC[C@@H](C)[C@H]1CC[C@@H]2[C@]1(C)[C@H](C[C@@H]1[C@]3(CC[C@H](C[C@H]3C[C@@H](O)[C@@H]21)O)C)O)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)C[C@](C(=O)[O-])(C)O)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CC(C(=O)[O-])(C)O)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)C[C@](C(=O)[O-])(O)CC(=O)[O-])O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)/C=C/C)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)C(=C)C)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)C(C)C)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CC=C)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CCC)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)C(C)CO)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CCCO)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CCC(=O)[O-])O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)C[C@H]1C(=O)C=C(C1(C)C)C)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)C[C@H](CCCCCCCCCCCCC)O)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)C[C@H](CCCCC)O)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)C[C@@H](C[N+](C)(C)C)O)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)C[C@H](C[N+](C)(C)C)O)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)C[C@H](C)[NH3+])O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)C[C@@H](C)O)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)C[C@H](C)O)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)C[C@@H](C(=O)[O-])O)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)C[C@@H](O)CCCCCCCCCCC)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)C[C@@H](O)CCCCCCCCC)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)C[C@@H](O)CCCCCCC)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)C[C@@H](O)CCC)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CC[NH3+])O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CC(O)c1ccc(O)c(c1)OC)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CC(=O)/C=C/c1ccc(cc1)O)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CC(O)CCCCCCCCCCCCCCCCCCC)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CC(=O)CCCC/C=C\C/C=C\C/C=C\CCCCC)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CC(=O)CCCCCCCCCCCCCCCCC)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CC(O)CCCCCCCCCCCCCCCCC)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CC(=O)CCCCCCCCCCCCCCC)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CC(O)CCCCCCCCCCCCCCC)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CC(=O)CCCCCCCCCCCC(C)C)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CC(=O)CCCCCCCCCCCCC)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CC(=O)CCCCCCCCCC(C)C)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CC(O)CCCCCCCCCC(C)C)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CC(=O)CCCCCCCCCCC)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CC(=O)CCCCCCCCC)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CC(=O)CCCCCCC)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CC(=O)CCC=C(C)C)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CC(=O)CCCCC)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CC(=O)C/C=C/CC=O)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CC(=O)C/C=C/CC(=O)[O-])O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CC(=O)CCCC(=O)[O-])O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CC(=O)CCC)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CC(=O)CCC(=O)[O-])O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CC(O)CCC(=O)[O-])O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CC(=O)CC(=O)CC(=O)CCCCC)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)C(C(=O)C)C)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CC(=O)C)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)C(C(=O)[O-])C)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)C=C)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CC)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)C(C)O)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CCO)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CC(=O)[O-])O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CF)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)[C@@H](Cc1ccccc1)O)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)[C@H](C)CCC[C@@H](C)[C@H]1CC[C@@H]2[C@]1(C)CC[C@@H]1[C@]3(CC[C@H](C[C@H]3C[C@@H](O)[C@@H]21)O)C)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)[C@H](C)CCC[C@@H](C)[C@H]1CC[C@@H]2[C@]1(C)[C@H](C[C@@H]1[C@]3(CC[C@H](C[C@H]3C[C@@H](O)[C@@H]21)O)C)O)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)[C@H](C)[C@@H](CC[C@@H](C)[C@H]1CC[C@@H]2[C@]1(C)[C@H](C[C@@H]1[C@]3(CC[C@H](C[C@H]3C[C@@H](O)[C@@H]21)O)C)O)O)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)[C@@H](C)[C@H](C)O)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)[C@@H](CC(=O)[O-])Cc1ccccc1)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)[C@@H](C)CO)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)[C@H](C(=O)[O-])CC)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)[C@@H](C(=O)[O-])C)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)[C@H](C(=O)[O-])C)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)[C@@H](C)O)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)C(=O)c1ccccc1)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)C)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)C(=O)[O-])O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CS(=O)(=O)[O-])O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC=O)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCS)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSSC[C@H](NC(=O)CC[C@H]([NH3+])C(=O)[O-])C(=O)NCC(=O)[O-])O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSSCCNC(=O)CCNC(=O)[C@@H](C(COP(=O)(OP(=O)(OC[C@H]1O[C@H]([C@@H]([C@@H]1OP(=O)([O-])[O-])O)n1c2c(nc1)c(ncn2)N)[O-])[O-])(C)C)O)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@@H]([C@H]1NC(=O)C)O)O)CO)O") -smiles(R"[C@@H]1(O[C@@H]([C@H]([C@@H]([C@H]1NC(=O)C)O)O)CO)OP(=O)([O-])[O-]") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@@H]([C@H]1[NH3+])O)O)CO)O") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@@H]([C@H]1O)O)OC(=O)CC(=O)[O-])COC(=O)CC(=O)[O-])Oc1c2cc(c(c3ccc(cc3)O)[o+]c2cc(c1)[O-])O[C@@H]1O[C@@H]([C@H]([C@@H]([C@H]1O)O)O)COC(=O)/C=C/c1cc(c(cc1)O)O") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@@H]([C@H]1O)O)O)COC(=O)CC(=O)[O-])Oc1c2cc(c(c3ccc(cc3)O)[o+]c2cc(c1)[O-])O[C@@H]1O[C@@H]([C@H]([C@@H]([C@H]1O)O)O)COC(=O)/C=C/c1cc(c(cc1)O)O") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@@H]([C@H]1O)O)O)COC(=O)CC(=O)[O-])Oc1cc2c(cc(cc2[O-])O)[o+]c1c1cc(c(c(c1)O[C@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)O)O") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@@H]([C@H]1O)O)O)COC(=O)CC(=O)[O-])Oc1cc2c(cc(cc2[O-])[O-])[o+]c1c1cc(c(c(c1)O[C@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)O)O[C@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@@H]([C@H]1O)O)O)CO)[n+]1cc(ccc1)C(=O)[O-]") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@@H]([C@H]1O)O)O)CO)Oc1c2cc(c(c3ccc(cc3)O)[o+]c2cc(c1)[O-])O[C@@H]1O[C@@H]([C@H]([C@@H]([C@H]1O)O)O)COC(=O)/C=C/c1cc(c(cc1)O)O") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@@H]([C@H]1O)O)O)CO)OC[C@H]1O[C@@H](OC(=O)/C(=C/C=C/C(=C/C=C/C=C(/C=C/C=C(/C(=O)[O-])\C)\C)/C)/C)[C@@H]([C@H]([C@@H]1O)O)O") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@@H]([C@H]1O)O)O)CO)OC[C@H]1O[C@@H](OC(=O)/C(=C/C=C/C(=C/C=C/C=C(/C=C/C=C(/C(=O)O[C@@H]2O[C@@H]([C@H]([C@@H]([C@H]2O)O)O)CO)\C)\C)/C)/C)[C@@H]([C@H]([C@@H]1O)O)O") -smiles(R"[C@H]1(O[C@@H]([C@@H]([C@@H]([C@H]1O)O)O)CO)OC[C@@H]([C@@H](/C=C/CCCCCCCCCCCCC)O)[NH3+]") -smiles(R"[C@@H]1(O[C@@H]([C@@H]([C@@H]([C@H]1O)O)O)CO)OC[C@H](COP(=O)([O-])[O-])O") -smiles(R"[C@@H]1(O[C@@H]([C@@H]([C@@H]([C@H]1O)O)O)CO)OC(CO)COP(=O)([O-])[O-]") -smiles(R"[C@@H]1(O[C@@H]([C@H]([C@@H]([C@@H]1O)O)O)CO)OC(C(=O)[O-])COP(=O)([O-])[O-]") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@@H]([C@H]1O)O)O)CO)O[C@H]1[C@@H]([C@@H](C(=CO1)C(=O)OC)CC=O)C=C") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@@H]([C@H]1O)O)O)CO)O[C@@H](COP(=O)([O-])[O-])CO") -smiles(R"[C@H]1(O[C@@H]([C@H]([C@@H]([C@H]1O)O)O)CO)OC/N=[N+](\C)/[O-]") -smiles(R"[C@@H]1(O[C@@H]([C@@H]([C@@H]([C@H]1O)O)O)C(=O)[O-])O") -smiles(R"[C@@H]1(O[C@@H]([C@@H]([C@@H]([C@H]1O)O)O)CO)OP(=O)([O-])[O-]") -smiles(R"[C@@H]1(O[C@@H]([C@H]([C@@H]([C@@H]1O)O)O)CO)OP(=O)([O-])[O-]") -smiles(R"[C@H]1(O[C@H]([C@H]([C@H]([C@@H]1O)O)O)CO)OP(=O)([O-])[O-]") -smiles(R"[C@@H]1(O[C@@H]([C@H]([C@@H]([C@@H]1O)O)O)COP(=O)([O-])[O-])O") -smiles(R"[C@@H]1(O[C@H]([C@@H]([C@H]([C@H]1O)O)O)OC)CO") -smiles(R"[C@@H]1(O[C@@H]([C@@H]([C@H]([C@@H]1O)O)O)OP(=O)([O-])[O-])CO") -smiles(R"[C@@H]1(O[C@H]([C@@H]([C@H]([C@@H]1O)O)O)OP(=O)([O-])[O-])CO") -smiles(R"[C@@H]1(O[C@@H]([C@@H](O)[C@@H]([C@H]1O)O)COP(=O)([O-])[O-])OP(=O)([O-])[O-]") -smiles(R"[C@@H]1(O)[C@@H]([C@@H](O)[C@H](O)[C@H](O1)CO)NC(=O)C") -smiles(R"[C@H]1(O)[C@H]([C@H](O)[C@@H](O)[C@H](O)[C@H]1O[C@H]1O[C@H](CO)[C@H](O)[C@H](O)[C@H]1O)O") -smiles(R"[C@H]1(O)[C@H](O[C@@H]2[C@H](O)[C@@H](O)C=C(O2)C(=O)[O-])[C@H](O)[C@@H](O)[C@@H](O1)C") -smiles(R"[C@H]1(O)[C@H](O[C@H]2O[C@@H]([C@H]([C@H](O)[C@H]2O)O)CO)[C@H](O[C@@H]([C@@H]1O)O[C@H]1[C@H](O)[C@H]([C@H](O[C@@H]1CO)O[C@H]1[C@H](O)[C@H]([C@@H](O[C@H]2[C@H](O)[C@H]([C@@H](O[C@H]3[C@H](O)[C@H]([C@@H](O[C@H]4[C@H](O)[C@H]([C@@H](O)O[C@@H]4CO)O)O[C@@H]3CO)O)O[C@@H]2CO)O)O[C@@H]1CO)O)O)CO") -smiles(R"[C@H]1(O)[C@H](O[C@H]2O[C@@H]([C@H]([C@H](O)[C@H]2O)O)CO)[C@H](O[C@@H]([C@@H]1O)O[C@H]1[C@H](O)[C@H]([C@H](O[C@@H]1CO)O[C@H]1[C@H](O)[C@H]([C@@H](O[C@H]2[C@H](O)[C@H]([C@@H](O[C@H]3[C@H](O)[C@H]([C@@H](O)O[C@@H]3CO)O)O[C@@H]2CO)O)O[C@@H]1CO)O)O)CO") -smiles(R"[C@H]1(O)[C@H](O[C@H]2O[C@@H]([C@H]([C@H](O)[C@H]2O)O)CO)[C@H](O[C@@H]([C@@H]1O)O[C@H]1[C@H](O)[C@H]([C@H](O[C@@H]1CO)O[C@H]1[C@H](O)[C@H]([C@@H](O[C@H]2[C@H](O)[C@H]([C@@H](O)O[C@@H]2CO)O)O[C@@H]1CO)O)O)CO") -smiles(R"[C@@H]1(O)[C@H](O)[C@@H]([C@H]([C@@H]([C@H]1OP(=O)([O-])[O-])OP(=O)([O-])[O-])OP(=O)([O-])[O-])OP(=O)([O-])[O-]") -smiles(R"[C@@H]1(O)[C@H](O)[C@@H]([C@H]([C@H](O)[C@H]1O)O)OC") -smiles(R"[C@@H]1(O)[C@H](O)[C@H]([C@H](O)[C@H]([C@H]1O)O)OC") -smiles(R"[C@H]1(O)[C@@H](O)[C@H](n2cnc3c2nc(N)[nH]c3=O)O[C@@H]1COP(=O)(OP(=O)(O[C@H](C(=O)[O-])C)[O-])[O-]") -smiles(R"[C@H]1(O)[C@@H](O)[C@H](n2cnc3c2nc(N)[nH]c3=O)O[C@@H]1COP(=O)(OP(=O)([O-])[O-])[O-]") -smiles(R"[C@H]1(O)[C@H](O)[C@H](O[C@@]1(CO)O[C@@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)CO") -smiles(R"[C@H]1(O)[C@H](O)[C@H](O[C@@]1(CO)O[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)CO") -smiles(R"[C@H]1(O)[C@H](O)[C@H](O[C@@]1(CO)O[C@@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)COP(=O)([O-])[O-]") -smiles(R"[C@H]1(O)[C@H](O)[C@H](O[C@@]1(CO)O[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)COP(=O)([O-])[O-]") -smiles(R"[C@H]1(O)[C@H](O)[C@H](O[C@@]1(CO)O[C@@H]1[C@@H](C(=O)[C@@H]([C@H](O1)CO)O)O)CO") -smiles(R"[C@@H]1(O)[C@H](O)[C@H](O[C@H]1Nc1nc(nc(c1N)O)N)COP(=O)([O-])[O-]") -smiles(R"[C@@H]1(O)[C@H](O)[C@H](O)[C@H]([C@@H]([C@H]1O)OC)O") -smiles(R"[C@@H]1(O)[C@H](O)[C@H](O)[C@H]([C@H](O)[C@H]1O)OC") -smiles(R"[C@@H]1(O)[C@H](O)[C@H](O)[C@H]([C@H](O)[C@H]1O)OP(=O)([O-])[O-]") -smiles(R"[C@@H]1(O)[C@H](O)[C@H](O[C@@H](O)[C@@H]1O)CO") -smiles(R"[C@H]1(O)[C@@H](O)[C@H](O[C@@H](O)[C@@H]1O)CO") -smiles(R"[C@H]1(O)[C@@H](O)[C@H](O[C@H](O)[C@@H]1O)CO") -smiles(R"[C@H]1(O)[C@H](O)[C@H](O[C@@H](O)[C@@H]1O)CO") -smiles(R"[C@H]1(O)[C@H](O)[C@H](O[C@H](O)[C@@H]1O)CO") -smiles(R"[C@@H]1(O)[C@H](O)[C@@H](OC(O)[C@H]1O)CO") -smiles(R"[C@H]1(O)[C@@H](O)[C@H](OC(O)[C@@H]1O)CO") -smiles(R"[C@H]1(O)[C@H](O)[C@H](OC(O)[C@@H]1O)CO") -smiles(R"[C@H]1(O)[C@H](O)[C@H](OC(O)[C@H]1O)CO") -smiles(R"[C@H]1(OC(=O)c2ccccc2)[C@@H]2[C@@]3(CO[C@@H]3C[C@@H]([C@]2(C(=O)[C@@H](C2=C([C@H](C[C@]1(O)C2(C)C)OC(=O)[C@@H]([C@H](c1ccccc1)NC(=O)c1ccccc1)O)C)OC(=O)C)C)O)OC(=O)C") -smiles(R"[C@H]1(OC(=O)c2ccccc2)[C@@H]2[C@@]3(CO[C@@H]3C[C@@H]([C@]2(C(=O)[C@@H](C2=C([C@H](C[C@]1(O)C2(C)C)OC(=O)[C@@H]([C@H](c1ccccc1)[NH3+])O)C)OC(=O)C)C)O)OC(=O)C") -smiles(R"[C@H]1(OC(=O)/C=C/c2cc(c(c(c2)OC)O)OC)[C@H](OC(=O)/C=C/c2cc(c(c(c2)OC)O)OC)[C@@H](O)[C@H](O)[C@H](O1)CO") -smiles(R"[C@@H]1(OC(=O)[C@H]([C@@H]1O)O)[C@H](CO)O") -smiles(R"[C@H]1(OC(=O)[C@@H]([C@H]1O)O)[C@@H](CO)O") -smiles(R"[C@@H]1(OC(=O)[C@H]([C@H]1O)O)[C@@H](O)CO") -smiles(R"[C@@H]1(OC(=O)[C@@H]([C@H]1O)O)CO") -smiles(R"[C@@H]1(OC(=O)[C@H]([C@@H]1O)O)CO") -smiles(R"[C@H]1(OC(=O)[C@@H]([C@H]1O)O)CO") -smiles(R"[C@H]1(OC(=O)[C@H]([C@@H]1O)O)CO") -smiles(R"[C@@H]1(OC(=O)[C@@H]([C@H]([C@@H]1O)O)O)CO") -smiles(R"[C@@H]1(OC(=O)[C@@H]([C@H]([C@@H]1O)O)O)COP(=O)([O-])[O-]") -smiles(R"[C@@H](Cc1c[nH]cn1)(NC(=O)CC[NH3+])C(=O)[O-]") -smiles(R"[C@@H](CC(C)C)(NC(=O)C)C(=O)[O-]") -smiles(R"[C@@H](CCCNC(=[NH2+])N)([NH2+]CCC(=O)[O-])C(=O)[O-]") -smiles(R"[C@H](CCC(=O)NCCCC=O)(C(=O)[O-])[NH3+]") -smiles(R"[C@H](CCC(=O)N[C@@H](C(=O)[O-])C)(C(=O)[O-])[NH3+]") -smiles(R"[C@H](CCNC(=O)C)(C(=O)[O-])[NH3+]") -smiles(R"[C@@H](CC(=O)[O-])(c1ccccc1)[NH3+]") -smiles(R"[C@@H](CC(=O)OCC)(CCC)O") -smiles(R"[C@H](CC(=O)OCC)(CCC)O") -smiles(R"[C@H](CC[Se]C[C@@H](C(=O)[O-])[NH3+])(C(=O)[O-])[NH3+]") -smiles(R"[C@@H]([C@H](Cc1cc(c(cc1)O)OC)CO)(Cc1ccc(c(c1)OC)O)CO") -smiles(R"[C@H]([C@@H](Cc1cc(c(cc1)O)OC)CO)(Cc1ccc(c(c1)OC)O)CO") -smiles(R"[C@@H]([C@@H]([C@H]([C@H](C)O)O)O)(C(=O)[O-])O") -smiles(R"[C@@H]([C@H]([C@@H]([C@H](CO)O)O)O)(CO)O") -smiles(R"[C@H]([C@@H]([C@@H]([C@H](CO)O)O)O)(CO)O") -smiles(R"[C@H]([C@@H]([C@H]([C@@H](CO)O)O)O)(CO)O") -smiles(R"[C@@H]([C@H]([C@@H]([C@H](CO)O)O)O)(C(=O)[O-])O") -smiles(R"[C@@H]([C@H]([C@H]([C@@H](CO)O)O)O)(C(=O)[O-])O") -smiles(R"[C@H]([C@@H]([C@@H]([C@H](CO)O)O)O)(C(=O)[O-])O") -smiles(R"[C@H]([C@H]([C@@H]([C@H](CO)O)O)O)(C(=O)[O-])O") -smiles(R"[C@@H]([C@H]([C@@H]([C@@H](COP(=O)([O-])[O-])O)O)O)(C=O)O") -smiles(R"[C@H]([C@H]([C@@H]([C@@H](O)C(=O)[O-])O)O)(O)C(=O)[O-]") -smiles(R"[C@H]([C@H]([C@@H](CO)O)O)([C@H](COP(=O)([O-])[O-])O)O") -smiles(R"[C@H]([C@@H]([C@@H](C(=O)[O-])O)O)([C@H](C(=O)[O-])OC(=O)/C=C/c1cc(c(O)c(c1)OC)OC)O") -smiles(R"[C@H]([C@@H]([C@@H](C(=O)[O-])O)O)([C@H](C(=O)[O-])O)O") -smiles(R"[C@@H]([C@H](C)[NH2+]C)(O)c1ccccc1") -smiles(R"[C@H]([C@@H](C(=O)COP(=O)([O-])[O-])O)(C(=O)C)O") -smiles(R"[C@@H]([C@@H](C(=O)[O-])[NH3+])(C(=O)[O-])O") -smiles(R"[C@H]([C@@H](C(=O)[O-])[NH3+])(C(=O)[O-])O") -smiles(R"[C@H]([C@H](C(=O)[O-])O)(C(=O)[O-])C") -smiles(R"[C@H]([C@H](C(=O)[O-])O)(C(=O)[O-])O") -smiles(R"[C@@H]([C@@H](C)OP(=O)([O-])[O-])(NC(=O)CCCCCCS)C(=O)[O-]") -smiles(R"[C@@H]([C@@H](COP(=O)([O-])[O-])O)(O)C(=O)CO") -smiles(R"[C@H]([C@@H](O)CC=O)(COP(=O)([O-])[O-])O") -smiles(R"[C@H]([C@H](O)CO)(O)[C@@](COP(=O)([O-])[O-])(O)C(=O)[O-]") -smiles(R"[C@H]([C@H](O)CO)(O)CO") -smiles(R"[C@H]([C@H](O)CO)(O)[C@](O)(CO)C(=O)[O-]") -smiles(R"[C@@H]([C@H](O)COP(=O)([O-])[O-])([C@@H](C(=O)CO)O)O") -smiles(R"[C@@H](C[NH2+]C)(O)c1ccc(cc1)O") -smiles(R"[C@H](C[NH3+])(C(=O)[O-])N") -smiles(R"[C@@H](COCCCCCCCCCCCCCCCC)(COP(=O)(OCC[N+](C)(C)C)[O-])O") -smiles(R"[C@H](CO)([C@H]([C@@H](C(=O)C=O)O)O)O") -smiles(R"[C@@H](C)(O)C=O") -smiles(R"[C@H](C)(O)C=O") -smiles(R"[C@H](CO)(COCCCCCCCCCCCCCCCC)O") -smiles(R"[C@H](COC(=O)CCCCCCCCCCCCCCC)(OC(=O)CCC/C=C\C/C=C\C/C=C\C/C=C\CCCCC)COP(=O)(OCC[N+](C)(C)C)[O-]") -smiles(R"[C@H](COC(=O)CCCCCCCCCCCCCCC)(OC(=O)CCC/C=C\C/C=C\C/C=C\C/C=C\CCCCC)COP(=O)(OCC[NH3+])[O-]") -smiles(R"[C@H](COC(=O)CCCCCCCCCCCCCCC)(OC(=O)CCCCCCC/C=C\C/C=C\CCCCC)COP(=O)(OCC[N+](C)(C)C)[O-]") -smiles(R"[C@H](COC(=O)CCCCCCCCCCCCCCC)(OC(=O)CCCCCCC/C=C\CCCCCCCC)COP(=O)(OCC[N+](C)(C)C)[O-]") -smiles(R"[C@H](COC(=O)CCCCCCCCCCCCCCC)(OC(=O)CCCCCCCCCCCCCCCCC)COP(=O)(OCC[N+](C)(C)C)[O-]") -smiles(R"[C@H](COC(=O)CCCCCCCCCCCCCCC)(OC(=O)CCCCCCC/C=C\C/C=C\CCCCC)COP(=O)(OCC[NH3+])[O-]") -smiles(R"[C@H](COC(=O)CCCCCCCCCCCCCCC)(OC(=O)CCCCCCC/C=C\CCCCCCCC)COP(=O)(OCC[NH3+])[O-]") -smiles(R"[C@H](COC(=O)CCCCCCCCCCCCCCC)(OC(=O)CCCCCCCCCCCCCCCCC)COP(=O)(OCC[NH3+])[O-]") -smiles(R"[C@H](COC(=O)CCCCCCCCCCCCCCC)(OC(=O)CCCCCCC/C=C\CCCCCCCC)COP(=O)([O-])[O-]") -smiles(R"[C@H](COC(=O)CCCCCCCCCCCCCCC)(OC(=O)CCCCCCCCCCCCCCC)COP(=O)(OCC[N+](C)(C)C)[O-]") -smiles(R"[C@H](COC(=O)CCCCCCCCCCCCCCC)(OC(=O)CCCCCCCCCCCCCCC)COP(=O)(OCC[NH3+])[O-]") -smiles(R"[C@H](COC(=O)CCCCCCCCCCCCCCC)(O)COP(=O)(OCC[N+](C)(C)C)[O-]") -smiles(R"[C@H](COC(=O)CCCCCCCCCCCCCCC)(O)COP(=O)(OCC[NH3+])[O-]") -smiles(R"[C@H](C=O)(CO)O") -smiles(R"[C@H](C(=O)NCC(=O)N)(NC(=O)CC[C@@H](C(=O)[O-])[NH3+])CS") -smiles(R"[C@H](C(=O)NCC(=O)N)(NC(=O)CC[C@@H](C(=O)[O-])[NH3+])CSSC[C@@H](C(=O)NCC(=O)N)NC(=O)CC[C@@H](C(=O)[O-])[NH3+]") -smiles(R"[C@@H](C(=O)NCC(=O)[O-])(CS)[NH3+]") -smiles(R"[C@H](C(=O)NCC(=O)[O-])(NC(=O)CC[C@@H](C(=O)[O-])[NH3+])CSC=O") -smiles(R"[C@@H](C(=O)N[C@@H](CCC(=O)N[C@@H](CCC(=O)[O-])C(=O)[O-])C(=O)[O-])(C)OP(=O)(OC[C@H]([C@H]([C@H](CN1c2c(Cc3c1cc(cc3)O)c(=O)[nH]c(=O)[nH]2)O)O)O)[O-]") -smiles(R"[C@@H](C(=O)[O-])(CCC[C@@H](C(=O)[O-])[NH3+])[NH3+]") -smiles(R"[C@@H](C(=O)[O-])(CCC[C@H](C(=O)[O-])[NH3+])[NH3+]") -smiles(R"[C@@H](C(=O)[O-])(CC(=C)Cl)[NH3+]") -smiles(R"[C@@H](C(=O)[O-])(CCCCN(C(=O)C)O)NC(=O)CC(CC(=O)N[C@H](C(=O)[O-])CCCCN(C(=O)C)O)(C(=O)[O-])O") -smiles(R"[C@@H](C(=O)[O-])(CC[C@H](C[NH3+])OP(=O)([O-])[O-])[NH3+]") -smiles(R"[C@H](C(=O)[O-])(CCC(=O)N[C@H](CCC[C@@H](C(=O)[O-])[NH3+])C(=O)N[C@@H](C(=O)[O-])C)NC(=O)[C@H](C)[NH3+]") -smiles(R"[C@H](C(=O)[O-])(CCC(=O)N[C@H](CCC[C@@H](C(=O)[O-])[NH3+])C(=O)[O-])NC(=O)[C@H](C)[NH3+]") -smiles(R"[C@@H](C(=O)[O-])(CCC=O)[NH3+]") -smiles(R"[C@@H](C(=O)[O-])(CC[NH3+])[NH3+]") -smiles(R"[C@H](C(=O)[O-])(CC(=O)C(=O)[O-])O") -smiles(R"[C@H](C(=O)[O-])([C@H](CCC(=O)[O-])C(=O)[O-])O") -smiles(R"[C@@H](C(=O)[O-])([C@H](CC(=O)[O-])C(=O)[O-])O") -smiles(R"[C@H](C(=O)[O-])([C@H](C(=O)[O-])[NH3+])O") -smiles(R"[C@H](C=O)(O)[C@H](O)[C@H](CO)O") -smiles(R"[C@@H](C(=O)[O-])(C[NH3+])C") -smiles(R"[C@H](C(=O)[O-])(C[NH3+])C") -smiles(R"[C@@H](C(=O)[O-])(CO)C") -smiles(R"[C@H](COP(=O)(OC[C@H](CO)O)[O-])(CO)O") -smiles(R"[C@H](C[Se]C)(C(=O)[O-])[NH3+]") -smiles(R"[C@H](CS(=O)[O-])(C(=O)[O-])[NH3+]") -smiles(R"[C@@H](NC(=O)C)(Cc1c[nH]c2c1cccc2)C(=O)[O-]") -smiles(R"[C@@H](NC=O)(C(=O)[O-])CC(=O)[O-]") -smiles(R"[C@@H](O)(CO)C") -smiles(R"[C@H](O)(CO)C") -smiles(R"[C@@H](OC(=O)CCCCCCCCCCCCCCC)(C[N+](C)(C)C)CC(=O)[O-]") -smiles(R"[C@H](O)(CO)C(CO)(O)CO") -smiles(R"CI") -smiles(R"[Cl-]") -smiles(R"Clc1c(c(c(cc1)Cl)O)O") -smiles(R"ClCCCl") -smiles(R"ClC(=CCl)Cl") -smiles(R"ClC(=C(Cl)Cl)Cl") -smiles(R"ClCCl") -smiles(R"C(Nc1ccccc1C(=O)[O-])C(=O)[C@H](O)[C@H](O)COP(=O)([O-])[O-]") -smiles(R"C([N+](C)(C)C)COP(=O)([O-])[O-]") -smiles(R"C([N+](C)(C)C)COS(=O)(=O)[O-]") -smiles(R"C(#N)C(C)(O)C") -smiles(R"C[N+](CC=O)(C)C") -smiles(R"CN(CC(=O)[O-])C(=[NH2+])N") -smiles(R"C(#N)[C@@H](O)c1ccc(cc1)O") -smiles(R"C(#N)[C@H](O[C@H]1[C@H](O)[C@@H](O)[C@H](O)[C@H](O1)CO)c1ccccc1") -smiles(R"C(#N)[C@H](O[C@H]1[C@H](O)[C@@H](O)[C@H](O)[C@H](O1)CO)c1ccc(cc1)O") -smiles(R"C(#N)[C@H](O[C@H]1[C@H](O)[C@@H](O)[C@H](O)[C@H](O1)CO[C@H]1[C@H](O)[C@@H](O)[C@H](O)[C@H](O1)CO)c1ccccc1") -smiles(R"C(#N)[C@H](O[C@H]1[C@H](O)[C@@H](O)[C@H](O)[C@H](O1)CO[C@@H]1[C@H](O)[C@@H](O)[C@@H](O)CO1)c1ccccc1") -smiles(R"C(#N)CNCC#N") -smiles(R"C(#N)CNCC(=O)[O-]") -smiles(R"C(NC(=[NH2+])N(C)C)CC[C@@H](C(=O)[O-])[NH3+]") -smiles(R"C(NC(=[NH2+])NC)CC[C@@H](C(=O)[O-])[NH3+]") -smiles(R"C(NC(=[NH2+])NCCC[C@@H](C(=O)[O-])[NH3+])(CC(=O)[O-])C(=O)[O-]") -smiles(R"C(NC(=[NH2+])N)CCC[NH3+]") -smiles(R"C(#N)C(O)c1ccc(cc1)O") -smiles(R"C(NC(=O)C)CCC=O") -smiles(R"C(NC(=O)N)CC[C@@H](C(=O)[O-])[NH3+]") -smiles(R"C(NC(=O)N)(NC(=O)N)C(=O)[O-]") -smiles(R"C(NC(=O)[O-])NC(=O)N") -smiles(R"C[NH2+]C") -smiles(R"C[NH2+]CCCC[NH3+]") -smiles(R"C[NH2+]CC(=O)[O-]") -smiles(R"C[NH2+]CCOP(=O)([O-])[O-]") -smiles(R"C(=[NH2+])(NCCC[C@H](C(=O)Nc1ccc(cc1)[N+](=O)[O-])NC(=O)c1ccccc1)N") -smiles(R"C(=[NH2+])(NCCC[C@H](C(=O)[O-])NC(=O)c1ccccc1)N") -smiles(R"C(=[NH2+])(NCCC[C@@H](C(=O)[O-])NC(=O)CCC(=O)[O-])N") -smiles(R"C(=[NH2+])(NCCC[C@@H](C(=O)[O-])[NH2+][C@H](C)C(=O)[O-])N") -smiles(R"C(=[NH2+])(NCCC[C@@H](C(=O)[O-])[NH3+])NP(=O)([O-])[O-]") -smiles(R"C(=[NH2+])(NCCC[C@H](N1CCC1=O)C(=O)[O-])N") -smiles(R"C(=[NH2+])(NCC[C@H]([C@H](N1CCC1=O)C(=O)[O-])O)N") -smiles(R"C(=[NH2+])(NCCOP(=O)(OC)[O-])NP(=O)([O-])[O-]") -smiles(R"C(=[NH2+])(N[C@H]1[C@@H]([C@H]([C@@H]([C@H]([C@@H]1O)O)O)O)O)N") -smiles(R"C(=[NH2+])(N[C@H]1[C@@H]([C@H]([C@@H]([C@H]([C@@H]1O)O)OP(=O)([O-])[O-])O)O)N") -smiles(R"C(=[NH2+])N[C@H](C(=O)[O-])CC(=O)[O-]") -smiles(R"C(=[NH2+])(NC)N") -smiles(R"C(=[NH2+])(N)NCCCCNP(=O)([O-])[O-]") -smiles(R"C(=[NH2+])(N)NCCCC(=O)[O-]") -smiles(R"C[NH+](C)C") -smiles(R"C(=[NH+]\CCC[NH3+])/CCC[NH3+]") -smiles(R"C(#N)N") -smiles(R"C(#N)[O-]") -smiles(R"C(=N\O)(/c1ccc(cc1)OCC[C@H](C(=O)[O-])[NH3+])\C(=O)N[C@H]1CN(C1=O)[C@H](c1ccc(cc1)O)C(=O)[O-]") -smiles(R"C(=N\O)/C(C)C") -smiles(R"C(=N\O)/CCCCCCCCSC") -smiles(R"C(=N\O)/CCCCCCCSC") -smiles(R"C(=N\O)/CCCCCCSC") -smiles(R"C(=N\O)/CCCCCSC") -smiles(R"C(=N\O)/CCCCSC") -smiles(R"C(=N\O)(\C(=O)[O-])/C") -smiles(R"C=O") -smiles(R"CO") -smiles(R"[Co+2]") -smiles(R"[Co-3]1234(N5C6=C(C7=[N+]3C(=CC3=[N+]2C(=C(C2=[N+]1[C@]([C@H]5[C@H](CC(=O)N)[C@@]6(C)CCC(=O)NC[C@H](OP(=O)(O[C@@H]1[C@H](O[C@H](n5c[n+]4c4c5cc(c(c4)C)C)[C@@H]1O)CO)[O-])C)(C)[C@]([C@@H]2CCC(=O)N)(CC(=O)N)C)C)[C@](C)([C@@H]3CCC(=O)N)CC(=O)N)C([C@@H]7CCC(=O)N)(C)C)C)C[C@H]1O[C@@H](n2c3ncnc(N)c3nc2)[C@@H]([C@@H]1O)O") -smiles(R"[Co-3]1234(N5C6=C(C7=[N+]3C(=CC3=[N+]2C(=C(C2=[N+]1[C@]([C@H]5[C@H](CC(=O)N)[C@@]6(C)CCC(=O)NC[C@H](OP(=O)(O[C@@H]1[C@H](O[C@H](n5c[n+]4c4c5cc(c(c4)C)C)[C@@H]1O)COP(=O)([O-])[O-])[O-])C)(C)[C@]([C@@H]2CCC(=O)N)(CC(=O)N)C)C)[C@](C)([C@@H]3CCC(=O)N)CC(=O)N)C([C@@H]7CCC(=O)N)(C)C)C)C[C@H]1O[C@@H](n2c3ncnc(N)c3nc2)[C@@H]([C@@H]1O)O") -smiles(R"C(O)C1=CCC(CC1)C(=C)C") -smiles(R"C(=O)(c1c(c(c(cc1)C(C)C)O)O)[O-]") -smiles(R"C(=O)(c1ccc(cc1)N1C=[N+]2[C@@H](C1)CNc1c2c(=O)[nH]c(n1)N)N[C@H](C(=O)[O-])CCC(=O)[O-]") -smiles(R"C(=O)(c1ccc(cc1)N1CN2[C@@H](C1)CNc1c2c(=O)[nH]c(n1)N)N[C@H](C(=O)[O-])CCC(=O)[O-]") -smiles(R"C(=O)(c1cc(ccc1)O)c1c(cc(cc1O)O)O") -smiles(R"C(=O)(c1ccc(cc1)O)C(=O)[O-]") -smiles(R"C(=O)([C@@]1(C[C@@H]([C@H]([C@H]([C@@H]([C@@H](CO)O)O)O1)NC(=O)C)OC(=O)C)O)[O-]") -smiles(R"C(=O)(c1c(cnc(c1O)C)C(=O)[O-])[O-]") -smiles(R"COc1c(O)c(cc(c1)O)C/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)\C)\C)\C") -smiles(R"C(=O)(c1c(O)cc(cc1O)O)/C=C/c1ccc(c(c1)O)O") -smiles(R"C(=O)C#C") -smiles(R"C(=O)(C)c1ccccc1") -smiles(R"C(=O)Cc1ccc(c(c1)O)O") -smiles(R"C(=O)C(c1cc(c(cc1)O)O)O") -smiles(R"C(=O)CC#C") -smiles(R"C(=O)(C(Cc1cc(c(c(c1)I)[O-])I)O)[O-]") -smiles(R"C(=O)(/C=C/c1ccc(cc1)O)c1c(cc(cc1O)O[C@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)O") -smiles(R"C(=O)(/C=C/c1ccc(cc1)O)c1c(cc(cc1O)O)O") -smiles(R"C(=O)(/C=C/c1cc(c(c(c1)OC)OC(=O)[C@H](CC(=O)[O-])O)OC)[O-]") -smiles(R"C(=O)(/C=C/c1ccc(c(c1)O)O)c1c(cc(cc1O)O[C@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)O") -smiles(R"C(=O)(/C=C/c1ccc(cc1)O)O[C@@H]1O[C@@H]([C@H]([C@H](O)[C@H]1O)O)CO") -smiles(R"C(=O)(/C=C/c1cc(c(cc1)O)O)[O-]") -smiles(R"C(=O)(/C=C\c1cc(c(cc1)O)O)[O-]") -smiles(R"C(=O)(C(Cc1ccc(cc1)O)O)[O-]") -smiles(R"C(=O)(CC[C-]1NC=NC1=O)[O-]") -smiles(R"C(=O)(/C(=C/c1oc(cc1)[N+](=O)[O-])/c1occc1)N") -smiles(R"C(=O)(/C(=C\c1oc(cc1)[N+](=O)[O-])/c1occc1)N") -smiles(R"C(=O)/C(=C/C=C/C=C(/C=C/C=C(\C)/C=C/[C@@]12[C@@](C[C@H](CC1(C)C)O)(O2)C)\C)/C") -smiles(R"C(=O)/C(=C/C=C/C=C(/C=C/C=C(\C)/C=C=C1C(C[C@@H](C[C@]1(O)C)O)(C)C)\C)/C") -smiles(R"C(=O)(CCCCCCCCCCCC(CCCCCCCCC)O[C@H]1[C@H](O)[C@@H](O)[C@H](O)[C@H](O1)CO)[O-]") -smiles(R"C(=O)(CCCCCCC/C=C\C=C\CCCCCC)[O-]") -smiles(R"C(=O)(CCCCCCC/C=C\C/C=C\C/C=C\CC)[O-]") -smiles(R"C(=O)(CCCCCCC/C=C\CC#CCCCCC)[O-]") -smiles(R"C(=O)(CCCCCCCCCCCCCCCCC)[O-]") -smiles(R"C(=O)(CCCC/C=C\C/C=C\C/C=C\C/C=C\CC)SCCNC(=O)CCNC(=O)[C@@H](C(COP(=O)(OP(=O)(OC[C@H]1O[C@H]([C@@H]([C@@H]1OP(=O)([O-])[O-])O)n1c2c(nc1)c(ncn2)N)[O-])[O-])(C)C)O") -smiles(R"C(=O)(/C=C/CCCCCCCCCCCCC)[O-]") -smiles(R"C(=O)(CCCCCCC/C=C\CCCCCC)[O-]") -smiles(R"C(=O)(CCCCCCCCCCCCCCC)OC[C@H](COP(=O)([O-])[O-])O") -smiles(R"C(=O)(CCCCCCC/C=C\CCCC)[O-]") -smiles(R"C(=O)(CCCCCCCCCCCCC)[O-]") -smiles(R"C(=O)(CCCCCCC/C=C\C=C\[C@H](CCCCC)OO)[O-]") -smiles(R"C(=O)(CCCCCCCCCCC)[O-]") -smiles(R"C(=O)(CCCCCCC/C=C\[C@H](/C=C\CCCCC)OO)[O-]") -smiles(R"C(=O)(/C=C(/CC/C=C(/CC[C@@H]1[C@](CC)(O1)C)\C)\C)[O-]") -smiles(R"C(=O)(/C=C(/CC/C=C(/CC[C@@H]1[C@](CC)(O1)C)\C)\C)OC") -smiles(R"C(=O)(CCCCCCCC[C@@H](CCCCCCCC)O)[O-]") -smiles(R"C(=O)(CCCCCC/C=C/[C@@H](C/C=C\CCCCC)OO)[O-]") -smiles(R"C(=O)(CCCCCCCCC)[O-]") -smiles(R"C(=O)(CCCCCCC[C@H]1[C@H](C(=O)CC1)C/C=C\CC)[O-]") -smiles(R"C(=O)(CCCCCCC[C@@H](/C=C/C=C\C/C=C\CC)OO)[O-]") -smiles(R"C(=O)(CCCCCCC[C@@H](/C=C/C=C\CCCCC)OO)[O-]") -smiles(R"C(=O)(CCCCCCC[C@H](/C=C/C=C\CCCCC)OO)[O-]") -smiles(R"C(=O)(CCCCCCC[C@@H]([C@H](CCCCCCCC)O)O)[O-]") -smiles(R"C(=O)(CCCCCCC[C@@H]([C@H](CCCCCCCC)O)OP(=O)([O-])[O-])[O-]") -smiles(R"C(=O)(CCCCCCC[C@@H](OO)/C=C/C=C\C/C=C\CC)[O-]") -smiles(R"C(=O)(CCCCCC(C(C)[NH3+])[NH3+])[O-]") -smiles(R"C(=O)(CCCCCC/C=C/O/C=C/C=C\C/C=C\CC)[O-]") -smiles(R"C(=O)(CCCCCC/C=C/O/C=C/C=C\CCCCC)[O-]") -smiles(R"C(=O)(CCC/C=C\C[C@H]1[C@H](CC(=O)[C@@H]1/C=C/[C@H](CCCCC)O)O)[O-]") -smiles(R"C(=O)(CCCCCC[C@H]1C(=O)C[C@H]([C@@H]1/C=C/C(=O)CCCCC)O)[O-]") -smiles(R"C(=O)(CCCCCC[C@H](/C=C\C/C=C\CCCCC)OO)[O-]") -smiles(R"C(=O)(CCCCCCC)[O-]") -smiles(R"C(=O)/C(=C/CCC(C=C)(O)C)/C") -smiles(R"C(=O)C/C=C/C=C(/CO)\C") -smiles(R"C(=O)(/C(=C/C=C(/CC(=O)[O-])\C=O)/O)[O-]") -smiles(R"C(=O)(C(CCC(C)[NH3+])[NH3+])[O-]") -smiles(R"C(=O)(/C(=C/C=C/C(=O)c1ccccc1)/O)[O-]") -smiles(R"C(=O)(/C(=C/C=C/C(=O)CCC(=O)[O-])/O)[O-]") -smiles(R"C(=O)(/C=C/C(=C\C(=O)C(=O)[O-])/[N+](=O)[O-])[O-]") -smiles(R"C(=O)(C(CC(C(C(=O)COP(=O)([O-])[O-])O)O)[NH3+])[O-]") -smiles(R"C(=O)(/C(=C\C=C/C=O)/N)[O-]") -smiles(R"C(=O)(/C=C(\C=C(/C(=O)[O-])\Cl)/Cl)[O-]") -smiles(R"C(=O)(/C(=C/C=C/C(=O)[O-])/N)[O-]") -smiles(R"C(=O)(/C=C\C=C/C(=O)[O-])[O-]") -smiles(R"C(=O)(/C(=C/C=C/C=O)/O)[O-]") -smiles(R"C(=O)(C(=C)CCC(=O)[O-])[O-]") -smiles(R"C(=O)(C(CCCC(=O)[O-])O)[O-]") -smiles(R"C(=O)C(C(C(C(C)O)O)O)O") -smiles(R"C(=O)(C(C(C(C(C(=O)[O-])O)O)O)OC(=O)/C=C/c1ccc(c(c1)OC)O)[O-]") -smiles(R"C(=O)C(C(C(C(COP(=O)([O-])[O-])O)O)O)NC(=O)C") -smiles(R"C(=O)(CCC[C@@H](CC[C@H](/C=C\C/C=C\CCCCC)O)O)[O-]") -smiles(R"C(=O)(CCC[C@@H](C(=O)[O-])[NH3+])N[C@H](C(=O)N[C@@H](C(=O)[O-])C(C)C)CS") -smiles(R"C(=O)(/C(=C/C)/C)O[C@@H]1C[C@H]2[NH+](C[C@@H]3C[C@H]2CN2C(=O)CCC[C@H]32)CC1") -smiles(R"C(=O)(CCCC=O)[O-]") -smiles(R"C(=O)(CCCC(=O)[O-])C") -smiles(R"C(=O)(C[C@@](CCO)(O)C)[O-]") -smiles(R"C(=O)(CCC(C(=O)[O-])C=O)[O-]") -smiles(R"C(=O)(/C=C(\CC(=O)[O-])/C(=O)OC)[O-]") -smiles(R"C(=O)(/C=C/CC(=O)[O-])[O-]") -smiles(R"C(=O)CC(CC(=O)[O-])(O)C") -smiles(R"C(=O)(CC(CC(=O)[O-])(O)C)[O-]") -smiles(R"C(=O)(C[C@@](CCOP(=O)([O-])[O-])(O)C)[O-]") -smiles(R"C(=O)(C[C@@](CCOP(=O)([O-])OP(=O)([O-])[O-])(O)C)[O-]") -smiles(R"C(=O)(CC[C@@H]1NC=NC1=O)O") -smiles(R"C(=O)(CC[C@@H](C(=O)[O-])NC=O)[O-]") -smiles(R"C(=O)(CCCNC(=[NH2+])N)N") -smiles(R"C(=O)(/C(=C/C)/[NH2+])[O-]") -smiles(R"C(=O)(/C=C/C)[O-]") -smiles(R"C(=O)C#CCO") -smiles(R"C(=O)(/C=C/C(=O)CC(=O)CC(=O)[O-])[O-]") -smiles(R"C(=O)(C(CC(=O)C)[NH3+])[O-]") -smiles(R"C(=O)(C(C(C)(O)C)O)[O-]") -smiles(R"C(=O)(C(C)(C)O)C(=O)[O-]") -smiles(R"C(=O)(C(CC=O)CO)[O-]") -smiles(R"C(=O)(CCC(=O)N)C(=O)[O-]") -smiles(R"C(=O)(C(C)C=O)[O-]") -smiles(R"C(=O)CCC(=O)[O-]") -smiles(R"C(=O)(/C(=C\C(=O)[O-])/C(C)C)[O-]") -smiles(R"C(=O)(/C(=C(/C(=O)[O-])\C=C\C=O)/N)[O-]") -smiles(R"C(=O)(C(C(C(=O)[O-])CCC)O)[O-]") -smiles(R"C(=O)(/C(=C(/C(=O)[O-])\C=C\C=O)/O)[O-]") -smiles(R"C(=O)(/C(=C(\C(=O)[O-])/C)/C)[O-]") -smiles(R"C(=O)([C@](CC(=O)[O-])(CC)O)[O-]") -smiles(R"C(=O)(/C(=C/C(=O)[O-])/CC(=O)OC)[O-]") -smiles(R"C(=O)(/C=C\C(=O)[O-])N") -smiles(R"C(=O)(/C=C\C(=O)[O-])NC=O") -smiles(R"C(=O)(/C=C\C(=O)[O-])[O-]") -smiles(R"C(=O)(C#CC(=O)[O-])[O-]") -smiles(R"C(=O)(C(C(C(=O)[O-])O)CC)[O-]") -smiles(R"C(=O)(C(CC(=O)[O-])OCC(=O)[O-])[O-]") -smiles(R"C(=O)(CC(C(=O)[O-])O)[O-]") -smiles(R"C(=O)(C(CCP(=O)(C)[O-])NC(=O)C)[O-]") -smiles(R"C(=O)(C(CCP(=O)(C)[O-])[NH3+])[O-]") -smiles(R"C(=O)(C[C@H](CCC[NH3+])[NH3+])[O-]") -smiles(R"C(=O)(C[C@H](C(C)C)[NH3+])[O-]") -smiles(R"C(=O)(C[C@H](C[C@H](C)[NH3+])[NH3+])[O-]") -smiles(R"C(=O)(C[C@@H]([C@H]([C@@H](CO)O)O)O)[O-]") -smiles(R"C(=O)[C@@]([C@@H]([C@@H](CO)O)O)(O)CO") -smiles(R"C(=O)[C@@]([C@@H]([C@@H](CO)O)O)(O)COP(=O)([O-])[O-]") -smiles(R"C(=O)(C[C@@H](C)O)[O-]") -smiles(R"C(=O)(C[C@H](C)O)[O-]") -smiles(R"C(=O)C([C@H](C(=O)[O-])O)(C)C") -smiles(R"C(=O)(C[C@@H](C(=O)[O-])O)[O-]") -smiles(R"C(=O)(C[C@H](C(=O)[O-])O)[O-]") -smiles(R"C(=O)C[C@@H](O)[C@H](O)[C@H](O)CO") -smiles(R"C(=O)C[C@@H](O)[C@H](O)[C@H](O)COP(=O)([O-])[O-]") -smiles(R"C(=O)CCl") -smiles(R"C(=O)(CCl)[O-]") -smiles(R"C(=O)(C=C)N") -smiles(R"C(=O)(CCNC(=[NH2+])N)[O-]") -smiles(R"C(=O)(/C(=C\NC(=O)C)/C(C(=O)[O-])CO)[O-]") -smiles(R"C(=O)(/C(=C\NC(=O)C)/CC(=O)[O-])[O-]") -smiles(R"C(=O)(CCNC(=O)[C@@H](NC(=O)CC[C@@H](C(=O)[O-])[NH3+])CS)[O-]") -smiles(R"C(=O)(CCNC(=O)C)[O-]") -smiles(R"C(=O)(/C=C\NC(=O)N)[O-]") -smiles(R"C(=O)(CCNC(=O)N)[O-]") -smiles(R"C(=O)(/C=C\NC(=O)N)OO") -smiles(R"C(=O)(CC(=N)C(=O)[O-])[O-]") -smiles(R"C(=O)(C(C)[NH2+]C(C(=O)[O-])C)[O-]") -smiles(R"C(=O)(C)C[NH3+]") -smiles(R"C(=O)(CC([NH3+])c1ccc(cc1)O)[O-]") -smiles(R"C(=O)(/C=C\N)[O-]") -smiles(R"C(=O)(/C=C\N)OO") -smiles(R"C(=O)(/C=C/[N+](=O)[O-])[O-]") -smiles(R"C(=O)(C)C=O") -smiles(R"C(=O)(C)CO") -smiles(R"C(=O)(CC(=O)c1ccc(cc1)O)c1c(cc(cc1)O)O") -smiles(R"C(=O)(CC(=O)c1ccc(cc1)O)c1c(cc(cc1)O)OC") -smiles(R"C(=O)(C(CO)c1ccccc1)O[C@H]1C[C@@H]2C[C@@H]([C@H](C1)[NH+]2C)O") -smiles(R"C(=O)(CC(=O)C)C") -smiles(R"C(=O)(CC(=O)CCC)CCC") -smiles(R"C(=O)(CC(=O)CCCCCCCCC)[O-]") -smiles(R"C(=O)(CC(=O)CCC(=O)[O-])[O-]") -smiles(R"C(=O)(C(C(=O)CCC(=O)[O-])O)[O-]") -smiles(R"C(=O)(CC(=O)C[C@H](C)[NH3+])[O-]") -smiles(R"C(=O)(CC(=O)[C@@H]([C@@H](CO)O)O)[O-]") -smiles(R"C(=O)([C@](C(=O)C)(O)C)[O-]") -smiles(R"C(=O)(C(C(=O)C)(O)C)[O-]") -smiles(R"C(=O)(CC(=O)NC(=O)N)[O-]") -smiles(R"C(=O)(C(CO)[NH3+])[O-]") -smiles(R"C(=O)(CCO)[O-]") -smiles(R"C(O)C(CO)O") -smiles(R"C(=O)(CC(=O)OCC)CCC") -smiles(R"C(=O)(CC(=O)[O-])[O-]") -smiles(R"C(=O)(C(C(=O)[O-])O)[O-]") -smiles(R"C(=O)(C(CS)CS)[O-]") -smiles(R"C(=O)(C(CS)[NH3+])[O-]") -smiles(R"C(O[C@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)(CO)CO") -smiles(R"C(=O)([C@H](Cc1ccccc1)NC(=O)C)[O-]") -smiles(R"C(=O)([C@H](Cc1ccccc1)NP(=O)(OC[C@H]1O[C@H]([C@@H]([C@@H]1O)O)n1c2c(c(ncn2)N)nc1)[O-])[O-]") -smiles(R"C(=O)([C@H](Cc1ccc(cc1)O)N)OC") -smiles(R"C(=O)([C@@H](Cc1ccc(cc1)O)O)[O-]") -smiles(R"C(=O)([C@H](Cc1ccc(cc1)OP(=O)([O-])[O-])[NH3+])[O-]") -smiles(R"C(=O)([C@H](Cc1ccc(cc1)OS(=O)(=O)[O-])N)OC") -smiles(R"C(=O)([C@H](Cc1c[nH]c2c1cccc2)[NH3+])N") -smiles(R"C(=O)([C@H](Cc1[nH]cnc1)NC(=O)C)[O-]") -smiles(R"C(=O)([C@@H](CCCCCCCCCCCCCCCC)O)[O-]") -smiles(R"C(=O)([C@H](CCCCCCCCCCCCCCCC)O)[O-]") -smiles(R"C(=O)([C@H](CCCC[NH3+])NC(=O)C)[O-]") -smiles(R"C(=O)([C@H](CCC)[NH2+][C@H](C)C(=O)[O-])[O-]") -smiles(R"C(=O)([C@H](CCC(=O)NCC)[NH3+])[O-]") -smiles(R"C(=O)([C@H](CCC(=O)N)NC(=O)Cc1ccccc1)[O-]") -smiles(R"C(=O)([C@H](CCC(=O)[O-])[NH2+]C)[O-]") -smiles(R"C(=O)([C@H](CCC(=O)OP(=O)([O-])[O-])NC(=O)C)[O-]") -smiles(R"C(=O)([C@H](CCC(=O)OP(=O)([O-])[O-])[NH3+])[O-]") -smiles(R"C(=O)([C@@H](CCl)[NH3+])[O-]") -smiles(R"C(=O)([C@H](CCl)[NH3+])[O-]") -smiles(R"C(=O)([C@H](CC#N)N)[O-]") -smiles(R"C(=O)([C@@H](C(CO)(C)C)O)NCCC(=O)NCCS") -smiles(R"C(=O)([C@@H](C(C)(O)C)O)[O-]") -smiles(R"C(=O)([C@H](CC[Se]C)[NH3+])[O-]") -smiles(R"C(=O)([C@@H]([C@H](CC(=O)C(=O)[O-])O)O)[O-]") -smiles(R"C(=O)[C@@H]([C@H]([C@@H](CC(=O)[O-])O)O)O") -smiles(R"C(=O)[C@@H]([C@@H]([C@H]([C@H](CO)O)O)O)NC(=O)C") -smiles(R"C(=O)([C@@H]([C@H]([C@H]([C@@H](C)O)O)O)O)[O-]") -smiles(R"C(=O)([C@H]([C@@H]([C@@H]([C@H](C)O)O)O)O)[O-]") -smiles(R"C(=O)([C@@H]([C@H]([C@@H]([C@@H](CO)O)O)O)O)[O-]") -smiles(R"C(=O)([C@H]([C@@H]([C@@H]([C@@H](CO)O)O)O)O)[O-]") -smiles(R"C(=O)([C@H]([C@@H]([C@@H]([C@H](C=O)O)O)O)O)[O-]") -smiles(R"C(=O)([C@H]([C@@H]([C@@H]([C@H](C(=O)[O-])O)O)O)O)[O-]") -smiles(R"C(=O)([C@@H]([C@H]([C@@H]([C@H](O)CO)O)O)NC(=O)C)[O-]") -smiles(R"C(=O)([C@@H]([C@H]([C@@H]([C@H](O)CO)O)O)[NH3+])[O-]") -smiles(R"C(=O)[C@H]([C@H]([C@@H]([C@H](O)C(=O)[O-])O)O)O") -smiles(R"C(=O)[C@@H]([C@@H]([C@@H]([C@H](O)COP(=O)([O-])[O-])O)O)O") -smiles(R"C(=O)[C@@H]([C@H]([C@@H]([C@H](O)COP(=O)([O-])[O-])O)O)OP(=O)([O-])[O-]") -smiles(R"C(=O)[C@@H]([C@H]([C@@H]([C@H](O)COS(=O)(=O)[O-])O)O)NS(=O)(=O)[O-]") -smiles(R"C(=O)[C@@H]([C@H]([C@@H]([C@H](O)COS(=O)(=O)[O-])O)O)O") -smiles(R"C(=O)([C@@H]([C@H]([C@@H](C(=O)CO)O)O)O)[O-]") -smiles(R"C(O)[C@@H]([C@H]([C@@H](C(=O)C(=O)[O-])O)O)O") -smiles(R"C(=O)([C@@H]([C@@H]([C@H](C)O)O)O)CO") -smiles(R"C(=O)[C@@H]([C@@H]([C@H](CO)O)O)O") -smiles(R"C(=O)[C@H]([C@H]([C@@H](CO)O)O)O") -smiles(R"C(=O)([C@@H]([C@@H]([C@@H](CO)O)O)O)[O-]") -smiles(R"C(=O)([C@@H]([C@H]([C@H](CO)O)O)O)[O-]") -smiles(R"C(=O)([C@@H]([C@H](C)O)C)OCc1ccccc1") -smiles(R"C(=O)([C@H]([C@@H](C(=O)N)O)[NH3+])[O-]") -smiles(R"C(=O)([C@@H]([C@@H](C(=O)[O-])C(C)C)O)[O-]") -smiles(R"C(=O)([C@H]([C@@H](C(=O)[O-])C)[NH3+])[O-]") -smiles(R"C(=O)([C@@H]([C@H](CO)O)O)[O-]") -smiles(R"C(=O)([C@H]([C@@H](C)OP(=O)([O-])[O-])[NH3+])[O-]") -smiles(R"C(=O)[C@H]([C@H](O)[C@@H]([C@H](C=O)O)O)O") -smiles(R"C(O)[C@H]([C@@H](O)[C@@H]([C@H](CO)O)O)O") -smiles(R"C(=O)([C@H]([C@H](O)[C@@H]([C@H](O)COP(=O)([O-])[O-])O)O)CO") -smiles(R"C(=O)[C@@H]([C@H](O)[C@H](O)COP(=O)([O-])[O-])O") -smiles(R"C(=O)([C@@H]([C@H](O)C)[NH3+])[O-]") -smiles(R"C(=O)([C@H]([C@@H](O)C)[NH3+])[O-]") -smiles(R"C(=O)([C@H](C)[NH3+])N[C@H](CCC(=O)[O-])C(=O)[O-]") -smiles(R"C(=O)([C@@H](C)[NH3+])N[C@@H](C(=O)[O-])CO") -smiles(R"C(=O)([C@H](C=O)C)[O-]") -smiles(R"C(=O)([C@@H](C(=O)CO)O)[O-]") -smiles(R"C(=O)([C@H](C(=O)COP(=O)([O-])[O-])N)[O-]") -smiles(R"C(=O)([C@@H](CO)[NH3+])[O-]") -smiles(R"C(=O)([C@H](CO)[NH3+])[O-]") -smiles(R"C(=O)([C@@H](C)O)[O-]") -smiles(R"C(=O)([C@H](C)O)[O-]") -smiles(R"C(=O)([C@@H](C(=O)[O-])C(C)C)C(=O)[O-]") -smiles(R"C(=O)([C@@H](CO)OP(=O)([O-])[O-])[O-]") -smiles(R"C(=O)([C@H](COP(=O)([O-])[O-])O)C") -smiles(R"C(=O)([C@@H](CS)[NH3+])[O-]") -smiles(R"C(=O)([C@H](CS)[NH3+])[O-]") -smiles(R"C(=O)([C@@H](NC(=O)CCNC(=O)[C@@H](C(CO)(C)C)O)CS)[O-]") -smiles(R"C(=O)([C@@H](NC(=O)CCNC(=O)[C@@H](C(COP(=O)([O-])[O-])(C)C)O)CS)[O-]") -smiles(R"C(=O)([C@@H](N)C=O)[O-]") -smiles(R"C(=O)([C@@H]([NH2+]C)C)[O-]") -smiles(R"C(=O)([C@@H]([NH2+][C@@H](C(=O)[O-])C)CCCC[NH3+])[O-]") -smiles(R"C(=O)([C@H]([NH3+])c1ccc(cc1)O)[O-]") -smiles(R"C(=O)([C@@H]([NH3+])CC1(C=CC(C=C1)O)C(=O)[O-])[O-]") -smiles(R"C(=O)([C@@H]([NH3+])CC1=CC(=O)C(=O)C=C1)[O-]") -smiles(R"C(=O)([C@@H]([NH3+])CCCCNC(=O)[C@H]([NH3+])[C@@H](CC[NH3+])C)[O-]") -smiles(R"C(=O)([C@@H]([NH3+])CCCCNC(=O)C)[O-]") -smiles(R"C(=O)([C@@H]([NH3+])CCCCNC(=O)N)[O-]") -smiles(R"C(=O)([C@@H]([NH3+])CCCC[NH2+][C@H](C(=O)[O-])CCC(=O)[O-])[O-]") -smiles(R"C(=O)([C@@H]([NH3+])CCCC[NH2+]C)[O-]") -smiles(R"C(=O)([C@@H]([NH3+])CCCCNO)[O-]") -smiles(R"C(=O)([C@@H]([NH3+])CCC)[O-]") -smiles(R"C(=O)([C@@H]([NH3+])CCSC[C@H]([NH3+])C(=O)[O-])[O-]") -smiles(R"C(=O)([C@@H]([NH3+])CC[S+](C)C)[O-]") -smiles(R"C(=O)([C@@H]([NH3+])CCS)[O-]") -smiles(R"C(=O)([C@@H]([NH3+])[C@@H](O)c1ccccc1)[O-]") -smiles(R"C(=O)([C@@H]([NH3+])Cn1nccc1)[O-]") -smiles(R"C(=O)([C@@H]([NH3+])CNC(=O)C(=O)[O-])[O-]") -smiles(R"C(=O)([C@@H]([NH3+])C)[O-]") -smiles(R"C(=O)([C@H]([NH3+])C)[O-]") -smiles(R"C(=O)([C@@H]([NH3+])COC(=O)C)[O-]") -smiles(R"C(=O)([C@@H]([NH3+])COC(=O)N)[O-]") -smiles(R"C(=O)([C@@H]([NH3+])CONC(=O)N)[O-]") -smiles(R"C(=O)([C@@H]([NH3+])COP(=O)(OCCNC(=[NH2+])N)[O-])[O-]") -smiles(R"C(=O)([C@@H]([NH3+])COP(=O)(OCCNC(=[NH2+])NP(=O)([O-])[O-])[O-])[O-]") -smiles(R"C(=O)([C@@H]([NH3+])COP(=O)([O-])OCC[NH3+])[O-]") -smiles(R"C(=O)([C@@H]([NH3+])COS(=O)(=O)[O-])[O-]") -smiles(R"C(=O)([C@@H]([NH3+])CSc1ccc(cc1)Br)[O-]") -smiles(R"C(=O)([C@@H]([NH3+])CSSC[C@@H](C(=O)[O-])[NH3+])[O-]") -smiles(R"C(=O)([C@@H](O)c1ccccc1)c1ccccc1") -smiles(R"C(=O)([C@H](O)c1ccccc1)c1ccccc1") -smiles(R"C(=O)([C@H](O)c1ccccc1)N") -smiles(R"C(=O)([C@H](O)C(CO)(C)C)[O-]") -smiles(R"C(=O)([C@H](O)C(COP(=O)([O-])[O-])(C)C)[O-]") -smiles(R"C(=O)[C@H](O[C@@H]1[C@H](O)[C@@H](O)[C@H](O)[C@H](O1)CO)[C@@H](O)[C@H](O)[C@H](O)CO") -smiles(R"C(=O)[C@H](O)[C@@H]([C@H](O)CSC)O") -smiles(R"C(O)[C@@H](O)C(=O)[C@H](O)[C@H](O)COP(=O)([O-])[O-]") -smiles(R"C(=O)[C@H](O)C(O)(CO)CO") -smiles(R"C(=O)([C@H](OP(=O)([O-])[O-])COP(=O)([O-])[O-])[O-]") -smiles(R"C(=O)(C)n1cc(c2c1cccc2)O") -smiles(R"C(=O)(C)Nc1cc2c(c3c(C2)cccc3)cc1") -smiles(R"C(=O)(CN(CC(=O)[O-])CC(=O)[O-])[O-]") -smiles(R"C(=O)(CNC(=[NH2+])N)[O-]") -smiles(R"C(=O)(CNC(=O)Cc1ccccc1)[O-]") -smiles(R"C(=O)(C([NH3+])CCS)[O-]") -smiles(R"C(=O)(C[NH3+])COP(=O)([O-])[O-]") -smiles(R"C(=O)(C([NH3+])CSSCC(C(=O)[O-])[NH3+])[O-]") -smiles(R"C(=O)(C[NH3+])[O-]") -smiles(R"C(O)C=O") -smiles(R"C(O)(CO)C") -smiles(R"C(=O)(C(=O)c1ccccc1)c1ccccc1") -smiles(R"C(=O)(C(O)c1ccccc1)c1ccccc1") -smiles(R"C(=O)(C(=O)C)C") -smiles(R"C(=O)(C(=O)Cc1cc(c(c(c1)I)Oc1cc(c(cc1)O)I)I)[O-]") -smiles(R"C(=O)(C(=O)Cc1cc(c(c(c1)I)[O-])I)[O-]") -smiles(R"C(=O)(C(=O)Cc1c[nH]c2c1cccc2)[O-]") -smiles(R"C(=O)(C(=O)Cc1[nH]cnc1)[O-]") -smiles(R"C(=O)(C(=O)C(CCCC(CCCC(CCCC(C)C)C)C)C)[O-]") -smiles(R"C(=O)(C(=O)CCCCCCCCCCCCCCCC)[O-]") -smiles(R"C(=O)(C(=O)CCCC)[O-]") -smiles(R"C(=O)(C(=O)/C=C/CC(=O)c1ccccc1)[O-]") -smiles(R"C(=O)(C(=O)CCCC(=O)c1ccccc1)[O-]") -smiles(R"C(=O)(C(=O)CCCC(=O)[O-])[O-]") -smiles(R"C(=O)(C(=O)CC(C)O)[O-]") -smiles(R"C(=O)(C(=O)CCC=O)[O-]") -smiles(R"C(=O)(C(=O)CCC(=O)[O-])[O-]") -smiles(R"C(=O)(C(=O)C[C@H]([C@H]([C@@H]([C@@H](CO)O)O)O)O)[O-]") -smiles(R"C(=O)(C(=O)C[C@H]([C@H]([C@@H]([C@@H](COP(=O)([O-])[O-])O)O)O)O)[O-]") -smiles(R"C(=O)(C(=O)C[C@@H]([C@H](C)O)O)[O-]") -smiles(R"C(=O)(C(=O)C[C@H]([C@@H](C)O)O)[O-]") -smiles(R"C(=O)(C(=O)C[C@H]([C@@H](CO)O)O)[O-]") -smiles(R"C(=O)(C(=O)C[C@@H]([C@@H](C(=O)[O-])O)O)[O-]") -smiles(R"C(=O)(C(=O)C[C@H]([C@@H](COP(=O)([O-])[O-])O)O)[O-]") -smiles(R"C(=O)(C(=O)C[C@@H]([C@H](O)C=O)O)[O-]") -smiles(R"C(OC(=O)C)C[N+](C)(C)C") -smiles(R"C(=O)(C(=O)C(CO)(C)C)[O-]") -smiles(R"C(=O)(C(=O)C(C(=O)[O-])O)[O-]") -smiles(R"C(=O)(C(=O)[C@H](CC)C)[O-]") -smiles(R"C(=O)(CO)[C@H](CC(=O)C(=O)[O-])O") -smiles(R"C(O)C(=O)[C@H]([C@@H](O)[C@@H](C(=O)[O-])O)O") -smiles(R"C(=O)(C(=O)[C@@H](COP(=O)([O-])[O-])O)[O-]") -smiles(R"C(O)C(=O)[C@H](O)[C@@H](O)[C@H](O)CO") -smiles(R"C(O)C(=O)[C@H](O)[C@@H](O)CO") -smiles(R"C(O)C(=O)[C@@H](O)[C@H](O)C(=O)C(=O)[O-]") -smiles(R"C(O)C(=O)[C@@H](O)[C@@H](O)COP(=O)([O-])[O-]") -smiles(R"C(O)C(=O)[C@H](O)[C@H](O)COP(=O)([O-])[O-]") -smiles(R"C(O)C(=O)[C@H](O)CO") -smiles(R"C(=O)(CO)CO") -smiles(R"C(O)C(O)C=O") -smiles(R"C(O)C(=O)C(O)C(O)C(O)C(O)CO") -smiles(R"C(=O)(C(O)C=O)[O-]") -smiles(R"C(=O)(CO)COP(=O)([O-])[O-]") -smiles(R"C(=O)(C(=O)[O-])CC=C") -smiles(R"C(=O)(C(=O)[O-])/C=C/CCC(=O)[O-]") -smiles(R"C(=O)(C(=O)[O-])CCC[C@@H](C(=O)[O-])NC(=O)C") -smiles(R"C(=O)(C(=O)[O-])CCC[C@@H](C(=O)[O-])[NH3+]") -smiles(R"C(=O)(C(=O)[O-])CC(CC)O") -smiles(R"C(=O)(C(=O)[O-])CCC[NH3+]") -smiles(R"C(=O)(C(=O)[O-])CCSC") -smiles(R"C(=O)(C(=O)[O-])C(=O)[O-]") -smiles(R"C(=O)(C(=O)[O-])[O-]") -smiles(R"C(=O)(COP(=O)([O-])[O-])[C@H](CO)O") -smiles(R"C(=O)(COP(=O)([O-])[O-])C=O") -smiles(R"C(=O)(COP(=O)([O-])[O-])[O-]") -smiles(R"C(=O)(CS(=O)(=O)[O-])C(=O)[O-]") -smiles(R"C(=O)(CS(=O)(=O)[O-])[O-]") -smiles(R"C(=O)=N") -smiles(R"C(=O)N") -smiles(R"C(=O)(NC1NC(=O)NC1=O)N") -smiles(R"CO/N=C/C(C)C") -smiles(R"C(=O)(N)CCCCCCC/C=C\CCCCCCCC") -smiles(R"C(=O)(NCCCC[NH2+]CCC[NH3+])C") -smiles(R"C(=O)(NCCC[NH2+]CCCC[NH2+]CCCNC(=O)C)C") -smiles(R"C(=O)(NCC(=O)[O-])OCc1ccccc1") -smiles(R"C(=O)(N[C@H]1[C@H](O[C@@H]([C@H]([C@@H]1O)O)CO)O[C@H]1[C@H](O)[C@@H](O)[C@@H]([C@H]([C@H]1O)O)O)[C@@H](NC(=O)C)CS") -smiles(R"C(=O)(N[C@H]1[C@H](O[C@@H]([C@H]([C@@H]1O)O)CO)O[C@H]1[C@H](O)[C@@H](O)[C@@H]([C@H]([C@H]1O)O)O)[C@@H](NC(=O)C)CS[As](=O)([O-])[O-]") -smiles(R"C(=O)(N[C@H]1[C@H](O[C@@H]([C@H]([C@@H]1O)O)CO)O[C@H]1[C@H](O)[C@@H](O)[C@@H]([C@H]([C@H]1O)O)O)[C@@H](NC(=O)C)CSC=O") -smiles(R"C(=O)(N[C@H]1[C@H](O[C@@H]([C@H]([C@@H]1O)O)CO)O[C@H]1[C@H](O)[C@@H](O)[C@@H]([C@H]([C@H]1O)O)O)[C@@H](NC(=O)C)CSCO") -smiles(R"C(=O)(N[C@H]1[C@H](O[C@@H]([C@H]([C@@H]1O)O)CO)O[C@H]1[C@H](O)[C@@H](O)[C@@H]([C@H]([C@H]1O)O)O)[C@@H](NC(=O)C)CSSC[C@@H](C(=O)N[C@H]1[C@H](O[C@@H]([C@H]([C@@H]1O)O)CO)O[C@H]1[C@H](O)[C@@H](O)[C@@H]([C@H]([C@H]1O)O)O)NC(=O)C") -smiles(R"C(=O)(N[C@H]1[C@H](O[C@@H]([C@H]([C@@H]1O)O)CO)O[C@H]1[C@H](O)[C@@H](O)[C@@H]([C@H]([C@H]1O)O)O)[C@@H]([NH3+])CS") -smiles(R"C(=O)(N[C@H]1NC(=O)NC1=O)N") -smiles(R"C(=O)(N[C@H](C(=O)[O-])O)N") -smiles(R"C(=O)(NCNC(=O)N)N") -smiles(R"C(=O)(NCO)N") -smiles(R"C(=O)(NC(=O)N)N") -smiles(R"C(=O)(N)N") -smiles(R"C(=O)(N)NO") -smiles(R"C(=O)(N)[O-]") -smiles(R"C(=O)=O") -smiles(R"C(=O)[O-]") -smiles(R"C(=O)([O-])CC") -smiles(R"C(=O)([O-])Cc1ccc(cc1)O") -smiles(R"C(=O)([O-])Cc1ccccc1O") -smiles(R"C(=O)([O-])CC1=CCC(=O)O1") -smiles(R"C(=O)([O-])Cc1ncn(c1)C1[C@H](O)[C@H](O)[C@H](O1)COP(=O)([O-])[O-]") -smiles(R"C(=O)([O-])CC1(OC(=O)C=C1)Cl") -smiles(R"C(=O)([O-])CC1(OC(=O)C(=C1)Cl)Cl") -smiles(R"C(=O)([O-])CCCC[NH3+]") -smiles(R"C(=O)([O-])C/C(=C/C(=O)[O-])/C(=O)[O-]") -smiles(R"C(=O)([O-])C/C(=C\C(=O)[O-])/C(=O)[O-]") -smiles(R"C(=O)(OC)C[C@@H]1[C@H](C(=O)CC1)C/C=C\CC") -smiles(R"C(=O)(OCC[C@@H](C(=O)[O-])[NH3+])CCC(=O)[O-]") -smiles(R"C(=O)([O-])CC([C@@H](C(=O)[O-])[NH3+])O") -smiles(R"C(=O)([O-])/C=C/C(=O)CC(=O)C(=O)[O-]") -smiles(R"C(=O)([O-])CCC(=O)C[NH3+]") -smiles(R"C(=O)([O-])C(CC(=O)[O-])(CC(=O)N[C@H](C(=O)[O-])CCCCN(O)C(=O)C)O") -smiles(R"C(=O)([O-])C(CC(=O)[O-])(CC(=O)[O-])O") -smiles(R"C(=O)([O-])[C@](CC(=O)[O-])(O)[C@@H](C(=O)[O-])C") -smiles(R"C(=O)([O-])C[C@H]1C(C(=C(C1)O)C)(C)C") -smiles(R"C(=O)([O-])C[C@H]1C(=O)C=C(C1(C)C)C") -smiles(R"C(=O)([O-])[C@H]1C(S[C@H]2N1C(=O)[C@H]2[NH3+])(C)C") -smiles(R"C(=O)([O-])[C@H](C(CCCC(CCCC(CCCC(C)C)C)C)C)O") -smiles(R"C(=O)([O-])[C@H](C)OP(=O)([O-])[O-]") -smiles(R"C(=O)([O-])[C@@H](NC(=O)CCC(=O)[O-])CCCNC(=O)N") -smiles(R"C(=O)([O-])[C@@H]([NH3+])Cn1c2c(nc1)c(ncn2)NC/C=C(\C)/CO") -smiles(R"C(=O)([O-])[C@H](OC(=O)/C=C/c1cc(c(cc1)O)O)[C@@H](O)[C@H](O)[C@H](O)C(=O)[O-]") -smiles(R"C(=O)([O-])CNC(=O)C[NH3+]") -smiles(R"C(=O)([O-])CN(C(=O)N)C") -smiles(R"C(=O)([O-])C[NH2+]CC") -smiles(R"C(=O)([O-])C[NH2+]CC(=O)[O-]") -smiles(R"C(=O)([O-])C([NH3+])(CO)C") -smiles(R"C(=O)([O-])CO") -smiles(R"C(=O)([O-])C(=O)C") -smiles(R"C(=O)([O-])C(=O)c1ccccc1") -smiles(R"C(=O)([O-])C(=O)NC(=O)N") -smiles(R"C(=O)([O-])C[S+](C)C") -smiles(R"C(=O)([O-])NC(=O)N") -smiles(R"C(OP(=O)(OC(C)C)[O-])(C)C") -smiles(R"C(OP(=O)([O-])[O-])[C@H]([C@@H](C(=O)C)O)O") -smiles(R"C(OP(=O)([O-])[O-])[C@H]([C@H](CO)O)O") -smiles(R"C(OP(=O)([O-])[O-])C(=O)[C@H]([C@@H](CC(=O)[O-])O)O") -smiles(R"C(=O)(SCCNC(=O)CCNC(=O)[C@@H](C(COP(=O)(OP(=O)(OC[C@H]1O[C@H]([C@@H]([C@@H]1OP(=O)([O-])[O-])O)n1c2c(nc1)c(ncn2)N)[O-])[O-])(C)C)O)CC(=O)CCCC/C=C\C/C=C\C/C=C\C/C=C\CC") -smiles(R"CS") -smiles(R"CSC") -smiles(R"C[S+](CC[C@H]([NH3+])C(=O)[O-])C[C@H]1O[C@H]([C@H](O)[C@@H]1O)n1cnc2c1ncnc2N") -smiles(R"CSCCC(=O)/C(=C/OP(=O)([O-])[O-])/O") -smiles(R"CSCCC(=O)C(=O)COP(=O)([O-])[O-]") -smiles(R"CSC#N") -smiles(R"C([SeH])[C@@H](C(=O)[O-])[NH3+]") -smiles(R"CS(=O)C") -smiles(R"[Cu+]") -smiles(R"[Cu+2]") -smiles(R"[F-]") -smiles(R"[Fe+2]") -smiles(R"[Fe+3]") -smiles(R"[H+]") -smiles(R"[Hg]") -smiles(R"[Hg+2]") -smiles(R"[H][H]") -smiles(R"[I-]") -smiles(R"Ic1cc(C[C@@H](C(=O)[O-])[NH3+])ccc1O") -smiles(R"II") -smiles(R"[K+]") -smiles(R"[Li+]") -smiles(R"[Mg+2]") -smiles(R"[Mn+2]") -smiles(R"[Mn+3]") -smiles(R"N12Cc3c(C[C@H]2c2c(CC1)cc(c(c2)O)OC)ccc1c3OCO1") -smiles(R"N12CCc3c(cc(c(c3)OC)O)[C@@H]2Cc2c(C1)c(c(cc2)OC)O") -smiles(R"N12CCc3c(cc(c(c3)OC)O)[C@@H]2Cc2c(C1)c(c(cc2)OC)OC") -smiles(R"N12[C@@H]([C@@H]3C[NH+]4[C@H]([C@H](C1)C3)CCCC4)CCCC2=O") -smiles(R"N12[C@@H]([C@@H]3C([NH+]4[C@H]([C@H](C1)C3)CCCC4)O)CCCC2=O") -smiles(R"N12[C@@H]([C@@H](C2=O)NC(=O)CCC[C@H](C(=O)[O-])[NH3+])SCC(=C1C(=O)[O-])C") -smiles(R"N12[C@@H]([C@@H](C2=O)NC(=O)CCC[C@H](C(=O)[O-])[NH3+])SCC(=C1C(=O)[O-])CO") -smiles(R"N12[C@@H]([C@@H](C2=O)NC(=O)CCC[C@H](C(=O)[O-])[NH3+])SCC(=C1C(=O)[O-])COC(=O)C") -smiles(R"N12[C@@H]([C@@H](C2=O)NC(=O)CCCC(=O)C(=O)[O-])SCC(=C1C(=O)[O-])COC(=O)C") -smiles(R"N12[C@@H]([C@@H](C2=O)NC(=O)CCCC(=O)[O-])SCC(=C1C(=O)[O-])COC(=O)C") -smiles(R"N12[C@H](C(=O)N3[C@](C1=O)([C@H](c1c4c(cc(cc4)OC)n4[C@@H](C=C(C)C)OOC(C[C@H]3c14)(C)C)OCC=C(C)C)O)CCC2") -smiles(R"N12[C@H](C(=O)N3[C@](C1=O)([C@H](c1c4c(cc(cc4)OC)n4[C@@H](C=C(C)C)OOC(C[C@H]3c14)(C)C)O)O)CCC2") -smiles(R"N12[C@H](C(=O)N3[C@](C1=O)([C@H](c1c4c([nH]c1[C@@H]3C=C(C)C)cc(cc4)OC)O)O)CCC2") -smiles(R"N12[C@H](C(=O)N3[C@](C1=O)([C@H](c1c(n(c4c1ccc(c4)OC)CC=C(C)C)[C@@H]3C=C(C)C)O)O)CCC2") -smiles(R"N12[C@H](C(=O)N3[C@H](C1=O)Cc1c4c([nH]c1[C@@H]3C=C(C)C)cc(cc4)OC)CCC2") -smiles(R"N12[C@H](C(=O)N[C@H](C1=O)Cc1c[nH]c3c1cccc3)CCC2") -smiles(R"N12[C@H](C(=O)N[C@H](C1=O)Cc1c([nH]c3c1cccc3)C(C=C)(C)C)CCC2") -smiles(R"N12[C@H](C(=O)N[C@H](C1=O)Cc1c([nH]c3c1cccc3)CC=C(C)C)CCC2") -smiles(R"N12[C@H](C(=O)N[C@H](C1=O)Cc1c([nH]c3c1ccc(c3)O)CC=C(C)C)CCC2") -smiles(R"N12[C@H](C(=O)N[C@H](C1=O)Cc1c([nH]c3c1ccc(c3)OC)CC=C(C)C)CCC2") -smiles(R"N12[C@@H](C(=O)[O-])C(S[C@@H]2[C@H](NC(=O)CCC[C@@H](C(=O)[O-])[NH3+])C1=O)(C)C") -smiles(R"N12[C@@H](C(=O)[O-])C(S[C@@H]2[C@H](NC(=O)CCC[C@H](C(=O)[O-])[NH3+])C1=O)(C)C") -smiles(R"N12[C@H](C(S[C@@H]2[C@H](NC(=O)Cc2ccccc2)C1=O)(C)C)C(=O)[O-]") -smiles(R"N12[C@H](SCC(=C1C(=O)[O-])COC(=O)C)[C@@H](C2=O)[NH3+]") -smiles(R"N1(c2c(c3c(C1)c1c(cc3OC)OCO1)cc(c1c2cc2c(c1)OCO2)O)C") -smiles(R"n1(c2c(c(ccc2)O)O)c(=O)c(c(cn1)N)Cl") -smiles(R"N1C2=C(C=C(C(=O)C2=O)CC([NH3+])C(=O)[O-])C(CC1C(=O)[O-])C(=O)[O-]") -smiles(R"n1c2c(c(=O)[nH]c1N)N([C@H](CN2)CNc1ccc(cc1)C(=O)N[C@H](C(=O)[O-])CCC(=O)[O-])C=O") -smiles(R"N1=C2[C@H]3N4[C@H]5C[C@]2(c2ccccc12)[C@@H](C5[C@H](C3)[C@@H](C=O)[C@@H]4C)OC(=O)C") -smiles(R"N1=C2[C@H]3N4[C@H]5C[C@]2(c2ccccc12)[C@@H](C5[C@H](C3)[C@@H](CO)[C@@H]4C)OC(=O)C") -smiles(R"n1(c2c(nc1)[C@@H](CNC=[NH+]2)O)[C@@H]1O[C@@H]([C@H]([C@H]1O)O)CO") -smiles(R"n1(c2c(nc1)c(NC(CC(=O)[O-])C(=O)[O-])ncn2)[C@@H]1O[C@@H]([C@H]([C@H]1O)O)COP(=O)([O-])[O-]") -smiles(R"n1(c2c(nc1)c(ncn2)N(C)C)[C@H]1[C@@H]([C@@H]([C@H](O1)CO)NC(=O)[C@H](Cc1ccc(cc1)OC)[NH3+])O") -smiles(R"n1(c2c(nc1)c(ncn2)N(C)C)[C@H]1[C@@H]([C@@H]([C@H](O1)CO)NC(=O)[C@H](Cc1ccc(cc1)O)[NH3+])O") -smiles(R"n1(c2c(nc1)c(ncn2)N)[C@H]1[C@@H]([C@@H]([C@H](O1)C)O)O") -smiles(R"n1(c2c(nc1)c(ncn2)N)[C@@H]1O[C@@H]([C@H]([C@H]1O)O)COP(=O)(N)[O-]") -smiles(R"n1(c2c(nc1)c(ncn2)N)[C@@H]1O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OC(=O)c1c(c(ccc1)O)O)[O-]") -smiles(R"n1(c2c(nc1)c(ncn2)N)[C@@H]1O[C@@H]([C@H]([C@H]1O)O)COP(=O)([O-])OC(=O)[C@H]([C@H](O)C)N") -smiles(R"n1(c2c(nc1)c(ncn2)N)[C@@H]1O[C@@H]([C@H]([C@H]1O)O)COP(=O)([O-])OC(=O)[C@H](CO)N") -smiles(R"n1(c2c(nc1)c(ncn2)N)[C@@H]1O[C@@H]([C@H]([C@H]1O)O)COP(=O)([O-])OC(=O)CN") -smiles(R"n1(c2c(nc1)c(ncn2)N)[C@@H]1O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OP(=O)(OC[C@H]1O[C@H]([C@@H]([C@@H]1O)O)[n+]1cc(ccc1)C(=O)N)[O-])[O-]") -smiles(R"n1(c2c(nc1)c(ncn2)N)[C@@H]1O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OP(=O)(OC[C@H]1O[C@H]([C@@H]([C@@H]1O)O)N1C=C(CC=C1)C(=O)N)[O-])[O-]") -smiles(R"n1(c2c(nc1)c(ncn2)N)[C@@H]1O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OP(=O)(OC[C@H]1O[C@H]([C@@H]([C@@H]1O)O)[n+]1cc(ccc1)C(=O)[O-])[O-])[O-]") -smiles(R"n1(c2c(nc1)c(ncn2)N)[C@@H]1O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OP(=O)(OC[C@H]1O[C@H]([C@@H]([C@@H]1O)O)N1C=C(CC[C@@H]1O)C(=O)N)[O-])[O-]") -smiles(R"n1(c2c(nc1)c(ncn2)N)[C@@H]1O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OP(=O)(OC[C@H]1O[C@H]([C@@H]([C@@H]1O)O)N1C=C(CC[C@H]1O)C(=O)N)[O-])[O-]") -smiles(R"n1(c2c(nc1)c(ncn2)N)[C@@H]1O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OP(=O)(OCC(OP(=O)([O-])[O-])C(=O)[O-])[O-])[O-]") -smiles(R"n1(c2c(nc1)c(ncn2)N)[C@@H]1O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OP(=O)([O-])O[C@H]1O[C@@H]([C@H]([C@H](O)[C@H]1O)O)CO)[O-]") -smiles(R"n1(c2c(nc1)c(ncn2)N)[C@@H]1O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OP(=O)(OP(=O)(OP(=O)(OC[C@H]1O[C@H]([C@@H]([C@@H]1O)O)n1c2c(nc1)c(ncn2)N)[O-])[O-])[O-])[O-]") -smiles(R"n1(c2c(nc1)c(ncn2)N)[C@@H]1O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OP(=O)(OP(=O)(OP(=O)([O-])[O-])[O-])[O-])[O-]") -smiles(R"n1(c2c(nc1)c(ncn2)N)[C@@H]1O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OP(=O)(OP(=O)(OP(=O)(OP(=O)([O-])[O-])[O-])[O-])[O-])[O-]") -smiles(R"n1(c2c(nc1)c(ncn2)N)[C@@H]1O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OS(=O)(=O)[O-])[O-]") -smiles(R"n1(c2c(nc1)c(ncn2)N)[C@@H]1O[C@@H]([C@H]([C@H]1O)O)C[Se+](CC[C@@H](C(=O)[O-])[NH3+])C") -smiles(R"n1(c2c(nc1)c(ncn2)N)[C@@H]1O[C@@H]([C@H]([C@H]1OP(=O)([O-])[O-])O)COP(=O)(OP(=O)(OC[C@H]1O[C@H]([C@@H]([C@@H]1O)O)[n+]1cc(ccc1)C(=O)N)[O-])[O-]") -smiles(R"n1(c2c(nc1)c(ncn2)N)[C@@H]1O[C@@H]([C@H]([C@H]1OP(=O)([O-])[O-])O)COP(=O)(OP(=O)(OC[C@H]1O[C@H]([C@@H]([C@@H]1O)O)N1C=C(CC=C1)C(=O)N)[O-])[O-]") -smiles(R"n1(c2c(nc1)c(ncn2)N)[C@@H]1O[C@@H]([C@H]([C@H]1OP(=O)([O-])[O-])O)COP(=O)(OP(=O)(OC[C@H]1O[C@H]([C@@H]([C@@H]1O)O)N1C=C(CC[C@@H]1O)C(=O)N)[O-])[O-]") -smiles(R"n1(c2c(nc1)c(ncn2)N)[C@@H]1O[C@@H]([C@H]([C@H]1OP(=O)([O-])[O-])O)COP(=O)(OP(=O)(OC[C@H]1O[C@H]([C@@H]([C@@H]1O)O)N1C=C(CC[C@H]1O)C(=O)N)[O-])[O-]") -smiles(R"n1(c2c(nc1)C(=O)CNC=N2)[C@@H]1O[C@@H]([C@H]([C@H]1O)O)CO") -smiles(R"n1(c2c(nc1)c(=O)[nH]cn2)[C@@H]1O[C@@H]([C@H](C1)O)COP(=O)([O-])[O-]") -smiles(R"n1(c2c(nc1)c(=O)[nH]cn2)[C@@H]1O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OP(=O)([O-])[O-])[O-]") -smiles(R"n1(c2c(nc1)c(=O)[nH]cn2)[C@@H]1O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OP(=O)(OP(=O)([O-])[O-])[O-])[O-]") -smiles(R"n1(c2c(nc1)c(=O)[nH]c(n2)N)[C@@H]1O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OP(=O)(O[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)[C@@H](CO)O)O)O)O)[O-])[O-]") -smiles(R"n1(c2c(nc1)c(=O)[nH]c(n2)N)[C@@H]1O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OP(=O)(O[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)C)O)O)O)[O-])[O-]") -smiles(R"n1(c2c(nc1)c(=O)[nH]c(n2)N)[C@@H]1O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OP(=O)(O[C@@H]1[C@H]([C@H]([C@H]([C@H](O1)C)O)O)O)[O-])[O-]") -smiles(R"n1(c2c(nc1)c(=O)[nH]c(n2)N)[C@@H]1O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OP(=O)(O[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)[O-])[O-]") -smiles(R"n1(c2c(nc1)c(=O)[nH]c(n2)N)[C@@H]1O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OP(=O)(O[C@@H]1[C@H]([C@H](C(=O)[C@H](O1)C)O)O)[O-])[O-]") -smiles(R"n1(c2c(nc1)c(=O)[nH]c(n2)N)[C@@H]1O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OP(=O)(OP(=O)(OP(=O)(OC[C@H]1O[C@H]([C@@H]([C@@H]1O)O)n1c2c(nc1)c(=O)[nH]c(n2)N)[O-])[O-])[O-])[O-]") -smiles(R"n1c2c(N=C(CN2)CN(c2ccc(cc2)C(=O)N[C@H](C(=O)[O-])CCC(=O)[O-])C=O)c(=O)[nH]c1N") -smiles(R"n1c2c(N=C(CN2)CNc2ccc(cc2)C(=O)N[C@H](C(=O)[O-])CCC(=O)[O-])c(=O)[nH]c1N") -smiles(R"n1c2c(N([C@H](CN2)CNc2ccc(cc2)C(=O)N[C@H](C(=O)[O-])CCC(=O)[O-])C=N)c(=O)[nH]c1N") -smiles(R"n1c2c(N[C@H](CN2)CN(c2ccc(cc2)C(=O)N[C@H](C(=O)[O-])CCC(=O)[O-])C=O)c(=O)[nH]c1N") -smiles(R"n1c2c(N[C@H](CN2)CNc2ccc(cc2)C(=O)N[C@H](C(=O)[O-])CCC(=O)[O-])c(=O)[nH]c1N") -smiles(R"N1c2c(Oc3c1c1c(c(c3)O)nc(cc1O)C(=O)[O-])cccc2C(=O)CC(C(=O)[O-])[NH3+]") -smiles(R"n1c2nccnc2c(nc1N)O") -smiles(R"[N+]1(=C(c2c(CC1)cc(c(c2)O)OC)Cc1cc(c(cc1)OC)O)C") -smiles(R"N1(C(c2ccc(cc2)O)C(=O)[O-])C(=O)[C@H](C1)NC(=O)/C(=N\O)/c1ccc(cc1)OCC[C@H](C(=O)[O-])[NH3+]") -smiles(R"N1/C(=C/c2[nH]c(c(c2C)CCC(=O)[O-])Cc2[nH]c(c(c2CCC(=O)O[C@H]2[C@@H]([C@H]([C@@H]([C@H](O2)C(=O)[O-])O)O)O)C)/C=C\2/NC(=O)C(=C2C=C)C)/C(=C(C1=O)C=C)C") -smiles(R"N1/C(=C/c2[nH]c(c(c2C)CCC(=O)O[C@H]2[C@@H]([C@H]([C@@H]([C@H](O2)C(=O)[O-])O)O)O)Cc2[nH]c(c(c2CCC(=O)O[C@H]2[C@@H]([C@H]([C@@H]([C@H](O2)C(=O)[O-])O)O)O)C)/C=C\2/NC(=O)C(=C2C=C)C)/C(=C(C1=O)C=C)C") -smiles(R"N1=CCCC1C(=O)[O-]") -smiles(R"N1=C(CC(C1)O)C(=O)[O-]") -smiles(R"[n+]1(ccc(c2ccccc12)NO)[O-]") -smiles(R"n1c(ccc2C(C(C=Cc12)O)O)O") -smiles(R"[n+]1(ccccc1)C") -smiles(R"[n+]1(ccccc1)Cc1cnc(nc1N)C") -smiles(R"[n+]1(cccc(c1C)CCO)Cc1cnc(nc1O)C") -smiles(R"[n+]1(cccc(c1)C(=O)N)C") -smiles(R"n1cccc(c1)C(=O)[O-]") -smiles(R"n1c(c(ccc1)C(=O)[O-])C(=O)[O-]") -smiles(R"n1c(cccc1C(=O)[O-])C(=O)[O-]") -smiles(R"n1c(cccc1)O") -smiles(R"N1C=C(CCC1=O)C(=O)[O-]") -smiles(R"n1(ccc(c(c1=O)C(=O)[O-])OC)C") -smiles(R"n1c(ccc(c1)O)O") -smiles(R"n1c(cccc1O)O") -smiles(R"n1cc(c(cc1)O)O") -smiles(R"n1c(c(ccc1O)O)O") -smiles(R"N1=CCCC[C@H]1C(=O)[O-]") -smiles(R"N1=C(C=CC[C@H]1C(=O)[O-])C(=O)[O-]") -smiles(R"n1c(ccc(C(=O)CCC[NH2+]C)c1O)O") -smiles(R"N1=CCC[C@@H]1C(=O)[O-]") -smiles(R"N1=CCC[C@H]1C(=O)[O-]") -smiles(R"n1cc(c(nc1C)N)C[NH3+]") -smiles(R"N1C[C@@H]([NH2+]CC1)C(=O)[O-]") -smiles(R"N1C[C@H]([NH2+]CC1)C(=O)[O-]") -smiles(R"n1c(C(=O)[O-])ccc2c1cccc2") -smiles(R"N1[C@H]2[C@H]3N4[C@H]5C[C@]2(c2ccccc12)[C@@H](C5[C@H](C3)[C@H](CC)[C@H]4O)OC(=O)C") -smiles(R"N1[C@H]2[C@H]3N4[C@H]5C[C@]2(c2ccccc12)[C@@H]([C@H]5[C@H](C3)[C@H](CC)[C@H]4O)O") -smiles(R"N1([C@H]2[C@H]3[NH+]4[C@H]5C[C@]2(c2ccccc12)[C@@H](C5[C@H](C3)[C@H](CC)[C@H]4O)O)C") -smiles(R"N1([C@H]2[C@H]3[NH+]4[C@H]5C[C@]2(c2ccccc12)[C@@H](C5[C@H](C3)[C@H](CC)[C@H]4O)OC(=O)C)C") -smiles(R"n1([C@H]2[C@@H]([C@@H]([C@H](O2)COP(=O)([O-])[O-])OP(=O)([O-])[O-])O)c2c(nc1)c(ncn2)N") -smiles(R"n1([C@H]2[C@@H]([C@@H]([C@H](O2)COP(=O)(OS(=O)(=O)[O-])[O-])OP(=O)([O-])[O-])O)c2c(nc1)c(ncn2)N") -smiles(R"n1([C@@H]2O[C@@H]([C@H](C2)O)COP(=O)([O-])[O-])c(=O)[nH]c(=O)cc1") -smiles(R"n1([C@@H]2O[C@@H]([C@H](C2)O)COP(=O)(OP(=O)(OP(=O)([O-])[O-])[O-])[O-])c(=O)nc(cc1)N") -smiles(R"n1([C@@H]2O[C@@H]([C@H](C2)O)COP(=O)(OP(=O)(OP(=O)([O-])[O-])[O-])[O-])c(=O)[nH]c(=O)cc1") -smiles(R"n1([C@@H]2O[C@@H]([C@H]([C@H]2O)O)COP(=O)([O-])[O-])c(c(nc1)C(=O)N)N") -smiles(R"n1([C@@H]2O[C@@H]([C@H]([C@H]2O)O)COP(=O)([O-])[O-])c(c(nc1)C(=O)N)NC=NCC(=O)[C@@H]([C@@H](COP(=O)([O-])[O-])O)O") -smiles(R"n1([C@@H]2O[C@@H]([C@H]([C@H]2O)O)COP(=O)([O-])[O-])c(c(nc1)C(=O)N)/N=C/N[C@@H]1O[C@@H]([C@H]([C@H]1O)O)COP(=O)([O-])[O-]") -smiles(R"N1([C@@H](c2c(CC1)cc(c(c2)O)OC)Cc1ccc(cc1)O)C") -smiles(R"N1[C@H](C(=O)NC1=O)CC(=O)[O-]") -smiles(R"n1(cnc2c(c1=N)ncn2[C@H]1[C@@H]([C@@H]([C@H](O1)CO)O)O)C") -smiles(R"n1cnc2c(c1N)ncn2[C@@H]1O[C@H]2[C@H]([C@H]1O)OP(=O)(OC2)[O-]") -smiles(R"n1(cncc1)C(=O)C") -smiles(R"n1cncc2NCCNc12") -smiles(R"n1c(nc(c2nccnc12)O)O") -smiles(R"n1c(nc(nc1NC(C)C)O)O") -smiles(R"n1c(nc(nc1N)N)N") -smiles(R"n1c(nc(nc1N)N)O") -smiles(R"n1c(nc(nc1O)O)N") -smiles(R"n1c(nc(nc1O)O)O") -smiles(R"n1c[nH]cc1CCC(=O)[O-]") -smiles(R"n1c([nH]cc1C[C@@H](C(=O)[O-])[NH3+])CC[C@H](C(=O)[O-])[N+](C)(C)C") -smiles(R"n1c([nH]cc1C[C@H]([NH3+])C(=O)[O-])CC[C@H](C(=O)N)[N+](C)(C)C") -smiles(R"n1c([nH]c(=O)c2c(c[nH]c12)C[NH3+])N") -smiles(R"n1c([nH]c(=O)c2c(c[nH]c12)C#N)N") -smiles(R"N1C(=O)C=CC1=O") -smiles(R"N1(C(=O)C=CC1=O)CC") -smiles(R"n1(c(=O)c(c(cn1)N)Cl)C(=O)/C(=C/C=C/C(=O)[O-])/[O-]") -smiles(R"N1(C(=O)[C@H](C1)NC(=O)/C(=N\O)/c1ccc(cc1)O)[C@@H](C(=O)[O-])c1ccc(cc1)O") -smiles(R"n1(c(=O)nc(cc1)N)[C@H]1[C@@H]([C@@H]([C@H](O1)COP(=O)(OP(=O)(OC[C@H]([C@@](CO)(C)O)O)[O-])[O-])O)O") -smiles(R"n1(c(=O)nc(cc1)N)[C@@H]1O[C@@H]([C@H]([C@H]1O)O)CO") -smiles(R"n1(c(=O)nc(N)cc1)[C@@H]1O[C@@H]([C@H](C1)O)CO") -smiles(R"N1(C(=O)NC(=O)C1)C") -smiles(R"n1(c(=O)n(c(=O)c2c1[nH]c(=O)n2C)C)C") -smiles(R"n1(c(=O)[nH]c(=O)cc1)[C@@H]1O[C@@H]([C@H](C1)O)CO") -smiles(R"[n+]1(c(sc(c1C)CCOP(=O)(OP(=O)([O-])[O-])[O-])C(C)O)Cc1c(nc(nc1)C)N") -smiles(R"[n+]1([O-])ccccc1") -smiles(R"[Na+]") -smiles(R"N#C") -smiles(R"N=c1c2c(ncn1[C@@H]1O[C@@H]([C@H]([C@H]1O)O)COP(=O)([O-])[O-])n(cn2)[C@@H]1O[C@@H]([C@@H](O)[C@H]1O)COP(=O)([O-])OP(=O)([O-])OP(=O)([O-])[O-]") -smiles(R"Nc1nc2NCC(=Nc2c(=O)[nH]1)[C@H](O)[C@@H](O)CO") -smiles(R"Nc1nc2NCC(Nc2c(=O)[nH]1)[C@H](O)[C@@H](O)CO") -smiles(R"Nc1nc2NCC(=Nc2c(=O)[nH]1)[C@H](O)[C@@H](O)COP(=O)(OP(=O)(OP(=O)([O-])[O-])[O-])[O-]") -smiles(R"Nc1ncnc2c1ncn2[C@@H]1O[C@H](CCl)[C@@H](O)[C@H]1O") -smiles(R"Nc1ncnc2c1ncn2[C@@H]1O[C@H](CF)[C@@H](O)[C@H]1O") -smiles(R"Nc1ncnc2c1ncn2[C@@H]1O[C@@H]([C@@H](O)C1)COP(=O)([O-])[O-]") -smiles(R"Nc1ncnc2c1ncn2[C@@H]1O[C@@H]([C@@H](O)C1)COP(=O)([O-])OP(=O)([O-])[O-]") -smiles(R"Nc1ncnc2c1ncn2[C@@H]1O[C@@H]([C@@H](O)C1)COP(=O)([O-])OP(=O)([O-])OP(=O)([O-])[O-]") -smiles(R"Nc1ncnc2c1ncn2[C@@H]1O[C@@H]([C@@H](O)[C@H]1O)COP(=O)([O-])[O-]") -smiles(R"N(c1ncnc2c1ncn2[C@@H]1O[C@@H]([C@@H](O)[C@H]1O)COP(=O)([O-])[O-])CC=C(C)C") -smiles(R"Nc1ncnc2c1ncn2[C@@H]1O[C@@H]([C@@H](O)[C@H]1O)COP(=O)([O-])OC(=O)CCCCC1CCSS1") -smiles(R"Nc1ncnc2c1ncn2[C@@H]1O[C@@H]([C@@H](O)[C@H]1O)COP(=O)([O-])OC(=O)N") -smiles(R"Nc1ncnc2c1ncn2[C@@H]1O[C@@H]([C@@H](O)[C@H]1O)COP(=O)([O-])OP(=O)([O-])[O-]") -smiles(R"N(c1ncnc2c1ncn2[C@@H]1O[C@@H]([C@@H](O)[C@H]1O)COP(=O)([O-])OP(=O)([O-])[O-])CC=C(C)C") -smiles(R"Nc1ncnc2c1ncn2[C@@H]1O[C@@H]([C@@H](O)[C@H]1O)COP(=O)([O-])OP(=O)([O-])OP(=O)(OCCc1sc[n+](Cc2cnc(nc2N)C)c1C)[O-]") -smiles(R"Nc1ncnc2c1ncn2[C@@H]1O[C@@H]([C@@H](O)[C@H]1O)COP(=O)([O-])OP(=O)([O-])OP(=O)([O-])[O-]") -smiles(R"N(c1ncnc2c1ncn2[C@@H]1O[C@@H]([C@@H](O)[C@H]1O)COP(=O)([O-])OP(=O)([O-])OP(=O)([O-])[O-])CC=C(C)C") -smiles(R"Nc1ncnc2c1ncn2[C@@H]1O[C@H](CO)[C@@H](O)C1") -smiles(R"Nc1ncnc2c1ncn2[C@@H]1O[C@H](C=O)[C@@H](O)[C@H]1O") -smiles(R"Nc1ncnc2c1ncn2[C@@H]1O[C@H](CO)[C@@H](O)[C@H]1O") -smiles(R"Nc1ncnc2c1ncn2[C@@H]1O[C@H](C(=O)[O-])[C@@H](O)[C@H]1O") -smiles(R"Nc1ncnc2c1[nH]c(=O)n2[C@@H]1O[C@@H]([C@@H](O)C1)COP(=O)([O-])[O-]") -smiles(R"Nc1ncnc2c1[nH]c(=O)n2[C@@H]1O[C@@H]([C@@H](O)C1)COP(=O)([O-])OP(=O)([O-])[O-]") -smiles(R"Nc1nc(=O)n(cc1)[C@@H]1O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])CO") -smiles(R"Nc1nc(=O)[nH]c2c1ncn2[C@@H]1O[C@@H]([C@@H](O)C1)COP(=O)([O-])[O-]") -smiles(R"Nc1nc(=O)[nH]c2c1ncn2[C@@H]1O[C@@H]([C@@H](O)C1)COP(=O)([O-])OP(=O)([O-])[O-]") -smiles(R"Nc1nc(=O)[nH]c2c1ncn2[C@@H]1O[C@@H]([C@@H](O)C1)COP(=O)([O-])OP(=O)([O-])OP(=O)(O)[O-]") -smiles(R"[N+](#C)C1CCCCC1") -smiles(R"N#CCc1ccccc1") -smiles(R"N/C(=C(/C=C\C=O)\C(=O)[O-])/C(=O)[O-]") -smiles(R"N(CCCC[NH3+])C(=O)CC[C@@H](C(=O)[O-])[NH3+]") -smiles(R"[N+](C)(C)(C)[O-]") -smiles(R"N(C)(C)C=O") -smiles(R"N/C=C(\C(=O)OO)/C") -smiles(R"[N+](CCO)(C)(C)C") -smiles(R"[N+](CC(=O)CC(=O)[O-])(C)(C)C") -smiles(R"[N+](=CC)([O-])[O-]") -smiles(R"N=CC(=O)[O-]") -smiles(R"[N+](CC(=O)[O-])(C)(C)C") -smiles(R"N(CC(=O)[O-])C(=O)c1ccccc1") -smiles(R"N([C@H]1[C@H](O[C@@H]([C@H]([C@@H]1O)O)CO)O[C@H]1[C@H](O)[C@@H](O)[C@@H]([C@H]([C@H]1O)O)O)C(=O)C") -smiles(R"N([C@H]1[C@H](O[C@@H]([C@H]([C@@H]1O)O)CO)O[C@H]1[C@H](O)[C@@H](O)[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])O)C(=O)C") -smiles(R"N([C@H](C(=O)[O-])CC(C)C)C(=O)OCc1ccccc1") -smiles(R"N(C(=[NH2+])N)CCCC=O") -smiles(R"NC(=[NH2+])NCCC(C(=O)C(=O)[O-])C") -smiles(R"NC(=[NH2+])NCCOP(=O)([O-])OC") -smiles(R"N(C(=[NH2+])NCCS(=O)(=O)[O-])P(=O)([O-])[O-]") -smiles(R"N(C(=[NH2+])N)[C@H]1[C@@H]([C@H]([C@@H]([C@H]([C@@H]1O)[NH3+])O)O)O") -smiles(R"N(C(=O)c1c(c(ccc1)O)O)CC(=O)N[C@@H]1C(=O)O[C@@H]([C@@H](C(=O)O[C@@H]([C@@H](C(=O)O[C@@H]1C)NC(=O)CNC(=O)c1c(c(ccc1)O)O)C)NC(=O)CNC(=O)c1c(c(ccc1)O)O)C") -smiles(R"NC(=O)CCCC[C@H](CCS)S") -smiles(R"NC(=O)CC[C@@H](C(=O)[O-])[NH3+]") -smiles(R"N(C(=O)CC[C@H](C(=O)[O-])[NH3+])[C@@H](C(=O)[O-])CCC(=O)[O-]") -smiles(R"N(C(=O)C)[C@@H](CC(=O)[O-])C(=O)[O-]") -smiles(R"N(C(=O)[C@@H](C(CO)(C)C)O)CCC(=O)[O-]") -smiles(R"N(C(=O)[C@@H](C(COP(=O)([O-])[O-])(C)C)O)CCC(=O)[O-]") -smiles(R"NC(=O)C(=O)[O-]") -smiles(R"NC(=O)NCCCC[NH3+]") -smiles(R"N(C(=O)N)/C=C(\C(=O)OO)/C") -smiles(R"NC(=O)NC[NH3+]") -smiles(R"[N@H+]12[C@H]([C@@H](c3c4c(ncc3)ccc(c4)OC)O)C[C@H]([C@H](C1)C=C)CC2") -smiles(R"[nH]1c2c(c3c1cccc3)cccc2") -smiles(R"[nH]1c2[C@H]3N4[C@@H](Cc2c2ccccc12)C([C@H](C3)/C(=C\C)/C4)C=O") -smiles(R"[nH]1cc(c2c1cccc2)[C@H](O)[C@H](O)COP(=O)([O-])[O-]") -smiles(R"[nH]1cc(c2c1ccc(c2)O)CC[NH3+]") -smiles(R"[nH]1c(c(c2ccccc12)O)O") -smiles(R"[NH+]1=CCCC1") -smiles(R"[nH]1c(c(c(c1)CCC(=O)[O-])CC(=O)[O-])C[NH3+]") -smiles(R"[nH]1c(c(c(c1C(=O)[O-])c1c2c([nH]c1)c(ccc2)Cl)c1c2c([nH]c1)c(ccc2)Cl)C(=O)[O-]") -smiles(R"[nH]1c(C[C@@H](C(=O)[O-])[NH3+])cnc1CCC([NH3+])C(=O)[O-]") -smiles(R"[nH]1cc(nc1)CC=O") -smiles(R"[NH+]1([C@H](c2c(CC1)cc(c(c2)O)OC)Cc1ccc(cc1)O)C") -smiles(R"[NH+]1([C@H](c2c(CC1)cc(c(c2)O)OC)Cc1ccc(c(c1)O)OC)C") -smiles(R"[NH+]1([C@@H](c2c(CC1)cc(c(c2)O)OC)Cc1ccc(OC)c(c1)O)C") -smiles(R"[nH]1c(nc2c(c1=O)N[C@H](CN2)[C@H]([C@@H](O)C)O)N") -smiles(R"[nH]1c(nc2c(c1=O)N([C@H](CN2)CNc1ccc(cc1)C(=O)N[C@@H](CCC(=O)N[C@@H](CCC(=O)N[C@@H](CCC(=O)[O-])C(=O)[O-])C(=O)[O-])C(=O)[O-])C)N") -smiles(R"[nH]1c(nc2c(c1=O)N[C@H](CN2)CNc1ccc(cc1)C(=O)N[C@@H](CCC(=O)N[C@@H](CCC(=O)N[C@@H](CCC(=O)[O-])C(=O)[O-])C(=O)[O-])C(=O)[O-])N") -smiles(R"[nH]1cnc2c(c1=O)ncn2[C@H]1C[C@@H]([C@H](O1)CO)O") -smiles(R"[nH]1c(nc2c(c1=O)ncn2[C@H]1C[C@@H]([C@H](O1)CO)O)N") -smiles(R"[nH]1cnc2c(c1=O)ncn2[C@H]1C[C@@H]([C@H](O1)COP(=O)(OP(=O)([O-])[O-])[O-])O") -smiles(R"[nH]1cnc2c(c1=O)ncn2[C@H]1C[C@@H]([C@H](O1)COP(=O)(OP(=O)(OP(=O)([O-])[O-])[O-])[O-])O") -smiles(R"[nH]1c(nc2c(c1=O)[nH]c(=O)[nH]2)N") -smiles(R"[nH]1cncc1") -smiles(R"[nH]1cnc(c1)N") -smiles(R"[NH+]1=C(NCC[C@H]1C(=O)[O-])C") -smiles(R"[nH]1c(=O)c2c(nc1N)NCC(=N2)[C@H](O)[C@@H](COP(=O)(OP(=O)(OP(=O)([O-])[O-])[O-])[O-])O") -smiles(R"[nH]1c(=O)c2c(nc1N)n([C@@H]1O[C@H]3[C@H]([C@H]1O)OP(=O)(OC3)[O-])cn2") -smiles(R"[nH]1c(=O)[nH]c2c(c1=O)ncn2[C@@H]1O[C@H](CO)[C@H]([C@H]1O)O") -smiles(R"[nH]1c(=O)[nH]c2c(c1=O)[n+](cn2[C@@H]1O[C@H](CO)[C@H]([C@H]1O)O)C") -smiles(R"[nH]1c(=O)[nH]c(=O)cc1") -smiles(R"[nH]1c(=O)[nH]c(=O)c(c1)C(=O)[O-]") -smiles(R"[nH]1nccc1") -smiles(R"[NH2+]1C(c2c(CC1)cc(c(c2)O)O)Cc1ccc(cc1)O") -smiles(R"[NH2+]1C(c2c(CC1)cc(c(c2)O)OC)Cc1ccc(cc1)O") -smiles(R"[NH2+]1CCCCNC(=O)CNC(=O)[C@@H](NC(=O)CC[C@H]([NH3+])C(=O)[O-])CSSC[C@@H](C(=O)NCC(=O)NCCC1)NC(=O)CC[C@@H](C(=O)[O-])[NH3+]") -smiles(R"[NH2+]1C[C@@H](NCC1)C(=O)N") -smiles(R"[NH2+]1C[C@H](NCC1)C(=O)N") -smiles(R"[NH2+]1C[C@@H](NCC1)C(=O)NC(C)(C)C") -smiles(R"[NH2+]1[C@H](c2c(CC1)cc(c(c2)O)O)Cc1ccc(cc1)O") -smiles(R"[NH2+](CCCCNC(=O)CNC(=O)[C@@H](NC(=O)CC[C@H]([NH3+])C(=O)[O-])CS)CCCNC(=O)CNC(=O)[C@@H](NC(=O)CC[C@@H](C(=O)[O-])[NH3+])CS") -smiles(R"[NH2+](CCC[NH3+])CCCCNC(=[NH2+])N") -smiles(R"[NH2+](CCC[NH3+])CCC[NH3+]") -smiles(R"[NH2+]=CNCC(=O)[O-]") -smiles(R"[NH2+]=C(N)N") -smiles(R"[NH3+]C") -smiles(R"[NH3+]CCc1ccc(cc1)O") -smiles(R"[NH3+]CCCCCC(=O)NCCCCCC(=O)[O-]") -smiles(R"[NH3+]CCCC[C@@H](C(=O)OC)NC(=O)C") -smiles(R"[NH3+]CCCCC[NH2+]CCC[NH3+]") -smiles(R"[NH3+]CCC[C@@H](CC(=O)N[C@@H]1C(=O)N[C@H](C(=O)N[C@H](C(=O)N/C(=C\NC(=O)N)/C(=O)N[C@H](C(=O)NC1)[C@@H]1NC(=[NH2+])N[C@H](C1)O)CO)CO)[NH3+]") -smiles(R"[NH3+]CCC[C@@H](CC(=O)N[C@@H]1C(=O)N[C@H](C(=O)N[C@H](C(=O)N/C(=C\NC(=O)N)/C(=O)N[C@H](C(=O)NC1)[C@@H]1NC(=[NH2+])N[C@H](C1)O)CO)COP(=O)([O-])[O-])[NH3+]") -smiles(R"[NH3+]CCCC[NH2+]CCCC[NH3+]") -smiles(R"[NH3+]CCCC[NH3+]") -smiles(R"[NH3+]C(CCC[NH3+])C(=O)[O-]") -smiles(R"[NH3+]CC(CC(=O)[O-])O") -smiles(R"[NH3+]CC[C@H]([C@H](N1CCC1=O)C(=O)[O-])O") -smiles(R"[NH3+]CCC[NH2+]CCCC[NH2+]CCC[NH3+]") -smiles(R"[NH3+]CCC[NH2+]CCCC[NH3+]") -smiles(R"[NH3+]CCC[NH2+]CCCC=O") -smiles(R"[NH3+]CCC[NH2+]CC[C@@H](C(=O)[O-])[NH3+]") -smiles(R"[NH3+]CCC(=O)N") -smiles(R"[NH3+]CCC(=O)[O-]") -smiles(R"[NH3+]C(C(=O)CCCCCC(=O)[O-])C") -smiles(R"[NH3+]CCS(=O)(=O)[O-]") -smiles(R"[NH3+][C@H]1[C@H](O[C@@H]([C@H]([C@@H]1O)O)CO)O[C@H]1[C@H](O)[C@@H](O)[C@@H]([C@H]([C@H]1O)O)O") -smiles(R"[NH3+][C@@H](Cc1c[nH]c2c1cc(cc2)O)C(=O)[O-]") -smiles(R"[NH3+][C@@H](CC(=C)C(=O)[O-])C(=O)[O-]") -smiles(R"[NH3+][C@@H](CCC[NH3+])C(=O)[O-]") -smiles(R"[NH3+][C@@H](CCC(=O)N[C@@H](CSC(=O)CCC(=O)[O-])C(=O)NCC(=O)[O-])C(=O)[O-]") -smiles(R"[NH3+][C@@H](CCC(=O)N[C@@H](CS)C(=O)NCC(=O)[O-])C(=O)[O-]") -smiles(R"[NH3+][C@@H](CCC(=O)N[C@@H](CSSC[C@H](NC(=O)CC[C@H]([NH3+])C(=O)[O-])C(=O)NCC(=O)[O-])C(=O)NCC(=O)[O-])C(=O)[O-]") -smiles(R"[NH3+][C@@H](CCC(=O)N[C@@H](CS[Se]SC[C@H](NC(=O)CC[C@H]([NH3+])C(=O)[O-])C(=O)NCC(=O)[O-])C(=O)NCC(=O)[O-])C(=O)[O-]") -smiles(R"[NH3+][C@@H](CCOP(=O)([O-])[O-])C(=O)[O-]") -smiles(R"[NH3+][C@H](COP(=O)([O-])[O-])Cc1c[nH]cn1") -smiles(R"[NH4+]") -smiles(R"[NH+]([C@@H](Cc1c[nH]cn1)C(=O)[O-])(C)C") -smiles(R"[Ni+2]") -smiles(R"N#N") -smiles(R"NN") -smiles(R"N#N=O") -smiles(R"N(=N\O)/O") -smiles(R"[N]=O") -smiles(R"NO") -smiles(R"[N+](=O)([O-])[O-]") -smiles(R"O") -smiles(R"O1C2(C1(C(=O)c1c(cccc1)C2=O)C/C=C(/CCC[C@@H](CCC[C@@H](CCCC(C)C)C)C)\C)C") -smiles(R"O1CC1C") -smiles(R"o1ccc2cc3ccc(=O)oc3c(c12)O") -smiles(R"o1c(ccc1)C(=O)[O-]") -smiles(R"O1C(C(C(C(C1O)O)O)O)CO") -smiles(R"O1/C(=C\CCCC(=O)[O-])/C[C@H]2[C@@H]1C[C@H]([C@@H]2/C=C/[C@H](CCCCC)O)O") -smiles(R"O1/C(=C\CCCC(=O)[O-])/C[C@H]2[C@@H]1C[C@H]([C@@H]2/C=C/C(=O)CCCCC)O") -smiles(R"O1C(C(C(C([C@H]1OP(=O)([O-])[O-])O)O)O)CO") -smiles(R"O1CC([C@H](C1=O)O)(C)C") -smiles(R"O1CC(C(=O)C1=O)(C)C") -smiles(R"O1/C(=C\C(=O)C(=O)[O-])/C=CC1=O") -smiles(R"O1C(CC(=O)[O-])C=CC1=O") -smiles(R"O1/C(=C\C(=O)[O-])/C=C(C1=O)Cl") -smiles(R"O1C=C(C(=O)OC)[C@H]2CC[C@H](C)[C@H]2[C@@H]1O[C@H]1[C@H](O)[C@@H](O)[C@H](O)[C@H](O1)CO") -smiles(R"O1C=C(C(=O)OC)[C@H]2C[C@@H]([C@H](C)[C@H]2[C@@H]1O[C@H]1[C@H](O)[C@@H](O)[C@H](O)[C@H](O1)CO)O") -smiles(R"O1C[C@@H]1C") -smiles(R"O1C[C@H]1C") -smiles(R"O1C([C@@H]1CC/C(=C/CC/C(=C/CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)/C)/C)(C)C") -smiles(R"O1C([C@@H]([C@@H]([C@H]1CO)O)O)O") -smiles(R"O1C([C@@H]([C@@H]([C@H]1COP(=O)(OP(=O)(OC[C@@H]1[C@H]([C@H]([C@H](n2c3ncnc(c3nc2)N)O1)O)O)[O-])[O-])O)O)O") -smiles(R"O1C[C@@H]([C@@H]([C@H](C1O)O)O)O") -smiles(R"O1C([C@@H]([C@H]([C@@H]([C@@H]1C(=O)[O-])O)O)O)OP(=O)(OP(=O)(OC[C@H]1O[C@@H](n2ccc(=O)[nH]c2=O)[C@@H]([C@@H]1O)O)[O-])[O-]") -smiles(R"O1C([C@H]([C@@H]([C@@H]([C@@H]1C)O)O)O)OP(=O)(OP(=O)(OC[C@@H]1[C@H]([C@H]([C@H](n2c3nc([nH]c(=O)c3nc2)N)O1)O)O)[O-])[O-]") -smiles(R"O1C[C@@H]([C@@H]([C@H]([C@@H]1OP(=O)(OC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)/C)/C)/C)/C)/C)/C)/C)/C)[O-])O)O)NC=O") -smiles(R"O1C[C@@H]([C@@H]([C@H]([C@@H]1OP(=O)([O-])OC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)\C)\C)\C)\C)\C)\C)\C)\C)O)O)[NH3+]") -smiles(R"O1C[C@@H]([C@@H]([C@H]([C@@H]1OP(=O)([O-])OC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)/C)/C)/C)/C)/C)/C)/C)/C)O)O)[NH3+]") -smiles(R"O1C([C@H](O)[C@H]([C@H](O)[C@H]1CO)O)OC(=O)/C=C/c1cc(c(O)c(c1)OC)OC") -smiles(R"O1C(C(=O)C=CC1)(CO)O") -smiles(R"O1C(C(=O)N(c2c1cc(cc2)OC)O)O") -smiles(R"O1[C@@H]2[C@]([C@@H]3C(=C4CC(=O)O[C@H]([C@@]4(CC3)C)c3ccoc3)C)([C@H](C1(C)C)CC(=O)[O-])COC(=O)C2") -smiles(R"O1[C@@H](C(C(C(C1O)O)O)O)COP(=O)([O-])[O-]") -smiles(R"O1[C@@H](CC(=O)[O-])C=CC1=O") -smiles(R"O1[C@@H]([C@H](CC1OP(=O)([O-])[O-])O)CO") -smiles(R"O1[C@@H]([C@H](/C=C/C=C/C(=O)[C@@H](C[C@@H]([C@@H]([C@H](/C=C/C1=O)C)O[C@@H]1O[C@@H](C[C@@H]([C@H]1O)[NH+](C)C)C)C)C)CO[C@H]1[C@@H]([C@@H]([C@@H]([C@H](O1)C)O)OC)OC)CC") -smiles(R"O1[C@@H]([C@H](/C=C/C=C/C(=O)[C@@H](C[C@@H]([C@@H]([C@H](/C=C/C1=O)C)O[C@@H]1O[C@@H](C[C@@H]([C@H]1O)[NH+](C)C)C)C)C)CO[C@H]1[C@@H]([C@@H]([C@@H]([C@H](O1)C)O)O)O)CC") -smiles(R"O1[C@@H]([C@H](/C=C/C=C/C(=O)[C@@H](C[C@@H]([C@@H]([C@H](/C=C/C1=O)C)O[C@@H]1O[C@@H](C[C@@H]([C@H]1O)[NH+](C)C)C)C)C)CO[C@H]1[C@@H]([C@@H]([C@@H]([C@H](O1)C)O)O)OC)CC") -smiles(R"O1[C@@H]([C@H](C[C@H]1OP(=O)([O-])[O-])O)CO") -smiles(R"O1[C@@H]([C@H]([C@H](C1O)O)O)CCC(=O)c1cc(ccc1)C(=O)[O-]") -smiles(R"O1[C@H]([C@H]([C@H](C[C@]1(C(=O)[O-])O)O)NC(=O)C)[C@H]([C@H](C)O)NC(=O)C") -smiles(R"O1[C@H]([C@@H]([C@H](C[C@]1(C(=O)[O-])O)O)NC(=O)C)[C@@H]([C@@H](CO)O)O") -smiles(R"O1[C@H]([C@@H]([C@H](C[C@@]1(C(=O)[O-])O)O)NC(=O)C)[C@@H]([C@@H](CO)O)O") -smiles(R"O1[C@H]([C@H]([C@H](C[C@]1(C(=O)[O-])OP(=O)([O-])OC[C@H]1O[C@@H](n2ccc(nc2=O)N)[C@@H]([C@@H]1O)O)O)NC(=O)C)[C@H]([C@H](C)O)NC(=O)C") -smiles(R"O1[C@H]([C@@H]([C@H](C[C@@]1(O)C(=O)[O-])O)NC(=O)C)[C@@H]([C@@H](C)O)NC(=O)C") -smiles(R"O1[C@H]([C@@H]([C@@H]([C@H]1[C@H](O)CO)O)O)O") -smiles(R"O1[C@H]([C@@H]([C@@H]([C@H]1CO)O)O)O") -smiles(R"O1[C@@H]([C@@H]([C@@H]([C@H]1C)O)O)OP(=O)([O-])[O-]") -smiles(R"O1[C@H]([C@@H]([C@@H]([C@H]1COP(=O)([O-])[O-])O)O)c1ccc(cc1)N") -smiles(R"O1[C@@H]([C@@H]([C@@H]([C@H]1COP(=O)([O-])[O-])O)O)OP(=O)([O-])OP(=O)([O-])[O-]") -smiles(R"O1[C@@H]([C@@H]([C@@H]([C@H]1COP(=O)(OP(=O)(OP(=O)([O-])[O-])[O-])[O-])O)O)O[C@H]1[C@@H](O[C@@H]([C@H]1O)COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCS)O)[O-])[O-])n1c2c(nc1)c(ncn2)N") -smiles(R"O1[C@@H]([C@@H]([C@@H]([C@H]1CSC)O)O)OP(=O)([O-])[O-]") -smiles(R"O1[C@@H]([C@H]([C@H]([C@H]1n1c2c(cc(c(c2)C)C)nc1)O)O)CO") -smiles(R"O1[C@@H]([C@H]([C@H]([C@H]1n1c2c(cc(c(c2)C)C)nc1)O)O)COP(=O)([O-])[O-]") -smiles(R"O1[C@@H]([C@H]([C@H]([C@@H]1n1c2c(nc1)c(ncn2)N)O)O)CCC(=O)c1cc(ccc1)C(=O)[O-]") -smiles(R"O1[C@@H]([C@H]([C@H]([C@@H]1n1c2c(nc1)c(=O)[nH]cn2)O)O)CCC(=O)c1cc(ccc1)C(=O)[O-]") -smiles(R"O1[C@@H]([C@H]([C@H]([C@@H]1[n+]1cccc(c1)C(=O)[O-])O)O)CO") -smiles(R"O1[C@H]([C@@H]([C@H]([C@H]1O)O[C@H]1O[C@H]([C@@H]([C@H]1O)O)CO)O)CO") -smiles(R"O1[C@H]([C@@H]([C@H]([C@H]1O)O)O)CO") -smiles(R"O1[C@@H]([C@@H]([C@H]([C@H](C1)NC=O)O)O)OP(=O)(OP(=O)([O-])OC[C@H]1O[C@H]([C@@H]([C@@H]1O)O)n1c(=O)[nH]c(=O)cc1)[O-]") -smiles(R"O1[C@@H]([C@@H]([C@H]([C@H](C1)[NH3+])O)O)OP(=O)(OP(=O)([O-])OC[C@H]1O[C@H]([C@@H]([C@@H]1O)O)n1c(=O)[nH]c(=O)cc1)[O-]") -smiles(R"O1[C@@H]([C@@H]([C@@H]([C@H](C1O)O)O)O)C") -smiles(R"O1[C@H]([C@H]([C@H]([C@@H](C1O)O)O)O)C") -smiles(R"O1[C@@H]([C@H]([C@@H]([C@H](C1O)O)O)O)C(=O)[O-]") -smiles(R"O1[C@@H]([C@@H]([C@H]([C@@H]([C@H]1CO)O)O)[NH3+])O[C@H]1[C@H]2[C@@H]([C@@H]([C@H]([C@@H]1O)O)O)OP(=O)(O2)[O-]") -smiles(R"O1[C@H]([C@@H]([C@H]([C@H]([C@H]1CO)O)O)O[C@@H]1O[C@H]([C@H]([C@H]([C@@H]1O)O)O)C)OC") -smiles(R"O1[C@H]([C@@H]([C@H]([C@@H]([C@H]1CO)O)O)O)O[C@H]1[C@@H]([C@H](C(O[C@@H]1CO)O)O)O") -smiles(R"O1[C@H]([C@@H]([C@H]([C@@H]([C@H]1CO)O)O)O)O[C@H]1[C@@H]([C@H](C(=O)O[C@@H]1CO)O)O") -smiles(R"O1[C@@H]([C@H]([C@@H]([C@@H]([C@@H]1C)O)O)O)OP(=O)(OP(=O)(OC[C@@H]1[C@H]([C@H]([C@H](n2c3nc([nH]c(=O)c3nc2)N)O1)O)O)[O-])[O-]") -smiles(R"O1[C@H]([C@@H]([C@H]([C@@H]([C@H]1COP(=O)([O-])[O-])O)O)O)O[C@H]1[C@@H]([C@H](C(O[C@@H]1CO)O)O)O") -smiles(R"O1[C@@H]([C@H]([C@@H]([C@@H]([C@H]1O[C@@H](C(=O)[O-])CO)O)O)O)COP(=O)([O-])[O-]") -smiles(R"O1[C@@H]([C@H]([C@@H]([C@H]([C@@H]1OC(=O)c1cc(c(cc1)O)OC)O)O)O)CO") -smiles(R"O1[C@@H]([C@H]([C@@H]([C@@H]([C@H]1O)NC(=O)C)O)NC(=O)C)C") -smiles(R"O1[C@H]([C@H]([C@H]([C@@H]([C@@H]1O)O)O)O)C") -smiles(R"O1[C@H]([C@H]([C@H]([C@@H]([C@H]1O)O)O)O)C") -smiles(R"O1[C@H]([C@H]([C@H]([C@@H]([C@H]1OP(=O)([O-])[O-])O)O)O)C") -smiles(R"O1[C@@H]([C@H]([C@@H]([C@H]([C@H]1OP(=O)(OP(=O)(OC[C@H]1O[C@H]([C@@H]([C@@H]1O)O)n1ccc(=O)[nH]c1=O)[O-])[O-])NC(=O)C)O)NC(=O)C)C") -smiles(R"O1[C@H]([C@@H]([C@@H]([C@H]([C@H]1OP(=O)(OP(=O)(OC[C@H]1O[C@H]([C@@H]([C@@H]1O)O)n1ccc(=O)[nH]c1=O)[O-])[O-])NC(=O)C)O)[NH3+])C") -smiles(R"O1[C@@H]([C@@H]([C@H](C(=O)C1)O)O)OP(=O)(OP(=O)([O-])OC[C@H]1O[C@H]([C@@H]([C@@H]1O)O)n1c(=O)[nH]c(=O)cc1)[O-]") -smiles(R"O1[C@@H]([C@H]([C@@H](O)C1n1c[nH+]cc1N)O)COP(=O)([O-])[O-]") -smiles(R"O1[C@@H]([C@H]([C@@H](O)[C@@H]1n1cnc2c1nc[nH]c2=O)O)COP(=O)([O-])[O-]") -smiles(R"O1[C@H]([C@@H]([C@@H](O)[C@@H]([C@H]1CO)O)O)Oc1c2c([nH]c1)cccc2") -smiles(R"O1[C@H]([C@@H]([C@@H](O)[C@@H]([C@H]1CO)O)O)OC(C)(C)C#N") -smiles(R"O1[C@H]([C@@H]([C@@H](O)[C@@H]([C@H]1CO)O)O)OC(=O)c1cc(c(O)c(c1)O)O") -smiles(R"O1[C@@H]([C@H]([C@H](O)[C@H]([C@@H]1S/C(=N/OS(=O)(=O)[O-])/Cc1ccccc1)O)O)CO") -smiles(R"O1[C@@H]([C@H](C(=O)c2c1cc(cc2O)[O-])O)c1ccc(cc1)O") -smiles(R"O1[C@H]([C@H](O)[C@@H]([C@H]1COP(=O)([O-])[O-])O)n1cnc(c1N)C(=O)NC(CC(=O)[O-])C(=O)[O-]") -smiles(R"O1[C@H]([C@H](O)[C@H]([C@H]([C@H]1CO)O)O)OCC(O)CO") -smiles(R"O1[C@@H]([C@H](O)[C@H]([C@H]([C@H]1C(=O)[O-])O)O)OP(=O)([O-])[O-]") -smiles(R"O1[C@@H]([C@H](O)[C@H]([C@H](O)[C@H]1C(=O)[O-])O)OP(=O)([O-])[O-]") -smiles(R"O1[C@@H]([C@@H](O)[C@@H](O)C1NC(=[NH2+])CNC=O)COP(=O)([O-])[O-]") -smiles(R"O1[C@@H]([C@@H](O)[C@@H](O)[C@H](O)[C@H]1[C@@H](CO)O)OP(=O)([O-])[O-]") -smiles(R"O1[C@H]([C@@H](O)[C@@H](O)[C@H](O)[C@H]1[C@@H](CO)O)OP(=O)([O-])[O-]") -smiles(R"O1[C@H](CO)[C@H]([C@@H](C1(O)COP(=O)([O-])[O-])O)O") -smiles(R"O1[C@H](C(=O)[C@@H]([C@H]([C@H]1OP(=O)(OP(=O)(OC[C@H]1O[C@H]([C@@H]([C@@H]1O)O)n1ccc(=O)[nH]c1=O)[O-])[O-])NC(=O)C)O)C") -smiles(R"O1[C@H](CO)[C@@H](C(=O)[C@H]([C@@H]1O)O)O") -smiles(R"O1[C@H](CO)[C@@H](O)[C@@H]([C@@H](O)[C@@H]1S/C(=N/O)/Cc1ccccc1)O") -smiles(R"O1[C@@H]([NH3+])[C@H](O)[C@H](O)[C@H]1COP(=O)([O-])[O-]") -smiles(R"O1[C@@H](O)[C@@H]([C@H]([C@H]([C@H]1CO)OS(=O)(=O)[O-])O[C@@H]1OC(=C[C@H](O)[C@H]1O)C(=O)[O-])NC(=O)C") -smiles(R"O1[C@@H](O)[C@@H]([C@H]([C@H](O)[C@H]1COS(=O)(=O)[O-])OC1O[C@@H]([C@H]([C@@H]([C@H]1O)O)O)C(=O)[O-])NS(=O)(=O)[O-]") -smiles(R"O1[C@@H](O)[C@@H]([C@@H](O)[C@@H]([C@H]1CO)O)NC(=O)C") -smiles(R"O1[C@@H](O)[C@H](O)[C@H](O)[C@@H]1C(C)O") -smiles(R"O1[C@@H](O)[C@@H](O)[C@@H](O)[C@H](O)[C@H]1[C@@H](COP(=O)([O-])[O-])O") -smiles(R"O1[C@H](O)[C@@H](O)[C@@H](O)[C@H](O)[C@H]1[C@@H](COP(=O)([O-])[O-])O") -smiles(R"O1[C@@H](O)[C@@H](O)[C@@H](O)[C@H](O)[C@H]1CO") -smiles(R"O1[C@@H](OP(=O)([O-])[O-])[C@@H](O)[C@@H](O)[C@H](O)[C@H]1[C@@H](COP(=O)([O-])[O-])O") -smiles(R"O1[C@H](OP(=O)([O-])[O-])[C@@H](O)[C@@H](O)[C@H](O)[C@H]1[C@@H](COP(=O)([O-])[O-])O") -smiles(R"O1C([NH3+])[C@H](O)[C@H](O)[C@H]1COP(=O)([O-])[O-]") -smiles(R"O1C(=O)C=C([C-]1CC(=O)[O-])C(=O)[O-]") -smiles(R"O1C(=O)C=C[C@]1(CC(=O)[O-])C(=O)[O-]") -smiles(R"O1C(=O)C=CC1(CC(=O)[O-])C(=O)[O-]") -smiles(R"O1C(=O)C=CC1(CC(=O)[O-])S(=O)(=O)[O-]") -smiles(R"O1C(=O)C(CC1)[NH3+]") -smiles(R"O1C(=O)C(=C([C@H]1CO)[O-])O") -smiles(R"O1C(=O)C[C@@H]([C@H]1CO)O") -smiles(R"O1C(=O)C(=C([O-])[C@H]1[C@H](CO)O)O") -smiles(R"O1C(=O)C(=C([O-])[C@H]1[C@H](COP(=O)([O-])[O-])O)O") -smiles(R"O1C(=O)[C@@H](CC1)[NH3+]") -smiles(R"O1C(=O)[C@H](C(=O)[C@H]1[C@H](CO)O)O") -smiles(R"O1C(=O)C(=O)C(=O)[C-]1[C@H](CO)O") -smiles(R"O1P(=O)(OP(=O)(OP1(=O)[O-])[O-])[O-]") -smiles(R"O[As](C)O") -smiles(R"O[As](O)O") -smiles(R"[O-][As](=O)(O)[O-]") -smiles(R"[O+]#[C-]") -smiles(R"O=C1c2c(c(ccc2)O)C(=O)C=C1") -smiles(R"O=C1C=c2c(=CC1=O)[nH]cc2") -smiles(R"Oc1c(cccc1)C/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)\C)\C)\C)\C)\C") -smiles(R"Oc1ccc(cc1CC(=O)[O-])O") -smiles(R"O=C1CCC(CC1)C(=O)[O-]") -smiles(R"Oc1cc(ccc1)NO") -smiles(R"Oc1ccc(CCC(=O)[O-])cc1") -smiles(R"O=c1cc[nH]cc1O") -smiles(R"O=C1[C@@H](NC(=O)[C@@H](N1)Cc1ccc(cc1)O)Cc1ccc(cc1)O") -smiles(R"O=C1CNC(=O)CN1") -smiles(R"O=c1[nH]c(=O)[nH]c2c1ncn2[C@@H]1O[C@@H]([C@@H](O)[C@H]1O)COP(=O)([O-])OP(=O)([O-])[O-]") -smiles(R"O=c1[nH]c(=O)[nH]c2c1ncn2[C@@H]1O[C@@H]([C@@H](O)[C@H]1O)COP(=O)([O-])OP(=O)([O-])OP(=O)([O-])[O-]") -smiles(R"OC1O[C@@H]([C@H]([C@@H]([C@H]1O)[NH3+])O)CO") -smiles(R"OC1O[C@@H]([C@H]([C@@H]([C@H]1O)N)O)COP(=O)(O)O") -smiles(R"O=CC") -smiles(R"O=C([C@@]1(C[C@H](CC1(C)C)O)C)/C=C/C(=C/C=C/C(=C/C=C/C=C(/C=C/C=C(/C=C/C1=C(C[C@H](CC1(C)C)O)C)\C)\C)/C)/C") -smiles(R"O=C([C@@]1(C[C@H](CC1(C)C)O)C)/C=C/C(=C/C=C/C(=C/C=C/C=C(/C=C/C=C(/C=C/C(=O)[C@@]1(C[C@H](CC1(C)C)O)C)\C)\C)/C)/C") -smiles(R"OCc1cc(Oc2ccccc2)ccc1") -smiles(R"O=C(c1cnc(c(c1CO)O)C)[O-]") -smiles(R"O=CCc1ccc(cc1)O") -smiles(R"O=CCc1c[nH]c2c1cccc2") -smiles(R"OCCc1c[nH]c2ccccc12") -smiles(R"O=C(CC)C") -smiles(R"O=C(/C=C/c1ccccc1)[O-]") -smiles(R"OCC/C=C\CC") -smiles(R"O=C(/C=C/C=C/c1ccc2c(c1)OCO2)N1CCCCC1") -smiles(R"O(C/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)\C)\C)\C)\C)\C)\C)\C)\C)P(=O)(OP(=O)(O[C@H]1O[C@@H]([C@@H]([C@@H]([C@H]1O)O)O)CO)[O-])[O-]") -smiles(R"O(C/C=C(/CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)\C)C[C@@H](COP(=O)([O-])[O-])O") -smiles(R"O=C/C(=C/C=C/C(=C/C=C/C=C(/C=C/C=C(/C=O)\C)\C)/C)/C") -smiles(R"O=C/C=C/C(=C/C=C/C=C(/C=C/C=O)\C)/C") -smiles(R"O=C/C=C/C=C(/C=C/C=C(/C=O)\C)\C") -smiles(R"O=C/C=C/C(=C/C=C/C=O)/C") -smiles(R"O=C/C=C(/C=C/C=C(/C=O)\C)\C") -smiles(R"O=C(CCCCCCC)O[C@@H](C[N+](C)(C)C)CC(=O)[O-]") -smiles(R"O/C=C/C=C(/C=C/C=O)\C") -smiles(R"O(CC/C=C\CC)C(=O)C") -smiles(R"O=C(CCCCCC(=O)[O-])[O-]") -smiles(R"O=CCCCCC(=O)[O-]") -smiles(R"O=C/C=C/C=C(/C(=O)[O-])\O") -smiles(R"O=C/C=C(/C=C/C(=O)[O-])\O") -smiles(R"O=C(C(CCC(=O)[O-])CO)[O-]") -smiles(R"O=C(CC)C(=O)[O-]") -smiles(R"O=C(CC(C(=O)[O-])O)C(=O)[O-]") -smiles(R"O=C(C(C(C(=O)[O-])O)C(=O)[O-])C(=O)[O-]") -smiles(R"O=C(C[C@@H](C(=O)[O-])NC(=[NH2+])N)[O-]") -smiles(R"OCCCl") -smiles(R"O/C=C(/C(=O)CCSC)\[O-]") -smiles(R"OCC(CO)OP(=O)([O-])[O-]") -smiles(R"O(C[C@@H]1[C@H]([C@@H]([C@H]([C@@H](O1)Oc1ccc(cc1)O)O)O)O)P(=O)([O-])[O-]") -smiles(R"O(C[C@@H]1[C@H]([C@H]([C@H](O1)OP(=O)([O-])[O-])O)O)P(=O)(OP(=O)(OC[C@H]1O[C@H]([C@@H]([C@@H]1O)O)n1cnc2c1ncnc2N)[O-])[O-]") -smiles(R"OC[C@@H]1[C@@H](OP(=O)([O-])[O-])[C@@H](O)[C@@H](O1)n1c(=O)[nH]c(=O)cc1") -smiles(R"O(C[C@H]1O[C@H]([C@@H]([C@@H]1O)O)n1cnc2c1nc([nH]c2=O)N)P(=O)(O[C@@H]1[C@H](O[C@H]([C@@H]1O)n1cnc2c1nc([nH]c2=O)N)COP(=O)([O-])[O-])[O-]") -smiles(R"O=C([C@H](CCC[C@@H](C(=O)[O-])[NH3+])NC(=O)C)[O-]") -smiles(R"OC[C@@H]([C@@H](/C=C/CCCCCCCCCCCCC)O)[NH3+]") -smiles(R"OC[C@H]([C@H](CC(=O)C(=O)[O-])O)O") -smiles(R"OC[C@H]([C@H]([C@@H]([C@@H](C(=O)[O-])O)O)O)O") -smiles(R"OC[C@H]([C@H]([C@H](CNc1c(c(=O)[nH]c(=O)[nH]1)N)O)O)O") -smiles(R"OC[C@H]([C@H]([C@@H](C(=O)C[NH2+]CCCC[C@@H](C(=O)[O-])[NH3+])O)O)O") -smiles(R"OC[C@H]([C@H]([C@H](C(=O)C[NH2+]CCCC[C@@H](C(=O)[O-])[NH3+])O)O)O") -smiles(R"OC[C@H]([C@H]([C@@H](C(=O)C=O)O)O)O") -smiles(R"O=C[C@@H]([C@@H]([C@@H](C)O)O)O") -smiles(R"O(C[C@H]([C@H]([C@@H](C=O)O)O)O)P(=O)([O-])[O-]") -smiles(R"OC[C@@H]([C@H](C(=O)C(=O)C(=O)[O-])O)O") -smiles(R"O(C[C@H]([C@H](C=O)O)O)P(=O)([O-])[O-]") -smiles(R"O(C[C@@H](COC(=O)CCCCCCC/C=C\CCCCCCCC)OC(=O)CCCCCCCCCCCCCCC)P(=O)(OC[C@H](CO)O)[O-]") -smiles(R"O(C[C@@H](COC(=O)CCCCCCCCCCCCCCCCC)OC(=O)CCCCCCCCCCCCCCC)P(=O)(OC[C@H](CO)O)[O-]") -smiles(R"O(C[C@@H](COC(=O)CCCCCCC/C=C\CCCCCCCC)O)P(=O)(OC[C@H](CO)O)[O-]") -smiles(R"O(C[C@@H](COC(=O)CCCCCCCCCCCCCCCCC)O)P(=O)(OC[C@H](CO)O)[O-]") -smiles(R"O(C[C@@H](COC(=O)CCCCCCCCCCCCCCC)OC(=O)CCC/C=C\C/C=C\C/C=C\C/C=C\CCCCC)P(=O)([O-])[O-]") -smiles(R"O(C[C@@H](COC(=O)CCCCCCCCCCCCCCC)OC(=O)CCCCCCC/C=C\C/C=C\CCCCC)P(=O)(OC[C@H](CO)O)[O-]") -smiles(R"O(C[C@@H](COC(=O)CCCCCCCCCCCCCCC)OC(=O)CCCCCCC/C=C\CCCCCCCC)P(=O)(OC[C@H](CO)O)[O-]") -smiles(R"O(C[C@@H](COC(=O)CCCCCCCCCCCCCCC)OC(=O)CCCCCCCCCCCCCCCCC)P(=O)(OC[C@H](CO)O)[O-]") -smiles(R"O(C[C@@H](COC(=O)CCCCCCCCCCCCCCC)OC(=O)CCCCCCC/C=C\C/C=C\CCCCC)P(=O)([O-])[O-]") -smiles(R"O(C[C@@H](COC(=O)CCCCCCCCCCCCCCC)OC(=O)CCCCCCCCCCCCCCCCC)P(=O)([O-])[O-]") -smiles(R"O(C[C@@H](COC(=O)CCCCCCCCCCCCCCC)OC(=O)CCCCCCCCCCCCCCC)P(=O)(OC[C@H](CO)O)[O-]") -smiles(R"O(C[C@@H](COC(=O)CCCCCCCCCCCCCCC)OC(=O)CCCCCCCCCCCCCCC)P(=O)([O-])[O-]") -smiles(R"O(C[C@@H](COC(=O)CCCCCCCCCCCCCCC)OC(=O)CCCCCCCCCCCCC)P(=O)([O-])[O-]") -smiles(R"O(C[C@@H](COC(=O)CCCCCCCCCCCCCCC)O)P(=O)(OC[C@H](CO)O)[O-]") -smiles(R"O(C[C@@H](COC(=O)CCCCCCCCCCCCC)OC(=O)CCCCCCCCCCCCCCC)P(=O)(OC[C@H](CO)O)[O-]") -smiles(R"O(C[C@@H](COC(=O)CCCCCCCCCCCCC)O)P(=O)(OC[C@H](CO)O)[O-]") -smiles(R"O(C[C@@H](C(=O)[O-])[NH3+])P(=O)(OCC(CO)O)[O-]") -smiles(R"O(C[C@H](C(=O)[O-])O)P(=O)([O-])[O-]") -smiles(R"O(C[C@@H](CO)O)P(=O)([O-])[O-]") -smiles(R"OC[C@H](COP(=O)(OCC[N+](C)(C)C)[O-])O") -smiles(R"OC[C@@H](COP(=O)([O-])[O-])O") -smiles(R"O(C[C@@H](COP(=O)([O-])[O-])O)C/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)\C)\C)\C)\C") -smiles(R"OC[C@H](C(=O)SC)O") -smiles(R"O(CC[NH+](C)C)P(=O)([O-])[O-]") -smiles(R"O=CC(O)c1c[nH]c2c1cccc2") -smiles(R"OC(C(O)CO)C(O)CO") -smiles(R"OCC(=O)C(=O)[O-]") -smiles(R"O(CC(O)CO)P(=O)([O-])[O-]") -smiles(R"O=C(COP(=O)([O-])[O-])COC(=O)CCCCCCCCCCCCCCC") -smiles(R"O=C(COP(=O)([O-])[O-])C(=O)[O-]") -smiles(R"O[C@H]1[C@@H](C[C@@H]([C@H]([C@@H]1O[C@H]1[C@@H]([C@@H]([C@H](O1)CO)O)O)O[C@H]1O[C@@H]([C@H]([C@@H]([C@H]1[NH3+])O)O)C[NH3+])[NH3+])NC(=O)[C@H](CCNC(=O)CC[C@@H](C(=O)[O-])[NH3+])O") -smiles(R"O[C@H]1[C@@H](C[C@@H]([C@H]([C@@H]1O[C@H]1[C@@H]([C@@H]([C@H](O1)CO)O)O)O[C@H]1O[C@@H]([C@H]([C@@H]([C@H]1[NH3+])O)O)C[NH3+])[NH3+])NC(=O)[C@H](CC[NH3+])O") -smiles(R"O[C@H]1[C@@H](C[C@@H]([C@H]([C@@H]1O)O[C@H]1O[C@@H]([C@H]([C@@H]([C@H]1[NH3+])O)O)C=O)[NH3+])[NH3+]") -smiles(R"O[C@H]1[C@@H](C[C@@H]([C@H]([C@@H]1O)O[C@H]1O[C@@H]([C@H]([C@@H]([C@H]1[NH3+])O)O)CO)[NH3+])[NH3+]") -smiles(R"O([C@H]1[C@H]([C@@H](CC(=C1)C(=O)[O-])O)O)P(=O)([O-])[O-]") -smiles(R"O([C@H]1[C@@H]([C@H](C[C@H]([C@@H]1O)[NH3+])[NH3+])O[C@@H]1[C@@H]([C@H]([C@@H]([C@H](O1)C[NH3+])O)O)[NH3+])[C@@H]1O[C@@H]([C@H]([C@H]1O)O)CO") -smiles(R"O[C@@H]1[C@H]([C@@H]([C@H]([C@@H]([C@@H]1O)OC(=O)Cc1c2ccccc2[nH]c1)O)O)O") -smiles(R"O([C@H]1[C@@H]([C@@H]([C@H]([C@@H](O1)C)O)O)O)c1c(c2cc(c(cc2)O)O)oc2c(c1=O)c(cc(c2)[O-])O") -smiles(R"O([C@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)NC(=O)C)[C@@H]1[C@H](OC([C@@H]([C@H]1O)NC(=O)C)O)CO") -smiles(R"O([C@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)NC(=O)C)[C@@H]1[C@H](OC([C@@H]([C@H]1O)[NH3+])O)CO") -smiles(R"O([C@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)NC(=O)C)[C@@H]1[C@H](O[C@H]([C@@H]([C@H]1O)NC(=O)C)O)CO") -smiles(R"O([C@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)c1cc2c(c(c1)O)C(=O)/C(=C/c1cc(c(cc1)O)O)/O2") -smiles(R"O([C@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)c1cc2c(c(c1)O)C(=O)/C(=C/c1cc(c(c(c1)O)O)O)/O2") -smiles(R"O([C@H]1[C@@H]([C@H]([C@@H]([C@H](O1)COP(=O)([O-])[O-])O)O)NC(=O)C)[C@@H]1[C@H](OC([C@@H]([C@H]1O)NC(=O)C)O)CO") -smiles(R"O([C@H]1[C@@H]([C@H]([C@@H]([C@H](O1)COP(=O)([O-])[O-])O)O)NC(=O)C)[C@@H]1[C@H](OC([C@@H]([C@H]1O)[NH3+])O)CO") -smiles(R"O[C@@H]1[C@H]([C@@H](O[C@@H]([C@H]1O)CO)O[C@H]1[C@@H]([C@H]([C@H](O[C@@H]1CO)OP(=O)(OP(=O)(OC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)/C)/C)/C)/C)/C)/C)/C)/C)[O-])[O-])O)O)O") -smiles(R"O[C@@H]1[C@H]([C@@H](O[C@@H]([C@@H]1O)CO)O[C@@H]1[C@H]([C@H](C(O[C@H]1C)O)O)O)O") -smiles(R"O[C@@H]1[C@H]([C@H](O[C@@H]([C@H]1O)CO)OP(=O)(OP(=O)(OC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)/C)/C)/C)/C)/C)/C)/C)/C)[O-])[O-])O") -smiles(R"O[C@@H]1[C@H](O[C@H]2[C@@H]1OP(=O)(O2)[O-])COP(=O)([O-])[O-]") -smiles(R"O[C@@H]1[C@@H](O)[C@@H](C[C@@H]([C@H]1O[C@H]1O[C@@H]([C@H]([C@@H]([C@H]1[NH3+])O)O)C[NH3+])[NH3+])[NH3+]") -smiles(R"O[C@@H]1[C@@H](O)[C@@H](C[C@@H]([C@H]1O[C@H]1O[C@@H]([C@H]([C@@H]([C@H]1O)O)O)C[NH3+])[NH3+])[NH3+]") -smiles(R"O[C@@H]1[C@@H](O)[C@@H](C[C@@H]([C@H]1O[C@H]1O[C@@H]([C@H]([C@@H]([C@H]1O)O)O)C=O)[NH3+])[NH3+]") -smiles(R"O[C@H]1[C@@H](O[C@H]([C@@H]1O)[C@@H](CO)O[C@@H]1O[C@H]([C@@H]([C@H]1O)O)[C@@H](CO[C@@H]1O[C@H]([C@@H]([C@H]1O)O)[C@@H](CO)O[C@@H]1O[C@H]([C@@H]([C@H]1O)O)[C@@H](CO[C@@H]1O[C@H]([C@@H]([C@H]1O)O)[C@@H](CO)O[C@@H]1O[C@H]([C@@H]([C@H]1O)O)[C@@H](CO[C@@H]1O[C@H]([C@@H]([C@H]1O)O)[C@@H](CO)O[C@@H]1O[C@H]([C@@H]([C@H]1O)O)[C@@H](CO[C@@H]1O[C@H]([C@@H]([C@H]1O)O)[C@@H](CO)O[C@@H]1O[C@H]([C@@H]([C@H]1O)O)[C@@H](CO[C@@H]1O[C@H]([C@@H]([C@H]1O)O)[C@@H](CO)O[C@@H]1O[C@H]([C@@H]([C@H]1O)O)[C@@H](CO[C@@H]1O[C@H]([C@@H]([C@H]1O)O)[C@@H](CO)O[C@@H]1O[C@H]([C@@H]([C@H]1O)O)[C@@H](CO[C@@H]1O[C@H]([C@@H]([C@H]1O)O)[C@@H](CO)O[C@@H]1O[C@H]([C@@H]([C@H]1O)O)[C@@H](CO)O)O)O)O)O)O)O)O)OC[C@@H](O)[C@@H]1O[C@@H](O[C@H](CO)[C@@H]2O[C@@H](OC[C@@H](O)[C@@H]3O[C@@H](O[C@H](CO)[C@@H]4O[C@@H](OC[C@@H](O)[C@@H]5O[C@@H](O[C@H](CO)[C@@H]6O[C@@H](OC[C@@H](O)[C@@H]7O[C@@H](O[C@H](CO)[C@@H]8O[C@@H](OC[C@@H](O)[C@@H]9O[C@@H](O[C@H](CO)[C@@H]%10O[C@@H](OC[C@@H](O)[C@@H]%11O[C@@H](O[C@H](CO)[C@@H]%12O[C@H]([C@H](O)[C@H]%12O)OC[C@@H](O)[C@@H]%12O[C@@H](O[C@H](CO)[C@@H]%13O[C@H]([C@H](O)[C@H]%13O)O[C@@H]%13[C@H]([C@H]([C@@H](O[C@H]%13C)O[C@@H]%13[C@H]([C@@H](OP(=O)(OP(=O)(OC/C=C(/C)\CC/C=C(/C)\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(/CCC=C(C)C)\C)/C)/C)/C)/C)/C)/C)[O-])[O-])O[C@@H]([C@H]%13O)CO)NC(=O)C)O)O)[C@H](O)[C@H]%12O)[C@H](O)[C@H]%11O)[C@H](O)[C@H]%10O)[C@H](O)[C@H]9O)[C@H](O)[C@H]8O)[C@H](O)[C@H]7O)[C@H](O)[C@H]6O)[C@H](O)[C@H]5O)[C@H](O)[C@H]4O)[C@H](O)[C@H]3O)[C@H](O)[C@H]2O)[C@H](O)[C@H]1O") -smiles(R"O[C@@H]1[C@H](O[C@@H]([C@@H]([C@H]1O)NC(=O)C)O[C@H](C(=O)[O-])CC(=O)[O-])CO") -smiles(R"O[C@@H]1[C@H](O[C@@H]([C@@H]([C@H]1O)[NH3+])O[C@H](C(=O)[O-])CC(=O)[O-])CO") -smiles(R"O[C@@H]1[C@H](O[C@@H](O[C@@H]2[C@H](O[C@H](OP(=O)(OP(=O)(OC/C=C(/C)\CC/C=C(/C)\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)/C)/C)/C)/C)/C)/C)[O-])[O-])[C@@H]([C@H]2O)NC(=O)C)CO)[C@H]([C@H]1O)NC(=O)C)C(=O)[O-]") -smiles(R"O([C@@H]1[C@H](O)[C@H](O)[C@H]([C@H](O)[C@H]1O)O)P(=O)([O-])OC[C@@H]([C@@H](CCCCCCCCCCCCCCC)O)NC(=O)CCCCCCCCCCCCCCCCCCCCCCC") -smiles(R"O([C@@H]1[C@H](O)[C@H](O)[C@H]([C@H](O)[C@H]1O)O)P(=O)([O-])OC[C@@H]([C@@H](CCCCCCCCCCCCCCC)O)NC(=O)CCCCCCCCCCCCCCCCCCCCCCCCC") -smiles(R"O([C@@H]1[C@H](O)[C@H](O)[C@H]([C@H](O)[C@H]1O)O)P(=O)([O-])OC[C@@H]([C@@H](CCCCCCCCCCCCCCC)O)NC(=O)[C@H](CCCCCCCCCCCCCCCCCCCCCCCC)O") -smiles(R"O[C@@H]1[C@H](O[C@H](OP(=O)(C)[O-])[C@@H]1O)COP(=O)([O-])[O-]") -smiles(R"O[C@@H]1[C@H](O[C@H](OP(=O)(C)[O-])[C@@H]1O)COP(=O)(OP(=O)(OP(=O)(O)[O-])[O-])[O-]") -smiles(R"O[C@@H]1[C@H](O[C@H](OP(=O)([O-])[O-])[C@@H]1O)CO") -smiles(R"O[C@@H]1[C@H](O[C@H](OP(=O)([O-])[O-])[C@@H]1O)COP(=O)([O-])[O-]") -smiles(R"O[C@H]1[C@H](OC(=O)/C=C/c2ccc(cc2)O)C[C@@](O)(C[C@H]1O)C(=O)[O-]") -smiles(R"O[C@H]1C(O[C@H]([C@@H]([C@H]1O[C@@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)O)C)O") -smiles(R"O[C@@H]1O[C@@H]([C@H]([C@@H]([C@H]1NC(=O)C)O)O[C@@H]1O[C@H](CO[C@]2(O[C@H]([C@@H]([C@H](C2)O)NC(=O)C)[C@@H]([C@@H](CO)O)O)C(=O)[O-])[C@@H]([C@@H]([C@H]1O)O)O)CO") -smiles(R"O([C@@H]1O[C@@H]([C@H]([C@@H]([C@H]1O)O)O)CO)C(=O)Cc1c2ccccc2[nH]c1") -smiles(R"O([C@@H]1O[C@@H]([C@H]([C@H](O)[C@H]1O)O)CO)[C@H]1Oc2ccccc2N(C1=O)O") -smiles(R"O([C@@H]1O[C@@H]([C@H]([C@H](O)[C@H]1O)O)CO)[C@H]1Oc2cc(ccc2N(C1=O)O)O") -smiles(R"O[C@@H]1O[C@@H]([C@H]([C@H](O)[C@H]1O)O)CO[C@@H]1O[C@H]([C@H](O)[C@@H](O)[C@H]1O)C") -smiles(R"O[C@H](c1ccccc1)[C@@H](c1ccccc1)O") -smiles(R"O[C@H](Cc1ccccc1)C(=O)[O-]") -smiles(R"O[C@@H](CC(=O)C(=O)[O-])[C@@H](O)C=O") -smiles(R"O[C@@H](CC(=O)C(=O)[O-])[C@@H](OS(=O)(=O)[O-])C=O") -smiles(R"O([C@@H](CC(=O)[O-])C)C(=O)C[C@@H](C)O") -smiles(R"O[C@@H](C(=O)OCC)[C@@H](C)C(=O)OCC") -smiles(R"OCl") -smiles(R"O=[Cl][O-]") -smiles(R"[O-][Cl](=O)=O") -smiles(R"O=C(N)[C@H]1[NH2+]CCC1") -smiles(R"OC/N=[N+](/C)\[O-]") -smiles(R"[O-]C(=O)C1(C(=NC(=O)N1)NC(=O)N)O") -smiles(R"[O-]C(=O)c1nccnc1") -smiles(R"O(C(=O)Cc1c[nH]c2c1cccc2)C") -smiles(R"[O-]C(=O)C(C)C") -smiles(R"O=CO/C=C(/CCC1=C(CCCC1(C)C)C)\C") -smiles(R"O=C([O-])CCCCC[C@H](O)[C@H](/C=C\C/C=C\CCCCC)O") -smiles(R"[O-]C(=O)CC(CCC(C)O)C(=C)C") -smiles(R"[O-]C(=O)C/C(=C/C=C(/C(=O)[O-])\O)/C(=O)[O-]") -smiles(R"[O-]C(=O)CC(CCCNC(=O)C)[NH3+]") -smiles(R"[O-]C(=O)/C(=C/C=C/C(=O)/C=C/C(=O)[O-])/O") -smiles(R"[O-]C(=O)/C(=C\C=C/C(=O)/C=C/C(=O)[O-])/O") -smiles(R"[O-]C(=O)/C(=C\C=C/C(=O)CCC(=O)[O-])/O") -smiles(R"[O-]C(=O)CC(/C=C/C(=O)C(=O)[O-])C(=O)[O-]") -smiles(R"[O-]C(=O)CCC(CC(=O)C(=O)[O-])O") -smiles(R"[O-]C(=O)CCCCC(=O)[O-]") -smiles(R"[O-]C(=O)CCC[C@@H](C(=O)[O-])NC(=O)C") -smiles(R"O(C(=O)CCC[C@@H](C(=O)[O-])NC(=O)C)P(=O)([O-])[O-]") -smiles(R"[O-]C(=O)CCC[C@@H](C(=O)[O-])[NH3+]") -smiles(R"O=C([O-])CCCCO") -smiles(R"[O-]C(=O)C/C=C/C(=O)C(=O)[O-]") -smiles(R"[O-]C(=O)CC(CC(=O)[O-])[NH3+]") -smiles(R"[O-]C(=O)CC[C@@H](C(=O)[O-])NC(=O)[C@@H]([NH3+])C") -smiles(R"[O-]C(=O)CC[C@H](NC(=O)C[NH3+])C(=O)[O-]") -smiles(R"O=C([O-])/C=C/C[N+](C)(C)C") -smiles(R"O=C([O-])CCC[NH2+]C") -smiles(R"[O-]C(=O)/C=C\C(=O)CC(=O)CC(=O)[O-]") -smiles(R"[O-]C(=O)CC(C(=O)[O-])Cc1ccccc1") -smiles(R"[O-]C(=O)[C@](CC(=O)[O-])(C)O") -smiles(R"[O-]C(=O)[C@@](CC(=O)[O-])(C)O") -smiles(R"[O-]C(=O)C(CC(=O)[O-])(C)O") -smiles(R"[O-]C(=O)/C(=C/C(=O)[O-])/O") -smiles(R"[O-]C(=O)/C(=C(/C(=O)[O-])\O)/O") -smiles(R"[O-]C(=O)C(C(C(=O)[O-])O)O") -smiles(R"[O-]C(=O)C[C@@H](CC[C@@H](C)O)C(=C)C") -smiles(R"[O-]C(=O)C[C@H](CC[C@@H](C)O)C(=C)C") -smiles(R"[O-]C(=O)C[C@@H]([C@H](C(=O)[O-])O)C(=O)[O-]") -smiles(R"[O-]C(=O)C[C@H](C(=O)[O-])Cc1ccccc1") -smiles(R"[O-]C(=O)C([C@H](C(=O)[O-])O)(C)C") -smiles(R"[O-]C(=O)CC[NH2+][C@@H](C(=O)[O-])C") -smiles(R"[O-]C(=O)CC[N+](=O)[O-]") -smiles(R"O=C([O-])CC(=O)c1ccccc1") -smiles(R"O(C(=O)C(CO)c1ccccc1)[C@@H]1C[C@H]2CC[C@@H](C1)[NH+]2C") -smiles(R"[O-]C(=O)CC(=O)CCCNC(=O)C") -smiles(R"[O-]C(=O)CC(=O)/C=C/C(=O)[O-]") -smiles(R"O=C([O-])CC(=O)/C=C\C(=O)[O-]") -smiles(R"[O-]C(=O)CCSC") -smiles(R"O=C([O-])[C@H]1CCC[NH2+]1") -smiles(R"[O-]C(=O)[C@H]1N(CCC1)C(=O)C[NH3+]") -smiles(R"O=C([O-])[C@H]1[NH2+]CCC1") -smiles(R"[O-]C(=O)[C@H](CCC[C@@H](C(=O)[O-])NC(=O)CCC(=O)[O-])[NH3+]") -smiles(R"[O-]C(=O)[C@H](CCCCN(C(=O)C)O)[NH3+]") -smiles(R"[O-]C(=O)[C@H](CC(C)C)[NH3+]") -smiles(R"[O-]C(=O)[C@@H](CCCC[NH3+])[NH3+]") -smiles(R"[O-]C(=O)[C@H](CCCC[NH3+])[NH3+]") -smiles(R"[O-]C(=O)[C@H](CCC(=O)NCCCC(=O)[O-])[NH3+]") -smiles(R"[O-]C(=O)[C@H](CCC(=O)N[C@H](C(=O)NCC(=O)NCCC[NH2+]CCCC[NH3+])CS)[NH3+]") -smiles(R"[O-]C(=O)[C@H](CCC(=O)N[C@H](C(=O)NCC(=O)[O-])CSS)[NH3+]") -smiles(R"[O-]C(=O)[C@H](CCC(=O)[O-])NC=[NH2+]") -smiles(R"[O-]C(=O)[C@H](CC)O") -smiles(R"[O-]C(=O)[C@H](CC(=O)N)[NH3+]") -smiles(R"[O-]C(=O)[C@H](CC(=O)NO)[NH3+]") -smiles(R"[O-]C(=O)[C@H](CC[S@](=O)C)[NH3+]") -smiles(R"[O-]C(=O)[C@H](CC[S@@](=O)C)[NH3+]") -smiles(R"[O-]C(=O)[C@H]([C@@H]([C@H](O)CO)O)O") -smiles(R"[O-]C(=O)[C@H]([C@@H](CO)O)[NH3+]") -smiles(R"[O-]C(=O)[C@@H]([C@H](C(=O)[O-])O)O") -smiles(R"[O-]C(=O)[C@H]([C@@H](C(=O)[O-])O)O") -smiles(R"[O-]C(=O)[C@@H]([C@@H](COP(=O)([O-])[O-])O)O") -smiles(R"O=C([O-])[C@@H](C)[NH2+]CC(=O)[O-]") -smiles(R"O(C(=O)[C@H](CO)c1ccccc1)[C@@H]1C[C@H]2CC[C@@H](C1)[NH+]2C") -smiles(R"[O-]C(=O)[C@H](C(=O)[C@@H]([C@H](CO)O)O)O") -smiles(R"O=C([O-])[C@H](CO)NC(=O)c1cccc(c1O)O") -smiles(R"O=C([O-])[C@@H](CO)O") -smiles(R"[O-]C(=O)[C@@H](COP(=O)([O-])[O-])[NH3+]") -smiles(R"[O-]C(=O)[C@H](COP(=O)([O-])[O-])[NH3+]") -smiles(R"[O-]C(=O)[C@H](CS(=O)(=O)[O-])[NH3+]") -smiles(R"[O-]C(=O)[C@@H](N)C(=O)C") -smiles(R"O=C([O-])[C@@H](NC(=O)C)CCC=O") -smiles(R"O=C([O-])[C@H](NC(=O)[C@H]([NH3+])C)C") -smiles(R"[O-]C(=O)[C@@H](NC(=O)N)CC(=O)[O-]") -smiles(R"[O-]C(=O)[C@H](NC(=O)N)[NH3+]") -smiles(R"O=C([O-])[C@@H]([NH3+])Cc1cc(c(c(c1)I)[O-])I") -smiles(R"O=C([O-])[C@@H]([NH3+])Cc1ccc(cc1)O") -smiles(R"O=C([O-])[C@H]([NH3+])Cc1ccc(cc1)O") -smiles(R"O=C([O-])[C@@H]([NH3+])C(C)C") -smiles(R"[O-]C(=O)[C@@H]([NH3+])CCCC[N+](C)(C)C") -smiles(R"[O-]C(=O)[C@@H]([NH3+])C(CCC[N+](C)(C)C)O") -smiles(R"O=C([O-])[C@@H]([NH3+])CCCNC(=[NH2+])N") -smiles(R"O=C([O-])[C@H]([NH3+])CCCNC(=[NH2+])N") -smiles(R"O=C([O-])[C@H]([NH3+])CCC(=O)N") -smiles(R"O=C([O-])[C@@H]([NH3+])CCC(=O)[O-]") -smiles(R"O=C([O-])[C@H]([NH3+])CCC(=O)[O-]") -smiles(R"[O-]C(=O)[C@@H]([NH3+])CC(C(=O)[O-])O") -smiles(R"[O-]C(=O)[C@@H]([NH3+])CC=O") -smiles(R"O=C([O-])[C@@H]([NH3+])CC(=O)[O-]") -smiles(R"O=C([O-])[C@H]([NH3+])CC(=O)[O-]") -smiles(R"[O-]C(=O)[C@@H]([NH3+])CC(=O)OP(=O)([O-])[O-]") -smiles(R"O=C([O-])[C@@H]([NH3+])CCSC") -smiles(R"O=C([O-])[C@H]([NH3+])CCSC") -smiles(R"[O-]C(=O)[C@@H]([NH3+])[C@H](CC)C") -smiles(R"[O-]C(=O)[C@H]([NH3+])[C@@H](C(=O)[O-])O") -smiles(R"O=C([O-])[C@@H]([NH3+])[C@H](O)C") -smiles(R"O=C([O-])[C@H]([NH3+])[C@@H](O)C") -smiles(R"[O-]C(=O)[C@@H]([NH3+])[C@H](O)CF") -smiles(R"[O-]C(=O)[C@@H](NO)C(C)C") -smiles(R"[O-]C(=O)[C@@H](NO)[C@H](CC)C") -smiles(R"[O-]C(=O)[C@@H](N(O)O)C(C)C") -smiles(R"[O-]C(=O)[C@@H](N(O)O)[C@H](CC)C") -smiles(R"[O-]C(=O)[C@@H](O)CCC(=O)[O-]") -smiles(R"[O-]C(=O)[C@H](O)CCC(=O)[O-]") -smiles(R"[O-]C(=O)[C@H](OS(=O)(=O)[O-])C") -smiles(R"[O-]C(=O)CN(C(=[NH2+])NP(=O)([O-])[O-])C") -smiles(R"[O-]C(=O)CNC(=O)[C@@H](NC(=O)CC[C@@H](C(=O)[O-])[NH3+])CSCO") -smiles(R"[O-]C(=O)C(NC(=O)N)[NH3+]") -smiles(R"O=C([O-])C([NH3+])CCCCCCCCSC") -smiles(R"O=C([O-])C([NH3+])CCCCCCCSC") -smiles(R"O=C([O-])C([NH3+])CCCCCCSC") -smiles(R"O=C([O-])C([NH3+])CCCCCSC") -smiles(R"O=C([O-])C([NH3+])CCCCSC") -smiles(R"O=C([O-])C([NH3+])CCC(=O)[O-]") -smiles(R"O=C([O-])C([NH3+])CCSC") -smiles(R"O=C([O-])C[NH+](C)C") -smiles(R"O=C([O-])C(NO)CCCCCCCCSC") -smiles(R"O=C([O-])C(NO)CCCCCCCSC") -smiles(R"O=C([O-])C(NO)CCCCCCSC") -smiles(R"O=C([O-])C(NO)CCCCCSC") -smiles(R"O=C([O-])C(NO)CCCCSC") -smiles(R"O=C([O-])C(N(O)O)CCCCCCCCSC") -smiles(R"O=C([O-])C(N(O)O)CCCCCCCSC") -smiles(R"O=C([O-])C(N(O)O)CCCCCCSC") -smiles(R"O=C([O-])C(N(O)O)CCCCCSC") -smiles(R"O=C([O-])C(N(O)O)CCCCSC") -smiles(R"O=C([O-])C=O") -smiles(R"[O-]C(=O)C(=O)C(C)C") -smiles(R"[O-]C(=O)C(=O)CCC[C@@H](C(=O)[O-])NC(=O)CCC(=O)[O-]") -smiles(R"[O-]C(=O)C(=O)CCCC[NH3+]") -smiles(R"[O-]C(=O)C(=O)/C=C\CC(=O)[O-]") -smiles(R"[O-]C(=O)C(=O)CCCNC(=[NH2+])N") -smiles(R"[O-]C(=O)C(=O)CCC(=O)NC") -smiles(R"[O-]C(=O)C(O)CCC(=O)[O-]") -smiles(R"[O-]C(=O)C(=O)C[C@@H](C(=O)[O-])O") -smiles(R"[O-]C(=O)C(=O)[C@H]([C@@H]([C@@H](CO)O)O)O") -smiles(R"[O-]C(=O)C(=O)CS") -smiles(R"[O-]C(=O)CSC") -smiles(R"O(C(=O)N)CC") -smiles(R"O=C(O)[O-]") -smiles(R"[O-][Cr](=O)(=O)[O-]") -smiles(R"O=C=S") -smiles(R"O=C(SC[C@H](NC(=O)CC[C@H]([NH3+])C(=O)[O-])C(=O)NCC(=O)[O-])[C@@H](C)O") -smiles(R"O=[Mo](=O)([O-])[O-]") -smiles(R"[O-][N+](=CCC(=O)[O-])[O-]") -smiles(R"O=N[O-]") -smiles(R"[O][O-]") -smiles(R"O=O") -smiles(R"OO") -smiles(R"[O-]P(=O)CC(=O)C(=O)[O-]") -smiles(R"[O-]P(=O)(CC(=O)C(=O)[O-])O") -smiles(R"O=P(OC(=O)C)([O-])[O-]") -smiles(R"O=P(OC=O)([O-])[O-]") -smiles(R"O(P(=O)(OC/C=C(/C)\CC/C=C(/C)\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(/CCC=C(C)C)\C)/C)/C)/C)/C)/C)/C)[O-])[C@@H]1O[C@@H]([C@H](C1=O)O)CO") -smiles(R"O(P(=O)(OC/C=C(/C)\CC/C=C(/C)\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(/CCC=C(C)C)\C)/C)/C)/C)/C)/C)/C)[O-])[C@@H]1O[C@@H]([C@H]([C@@H]1O)O)CO") -smiles(R"O(P(=O)(OC/C=C(/C)\CC/C=C(/C)\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(/CCC=C(C)C)\C)/C)/C)/C)/C)/C)/C)[O-])[C@@H]1O[C@@H]([C@H]([C@H]1O)O)CO") -smiles(R"O(P(=O)(OC/C=C(/C)\CC/C=C(/C)\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(/CCC=C(C)C)\C)/C)/C)/C)/C)/C)/C)[O-])[C@@H]1O[C@@H]([C@H]([C@H]1O)O)COP(=O)([O-])[O-]") -smiles(R"O(P(=O)(OC/C=C(/C)\CC/C=C(/C)\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(/CCC=C(C)C)\C)/C)/C)/C)/C)/C)/C)[O-])P(=O)([O-])O[C@H]1[C@@H]([C@@H](O[C@H]2[C@@H]([C@@H]([C@@H](O[C@@H]3[C@H]([C@H]([C@@H]([C@H](O3)CO)O)O[C@@H]3[C@@H](C[C@H]([C@@H](C)O3)O)O)O)[C@@H](O2)C)O)O)[C@H]([C@H](O1)CO)O)O") -smiles(R"O(P(=O)(OC/C=C(/C)\CC/C=C(/C)\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(/CCC=C(C)C)\C)/C)/C)/C)/C)/C)/C)[O-])P(=O)([O-])O[C@H]1[C@@H]([C@@H](O[C@H]2[C@@H]([C@@H]([C@@H](O[C@@H]3[C@H]([C@H]([C@@H]([C@H](O3)CO)O)O)O)[C@@H](O2)C)O)O)[C@H]([C@H](O1)CO)O)O") -smiles(R"[O-]P(=O)(OCCC(=C)C)[O-]") -smiles(R"[O-]P(=O)(OC[C@H]([C@H]([C@@H](CC(=O)C(=O)[O-])O)O)O)[O-]") -smiles(R"[O-]P(=O)(OC[C@H]([C@@H]([C@@H]([C@H](C=O)O)O)O)O)[O-]") -smiles(R"[O-]P(=O)(OC[C@@H](COC(=O)CCCCCCCCCCCCC)O)[O-]") -smiles(R"[O-]P(=O)(OC[C@@H](COC(=O)CCCCCCCCCCC)O)[O-]") -smiles(R"[O-]P(=O)(OC(=O)CC)[O-]") -smiles(R"[O-]P(=O)(OC(=O)[C@H](CCC(=O)[O-])[NH3+])[O-]") -smiles(R"O=P([O-])([O-])N") -smiles(R"O(P(=O)([O-])[O-])C[C@H]([C@H](CC(=O)C(=O)[O-])O)O") -smiles(R"O(P(=O)([O-])[O-])CC(=O)[C@@H]([C@@H]([C@H](C)O)O)O") -smiles(R"O(P(=O)([O-])[O-])CC(=O)[C@H]([C@@H]([C@H](C)O)O)O") -smiles(R"O(P(=O)([O-])[O-])P(=O)(OCC=C(C)C)[O-]") -smiles(R"O(P(=O)([O-])[O-])P(=O)(OCCC(=C)C)[O-]") -smiles(R"O(P(=O)([O-])[O-])P(=O)(OC/C=C(/CO)\C)[O-]") -smiles(R"[O-]P(=O)([O-])OP(=O)(O)[O-]") -smiles(R"O=P([O-])([O-])OP(=O)([O-])OC/C=C(\C)/CC/C=C(\C)/CC/C=C(\C)/CC/C=C(\C)/CC/C=C(\C)/CC/C=C(\C)/CC/C=C(\C)/CC/C=C(\C)/CCC=C(C)C") -smiles(R"O(P(=O)([O-])OP(=O)([O-])OC[C@@H]1[C@H]([C@H]([C@H](n2c3nc([nH]c(=O)c3nc2)N)O1)O)O)C[C@H]1O[C@H]2Nc3nc([nH]c(=O)c3N[C@H]2C2=C1S[Mo](=O)(=O)S2)N") -smiles(R"O(P(=O)([O-])OP(=O)([O-])OC[C@@H]1[C@H]([C@H]([C@H](n2c(=O)nc(cc2)N)O1)O)O)C[C@H]1O[C@H]2Nc3nc([nH]c(=O)c3N[C@H]2C2=C1S[Mo](=O)(=O)S2)N") -smiles(R"[O-]P(=O)([O-])OP(=O)([O-])OP(=O)([O-])[O-]") -smiles(R"O(P(=O)([O-])OP(=O)([O-])OP(=O)([O-])OP(=O)([O-])OP(=O)([O-])OP(=O)([O-])OC[C@@H]1[C@H]([C@H]([C@H](n2cnc3c(N)ncnc23)O1)O)O)C[C@@H]1[C@H]([C@H]([C@H](n2cnc3c2ncnc3N)O1)O)O") -smiles(R"O(P(=O)(OP(=O)(OC1O[C@@H]([C@H]([C@@H]([C@H]1NC(=O)C)O)O[C@@H]1O[C@@H]([C@H]([C@@H]([C@@H]1NC(=O)C)O)O)CO)CO)[O-])[O-])C/C=C(/C)\CC/C=C(/C)\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)/C)/C)/C)/C)/C)/C") -smiles(R"O(P(=O)(OP(=O)(OC1O[C@@H]([C@H]([C@@H]([C@H]1NC(=O)C)O)O[C@@H]1O[C@@H]([C@H]([C@@H]([C@H]1O)O)O)CO)CO)[O-])[O-])C/C=C(/C)\CC/C=C(/C)\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)/C)/C)/C)/C)/C)/C") -smiles(R"O(P(=O)(OP(=O)(OC1O[C@@H]([C@H]([C@@H]([C@H]1NC(=O)C)O)O)CO)[O-])[O-])C/C=C(/C)\CC/C=C(/C)\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)/C)/C)/C)/C)/C)/C") -smiles(R"[O-]P(=O)(OP(=O)(OC/C=C(/CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)\C)[O-])[O-]") -smiles(R"O(P(=O)(OP(=O)(OC[C@H]1O[C@H]([C@@H]([C@@H]1O)O)n1cnc2c1ncnc2N)[O-])[O-])C[C@H]1O[C@@H]([C@@H]([C@@H]1O)O)NC(=[NH2+])NCCC[C@@H](C(=O)[O-])[NH3+]") -smiles(R"[O-]P(=O)(OP(=O)(O[C@@H]1C2(C(C(C1)CC2)(C)C)C)[O-])[O-]") -smiles(R"O(P(=O)(OP(=O)(O[C@@H]1[C@@H]([C@@H](O[C@H]2[C@@H]([C@@H]([C@@H](O)[C@@H](O2)C)O)O)[C@@H]([C@H](O1)CO)O)NC(=O)C)[O-])[O-])C/C=C(/C)\CC/C=C(/C)\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(/CCC=C(C)C)\C)/C)/C)/C)/C)/C)/C") -smiles(R"O(P(=O)(OP(=O)(O[C@H]1O[C@@H]([C@H]([C@@H]([C@H]1NC(=O)C)O[C@@H]1[C@@H]([C@H]([C@H]([C@H](O1)CO)O)O)NC(=O)C)NC(=O)C)C)[O-])[O-])C/C=C(/C)\CC/C=C(/C)\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\C)/CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)/C)/C)/C)/C)/C") -smiles(R"O(P(=O)(OP(=O)(O[C@H]1O[C@@H]([C@H]([C@@H]([C@H]1NC(=O)C)O[C@@H](C(=O)N[C@H](C(=O)N[C@H](CCC(=O)N[C@H](C(=O)N[C@@H](C(=O)N[C@@H](C(=O)[O-])C)C)CCC[C@H](C(=O)[O-])[NH3+])C(=O)[O-])C)C)O[C@@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)NC(=O)C)CO)[O-])[O-])C/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(/C)\CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)/C)/C)/C)/C)/C)/C)/C") -smiles(R"O(P(=O)(OP(=O)(O[C@H]1O[C@@H]([C@H]([C@@H]([C@H]1NC(=O)C)O[C@@H](C(=O)N[C@H](C(=O)N[C@H](CCC(=O)N[C@H](C(=O)N[C@@H](C(=O)N[C@@H](C(=O)[O-])C)C)CCC[C@H](C(=O)[O-])[NH3+])C(=O)[O-])C)C)O)CO)[O-])[O-])C/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(/C)\CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)/C)/C)/C)/C)/C)/C)/C") -smiles(R"O(P(=O)(OP(=O)(O[C@H]1O[C@@H]([C@H]([C@@H]([C@H]1NC(=O)C)O)NC(=O)C)C)[O-])[O-])C/C=C(/C)\CC/C=C(/C)\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\C)/CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)/C)/C)/C)/C)/C") -smiles(R"O(P(=O)(OP(=O)(O[C@@H]1O[C@@H]([C@H]([C@@H]([C@H]1NC(=O)C)O)O[C@@H]1O[C@@H]([C@H]([C@@H]([C@@H]1NC(=O)C)O)O)COP(=O)(OCC(O)CO)[O-])CO)[O-])[O-])C/C=C(/C)\CC/C=C(/C)\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)/C)/C)/C)/C)/C)/C") -smiles(R"O(P(=O)(OP(=O)(O[C@H]1O[C@@H]([C@H]([C@@H]([C@H]1NC(=O)C)O)O)CO)[O-])[O-])C/C=C(/C)\CC/C=C(/C)\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(/CCC=C(C)C)\C)/C)/C)/C)/C)/C)/C") -smiles(R"O(P(=O)(OP(=O)(O[C@H]1O[C@@H]([C@H]([C@@H]([C@H]1NC(=O)C)O)O)CO)[O-])[O-])C/C=C(/C)\CC/C=C(/C)\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)/C)/C)/C)/C)/C)/C") -smiles(R"O(P(=O)(OP(=O)([O-])[O-])[O-])C/C=C(\CCC=C(C)C)/C") -smiles(R"[O-]P(=O)(OP(=O)([O-])[O-])OC/C=C(\CC/C=C(\CCC=C(C)C)/C)/C") -smiles(R"[O-]P(=O)(OP(=O)(OP(=O)(OC[C@H]1O[C@@H](n2c3ncnc(N)c3nc2)[C@@H]([C@@H]1O)OP(=O)(OC[C@H]1O[C@H]([C@@H]([C@@H]1O)OP(=O)([O-])OC[C@H]1O[C@H]([C@@H]([C@@H]1O)O)n1c2ncnc(N)c2nc1)n1c2ncnc(N)c2nc1)[O-])[O-])[O-])[O-]") -smiles(R"O=[Se](O)O") -smiles(R"O=S(=O)(C)C") -smiles(R"O=S(=O)(C[C@@H](C(=O)[O-])OP(=O)([O-])[O-])[O-]") -smiles(R"[O-]S(=O)[O-]") -smiles(R"O=S(=O)([O-])CCO") -smiles(R"O=S(=O)([O-])OC") -smiles(R"[O-]S(=O)(=O)SSS(=O)(=O)[O-]") -smiles(R"O=[Te](O)O") -smiles(R"O=[W](=O)([O-])[O-]") -smiles(R"P1(=O)(OC(CO1)CO)[O-]") -smiles(R"P1(=O)(O[C@@H]2[C@H](O[C@H]([C@@H]2O)n2cnc3c2ncnc3N)COP(=O)(O[C@@H]2[C@H](O[C@H]([C@@H]2O)n2cnc3c2ncnc3N)CO1)[O-])[O-]") -smiles(R"P1(=O)(O[C@@H]2[C@H](O[C@H]([C@@H]2O)n2cnc3c2ncnc3N)COP(=O)(O[C@@H]2[C@H](O[C@H]([C@@H]2O)n2cnc3c2nc([nH]c3=O)N)CO1)[O-])[O-]") -smiles(R"P1(=O)(O[C@@H]2[C@H](O[C@H]([C@@H]2O)n2cnc3c2nc([nH]c3=O)N)COP(=O)(O[C@@H]2[C@H](O[C@H]([C@@H]2O)n2cnc3c2nc([nH]c3=O)N)CO1)[O-])[O-]") -smiles(R"P(=O)(C[C@H](C)O)([O-])O") -smiles(R"P(=O)(CC(=O)[O-])([O-])O") -smiles(R"P(=O)(Oc1ccc(cc1)[N+](=O)[O-])([O-])[O-]") -smiles(R"P(=O)(OC/C=C/1\S[C@@H](N=C1C)C(=O)[O-])([O-])[O-]") -smiles(R"P(=O)(OCCc1sc(nc1C)C(=O)[O-])([O-])[O-]") -smiles(R"P(=O)(OCCc1scnc1C)([O-])[O-]") -smiles(R"P(=O)(OC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)\C)\C)\C)\C)\C)\C)\C)(OP(=O)([O-])[O-])[O-]") -smiles(R"P(=O)(OC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)\C)\C)\C)\C)\C)(OP(=O)([O-])[O-])[O-]") -smiles(R"P(=O)(OC(C)C)(OC(C)C)F") -smiles(R"P(=O)(OCC(C(=O)[O-])[NH3+])(OCC[NH3+])[O-]") -smiles(R"P(=O)(OC(=C)C(=O)[O-])([O-])C(=O)[O-]") -smiles(R"P(=O)(OC(=C)C(=O)[O-])([O-])[O-]") -smiles(R"P(=O)(OCC(C=O)O)([O-])[O-]") -smiles(R"P(=O)(OC[C@H]1O[C@@H](n2c3c(nc2)c(ncn3)N)[C@@H]([C@@H]1O)O)(Nc1c(cccc1)C(=O)[O-])[O-]") -smiles(R"P(=O)(OC[C@H]([C@](CO)(O)C)O)([O-])[O-]") -smiles(R"P(=O)(OC[C@H]([C@H]([C@@H]([C@H](C(=O)[O-])O)O)O)O)([O-])[O-]") -smiles(R"P(=O)(OC[C@H]([C@H]([C@H](CO)O)O)O)([O-])[O-]") -smiles(R"P(=O)(OC[C@@H]([C@H](C(=O)[C@@H](C(=O)[O-])O)O)O)([O-])[O-]") -smiles(R"P(=O)(OC[C@H]([C@@H](C(=O)[O-])[NH3+])O)([O-])[O-]") -smiles(R"P(=O)(OC[C@H](COC/C=C(/CC/C=C(\C)/CC/C=C(/CCC=C(C)C)\C)\C)OC/C=C(/CC/C=C(\C)/CC/C=C(/CCC=C(C)C)\C)\C)(OC[C@@H](C(=O)[O-])[NH3+])[O-]") -smiles(R"P(=O)(OC[C@H](COC/C=C(/CC/C=C(\C)/CC/C=C(/CCC=C(C)C)\C)\C)OC/C=C(/CC/C=C(\C)/CC/C=C(/CCC=C(C)C)\C)\C)([O-])[O-]") -smiles(R"P(=O)(OC[C@H](COC/C=C(/CC/C=C(\C)/CC/C=C(/CCC=C(C)C)\C)\C)OC/C=C(/CC/C=C(\C)/CC/C=C(/CCC=C(C)C)\C)\C)(OP(=O)(OC[C@H]1O[C@@H](n2c(=O)nc(cc2)N)[C@@H]([C@@H]1O)O)[O-])[O-]") -smiles(R"P(=O)(OC[C@H](C=O)O)([O-])[O-]") -smiles(R"P(=O)(OC[C@@H](O)[C@@H](O)[C@H](Cn1c2c(nc3c1cc(c(c3)C)C)c(=O)[n-]c(=O)n2)O)(OP(=O)(OC[C@H]1O[C@H]([C@@H]([C@@H]1O)O)n1c2c(nc1)c(ncn2)N)[O-])[O-]") -smiles(R"P(=O)(OC[C@@H](O)[C@@H](O)[C@H](Cn1c2c([nH]c3c1cc(c(c3)C)C)c(=O)[nH]c(=O)[nH]2)O)(OP(=O)(OC[C@H]1O[C@H]([C@@H]([C@@H]1O)O)n1c2c(nc1)c(ncn2)N)[O-])[O-]") -smiles(R"P(=O)(OCC[NH3+])([O-])OCC(O)CO") -smiles(R"P(=O)([O-])(CCO)O") -smiles(R"P(=O)(O[C@H]1[C@H]([C@H](OC(=C)C(=O)[O-])CC(=C1)C(=O)[O-])O)([O-])[O-]") -smiles(R"P(=O)(O[C@@H]([C@@H](C(=O)[O-])NC(=O)CCCCCCSSCCS(=O)(=O)[O-])C)([O-])[O-]") -smiles(R"P(=O)(OC(=O)C(C)C)([O-])[O-]") -smiles(R"P(=O)(OC(=O)CCC)([O-])[O-]") -smiles(R"P(=O)(OC(=O)[C@@H](COP(=O)([O-])[O-])O)([O-])[O-]") -smiles(R"P(=O)(OC(=O)N)([O-])[O-]") -smiles(R"P(=O)([O-])[O-]") -smiles(R"P(=O)([O-])(O)C") -smiles(R"P(=O)([O-])(OC[C@H](COCCC(CCCC(CCCC(CCCC(C)C)C)C)C)OCCC(CCCC(CCCC(CCCC(C)C)C)C)C)[O-]") -smiles(R"P(=O)([O-])(OC[C@@H](C(=O)[O-])[NH3+])OC[C@@H](CO)O") -smiles(R"P(=O)([O-])(O)CO") -smiles(R"P(=O)([O-])(O)[O-]") -smiles(R"P(=O)(OP(=O)(OC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)[O-])([O-])[O-]") -smiles(R"P(=O)(OP(=O)(OC/C=C(/[CH])\C)[O-])([O-])[O-]") -smiles(R"P(=O)(OP(=O)([O-])OC/C=C(\CC/C=C(/CCC=C(C)C)\C)/C)([O-])[O-]") -smiles(R"P(=O)(OP(=O)([O-])[O-])([O-])OC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)\C)\C)\C)\C)\C)\C)\C)\C") -smiles(R"P(=[SeH])(O)([O-])[O-]") -smiles(R"[S]") -smiles(R"s1c(ccc1C#CC(COC(=O)C)OC(=O)C)c1sccc1") -smiles(R"S1CC(=NCC1)C(=O)[O-]") -smiles(R"S1CC([NH2+]CC1)C(=O)[O-]") -smiles(R"S1C(=NC(=O)[CH-]1)c1nc2c(s1)cc(cc2)O") -smiles(R"[S+](C)(C)C") -smiles(R"S(CCCC(=O)C(=O)[O-])C") -smiles(R"S(C[C@H]([C@H](C(=O)COP(=O)([O-])[O-])O)O)C") -smiles(R"SC[C@@H]([C@@H](CS)O)O") -smiles(R"S(C[C@@H](C(=O)[O-])[NH3+])S(=O)(=O)[O-]") -smiles(R"SCCNC(=O)CCNC(=O)[C@H](O)C(C)(C)COP(=O)([O-])[O-]") -smiles(R"SCC(=O)[O-]") -smiles(R"S(CCS(=O)(=O)[O-])C[C@@H](O)C") -smiles(R"S(CCS(=O)(=O)[O-])C[C@H](O)C") -smiles(R"S(CCS(=O)(=O)[O-])CC(=O)C") -smiles(R"[S-]C#N") -smiles(R"S(C(=O)CC(=O)CCCCCCCCCCCCCCCCCCC)CCNC(=O)CCNC(=O)[C@@H](C(COP(=O)(OP(=O)(OC[C@H]1O[C@H]([C@@H]([C@@H]1OP(=O)([O-])[O-])O)n1c2c(nc1)c(ncn2)N)[O-])[O-])(C)C)O") -smiles(R"S(C(=O)CC(=O)OC)CCNC(=O)CCNC(=O)C(C(COP(=O)(OP(=O)(OC[C@H]1O[C@H]([C@@H]([C@@H]1OP(=O)([O-])[O-])O)n1c2c(nc1)c(ncn2)N)[O-])[O-])(C)C)O") -smiles(R"S(C(=O)C(=S)CCC(=O)[O-])CCNC(=O)CCNC(=O)C(C(COP(=O)(OP(=O)(OC[C@H]1O[C@H]([C@@H]([C@@H]1OP(=O)([O-])[O-])O)n1c2c(nc1)c(ncn2)N)[O-])[O-])(C)C)O") -smiles(R"[SeH2]") -smiles(R"[SeH]SC[C@H](NC(=O)CC[C@H]([NH3+])C(=O)[O-])C(=O)NCC(=O)[O-]") -smiles(R"[Se](=O)(=O)(O)O") -smiles(R"[SH-]") -smiles(R"S(=O)(CCNC(=[NH2+])N)[O-]") -smiles(R"S(=O)(CCNC(=[NH2+])NP(=O)([O-])[O-])[O-]") -smiles(R"S(=O)(=O)(C[C@H](C(=O)[O-])O)[O-]") -smiles(R"S(=O)(=O)(CC[NH2+][C@@H](C(=O)[O-])C)[O-]") -smiles(R"S(=O)(=O)(CCSC)[O-]") -smiles(R"S(=O)(=O)(CCS)[O-]") -smiles(R"S(=O)(=O)(C)[O-]") -smiles(R"S(=O)(=O)([O-])[O-]") -smiles(R"S(=O)(=O)([O-])SS(=O)(=O)[O-]") -smiles(R"S(=O)(=O)(S)[O-]") -smiles(R"[Te](=O)(=O)(O)C") -smiles(R"[Zn+2]") +smiles(R"[Ag+]", printStereoWarnings=False) +smiles(R"[As](=O)([O-])(C)C", printStereoWarnings=False) +smiles(R"[Br-]", printStereoWarnings=False) +smiles(R"C", printStereoWarnings=False) +smiles(R"[C@@]123[C@]4(C2)[C@@H](CC[C@H]1[C@]1([C@](CC3)([C@H](CC1)[C@@H](CCC(=C)C(C)C)C)C)C)[C@@H]([C@H](CC4)O)C", printStereoWarnings=False) +smiles(R"[C@@]123[C@]4(C2)[C@H](C([C@H](CC4)O)(C)C)CC[C@H]1[C@]1([C@](CC3)([C@H](CC1)C(CCC=C(C)C)C)C)C", printStereoWarnings=False) +smiles(R"[C@@]123c4c5O[C@H]2[C@H](C=C[C@H]1[C@@H](Cc4ccc5OC)[NH+](CC3)C)O", printStereoWarnings=False) +smiles(R"[C@]123[C@]4([C@@H]([C@]56[C@@H](CC4=O)C(O[C@H]5CC(=O)OC6)(C)C)CC[C@]2([C@@H](OC(=O)[C@H]1O3)c1ccoc1)C)C", printStereoWarnings=False) +smiles(R"[C@]123C(=C(C[C@]4([C@@H]1[NH+](CC3)CC=C4)CC)C(=O)OC)Nc1c2ccc(c1)O", printStereoWarnings=False) +smiles(R"[C@]123C(=C(C[C@]4([C@@H]1[NH+](CC3)CC=C4)CC)C(=O)OC)Nc1c2ccc(c1)OC", printStereoWarnings=False) +smiles(R"[C@]123[C@](CCCC1(C)C)(CC=C([C@H]2C3)C)C", printStereoWarnings=False) +smiles(R"[C@]123[C@]([C@@H](/C(=C/C4=N/C(=C\c5[nH]c(Cc6[nH]c([C@]1(C)O)c(c6CCC(=O)[O-])CC(=O)[O-])c(c5CC(=O)[O-])CCC(=O)[O-])/[C@H]([C@@]4(CC(=O)[O-])C)CCC(=O)[O-])/N2)CCC(=O)[O-])(CC(=O)O3)C", printStereoWarnings=False) +smiles(R"[C@]123[C@@H]4C(=O)C=C[C@H]1[C@@H](Cc1c2c(O4)c(cc1)O)[NH+](CC3)C", printStereoWarnings=False) +smiles(R"[C@@]123[C@H]([C@]4([C@H](CC2)[C@](CCC4)(C)C=O)C)CC[C@@H](C1)C(=C)C3", printStereoWarnings=False) +smiles(R"[C@@]123[C@H]([C@]4([C@H](CC2)[C@](CCC4)(C)CO)C)CC[C@@H](C1)C(=C)C3", printStereoWarnings=False) +smiles(R"[C@]123[C@@H](C(C(=C)[C@@H](C1)CC3)(C)C)CC[C@H]2C", printStereoWarnings=False) +smiles(R"[C@@]123[C@H](C([C@@H](CC1)O3)(C)C)CC[C@H]1[C@]2(CC[C@@]2([C@@]1(CC[C@](C2)(CCC=C(C)C)C)C)C)C", printStereoWarnings=False) +smiles(R"[C@]123[C@@H](Nc4c2ccc(c4)OC)[C@](C[C@]2([C@@H]1[NH+](CC3)CC=C2)CC)(C(=O)OC)O", printStereoWarnings=False) +smiles(R"[C@@]123[C@@H](N(c4c2ccc(c4)OC)C)[C@](C[C@]2([C@@H]1[NH+](CC3)CC=C2)CC)(C(=O)OC)O", printStereoWarnings=False) +smiles(R"[C@@]123[C@@H](N(c4c2ccc(c4)OC)C)[C@]([C@@H]([C@]2([C@@H]1[NH+](CC3)CC=C2)CC)OC(=O)C)(C(=O)OC)O", printStereoWarnings=False) +smiles(R"[C@@]123[C@@H](N(c4c2ccc(c4)OC)C)[C@]([C@@H]([C@]2([C@@H]1[NH+](CC3)CC=C2)CC)O)(C(=O)OC)O", printStereoWarnings=False) +smiles(R"[C@@]123[C@@H](N(c4c2ccc(c4)O)C)[C@]([C@@H]([C@]2([C@@H]1[NH+](CC3)CC=C2)CC)O)(C(=O)OC)O", printStereoWarnings=False) +smiles(R"c12c3c4c5c6c1[C@]1(O[C@H]7c2c(c(c3C(=O)C[C@@]4(O[C@H]2c5c(c(c6C(=O)C1)O)[C@H](O[C@@H]2C)C)O)O)[C@H](O[C@@H]7C)C)O", printStereoWarnings=False) +smiles(R"c12c3c4c(c(c2[O-])C)O[C@](O/C=C/[C@@H]([C@H](C)[C@@H](OC(=O)C)[C@@H](C)[C@H](O)[C@H](C)[C@@H](O)[C@H](/C=C/C=C(\C(=O)Nc(c(/C=N/N2CC[NH+](CC2)C)c3O)c1O)/C)C)OC)(C4=O)C", printStereoWarnings=False) +smiles(R"c12=C3C4=NC(=Cc5n6c(c(c5C)C=C)C=C5N=C(C=c(n1[Mg]6)c(c2C(=O)[C-]3C(=O)OC)C)C(=C5C)C=C)C(=C4CCC(=O)[O-])C", printStereoWarnings=False) +smiles(R"c12c3c4O[C@@](C3=O)(O/C=C/[C@@H]([C@@H]([C@H]([C@H]([C@@H]([C@@H]([C@H]([C@H](/C=C/C=C(\C(=O)Nc(c(c1c(c4C)[O-])O)cc2OCC(=O)[O-])/C)C)O)C)O)C)OC(=O)C)C)OC)C", printStereoWarnings=False) +smiles(R"c12c3c(c4c(c1c1c([nH]2)c(Cl)ccc1)c(=O)[nH]c4=O)c1c(n3[C@H]2[C@@H]([C@H]([C@@H]([C@H](O2)CO)OC)O)O)c(Cl)ccc1", printStereoWarnings=False) +smiles(R"c12c3c(c4c(c1c1c([nH]2)c(Cl)ccc1)c(=O)[nH]c4=O)c1c(n3[C@H]2[C@@H]([C@H]([C@@H]([C@H](O2)CO)O)O)O)c(Cl)ccc1", printStereoWarnings=False) +smiles(R"c12c3c(c4c(c1c1c([nH]2)c(Cl)ccc1)c(=O)[nH]c4=O)c1c([nH]3)c(Cl)ccc1", printStereoWarnings=False) +smiles(R"[C@@]12(C3=C([C@@]4(C(CC3)[C@@H]([C@H](CC4)O)C)C)CC[C@@]1([C@H](CC2)[C@@H](CCC(=C)C(C)C)C)C)C", printStereoWarnings=False) +smiles(R"c12c3c(c4c(c(=O)o3)C(=O)CC4)c(cc2O[C@@H]2[C@H]1C=CO2)OC", printStereoWarnings=False) +smiles(R"c12c3c(c4c(c(=O)o3)C(=O)CC4)c(cc2O[C@@H]2[C@H]1CCO2)OC", printStereoWarnings=False) +smiles(R"c12C3(C=C4C(=O)c2c(c(c2c1C(=O)[C@](O2)(O/C=C/[C@@H]([C@@H]([C@H]([C@H]([C@@H]([C@@H]([C@H]([C@H](/C=C/C=C(\C(=O)N4)/C)C)O)C)O)C)OC(=O)C)C)OC)C)C)O)OC(=O)CO3", printStereoWarnings=False) +smiles(R"[C@]12(C3(CC([C@@]1(CCC2)C)C(=CC3)C)C)C", printStereoWarnings=False) +smiles(R"c12c3c(Cc1cc(cc2)N(C(=O)C)O)cccc3", printStereoWarnings=False) +smiles(R"c12c3c(C(c1cccc2)O)cccc3", printStereoWarnings=False) +smiles(R"c12c3c(ccc1cccc2)ccc(c3O)O", printStereoWarnings=False) +smiles(R"c12c3c(ccc1C[C@@H]1[C@H]4[C@@]2([C@@H](O3)[C@H](C=C4)O)CC[NH+]1C)O", printStereoWarnings=False) +smiles(R"c12c3c(ccc1CC(=O)c1c(CCN(C2)C)cc2c(c1)OCO2)OCO3", printStereoWarnings=False) +smiles(R"c12c3c(ccc1CC(=O)c1c(CC(N(C2)C)O)cc2c(c1)OCO2)OCO3", printStereoWarnings=False) +smiles(R"c12c3cccc1[C@@H]1[C@@H](Cc2c([nH]3)C(C=C)(C)C)[NH+](C[C@@H]([C@@H]1OC(=O)C)C)C", printStereoWarnings=False) +smiles(R"c12c3cccc1[C@@H]1[C@@H](Cc2c[nH]3)[NH+](C[C@@H]([C@@H]1O)C)C", printStereoWarnings=False) +smiles(R"c12c3cccc1[C@@H]1[C@@H](Cc2c[nH]3)[NH+](C[C@@H]([C@@H]1OC(=O)C)C)C", printStereoWarnings=False) +smiles(R"c12c3c(c(cc1O[C@@H]1[C@H]2C=CO1)OC)c(=O)c1c(o3)cccc1OC", printStereoWarnings=False) +smiles(R"c12c3c(ccc(c3)C[C@H]3C(=O)N[C@@H](Cc(c2)ccc1O)C(=O)N3)O", printStereoWarnings=False) +smiles(R"c12c3c(cc(c(c3)O)OC)CC[n+]1cc1c(c2)ccc(c1OC)OC", printStereoWarnings=False) +smiles(R"C12(C3=C([C@](C(=N3)Cc3c(c(c([nH]3)CC3=C([C@@](C(=N3)/C=C(\N2)/[C@H]([C@@]1(CC(=O)[O-])C)CCC(=O)[O-])(CC(=O)[O-])C)CCC(=O)[O-])CC(=O)[O-])CCC(=O)[O-])(CCC(=O)[O-])C)CC(=O)[O-])C(=O)C", printStereoWarnings=False) +smiles(R"[C@@]12(C3=C([C@](C(=N3)CC3=N[C@](C(=C3CCC(=O)[O-])CC(=O)[O-])(CC3=C([C@@](C(=N3)/C=C(\N2)/[C@H]([C@@]1(CC(=O)[O-])C)CCC(=O)[O-])(CC(=O)[O-])C)CCC(=O)[O-])C)(CCC(=O)[O-])C)CC(=O)[O-])C", printStereoWarnings=False) +smiles(R"C12(C3=C([C@](C(=N3)CC3=N[C@](C(=C3CCC(=O)[O-])CC(=O)[O-])(CC3=C([C@@](C(=N3)/C=C(\N2)/[C@H]([C@@]1(CC(=O)[O-])C)CCC(=O)[O-])(CC(=O)[O-])C)CCC(=O)[O-])C)(CCC(=O)[O-])C)CC(=O)[O-])C(=O)C", printStereoWarnings=False) +smiles(R"c12c3c([C@@H]4[C@H]([NH+](CC(=C4)C)C)C1)cccc3[nH]c2", printStereoWarnings=False) +smiles(R"c12c3c(C(=O)c1cccc2)cccc3", printStereoWarnings=False) +smiles(R"[C@@]12([C@]3([C@@H]([C@]45[C@@H](CC3=O)C(O[C@H]4CC(=O)OC5)(C)C)CC[C@@]1(C)[C@H](c1ccoc1)O[C@@H]1O[C@H](CO)[C@H]([C@H](O)[C@H]1O)O)C)[C@H](O2)C(=O)[O-]", printStereoWarnings=False) +smiles(R"[C@@]12([C@]3([C@@H]([C@@]4([C@@H](CC3=O)C(O[C@H]4CC(=O)[O-])(C)C)CO)CC[C@]1([C@H](c1ccoc1)O)C)C)[C@H](O2)C(=O)[O-]", printStereoWarnings=False) +smiles(R"[C@@]12([C@]3([C@@H]([C@@]4([C@H](C([C@H](CC4)O)(C)C)CC3)C)CC[C@@H]1[C@H]1[C@H](C(=C)C)CC[C@@]1(CC2)C)C)C", printStereoWarnings=False) +smiles(R"[C@@]12([C@]3([C@@H]([C@@]4([C@H](C([C@H](CC4)O)(C)C)CC3)C)CC[C@@H]1[C@H]1[C@H](C(O)(C)C)CC[C@@]1(CC2)C)C)C", printStereoWarnings=False) +smiles(R"[C@@]12([C@]3([C@H](CC[C@@H]1[C@@]1([C@@H](CC2)C(CCC1)(C)C)C)[C@H](CC3)C(=C)CCC=C(C)C)C)C", printStereoWarnings=False) +smiles(R"[C@@]12([C@@]3([C@H]([C@H](CC1)C)C[C@H](C2(C)C)CC3)C)O", printStereoWarnings=False) +smiles(R"C12(C3(Cl)C4(C5(Cl)C3(Cl)C(Cl)(Cl)C2(Cl)C5(Cl)C1(Cl)C4=O)Cl)Cl", printStereoWarnings=False) +smiles(R"C12(C3(Cl)C4(C5(Cl)C3(Cl)C(Cl)(Cl)C2(Cl)C5(Cl)C1(Cl)C4O)Cl)Cl", printStereoWarnings=False) +smiles(R"c12c3c(nc(cc3O)C(=O)[O-])c(=O)cc1oc1c(n2)c(C(=O)CC(C(=O)[O-])[NH3+])ccc1", printStereoWarnings=False) +smiles(R"c12c3c(O[C@@H]4[C@H]3CCO4)cc(c1c(=O)c1c(o2)cccc1OC)OC", printStereoWarnings=False) +smiles(R"c12c3c(O[C@@H]4[C@H]3C=CO4)cc(c1c(=O)c1c(o2)cccc1O)OC", printStereoWarnings=False) +smiles(R"c12c3c(O[C@@H]4[C@H]3CCO4)cc(c1c(=O)c1c(o2)cccc1O)OC", printStereoWarnings=False) +smiles(R"c12c3c(sc1C=C[C@@H]([C@@H]2O)O)cccc3", printStereoWarnings=False) +smiles(R"C12C(C1(C)C)/C=C(/CC/C=C(/CC/C=C(/CC2)\C)\C)\C", printStereoWarnings=False) +smiles(R"C12CC2(CCC1(C)O)C(C)C", printStereoWarnings=False) +smiles(R"c12c(c3c4c5c1c1c(cccc1)n5[C@]1(O[C@@H](n4c4c3cccc4)C[C@@H]([NH2+]C)[C@H]1OC)C)C(=O)NC2", printStereoWarnings=False) +smiles(R"c12c(c3c4c5c1c1c(cccc1)n5[C@]1(O[C@@H](n4c4c3cccc4)C[C@@H]([NH2+]C)[C@H]1O)C)C(=O)NC2", printStereoWarnings=False) +smiles(R"C12(C(C3CC2C1C3)(C)C)C", printStereoWarnings=False) +smiles(R"c12c(c3c(c(c1ccc(=O)o2)O)cco3)OC", printStereoWarnings=False) +smiles(R"c12cc3c(cc1C[C@H](O2)C(C)(C)O)ccc(=O)o3", printStereoWarnings=False) +smiles(R"[C@]12(C(=C3[C@@](CC2)(CCC(C3)(C)C)C)CC[C@H]2[C@]1(CC[C@@H]1[C@@]2(CC[C@@H](C1(C)C)O)C)C)C", printStereoWarnings=False) +smiles(R"c12c([C@]3(C(=CC(=C(C3=O)C(=O)C)[O-])O1)C)c(c(c(c2C(=O)C)O)C)[O-]", printStereoWarnings=False) +smiles(R"C12C(c3c(O2)cc(cc3)OC)COc2c1ccc(c2)O", printStereoWarnings=False) +smiles(R"c12C=C3[N+]4=C(C5=c6n7c(=CC8=[N+]9C(=Cc(c(c1C)C=C)n2[Mg-2]479)C(=C8CC)C)c(C)c6C(=O)[C@@H]5C(=O)OC)[C@@H](CCC(=O)OC/C=C(/CCC[C@@H](CCC[C@@H](CCCC(C)C)C)C)\C)[C@@H]3C", printStereoWarnings=False) +smiles(R"C12=CC3=[N+]4C(=C([C@@]3(CC(=O)[O-])C)CCC(=O)[O-])C[C@]3(C(=C(C5=CC6=[N+]7C(=C([C@]6(CCC(=O)[O-])C)CC(=O)[O-])C6(N2[Co-2]47N35)[C@]([C@@H]1CCC(=O)[O-])(CC(=O)OC6C)C)CCC(=O)[O-])CC(=O)[O-])C", printStereoWarnings=False) +smiles(R"C12=CC3=[N+]4C(=C([C@@]3(CC(=O)[O-])C)CCC(=O)[O-])C[C@]3(C(=C(C5=CC6=[N+]7C(=C(N2[Co-2]47N35)[C@]([C@@H]1CCC(=O)[O-])(CC(=O)[O-])C)[C@@H]([C@]6(CCC(=O)[O-])C)CC(=O)[O-])CCC(=O)[O-])CC(=O)[O-])C", printStereoWarnings=False) +smiles(R"C12=CC3=[N+]4C(=C([C@@]3(CC(=O)[O-])C)CCC(=O)[O-])C[C@]3(C(=C(C5=[N+]3[Co-2]34N2[C@]([C@]([C@@H]1CCC(=O)[O-])(CC(=O)[O-])C)(C1=C([C@](C(=[N+]31)C5)(CCC(=O)[O-])C)CC(=O)[O-])C)CCC(=O)[O-])CC(=O)[O-])C", printStereoWarnings=False) +smiles(R"C12=CC3=[N+]4C(=C([C@@]3(CC(=O)[O-])C)CCC(=O)[O-])C[C@]3(C(=C(C5=[N+]3[Co-2]34N2[C@]([C@]([C@@H]1CCC(=O)[O-])(CC(=O)[O-])C)([C@H]1[C@@H]([C@](C(=[N+]31)C5C)(CCC(=O)[O-])C)CC(=O)[O-])C)CCC(=O)[O-])C)C", printStereoWarnings=False) +smiles(R"C12=C(C3=[N+]4C(=C([C@@]3(CC(=O)[O-])C)CCC(=O)[O-])C[C@]3(C(=C(C5=[N+]3[Co-2]34N2[C@]([C@]([C@@H]1CCC(=O)[O-])(CC(=O)[O-])C)([C@H]1[C@@H]([C@](C(=[N+]31)C5C)(CCC(=O)[O-])C)CC(=O)[O-])C)CCC(=O)[O-])C)C)C", printStereoWarnings=False) +smiles(R"C12=CC3=[N+]4C(=C([C@@]3(CC(=O)[O-])C)CCC(=O)[O-])C[C@]3(C(=C(C5=[N+]3[Co-2]34N2[C@]([C@]([C@@H]1CCC(=O)[O-])(CC(=O)[O-])C)([C@H]1[C@@H]([C@](C(=[N+]31)C5)(CCC(=O)[O-])C)CC(=O)[O-])C)CCC(=O)[O-])CC(=O)[O-])C", printStereoWarnings=False) +smiles(R"C12=CC3=[N+]4C(=Cc5c(c(c6n5[Co-2]54N2C2([C@]([C@@H]1CCC(=O)[O-])(CC(=O)OC2C)C)C1=C([C@](C(=[N+]51)C6)(CCC(=O)[O-])C)CC(=O)[O-])CCC(=O)[O-])CC(=O)[O-])[C@H]([C@@]3(CC(=O)[O-])C)CCC(=O)[O-]", printStereoWarnings=False) +smiles(R"c12C=C3[N+]4=C(C=c5n6c(=CC7=[N+]8C(=Cc(c(c1C)C=C)n2[Fe-2]468)C(=C7C=C)C)c(C)c5CCC(=O)[O-])C(=C3C)CCC(=O)[O-]", printStereoWarnings=False) +smiles(R"c12C=c3n4c(C=c5n6c(=Cc7n8c(=Cc(c(c1C)C=C)n2[Mg]468)c(C)c7C=C)c(C)c5CCC(=O)[O-])c(c3C)CCC(=O)[O-]", printStereoWarnings=False) +smiles(R"c12C=c3n4c(C=c5n6c(=Cc7n8c(=Cc(c(c1C)C=C)n2[Mg]468)c(C)c7C=C)c(C)c5CCC(=O)OC)c(c3C)CCC(=O)[O-]", printStereoWarnings=False) +smiles(R"c12C=c3n4c(C=c5n6c(=Cc7n8c(=Cc(c(c1C)C=C)n2[Mg]468)c(C)c7C=C)c(C)c5CCC(=O)OC)c(c3C)CCC(=O)O", printStereoWarnings=False) +smiles(R"c12C=c3n4c(C=c5n6c(=Cc7n8c(=Cc(c(c1C)C=C)n2[Mg]468)c(C)c7C=C)c(C)c5C(CC(=O)OC)O)c(c3C)CCC(=O)O", printStereoWarnings=False) +smiles(R"c12C=c3n4c(C=c5n6c(=Cc7n8c(=Cc(c(c1C)C=C)n2[Mg]468)c(C)c7C=C)c(C)c5C(=O)CC(=O)OC)c(c3C)CCC(=O)O", printStereoWarnings=False) +smiles(R"C12=C(C3=[N+]4C(=CC5=[N+]6C(=C(C7=[N+]8[C@]([C@@]([C@@H]7CCC(=O)N)(C)CC(=O)N)([C@@H]7N1[Co-3]468([n+]1c4cc(C)c(cc4n(c1)[C@H]1O[C@H](CO)[C@H]([C@H]1O)OP(=O)([O-])OC(CNC(=O)CC[C@@]2([C@H]7CC(=O)N)C)C)C)C#N)C)C)[C@@]([C@@H]5CCC(=O)N)(C)CC(=O)N)C([C@@H]3CCC(=O)N)(C)C)C", printStereoWarnings=False) +smiles(R"c12=CC3=[N+]4C(=Cc5n6c(C=C7[N+]8=C(C=c(n2[Fe-2]468)c(c1C)[C@H](CC/C=C(\C)/CC/C=C(/CCC=C(C)C)\C)O)C(=C7C=C)C)c(C)c5CCC(=O)[O-])C(=C3C)CCC(=O)[O-]", printStereoWarnings=False) +smiles(R"C12=C(C3=[N+]4C(=CC5=[N+]6C(=C(C7=[N+]8[C@]([C@@H]9N1[Co-3]468([n+]1c4cc(C)c(cc4n(c1)[C@H]1O[C@H](CO)[C@H]([C@H]1O)OP(=O)(O[C@@H](CNC(=O)CC[C@]2(C)[C@H]9CC(=O)N)C)[O-])C)[OH2+])(C)[C@]([C@@H]7CCC(=O)N)(CC(=O)N)C)C)[C@@]([C@@H]5CCC(=O)N)(C)CC(=O)N)C([C@@H]3CCC(=O)N)(C)C)C", printStereoWarnings=False) +smiles(R"C12=C(C3=[N+]4C(=CC5=[N+]6C(=C(C7=[N+]8[Co-2]946N1[C@@H]([C@@]8(C)[C@]([C@@H]7CCC(=O)N)(CC(=O)N)C)[C@H](CC(=O)N)[C@@]2(C)CCC(=O)NC[C@H](OP(=O)(O[C@@H]1[C@H](O[C@H](n2c[n+]9c4cc(C)c(cc24)C)[C@@H]1O)CO)[O-])C)C)[C@](C)([C@@H]5CCC(=O)N)CC(=O)N)C([C@@H]3CCC(=O)N)(C)C)C", printStereoWarnings=False) +smiles(R"C12=C(C3=[N+]4C(=CC5=[N+]6C(=C(C7=[N+]8[Co-3]946N1[C@@H]([C@@]8(C)[C@]([C@@H]7CCC(=O)N)(CC(=O)N)C)[C@H](CC(=O)N)[C@@]2(C)CCC(=O)NC[C@H](OP(=O)(O[C@@H]1[C@H](O[C@H](n2c[n+]9c4cc(C)c(cc24)C)[C@@H]1O)CO)[O-])C)C)[C@](C)([C@@H]5CCC(=O)N)CC(=O)N)C([C@@H]3CCC(=O)N)(C)C)C", printStereoWarnings=False) +smiles(R"C12=C(C3=[N+]4C(=CC5=[N+]6C(=C(C7=[N+]8[Co-4]946N1[C@@H]([C@@]8(C)[C@]([C@@H]7CCC(=O)N)(CC(=O)N)C)[C@H](CC(=O)N)[C@@]2(C)CCC(=O)NC[C@H](OP(=O)(O[C@@H]1[C@H](O[C@H](n2c[n+]9c4cc(C)c(cc24)C)[C@@H]1O)CO)[O-])C)C)[C@](C)([C@@H]5CCC(=O)N)CC(=O)N)C([C@@H]3CCC(=O)N)(C)C)C", printStereoWarnings=False) +smiles(R"c12=CC3=NC(=C4c5n6c(C=C7N=C(C=c(c(c1C)C=C)n2[Mg]6)C(=C7CC)C)c(c5C(=O)[C-]4C(=O)OC)C)C(=C3C)CCC(=O)[O-]", printStereoWarnings=False) +smiles(R"c12=CC3=NC(=C4c5n6c(C=C7N=C(C=c(c(c1C)C=C)n2[Mg]6)C(=C7C=C)C)c(c5C(=O)[C-]4C(=O)OC)C)[C@@H](CCC(=O)[O-])[C@@H]3C", printStereoWarnings=False) +smiles(R"c12=CC3=NC(=C4c5n6c(C=C7N=C(C=c(c(c1C)C=C)n2[Mg]6)C(=C7CC)C)c(c5C(=O)[C-]4C(=O)OC)C)[C@@H](CCC(=O)[O-])[C@@H]3C", printStereoWarnings=False) +smiles(R"c12=CC3=NC(=C4c5n6c(C=C7N=C(C=c(c(c1C)C=C)n2[Mg]6)C(=C7CC)C=O)c(c5C(=O)[C-]4C(=O)OC)C)[C@@H](CCC(=O)[O-])[C@@H]3C", printStereoWarnings=False) +smiles(R"c12=CC3=NC(=C4c5n6c(C=C7N=C(C=c(c(c1C)C=C)n2[Mg]6)C(=C7CC)CO)c(c5C(=O)[C-]4C(=O)OC)C)[C@@H](CCC(=O)[O-])[C@@H]3C", printStereoWarnings=False) +smiles(R"c\1/2=C/C3=N/C(=C/4\c5[nH]c(/C=C/6\N=C(/C=c(/c(c1C)C=C)\[nH]2)C(=C6CC)C)c(c5C(=O)C4)C)/[C@@H](CCC(=O)[O-])[C@@H]3C", printStereoWarnings=False) +smiles(R"c\1/2=C/C3=N/C(=C/4\c5[nH]c(/C=C/6\N=C(/C=c(/c(c1C)C=C)\[nH]2)C(=C6CC)C)c(c5C(=O)[C@@H]4C(=O)[O-])C)/[C@@H](CCC(=O)[O-])[C@@H]3C", printStereoWarnings=False) +smiles(R"c\1/2=C/C3=N/C(=C/4\c5[nH]c(/C=C/6\N=C(/C=c(/c(c1C)C=C)\[nH]2)C(=C6CC)C)c(C)c5C(=O)[C-]4C(=O)OC)/[C@@H](CCC(=O)[O-])[C@@H]3C", printStereoWarnings=False) +smiles(R"C\1/2=C\C3=NC(=C([C@@]3(CC(=O)[O-])C)CCC(=O)[O-])C[C@@]3([NH+]/C(=C\C4=N[C@H]([C@H](CC(=O)[O-])[C@]4(CCC(=O)[O-])C)[C@]([NH+]1)([C@@](CC(=O)[O-])([C@@H]2CCC(=O)[O-])C)C)/C(=C3CC(=O)[O-])CCC(=O)[O-])C", printStereoWarnings=False) +smiles(R"C\1/2=C(\C3=N/C(=C\C4=N/C(=C(\C5=N[C@H]([C@H](CC(=O)[O-])[C@]5(CCC(=O)[O-])C)[C@]([NH+]1)([C@@](CC(=O)N)([C@@H]2CCC(=O)[O-])C)C)/C)/[C@@H](CCC(=O)[O-])C4(C)C)/[C@H]([C@@]3(CC(=O)N)C)CCC(=O)[O-])/C", printStereoWarnings=False) +smiles(R"C\1/2=C(\C3=N/C(=C\C4=N/C(=C(\C5=N[C@H]([C@H](CC(=O)[O-])[C@]5(CCC(=O)[O-])C)[C@]([NH+]1)([C@@](CC(=O)[O-])([C@@H]2CCC(=O)[O-])C)C)/C)/[C@@H](CCC(=O)[O-])C4(C)C)/[C@H]([C@@]3(CC(=O)[O-])C)CCC(=O)[O-])/C", printStereoWarnings=False) +smiles(R"c\1/2=C/C3=N/C(=C\c4[nH]c(/C=C/5\N=C(/C=c(/c(c1C)C=C)\[nH]2)C(=C5C=C)C)c(C)c4CCC(=O)[O-])/C(=C3C)CCC(=O)[O-]", printStereoWarnings=False) +smiles(R"C\1/2=C/C3=[NH+]C(=C([C@@]3(CC(=O)[O-])C)CCC(=O)[O-])C[C@]3(C(=C(C(=N3)C(C3=N[C@@H]([C@](N2)([C@]([C@@H]1CCC(=O)[O-])(CC(=O)[O-])C)C)[C@@H]([C@]3(CCC(=O)[O-])C)CC(=O)[O-])C)CCC(=O)[O-])C)C", printStereoWarnings=False) +smiles(R"c12Cc3[nH]c(Cc4[nH]c(Cc5[nH]c(Cc(c(c1C)C=C)[nH]2)c(C)c5C=C)c(C)c4CCC(=O)[O-])c(c3C)CCC(=O)[O-]", printStereoWarnings=False) +smiles(R"c12c(c(c3c(c1c(cc(n2)C(=O)[O-])C(=O)[O-])[nH]c(c3)C(=O)[O-])O)O", printStereoWarnings=False) +smiles(R"c12c(c(c3c(c1)ccc(=O)o3)OC)occ2", printStereoWarnings=False) +smiles(R"c12c(c(c3c(c1)oc(=O)cc3)O)cco2", printStereoWarnings=False) +smiles(R"C12CCC3C(=C)C1(CCCC(C)(C)C23)C", printStereoWarnings=False) +smiles(R"[C@]12(C=C([C@@]3(CC[C@H]([C@]23CCC1)C)C)C)C", printStereoWarnings=False) +smiles(R"[C@@]12(CCC[C@@]3([C@@H]1[C@@H]([C@@]14CC(=C)C(CC[C@@H]34)C1)C(=O)[O-])OC2=O)C", printStereoWarnings=False) +smiles(R"[C@]12(CCC[C@@]3([C@@H]1[C@@H]([C@@]14CC(=C)C(CC[C@@H]34)(C1)O)C(=O)[O-])COC2=O)C", printStereoWarnings=False) +smiles(R"[C@]12(CCC[C@@]3([C@@H]1[C@@H]([C@@]14CC(=C)C(CC[C@@H]34)(C1)O)C(=O)OC)OC2=O)C", printStereoWarnings=False) +smiles(R"[C@]12(CCC[C@@]3([C@@H]1[C@@H]([C@@]14CC(=C)C(CC[C@@H]34)(C1)O)C(=O)[O-])OC2=O)C", printStereoWarnings=False) +smiles(R"[C@]12(CCC[C@@]3([C@@H]1[C@@H]([C@@]14CC(=C)[C@@H](CC[C@@H]34)C1)C(=O)OC)OC2=O)C", printStereoWarnings=False) +smiles(R"[C@]12([C@@](CC[C@]3([C@H]4C(=CC[C@@H]13)C([C@H](CC4)O)(C)C)C)(C)[C@H](CC2)[C@@H](CCC=C(C)C)C)C", printStereoWarnings=False) +smiles(R"c12c(cccc1)ccc(c2O)O", printStereoWarnings=False) +smiles(R"C12C=C(CCC1=C(CCCC2(C)C)C)C", printStereoWarnings=False) +smiles(R"C12C=C(CCC1C(=CCCC2(C)C)C)C", printStereoWarnings=False) +smiles(R"C12C=C(CCC1C(=C)CCCC2(C)C)C", printStereoWarnings=False) +smiles(R"[C@@]12(C(CCCC1=C)(C)C)CCC(=CC2)C", printStereoWarnings=False) +smiles(R"c12c(cccc1CC=C(C)C)[nH]cc2C[C@@H](C(=O)[O-])[NH2+]C", printStereoWarnings=False) +smiles(R"c12c(cccc1CC=C(C)C)[nH]cc2C[C@@H](C(=O)[O-])[NH3+]", printStereoWarnings=False) +smiles(R"[C@@]12(C(=C(CCC1)C)C[C@@H](CC2)C(C)(C)O)C", printStereoWarnings=False) +smiles(R"c12ccccc1c(ccn2)C", printStereoWarnings=False) +smiles(R"c12ccccc1cc(cn2)C", printStereoWarnings=False) +smiles(R"c12ccc(cc1cccn2)O", printStereoWarnings=False) +smiles(R"c12cccc(c1cccn2)O", printStereoWarnings=False) +smiles(R"c12ccccc1c(cc(=O)[nH]2)C", printStereoWarnings=False) +smiles(R"c12ccccc1cc(c(=O)[nH]2)C", printStereoWarnings=False) +smiles(R"c12cc(ccc1ccc(=O)[nH]2)O", printStereoWarnings=False) +smiles(R"c12ccc(cc1ccc(=O)[nH]2)O", printStereoWarnings=False) +smiles(R"c12cccc(c1ccc(=O)[nH]2)O", printStereoWarnings=False) +smiles(R"c12cc(c(cc1CC[NH2+]C2Cc1ccc(c(c1)OC)O)OC)O", printStereoWarnings=False) +smiles(R"c12c(cccc1)c(c[nH]2)CC(=O)NCCCC[C@@H](C(=O)[O-])[NH3+]", printStereoWarnings=False) +smiles(R"c12c(cccc1)CC[NH+](C2Cc1ccccc1)C", printStereoWarnings=False) +smiles(R"c12c(cccc1)C([NH2+]CC2)Cc1ccccc1", printStereoWarnings=False) +smiles(R"c12c(cccc1)C(=O)CC2", printStereoWarnings=False) +smiles(R"c12c(cccc1)N=C1[C@H]3N4[C@H]5C[C@@]21[C@@H](C5[C@H](/C(=C\C)/C4)C3)OC(=O)C", printStereoWarnings=False) +smiles(R"c12c(cccc1)N=C1[C@H]3N4[C@H]5C[C@@]21[C@@H](C5[C@H](/C(=C\C)/[C@H]4O)C3)OC(=O)C", printStereoWarnings=False) +smiles(R"c12c(cccc1)N=C1[C@H]3N4[C@H]5C[C@@]21[C@@H](C5[C@H](/C(=C\C)/[C@H]4O[C@@H]1O[C@@H]([C@@H](O)[C@@H]([C@H]1O)O)CO)C3)OC(=O)C", printStereoWarnings=False) +smiles(R"c12c(cccc1)N[C@H]1[C@H]3N4[C@H]5C[C@@]21[C@@H](C5[C@H](/C(=C\C)/[C@H]4O)C3)OC(=O)C", printStereoWarnings=False) +smiles(R"c12cc(c(cc1nc[nH]2)C)C", printStereoWarnings=False) +smiles(R"c12ccc(cc1nc([nH]2)NC(=O)OC)SCCC", printStereoWarnings=False) +smiles(R"c12ccc(cc1nc([nH]2)NC(=O)OC)S(=O)CCC", printStereoWarnings=False) +smiles(R"c12c(cccc1)N(C(=O)C2=O)C(=O)C", printStereoWarnings=False) +smiles(R"c12c(cccc1[nH]cc2C[C@H]1C(=O)/C(=C(\C)/[O-])/C(=O)N1)CC=C(C)C", printStereoWarnings=False) +smiles(R"c12c(cc(cc1O/C(=C\c1cc(c(cc1)O)O)/C2=O)[O-])O", printStereoWarnings=False) +smiles(R"c12c(c(c(c(c1O)C/C=C(/CCC(=O)O[C@H]1[C@@H]([C@H]([C@@H]([C@H](O1)C(=O)[O-])O)O)O)\C)OC)C)COC2=O", printStereoWarnings=False) +smiles(R"c12c(c(c(c(c1O)C/C=C(/CCC(=O)[O-])\C)OC)C)COC2=O", printStereoWarnings=False) +smiles(R"c12c(c(ccc1)OCC(C[NH2+]C(C)(C)C)O)CCCC2=O", printStereoWarnings=False) +smiles(R"c12c(c(ccc1)OCC(C[NH2+]C(C)(C)C)O)CCCC2O", printStereoWarnings=False) +smiles(R"c12c(c(cc(c1)O[C@H]1[C@@H]([C@H]([C@@H]([C@H](O1)COC(=O)CC(=O)[O-])O)O)O)O)c(=O)c(co2)c1ccc(cc1)OC", printStereoWarnings=False) +smiles(R"c12c(c(cc(c1)O[C@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)O)c(=O)c(co2)c1ccc(cc1)OC", printStereoWarnings=False) +smiles(R"c12c(cc(cc1O[C@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)[O-])[o+]c(c(c2)O[C@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO[C@H]1[C@@H]([C@@H]([C@H]([C@@H](O1)C)O)O)O)O)O)O)c1ccc(cc1)O", printStereoWarnings=False) +smiles(R"c12c(cc(cc1O[C@@H](CC2=O)c1ccc(cc1)O)[O-])O", printStereoWarnings=False) +smiles(R"c12c(c(cc(c1O)C)O)cccc2", printStereoWarnings=False) +smiles(R"c12c(cc(c(c1)OC)OC)[C@@H]1N(CC2)Cc2c([C@@H]1C)ccc(c2OC)OC", printStereoWarnings=False) +smiles(R"c12c(ccc(c1)O)c(=O)c(co2)c1ccc(cc1)OC", printStereoWarnings=False) +smiles(R"c12c(c(cc(c1)OC)O)C(=O)OC(C2)C", printStereoWarnings=False) +smiles(R"c12c(ccc(c1)O)[nH]cc2CCNC(=O)C", printStereoWarnings=False) +smiles(R"c12c(ccc(c1)O)[nH]cc2CC=O", printStereoWarnings=False) +smiles(R"c12c(ccc(c1O)O)ccc(=O)o2", printStereoWarnings=False) +smiles(R"c12c(cc(cc1)O)OC[C@H](C2=O)c1c(cc(cc1)OC)O", printStereoWarnings=False) +smiles(R"c12c(cc(cc1)O)OC[C@H](C2O)c1c(cc(cc1)OC)O", printStereoWarnings=False) +smiles(R"c12c(cc(cc1)O)OC[C@H]([C@H]2O)c1c(cc(cc1)OC)O", printStereoWarnings=False) +smiles(R"c12c(ccc(c1O)O[C@@H]1O[C@@H]([C@H]([C@@H]([C@H]1O)O)O)CO)ccc(=O)o2", printStereoWarnings=False) +smiles(R"c12c(c(cc(c1)O)O)C(=O)CC(C2)O", printStereoWarnings=False) +smiles(R"c12c(c(cc(c1)O)O)C(=O)O[C@@H](C2)C", printStereoWarnings=False) +smiles(R"c12c(cc(c(c1)O)O)[nH]cc2", printStereoWarnings=False) +smiles(R"c12c(cc(cc1[O-])O)[o+]c(c(c2)O[C@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO[C@H]1[C@@H]([C@@H]([C@H]([C@@H](O1)C)O)O)O)O)O)O)c1ccc(cc1)O", printStereoWarnings=False) +smiles(R"c12c(cc(cc1O)O)O[C@@H]([C@H]([C@H]2O)O)c1ccc(O)c(c1)O", printStereoWarnings=False) +smiles(R"c12c(cc(cc1)O)sc(n2)C1=N[C@H](CS1)C(=O)[O-]", printStereoWarnings=False) +smiles(R"c12c(cccc2)CCC1O", printStereoWarnings=False) +smiles(R"c12c(cccc2C)cccn1", printStereoWarnings=False) +smiles(R"c12c(cccc2C)ccc(=O)[nH]1", printStereoWarnings=False) +smiles(R"c12c(cccc2Cl)cccn1", printStereoWarnings=False) +smiles(R"c12c(cccc2Cl)ccc(=O)[nH]1", printStereoWarnings=False) +smiles(R"c12c(cccc2)[nH]cc1O", printStereoWarnings=False) +smiles(R"c12c(cccc2O)cccn1", printStereoWarnings=False) +smiles(R"c12c(cccc2O)ccc(=O)[nH]1", printStereoWarnings=False) +smiles(R"c12c(c(c(c(c2)[O-])[C@@H]2O[C@@H]([C@H]([C@@H]([C@H]2O)O)O)CO)O)c(=O)cc(o1)c1cc(c(cc1)O)OC", printStereoWarnings=False) +smiles(R"c12c(c(c(cc2O)[O-])CC=C(C)C)OCC(C1=O)c1c(cc(cc1)O)O", printStereoWarnings=False) +smiles(R"c12c(c(c(cc2O)O)CCC(C)(C)O)OCC(C1=O)c1ccc(cc1O)O", printStereoWarnings=False) +smiles(R"c12c(cc(c(c2)O)OC)CC[NH2+]C1Cc1cc(c(cc1)O)O", printStereoWarnings=False) +smiles(R"C12(C(C(=C)CCC1)C=C(CC2)C(C)C)C", printStereoWarnings=False) +smiles(R"C12=CC(=C(C)C)CC[C@@H]2[C@@]2([C@@H](CC1)C(CCC2)(C)C)C", printStereoWarnings=False) +smiles(R"C12[C@](CCC[C@@H]1C)(C)CCC=C2", printStereoWarnings=False) +smiles(R"[C@]12(CCC[C@@]([C@H]1[C@@H]([C@@]13CC(=C)C(CC[C@@H]23)(C1)O)C(=O)[O-])(C)C(=O)[O-])C=O", printStereoWarnings=False) +smiles(R"C12=CCC(=C[C@@H]1[C@H](CC[C@@H]2C)C(C)C)C", printStereoWarnings=False) +smiles(R"C12=CC(=CC[C@@H]2[C@@]2([C@@H](CC1)C(CCC2)(C)C)C)C(C)C", printStereoWarnings=False) +smiles(R"c12c(c(CCC(=O)[O-])c([nH]2)Cc2c(c(c([nH]2)Cc2[nH]c(Cc3[nH]c(C1)c(c3CCC(=O)[O-])C)c(c2CCC(=O)[O-])C)C)CCC(=O)[O-])C", printStereoWarnings=False) +smiles(R"C12=C(CC[C@@H]1C)[C@H](CC[C@H](C2)C(=C)C)C", printStereoWarnings=False) +smiles(R"C12=C(CC[C@@H]3[C@@]1(CCCC3(C)C)C)CC(=CC2)C(C)C", printStereoWarnings=False) +smiles(R"[C@]12(C(=CC[C@H]3[C@]1(CC[C@@H]1[C@@]3(CC[C@@H](C1(C)C)O)C)C)[C@H]1[C@@](CC2)(CCC(C1)(C)C)C)C", printStereoWarnings=False) +smiles(R"[C@]12(C(=CC[C@H]3[C@]1(CC[C@@H]1[C@@]3(CC[C@@H]([C@]1(C)CO)O)C)C)[C@H]1[C@@](CC2)(CCC(C1)(C)C)C)C", printStereoWarnings=False) +smiles(R"[C@@]12([C@](CC[C@@H]3[C@@]4([C@@H](CC=C13)C([C@H](CC4)O)(C)C)C)(C)[C@@H](CC2)[C@H](CCC=C(C)C)C)C", printStereoWarnings=False) +smiles(R"C12=C(CC[C@@H]3[C@H]([C@@H]1[C@@H](CC2)C)C3(C)C)C", printStereoWarnings=False) +smiles(R"[C@]12(C(=CC[C@H](C1)C(=C)C)[C@@H](C[C@H]([C@H]2C)O)O)C", printStereoWarnings=False) +smiles(R"C12=CCC[C@H]([C@@]1(C[C@@H](CC2)C(=C)C)C)C", printStereoWarnings=False) +smiles(R"c12c(c(ccn1)O)cccc2", printStereoWarnings=False) +smiles(R"c12c(ccc(n1)O)cccc2", printStereoWarnings=False) +smiles(R"c12c(ccc(n2)O)cccc1O", printStereoWarnings=False) +smiles(R"c12c(cc(c([o+]2)c2ccc(c(c2)O)O)O[C@@H]2O[C@@H]([C@@H](O)[C@@H]([C@H]2O)O)CO[C@@H]2O[C@@H](C)[C@@H]([C@H]([C@H]2O)O)O)c(cc(c1)O)O[C@H]1[C@@H]([C@@H](O)[C@@H]([C@@H](CO)O1)C)C", printStereoWarnings=False) +smiles(R"c12c(ccc(=O)[nH]1)cccc2", printStereoWarnings=False) +smiles(R"c12c(c(c(c(=O)o2)NC(=O)c2cc(c(cc2)O)CC=C(C)C)[O-])ccc(c1C)O[C@H]1[C@@H]([C@@H]([C@H](C(O1)(C)C)OC)OC(=O)N)O", printStereoWarnings=False) +smiles(R"C12=CC[C@H]3[C@]([C@@]1(CC[C@@]1([C@H]2[C@H]([C@@H](CC1)C)C)C)C)(CC[C@@H]1[C@@]3(CC[C@@H](C1(C)C)O)C)C", printStereoWarnings=False) +smiles(R"C12=CC[C@H]3C[C@H](CC[C@@]3([C@H]1CC[C@]1([C@H]2CC[C@@H]1[C@H](C)CCC=C(C)C)C)C)O", printStereoWarnings=False) +smiles(R"C12=CC[C@H](C[C@@]1([C@@H](CCC2)C)C)C(=C)C", printStereoWarnings=False) +smiles(R"c12c(C[C@@H](CC1)C)occ2C", printStereoWarnings=False) +smiles(R"[C@@]12(C(C[C@@H](C[C@]1(O2)C)O)(C)C)/C=C/C(=C\C=O)/C", printStereoWarnings=False) +smiles(R"[C@@]12(CC[C@@H](CC1=O)C2(C)C)C", printStereoWarnings=False) +smiles(R"[C@@]12(CC[C@@H](C[C@@H]1O)C2(C)C)C", printStereoWarnings=False) +smiles(R"[C@]12(C(=C[C@H]([C@H]3[C@]1(CC[C@@H]1[C@@]3(CC[C@@H](C1(C)C)O)C)C)O)[C@H]1[C@@](CC2)(CCC(C1)(C)C)C)C", printStereoWarnings=False) +smiles(R"c12c(c(c([nH]1)Cc1c(c(c([nH]1)Cc1[nH]c(Cc3[nH]c(C2)c(c3CC(=O)[O-])CCC(=O)[O-])c(c1CCC(=O)[O-])CC(=O)[O-])CC(=O)[O-])CCC(=O)[O-])CC(=O)[O-])CCC(=O)[O-]", printStereoWarnings=False) +smiles(R"c12c(c(c([nH]2)Cc2c(c(c([nH]2)Cc2[nH]c(Cc3[nH]c(C1)c(c3CCC(=O)[O-])C)c(c2CCC(=O)[O-])C)C)CCC(=O)[O-])C)CCC(=O)[O-]", printStereoWarnings=False) +smiles(R"c12c(CC(=O)c3c(CCN(C2)C)cc2c(c3)OCO2)ccc(c1OC)OC", printStereoWarnings=False) +smiles(R"c12c(cc([O-])c(c1O[C@@H](CC2=O)c1ccc(cc1)O)CC=C(C)C)O", printStereoWarnings=False) +smiles(R"c12c(cc([O-])c(c1O[C@@H](CC2=O)c1ccc(cc1O)O)CC=C(C)C)O", printStereoWarnings=False) +smiles(R"c12c(cc(O)c(c1O[C@@H](CC2=O)c1ccc(cc1O)O)C[C@H](C(=C)C)CC=C(C)C)O", printStereoWarnings=False) +smiles(R"[C@]12(C(=CC(=O)[C@H]3[C@]1(CC[C@@H]1[C@@]3(CC[C@@H](C1(C)C)O)C)C)[C@H]1[C@@](CC2)(CCC(C1)(C)C)C)C", printStereoWarnings=False) +smiles(R"[C@]12(C(=CC(=O)[C@H]3[C@]1(CC[C@@H]1[C@@]3(CC[C@@H](C1(C)C)O)C)C)[C@H]1[C@@](CC2)(CC[C@](C1)(C)C=O)C)C", printStereoWarnings=False) +smiles(R"[C@]12(C(=CC(=O)[C@H]3[C@]1(CC[C@@H]1[C@@]3(CC[C@@H](C1(C)C)O)C)C)[C@H]1[C@@](CC2)(CC[C@](C1)(C)CO)C)C", printStereoWarnings=False) +smiles(R"c12c(C(C(=O)N1)C)cccc2", printStereoWarnings=False) +smiles(R"c12cc(c(=O)[nH]c1C=CC(C2O)O)C", printStereoWarnings=False) +smiles(R"c12c(CC(=O)O[C@@H]3[C@H]([C@H](OC4O[C@@H]([C@@H]([C@@H]([C@H]4O)O)O)CO)[C@H]([C@@H]([C@@H]3O)O)O)O)c[nH]c1cccc2", printStereoWarnings=False) +smiles(R"[C@@]12([C@]([C@H]3[C@@](CC2)(CCC(C3)(C)C)C)(CC[C@@]2([C@@H]1CC[C@]1([C@H]2CCC(=O)[C@@H]1C)C)C)C)C", printStereoWarnings=False) +smiles(R"c12C[C@@H]3[C@H]4[C@]5(c1c(O[C@H]5C(=O)C=C4)c(cc2)OC)CC[NH+]3C", printStereoWarnings=False) +smiles(R"C12=C([C@@H]([C@@]3([C@@H](CC(=O)[O-])C(O[C@H]3CC(=O)[O-])(C)C)CO)CC[C@]2([C@@H](OC(=O)C1)c1ccoc1)C)C", printStereoWarnings=False) +smiles(R"C12=C[C@@H](C(=C[C@@]31c1c(ccc(c1O)OC)C[C@H]2[NH+](CC3)C)OC)O", printStereoWarnings=False) +smiles(R"C12=C[C@@H](C(=C[C@@]31c1c(ccc(c1O)OC)C[C@H]2[NH+](CC3)C)OC)OC(=O)C", printStereoWarnings=False) +smiles(R"c12c(c(ncn1CC[C@@H](C(=O)[O-])[NH3+])NCC=C(C)C)ncn2", printStereoWarnings=False) +smiles(R"c12c(c(nc(n2)O)O)nc(c(n1)O)O", printStereoWarnings=False) +smiles(R"c12c(c[nH]c1cccc2)CC#N", printStereoWarnings=False) +smiles(R"C12=C(C(=O)c3c([C@]1(O)C)cccc3O)C(=O)[C@@]1(C(=O)C(=C([C@@H]([NH+](C)C)[C@@H]1C2)[O-])C(=O)N)O", printStereoWarnings=False) +smiles(R"c12c(C(=O)C3=C([C@]4([C@@H](C[C@@H]3[C@@]1(O)C)[C@@H](C(=C(C4=O)C(=O)N)[O-])[NH+](C)C)O)[O-])c(ccc2)O", printStereoWarnings=False) +smiles(R"c12c(C(=O)C(C(C1=O)(C/C=C(/CCC[C@@H](CCC[C@@H](CCCC(C)C)C)C)\C)O)C)cccc2", printStereoWarnings=False) +smiles(R"C12=CC(=O)C(=C[C@@]31c1c(ccc(c1O)OC)C[C@H]2[NH+](CC3)C)OC", printStereoWarnings=False) +smiles(R"[C@@]12(CC(=O)C(=C)[C@H]1C2)C(C)C", printStereoWarnings=False) +smiles(R"c12c(C(=O)C[C@H](O1)c1ccc(cc1)O)ccc(c2)O", printStereoWarnings=False) +smiles(R"c12c(c(=O)c(co1)c1ccc3c(c1)OCO3)c(cc(c2)[O-])O", printStereoWarnings=False) +smiles(R"c12c(c(=O)cc(o1)c1ccccc1)c(c(c(c2)O)O)O", printStereoWarnings=False) +smiles(R"c12c(c(=O)cc(o1)c1ccc(cc1)O)c(cc(c2)O[C@@H]1O[C@@H]([C@H]([C@H](O)[C@H]1O)O)CO)O", printStereoWarnings=False) +smiles(R"c12c(c(=O)c(co1)c1ccc(cc1)OC)c(cc(c2)[O-])O", printStereoWarnings=False) +smiles(R"c12c(c(=O)c(co1)c1cc(c(cc1)OC)O)ccc(c2)O", printStereoWarnings=False) +smiles(R"c12c(c(=O)cc(o1)c1ccc(O)c(c1)OC)c(cc(c2)[O-])O", printStereoWarnings=False) +smiles(R"c12c(C(=O)C(CO2)c2ccc(cc2)OC)c(cc(c1)[O-])O", printStereoWarnings=False) +smiles(R"C12CC(=O)C(C(=O)C1)(C)C2(C)C", printStereoWarnings=False) +smiles(R"C12=CC(=O)[C@H]3[C@@](C2CC[C@]2([C@]1(CC[C@@H]2[C@@H]([C@@H](CCC(C)(C)O)O)C)O)C)(C[C@@H]([C@@H](C3)OC(=O)CCCCCCCCCCCCCCC)O)C", printStereoWarnings=False) +smiles(R"C12=CC(=O)[C@H]3[C@@]([C@H]1CC[C@@]1(C)[C@]2(CC[C@@H]1[C@H](C)[C@@H](CCC(C)(C)O)O)O)(C[C@@H]([C@@H](C3)O)O)C", printStereoWarnings=False) +smiles(R"C12=CC(=O)[C@H]3[C@@]([C@H]1CC[C@@]1(C)[C@]2(CC[C@@H]1[C@H](C)[C@@H](CCC(C)(C)O)O)O)(C[C@@H](C(=O)C3)O)C", printStereoWarnings=False) +smiles(R"C12=CC(=O)C(=O)C=C1C[C@@H](N2)C(=O)[O-]", printStereoWarnings=False) +smiles(R"C12=CC(=O)C(=O)C=C1C[C@H](N2)C(=O)[O-]", printStereoWarnings=False) +smiles(R"c12c(c(=O)[n-]c(=O)n1)cc1c(cc(cc1)O)n2C[C@@H]([C@@H]([C@@H](CO)O)O)O", printStereoWarnings=False) +smiles(R"c12c(c(=O)[n-]c(=O)n1)cc1c(cc(cc1)O)n2C[C@@H]([C@@H]([C@@H](COP(=O)(O[C@H](C(=O)N[C@@H](CCC(=O)N[C@@H](CCC(=O)[O-])C(=O)[O-])C(=O)[O-])C)[O-])O)O)O", printStereoWarnings=False) +smiles(R"c12c(c(=O)[n-]c(=O)n1)cc1c(cc(cc1)O)n2C[C@@H]([C@@H]([C@@H](COP(=O)(O[C@H](C(=O)N[C@@H](CCC(=O)[O-])C(=O)[O-])C)[O-])O)O)O", printStereoWarnings=False) +smiles(R"c12c(c(=O)[n-]c(=O)n1)cc1c(cc(cc1)O)n2C[C@@H]([C@@H]([C@@H](COP(=O)(O[C@H](C(=O)[O-])C)[O-])O)O)O", printStereoWarnings=False) +smiles(R"c12c(c(=O)[n-]c(=O)n1)nc(c(C)n2C[C@@H]([C@@H]([C@@H](CO)O)O)O)C", printStereoWarnings=False) +smiles(R"c12c(c(=O)[nH]cc1)cccc2", printStereoWarnings=False) +smiles(R"c12c(c(=O)[nH]c(=O)[nH]1)[nH]c(=O)[nH]2", printStereoWarnings=False) +smiles(R"c12c(C(=O)OC1=O)c(cc(=O)c(c2)O)[O-]", printStereoWarnings=False) +smiles(R"[C@@]12([C@H]3C(=CC[C@@H]1[C@@]1([C@](CC2)(C)[C@H]2[C@@](CC1)(CCC(C2)(C)C)C)C)C([C@H](CC3)O)(C)C)C", printStereoWarnings=False) +smiles(R"[C@@]12([C@H]3[C@@]([C@H](C(=O)CC3)C)(CC[C@@H]1[C@@]1([C@](C[C@@](CC1)(CCC=C(C)C)C)(CC2)C)C)C)C", printStereoWarnings=False) +smiles(R"[C@@]12([C@@H]3[C@H]([C@H]4[C@@](CC3)(C)[C@H](CC4)[C@@H]([C@@H](O)[C@H](O)[C@H](C(C)C)C)C)CC[C@H]2C[C@@H](CC1)O)C", printStereoWarnings=False) +smiles(R"c12[C@H]3N(C/C(=C/C)/[C@H](C3)C(C(=O)OC)C=O)CCc1c1c([nH]2)cccc1", printStereoWarnings=False) +smiles(R"[C@@]12([C@H](C1)C(=C)[C@@H](C2)O)C(C)C", printStereoWarnings=False) +smiles(R"[C@]12([C@H](c3c(OC2)c2c(cc3)OC(C=C2)(C)C)Oc2c1ccc(c2)O)O", printStereoWarnings=False) +smiles(R"[C@]12([C@H](c3c(OC2)cc2c(c3)C=CC(O2)(C)C)Oc2c1ccc(c2)O)O", printStereoWarnings=False) +smiles(R"[C@]12([C@H](c3c(OC2)cc2c(c3)C[C@H](O2)C(=C)C)Oc2c1ccc(c2)O)O", printStereoWarnings=False) +smiles(R"c12[C@H](Cc3ccc(cc3)O)[NH2+]CCc1cc(c(c2)O)OC", printStereoWarnings=False) +smiles(R"c12[C@@H](Cc3cc(Oc4ccc(cc4)C[C@H]4c5c(cc(c(c5)O)OC)CC[NH+]4C)c(cc3)O)[NH+](CCc1cc(c(c2)O)OC)C", printStereoWarnings=False) +smiles(R"[C@]12([C@H](CC[C@@]3([C@@H]1[C@@H]([C@@]14CC(=C)C(CC[C@@H]34)C1)C(=O)[O-])OC2=O)O)C", printStereoWarnings=False) +smiles(R"[C@]12([C@H](C=C[C@@]3([C@@H]1[C@@H]([C@@]14CC(=C)C(CC[C@@H]34)(C1)O)C(=O)OC)OC2=O)O)C", printStereoWarnings=False) +smiles(R"[C@]12([C@H](CC[C@@]3([C@@H]1[C@@H]([C@@]14CC(=C)C(CC[C@@H]34)(C1)O)C(=O)OC)OC2=O)O)C", printStereoWarnings=False) +smiles(R"[C@]12([C@H](C=C[C@@]3([C@@H]1[C@@H]([C@@]14CC(=C)C(CC[C@@H]34)(C1)O)C(=O)[O-])OC2=O)O)C", printStereoWarnings=False) +smiles(R"[C@]12([C@H](CC[C@@]3([C@@H]1[C@@H]([C@@]14CC(=C)C(CC[C@@H]34)(C1)O)C(=O)[O-])OC2=O)O)C", printStereoWarnings=False) +smiles(R"[C@]12([C@H](C=C[C@@]3([C@@H]1[C@@H]([C@@]14CC(=C)C(CC[C@@H]34)(C1)O)C(=O)[O-])OC2=O)O[C@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)C", printStereoWarnings=False) +smiles(R"[C@]12([C@H](CC[C@@]3([C@@H]1[C@@H]([C@@]14CC(=C)[C@@H](CC[C@@H]34)C1)C(=O)OC)OC2=O)O)C", printStereoWarnings=False) +smiles(R"[C@]12([C@H](C(CCC1)(C)C)CC[C@@H]1[C@]32CC[C@@]([C@@H](C1)C3)(C)O)C", printStereoWarnings=False) +smiles(R"[C@]12([C@H](C(=CCC1)C)C[C@@H](CC2)C(C)(C)O)C", printStereoWarnings=False) +smiles(R"[C@@]12([C@@H](C[C@@H](CC1)C2(C)C)O)C", printStereoWarnings=False) +smiles(R"[C@@]12([C@@H](C[C@@H](CC1)C2(C)C)OP(=O)(OP(=O)([O-])[O-])[O-])C", printStereoWarnings=False) +smiles(R"[C@@]12([C@H](C[C@@H](CC1=O)C2(C)C)O)C", printStereoWarnings=False) +smiles(R"[C@]12([C@H](C([C@H](CC1)O)(C)C)CCC1=C2CC[C@@]2([C@@]1(CC[C@@]1([C@H]2CC(CC1)(C)C)C)C)C)C", printStereoWarnings=False) +smiles(R"[C@]12([C@H](C([C@H](CC1)O)(C)C)CC[C@@]1([C@@H]2CC[C@@]2(C1=CC[C@@]1([C@H]2CC(CC1)(C)C)C)C)C)C", printStereoWarnings=False) +smiles(R"[C@]12([C@H](C([C@H](CC1)O)(C)C)CC[C@@]1([C@@H]2CC[C@H]1[C@@](CC/C=C(/CCC=C(C)C)\C)(O)C)C)C", printStereoWarnings=False) +smiles(R"[C@]12([C@H](C(C(=O)CC1)CCc1c(ccc(c1)O)C)CCC2=O)C", printStereoWarnings=False) +smiles(R"[C@@]12([C@H]([C@H]3[C@@]([C@@]4(C(=CC(=O)C=C4)CC3)C)(CC2)O)CCC1=O)C", printStereoWarnings=False) +smiles(R"[C@]12([C@H]([C@H]3[C@@H]([C@@]4(C(=CC3)C[C@H](CC4)O)C)CC1)CC[C@@H]2[C@@]([C@@H](CCC(C)C)O)(C)O)C", printStereoWarnings=False) +smiles(R"[C@@]12([C@H]([C@H]3[C@@H]([C@@]4(C(=CC3)CC(=O)CC4)C)CC2)CC[C@@H]1[C@@H](CCCC(C)C)C)C", printStereoWarnings=False) +smiles(R"[C@@]12([C@H]([C@H]3[C@@H]([C@@]4(C(=CC(=O)C=C4)CC3)C)CC2)CCC1=O)C", printStereoWarnings=False) +smiles(R"[C@@]12([C@H]([C@H]3[C@@H]([C@@]4(C(=CC(=O)CC4)CC3)C)CC2)CC[C@@H]1[C@@H](CCCC(C)C)C)C", printStereoWarnings=False) +smiles(R"[C@@]12([C@H]([C@H]3[C@@H]([C@@]4(C(=CC(=O)CC4)CC3)C)CC2)CC[C@@H]1[C@@H](CCCC(CO)C)C)C", printStereoWarnings=False) +smiles(R"[C@]12([C@H]([C@H]3[C@@H]([C@@]4([C@@H](CC3)CC(=O)CC4)C)CC1)CC[C@@H]2[C@@H]([C@H](C[C@H](C(C)C)C)O)C)C", printStereoWarnings=False) +smiles(R"[C@@]12([C@H]([C@H]3[C@@H]([C@@]4([C@H](C[C@H]3O)C[C@@H](CC4)O)C)CC2)CC[C@@H]1[C@@H](CCCC(C)C)C)C", printStereoWarnings=False) +smiles(R"[C@]12([C@H]([C@H](C[C@@]3([C@@H]1[C@@H]([C@@]14CC(=C)C(CC[C@@H]34)C1)C(=O)OC)OC2=O)O)O)C", printStereoWarnings=False) +smiles(R"[C@]12([C@H]([C@H](C[C@@]3([C@@H]1[C@@H]([C@@]14CC(=C)C(CC[C@@H]34)C1)C(=O)[O-])OC2=O)O)O)C", printStereoWarnings=False) +smiles(R"[C@]12([C@H]([C@H](C[C@@]3([C@@H]1[C@@H]([C@@]14CC(=C)C(CC[C@@H]34)(C1)O)C(=O)[O-])OC2=O)O)O)C", printStereoWarnings=False) +smiles(R"[C@@]12([C@@H]([C@@H](CC[C@@H]1O)C)[C@H]1[C@@H](CC2)C1(C)C)C", printStereoWarnings=False) +smiles(R"[C@]12([C@H]([C@@H](C(=O)CC1)CCc1c(ccc(c1O)O)C)CCC2=O)C", printStereoWarnings=False) +smiles(R"[C@@]12([C@H](Oc3c1cc1c(c3)OCO1)c1c(OC2)cc(cc1)OC)O", printStereoWarnings=False) +smiles(R"c12c(nc3c(cc(c(c3)C)C)n1)c(=O)[nH]c(=O)[nH]2", printStereoWarnings=False) +smiles(R"c12c(nc3c(cc(c(c3)C)C)n2C[C@@H]([C@@H]([C@@H](CO)O)O)O)c(=O)[n-]c(=O)n1", printStereoWarnings=False) +smiles(R"c12c(nc3c(n1C[C@@H]([C@@H]([C@H](O)COP(=O)([O-])[O-])O)O)cc(c(c3)C)C)c(=O)[n-]c(=O)n2", printStereoWarnings=False) +smiles(R"c12cnc(c(c1C(=O)OC2)O)C", printStereoWarnings=False) +smiles(R"c12c(nccc1C(=O)[O-])cccc2", printStereoWarnings=False) +smiles(R"c12c([n+](ccc1[N+](=O)[O-])[O-])cccc2", printStereoWarnings=False) +smiles(R"c12c(ncc(c1O)O)cccc2", printStereoWarnings=False) +smiles(R"c12c(NCC(=N1)CNc1ccc(C(=O)[O-])cc1)nc([nH]c2=O)N", printStereoWarnings=False) +smiles(R"c12c(N=C(CN1)C(=O)C(C)O)c(=O)[nH]c(n2)N", printStereoWarnings=False) +smiles(R"c12c(NC(CN1)C(=O)C(C)O)c(=O)[nH]c(n2)N", printStereoWarnings=False) +smiles(R"c12c(N=C(CN1)C(=O)C(C)O)c(=O)[nH]c(=O)[nH]2", printStereoWarnings=False) +smiles(R"c12c(NC(CN1)C(=O)[O-])c(=O)[nH]c(n2)N", printStereoWarnings=False) +smiles(R"c12c(NCC(=N1)COP(=O)(OP(=O)([O-])[O-])[O-])nc(nc2O)N", printStereoWarnings=False) +smiles(R"c12c(nc(cn2)C(C(C)O)O)c(=O)[nH]c(n1)N", printStereoWarnings=False) +smiles(R"c12c(NC(CN2)C(C(C)O)O)c(=O)[nH]c(n1)N", printStereoWarnings=False) +smiles(R"c12c(N=C(CN2)[C@@H]([C@@H](C)O)O)c(=O)nc([nH]1)N", printStereoWarnings=False) +smiles(R"c12c(N=C(CN2)[C@@H]([C@H](C)O)O)c(=O)nc([nH]1)N", printStereoWarnings=False) +smiles(R"c12c(N=C(CN2)[C@H]([C@H](C)O)O)c(=O)nc([nH]1)N", printStereoWarnings=False) +smiles(R"c12c(nc(cn2)CNc2ccc(cc2)C(=O)N[C@H](C(=O)[O-])CCC(=O)[O-])c(=O)[nH]c(n1)N", printStereoWarnings=False) +smiles(R"c12c(N=C(CN2)CO)c(nc(n1)N)O", printStereoWarnings=False) +smiles(R"c12c(NC(C(=O)C(=O)C)CN1)c(=O)[nH]c(n2)N", printStereoWarnings=False) +smiles(R"c12c(N[C@H]3[C@@H](N1)C(=C([S-])[C@H](O3)COP(=O)([O-])OP(=O)([O-])OC[C@@H]1[C@H]([C@H]([C@H](n3c4ncnc(c4nc3)N)O1)O)O)S)nc(N)[nH]c2=O", printStereoWarnings=False) +smiles(R"c12c(N[C@@H](C)[C@H]3[N+]2=CN(c2ccc(cc2)C[C@@H]([C@@H]([C@@H](CO[C@H]2O[C@@H]([C@H]([C@H]2O)O)COP(=O)(O[C@H](C(=O)[O-])CCC(=O)[O-])[O-])O)O)O)[C@@H]3C)nc([nH]c1=O)N", printStereoWarnings=False) +smiles(R"c12c(N[C@@H](C)[C@H]3N2CN(c2ccc(cc2)C[C@@H]([C@@H]([C@@H](CO[C@H]2O[C@@H]([C@H]([C@H]2O)O)COP(=O)(O[C@H](C(=O)[O-])CCC(=O)[O-])[O-])O)O)O)[C@@H]3C)nc([nH]c1=O)N", printStereoWarnings=False) +smiles(R"c12c(N[C@H]([C@@H](N1C)[C@@H](C)Nc1ccc(cc1)C[C@@H]([C@@H]([C@@H](CO[C@H]1O[C@@H]([C@H]([C@H]1O)O)COP(=O)(O[C@H](C(=O)[O-])CCC(=O)[O-])[O-])O)O)O)C)nc([nH]c2=O)N", printStereoWarnings=False) +smiles(R"c12c(N[C@H]([C@@H](N1)[C@@H](C)Nc1ccc(cc1)C[C@@H]([C@@H]([C@@H](CO[C@H]1O[C@@H]([C@H]([C@H]1O)O)COP(=O)(O[C@H](C(=O)N[C@H](C(=O)[O-])CCC(=O)[O-])CCC(=O)[O-])[O-])O)O)O)C)nc([nH]c2=O)N", printStereoWarnings=False) +smiles(R"c12c(N[C@H]([C@@H](N1)[C@@H](C)Nc1ccc(cc1)C[C@@H]([C@@H]([C@@H](CO[C@H]1O[C@@H]([C@H]([C@H]1O)O)COP(=O)(O[C@H](C(=O)[O-])CCC(=O)[O-])[O-])O)O)O)C)nc([nH]c2=O)N", printStereoWarnings=False) +smiles(R"c12c(N([C@H](CN1)CNc1ccc(cc1)C(=O)N[C@@H](CCC(=O)[O-])C(=O)[O-])C)c(=O)[nH]c(n2)N", printStereoWarnings=False) +smiles(R"c12c(N[C@H](CN2)[C@@H]([C@H](C)O)O)c(=O)nc([nH]1)N", printStereoWarnings=False) +smiles(R"c12c(ncn(c1N)C)ncn2", printStereoWarnings=False) +smiles(R"c12c(ncnc1N)[nH]cn2", printStereoWarnings=False) +smiles(R"c12c(nc([nH]1)C(=O)[O-])[nH]c(=O)[nH]c2=O", printStereoWarnings=False) +smiles(R"c12c(nc[nH]1)ncnc2", printStereoWarnings=False) +smiles(R"c12c(nc[nH]c1=O)nc[nH]2", printStereoWarnings=False) +smiles(R"c12c(nc([nH]c2=O)N)N[C@@H](C)C(=N1)[C@@H](C)Nc1ccc(cc1)C[C@H](O)[C@@H]([C@@H](CO[C@@H]1[C@H](O)[C@H](O)[C@@H](COP(=O)(O[C@H](C(=O)[O-])CCC(=O)[O-])[O-])O1)O)O", printStereoWarnings=False) +smiles(R"c12c(nc(N)[nH]c1=O)[nH]cn2", printStereoWarnings=False) +smiles(R"c12c[nH]c3c1c([C@@H]1[C@H]([N+](=CC(=C1)C)C)C2)ccc3", printStereoWarnings=False) +smiles(R"c12c[nH]c3c1c([C@@H]1[C@H]([N+](=CC(C1)C)C)C2)ccc3", printStereoWarnings=False) +smiles(R"c12c[nH]c3c1c([C@@H]1[C@H]([NH+](C)C[C@@H](C1)C)C2)ccc3", printStereoWarnings=False) +smiles(R"c12c[nH]c3c1c([C@H]([C@H]([NH2+]C)C2)/C=C(/C=O)\C)ccc3", printStereoWarnings=False) +smiles(R"c12c[nH]c3c1c([C@H]([C@H]([NH2+]C)C2)/C=C(/CO)\C)ccc3", printStereoWarnings=False) +smiles(R"c12c[nH]c3c1c([C@H]([C@H]([NH2+]C)C2)CC(C=O)C)ccc3", printStereoWarnings=False) +smiles(R"c12c([nH]c3c(cc(c(c3)C)C)n2C[C@@H]([C@@H]([C@@H](CO)O)O)O)c(=O)[nH]c(=O)[nH]1", printStereoWarnings=False) +smiles(R"c12c([nH]c3c(n1C[C@@H]([C@@H]([C@H](O)COP(=O)([O-])[O-])O)O)cc(c(c3)C)C)c(=O)[nH]c(=O)[nH]2", printStereoWarnings=False) +smiles(R"c12c([nH]c(cn1c(=O)c(n2)[C@H](CC)C)c1c2c(cccc2)[nH]c1)CCCNC(=[NH2+])N", printStereoWarnings=False) +smiles(R"c12c([nH]cn2)ncnc1NCC=C(C)C", printStereoWarnings=False) +smiles(R"c12c([nH]c(=O)c(c2)C)ccc(c1O)O", printStereoWarnings=False) +smiles(R"[C@@]12([C@](O1)(C[C@H](CC2(C)C)O)C)/C=C/C(=C/C=C/C(=C/C=C/C=C(/C=C/C=C(/C=C/[C@]12[C@](O1)(C[C@H](CC2(C)C)O)C)\C)\C)/C)/C", printStereoWarnings=False) +smiles(R"[C@@]12(CO1)C[C@@H]([C@@H]([C@H]([C@H](O[C@H]1C[C@@H]([C@H]([C@@H](O1)C)O)OC)[C@H](C(=O)O[C@@H]([C@@H]([C@@H]([C@H](C2=O)C)O)C)C)C)C)O[C@H]1[C@@H]([C@H](C[C@H](O1)C)[NH+](C)C)O)C", printStereoWarnings=False) +smiles(R"[C@@]12(CO1)C[C@@H]([C@@H]([C@H]([C@H](O[C@@H]1O[C@H]([C@@H]([C@H](C1)OC)O)C)[C@H](C(=O)O[C@@H]([C@@H]([C@@H]([C@H](C2=O)C)O)C)C)C)C)O)C", printStereoWarnings=False) +smiles(R"[C@@]12(CO1)C[C@@H]([C@@H]([C@H]([C@H](O[C@@H]1O[C@H]([C@@H]([C@H](C1)O)O)C)[C@H](C(=O)O[C@@H]([C@@H]([C@@H]([C@H](C2=O)C)O)C)C)C)C)O)C", printStereoWarnings=False) +smiles(R"[C@@]12(CO1)C[C@@H]([C@H](O[C@H]1[C@@H]([C@H](C[C@H](O1)C)[NH+](C)C)OP(=O)([O-])[O-])[C@H]([C@H](O[C@H]1C[C@@H]([C@H]([C@@H](O1)C)O)OC)[C@H](C(=O)O[C@@H]([C@@H]([C@@H]([C@H](C2=O)C)O)C)C)C)C)C", printStereoWarnings=False) +smiles(R"c12c(oc3c(n1)cccc3)cc(=O)c(c2)N", printStereoWarnings=False) +smiles(R"c12c(oc3c(o1)cccc3)cc(=O)c(=O)c2", printStereoWarnings=False) +smiles(R"c12c(oc(c(c1=O)[O-])c1ccc(cc1)O)cc(cc2O)O", printStereoWarnings=False) +smiles(R"c12c(oc(c(c1=O)[O-])c1ccc(cc1)OC)cc(cc2O)O", printStereoWarnings=False) +smiles(R"c12c(oc(c(c1=O)[O-])c1cc(c(cc1)O)O)cc(cc2O)O", printStereoWarnings=False) +smiles(R"c12c(oc(cc2=O)c2cc(c(cc2)O)O)cc([O-])c(c1O)[C@@H]1O[C@H](CO)[C@H]([C@H](O)[C@H]1O)O", printStereoWarnings=False) +smiles(R"c12C(=O)C(=C(C(=O)c1cccc2)C/C=C(/CCC[C@@H](CCC[C@@H](CCCC(C)C)C)C)\C)C", printStereoWarnings=False) +smiles(R"[C@@]12(C(=O)C[C@@H](CC1)C2(C)C)C", printStereoWarnings=False) +smiles(R"c12c(=O)cc(oc1cc(cc2O)O)C", printStereoWarnings=False) +smiles(R"c12c(=O)cc(oc2cc(c(c1O)OC)O)c1ccccc1", printStereoWarnings=False) +smiles(R"c12c(O[C@@H](CC1=O)c1ccccc1)cccc2", printStereoWarnings=False) +smiles(R"c12c(O[C@H]([C@H](C1=O)O)c1cc(c(cc1)O)O)cc(cc2O)[O-]", printStereoWarnings=False) +smiles(R"c12c(O[C@@H]([C@H]([C@H]1O)O)c1ccc(cc1)O)cc(cc2O)O", printStereoWarnings=False) +smiles(R"c12c(O[C@@H](C(=O)N1O)O[C@@H]1O[C@@H]([C@H]([C@@H]([C@H]1O)O)O)CO)cc(cc2)OC", printStereoWarnings=False) +smiles(R"C12=[N+]3C(=C(c4c(c(c5n4[Co-2]43N3C(=C2)[C@]([C@@H](C3=CC2=[N+]4C(=C5)C(=C2CC(=O)[O-])CCC(=O)[O-])CCC(=O)[O-])(CC(=O)[O-])C)CCC(=O)[O-])CC(=O)[O-])C)[C@]([C@@H]1CCC(=O)[O-])(CC(=O)[O-])C", printStereoWarnings=False) +smiles(R"C12=[N+]3C(=Cc4c(c(c5n4[Co-2]43N3C(=C2)[C@]([C@@H](C3=CC2=[N+]4C(=C5)C(=C2CC(=O)[O-])CCC(=O)[O-])CCC(=O)[O-])(CC(=O)[O-])C)CCC(=O)[O-])CC(=O)[O-])[C@]([C@@H]1CCC(=O)[O-])(CC(=O)[O-])C", printStereoWarnings=False) +smiles(R"C12=[N+]3C(=C(c4c(c(c5n4[Co-2]43N3C(=C2)[C@]([C@@H](C3=CC2=[N+]4C(=C(C2CC(=O)[O-])CCC(=O)[O-])C5)CCC(=O)[O-])(CC(=O)[O-])C)CCC(=O)[O-])CC(=O)[O-])C)[C@]([C@@H]1CCC(=O)[O-])(CC(=O)[O-])C", printStereoWarnings=False) +smiles(R"C12=[N+]3C(=Cc4c(c(c5n4[Co-2]43N3C(=C2)[C@]([C@@H](C3=CC2=[N+]4C(=C(C2CC(=O)[O-])CCC(=O)[O-])C5)CCC(=O)[O-])(CC(=O)[O-])C)CCC(=O)[O-])CC(=O)[O-])[C@]([C@@H]1CCC(=O)[O-])(CC(=O)[O-])C", printStereoWarnings=False) +smiles(R"C12=[N+]3C(=Cc4n5c(C=C6[N+]7=C(C=c8n(c(=C1)c(c8CCC(=O)[O-])C)[Fe-2]357)[C@@]([C@@]6(C)O)(CCC(=O)[O-])O)c(c4C)C=C)C(=C2C)C=C", printStereoWarnings=False) +smiles(R"C12=[N+]3[C@@]([C@@](CC(=O)N)([C@@H]2CCC(=O)N)C)(C)[C@@H]2N4C(=C(C5=[N+]6C(=CC7=[N+](C(=C1C)[C@]([C@@H]7CCC(=O)N)(CC(=O)N)C)[Co-2]346C[C@H]1O[C@H]([C@@H]([C@@H]1O)O)n1c3c(nc1)c(ncn3)N)C([C@@H]5CCC(=O)N)(C)C)C)[C@](CCC(=O)NC[C@H](OP(=O)(OP(=O)(OC[C@H]1O[C@H]([C@@H]([C@@H]1O)O)n1c3c(nc1)c(=O)[nH]c(n3)N)[O-])[O-])C)([C@H]2CC(=O)N)C", printStereoWarnings=False) +smiles(R"C12=[N+]3[C@@]([C@@](CC(=O)N)([C@@H]2CCC(=O)N)C)(C)[C@@H]2N4C(=C(C5=[N+]6C(=CC7=[N+](C(=C1C)[C@]([C@@H]7CCC(=O)N)(CC(=O)N)C)[Co-2]346C[C@H]1O[C@@H](n3c4ncnc(N)c4nc3)[C@@H]([C@@H]1O)O)C([C@@H]5CCC(=O)N)(C)C)C)[C@](CCC(=O)NC[C@@H](C)O)([C@H]2CC(=O)N)C", printStereoWarnings=False) +smiles(R"C12=[N+]3[C@@]([C@@](CC(=O)N)([C@@H]2CCC(=O)N)C)(C)[C@@H]2N4C(=C(C5=[N+]6C(=CC7=[N+](C(=C1C)[C@]([C@@H]7CCC(=O)N)(CC(=O)N)C)[Co-2]346C[C@H]1O[C@@H](n3c4ncnc(N)c4nc3)[C@@H]([C@@H]1O)O)C([C@@H]5CCC(=O)N)(C)C)C)[C@](CCC(=O)NC[C@@H](C)OP(=O)([O-])[O-])([C@H]2CC(=O)N)C", printStereoWarnings=False) +smiles(R"C12=[N+]3[C@@]([C@@](CC(=O)N)([C@@H]2CCC(=O)N)C)(C)[C@@H]2N4C(=C(C5=[N+]6C(=CC7=[N+](C(=C1C)[C@]([C@@H]7CCC(=O)N)(CC(=O)N)C)[Co-2]346C[C@H]1O[C@@H](n3c4ncnc(N)c4nc3)[C@@H]([C@@H]1O)O)C([C@@H]5CCC(=O)N)(C)C)C)[C@](CCC(=O)[O-])([C@H]2CC(=O)N)C", printStereoWarnings=False) +smiles(R"C12=[N+]3[C@@]([C@@](CC(=O)[O-])([C@@H]2CCC(=O)[O-])C)(C)[C@@H]2N4C(=C(C5=[N+]6C(=CC7=[N+](C(=C1C)[C@]([C@@H]7CCC(=O)[O-])(CC(=O)N)C)[Co-2]346)C([C@@H]5CCC(=O)[O-])(C)C)C)[C@](CCC(=O)[O-])([C@H]2CC(=O)[O-])C", printStereoWarnings=False) +smiles(R"c12NC3C(Nc1nc(N)[nH]c2=O)OC1C(OP(=O)(OC1)[O-])C3=O", printStereoWarnings=False) +smiles(R"C12=N/C(=C\c3c(c(c([nH]3)/C=C/3\N=C(/C=C/4\N/C(=C\2)/[C@]([C@@H]4CCC(=O)[O-])(CC(=O)[O-])C)C(=C3CCC(=O)[O-])CC(=O)[O-])CCC(=O)[O-])CC(=O)[O-])/[C@]([C@@H]1CCC(=O)[O-])(CC(=O)[O-])C", printStereoWarnings=False) +smiles(R"C12=N/C(=C\c3c(c(c([nH]3)Cc3[nH]c(Cc4[nH]c(C2)c(c4CCC(=O)[O-])CC(=O)[O-])c(c3CCC(=O)[O-])CC(=O)[O-])CCC(=O)[O-])CC(=O)[O-])/[C@]([C@@H]1CCC(=O)[O-])(CC(=O)[O-])C", printStereoWarnings=False) +smiles(R"C12=N/C(=C\c3c(c(c([nH]3)Cc3[nH]c(/C=C/4\[NH+]/C(=C\2)/[C@]([C@@H]4CCC(=O)[O-])(CC(=O)[O-])C)c(c3CCC(=O)[O-])CC(=O)[O-])CCC(=O)[O-])CC(=O)[O-])/[C@]([C@@H]1CCC(=O)[O-])(CC(=O)[O-])C", printStereoWarnings=False) +smiles(R"C12=N[C@@]([C@@](CC(=O)N)([C@@H]2CCC(=O)N)C)(C)[C@@H]2N(/C(=C(\C3=N/C(=C\C4=N/C(=C\1/C)/[C@]([C@@H]4CCC(=O)N)(CC(=O)N)C)/C([C@@H]3CCC(=O)N)(C)C)/C)/[C@](CCC(=O)NC[C@@H](C)O)([C@H]2CC(=O)N)C)[Co]", printStereoWarnings=False) +smiles(R"C12=N[C@@]([C@@](CC(=O)N)([C@@H]2CCC(=O)[O-])C)(C)[C@@H]2N(/C(=C(\C3=N/C(=C\C4=N/C(=C\1/C)/[C@]([C@@H]4CCC(=O)[O-])(CC(=O)N)C)/C([C@@H]3CCC(=O)[O-])(C)C)/C)/[C@](CCC(=O)[O-])([C@H]2CC(=O)[O-])C)[Co]", printStereoWarnings=False) +smiles(R"C12=N[C@@]([C@@](CC(=O)N)([C@@H]2CCC(=O)[O-])C)(C)[C@@H]2N(/C(=C(\C3=N/C(=C\C4=N/C(=C\1/C)/[C@]([C@@H]4CCC(=O)[O-])(CC(=O)N)C)/C([C@@H]3CCC(=O)[O-])(C)C)/C)/[C@](CCC(=O)[O-])([C@H]2CC(=O)[O-])C)[Co+]", printStereoWarnings=False) +smiles(R"C12=N[C@@]([C@@](CC(=O)N)([C@@H]2CCC(=O)[O-])C)(C)[C@@H]2N(/C(=C(\C3=N/C(=C\C4=N/C(=C\1/C)/[C@]([C@@H]4CCC(=O)[O-])(CC(=O)N)C)/C([C@@H]3CCC(=O)[O-])(C)C)/C)/[C@](CCC(=O)[O-])([C@H]2CC(=O)[O-])C)[Co+]C[C@H]1O[C@@H](n2c3ncnc(N)c3nc2)[C@@H]([C@@H]1O)O", printStereoWarnings=False) +smiles(R"C12=N[C@@]([C@@](CC(=O)[O-])([C@@H]2CCC(=O)[O-])C)(C)[C@@H]2N=C(C(C3=N[C@](CC4=N/C(=C\1/C)/[C@]([C@@H]4CCC(=O)[O-])(CC(=O)[O-])C)(C)C(=C3CCC(=O)[O-])C)C)[C@](CCC(=O)[O-])([C@H]2CC(=O)[O-])C", printStereoWarnings=False) +smiles(R"C12=N[C@@]([C@@](CC(=O)[O-])([C@@H]2CCC(=O)[O-])C)(C)[C@@H]2N(/C(=C(\C3=N/C(=C\C4=N/C(=C\1/C)/[C@]([C@@H]4CCC(=O)[O-])(CC(=O)[O-])C)/C([C@@H]3CCC(=O)[O-])(C)C)/C)/[C@](CCC(=O)[O-])([C@H]2CC(=O)[O-])C)[Co+]", printStereoWarnings=False) +smiles(R"c12N[C@@H]3[C@H](Nc1nc(N)[nH]c2=O)O[C@@H](C(=C3S)[S-])COP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"c12n([C@@H]3O[C@@H]([C@H](C3)O)COP(=O)([O-])[O-])c(=O)[nH]c1c(=O)[nH]c(n2)N", printStereoWarnings=False) +smiles(R"c12n([C@@H]3O[C@@H]([C@H](C3)O)COP(=O)(OP(=O)([O-])[O-])[O-])cnc1c(=O)[nH]c(n2)N", printStereoWarnings=False) +smiles(R"c12n([C@@H]3O[C@@H]([C@H](C3)O)COP(=O)(OP(=O)([O-])[O-])[O-])c(=O)[nH]c1c(=O)[nH]c(n2)N", printStereoWarnings=False) +smiles(R"c12n([C@@H]3O[C@@H]([C@H](C3)O)COP(=O)(OP(=O)(OP(=O)([O-])[O-])[O-])[O-])cnc1c(=O)[nH]c(n2)N", printStereoWarnings=False) +smiles(R"c12n([C@@H]3O[C@@H]([C@H](C3)O)COP(=O)(OP(=O)(OP(=O)([O-])O)[O-])[O-])c(=O)[nH]c1c(=O)[nH]c(n2)N", printStereoWarnings=False) +smiles(R"c12n([C@@H]3O[C@@H]([C@H]([C@H]3O)O)COP(=O)([O-])[O-])cnc1c(=O)[nH]c(=O)[nH]2", printStereoWarnings=False) +smiles(R"c12ncn(c1c(=O)[nH]c(=O)[nH]2)C", printStereoWarnings=False) +smiles(R"C12=NC(=NC(=O)C1=NC(CN2)C(C(C)O)O)N", printStereoWarnings=False) +smiles(R"C12=NC(=NC(=O)C1(NC(CN2)C(C(C)O)O)O)N", printStereoWarnings=False) +smiles(R"C12=NC(=NC(=O)C1=N[C@H](CN2)[C@@H]([C@@H](C)O)O)N", printStereoWarnings=False) +smiles(R"C12=NC(=NC(=O)C1(N[C@H](CN2)[C@@H]([C@@H](C)O)O)O)N", printStereoWarnings=False) +smiles(R"C12=NC(=O)NC(=O)C1(NC(=O)N2)O", printStereoWarnings=False) +smiles(R"C12(OC(C(CC2)CC(=O)O1)(C)C)C", printStereoWarnings=False) +smiles(R"c12occ(c(=O)c1ccc(c2)O)c1c(cc(cc1)OC)O", printStereoWarnings=False) +smiles(R"c12oc(c(c(=O)c1c(c(c(c2)OC)OC)O)OC)c1cc(c(cc1)O)O", printStereoWarnings=False) +smiles(R"c12oc(c(c(=O)c1c(cc(c2)OC)O)OC)c1cc(c(cc1)O)O", printStereoWarnings=False) +smiles(R"c12oc(c(c(=O)c1c(cc(c2OC)O)O)[O-])c1cc(c(cc1)O)O", printStereoWarnings=False) +smiles(R"c12oc(c(c(=O)c1c(c(c(c2)OC)O)O)OC)c1cc(c(cc1)O)O", printStereoWarnings=False) +smiles(R"c12oc(cc(=O)c1c(cc(c2)[O-])O)c1ccc(cc1)OC", printStereoWarnings=False) +smiles(R"c12oc(c(c(=O)c1c(cc(c2)[O-])O)OC)c1cc(c(cc1)O)O", printStereoWarnings=False) +smiles(R"c12O[C@@H]([C@H](Cc1c(cc(c2)O)O)O)c1cc(c(cc1)O)O", printStereoWarnings=False) +smiles(R"c12oc(=O)cc(c1cccc2)O", printStereoWarnings=False) +smiles(R"c12oc(=O)cc(c1ccc(c2)O)C", printStereoWarnings=False) +smiles(R"c12oc(=O)cc(c1ccc(c2)OC(=O)C)C", printStereoWarnings=False) +smiles(R"c12oc(=O)ccc2cc2c(c1)occ2", printStereoWarnings=False) +smiles(R"c12oc(=O)ccc2cc(c(c1)O)OC", printStereoWarnings=False) +smiles(R"C1[C@@]23C(=C(C([C@@H]1CC3)(C)C)C)CC[C@@H]2C", printStereoWarnings=False) +smiles(R"C1[C@@]23C(=C(C([C@@H]1CC3)(C)C)C)[C@@H](C[C@@H]2C)O", printStereoWarnings=False) +smiles(R"C1[C@@]23C(=C(C([C@@H]1CC3)(C)C)C)[C@H](C[C@@H]2C)O", printStereoWarnings=False) +smiles(R"C1[C@@]23C(=C(C([C@@H]1CC3)(C)C)C)C(=O)C[C@@H]2C", printStereoWarnings=False) +smiles(R"c1c2c(c3c(c4c(c5c(cc4)cc4c(c5)OCO4)N(C3)C)c1OC)OCO2", printStereoWarnings=False) +smiles(R"c1c2c(c3c(c4c(c5c(cc6c(c5)OCO6)c(c4)OC)N(C3)C)c1OC)OCO2", printStereoWarnings=False) +smiles(R"C1C2=C([C@]3(CC[C@@H](C([C@@H]3C1)(C)C)O)C)CC[C@]1(C2=CC[C@@H]1[C@@H](CCC=C(C)C)C)C", printStereoWarnings=False) +smiles(R"[C@@]1(/C/2=C(/c3c(c(c([nH]3)Cc3c(c(c(/C=C/4\N=C(/C=C(/[C@H]1CCC(=O)[O-])\[NH+]2)[C@]([C@@H]4CCC(=O)[O-])(CC(=O)[O-])C)[nH]3)CC(=O)[O-])CCC(=O)[O-])CCC(=O)[O-])CC(=O)[O-])\C)(CC(=O)[O-])C", printStereoWarnings=False) +smiles(R"c1c2c(cc3c1OCO3)c1cc3c(c[n+]1CC2)c(c(cc3)OC)OC", printStereoWarnings=False) +smiles(R"c1c2c(cc3c1OCO3)c1c(cc2OC)c2c(c[n+]1C)c1c(cc2OC)OCO1", printStereoWarnings=False) +smiles(R"c1c2c(cc3c1OCO3)ccc1c2[n+](cc2c1c(cc1c2OCO1)OC)C", printStereoWarnings=False) +smiles(R"c1c2c(cc3c1OCO3)[C@@H]1Cc3c(CN1CC2)c(c(cc3)OC)OC", printStereoWarnings=False) +smiles(R"c1c2c(cc3c1OCO3)[C@H]1Cc3c(CN1CC2)c(c(cc3)OC)OC", printStereoWarnings=False) +smiles(R"c1c2c(cc3c1OCO3)[C@@H]1Cc3c(C[N@@+]1(CC2)C)c(c(cc3)OC)OC", printStereoWarnings=False) +smiles(R"c1c2c(c(c3c1oc(=O)cc3)OC)cco2", printStereoWarnings=False) +smiles(R"c1(c2c(c(c3c1oc(=O)cc3)OC)cco2)OC", printStereoWarnings=False) +smiles(R"C1C2C(C(C(=C1)C)C2)(C)C", printStereoWarnings=False) +smiles(R"c1c2c(ccc1)c(c[nH]2)CC[NH3+]", printStereoWarnings=False) +smiles(R"c1c2c(ccc1O)cccn2", printStereoWarnings=False) +smiles(R"c1c2c(ccc1O)[C@H]1[C@@](CO2)(c2c(cc(cc2)O)O1)O", printStereoWarnings=False) +smiles(R"c1c2c(c(cc1O[C@@H]1O[C@@H]([C@@H](O)[C@@H]([C@H]1O[C@@H]1O[C@@H]([C@@H](O)[C@@H]([C@H]1O)O)C(=O)[O-])O)C(=O)[O-])O)c(=O)cc(c1ccc(c(c1)O)O[C@@H]1O[C@@H]([C@H]([C@H](O)[C@H]1O)O)C(=O)[O-])o2", printStereoWarnings=False) +smiles(R"c1c2c(c(cc1O[C@@H]1O[C@@H]([C@@H](O)[C@@H]([C@H]1O[C@@H]1O[C@@H]([C@@H](O)[C@@H]([C@H]1O)O)C(=O)[O-])O)C(=O)[O-])O)c(=O)cc(c1ccc(O)c(c1)O)o2", printStereoWarnings=False) +smiles(R"c1c2c(cc(c1OC)O[C@H]1[C@H](O)[C@H]([C@@H]([C@H](O1)CO)O)O)oc(=O)cc2", printStereoWarnings=False) +smiles(R"c1c2c(cc(c1O)O)[C@H]([NH2+]CC2)C[C@H]1[C@@H](C=C)[C@@H](OC=C1C(=O)OC)O[C@@H]1O[C@@H]([C@H]([C@H](O)[C@H]1O)O)CO", printStereoWarnings=False) +smiles(R"c1(c2c(c(cc1O)O)C(=O)C=C(C2=O)[O-])C1=C(C(=O)c2c(C1=O)c(cc(c2)O)O)[O-]", printStereoWarnings=False) +smiles(R"c1c2c(c(cc1O)O)C(=O)C(=C(C2=O)[O-])C1=C(C(=O)c2c(C1=O)c(cc(c2)O)O)[O-]", printStereoWarnings=False) +smiles(R"C1(C2CCC(=C)C1C2)(C)C", printStereoWarnings=False) +smiles(R"[C@]1([C@]2(CCC(=CC2)C)C)(C(=C)CCC1)C", printStereoWarnings=False) +smiles(R"C1(c2ccccc2)CO1", printStereoWarnings=False) +smiles(R"c1(c2c(cccc2)[nH]c1)C1=N[C@H](CS1)C(=O)[O-]", printStereoWarnings=False) +smiles(R"c1(c2c(cccc2)[nH]c1)c1sccn1", printStereoWarnings=False) +smiles(R"c1c2cc(c(cc2[nH]c1C(=O)[O-])O)O", printStereoWarnings=False) +smiles(R"c1(c2cccc(c2O)O)ccccc1N", printStereoWarnings=False) +smiles(R"C1(c2c(cc(cc2)O)O)C(=O)c2c(OC1)cc(cc2)O", printStereoWarnings=False) +smiles(R"c1c2c(cc(c(c3ccc(O)c(c3)O)[o+]2)O[C@@H]2O[C@@H]([C@@H](O)[C@H](O)[C@H]2O)CO[C@@H]2O[C@H]([C@H](O)[C@@H](O)[C@H]2O)C)c(cc1O)[O-]", printStereoWarnings=False) +smiles(R"c1c2c(cc(c(c3cc(O)c(cc3)O)[o+]2)O[C@@H]2O[C@@H]([C@@H]([C@@H]([C@H]2O[C@H]2[C@@H]([C@H]([C@@H](CO2)O)O)O)O)O)CO)c(cc1[O-])[O-]", printStereoWarnings=False) +smiles(R"c1c2c(cc(c(c3cc(O)c(cc3)O)[o+]2)O[C@@H]2O[C@@H]([C@@H]([C@@H]([C@H]2O)O)O)CO)c(cc1O)[O-]", printStereoWarnings=False) +smiles(R"c1c2c(CC[C@@H]3[C@@H]2CC[C@@]2([C@H](CC[C@@H]32)O)C)cc(c1)O", printStereoWarnings=False) +smiles(R"c1(c2c(c(cc(n2)C(=O)[O-])O)ccc1O)O", printStereoWarnings=False) +smiles(R"c1c2c(cc(c([o+]2)c2ccc(O)c(c2)O)O[C@@H]2O[C@@H]([C@H]([C@@H]([C@H]2O[C@@H]2O[C@@H]([C@H]([C@@H]([C@H]2O)O)O)C(=O)[O-])O)O)CO)c(cc1O)O", printStereoWarnings=False) +smiles(R"c1c2c(cc(c([o+]2)c2ccc(O)c(c2)O)O[C@@H]2O[C@@H]([C@H]([C@@H]([C@H]2O)O)O)CO)c(cc1O)[O-]", printStereoWarnings=False) +smiles(R"c1c2c(cc(c([o+]2)c2cc(c(O)cc2)O)O[C@@H]2O[C@H](CO)[C@H]([C@H](O)[C@H]2O)O)c(cc1O[C@@H]1O[C@H](CO)[C@H]([C@H](O)[C@H]1O)O)[O-]", printStereoWarnings=False) +smiles(R"c1c2c(cc(c([o+]2)c2cc(c(O)cc2)O)O[C@@H]2O[C@H](CO)[C@H]([C@H](O)[C@H]2O)O)c(cc1[O-])O[C@@H]1O[C@H](CO)[C@H]([C@H](O)[C@H]1O)O", printStereoWarnings=False) +smiles(R"c1c2c(cc(c([o+]2)c2cc(O)c(cc2)O)O[C@@H]2O[C@@H]([C@@H]([C@H](O)[C@H]2O[C@@H]2OC[C@@H](O)[C@@H]([C@H]2O)O)O)CO[C@@H]2O[C@@H]([C@@H](O)[C@@H]([C@H]2O)O)CO)c(cc1O)O", printStereoWarnings=False) +smiles(R"c1c2c(cc(c([o+]2)c2cc(O)c(cc2)O)O[C@@H]2O[C@@H]([C@@H]([C@H](O)[C@H]2O[C@@H]2OC[C@@H](O)[C@@H]([C@H]2O)O)O)CO[C@@H]2O[C@@H]([C@@H](O)[C@@H]([C@H]2O)O)COC(=O)/C=C/c2ccc(cc2)O)c(cc1O)O", printStereoWarnings=False) +smiles(R"C1[C@]2([C@@](C[C@H](C1)O)(O)[C@@H](C[C@@H]1[C@@H]2CC[C@]2([C@H]1CC[C@@H]2[C@@H](CCCC(C)C)C)C)O)C", printStereoWarnings=False) +smiles(R"[C@]1([C@@]2(CC[C@H](C2(C)C)C1)C)(O)C", printStereoWarnings=False) +smiles(R"C1[C@@]2(C=CC[NH+]3[C@@H]2[C@]2(c4c(cccc4)NC2=C1C(=O)OC)CC3)CC", printStereoWarnings=False) +smiles(R"c1c2c(cc(O)c1)[C@@H](C[C@@H]1[C@@H]2CC[C@]2([C@H]1CC[C@@H]2O)C)O", printStereoWarnings=False) +smiles(R"c1c2CC[C@](Oc2c(c(c1O)C)C)(CCC[C@@H](CCC[C@@H](CCCC(C)C)C)C)C", printStereoWarnings=False) +smiles(R"c1(c2cccs2)sc(cc1)C#CCCO", printStereoWarnings=False) +smiles(R"c1(c2cccs2)sc(cc1)C#CCCOC(=O)C", printStereoWarnings=False) +smiles(R"c1(c2cccs2)sc(cc1)C#CC(O)COC(=O)C", printStereoWarnings=False) +smiles(R"C1[C@]2(C[C@H]2C(=C1)C)[C@@H](CCC=C(C)C)C", printStereoWarnings=False) +smiles(R"C1[C@]2(C[C@H]2C(=C1)C)[C@H](CCC=C(C)C)C", printStereoWarnings=False) +smiles(R"C1(=C2C([C@@H](CC1)CC1C(=C)[C@H](CC[C@]1(CC2)C)O)(C)C)C", printStereoWarnings=False) +smiles(R"C1(=C2C([C@@H](CC1)CC1C(=C)[C@H](CC[C@]1(CC2)C)OC(=O)C)(C)C)C", printStereoWarnings=False) +smiles(R"C1(=C2C([C@@H](C[C@@H]1O)CC1C(=C)[C@H](CC[C@]1(CC2)C)O)(C)C)C", printStereoWarnings=False) +smiles(R"C1c2c([C@@H](N3[C@@H]1C(=O)N1[C@H](C3=O)CCC1)C=C(C)C)[nH]c1c2cccc1", printStereoWarnings=False) +smiles(R"c1(c2c(C(=O)c3c(C2=O)cccc3OC)c(c2c1C[C@](C[C@@H]2O[C@H]1C[C@@H]([C@@H]([C@@H](O1)C)O)[NH3+])(C(=O)C)O)O)O", printStereoWarnings=False) +smiles(R"c1(c2c(C(=O)c3c(C2=O)cccc3OC)c(c2c1C[C@](C[C@@H]2O[C@H]1C[C@@H]([C@@H]([C@@H](O1)C)O)[NH3+])(C(=O)CO)O)O)O", printStereoWarnings=False) +smiles(R"C1C2=CC(=O)CC[C@@]2([C@@H]2[C@@H](C1)[C@@H]1CC[C@@H]([C@]1(CC2)C)O)C", printStereoWarnings=False) +smiles(R"C1C2=CC(=O)CC[C@@]2([C@@H]2[C@@H](C1)[C@@H]1CC[C@@H]([C@]1(CC2)C)OC(=O)C)C", printStereoWarnings=False) +smiles(R"c1(c2c(c(=O)cc(c3ccccc3)o2)c(O)cc1O[C@@H]1O[C@H](C(=O)[O-])[C@H]([C@H](O)[C@H]1O)O)OC", printStereoWarnings=False) +smiles(R"c1(c2c(c(=O)cc(c3ccccc3)o2)c(O)cc1O)OC", printStereoWarnings=False) +smiles(R"c1c2c(c(=O)cc(c3ccccc3)o2)c(O)c(O)c1O[C@@H]1O[C@H](C(=O)[O-])[C@H]([C@H](O)[C@H]1O)O", printStereoWarnings=False) +smiles(R"c1c2c(c(=O)cc(c3ccc(cc3)O)o2)c(O)c(c1[O-])[C@@H]1O[C@@H]([C@H]([C@@H]([C@H]1OC1O[C@@H]([C@H]([C@@H]([C@H]1O)O)O)CO)O)O)CO", printStereoWarnings=False) +smiles(R"c1c2c(c(=O)cc(c3ccc(cc3)O)o2)c(O)c(O)c1O[C@@H]1O[C@H](C(=O)[O-])[C@H]([C@H](O)[C@H]1O)O", printStereoWarnings=False) +smiles(R"c1c2c(c(=O)cc(c3ccc(O)c(c3)O)o2)c(cc1O[C@@H]1O[C@@H]([C@H]([C@@H]([C@H]1O)O)O)C(=O)[O-])O", printStereoWarnings=False) +smiles(R"c1c2c(C(=O)C[C@@H](c3cc(O)c(cc3)OC)O2)c(cc1O[C@@H]1O[C@@H]([C@H]([C@H](O)[C@H]1O)O)CO[C@@H]1O[C@H]([C@H](O)[C@@H](O)[C@H]1O)C)O", printStereoWarnings=False) +smiles(R"c1c2c(C(=O)C[C@@H](c3cc(O)c(cc3)OC)O2)c(cc1[O-])O", printStereoWarnings=False) +smiles(R"c1c2c(C(=O)C[C@H](O2)c2ccc(cc2)O)c(cc1OC)O", printStereoWarnings=False) +smiles(R"c1c2c(c(=O)cc(o2)c2ccc(O)c(c2)O)c(cc1O[C@H]1[C@@H]([C@@H](O)[C@H](O)[C@@H](CO)O1)O)O", printStereoWarnings=False) +smiles(R"c1c2c(c(=O)cc(o2)c2ccc(O)c(c2)O)c(cc1[O-])O", printStereoWarnings=False) +smiles(R"c1c2c(c(=O)c(c(o2)c2cc(O)c(O)c(c2)O)[O-])c(cc1O)O", printStereoWarnings=False) +smiles(R"C1[C@]2([C@@H](C(=C)C1)C2)C(C)C", printStereoWarnings=False) +smiles(R"C1[C@@]2([C@H](C(=C)C1)C2)C(C)C", printStereoWarnings=False) +smiles(R"C1[C@@]2([C@H]([C@@H](C1=O)C)C2)C(C)C", printStereoWarnings=False) +smiles(R"C1[C@@]2([C@H]([C@@H]([C@@H]1O)C)C2)C(C)C", printStereoWarnings=False) +smiles(R"c1(c2c([nH]c1)cccc2)C[C@@H](C(=O)[O-])NO", printStereoWarnings=False) +smiles(R"c1(c2c([nH]c1)cccc2)C[C@@H](C(=O)[O-])N(O)O", printStereoWarnings=False) +smiles(R"c1c2c(OC[C@]3(c4c(cc(cc4)O)O[C@@H]23)O)cc(O)c1CC=C(C)C", printStereoWarnings=False) +smiles(R"c1(c2c(O)cccc2)ccccc1", printStereoWarnings=False) +smiles(R"c1(c2c(O)c(ccc2)O)ccccc1", printStereoWarnings=False) +smiles(R"c1c2O[C@H](c3ccc(c(c3)O)O)[C@H](C(=O)c2c(cc1[O-])O)O", printStereoWarnings=False) +smiles(R"C1CC1(C(=O)[O-])[NH3+]", printStereoWarnings=False) +smiles(R"C1C=C2[C@]34[C@H](C1=O)Oc1c3c(C[C@H]2[NH+](CC4)C)ccc1OC", printStereoWarnings=False) +smiles(R"C1CC2(C3C(C(C1)(C)C)C2CC=C3C)C", printStereoWarnings=False) +smiles(R"c1cc2c(c3c1c1c(c4c(cc1)cc1c(c4)OCO1)N(C3)C)OCO2", printStereoWarnings=False) +smiles(R"c1cc2c(c3c1c1c(c4c(cc1)cc1c(c4)OCO1)[n+](C)c3)OCO2", printStereoWarnings=False) +smiles(R"c1cc2c(c3c1cc1c(c3)OCO1)N(Cc1c2c(cc2c1OCO2)O)C", printStereoWarnings=False) +smiles(R"c1c(c2c(cc1O)cccc2O)O", printStereoWarnings=False) +smiles(R"c1c(c2c(cc1O)[o+]c(c(c2)O[C@@H]1O[C@@H]([C@H]([C@@H]([C@H]1O)O)O)CO)c1cc(c(c(c1)O[C@@H]1O[C@@H]([C@H]([C@@H]([C@H]1O)O)O)CO)O)O)O[C@@H]1O[C@@H]([C@H]([C@@H]([C@H]1O)O)O)CO", printStereoWarnings=False) +smiles(R"c1c(c2c(cc1O)[o+]c(c(c2)O[C@@H]1O[C@@H]([C@H]([C@@H]([C@H]1O)O)O)CO)c1cc(c(c(c1)O)O)O)O[C@@H]1O[C@@H]([C@H]([C@@H]([C@H]1O)O)O)CO", printStereoWarnings=False) +smiles(R"c1c(c2c(cc1O)[o+]c(c(c2)O[C@@H]1O[C@@H]([C@H]([C@@H]([C@H]1O)O)O)COC(=O)CC(=O)[O-])c1cc(c(c(c1)O)O)O)[O-]", printStereoWarnings=False) +smiles(R"c1cc2ccc3C=C[C@@H]([C@@H](c3c2cc1)O)O", printStereoWarnings=False) +smiles(R"C1CC2=C(CC[C@@]2(CC2=C(CC[C@H]2[C@H]1C)C)C)C(C)C", printStereoWarnings=False) +smiles(R"C1C[C@]2(CCCC(=C2C=C1C(C)C)C)C", printStereoWarnings=False) +smiles(R"C1CC2(CCCC(=C2C=C1C(C)C)C)C", printStereoWarnings=False) +smiles(R"c1c(c2c(c([C@H]3[C@H](O[C@@H]4O[C@@H]([C@@H](O)[C@H](O)[C@H]4O)CO)[C@H]([C@@H]([C@H](O3)CO)O)O)c1[O-])oc(cc2=O)c1ccc(cc1)O)O", printStereoWarnings=False) +smiles(R"C1=C([C@]2(CC[C@H](C2)C(=C)C)[C@@H](CC1)C)C", printStereoWarnings=False) +smiles(R"C1C(=C2[C@]([C@@H]3[C@H]1CC(C3)(C)C)(C)CC2)C", printStereoWarnings=False) +smiles(R"C1C=C2C[C@H](CC[C@@]2([C@H]2CC[C@@]3(C(=O)CC[C@H]3[C@H]12)C)C)O", printStereoWarnings=False) +smiles(R"C1C=C2C[C@H](CC[C@@]2([C@H]2CC[C@@]3(C(=O)CC[C@H]3[C@H]12)C)C)OS(=O)(=O)[O-]", printStereoWarnings=False) +smiles(R"C1CC2C[C@@H]([C@H](C(=O)OC)C1[NH+]2C)O", printStereoWarnings=False) +smiles(R"C1CC2C[C@@H]([C@H](C(=O)OC)C1[NH+]2C)OC(=O)c1ccccc1", printStereoWarnings=False) +smiles(R"c1cc2c(C(=O)c3c(ccc(c3O)O)C2=O)cc1", printStereoWarnings=False) +smiles(R"c1cc2c(C(=O)c3c(ccc(c3O)O[C@H]3[C@H](O)[C@@H](O)[C@H](O)[C@@H](CO)O3)C2=O)cc1", printStereoWarnings=False) +smiles(R"C1CC2=CC(=O)CC[C@@]2([C@]23[C@@H]1[C@@H]1CC[C@@H]([C@]1(C[C@H]2O3)C)C(=O)C)C", printStereoWarnings=False) +smiles(R"C1CC2=CC(=O)CC[C@@]2(C2=CC[C@@]3(C)[C@H]([C@H]12)CC[C@@H]3C(=O)C)C", printStereoWarnings=False) +smiles(R"C1CC2=CC(=O)CC[C@@]2([C@@H]2[C@@H]1[C@@H]1CC=C([C@]1(CC2)C)C(=O)C)C", printStereoWarnings=False) +smiles(R"C1CC2=CC(=O)CC[C@@]2([C@@H]2[C@@H]1[C@@H]1CC[C@@]([C@]1(CC2)C)(C(=O)C)O)C", printStereoWarnings=False) +smiles(R"C1CC2=CC(=O)CC[C@@]2([C@@H]2[C@@H]1[C@@H]1CC[C@@]([C@]1(CC2)C)(C(O)C)O)C", printStereoWarnings=False) +smiles(R"C1CC2=CC(=O)CC[C@@]2([C@@H]2[C@@H]1[C@@H]1CC[C@@]([C@]1(CC2=O)C)(C(=O)CO)O)C", printStereoWarnings=False) +smiles(R"C1CC2=CC(=O)CC[C@@]2([C@@H]2[C@@H]1[C@@H]1CC[C@@]([C@]1(C[C@@H]2O)C)(C(=O)COC(=O)C)O)C", printStereoWarnings=False) +smiles(R"C1CC2=CC(=O)CC[C@@]2([C@@H]2[C@@H]1[C@@H]1CC[C@@]([C@]1(C[C@@H]2O)C)(C(=O)CO)O)C", printStereoWarnings=False) +smiles(R"C1CC2=CC(=O)CC[C@@]2([C@@H]2[C@@H]1[C@@H]1CC[C@@]([C@]1(C[C@@H]2O)C)(C(=O)COS(=O)(=O)[O-])O)C", printStereoWarnings=False) +smiles(R"C1CC2=CC(=O)CC[C@@]2([C@@H]2[C@@H]1[C@@H]1CC[C@@H]([C@]1(CC2)C)C(=O)C)C", printStereoWarnings=False) +smiles(R"C1CC2=CC(=O)CC[C@@]2([C@@H]2[C@@H]1[C@@H]1CC[C@@H]([C@]1(CC2)C)C(=O)CO)C", printStereoWarnings=False) +smiles(R"C1CC2=CC(=O)CC[C@@]2([C@@H]2[C@@H]1[C@@H]1CC[C@@H]([C@]1(C[C@H]2O)C)C(=O)C)C", printStereoWarnings=False) +smiles(R"C1CC2=CC(=O)CC[C@@]2([C@@H]2[C@@H]1[C@@H]1C[C@H]([C@@H]([C@]1(CC2)C)C(=O)C)O)C", printStereoWarnings=False) +smiles(R"C1CC2CC(=O)[C@H](C(=O)OC)C1[NH+]2C", printStereoWarnings=False) +smiles(R"C1=C(C2[C@@H]3[C@H](C1)[C@@]2(CC[C@H]3C(C)C)C)C", printStereoWarnings=False) +smiles(R"C1=C([C@]2([C@@H](CC1=O)C)C[C@@H](CC2)C(=C)C)C", printStereoWarnings=False) +smiles(R"C1C[C@]2([C@@H](CC[C@@H]2C(=O)C)[C@@H]2CC[C@@H]3CC(=O)CC[C@@]3([C@@H]12)C)C", printStereoWarnings=False) +smiles(R"C1C[C@]2([C@@H](CC[C@@H]2C(=O)C)[C@@H]2CC[C@H]3CC(=O)CC[C@@]3([C@@H]12)C)C", printStereoWarnings=False) +smiles(R"C1=C([C@]2([C@@H](C[C@@H]1O)C)C[C@@H](CC2)C(=C)C)C", printStereoWarnings=False) +smiles(R"c1cc2c(OC[C@]3(c4c(cc(cc4)O)O[C@@H]23)O)c(c1O)CC=C(C)C", printStereoWarnings=False) +smiles(R"c1cc2c(OC[C@H]3c4c(cc(cc4)O)O[C@@H]23)cc1O", printStereoWarnings=False) +smiles(R"c1c(c2c(O[C@@H]([C@H](C2=O)O)c2ccc(O)c(c2)O)c(c1O)O)O", printStereoWarnings=False) +smiles(R"c1cc2c(oc(=O)cc2)c2c1occ2", printStereoWarnings=False) +smiles(R"c1cc2c(oc(=O)cc2)c2c1O[C@@H](C2)C(O)(C)C", printStereoWarnings=False) +smiles(R"c1(c(c2[nH]c1Cc1c(c(c([nH]1)Cc1c(c(c(Cc3[nH]c(C2)c(c3CC(=O)[O-])CCC(=O)[O-])[nH]1)CCC(=O)[O-])CC(=O)[O-])CCC(=O)[O-])CC(=O)[O-])CC(=O)[O-])CCC(=O)[O-]", printStereoWarnings=False) +smiles(R"c1(Cc2[nH]cc(c2CC(=O)[O-])CCC(=O)[O-])[nH]c(Cc2[nH]c(Cc3[nH]c(c(CC(=O)[O-])c3CCC(=O)[O-])CO)c(c2CCC(=O)[O-])CC(=O)[O-])c(c1CCC(=O)[O-])CC(=O)[O-]", printStereoWarnings=False) +smiles(R"C1(=CC=C2[C@]34[C@H]1Oc1c3c(C[C@H]2[NH+](CC4)C)ccc1OC)OC", printStereoWarnings=False) +smiles(R"c1ccc2c(c1)cccc2", printStereoWarnings=False) +smiles(R"c1ccc2c(c1)CCC(=O)O2", printStereoWarnings=False) +smiles(R"c1(ccc2c(c1)C(=O)CC[C@]12OC([C@@H]([C@@H]1O)O)O)C(=O)[O-]", printStereoWarnings=False) +smiles(R"c1ccc2c(c1)C(=O)C=C(C2=O)C", printStereoWarnings=False) +smiles(R"c1(ccc2c(c1)[n+]1cn2[C@H]2O[C@H](CO)[C@H]([C@H]2O)OP(=O)(O[C@@H](CNC(=O)CC[C@]2(C3=C(C4=[N+]5[Co-3]671(N3[C@@H]([C@@]1([N+]6=C([C@H]([C@@]1(CC(=O)N)C)CCC(=O)N)C(=C1[N+]7=C(C=C5C([C@@H]4CCC(=O)N)(C)C)[C@@H](CCC(=O)N)[C@]1(C)CC(=O)N)C)C)[C@@H]2CC(=O)N)C)C)C)C)[O-])O", printStereoWarnings=False) +smiles(R"c1(ccc2c(c1)[n+]1cn2[C@H]2O[C@H](CO)[C@H]([C@H]2O)OP(=O)(O[C@@H](CNC(=O)CC[C@]2(C3=C(C4=[N+]5[Co-4]671N3[C@@H]([C@@]1([N+]6=C([C@H]([C@@]1(CC(=O)N)C)CCC(=O)N)C(=C1[N+]7=C(C=C5C([C@@H]4CCC(=O)N)(C)C)[C@@H](CCC(=O)N)[C@]1(C)CC(=O)N)C)C)[C@@H]2CC(=O)N)C)C)C)O)O", printStereoWarnings=False) +smiles(R"c1(cc(c2c(c1)n(c1c(c2=O)cccc1)C)O)O", printStereoWarnings=False) +smiles(R"c1ccc2c(c1)[nH]cc2CC(=O)N", printStereoWarnings=False) +smiles(R"c1ccc2c(c1)[nH]c(c(c2=O)[O-])C", printStereoWarnings=False) +smiles(R"c1(ccc2c(c1)occ(c2=O)c1ccccc1)OC", printStereoWarnings=False) +smiles(R"c1(ccc2c(c1)OC(C(C2=O)c1ccc(cc1)OC)O)O", printStereoWarnings=False) +smiles(R"c1(cc(c2c(c1)oc(cc2=O)c1ccc(cc1)O)O)O[C@@H]1O[C@@H]([C@H]([C@@H]([C@H]1O[C@H]1[C@@H]([C@@](CO1)(O)CO)O)O)O)CO", printStereoWarnings=False) +smiles(R"c1ccc2cccc3C(=O)C(=O)c1c23", printStereoWarnings=False) +smiles(R"c1(cc(c2ccccc2c1O)O)C(=O)[O-]", printStereoWarnings=False) +smiles(R"C1CCC2=CC[C@@H](C[C@@]2([C@H]1C)C)C(=C)C", printStereoWarnings=False) +smiles(R"c1(c(Cc2c(c(c([nH]2)C=O)C)CC)[nH]c2/C(=C\3/[C@H]([C@@H](C(=N3)/C=C\3/C(=C(C(=O)N3)C=C)C)C)CCC(=O)[O-])/[C-](C(=O)c12)C(=O)OC)C", printStereoWarnings=False) +smiles(R"c1(c(Cc2c(c(c([nH]2)C=O)C)CC)[nH]c2/C(=C\3/[C@H]([C@@H](C(=N3)CC3C(=C(C(=O)N3)C=C)C)C)CCC(=O)[O-])/[C-](C(=O)c12)C(=O)OC)C", printStereoWarnings=False) +smiles(R"c1c(c(c2c(c(=O)c(c(o2)c2ccc(O)c(c2)O)[O-])c1O)O)O", printStereoWarnings=False) +smiles(R"C1C(=C)C2[C@@H]3[C@H](C1)[C@@]2(CC[C@H]3C(C)C)C", printStereoWarnings=False) +smiles(R"C1CC[C@]2([C@H](C1(C)C)CC[C@]([C@@H]2C/C=C(/C)\C=C)(O)C)C", printStereoWarnings=False) +smiles(R"C1CC[C@]2([C@H](C1(C)C)CC[C@]([C@@H]2CC[C@@](C=C)(C)O)(O)C)C", printStereoWarnings=False) +smiles(R"C1CC[C@@]2([C@H](CCC[C@]2(C1)C)C)O", printStereoWarnings=False) +smiles(R"C1(=C/C(=C/2\C(=NC(=O)C(=C2)[O-])O)/C(=NC1=O)O)[O-]", printStereoWarnings=False) +smiles(R"C1=C(C[C@@]2(C(=O)C(=C[C@H]2[C@]2([C@@H]([C@H]([C@]3(C(C)(C)[C@H]3[C@H]12)OC(=O)CCC)OC(=O)CCC)C)O)C)O)CO", printStereoWarnings=False) +smiles(R"C1=C(C[C@@]2(C(=O)C(=C[C@H]2[C@]2([C@@H]([C@H]([C@]3(C(C)(C)[C@H]3[C@H]12)OC(=O)CCC)O)C)O)C)O)CO", printStereoWarnings=False) +smiles(R"C1CCC([C@]1(C1=CC=C(CC1)C)C)(C)C", printStereoWarnings=False) +smiles(R"C1(CCCC1)O", printStereoWarnings=False) +smiles(R"C1CCCC1=O", printStereoWarnings=False) +smiles(R"c1cccc2c1c1c(s2)ccc(c1O)O", printStereoWarnings=False) +smiles(R"C1(C(=CCC2C1(CCCC2(C)C)C)C)CC/C(=C/COP(=O)(OP(=O)([O-])[O-])[O-])/C", printStereoWarnings=False) +smiles(R"c1cccc2c1c(cc(n2)C(=O)[O-])O", printStereoWarnings=False) +smiles(R"c1cccc2c1C=CC(O2)(C(=O)[O-])O", printStereoWarnings=False) +smiles(R"c1(ccc(c2c1C[C@@H]1C(=C([C@]3([C@@H](C1)[C@@H](C(=C(C3=O)C(=O)N)[O-])[NH+](C)C)O)[O-])C2=O)O)N(C)C", printStereoWarnings=False) +smiles(R"c1cccc2c1c(c[nH]2)CC(O)C(=O)[O-]", printStereoWarnings=False) +smiles(R"c1c(ccc2c1c(c[nH]2)CC(=O)[O-])O", printStereoWarnings=False) +smiles(R"C1CC(CC2C1(C)O2)C(=C)C", printStereoWarnings=False) +smiles(R"c1(cc(cc2c1C(=O)c1c(C2)cc(c(c1O)C(=O)CCCCC)O)O)O", printStereoWarnings=False) +smiles(R"c1(cc(cc2c1C(=O)c1c(C2=O)cc2c(c1O)[C@@H]1CCC[C@](O2)(O1)C)O)O", printStereoWarnings=False) +smiles(R"c1(cc(cc2c1C(=O)c1c(C2=O)cc2c(c1O)[C@H]1[C@@H](O2)OCC1)O)O", printStereoWarnings=False) +smiles(R"c1(cc(cc2c1C(=O)c1c(C2=O)cc2c(c1O)[C@@H]([C@H](O2)O)CCC(=O)C)O)O", printStereoWarnings=False) +smiles(R"c1(cc(cc2c1C(=O)c1c(C2=O)cc2c(c1O)[C@@H]([C@H](O2)O)CCOC(=O)C)O)O", printStereoWarnings=False) +smiles(R"c1(cc(cc2c1C(=O)c1c(C2=O)cc2c(c1O)[C@@H]([C@H](O2)O)CCO)O)O", printStereoWarnings=False) +smiles(R"c1(cc(cc2c1C(=O)c1c(C2=O)cc(c(c1O)[C@H](CCCCC)O)O)O)O", printStereoWarnings=False) +smiles(R"c1(cc(cc2c1C(=O)c1c(C2=O)cc(c(c1O)[C@H](CCC[C@@H](C)O)O)O)O)O", printStereoWarnings=False) +smiles(R"c1(cc(cc2c1C(=O)c1c(C2=O)cc(c(c1O)[C@H](CCC[C@H](C)O)O)O)O)O", printStereoWarnings=False) +smiles(R"c1(cc(cc2c1C(=O)c1c(C2=O)cc(c(c1O)[C@H](CCCC(=O)C)O)O)O)O", printStereoWarnings=False) +smiles(R"c1(cc(cc2c1C(=O)c1c(C2=O)cc(c(c1O)[C@@H](CO)CCC(=O)C)[O-])O)O", printStereoWarnings=False) +smiles(R"c1(cc(cc2c1C(=O)c1c(C2=O)cc(c(c1O)[C@@H](CO)CCOC(=O)C)[O-])O)O", printStereoWarnings=False) +smiles(R"c1(cc(cc2c1C(=O)c1c(C2=O)cc(c(c1O)[C@@H](CO)CCO)O)O)O", printStereoWarnings=False) +smiles(R"c1(cc(cc2c1C(=O)c1c(C2=O)cc(c(c1O)C(=O)CCCCC)O)[O-])O", printStereoWarnings=False) +smiles(R"c1ccc(c2c1C(=O)C=C(C2=O)[O-])O", printStereoWarnings=False) +smiles(R"c1c(cc(c2c1C(=O)C(=CC2=O)[O-])O)O", printStereoWarnings=False) +smiles(R"c1cc(cc2c1c(=O)c(co2)c1ccc(cc1)O)O", printStereoWarnings=False) +smiles(R"c1cc(cc2c1c(=O)c(co2)c1ccc(cc1O)O)O", printStereoWarnings=False) +smiles(R"c1cccc2c1C(=O)N(C(C(=O)N2)Cc1ccccc1)C", printStereoWarnings=False) +smiles(R"c1cccc2c1nc1c(cc(cc1)OCCC(C)CC/C=C(\C)/CC/C=C(\C)/CC/C=C(\C)/CCC=C(C)C)n2", printStereoWarnings=False) +smiles(R"c1cc(cc2c1nccc2[C@H]([C@@H]1C[C@@H]2[C@](C[N@@H+]1CC2)(C=C)O)O)OC", printStereoWarnings=False) +smiles(R"c1cccc2c1NC(=O)C2=C", printStereoWarnings=False) +smiles(R"c1cccc2c1[nH]c1c(cc(cc1)OCCC(C)CC/C=C(\C)/CC/C=C(\C)/CC/C=C(\C)/CCC=C(C)C)[nH]2", printStereoWarnings=False) +smiles(R"c1cc(cc2c1[nH]cc2CCNC(=O)C)OC", printStereoWarnings=False) +smiles(R"c1cccc2c1[nH]cc2C/C=N/O", printStereoWarnings=False) +smiles(R"c1cccc2c1[nH]c(=O)cc2C(=O)[O-]", printStereoWarnings=False) +smiles(R"c1c(cc(c2c1oc(cc2=O)c1cc(c(c(c1)OC)OC)OC)O)[O-]", printStereoWarnings=False) +smiles(R"c1c(cc(c2c1oc(cc2=O)c1cc(c(c(c1)OC)O)OC)O)[O-]", printStereoWarnings=False) +smiles(R"c1c(ccc2c1OC(C(C2=O)c1ccc(cc1)O)O)O", printStereoWarnings=False) +smiles(R"c1c(cc(c2c1oc(cc2=O)c1cc(c(c(c1)O)O)OC)O)[O-]", printStereoWarnings=False) +smiles(R"c1c(cc(c2c1[o+]c(c(c2)[O-])c1cc(c(cc1)O)O)[O-])O", printStereoWarnings=False) +smiles(R"c1c(cc(c2c1OC(C(C2=O)c1ccc(cc1)O)O)O)[O-]", printStereoWarnings=False) +smiles(R"c1c(cc(c2c1oc(cc2=O)c1cc(c(c(c1)O)O)O)O)[O-]", printStereoWarnings=False) +smiles(R"c1c(cc(c2c1oc(c(c2=O)[O-])c1cc(c(c(c1)OC)O)O)O)O", printStereoWarnings=False) +smiles(R"c1cccc2c1OC(C(=O)N2)O", printStereoWarnings=False) +smiles(R"c1cccc2c1OC(C(=O)N2O)O", printStereoWarnings=False) +smiles(R"c1cccc2c1O[C@@H](CC2O)c1ccccc1", printStereoWarnings=False) +smiles(R"c1c(ccc2c1O[C@H]([C@@H](C2=O)c1ccc(cc1)O)O)O", printStereoWarnings=False) +smiles(R"c1(c(ccc2ccccc12)C(=O)[O-])O", printStereoWarnings=False) +smiles(R"c1(ccc(c2ccc(cc12)C(=O)[O-])O)O", printStereoWarnings=False) +smiles(R"c1(cc(cc2cc(cc(c12)O)O)O)O", printStereoWarnings=False) +smiles(R"C1(=C(/C(=C/c2cc(c(cc2)O)CC=C(C)C)/OC1=O)[O-])c1cc(c(cc1)O)CC=C(C)C", printStereoWarnings=False) +smiles(R"C1(=C(/C(=C/c2ccc(cc2)O)/OC1=O)[O-])c1ccc(cc1)O", printStereoWarnings=False) +smiles(R"C1CCC(C2=CC[C@@H]([C@]([C@H]12)(CC[C@](C=C)(C)O)C)C)(C)C", printStereoWarnings=False) +smiles(R"C1CCC(C2=CC[C@@H]([C@]([C@H]12)(CC[C@@](C=C)(C)O)C)C)(C)C", printStereoWarnings=False) +smiles(R"C1CCC(C2=CC[C@@H]([C@]([C@H]12)(CC/C(=C/CO)/C)C)C)(C)C", printStereoWarnings=False) +smiles(R"C1CCC(C2=CC[C@@H]([C@]([C@H]12)(CC/C(=C/COP(=O)(OP(=O)([O-])[O-])[O-])/C)C)C)(C)C", printStereoWarnings=False) +smiles(R"c1cccc2cccnc12", printStereoWarnings=False) +smiles(R"c1cccc2ccncc12", printStereoWarnings=False) +smiles(R"C1(CCC[C@]2([C@H]1CC[C@@H]1[C@]32C[C@H](C(=C1)C)CC3)C)(C)C", printStereoWarnings=False) +smiles(R"C1(CCC[C@]2([C@H]1CC[C@H]1C[C@H]3C[C@@]21CCC3=C)C)(C)C", printStereoWarnings=False) +smiles(R"[C@]1(CCC[C@@]2([C@@H]1[C@@H]([C@@]13CC(=C)[C@H](CC[C@@H]23)C1)C=O)C)(C)C(=O)[O-]", printStereoWarnings=False) +smiles(R"[C@]1(CCC[C@@]2([C@@H]1[C@@H]([C@@]13CC(=C)[C@@H](CC[C@@H]23)C1)C(=O)[O-])C)(C)C(=O)[O-]", printStereoWarnings=False) +smiles(R"c1cccc2NC(=O)Cc12", printStereoWarnings=False) +smiles(R"c1cccc2NC(=O)C(c12)O", printStereoWarnings=False) +smiles(R"c1cccc2[nH]ccc12", printStereoWarnings=False) +smiles(R"c1cccc2[nH]cc(c12)CC(=O)[O-]", printStereoWarnings=False) +smiles(R"c1cccc2[nH]cc(c12)C(=O)[O-]", printStereoWarnings=False) +smiles(R"c1cccc2[nH]cc(c(=O)c12)[O-]", printStereoWarnings=False) +smiles(R"c1ccccc1", printStereoWarnings=False) +smiles(R"c1c(cc(c(c1Br)[O-])Br)C#N", printStereoWarnings=False) +smiles(R"c1(cc(c(c(c1)Br)[O-])Br)C(=O)[O-]", printStereoWarnings=False) +smiles(R"c1(ccc(cc1)Br)SCC(=O)C(=O)[O-]", printStereoWarnings=False) +smiles(R"c1ccc(cc1)C", printStereoWarnings=False) +smiles(R"c1(ccccc1)c1ccccc1", printStereoWarnings=False) +smiles(R"c1(ccccc1)C=C", printStereoWarnings=False) +smiles(R"c1cccc(c1)CC", printStereoWarnings=False) +smiles(R"c1cc(ccc1C(c1ccc(cc1)O)(C)C)O", printStereoWarnings=False) +smiles(R"c1cc(ccc1C(c1ccc(cc1)O)(C)CO)O", printStereoWarnings=False) +smiles(R"c1cc(ccc1)/C=C/c1cc(cc(c1)O)O", printStereoWarnings=False) +smiles(R"C1=C(CC=C(C1)C(C)C)C", printStereoWarnings=False) +smiles(R"C1=C(CCC(=C1)C(C)C)C", printStereoWarnings=False) +smiles(R"C1(=C(CCCC1(C)C)C)/C=C/C(=C/C=C/C(=C/C1C(/C=C(/C=C/C=C(/C=C/C2=C(CCCC2(C)C)C)\C)\C)O1)/C)/C", printStereoWarnings=False) +smiles(R"C1(=C(CCCC1(C)C)C)/C=C/C(=C/C=C/C(=C/C=C/C=C(/C=C/C=C(/C=C/C1=C(CCCC1(C)C)C)\C)\C)/C)/C", printStereoWarnings=False) +smiles(R"C1(=C(CCCC1(C)C)C)/C=C/C(=C/C=C/C(=C/C=C/C=C(/C=C/C=C(/C=C/C1C(=CCCC1(C)C)C)\C)\C)/C)/C", printStereoWarnings=False) +smiles(R"C1(=C(CCCC1(C)C)C)/C=C/C(=C/C=C/C(=C/C(C(/C=C(/C=C/C=C(/C=C/C1=C(CCCC1(C)C)C)\C)\C)O)O)/C)/C", printStereoWarnings=False) +smiles(R"C1(=C(CCCC1(C)C)C)/C=C/C(=C/C=C/C(=C/C=C/C=C(/C=C/C=C(/C=C/C=C(/CCC=C(C)C)\C)\C)\C)/C)/C", printStereoWarnings=False) +smiles(R"C1(=C(CCCC1(C)C)C)/C=C/C(=C/C=C/C(=C/C=C/C=C(/C=C/C=C(/C=C/C=C(/C=O)\C)\C)\C)/C)/C", printStereoWarnings=False) +smiles(R"C1(=C(CCCC1(C)C)C)/C=C/C(=C/C=C/C(=C/C=C/C=C(/C=C/C=C(/C=C/[C@H]1C(=C[C@@H](CC1(C)C)O)C)\C)\C)/C)/C", printStereoWarnings=False) +smiles(R"C1CC(C(=C(C1)C)/C=C/C(=C/C=C/C(=C/C=C/C=C(/C=C/C=C(/C=C/C=C(/C(=O)[O-])\C)\C)\C)/C)/C)(C)C", printStereoWarnings=False) +smiles(R"C1(=C(CCCC1(C)C)C)/C=C/C(=C/C=C/C(=C/C=C/C=C(/C=C/C=C(/CO)\C)\C)/C)/C", printStereoWarnings=False) +smiles(R"C1CCC(C(=C1C)/C=C/C(=C/C=C/C(=C/C=C/C=C(/C=C/C=C(/C=O)\C)\C)/C)/C)(C)C", printStereoWarnings=False) +smiles(R"C1CCC(C(=C1C)/C=C/C(=C/C=C/C(=C/C=C/C=C(/C=C/C=O)\C)/C)/C)(C)C", printStereoWarnings=False) +smiles(R"c1(cc(cc(c1)CCCCCCC/C=C\C/C=C\CC=C)O)O", printStereoWarnings=False) +smiles(R"c1(cc(cc(c1)CCCCCCC/C=C\C/C=C\CC=C)O)OC", printStereoWarnings=False) +smiles(R"C1(=C(CCCC1(C)C)C)/C=C/C(=C/C=C/C(=C\CO)/C)/C", printStereoWarnings=False) +smiles(R"C1CCC(C(=C1C)/C=C/C(=C/C=C/C(=C/C=C/C=O)/C)/C)(C)C", printStereoWarnings=False) +smiles(R"C1(=C(CCCC1(C)C)C)/C=C/C(=C/C=C\C(=C\COC(=O)CCCCCCCCCCCCCCC)\C)/C", printStereoWarnings=False) +smiles(R"C1CCC(=C(C1(C)C)/C=C/C(=C/C=C\C(=C\C=O)\C)/C)C", printStereoWarnings=False) +smiles(R"c1(c(c(c(c(c1C)CCCCCCCCCC)O)OC)OC)O", printStereoWarnings=False) +smiles(R"C1(C(=C(CCC1)C)/C=C/C(=C/C=C/C(=C/CO)/C)/C)(C)C", printStereoWarnings=False) +smiles(R"C1(C(=C(CCC1)C)/C=C/C(=C/C=C/C(CCO)C)/C)(C)C", printStereoWarnings=False) +smiles(R"C1(C(=C(CCC1)C)C=CC(=CC=CC(=CCO)C)C)(C)C", printStereoWarnings=False) +smiles(R"C1C(C(=C(CC1)C)/C=C/C(=C/C=C/C(=C/C=O)/C)/C)(C)C", printStereoWarnings=False) +smiles(R"C1C(C(=C(CC1)C)C=CC(=CC=CC(=CC=O)C)C)(C)C", printStereoWarnings=False) +smiles(R"C1CC(C(=C(C1)C)/C=C/C(=C/C=C\C(=C\CO)\C)/C)(C)C", printStereoWarnings=False) +smiles(R"C1(CCCC(=C1/C=C/C(=C/C=C/C(=C/COC(=O)CCCCCCCCCCCCCCC)/C)/C)C)(C)C", printStereoWarnings=False) +smiles(R"C1(CCCC(=C1C=CC(=CC=CC(=CC(=O)[O-])C)C)C)(C)C", printStereoWarnings=False) +smiles(R"C1CCC(C(=C1C)/C=C/C(=C/C=C/C(=O)C)/C)(C)C", printStereoWarnings=False) +smiles(R"C1CCC(=C(C1(C)C)/C=C/C(=O)C)C", printStereoWarnings=False) +smiles(R"C1(=CCC(CC1)C(=C)C)C=O", printStereoWarnings=False) +smiles(R"C1(CCCC(=C1/C=C/C(=C\OC1OC(=O)C(=C1)C)/C)C)(C)C", printStereoWarnings=False) +smiles(R"c1(ccc(cc1)C(=C(Cl)Cl)c1ccc(cc1)Cl)Cl", printStereoWarnings=False) +smiles(R"c1cccc(c1)C(CC#N)C(=O)OC", printStereoWarnings=False) +smiles(R"c1(ccccc1)/C=C/CO", printStereoWarnings=False) +smiles(R"c1ccccc1/C=C/C=O", printStereoWarnings=False) +smiles(R"c1c(ccc(c1)/C=C/C(=O)CC(=O)/C=C/c1ccc(c(c1)OC)O)O", printStereoWarnings=False) +smiles(R"c1cccc(c1/C=C/C(=O)C(=O)[O-])O", printStereoWarnings=False) +smiles(R"c1(c(ccc(c1)/C=C/C(=O)NCC(=O)[O-])O)OC", printStereoWarnings=False) +smiles(R"c1c(cccc1)CCC(=O)[O-]", printStereoWarnings=False) +smiles(R"c1(c(ccc(c1)CC=C)O)OC", printStereoWarnings=False) +smiles(R"c1cc(ccc1CCC(=O)OCc1ccccc1)OC(=O)[C@H]1CC[C@@H](CC1)C[NH3+]", printStereoWarnings=False) +smiles(R"c1c(c(ccc1/C=C/C(=O)OCCCCCCCCCCCCCCCC(=O)[O-])O)OC", printStereoWarnings=False) +smiles(R"c1(c(cc(cc1)/C=C/C=O)OC)O", printStereoWarnings=False) +smiles(R"c1(c(cc(cc1)/C=C/CO)OC)O[C@@H]1O[C@@H]([C@H]([C@@H]([C@H]1O)O)O)CO", printStereoWarnings=False) +smiles(R"c1c(ccc(c1)/C=C\C(=O)[O-])O", printStereoWarnings=False) +smiles(R"c1ccc(c(c1)/C=C\C(=O)[O-])O", printStereoWarnings=False) +smiles(R"c1(ccc(cc1)/C=C\C(=O)[O-])O[C@@H]1O[C@@H]([C@H]([C@H](O)[C@H]1O)O)CO", printStereoWarnings=False) +smiles(R"C1(=CCC(=CC1)C)[C@@H](CCC=C(C)C)C", printStereoWarnings=False) +smiles(R"C1(=CCC(=CC1)C)[C@@H](CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)\C)\C)C", printStereoWarnings=False) +smiles(R"c1(ccc(cc1)C[C@@H](C(=O)N[C@H](C(=O)N[C@H](C(=O)N1[C@@H](CCC1)C(=O)N[C@@H](Cc1ccccc1)C(=O)[O-])Cc1cnc[nH]1)[C@@H](C)CC)NC(=O)[C@@H](NC(=O)[C@@H](NC(=O)[C@H](CC(=O)[O-])[NH3+])CCCNC(=[NH2+])N)C(C)C)O", printStereoWarnings=False) +smiles(R"c1(ccc(cc1)C[C@@H](C(=O)N[C@H](C(=O)N[C@H](C(=O)N1[C@@H](CCC1)C(=O)[O-])Cc1cnc[nH]1)[C@@H](C)CC)NC(=O)[C@@H](NC(=O)[C@@H](NC(=O)[C@H](CC(=O)[O-])[NH3+])CCCNC(=[NH2+])N)C(C)C)O", printStereoWarnings=False) +smiles(R"c1ccc(cc1)C[C@H](C(=O)[O-])[NH3+]", printStereoWarnings=False) +smiles(R"c1(ccc(cc1)C[C@@H](C(=O)[O-])N(O)O)O", printStereoWarnings=False) +smiles(R"c1(ccccc1)C(C[NH2+]C)O", printStereoWarnings=False) +smiles(R"c1cc(ccc1CC[NH2+]C)O", printStereoWarnings=False) +smiles(R"c1(ccccc1)CC[NH3+]", printStereoWarnings=False) +smiles(R"C1(CCC(C=C1)CC([NH3+])C(=O)[O-])O", printStereoWarnings=False) +smiles(R"c1(ccccc1)C/C=N\O", printStereoWarnings=False) +smiles(R"c1cc(ccc1)C(C#N)O", printStereoWarnings=False) +smiles(R"c1ccccc1C/C=N/O", printStereoWarnings=False) +smiles(R"c1(ccccc1)CC=O", printStereoWarnings=False) +smiles(R"c1(ccccc1)CC(=O)C", printStereoWarnings=False) +smiles(R"c1cccc(c1)CC(=O)C(=O)[O-]", printStereoWarnings=False) +smiles(R"c1c(ccc(c1)CC(=O)C(=O)[O-])O", printStereoWarnings=False) +smiles(R"C1(CC=C(C=C1)CC(=O)C(=O)[O-])O", printStereoWarnings=False) +smiles(R"C1(CCC(C=C1)CC(=O)C(=O)[O-])O", printStereoWarnings=False) +smiles(R"c1ccccc1CC(=O)N", printStereoWarnings=False) +smiles(R"c1ccccc1CC(=O)[O-]", printStereoWarnings=False) +smiles(R"c1ccccc1C(C(=O)OC)CC(=O)[O-]", printStereoWarnings=False) +smiles(R"c1c(cccc1)C(C(=O)[O-])CO", printStereoWarnings=False) +smiles(R"c1cc(c(c(c1)C)C(=O)[O-])O", printStereoWarnings=False) +smiles(R"c1c(c(ccc1CC(=O)[O-])O)O", printStereoWarnings=False) +smiles(R"C1(=CC=C(CC1)[C@@H](CCC=C(C)C)C)C", printStereoWarnings=False) +smiles(R"c1ccccc1[C@H](CC(=O)[O-])[NH3+]", printStereoWarnings=False) +smiles(R"c1ccccc1[C@H](/C(=N/C)/C)O", printStereoWarnings=False) +smiles(R"c1c(c(ccc1[C@H](C[NH2+]C)O)O)O", printStereoWarnings=False) +smiles(R"c1cc(ccc1)[C@H](C#N)O", printStereoWarnings=False) +smiles(R"c1cccc(c1)[C@H](C)O", printStereoWarnings=False) +smiles(R"c1cccc(c1)[C@@H](C(=O)[O-])O", printStereoWarnings=False) +smiles(R"c1cccc(c1)[C@H](C(=O)[O-])O", printStereoWarnings=False) +smiles(R"c1(ccc(cc1)Cl)CC#N", printStereoWarnings=False) +smiles(R"c1(ccc(cc1)Cl)CC(=O)[O-]", printStereoWarnings=False) +smiles(R"c1(c(c(c(c(c1Cl)Cl)Cl)Cl)Cl)[O-]", printStereoWarnings=False) +smiles(R"c1(c(c(cc(c1Cl)Cl)Cl)Cl)[O-]", printStereoWarnings=False) +smiles(R"c1(c(cc(cc1)Cl)Cl)O", printStereoWarnings=False) +smiles(R"c1(c(c(c(c(c1Cl)Cl)[O-])Cl)Cl)[O-]", printStereoWarnings=False) +smiles(R"c1(c(cccc1)Cl)C(=O)[O-]", printStereoWarnings=False) +smiles(R"c1(ccccc1)CNC=O", printStereoWarnings=False) +smiles(R"c1cccc(c1)CN=C=S", printStereoWarnings=False) +smiles(R"c1ccccc1C[NH3+]", printStereoWarnings=False) +smiles(R"c1(ccccc1)C=O", printStereoWarnings=False) +smiles(R"c1cc(ccc1)CO", printStereoWarnings=False) +smiles(R"C1CC(CC(C1C)O)C(=C)C", printStereoWarnings=False) +smiles(R"c1(c(cccc1)C(=O)/C=C/C=C(\C(=O)[O-])/O)N", printStereoWarnings=False) +smiles(R"c1ccc(c(c1)C(=O)C[C@@H](C(=O)[O-])[NH3+])NC=O", printStereoWarnings=False) +smiles(R"c1ccc(c(c1)C(=O)C[C@H](C(=O)[O-])[NH3+])NC=O", printStereoWarnings=False) +smiles(R"c1ccccc1C(=O)C(C)O", printStereoWarnings=False) +smiles(R"c1cc(ccc1C(=O)C)O", printStereoWarnings=False) +smiles(R"c1(ccccc1)COC(=O)C", printStereoWarnings=False) +smiles(R"c1ccccc1C(=O)C(=O)C", printStereoWarnings=False) +smiles(R"c1cc(ccc1C(=O)CO)O", printStereoWarnings=False) +smiles(R"c1(c(cccc1)C=O)NC=O", printStereoWarnings=False) +smiles(R"c1(c(c(c(cc1)C)O)N)C(=O)[O-]", printStereoWarnings=False) +smiles(R"c1(c(ccc(c1)C)O)O", printStereoWarnings=False) +smiles(R"c1(c(cccc1C)O)O", printStereoWarnings=False) +smiles(R"c1c(c(ccc1)C=O)O", printStereoWarnings=False) +smiles(R"c1cccc(c1)C(=O)[O-]", printStereoWarnings=False) +smiles(R"c1ccccc1C(=O)OC", printStereoWarnings=False) +smiles(R"c1cccc(c1)C(=O)OCc1ccccc1", printStereoWarnings=False) +smiles(R"C1CC(CC=C1C(=O)[O-])C(=C)C", printStereoWarnings=False) +smiles(R"C1CC(CC(C1(C)O)O)C(=C)C", printStereoWarnings=False) +smiles(R"c1c(c(ccc1)C(=O)OCC(CC)CCCC)C(=O)OCC(CC)CCCC", printStereoWarnings=False) +smiles(R"c1(c(c(cc(c1C(=O)[O-])CCCCC)O)C/C=C(/C)\CCC=C(C)C)O", printStereoWarnings=False) +smiles(R"c1(c(c(cc(c1C(=O)[O-])CCCCC)O)C/C=C(/CCC=C(C)C)\C)O", printStereoWarnings=False) +smiles(R"c1(cc(cc(c1C(=O)[O-])CCCCC)O)O", printStereoWarnings=False) +smiles(R"c1(ccccc1C(=O)OC)N", printStereoWarnings=False) +smiles(R"c1(ccccc1C(=O)[O-])C=O", printStereoWarnings=False) +smiles(R"c1(c(ccc(c1)C=O)OC)OC", printStereoWarnings=False) +smiles(R"c1cccc(c1C(=O)[O-])C(=O)CCC(=O)[O-]", printStereoWarnings=False) +smiles(R"c1(c(c(c(c(c1)C)O)OC)OC)O", printStereoWarnings=False) +smiles(R"c1c(c(ccc1)C(=O)[O-])C(=O)[O-]", printStereoWarnings=False) +smiles(R"c1cc(ccc1C(=O)[O-])C(=O)[O-]", printStereoWarnings=False) +smiles(R"c1cccc(c1C(=O)[O-])NC", printStereoWarnings=False) +smiles(R"c1cccc(c1C(=O)[O-])NC=O", printStereoWarnings=False) +smiles(R"c1cccc(c1C(=O)[O-])NC(=O)C", printStereoWarnings=False) +smiles(R"c1(ccccc1C(=O)[O-])NC(=O)c1ccccc1", printStereoWarnings=False) +smiles(R"c1(ccccc1C(=O)[O-])NC(=O)CC(=O)[O-]", printStereoWarnings=False) +smiles(R"c1c(cc(cc1C(=O)[O-])N)O", printStereoWarnings=False) +smiles(R"c1(ccc(cc1C(=O)[O-])[N+](=O)[O-])N", printStereoWarnings=False) +smiles(R"c1(ccc(cc1C(=O)[O-])[N+](=O)[O-])O", printStereoWarnings=False) +smiles(R"c1c(c(ccc1C=O)O)O", printStereoWarnings=False) +smiles(R"c1cc(c(cc1)C(=O)[O-])O", printStereoWarnings=False) +smiles(R"c1cc(ccc1C(=O)[O-])OC", printStereoWarnings=False) +smiles(R"c1c(c(ccc1C(=O)[O-])O)C/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)\C)\C)\C)\C)\C", printStereoWarnings=False) +smiles(R"c1cc(c(cc1C(=O)[O-])O)O", printStereoWarnings=False) +smiles(R"C1(C(C(=CC=C1)C(=O)[O-])O)O", printStereoWarnings=False) +smiles(R"c1(ccc(cc1)C=O)S(=O)(=O)[O-]", printStereoWarnings=False) +smiles(R"c1(ccc(cc1)CO)S(=O)(=O)[O-]", printStereoWarnings=False) +smiles(R"c1(ccccc1)CSC#N", printStereoWarnings=False) +smiles(R"c1(c(cccc1)I)O", printStereoWarnings=False) +smiles(R"c1(cc(c(c(c1)I)Oc1cc(I)c(O)c(c1)I)I)CC(C(=O)[O-])[NH3+]", printStereoWarnings=False) +smiles(R"c1(cc(c(c(c1)I)Oc1cc(I)c(O)c(c1)I)I)C[C@@H](C(=O)[O-])[NH3+]", printStereoWarnings=False) +smiles(R"c1(cc(c(c(c1)I)Oc1cc(I)c(OS(=O)(=O)[O-])c(c1)I)I)CC(C(=O)[O-])[NH3+]", printStereoWarnings=False) +smiles(R"c1cc(ccc1)N", printStereoWarnings=False) +smiles(R"c1(ccccc1)NC", printStereoWarnings=False) +smiles(R"c1cccc(c1)N(C)C", printStereoWarnings=False) +smiles(R"C1CCCCC1NC=O", printStereoWarnings=False) +smiles(R"c1(ccc(cc1NC(=O)c1ccccc1)OC)C(=O)[O-]", printStereoWarnings=False) +smiles(R"c1(ccccc1N)C(=O)C[C@@H](C(=O)[O-])[NH3+]", printStereoWarnings=False) +smiles(R"c1(c(cccc1)N)C(=O)CC(=O)C(=O)[O-]", printStereoWarnings=False) +smiles(R"c1(ccc(cc1)N(C(=O)C)O)c1ccccc1", printStereoWarnings=False) +smiles(R"c1(ccc(cc1)N)C(=O)N[C@H](C(=O)[O-])CCC(=O)[O-]", printStereoWarnings=False) +smiles(R"c1(c(cccc1)N)C(=O)[O-]", printStereoWarnings=False) +smiles(R"c1cc(ccc1N)C(=O)[O-]", printStereoWarnings=False) +smiles(R"c1(ccc(cc1N)C(=O)[O-])O", printStereoWarnings=False) +smiles(R"C1CCCCC1[NH3+]", printStereoWarnings=False) +smiles(R"c1(ccccc1)/[N+](=N/c1ccc(cc1)N(C)C)/[O-]", printStereoWarnings=False) +smiles(R"c1(ccc(cc1)N)O", printStereoWarnings=False) +smiles(R"c1(ccccc1)NO", printStereoWarnings=False) +smiles(R"c1(ccccc1)N(=O)(C)C", printStereoWarnings=False) +smiles(R"c1(ccc(cc1)NOC(=O)C)c1ccccc1", printStereoWarnings=False) +smiles(R"c1(cc(ccc1N)O)C(=O)C[C@@H](C(=O)[O-])[NH3+]", printStereoWarnings=False) +smiles(R"c1(cccc(c1N)O)C(=O)C[C@@H](C(=O)[O-])[NH3+]", printStereoWarnings=False) +smiles(R"c1(ccc(cc1)N=O)N(C)C", printStereoWarnings=False) +smiles(R"c1(ccc(cc1)NO)N(C)C", printStereoWarnings=False) +smiles(R"c1c(ccc(c1N)O)O", printStereoWarnings=False) +smiles(R"c1c(ccc(c1)[N+](=O)[O-])[C@H]([C@H](NC(=O)C(Cl)Cl)COC(=O)C)O", printStereoWarnings=False) +smiles(R"c1c(ccc(c1)[N+](=O)[O-])[C@H]([C@H](NC(=O)C(Cl)Cl)CO)O", printStereoWarnings=False) +smiles(R"c1cccc(c1[N+](=O)[O-])[O-]", printStereoWarnings=False) +smiles(R"c1(c(cccc1)N)S(=O)(=O)[O-]", printStereoWarnings=False) +smiles(R"c1ccccc1O", printStereoWarnings=False) +smiles(R"C1CCCCC1=O", printStereoWarnings=False) +smiles(R"C1CCCCC1O", printStereoWarnings=False) +smiles(R"c1(ccc(cc1)O)C", printStereoWarnings=False) +smiles(R"c1cc(cc(c1)O)C", printStereoWarnings=False) +smiles(R"c1ccccc1OC", printStereoWarnings=False) +smiles(R"c1(c(cc(cc1)Oc1c(cc(cc1I)C[C@@H](C(=O)[O-])[NH3+])I)I)O", printStereoWarnings=False) +smiles(R"c1c(cc(cc1O)c1ccccc1)O", printStereoWarnings=False) +smiles(R"c1(ccccc1O)c1ccccc1S(=O)[O-]", printStereoWarnings=False) +smiles(R"c1(cc(c(cc1)Oc1cc(I)c(O)c(I)c1)I)C[C@@H](C(=O)[O-])[NH3+]", printStereoWarnings=False) +smiles(R"c1(ccc(cc1)O)c1cn2c(c(n1)Cc1ccccc1)nc(c2OS(=O)(=O)[O-])Cc1ccccc1", printStereoWarnings=False) +smiles(R"c1(ccc(cc1)O)c1cn2c(c([nH]1)Cc1ccccc1)nc(c2=O)Cc1ccccc1", printStereoWarnings=False) +smiles(R"c1(ccc(cc1)O)c1cn2c(c([nH]1)Cc1ccccc1)nc(c2=O)Cc1ccc(cc1)O", printStereoWarnings=False) +smiles(R"c1(ccc(cc1)O)c1cnc(c(n1)Cc1ccccc1)NC(=O)Cc1ccccc1", printStereoWarnings=False) +smiles(R"c1(ccc(cc1)O)c1cnc(c(n1)Cc1ccccc1)NC(=O)Cc1ccc(cc1)O", printStereoWarnings=False) +smiles(R"c1cc(ccc1O)C=C", printStereoWarnings=False) +smiles(R"c1(ccc(cc1)OCc1cc(oc1)CNC=O)CCNC(=O)CC[C@H](NC(=O)CC[C@H](NC(=O)CC[C@H](C(=O)[O-])[C@H](C(=O)[O-])CCC(=O)[O-])C(=O)[O-])C(=O)[O-]", printStereoWarnings=False) +smiles(R"c1(ccc(cc1)OCc1cc(oc1)C[NH3+])CCNC(=O)CC[C@H](NC(=O)CC[C@H](NC(=O)CC[C@H](C(=O)[O-])[C@H](C(=O)[O-])CCC(=O)[O-])C(=O)[O-])C(=O)[O-]", printStereoWarnings=False) +smiles(R"c1cc(ccc1O)/C=C/C", printStereoWarnings=False) +smiles(R"c1cc(ccc1OC)/C=C/C", printStereoWarnings=False) +smiles(R"C1=C(CCC(C1=O)C(=C)C)C", printStereoWarnings=False) +smiles(R"c1c(cc(cc1OC)/C=C/c1ccc(cc1)O)OC", printStereoWarnings=False) +smiles(R"c1(c(c(c(cc1O)C/C=C(/[CH])\C)O)C)C", printStereoWarnings=False) +smiles(R"c1(cc(ccc1O)/C=C/C)OC", printStereoWarnings=False) +smiles(R"c1c(ccc(c1)O)/C=C/C(=O)C", printStereoWarnings=False) +smiles(R"c1(ccc(cc1)O)/C=C/C(=O)CC(=O)/C=C/c1ccc(cc1)O", printStereoWarnings=False) +smiles(R"c1cc(ccc1O)/C=C/COC(=O)C", printStereoWarnings=False) +smiles(R"c1(cc(ccc1O)/C=C/C(=O)NCCc1ccc(cc1)O)OC", printStereoWarnings=False) +smiles(R"c1c(ccc(c1)O)/C=C/C(=O)NCCCCNC(=[NH2+])N", printStereoWarnings=False) +smiles(R"c1(ccc(cc1)O)/C=C/C(=O)[O-]", printStereoWarnings=False) +smiles(R"c1(cccc(c1)O)/C=C/C(=O)[O-]", printStereoWarnings=False) +smiles(R"c1(ccccc1O)/C=C/C(=O)[O-]", printStereoWarnings=False) +smiles(R"c1cccc(c1O)CCC(=O)[O-]", printStereoWarnings=False) +smiles(R"c1(cccc(c1O)CCC(=O)[O-])O", printStereoWarnings=False) +smiles(R"c1(ccc(cc1O)C[C@@H]1[NH+](CCc2c1cc(c(c2)OC)O)C)O", printStereoWarnings=False) +smiles(R"c1cc(ccc1O)C[C@@H](C(=O)N[C@H](C(=O)[O-])CCCNC(=[NH2+])N)[NH3+]", printStereoWarnings=False) +smiles(R"c1cc(ccc1O)C[C@@H](C(=O)[O-])NO", printStereoWarnings=False) +smiles(R"c1(ccc(cc1)O)CC#N", printStereoWarnings=False) +smiles(R"c1(cc(ccc1[O-])CC[NH3+])N(=O)=O", printStereoWarnings=False) +smiles(R"c1(ccc(cc1)O)C(C[NH3+])O", printStereoWarnings=False) +smiles(R"c1(ccc(cc1O)CC[NH3+])O", printStereoWarnings=False) +smiles(R"c1cc(ccc1O)C/C=N\O", printStereoWarnings=False) +smiles(R"c1(c(c(c(c(c1)O)C)C)O)C/C=C(/CC/C=C(/CC/C=C(/CC/C=C(\C)/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)\C)\C)\C)\C)\C", printStereoWarnings=False) +smiles(R"c1(cc(ccc1[O-])CC=O)[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"c1(cc(ccc1[O-])CC(=O)[O-])[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"c1(ccc(cc1)O)C(C(=O)[O-])O", printStereoWarnings=False) +smiles(R"C1(C(=CC=CC1O)C)(C(=O)[O-])O", printStereoWarnings=False) +smiles(R"c1(ccc(cc1O)[C@H](C[NH3+])O)O", printStereoWarnings=False) +smiles(R"c1(ccc(cc1)O)[C@@H](C(=O)[O-])O", printStereoWarnings=False) +smiles(R"c1(ccccc1OC)I", printStereoWarnings=False) +smiles(R"c1(c(cccc1)O)CO", printStereoWarnings=False) +smiles(R"c1(cc(ccc1)O)CO", printStereoWarnings=False) +smiles(R"c1c(ccc(c1)O)C=O", printStereoWarnings=False) +smiles(R"c1cc(cc(c1)O)C=O", printStereoWarnings=False) +smiles(R"c1cc(cc(c1)OC)O", printStereoWarnings=False) +smiles(R"c1c(cc(c(c1O)C(=O)c1c(cc(cc1C(=O)OC)O)OC)O)C", printStereoWarnings=False) +smiles(R"c1c(cc(c(c1O)C(=O)c1c(cc(cc1C(=O)[O-])O)OC)O)C", printStereoWarnings=False) +smiles(R"c1c(cc(c(c1OC(=O)c1cc(c(c(c1)O)O)O)O)O)C(=O)[O-]", printStereoWarnings=False) +smiles(R"c1c(ccc(c1OC)OC)/C=C/C", printStereoWarnings=False) +smiles(R"c1c(c(c(cc1)OC)O)C/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/[CH])\C)\C)\C)\C)\C)\C)\C)\C", printStereoWarnings=False) +smiles(R"c1c(c(c(cc1)OC)O)C/C=C(/[CH])\C", printStereoWarnings=False) +smiles(R"c1cc(cc(c1OC)OC)CO", printStereoWarnings=False) +smiles(R"c1ccc(c(c1)OC(=O)C)C(=O)[O-]", printStereoWarnings=False) +smiles(R"c1c(ccc(c1)OC(=O)[C@H]1CC[C@@H](CC1)C[NH3+])CCC(=O)[O-]", printStereoWarnings=False) +smiles(R"c1(ccc(cc1)O)C(=O)[O-]", printStereoWarnings=False) +smiles(R"c1(cccc(c1)O)C(=O)[O-]", printStereoWarnings=False) +smiles(R"c1(cc(ccc1O)CO)OC", printStereoWarnings=False) +smiles(R"c1(cc(c(c(c1)OC)O)OC)/C=C/C(=O)[O-]", printStereoWarnings=False) +smiles(R"c1(cc(c(c(c1)OC)O)OC)/C=C/C(=O)OC[C@H]1OC(=O)[C@@H]([C@H]([C@@H]1O)O)O", printStereoWarnings=False) +smiles(R"c1(cc(c(c(c1)OC)O)OC)/C=C/C(=O)OC(C(=O)[O-])C(=O)[O-]", printStereoWarnings=False) +smiles(R"C1(C=CC(C=C1)O)(C(=O)[O-])CC(=O)C(=O)[O-]", printStereoWarnings=False) +smiles(R"c1(c(ccc(c1)O)C(=O)[O-])NC(=O)c1ccccc1", printStereoWarnings=False) +smiles(R"c1cccc(c1O)N", printStereoWarnings=False) +smiles(R"c1(c(c(ccc1)O)N)C(=O)[O-]", printStereoWarnings=False) +smiles(R"c1(ccc(cc1)O)[O]", printStereoWarnings=False) +smiles(R"c1(ccc(cc1)O)O", printStereoWarnings=False) +smiles(R"c1cc(cc(c1)O)O", printStereoWarnings=False) +smiles(R"c1ccc(c(c1)O)O", printStereoWarnings=False) +smiles(R"C1CCC(CC1=O)O", printStereoWarnings=False) +smiles(R"c1(cc(cc(c1)O)O)C", printStereoWarnings=False) +smiles(R"c1(c(c(ccc1)O)O)CC", printStereoWarnings=False) +smiles(R"c1(c(ccc(c1)O)O)C/C=C(/CCC=C(C)C)\C", printStereoWarnings=False) +smiles(R"c1c(c(c(cc1)O)O)C/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/[CH])\C)\C)\C)\C)\C)\C)\C)\C", printStereoWarnings=False) +smiles(R"c1(c(ccc(c1)O)O)C/C=C(/CCC=C(C)C)\CO", printStereoWarnings=False) +smiles(R"c1c(c(c(cc1)O)O)C/C=C(/[CH])\C", printStereoWarnings=False) +smiles(R"c1(cc(c(cc1)O)OC)/C=C/C(=O)CC(=O)/C=C/c1cc(c(cc1)O)OC", printStereoWarnings=False) +smiles(R"c1(cc(c(cc1)O)OC)/C=C/C(=O)CC(=O)CCc1cc(c(cc1)O)OC", printStereoWarnings=False) +smiles(R"c1(cc(c(cc1)O)OC)CCC(=O)CC(=O)CCc1cc(c(cc1)O)OC", printStereoWarnings=False) +smiles(R"c1c(ccc(c1O)O)/C=C/C(=O)NCCCC[NH3+]", printStereoWarnings=False) +smiles(R"c1(cccc(c1O)O)/C=C/C(=O)[O-]", printStereoWarnings=False) +smiles(R"c1c(cc(c(c1)O)O)CCC(=O)[O-]", printStereoWarnings=False) +smiles(R"c1cc(cc(c1O)O)/C=C/C(=O)O[C@H](Cc1cc(O)c(cc1)O)C(=O)[O-]", printStereoWarnings=False) +smiles(R"c1c(ccc(c1O)O)C[C@H](C(=O)[O-])O", printStereoWarnings=False) +smiles(R"c1cc(cc(c1O)OC)C(=O)[O-]", printStereoWarnings=False) +smiles(R"c1(cc(cc(c1O)O)Cl)Cl", printStereoWarnings=False) +smiles(R"c1(ccc(cc1)O)OC(=O)C", printStereoWarnings=False) +smiles(R"c1(c(c(cc(c1O)OC)O)C)C/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)\C)\C)\C)\C)\C", printStereoWarnings=False) +smiles(R"c1(c(c(c(c(c1O)OC)OC)O)C)C/C=C(/[CH])\C", printStereoWarnings=False) +smiles(R"c1(c(ccc(c1)O)O)C(=O)[O-]", printStereoWarnings=False) +smiles(R"c1c(c(c(cc1)O)O)C(=O)[O-]", printStereoWarnings=False) +smiles(R"c1c(c(c(cc1O)O)C(=O)[O-])C", printStereoWarnings=False) +smiles(R"c1(cc(c(cc1)O)O)C(=O)Oc1c(c(cc(c1)O)O)C(=O)[O-]", printStereoWarnings=False) +smiles(R"c1(c(c(c(c(c1O)OC)O)O)C)C/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)\C)\C)\C)\C)\C", printStereoWarnings=False) +smiles(R"c1(c(c(c(cc1)O)O)C(=O)[O-])C(=O)[O-]", printStereoWarnings=False) +smiles(R"c1(c(cc(c(c1)O)O)C(=O)[O-])C(=O)[O-]", printStereoWarnings=False) +smiles(R"c1(cc(c(cc1)[O-])O)[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"c1(c(cc(cc1)O)O)O", printStereoWarnings=False) +smiles(R"c1(cc(cc(c1)O)O)O", printStereoWarnings=False) +smiles(R"c1c(c(c(cc1O)O)O)C", printStereoWarnings=False) +smiles(R"c1(c(cc(cc1O)O)O)C(=O)c1ccccc1", printStereoWarnings=False) +smiles(R"c1(c(cc(cc1O)O)O)C(=O)CC(C)C", printStereoWarnings=False) +smiles(R"c1(cc(c(c(c1)O)O)O)C(=O)[O-]", printStereoWarnings=False) +smiles(R"c1(c(c(ccc1)O)O)S(=O)(=O)[O-]", printStereoWarnings=False) +smiles(R"c1(ccc(cc1)OS(=O)(=O)[O-])c1cn2c(c([nH]1)Cc1ccccc1)nc(c2=O)Cc1ccc(cc1)OS(=O)(=O)[O-]", printStereoWarnings=False) +smiles(R"c1(ccc(cc1)OS(=O)(=O)[O-])c1cnc(c(n1)Cc1ccccc1)NC(=O)Cc1ccc(cc1)OS(=O)(=O)[O-]", printStereoWarnings=False) +smiles(R"c1(ccc(cc1)S(=O)(=O)[O-])C(=O)[O-]", printStereoWarnings=False) +smiles(R"C1CC(=C)C=C2[C@H]1[C@H](CC[C@@H]2[C@H](CCC=C(C)C)C)C", printStereoWarnings=False) +smiles(R"C1C(=C)C=CC(C1)C(C)C", printStereoWarnings=False) +smiles(R"C1CC/C(=C\C=C\2/C(=C)CC[C@@H](C2)O)/[C@@H]2CC[C@H]([C@H](C)CCCC(C)C)[C@@]12C", printStereoWarnings=False) +smiles(R"C1CC/C(=C\C=C\2/C(=C)CC[C@@H](C2)O)/[C@@H]2CC[C@H]([C@H](C)CCCC(C)(C)O)[C@@]12C", printStereoWarnings=False) +smiles(R"C1CC/C(=C\C=C\2/C(=C)CC[C@@H](C2)O)/[C@@H]2CC[C@H]([C@H](C)/C=C/[C@@H](C(C)C)C)[C@@]12C", printStereoWarnings=False) +smiles(R"C1CC/C(=C\C=C\2/C(=C)CC[C@@H](C2)O)/[C@@H]2CC[C@H]([C@H](C)CC[C@H](C(C)(C)O)O)[C@@]12C", printStereoWarnings=False) +smiles(R"C1CC/C(=C\C=C\2/C(=C)[C@H](C[C@@H](C2)O)O)/[C@@H]2CC[C@H]([C@H](C)CCCC(C)(C)O)[C@@]12C", printStereoWarnings=False) +smiles(R"C1CC/C(=C\C=C\2/C(=C)[C@H](C[C@@H](C2)O)O)/[C@@H]2CC[C@H]([C@H](C)CC[C@H](C(C)(C)O)O)[C@@]12C", printStereoWarnings=False) +smiles(R"C1CC/C(=C\C=C\2/C(=C)[C@H](C[C@@H](C2)O)O)/[C@@H]2CC[C@H]([C@H](C)CCC(=O)C(C)(C)O)[C@@]12C", printStereoWarnings=False) +smiles(R"C1CC/C(=C\C=C\2/C(=C)[C@H](C[C@@H](C2)O)O)/[C@@H]2CC[C@H]([C@H](C)CC(C(=O)C(C)(C)O)O)[C@@]12C", printStereoWarnings=False) +smiles(R"C1CC/C(=C\C=C\2/C(=C)[C@H](C[C@@H](C2)O)O)/[C@@H]2CC[C@H]([C@H](C)CC=O)[C@@]12C", printStereoWarnings=False) +smiles(R"C1CC/C(=C\C=C\2/C(=C)[C@H](C[C@@H](C2)O)O)/[C@@H]2CC[C@H]([C@H](C)CCO)[C@@]12C", printStereoWarnings=False) +smiles(R"C1CC/C(=C\C=C\2/C(=C)[C@H](C[C@@H](C2)O)O)/[C@@H]2CC[C@H]([C@H](C)CC(=O)[O-])[C@@]12C", printStereoWarnings=False) +smiles(R"C1(=CCC(=C(C)C)CC1)C", printStereoWarnings=False) +smiles(R"C1=C(CCC(=CCCC(=C1)C)C)C(C)C", printStereoWarnings=False) +smiles(R"C1C=C(CCC=C(CCC1=C(C)C)C)C", printStereoWarnings=False) +smiles(R"C1C=C(CCC=C(CCC1C(=C)C)C)C", printStereoWarnings=False) +smiles(R"C1(CC=C(CCC=C(CC=C1)C)C)(C)C", printStereoWarnings=False) +smiles(R"C1(=CCCC(=CCC(C=CC1=O)(C)C)C)C", printStereoWarnings=False) +smiles(R"C1(=CCCC(=CCC(C=CC1O)(C)C)C)C", printStereoWarnings=False) +smiles(R"C1(CCCC(=CCCC(=C)C=C1)C)(C)C", printStereoWarnings=False) +smiles(R"C1/C(=C(\CCC=C(C)C)/C)/CCC(=C1)C", printStereoWarnings=False) +smiles(R"C1C(=CC/C(=C(/CCC=C(C)C)\C)/C1)C", printStereoWarnings=False) +smiles(R"C1C=C(CCC=C(CC[C@H]1C(=C)C)C)C", printStereoWarnings=False) +smiles(R"C1C=C(CCC=C(CC[C@H]1C(=C)C=O)C)C", printStereoWarnings=False) +smiles(R"C1C=C(CCC=C(CC[C@H]1C(=C)CO)C)C", printStereoWarnings=False) +smiles(R"C1C=C(CCC=C(CC[C@H]1C(=C)C(=O)[O-])C)C", printStereoWarnings=False) +smiles(R"C1CC=C(CC[C@@H](C=CC1=C)C(C)C)C", printStereoWarnings=False) +smiles(R"C1CC=C(CC[C@H](C=CC1=C)C(C)C)C", printStereoWarnings=False) +smiles(R"C1CC(=C(C)C)C(=O)C[C@@H]1C", printStereoWarnings=False) +smiles(R"c1(cccc(CC(=O)[O-])c1)O", printStereoWarnings=False) +smiles(R"C1CC(=CC[C@@H]1/C(=C/CC=C(C)C)/C)C", printStereoWarnings=False) +smiles(R"C1C=C(C=C[C@H]1[C@@H](CCC=C(C)C)C)C", printStereoWarnings=False) +smiles(R"C1C=C(CC[C@@H]1C(O)(C)C)C", printStereoWarnings=False) +smiles(R"C1C=C(CC[C@H]1C(O)(C)C)C", printStereoWarnings=False) +smiles(R"C1C(C(=C(C[C@H]1O)C)/C=C/C(=C/C=C/C(=C/C=O)/C)/C)(C)C", printStereoWarnings=False) +smiles(R"[C@]1(C=CC=C[C@@H]1O)(C(=O)[O-])O", printStereoWarnings=False) +smiles(R"C1(CC/C(=C\C(=O)C(=O)[O-])/C=C1)O", printStereoWarnings=False) +smiles(R"C1CCC([C@H]2[C@]1([C@@H]1[C@@](CC2)([C@H]2[C@](CC1)([C@@H]([C@](CC2)(C)O)CC[C@H](C1=CCC(=CC1)C)C)C)C)C)(C)C", printStereoWarnings=False) +smiles(R"C1CCC([C@@H]2[C@@]1([C@H]1[C@H](CC2)[C@@H](C(=CC1)C=C)C)C)(C)C", printStereoWarnings=False) +smiles(R"C1CCC([C@@H]2[C@@]1([C@H]1[C@H](CC2)[C@@H](C(=C[C@H]1O)C=C)C)C)(C)C", printStereoWarnings=False) +smiles(R"C1CCC([C@H]2CC[C@@]34CC(=C)[C@@H](CC[C@H]4[C@]12C)C3)(C)C", printStereoWarnings=False) +smiles(R"C1CCC([C@H]2CC[C@@]34C=C([C@@H](CC[C@H]4[C@]12C)C3)C)(C)C", printStereoWarnings=False) +smiles(R"C1CCC([C@@H]2CC[C@]3([C@@]4(CC[C@@H]5[C@](CC[C@H](O)C5(C)C)([C@H]4CC[C@@H]3[C@@]12C)C)C)C)(C)C", printStereoWarnings=False) +smiles(R"C1CC[C@@]([C@@H]2CCc3cc(ccc3[C@@]12C)C(C)C)(C)C=O", printStereoWarnings=False) +smiles(R"C1CC[C@@]([C@@H]2CCc3cc(ccc3[C@@]12C)C(C)C)(C)CO", printStereoWarnings=False) +smiles(R"C1CC[C@@]([C@@H]2CCc3cc(ccc3[C@@]12C)C(C)C)(C)C(=O)[O-]", printStereoWarnings=False) +smiles(R"C1CC[C@@]([C@@H]2CC=C3C=C(CC[C@@H]3[C@@]12C)C(C)C)(C)CO", printStereoWarnings=False) +smiles(R"C1CC[C@@]([C@@H]2CC=C3C[C@](CC[C@@H]3[C@@]12C)(C=C)C)(C)C=O", printStereoWarnings=False) +smiles(R"C1CC[C@@]([C@@H]2CC=C3C[C@](CC[C@@H]3[C@@]12C)(C=C)C)(C)CO", printStereoWarnings=False) +smiles(R"C1CC[C@@]([C@@H]2CCC3=CC(=CC[C@@H]3[C@@]12C)C(C)C)(C)C=O", printStereoWarnings=False) +smiles(R"C1CC[C@@]([C@@H]2CCC3=CC(=CC[C@@H]3[C@@]12C)C(C)C)(C)CO", printStereoWarnings=False) +smiles(R"C1CC[C@@]([C@@H]2CC=C3C=C(CC[C@@H]3[C@@]12C)C(C)C)(C)C(=O)[O-]", printStereoWarnings=False) +smiles(R"C1CC[C@]([C@@H]2CC=C3C=C(CC[C@@H]3[C@@]12C)C(C)C)(C=O)C", printStereoWarnings=False) +smiles(R"C1CC[C@]([C@@H]2CC=C3C=C(CC[C@@H]3[C@@]12C)C(C)C)(C(O)O)C", printStereoWarnings=False) +smiles(R"C1CCC([C@@H]2CC[C@@]3([C@H](CC[C@@H]4[C@]5(CC[C@@H]([C@@H]5CC[C@@]34C)C(=C)C)C)[C@@]12C)C)(C)C", printStereoWarnings=False) +smiles(R"C1CCC([C@@H]2CC[C@@]3([C@H](CC[C@@H]4[C@]5(CC[C@@H]([C@@H]5CC[C@@]34C)C(C)(C)O)C)[C@@]12C)C)(C)C", printStereoWarnings=False) +smiles(R"C1=C(CC[C@@H]2C(=C)CC[C@@H](C(C)C)[C@H]12)C", printStereoWarnings=False) +smiles(R"C1=C(CC[C@@H]2C(=C)CC[C@H](C(C)C)[C@@H]12)C", printStereoWarnings=False) +smiles(R"C1=C(CC[C@H]2C(=C)CC[C@@H](C(C)C)[C@H]12)C", printStereoWarnings=False) +smiles(R"C1CCC([C@@H]2CC=C([C@@H]([C@@]12C)CC/C(=C/CO)/C)C)(C)C", printStereoWarnings=False) +smiles(R"C1=C(CC[C@@H]2C(=CC[C@@H](C(C)C)[C@H]12)C)C", printStereoWarnings=False) +smiles(R"C1=C(CC[C@@H]2[C@@H](C(=C)CC1)CC2(C)C)C", printStereoWarnings=False) +smiles(R"C1=C(CC[C@@H]2[C@H](C(=C)CC1)CC2(C)C)C", printStereoWarnings=False) +smiles(R"C1=C(CC[C@H]2[C@H](C(=C)CC1)CC2(C)C)C", printStereoWarnings=False) +smiles(R"C1=C(CC[C@@H](C1)C(=C)C)CO", printStereoWarnings=False) +smiles(R"C1=C(C=C[C@H](C1)[C@H](CCC=C(C)C)C)C", printStereoWarnings=False) +smiles(R"C1=C(CC[C@@H](C1=O)C(=C)C)C", printStereoWarnings=False) +smiles(R"C1(=CC=C[C@@H]([C@H]1[NH3+])O)C(=O)[O-]", printStereoWarnings=False) +smiles(R"C1(=CC=C[C@@H]([C@@H]1O)O)CC", printStereoWarnings=False) +smiles(R"C1(=CC=C([C@H]([C@H]1O)O)C(=O)[O-])C(C)C", printStereoWarnings=False) +smiles(R"c1c(ccc[n+]1C)C(=O)[O-]", printStereoWarnings=False) +smiles(R"c1c(c(c(c(n1)C)O)CO)CO", printStereoWarnings=False) +smiles(R"C1CCCC(=N1)C(=O)[O-]", printStereoWarnings=False) +smiles(R"c1(c(c(c(cn1)COP(=O)([O-])[O-])C=O)O)C", printStereoWarnings=False) +smiles(R"C1=CC=C(C(=N)C1=O)C(=O)[O-]", printStereoWarnings=False) +smiles(R"C1CCCC[NH2+]1", printStereoWarnings=False) +smiles(R"C1CC(CC(=O)C1C)C(=C)C", printStereoWarnings=False) +smiles(R"C1=CC=CC(=O)C1=O", printStereoWarnings=False) +smiles(R"c1c(ccc(O)c1OC)/C=C/CO", printStereoWarnings=False) +smiles(R"c1c(ccc(O)c1OC)/C=C/COC(=O)C", printStereoWarnings=False) +smiles(R"c1ccc(c(O)c1O)O", printStereoWarnings=False) +smiles(R"C1C(CCC(O)(C)C1=O)C(=C)C", printStereoWarnings=False) +smiles(R"C1=CC(=C(C(=O)C)C(=O)[C@]1(c1c(O)c(C)c(O)c(c1O)C(=O)C)C)[O-]", printStereoWarnings=False) +smiles(R"C1/C(=C/C)/C(=O)O[C@@H]2CCN3CC=C(COC(=O)[C@](O)([C@@H]1C)C)[C@H]23", printStereoWarnings=False) +smiles(R"C1/C(=C/C)/C(=O)O[C@@H]2CC[N+]3(CC=C(COC(=O)[C@](O)([C@@H]1C)C)[C@H]23)[O-]", printStereoWarnings=False) +smiles(R"C1=CC=C(C(=O)[O-])[C@@H]([C@H]1OC(=C)C(=O)[O-])[NH3+]", printStereoWarnings=False) +smiles(R"C1=CC=C(C(=O)[O-])[C@@H]([C@H]1OC(=C)C(=O)[O-])O", printStereoWarnings=False) +smiles(R"C1(=C/C(=C\C(=O)[O-])/OC1=O)Cl", printStereoWarnings=False) +smiles(R"[C@]1(C(=C)[C@H]2CC[C@@H]1C2)(CCC=C(C)C)C", printStereoWarnings=False) +smiles(R"C1(=CC[C@H](CC1)C1=CCCC(C1)(C)C)C", printStereoWarnings=False) +smiles(R"C1(=CC[C@H](CC1)C(=C)CCC=C(C)C)C", printStereoWarnings=False) +smiles(R"C1(=C(C[C@H](CC1(C)C)O)C)/C=C/C(=C/C=C/C(=C/C=C/C=C(/C=C/C=C(/C=C/[C@]12[C@](O1)(C[C@H](CC2(C)C)O)C)\C)\C)/C)/C", printStereoWarnings=False) +smiles(R"C1(=C(C[C@H](CC1(C)C)O)C)/C=C/C(=C/C=C/C(=C/C=C/C=C(/C=C/C=C(/C=C/C1=C(CCCC1(C)C)C)\C)\C)/C)/C", printStereoWarnings=False) +smiles(R"C1(=C(C[C@H](CC1(C)C)O)C)/C=C/C(=C/C=C/C(=C/C=C/C=C(/C=C/C=C(/C=C/C1=C(C[C@H](CC1(C)C)O)C)\C)\C)/C)/C", printStereoWarnings=False) +smiles(R"C1(=C(C[C@H](CC1(C)C)O)C)/C=C/C(=C/C=C/C(=C/C=C/C=C(/C=C/C=C(/C=O)\C)\C)/C)/C", printStereoWarnings=False) +smiles(R"C1(=C(C[C@H](CC1(C)C)O)C)C=O", printStereoWarnings=False) +smiles(R"C1(=C(C[C@H](CC1(C)C)O[C@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)C)/C=C/C(=C/C=C/C(=C/C=C/C=C(/C=C/C=C(/C=C/C1=C(C[C@H](CC1(C)C)O[C@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)C)\C)\C)/C)/C", printStereoWarnings=False) +smiles(R"C1(=CC[C@@H](CC1=O)C(=C)C)C", printStereoWarnings=False) +smiles(R"C1(=CC[C@H](CC1=O)C(=C)C)C", printStereoWarnings=False) +smiles(R"C1=C(C[C@H]([C@@H](C1=O)O)[NH3+])C(=O)[O-]", printStereoWarnings=False) +smiles(R"C1=C(C)[C@H]([C@H](C=C1)O)O", printStereoWarnings=False) +smiles(R"c1c(C[C@@H](C(=O)[O-])[N+](C)(C)C)nc[nH]1", printStereoWarnings=False) +smiles(R"c1c(C[C@@H](C(=O)[O-])O)[nH]cn1", printStereoWarnings=False) +smiles(R"c1c(C[C@@H](NC(=O)CC(=O)[O-])C(=O)[O-])c2c([nH]1)cccc2", printStereoWarnings=False) +smiles(R"c1cc(Cl)c(cc1NC(=O)CC(=O)[O-])Cl", printStereoWarnings=False) +smiles(R"C1(CC(C=N1)O)C(=O)[O-]", printStereoWarnings=False) +smiles(R"c1cc(cnc1)[C@H]1[NH+](C)CCC1", printStereoWarnings=False) +smiles(R"c1cc(c[n+](c1)[C@@H]1O[C@@H]([C@H]([C@H]1O)O)CO)C(=O)N", printStereoWarnings=False) +smiles(R"c1(cc(c(nc1)C)O)C(=O)[O-]", printStereoWarnings=False) +smiles(R"c1cc(cnc1O)[C@@H]1[NH+](C)CCC1", printStereoWarnings=False) +smiles(R"c1cc(cnc1O)[C@H]1[NH+](C)CCC1", printStereoWarnings=False) +smiles(R"c1(c(ccn(c1=O)C)OC)C#N", printStereoWarnings=False) +smiles(R"c1(ccc(nc1)O)C(=O)[O-]", printStereoWarnings=False) +smiles(R"c1(ccc(nc1O)O)C(=O)[O-]", printStereoWarnings=False) +smiles(R"c1ccc[nH]1", printStereoWarnings=False) +smiles(R"C1CCCOC1=O", printStereoWarnings=False) +smiles(R"C1(C(C(C(OC1OP(=O)([O-])[O-])CO)O)O)NC(=O)C", printStereoWarnings=False) +smiles(R"c1c(cc(O)c2c1O[C@]1(C(=CC(=O)C=C1OC)C(=O)OC)C2=O)C", printStereoWarnings=False) +smiles(R"c1c(cc(O)c2c1O[C@@]1(C(=CC(=O)C=C1OC)C(=O)OC)C2=O)C", printStereoWarnings=False) +smiles(R"[C@]1(C(=CC(=O)CC1(C)C)C)(/C=C/C(=C\C=O)/C)O", printStereoWarnings=False) +smiles(R"[C@]1(C(=CC(=O)CC1(C)C)C)(/C=C/C(=C\C(=O)[O-])/C)O", printStereoWarnings=False) +smiles(R"C1CCC(=O)CC1=O", printStereoWarnings=False) +smiles(R"c1(cc(c(=O)cc(c1)O)[O-])C(=O)[O-]", printStereoWarnings=False) +smiles(R"c1c(cc(OC)c(O)c1O)C(=O)[O-]", printStereoWarnings=False) +smiles(R"c1ccc(O[C@H]2[C@@H]([C@H]([C@@H]([C@@H](CO)O2)O)O)O)c(c1)/C=C\C(=O)[O-]", printStereoWarnings=False) +smiles(R"C1CCC(=O)C(=O)C1", printStereoWarnings=False) +smiles(R"c1c(C)c(=O)[nH]c(=O)n1[C@H]1C[C@H](O)[C@H](O1)COP(=O)(OP(=O)([O-])OC1O[C@@H]([C@H](O)[C@H](O)[C@H]1O)CO)[O-]", printStereoWarnings=False) +smiles(R"c1c(C)c(=O)[nH]c(=O)n1[C@H]1C[C@H](O)[C@H](O1)COP(=O)(OP(=O)([O-])OC1O[C@@H]([C@H](O)[C@H](O)[C@H]1O)C(=O)[O-])[O-]", printStereoWarnings=False) +smiles(R"c1c(C)c(=O)[nH]c(=O)n1[C@H]1C[C@H](O)[C@H](O1)COP(=O)(OP(=O)([O-])OC1O[C@@H](C(=O)[C@H](O)[C@H]1O)C)[O-]", printStereoWarnings=False) +smiles(R"c1c(c(c(=O)oc1/C=C/CCCC/C=C/C=C/C)C=O)OC", printStereoWarnings=False) +smiles(R"c1c(c(c(=O)oc1/C=C/CCCC/C=C/C=C/C)CO)OC", printStereoWarnings=False) +smiles(R"c1c(cc(=O)oc1C(=O)[O-])C(=O)[O-]", printStereoWarnings=False) +smiles(R"C1C[C@H]2C3=CC[C@H]4[C@H](C)[C@@H](O)CC[C@]4(C)[C@H]3CC[C@@]2([C@H]1[C@H](C)CCC(=C)C(C)C)C", printStereoWarnings=False) +smiles(R"C1C[C@H]2C3=CC[C@H]4[C@H](C)[C@@H](O)CC[C@]4(C)[C@H]3CC[C@@]2([C@H]1[C@H](C)CC/C(=C/C)/C(C)C)C", printStereoWarnings=False) +smiles(R"C1=C([C@H]2[C@@]3([C@H]1CC(C3)(C)C)[C@@H]([C@@H](C2)O)C)C(=O)[O-]", printStereoWarnings=False) +smiles(R"C1=C([C@H]2[C@@]3([C@H]1CC(C3)(C)C)[C@@H](C(=O)C2)C)C(=O)[O-]", printStereoWarnings=False) +smiles(R"C1(=C[C@H]2[C@@]3([C@H]1CC(=O)O[C@H]3C)CC(C2)(C)C)C(=O)[O-]", printStereoWarnings=False) +smiles(R"C1(=C[C@H]2[C@@]3([C@H]1COC(=O)[C@@]13CO1)CC(C2)(C)C)C(=O)[O-]", printStereoWarnings=False) +smiles(R"C1(=C[C@H]2[C@@]3([C@H]1COC(=O)[C@@]13CO1)C=C([C@H]2C)C)C(=O)[O-]", printStereoWarnings=False) +smiles(R"C1(=C[C@H]2[C@@]3([C@H]1COC(=O)C3=C)CC(C2)(C)C)C(=O)[O-]", printStereoWarnings=False) +smiles(R"C1(=C[C@H]2[C@@]3([C@H]1COC(=O)[C@H]3C)CC(C2)(C)C)C(=O)[O-]", printStereoWarnings=False) +smiles(R"C1(C[C@@H]2[C@]3([C@@H](CC[C@H]3C(=C2)C)C)C1)(C)C", printStereoWarnings=False) +smiles(R"C1(C[C@@H]2[C@]3([C@@H](CC[C@H]3C(=C2)C=O)C)C1)(C)C", printStereoWarnings=False) +smiles(R"C1(C[C@@H]2[C@]3([C@@H](CC[C@H]3C(=C2)CO)C)C1)(C)C", printStereoWarnings=False) +smiles(R"C1(=C([C@H]2[C@@](CC1)(CCC(C2)(C)C)C)CC[C@H]1C(=CC[C@@H]2[C@@]1(CC[C@@H](C2(C)C)O)C)C)C", printStereoWarnings=False) +smiles(R"C1(=C([C@H]2[C@@](CC1)(CC[C@H]([C@@H]2C)C)C)CC[C@H]1C(=CC[C@@H]2[C@@]1(CC[C@@H](C2(C)C)O)C)C)C", printStereoWarnings=False) +smiles(R"C1C([C@@H]2CC[C@@]34[C@@H]([C@]2(CC1)C)CC[C@H](C3)[C@](C4)(C)O)(C)C", printStereoWarnings=False) +smiles(R"C1C([C@@H]2CC=C3[C@H]([C@]2(CC1)C)CC[C@@](C3)(C)C=C)(C)C", printStereoWarnings=False) +smiles(R"C1[C@@]([C@@H]2CC=C3[C@H]([C@]2(CC1)C)CC[C@@](C3)(C)C=C)(C=O)C", printStereoWarnings=False) +smiles(R"C1[C@@]([C@@H]2CC=C3[C@H]([C@]2(CC1)C)CC[C@@](C3)(C)C=C)(CO)C", printStereoWarnings=False) +smiles(R"C1[C@@]([C@@H]2CC=C3[C@H]([C@]2(CC1)C)CC[C@@](C3)(C)C=C)(C(=O)[O-])C", printStereoWarnings=False) +smiles(R"C1=C[C@H]2CCCC[C@H]2[C@H](c2cc(c(c(=O)o2)C=O)OC)[C@H]1C", printStereoWarnings=False) +smiles(R"C1=C([C@H]2C[C@@H]3CCC(=C(CC[C@@]2(CC1)C)C3(C)C)C)C", printStereoWarnings=False) +smiles(R"C1(C[C@@H]2[C@]([C@@H](C1)O)(CC[C@@]1(C2=CC[C@H]2[C@]1(CC[C@@H]1[C@@]2(CC[C@@H]([C@@]1(CO)C)O[C@@H]1O[C@@H]([C@H]([C@@H]([C@H]1O[C@@H]1O[C@@H]([C@@H]([C@@H]([C@H]1O)O)O)CO)O)O)C(=O)[O-])C)C)C)C)(C)C", printStereoWarnings=False) +smiles(R"C1C[C@@H]2C[C@@H](CC[C@@]2([C@H]2CC[C@@]3(C(=O)CC[C@H]3[C@H]12)C)C)O", printStereoWarnings=False) +smiles(R"C1C[C@H]2C[C@@H](CC[C@@]2([C@H]2CC[C@@]3(C(=O)CC[C@H]3[C@H]12)C)C)O", printStereoWarnings=False) +smiles(R"C1C[C@@H]2CC(=O)CC[C@]2(C)[C@@H]2[C@@H]1[C@@H]1CC[C@@]([C@]1(CC2=O)C)(C(=O)CO)O", printStereoWarnings=False) +smiles(R"C1C[C@H]2CC(=O)CC[C@]2(C)[C@@H]2[C@@H]1[C@@H]1CC[C@@]([C@]1(CC2=O)C)(C(=O)CO)O", printStereoWarnings=False) +smiles(R"C1C[C@H]2[C@H]3[C@@H]1C(=C)[C@@]2(CC[C@@H]3C(C)C)C", printStereoWarnings=False) +smiles(R"C1C[C@@H]2[C@@H]([C@@]3(C1=CC(=O)CC3)C)CC[C@@]1(C(=O)CC[C@@H]21)C", printStereoWarnings=False) +smiles(R"C1C[C@@H]2[C@H]([C@H]1C)C=C(CC=C2C)C(C)C", printStereoWarnings=False) +smiles(R"C1C[C@@H]2C(O[C@]1(C)CC2)(C)C", printStereoWarnings=False) +smiles(R"C1(C[C@H]([C@@]2(CC[C@]3([C@]4([C@@H]([C@@]5([C@H]([C@]([C@H](CC5)O[C@H]5[C@@H]([C@H]([C@@H]([C@H](O5)C(=O)[O-])O)O)O)(CO)C)CC4)C)CC=C3[C@@H]2C1)C)C)C)O)(C)C", printStereoWarnings=False) +smiles(R"C1(C[C@H]([C@@]2(CC[C@]3([C@]4([C@@H]([C@@]5([C@H]([C@]([C@H](CC5)O)(CO)C)CC4)C)CC=C3[C@@H]2C1)C)C)C)O)(C)C", printStereoWarnings=False) +smiles(R"C1C[C@@H](C[C@]23[C@H](C[C@@H]4[C@@H]([C@@]12C)CC[C@]1([C@H]4CC[C@@H]1[C@@H](CCCC(C)C)C)C)O3)O", printStereoWarnings=False) +smiles(R"C1C[C@@H](C[C@@]23[C@@H](C[C@@H]4[C@@H]([C@@]12C)CC[C@]1([C@H]4CC[C@@H]1[C@@H](CCCC(C)C)C)C)O3)O", printStereoWarnings=False) +smiles(R"C1C[C@@H](CC2=CC=C3[C@H]4[C@](CC[C@@H]3[C@@]12C)([C@H](CC4)[C@H](C)CCC=C(C)C)C)O", printStereoWarnings=False) +smiles(R"C1C[C@@H](CC2=CC=C3[C@H]4[C@](CC[C@@H]3[C@@]12C)([C@H](CC4)[C@H](C)/C=C/[C@@H](C(C)C)C)C)O", printStereoWarnings=False) +smiles(R"C1C[C@@H](CC2=CC=C3[C@H]4[C@](CC[C@@H]3[C@@]12C)([C@H](CC4)[C@H](C)/C=C/[C@@H](C(C)C)C)C)OC(=O)CCCCCCCCCCCCCCC", printStereoWarnings=False) +smiles(R"C1C[C@@H](CC2=CC=C3[C@@H]([C@@]12C)CC[C@]1([C@H]3CC[C@@H]1[C@H](C)/C=C/C(=C)C(C)C)C)O", printStereoWarnings=False) +smiles(R"C1C[C@@H](CC2=CC=C3[C@@H]([C@@]12C)CC[C@]1([C@H]3CC[C@@H]1[C@H](C)CCC(=C)C(C)C)C)O", printStereoWarnings=False) +smiles(R"C1C[C@@H](CC2=CC=C3[C@@H]([C@@]12C)CC[C@]1([C@H]3CC[C@@H]1[C@H](C)/C=C/C(=C)C(C)C)C)OC(=O)C", printStereoWarnings=False) +smiles(R"C1C[C@@H](CC2=CC=C3[C@@H]([C@@]12C)CC[C@]1([C@H]3CC[C@@H]1[C@@H](CCCC(C)C)C)C)O", printStereoWarnings=False) +smiles(R"C1C[C@@H](CC2=CC=C3[C@@H]([C@@]12C)CC[C@]1([C@H]3CC[C@@H]1[C@H](C)CC[C@@H](C(C)C)C)C)O", printStereoWarnings=False) +smiles(R"C1C[C@@H](C[C@@]2(CC=C3[C@@H]([C@@]12C)CC[C@]1([C@H]3CC[C@@H]1[C@H](C)/C=C/[C@@H](C(C)C)C)C)O)O", printStereoWarnings=False) +smiles(R"C1C[C@@H](CC2=CC[C@H]3[C@H]4[C@](CC[C@@H]3[C@@]12C)([C@H](CC4)[C@H](C)CCC=C(C)C)C)O", printStereoWarnings=False) +smiles(R"C1C[C@@H](CC2=CC[C@H]3[C@H]4[C@](CC[C@@H]3[C@@]12C)([C@H](CC4)[C@H](C)CCCC(C)C)C)O", printStereoWarnings=False) +smiles(R"C1C[C@@H](CC2=CC[C@H]3[C@H]4[C@](CC[C@@H]3[C@@]12C)([C@H](CC4)[C@H](C)CCCC(C)C)C)OC(=O)CCCCCCC/C=C\CCCCCCCC", printStereoWarnings=False) +smiles(R"C1C[C@@H](CC2=CC[C@H]3[C@H]4[C@](CC[C@@H]3[C@@]12C)([C@H](CC4)[C@H](C)CCCC(C)(C)O)C)O", printStereoWarnings=False) +smiles(R"C1C[C@@H](CC2=CC[C@H]3[C@H]4[C@](CC[C@@H]3[C@@]12C)([C@H](CC4)[C@H](C)CCCC(C)CO)C)O", printStereoWarnings=False) +smiles(R"C1C[C@@H](CC2=CC[C@H]3[C@H]4[C@](CC[C@@H]3[C@@]12C)([C@H](CC4)[C@H](C)[C@@H](CCC(C)C)O)C)O", printStereoWarnings=False) +smiles(R"C1C[C@@H](CC2=CC[C@@H]3[C@@H]([C@@]12C)CC[C@@]1(C)[C@H]3C[C@@H]2O[C@]3(CC[C@@](O3)(C)CO)[C@H]([C@H]12)C)O", printStereoWarnings=False) +smiles(R"C1C[C@@H](CC2=CC[C@@H]3[C@@H]([C@@]12C)CC[C@@]1(C)[C@H]3C[C@@H]2O[C@]3(CC[C@@](O3)(C)CO)[C@H]([C@H]12)C)O[C@@H]1O[C@@H]([C@H]([C@H](O)[C@H]1O)O)CO", printStereoWarnings=False) +smiles(R"C1C[C@@H](CC2=CC[C@@H]3[C@@H]([C@@]12C)CC[C@]1([C@H]3CC[C@@H]1[C@H](C)CC[C@@]1(C(C)C)[C@@H](C)O1)C)O", printStereoWarnings=False) +smiles(R"C1C[C@H](CC2CC[C@@H]3[C@@H]([C@@]12C)CC[C@]1([C@H]3CC[C@@H]1O)C)O", printStereoWarnings=False) +smiles(R"C1C[C@@H](CC2=CC[C@@H]3[C@H](CC[C@]4(C)[C@H](CC[C@@H]34)C(=O)C)[C@@]12C)O", printStereoWarnings=False) +smiles(R"C1C[C@@H](CC2=C[C@H]([C@H]3[C@H]4[C@](CC[C@@H]3[C@@]12C)([C@H](CC4)[C@H](C)CCCC(C)C)C)O)O", printStereoWarnings=False) +smiles(R"C1C[C@@H](CC2=C[C@H]([C@H]3[C@H]4[C@](CC[C@@H]3[C@@]12C)([C@H](CC4)[C@H](C)CCCC(C)(C)O)C)O)O", printStereoWarnings=False) +smiles(R"C1C[C@@H](CC2=C[C@H]([C@H]3[C@H]4[C@](CC[C@@H]3[C@@]12C)([C@H](CC4)[C@H](C)CCCC(C)CO)C)O)O", printStereoWarnings=False) +smiles(R"C1=C[C@H](CCC1=C)C(C)C", printStereoWarnings=False) +smiles(R"C1C[C@@H](CC=C1C)C(=C)C", printStereoWarnings=False) +smiles(R"C1C[C@H](CC=C1C)C(=C)C", printStereoWarnings=False) +smiles(R"C1=C[C@H](CCC=C(CC[C@H]1C(C)(C)O)C)C", printStereoWarnings=False) +smiles(R"C1C[C@H](C(=C)C)C(=O)C[C@@H]1C", printStereoWarnings=False) +smiles(R"C1C[C@@H](C([C@H]2[C@]1(C1=C(CC2)[C@](CC1)([C@@H](CC/C=C(/CCC=C(C)C)\C)C)C)C)(C)C)O", printStereoWarnings=False) +smiles(R"C1C[C@H](C[C@H]2[C@@]1(C)[C@H]1CC[C@]3([C@@H](CC[C@@H]3[C@H](C)[C@H](C[C@H](C(C)C)C)O)[C@@H]1CC2)C)O", printStereoWarnings=False) +smiles(R"C1C[C@H](C[C@@H]2[C@]1([C@@H]1[C@@H](CC2)[C@H]2[C@](CC1)([C@@H]([C@@H](CCC(=O)NCC(=O)[O-])C)CC2)C)C)O", printStereoWarnings=False) +smiles(R"C1C[C@H](C[C@@H]2[C@]1([C@@H]1[C@@H](CC2)[C@H]2[C@](CC1)([C@@H]([C@@H](CCC(=O)NCC(=O)[O-])C)CC2)C)C)OS(=O)(=O)[O-]", printStereoWarnings=False) +smiles(R"C1C[C@H](C[C@@H]2[C@]1([C@@H]1[C@@H](C[C@@H]2O)[C@H]2[C@](CC1)([C@H](CC2)[C@@H](CCC(=O)[O-])C)C)C)O", printStereoWarnings=False) +smiles(R"C1C[C@H](C[C@@H]2[C@]1([C@@H]1[C@@H](C[C@H]2O)[C@H]2[C@](CC1)([C@H](CC2)[C@@H](CCC(=O)[O-])C)C)C)O", printStereoWarnings=False) +smiles(R"C1C[C@H](C[C@@H]2[C@]1([C@@H]1[C@@H]([C@@H](C2)OS(=O)(=O)[O-])[C@H]2[C@](CC1)([C@H](CC2)[C@@H](CCC(=O)NCC(=O)[O-])C)C)C)O", printStereoWarnings=False) +smiles(R"C1C[C@H](C[C@@H]2[C@]1([C@@H]1[C@@H]([C@@H]([C@@H]2O)O)[C@H]2[C@](CC1)([C@H](CC2)[C@@H](CCC(=O)NCCS(=O)(=O)[O-])C)C)C)O", printStereoWarnings=False) +smiles(R"C1C[C@@H](C[C@@H]2CCC3=C([C@@]12C)CC[C@]1([C@H]3CC[C@@H]1[C@@H](CCC(=C)C(C)C)C)C)O", printStereoWarnings=False) +smiles(R"C1C[C@@H](C[C@@H]2CCC3=C([C@@]12C)CC[C@]1([C@H]3CC[C@@H]1[C@@H](CCC=C(C)C)C)C)O", printStereoWarnings=False) +smiles(R"C1C[C@@H](C[C@@H]2CCC3=C([C@@]12C)CC[C@]1([C@H]3CC[C@@H]1[C@H](C)CCCC(C)C)C)O", printStereoWarnings=False) +smiles(R"C1C[C@@H](C[C@@H]2CC=C3[C@@H]([C@@]12C)CC[C@]1([C@H]3CC[C@@H]1[C@@H](CCC(=C)C(C)C)C)C)O", printStereoWarnings=False) +smiles(R"C1C[C@@H](C[C@@H]2CC=C3[C@@H]([C@@]12C)CC[C@]1([C@H]3CC[C@@H]1[C@H](C)CCCC(C)C)C)O", printStereoWarnings=False) +smiles(R"C1C[C@@H](C([C@@H]2CC[C@]3([C@H]([C@@]12C)CC[C@@H]1[C@@]3(CC/C/1=C(/CCC=C(C)C)\C)C)C)(C)C)O", printStereoWarnings=False) +smiles(R"C1C[C@@H](C([C@@H]2CC[C@@]3([C@@H]([C@@]12C)C(=O)C=C1[C@]3(CC[C@@]2([C@H]1C[C@@](CC2)(C)C(=O)[O-])C)C)C)(C)C)O[C@@H]1[C@@H]([C@H]([C@@H]([C@H](O1)C(=O)[O-])O)O)O[C@H]1[C@@H]([C@H]([C@@H]([C@H](O1)C(=O)[O-])O)O)O", printStereoWarnings=False) +smiles(R"C1C[C@@H](C([C@@H]2CC[C@@H]3[C@]4([C@@]12C4)CC[C@]1([C@]3(CC[C@@H]1[C@@H](CC[C@H](C(=C)C)C)C)C)C)(C)C)O", printStereoWarnings=False) +smiles(R"C1C[C@@H](C[C@H]2CC[C@@H]3[C@@H]([C@@]12C)CC[C@]1(C)[C@@H]2[C@H](C[C@@H]31)O[C@@]1([C@H]2C)CC[C@@H](CO1)C)O", printStereoWarnings=False) +smiles(R"C1C[C@@H](C[C@H]2CC[C@@H]3[C@@H]([C@@]12C)CC[C@]1(C)[C@@H]2[C@H](C[C@@H]31)O[C@@]1([C@H]2C)CC[C@@H](CO1)C)O[C@@H]1O[C@@H]([C@H]([C@H](O)[C@H]1O)O)CO", printStereoWarnings=False) +smiles(R"C1C[C@H](C[C@H]2CC[C@@H]3[C@@H]([C@@]12C)CC[C@]1([C@H]3CC[C@@H]1[C@@H](CCC(=O)NCCS(=O)(=O)[O-])C)C)O", printStereoWarnings=False) +smiles(R"C1C[C@H](C[C@H]2CC[C@@H]3[C@@H]([C@@]12C)CC[C@]1([C@H]3CC[C@@H]1[C@@H](CCC(=O)NCCS(=O)(=O)[O-])C)C)OS(=O)(=O)[O-]", printStereoWarnings=False) +smiles(R"C1C[C@H](C[C@H]2CC[C@@H]3[C@@H]([C@@]12C)CC[C@]1([C@H]3CC[C@@H]1[C@@H](CCC(=O)[O-])C)C)O", printStereoWarnings=False) +smiles(R"C1C[C@@H](C[C@@H]2CC[C@@H]3[C@@H]([C@@]12C)CC[C@]1([C@H]3CC[C@@H]1C(=O)C)C)O", printStereoWarnings=False) +smiles(R"C1C[C@@H](C[C@H]2CC[C@@H]3[C@@H]([C@@]12C)CC[C@]1([C@H]3CC[C@@H]1C(=O)C)C)O", printStereoWarnings=False) +smiles(R"C1C[C@@H](C[C@@H]2CC[C@@H]3[C@@H]([C@@]12C)CC[C@]1([C@H]3CC[C@@H]1O)C)O", printStereoWarnings=False) +smiles(R"C1C[C@H](C[C@H]2CC[C@@H]3[C@@H]([C@@]12C)C[C@@H]([C@]1([C@H]3CC[C@@H]1[C@@H](CCC(=O)[O-])C)C)O)O", printStereoWarnings=False) +smiles(R"C1C[C@H](C[C@H]2C[C@H]([C@@H]3[C@@H]([C@@]12C)CC[C@]1([C@H]3CC[C@@H]1[C@@H](CCC(=O)NCC(=O)[O-])C)C)O)O", printStereoWarnings=False) +smiles(R"C1C[C@H](C[C@H]2C[C@H]([C@@H]3[C@@H]([C@@]12C)CC[C@]1([C@H]3CC[C@@H]1[C@@H](CCC(=O)NCCS(=O)(=O)[O-])C)C)O)O", printStereoWarnings=False) +smiles(R"C1C[C@H](C[C@H]2C[C@H]([C@@H]3[C@@H]([C@@]12C)CC[C@]1([C@H]3CC[C@@H]1[C@@H](CCC(=O)[O-])C)C)O)O", printStereoWarnings=False) +smiles(R"C1C[C@H](C[C@H]2C[C@H]([C@@H]3[C@@H]([C@@]12C)C[C@@H]([C@]1([C@H]3CC[C@@H]1[C@H](C)CCCC(C)C)C)O)O)O", printStereoWarnings=False) +smiles(R"C1C[C@H](C[C@H]2C[C@H]([C@@H]3[C@@H]([C@@]12C)C[C@@H]([C@]1([C@H]3CC[C@@H]1[C@@H](CCC(=O)NCC(=O)[O-])C)C)O)O)O", printStereoWarnings=False) +smiles(R"C1C[C@H](C[C@H]2C[C@H]([C@@H]3[C@@H]([C@@]12C)C[C@@H]([C@]1([C@H]3CC[C@@H]1[C@@H](CCC(=O)[O-])C)C)O)O)O", printStereoWarnings=False) +smiles(R"C1C[C@H](C[C@H]2C[C@H]([C@@H]3[C@@H]([C@@]12C)C[C@H]([C@]1([C@H]3CC[C@@H]1[C@@H](CCC(=O)[O-])C)C)O)O)O", printStereoWarnings=False) +smiles(R"C1C[C@H](C[C@H]2C[C@H]([C@@H]3[C@@H]([C@@]12C)CC(=O)[C@]1([C@H]3CC[C@@H]1[C@@H](CCC(=O)[O-])C)C)O)O", printStereoWarnings=False) +smiles(R"C1C[C@H](C[C@H]2C[C@@H](O)[C@@H]3C(C[C@H](O)[C@]4(C)[C@H](CC[C@@H]34)[C@@H](CC[C@H](C(COS(=O)(=O)[O-])CO)O)C)[C@@]12C)O", printStereoWarnings=False) +smiles(R"C1C[C@H](C[C@H]2C[C@@H](O)[C@H]3[C@@H]4CC[C@@H]([C@]4([C@H](C[C@@H]3[C@@]12C)O)C)[C@@H](CC[C@H](C(CO)CO)O)C)O", printStereoWarnings=False) +smiles(R"C1C[C@H](C[C@@H]2C[C@@H](O)[C@H]3[C@@H]4CC[C@H]([C@@H](CCCO)C)[C@]4([C@H](C[C@@H]3[C@@]12C)O)C)O", printStereoWarnings=False) +smiles(R"C1C[C@H](C[C@@H]2C[C@@H](O)[C@H]3[C@@H]4CC[C@H]([C@@H](CCCOS(=O)(=O)[O-])C)[C@]4([C@H](C[C@@H]3[C@@]12C)O)C)O", printStereoWarnings=False) +smiles(R"C1C[C@H](C[C@H]2CC(=O)[C@@H]3[C@@H]([C@@]12C)C[C@@H]([C@]1([C@H]3CC[C@@H]1[C@@H](CCC(=O)[O-])C)C)O)O", printStereoWarnings=False) +smiles(R"C1C[C@@H](C[C@H]([C@]1(C)O)O)C(=C)C", printStereoWarnings=False) +smiles(R"C1C[C@H](C[C@@H]([C@@]1(C)O)O)C(=C)C", printStereoWarnings=False) +smiles(R"C1(=C)[C@H](C([C@H](CC1)O)(C)C)CC/C(=C/CCC1=C(CC[C@@]2([C@H]1CC(CC2)(C)C)C)C)/C", printStereoWarnings=False) +smiles(R"C1C[C@@H](C[C@@H]([C@@H]1C)O)C(=C)C", printStereoWarnings=False) +smiles(R"C1C[C@@H](C[C@@H]([C@H]1C)O)C(=C)C", printStereoWarnings=False) +smiles(R"C1C[C@@H](C[C@H]([C@@H]1C)O)C(=C)C", printStereoWarnings=False) +smiles(R"C1C[C@@H](C[C@H]([C@H]1C)O)C(=C)C", printStereoWarnings=False) +smiles(R"C1C[C@H](C[C@@H]([C@@H]1C)O)C(=C)C", printStereoWarnings=False) +smiles(R"C1C[C@H](C[C@@H]([C@H]1C)O)C(=C)C", printStereoWarnings=False) +smiles(R"C1C[C@H](C[C@H]([C@@H]1C)O)C(=C)C", printStereoWarnings=False) +smiles(R"C1C[C@H](C[C@H]([C@H]1C)O)C(=C)C", printStereoWarnings=False) +smiles(R"C1C[C@@H](CC(=O)[C@@H]1C)C(=C)C", printStereoWarnings=False) +smiles(R"C1C[C@@H](CC(=O)[C@H]1C)C(=C)C", printStereoWarnings=False) +smiles(R"C1C[C@H](CC(=O)[C@@H]1C)C(=C)C", printStereoWarnings=False) +smiles(R"C1C[C@H](CC(=O)[C@H]1C)C(=C)C", printStereoWarnings=False) +smiles(R"C1C[C@H]([C@H]2[C@@]3([C@@H]1C)[C@@H]2[C@](CC3)(O)C)C(C)C", printStereoWarnings=False) +smiles(R"C1C[C@H]([C@H]2[C@@]3([C@@H]1C)[C@@H]2C(=C)CC3)C(C)C", printStereoWarnings=False) +smiles(R"C1C[C@H]([C@@H]2CC[C@]3(CC(C)([C@H]1[C@]23O)C)C)C", printStereoWarnings=False) +smiles(R"C1=C[C@@H]([C@@H](C(=C1)/C=C/C(=O)[O-])O)O", printStereoWarnings=False) +smiles(R"C1(=C[C@@H]([C@@H](C=C1C(=O)[O-])O)O)C(=O)[O-]", printStereoWarnings=False) +smiles(R"C1=C[C@@H]([C@@H](C=C1)O)O", printStereoWarnings=False) +smiles(R"C1=C([C@H]([C@@H](C=C)[C@@H](O1)O[C@H]1[C@H](O)[C@H]([C@H](O)[C@H](O1)CO)O)C[C@H]1c2c(CC[NH2+]1)c1c(cccc1)[nH]2)C(=O)OC", printStereoWarnings=False) +smiles(R"[C@@]1(C[C@H]([C@@H]([C@@H](C1)O)O)OC(=O)/C=C/c1cc(c(cc1)O)O)(O)C(=O)[O-]", printStereoWarnings=False) +smiles(R"C1(=C[C@H]([C@H]([C@@H](C1)O)O)O)C(=O)[O-]", printStereoWarnings=False) +smiles(R"[C@]1(C[C@H]([C@@H](C(=O)C1)O)O)(C(=O)[O-])O", printStereoWarnings=False) +smiles(R"c1(C[C@H](NC(=O)CC[NH3+])C(=O)[O-])cncn1C", printStereoWarnings=False) +smiles(R"c1(C[C@H]([NH3+])C=O)c[nH]cn1", printStereoWarnings=False) +smiles(R"c1(C[C@H]([NH3+])C(=O)[O-])c[nH]cn1", printStereoWarnings=False) +smiles(R"C1C[C@@H](O)[C@]2(CC[C@@H]3c4c(CC[C@H]3[C@H]12)cc(cc4)O)C", printStereoWarnings=False) +smiles(R"C1C[C@@H](O)[C@]2(CC[C@@H]3c4c(CC[C@H]3[C@H]12)cc(cc4)O[C@@H]1O[C@H](C(=O)[O-])[C@H]([C@@H]([C@H]1O)O)O)C", printStereoWarnings=False) +smiles(R"C1C[C@H](O)[C@]2([C@H]3[C@]1([C@@H]1CC[C@](CC1=C[C@H]3OC2=O)(C=C)C)C)C", printStereoWarnings=False) +smiles(R"C1C[C@H](O)C([C@@H]2CCC3=C([C@@]12C)CC[C@]1([C@]3(CC[C@@H]1[C@H](C)CCC=C(C)C)C)C)(C)C", printStereoWarnings=False) +smiles(R"C1C[C@H](O)C([C@@H]2CCC3=C([C@@]12C)CC[C@]1([C@]3(CC[C@@H]1[C@H](C)CCCC(C)C)C)C)(C)C", printStereoWarnings=False) +smiles(R"C1C[C@H](O)C([C@@H]2CCC3=C([C@@]12C)CC[C@]1([C@H]3CC[C@@H]1[C@H](C)CCC=C(C)C)C)(C)C", printStereoWarnings=False) +smiles(R"C1C[C@H](O)[C@@]([C@@H]2CCC3=C([C@@]12C)CC[C@]1([C@H]3CC[C@@H]1[C@@H](CCC=C(C)C)C)C)(C)C(=O)[O-]", printStereoWarnings=False) +smiles(R"C1C[C@H](O)[C@]([C@@H]2CC=C3[C@@H]([C@@]12C)CC[C@]1([C@H]3CC[C@@H]1[C@@H](CCCC(C)C)C)C)(C)CO", printStereoWarnings=False) +smiles(R"C1C[C@H](O)[C@@]([C@@H]2CC=C3[C@@H]([C@@]12C)CC[C@]1([C@H]3CC[C@@H]1[C@@H](CCCC(C)C)C)C)(C)C=O", printStereoWarnings=False) +smiles(R"C1C[C@H](O)C([C@@H]2CC[C@H]3[C@]4([C@](CC=C3[C@@]12C)([C@H](CC4)[C@H](C)CCC=C(C)C)C)C)(C)C", printStereoWarnings=False) +smiles(R"C1C[C@H](O)[C@H]([C@@H]2CCC3=C([C@@]12C)CC[C@]1(C3=CC[C@@H]1[C@H](C)CCC(=C)C(C)C)C)C", printStereoWarnings=False) +smiles(R"C1C[C@H](O)[C@H]([C@@H]2CCC3=C([C@@]12C)CC[C@]1([C@H]3CC[C@@H]1[C@@H](CCC=C(C)C)C)C)C", printStereoWarnings=False) +smiles(R"C1C[C@H](O)[C@H]([C@@H]2CC=C3[C@@H]([C@@]12C)CC[C@]1([C@H]3CC[C@@H]1[C@@H](CCCC(C)C)C)C)C", printStereoWarnings=False) +smiles(R"C1C[C@@H](O)[C@H]([C@@H]2CC[C@]3([C@H]([C@@]12C)[C@@H](C[C@@H]1[C@@]3(C[C@H](OC(=O)C)/C/1=C(\C(=O)[O-])/CCC=C(C)C)C)O)C)C", printStereoWarnings=False) +smiles(R"C1C[C@H](OC(=O)CCCCCCCCCCCCCCC)C([C@@H]2CCC3=C([C@@]12C)CC[C@]1([C@]3(CC[C@@H]1[C@H](C)CCC=C(C)C)C)C)(C)C", printStereoWarnings=False) +smiles(R"c1ccncc1", printStereoWarnings=False) +smiles(R"c1ccncc1C(=O)CCC[NH2+]C", printStereoWarnings=False) +smiles(R"c1cc(ncc1C(=O)CCC[NH2+]C)O", printStereoWarnings=False) +smiles(R"c1ccncc1C(=O)CCC=O", printStereoWarnings=False) +smiles(R"c1ccncc1C(=O)CCC(=O)[O-]", printStereoWarnings=False) +smiles(R"c1cc(ncc1C(=O)CCC(=O)[O-])O", printStereoWarnings=False) +smiles(R"c1(c(c(ncc1CO)C)O)C[NH3+]", printStereoWarnings=False) +smiles(R"c1c(cncc1)C(=O)N", printStereoWarnings=False) +smiles(R"c1(c(cnc(c1O)C)C=O)CO", printStereoWarnings=False) +smiles(R"c1(c(cnc(c1O)C)COP(=O)([O-])[O-])C[NH3+]", printStereoWarnings=False) +smiles(R"c1(c(cnc(c1O)C)COP(=O)([O-])[O-])CO", printStereoWarnings=False) +smiles(R"C1CC(=N[C@@H](C1)C(=O)[O-])C(=O)[O-]", printStereoWarnings=False) +smiles(R"c1cc(nc(=O)n1[C@@H]1O[C@@H]([C@H]([C@H]1O)O)COP(=O)([O-])OP(=O)([O-])OC1O[C@H](C)[C@H](C[C@@H]1O)O)N", printStereoWarnings=False) +smiles(R"c1cc(nc(=O)n1[C@@H]1O[C@@H]([C@@H](O)C1)COP(=O)([O-])[O-])N", printStereoWarnings=False) +smiles(R"c1c(c(nc(=O)n1[C@@H]1O[C@@H]([C@@H](O)C1)COP(=O)([O-])[O-])N)CO", printStereoWarnings=False) +smiles(R"c1cc(nc(=O)n1[C@@H]1O[C@@H]([C@@H](O)[C@H]1O)COP(=O)([O-])O[C@@]1(C[C@@H](O)[C@@H](O)[C@H](O1)[C@H](O)CO)C(=O)[O-])N", printStereoWarnings=False) +smiles(R"c1cc(nc(=O)n1[C@@H]1O[C@@H]([C@@H](O)[C@H]1O)COP(=O)([O-])[O-])N", printStereoWarnings=False) +smiles(R"C1CC[NH2+]C[C@@H]1C(=O)N", printStereoWarnings=False) +smiles(R"c1(C(C[NH3+])O)ccccc1", printStereoWarnings=False) +smiles(R"c1(c(c[nH]c(=O)n1)C)N", printStereoWarnings=False) +smiles(R"c1cc(N)nc(=O)n1[C@@H]1O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OP(=O)(OC1O[C@H](C)C(=O)[C@H](O)[C@H]1O)[O-])[O-]", printStereoWarnings=False) +smiles(R"c1cc(N)nc(=O)n1[C@@H]1O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OP(=O)(OC1O[C@@H]([C@H](C[C@H]1O)O)C)[O-])[O-]", printStereoWarnings=False) +smiles(R"c1cc(N)nc(=O)n1[C@@H]1O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OP(=O)(OC1O[C@@H]([C@@H](O)[C@@H]([C@H]1O)O)CO)[O-])[O-]", printStereoWarnings=False) +smiles(R"c1cc(N)nc(=O)n1[C@@H]1O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OP(=O)(OC1O[C@@H](C(=O)C[C@H]1O)C)[O-])[O-]", printStereoWarnings=False) +smiles(R"c1cc(N)nc(=O)n1[C@@H]1O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OP(=O)(OCC(O)C(O)C(CO)O)[O-])[O-]", printStereoWarnings=False) +smiles(R"c1cc(N)nc(=O)n1[C@@H]1O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OP(=O)(OCC(O)CO)[O-])[O-]", printStereoWarnings=False) +smiles(R"c1cc(N)nc(=O)n1[C@@H]1O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OP(=O)(O[C@H]1O[C@@H]([C@@H](C[C@H]1O)O)C)[O-])[O-]", printStereoWarnings=False) +smiles(R"c1cc(N)nc(=O)n1[C@@H]1O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OP(=O)(O[C@H]1O[C@@H]([C@H](C[C@H]1O)O)C)[O-])[O-]", printStereoWarnings=False) +smiles(R"c1cc(N)nc(=O)n1[C@@H]1O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OP(=O)(O[C@H]1O[C@@H](C(=O)C[C@H]1O)C)[O-])[O-]", printStereoWarnings=False) +smiles(R"c1(C/C(=N/O)/[S-])ccccc1", printStereoWarnings=False) +smiles(R"C1(CC(=O)[C@@]2(CC[C@]3([C@]4([C@@H]([C@@]5([C@H]([C@]([C@H](CC5)O)(CO)C)CC4)C)CC=C3[C@@H]2C1)C)C)C)(C)C", printStereoWarnings=False) +smiles(R"c1(cc(O)c2ccccc2c1O)C/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)\C)\C)\C)\C", printStereoWarnings=False) +smiles(R"C1(=C(C(=O)c2ccccc2C1=O)C)C/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)\C)\C)\C)\C", printStereoWarnings=False) +smiles(R"c1(cc(O)c2ccccc2c1O)C/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)\C)\C)\C)\C)\C", printStereoWarnings=False) +smiles(R"C1(=CC(=O)c2ccccc2C1=O)C/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)\C)\C)\C)\C)\C", printStereoWarnings=False) +smiles(R"c1(c(c(O)c2ccccc2c1O)C)C/C=C(/[CH])\C", printStereoWarnings=False) +smiles(R"C1(=C(C(=O)c2ccccc2C1=O)C)C/C=C(/[CH])\C", printStereoWarnings=False) +smiles(R"c1(cc(O)c2ccccc2c1O)C/C=C(/[CH])\C", printStereoWarnings=False) +smiles(R"C1(=CC(=O)c2ccccc2C1=O)C/C=C(/[CH])\C", printStereoWarnings=False) +smiles(R"C1CC(=O)[C@]2(CC[C@@H]3c4c(CC[C@H]3[C@H]12)cc(cc4)O)C", printStereoWarnings=False) +smiles(R"C1CC(=O)[C@]2(CC[C@@H]3c4c(CC[C@H]3[C@H]12)cc(cc4)OS(=O)(=O)[O-])C", printStereoWarnings=False) +smiles(R"C1CC(=O)[C@]2([C@H]3[C@]1([C@@H]1CC[C@](CC1=C[C@H]3OC2=O)(C=C)C)C)C", printStereoWarnings=False) +smiles(R"c1(c(c(=O)c2c(o1)cc(cc2O)OC)OC)c1cc(c(cc1)OC)O", printStereoWarnings=False) +smiles(R"c1(c(c(=O)c2c(o1)cc(cc2O)[O-])OS(=O)(=O)[O-])c1cc(c(cc1)O)O", printStereoWarnings=False) +smiles(R"c1(c(c(=O)c2c(o1)cc(cc2O)[O-])OS(=O)(=O)[O-])c1cc(c(cc1)O)OS(=O)(=O)[O-]", printStereoWarnings=False) +smiles(R"c1(c(c(=O)c2c(o1)cc(cc2O)[O-])OS(=O)(=O)[O-])c1cc(c(cc1)OS(=O)(=O)[O-])O", printStereoWarnings=False) +smiles(R"c1(c(c(=O)c2c(o1)cc(cc2O)OS(=O)(=O)[O-])OS(=O)(=O)[O-])c1cc(c(cc1)O)OS(=O)(=O)[O-]", printStereoWarnings=False) +smiles(R"C1(=CC(OC(=C1)C(=O)[O-])O)C(=O)[O-]", printStereoWarnings=False) +smiles(R"C1=CC(=O)C(=C2[C@]1(CC[C@H]1[C@@H](C(=O)O[C@H]21)C)C)C", printStereoWarnings=False) +smiles(R"C1CC(=O)C(=C2[C@]1(CC[C@H]1[C@@H](C(=O)O[C@H]21)C)C)C", printStereoWarnings=False) +smiles(R"C1CC(=O)C=C2CC[C@@H]3[C@@H]([C@@]12C)CC[C@]1([C@H]3CC[C@@H]1[C@@H](CCC[C@H](C)C(=O)[O-])C)C", printStereoWarnings=False) +smiles(R"C1CC(=O)C=C2CC[C@@H]3[C@@H]([C@@]12C)CC[C@]1([C@H]3CC[C@@H]1C(O)C=O)C", printStereoWarnings=False) +smiles(R"C1CC(=O)C=C2C=C[C@@H]3[C@@H]([C@@]12C)C[C@@H]([C@]1([C@H]3CC[C@@H]1[C@@H](CCC(=O)[O-])C)C)O", printStereoWarnings=False) +smiles(R"C1CC(=O)C=C2C[C@H]([C@H]3[C@H]4[C@]([C@H](CC4)[C@H](C)CCCC(C)C)(C)[C@H](C[C@@H]3[C@@]12C)O)O", printStereoWarnings=False) +smiles(R"C1CC(=O)C=C2C[C@H]([C@@H]3[C@@H]([C@@]12C)CC[C@]1([C@H]3CC[C@@H]1[C@H](C)CCCC(C)C)C)O", printStereoWarnings=False) +smiles(R"C1CC(=O)C=C2C[C@H]([C@@H]3[C@@H]([C@@]12C)C[C@@H]([C@]1([C@H]3CC[C@@H]1[C@@H](CCC(=O)[O-])C)C)O)O", printStereoWarnings=False) +smiles(R"c1cc(O)c(cc1/C=C/C(=O)[O-])OC", printStereoWarnings=False) +smiles(R"c1c(c(O)ccc1C=O)OC", printStereoWarnings=False) +smiles(R"C1=CC(=O)C=CC1=O", printStereoWarnings=False) +smiles(R"C1(=CC(=O)C(=C(C1=O)C)C)C/C=C(/CC/C=C(/CC/C=C(/CC/C=C(\C)/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)\C)\C)\C)\C)\C", printStereoWarnings=False) +smiles(R"C1(=C(C(=O)C(=CC1=O)C/C=C(/[CH])\C)C)C", printStereoWarnings=False) +smiles(R"C1=CC(=O)C=C(C1=O)[O-]", printStereoWarnings=False) +smiles(R"C1(=CC(=O)C=C(C1=O)OC)C/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)\C)\C)\C)\C)\C", printStereoWarnings=False) +smiles(R"C1(=C(C(=O)C=C(C1=O)OC)C)C/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)\C)\C)\C)\C)\C", printStereoWarnings=False) +smiles(R"C1(=C(C(=O)C(=C(C1=O)OC)OC)C)C/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)\C)\C)\C)\C)\C", printStereoWarnings=False) +smiles(R"C1(=C(C(=O)C(=C(C1=O)OC)[O-])C)C/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)\C)\C)\C)\C)\C)\C", printStereoWarnings=False) +smiles(R"C1(=C(C(=O)C(=C(C1=O)OC)OC)C)C/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)\C)\C)\C)\C)\C)\C", printStereoWarnings=False) +smiles(R"C1(=C(C(=O)C(=C(C1=O)OC)OC)C)C/C=C(/[CH])\C", printStereoWarnings=False) +smiles(R"C1(=CC(=O)C(=C(C)C)CC1)C", printStereoWarnings=False) +smiles(R"C1CC(=O)C[C@H]2[C@@]1(C)[C@H]1CC[C@]3([C@@H](CC[C@@H]3[C@H](C)[C@@H](O)[C@@H]([C@H](C(C)C)C)O)[C@@H]1CC2)C", printStereoWarnings=False) +smiles(R"C1CC(=O)C([C@@H]2CCC3=C([C@@]12C)CC[C@]1([C@H]3CC[C@@H]1[C@@H](CCC=C(C)C)C)C)C", printStereoWarnings=False) +smiles(R"C1CC(=O)C[C@@H]2CC=C3[C@@H]([C@@]12C)CC[C@]1([C@H]3CC[C@@H]1[C@@H](CCCC(C)C)C)C", printStereoWarnings=False) +smiles(R"C1CC(=O)C[C@@H]2CC=C3[C@@H]([C@@]12C)CC[C@]1([C@H]3CC[C@@H]1[C@@H](CCC[C@H](C)C(=O)[O-])C)C", printStereoWarnings=False) +smiles(R"C1CC(=O)C[C@@H]2CC[C@@H]3[C@@H]([C@@]12C)CC[C@]1([C@H]3CCC1=O)C", printStereoWarnings=False) +smiles(R"C1CC(=O)C[C@H]2CC[C@@H]3[C@@H]([C@@]12C)CC[C@]1([C@H]3CCC1=O)C", printStereoWarnings=False) +smiles(R"C1CC(=O)C[C@@H]2CC[C@@H]3[C@@H]([C@@]12C)CC[C@]1([C@H]3CC[C@@H]1[C@H](C)CCCC(C)C)C", printStereoWarnings=False) +smiles(R"C1CC(=O)C[C@H]2CC[C@@H]3[C@@H]([C@@]12C)CC[C@]1([C@H]3CC[C@@H]1[C@H](C)CCCC(C)C)C", printStereoWarnings=False) +smiles(R"C1CC(=O)C[C@H]2CC[C@@H]3[C@@H]([C@@]12C)CC[C@]1([C@H]3CC[C@@H]1[C@@H](CCC(=O)[O-])C)C", printStereoWarnings=False) +smiles(R"C1CC(=O)C[C@@H]2CC[C@@H]3[C@@H]([C@@]12C)CC[C@@]1([C@H](CC[C@@H]31)O)C", printStereoWarnings=False) +smiles(R"c1c(c(=O)ccn1C[C@@H](C(=O)[O-])[NH3+])[O-]", printStereoWarnings=False) +smiles(R"C1CC(=O)[C@H]([C@@H]2CC=C3[C@@H]([C@@]12C)CC[C@]1([C@H]3CC[C@@H]1[C@@H](CCCC(C)C)C)C)C", printStereoWarnings=False) +smiles(R"C1(=CC(=O)[C@H]([C@@H](C1)O)O)C(=O)[O-]", printStereoWarnings=False) +smiles(R"C1=C(C(=O)[C@@H]([C@H]([C@@H]1O)O)O)[O-]", printStereoWarnings=False) +smiles(R"c1(cc(oc(=O)c1)C)[O-]", printStereoWarnings=False) +smiles(R"c1(CC(=O)C(=O)[O-])cc(c(cc1)O)O", printStereoWarnings=False) +smiles(R"C1CC(=O)N(C1=O)CC", printStereoWarnings=False) +smiles(R"C1CC(=O)NCCCCCC(=O)NCCC1", printStereoWarnings=False) +smiles(R"c1(c(c(=O)[nH]c(n1)N)N)NC[C@@H]([C@@H]([C@@H](COP(=O)([O-])[O-])O)O)O", printStereoWarnings=False) +smiles(R"c1c(c(=O)[nH]c(=O)n1[C@H]1C[C@H](O)[C@H](O1)COP(=O)(OP(=O)([O-])OC1O[C@@H]([C@@H]([NH3+])[C@@H]([C@H]1O)O)C)[O-])C", printStereoWarnings=False) +smiles(R"c1c(c(=O)[nH]c(=O)n1[C@H]1C[C@H](O)[C@H](O1)COP(=O)(OP(=O)([O-])O[C@H]1O[C@@H]([C@@H]([NH3+])[C@@H]([C@H]1O)O)C)[O-])C", printStereoWarnings=False) +smiles(R"c1cc(=O)[nH]c(=O)n1[C@H]1[C@H](O)[C@H](O)[C@@H](COP(=O)(OP(=O)([O-])O[C@@H]2[C@H](O)[C@H]([C@@H](CO2)O)O)[O-])O1", printStereoWarnings=False) +smiles(R"c1c(c(=O)[nH]c(=O)n1[C@@H]1O[C@@H]([C@H](C1)O)COP(=O)([O-])[O-])C", printStereoWarnings=False) +smiles(R"c1cc(=O)[nH]c(=O)n1[C@@H]1O[C@@H]([C@H]([C@H]1O)O)COP(=O)([O-])OP(=O)([O-])OC1OC(C)C(C(C1O)O)O", printStereoWarnings=False) +smiles(R"c1cc(=O)[nH]c(=O)n1[C@@H]1O[C@@H]([C@H]([C@H]1O)O)COP(=O)([O-])OP(=O)([O-])OC1OC[C@@H]([C@@H]([C@H]1O)O)O", printStereoWarnings=False) +smiles(R"c1cc(=O)[nH]c(=O)n1[C@@H]1O[C@@H]([C@H]([C@H]1O)O)COP(=O)([O-])OP(=O)([O-])OC1O[C@@H](C)[C@@H]([C@H]([C@H]1O)O)O", printStereoWarnings=False) +smiles(R"c1cc(=O)[nH]c(=O)n1[C@@H]1O[C@@H]([C@H]([C@H]1O)O)COP(=O)([O-])OP(=O)([O-])O[C@@H]1[C@H](O)[C@@H](O)[C@@H](O1)CO", printStereoWarnings=False) +smiles(R"c1cc(=O)[nH]c(=O)n1[C@@H]1O[C@@H]([C@H]([C@H]1O)O)COP(=O)([O-])OP(=O)([O-])O[C@H]1OC[C@@H]([C@@H]([C@H]1O)O)O", printStereoWarnings=False) +smiles(R"c1cc(=O)[nH]c(=O)n1[C@@H]1O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OP(=O)(OC1O[C@@H]([C@@H]([C@@H]([C@H]1NC(=O)C)O)OS(=O)(=O)[O-])CO)[O-])[O-]", printStereoWarnings=False) +smiles(R"c1cc(=O)[nH]c(=O)n1[C@@H]1O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OP(=O)(OC1O[C@@H]([C@@H]([C@@H]([C@H]1NC(=O)C)O)OS(=O)(=O)[O-])COS(=O)(=O)[O-])[O-])[O-]", printStereoWarnings=False) +smiles(R"c1cc(=O)[nH]c(=O)n1[C@@H]1O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OP(=O)(O[C@H]1O[C@@H]([C@@H]([C@@H]([C@H]1NC(=O)C)O)O)CO)[O-])[O-]", printStereoWarnings=False) +smiles(R"c1cc(=O)[nH]c(=O)n1[C@@H]1O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OP(=O)([O-])O[C@@H]1[C@@H]([C@H]([C@H]([C@@H](O1)C)NC(=O)C)O)NC(=O)C)[O-]", printStereoWarnings=False) +smiles(R"c1cc(=O)[nH]c(=O)n1[C@@H]1O[C@@H]([C@@H](O)[C@H]1O)COP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"c1cc(=O)[nH]c(=O)n1[C@@H]1O[C@@H]([C@@H](O)[C@H]1O)COP(=O)(OP(=O)(OC1O[C@H](C)C(=O)[C@H](O)[C@H]1O)[O-])[O-]", printStereoWarnings=False) +smiles(R"c1cc(=O)[nH]c(=O)n1[C@@H]1O[C@@H]([C@@H](O)[C@H]1O)COP(=O)(OP(=O)(OC1O[C@@H]([C@H]([C@@H]([C@H]1NC(=O)CC(CCCCCCCCCCC)O)OC(=O)CC(O)CCCCCCCCCCC)O)CO)[O-])[O-]", printStereoWarnings=False) +smiles(R"c1cc(=O)[nH]c(=O)n1[C@@H]1O[C@@H]([C@@H](O)[C@H]1O)COP(=O)(OP(=O)(O[C@H]1O[C@@H]([C@H]([C@@H]([C@H]1NC(=O)C)OC(=C)C(=O)[O-])O)CO)[O-])[O-]", printStereoWarnings=False) +smiles(R"c1cc(=O)[nH]c(=O)n1[C@@H]1O[C@@H]([C@@H](O)[C@H]1O)COP(=O)(OP(=O)(O[C@H]1O[C@@H]([C@H]([C@@H]([C@H]1NC(=O)C)O)[NH3+])C)[O-])[O-]", printStereoWarnings=False) +smiles(R"c1cc(=O)[nH]c(=O)n1[C@@H]1O[C@@H]([C@@H](O)[C@H]1O)COP(=O)(OP(=O)(O[C@H]1O[C@@H]([C@H]([C@@H]([C@@H]1NC(=O)C)O)O)CO)[O-])[O-]", printStereoWarnings=False) +smiles(R"c1cc(=O)[nH]c(=O)n1[C@@H]1O[C@@H]([C@@H](O)[C@H]1O)COP(=O)(OP(=O)(O[C@H]1O[C@@H]([C@H]([C@@H]([C@H]1[NH3+])OC(=O)C[C@H](O)CCCCCCCCCCC)O)CO)[O-])[O-]", printStereoWarnings=False) +smiles(R"c1cc(=O)[nH]c(=O)n1[C@@H]1O[C@@H]([C@@H](O)[C@H]1O)COP(=O)(OP(=O)(O[C@H]1O[C@@H]([C@H]([C@H](O)[C@H]1NC(=O)C)O)COP(=O)([O-])O[C@@H]1[C@@H]([C@@H](O)[C@H]([C@@H](CO)O1)O)O)[O-])[O-]", printStereoWarnings=False) +smiles(R"c1cc(=O)[nH]c(=O)n1[C@@H]1O[C@@H]([C@@H](O)[C@H]1O)COP(=O)(OP(=O)(O[C@@H]1O[C@@H](C(=O)[C@@H]([C@H]1NC(=O)C)O)C)[O-])[O-]", printStereoWarnings=False) +smiles(R"c1(cc(=O)[nH]c(=O)[nH]1)C(=O)[O-]", printStereoWarnings=False) +smiles(R"c1(c(c(=O)[nH]c(=O)[nH]1)N)NC[C@@H]([C@@H]([C@@H](COP(=O)([O-])[O-])O)O)O", printStereoWarnings=False) +smiles(R"c1(c(C(=O)OCC(CCCC)CC)cccc1)C(=O)[O-]", printStereoWarnings=False) +smiles(R"C1(=CC(=O)O[C@@H](C1(C)C)CC(=O)SCCNC(=O)CCNC(=O)[C@@H](C(COP(=O)(OP(=O)(OC[C@H]1O[C@H]([C@@H]([C@@H]1OP(=O)([O-])[O-])O)n1c2c(nc1)c(ncn2)N)[O-])[O-])(C)C)O)C", printStereoWarnings=False) +smiles(R"C\1(=C\C(=O)[O-])/OC(=O)C=C1", printStereoWarnings=False) +smiles(R"C1([C@H]2[C@](CCC1)([C@H](C(=CC2)C)CO)C)(C)C", printStereoWarnings=False) +smiles(R"C1([C@H]2C(=C)CC[C@@H]1C2)(C)C", printStereoWarnings=False) +smiles(R"C1([C@H]2CCC(=C)[C@@H]1C2)(C)C", printStereoWarnings=False) +smiles(R"C1[C@@H]2C(=C)[C@H](CC[C@]2([C@H]([C@@H](C2=C([C@H](C[C@@H]1C2(C)C)OC(=O)C)C)OC(=O)C)OC(=O)C)C)OC(=O)C", printStereoWarnings=False) +smiles(R"C1[C@@H]2C(=C)[C@H](C[C@@H]([C@]2([C@H]([C@@H](C2=C([C@H](C[C@@H]1C2(C)C)OC(=O)C)C)OC(=O)C)OC(=O)C)C)O)OC(=O)C", printStereoWarnings=False) +smiles(R"C1([C@H]2[C@@]([C@@H]3[C@]([C@@]4(CC[C@]5(CCC(C=C5[C@H]4CC3)(C)C)C)C)(CC2)C)(CC[C@@H]1O)C)(C)C", printStereoWarnings=False) +smiles(R"C1([C@H]2[C@@]([C@@H]3[C@@](CC2)([C@]2(C(=CC3)[C@H]3[C@@](CC2)([C@@H](CC(C3)(C)C)O)C)C)C)(CC[C@@H]1O)C)(C)C", printStereoWarnings=False) +smiles(R"[C@@]1([C@H]2[C@@]([C@@H]3[C@@](CC2)([C@]2(C(=CC3)[C@H]3[C@@](CC2)([C@@H](CC(C3)(C)C)O)C)C)C)(CC[C@@H]1O[C@H]1[C@@H]([C@H]([C@@H]([C@H](O1)C(=O)[O-])O)O)O[C@H]1[C@@H]([C@H]([C@H]([C@H](O1)CO)O)O)O[C@H]1[C@@H]([C@@H]([C@H]([C@@H](O1)C)O)O)O)C)(CO)C", printStereoWarnings=False) +smiles(R"C1[C@@H]2C([C@H](C(=C1)C)C2)(C)C", printStereoWarnings=False) +smiles(R"C1[C@H]2C[C@H]([C@@H]3[C@@H]([C@]2(CC[C@H]1O)C)C[C@H](O)[C@@]1(C)[C@H]3CC[C@@H]1[C@@H](CCC[C@@H](C)C=O)C)O", printStereoWarnings=False) +smiles(R"C1[C@H]2C[C@H]([C@@H]3[C@@H]([C@]2(CC[C@H]1O)C)C[C@H](O)[C@@]1(C)[C@H]3CC[C@@H]1[C@@H](CCC[C@@H](C)CO)C)O", printStereoWarnings=False) +smiles(R"C1[C@H]2[C@@H]3[C@]2([C@]([C@H]1C3)(C)CCC=C(C)C)C", printStereoWarnings=False) +smiles(R"C1([C@H]2[C@@H](C(=CO1)C)CC[C@@H]2C)O", printStereoWarnings=False) +smiles(R"C1[C@H]2[C@H](O)C[C@](C1=O)(C)C2(C)C", printStereoWarnings=False) +smiles(R"C1[C@@H]2C(O[C@](C)(CC2)C1=O)(C)C", printStereoWarnings=False) +smiles(R"C1[C@@H]2C(O[C@](C)(CC2)[C@@H]1O)(C)C", printStereoWarnings=False) +smiles(R"C1[C@@H]2C(O[C@](C)(CC2)[C@H]1O)(C)C", printStereoWarnings=False) +smiles(R"C1[C@@H]2N3C/C(=C/C)/[C@H](C[C@H]3c3c1c1c(cccc1)[nH]3)[C@@]2(C=O)C(=O)OC", printStereoWarnings=False) +smiles(R"C1[C@H]2N3C/C(=C/C)/[C@H](C[C@H]3c3c1c1c(cccc1)[nH]3)[C@H]2CO", printStereoWarnings=False) +smiles(R"C1[C@@H]2N3C/C(=C/C)/[C@H](C[C@H]3c3c1c1c(ccc(c1)O)[nH]3)[C@H]2CO", printStereoWarnings=False) +smiles(R"C1[C@H]2O[C@@H]1O[C@@H]([C@H]2C/C=C\CCCC(=O)[O-])/C=C/[C@H](CCCCC)O", printStereoWarnings=False) +smiles(R"c1([C@@H]2O[C@@H]([C@H]([C@@H]([C@H]2O)O)O)CO)c(c2c(cc1[O-])oc(cc2=O)c1ccc(cc1)O)O", printStereoWarnings=False) +smiles(R"C1[C@@H]2OO[C@H]1[C@@H]([C@H]2C/C=C\CCCC(=O)NCCO)/C=C/[C@H](CCCCC)O", printStereoWarnings=False) +smiles(R"C1[C@@H]2OO[C@H]1[C@@H]([C@H]2C/C=C\CCCC(=O)[O-])/C=C/[C@H](CCCCC)O", printStereoWarnings=False) +smiles(R"C1[C@@H]([C@@]2([C@@H]([C@]3([C@@H]1OC3)OC(=O)C)[C@@H]([C@@]1(C[C@@H](C(=C(C1(C)C)[C@H](C2=O)OC(=O)C)C)O)O)OC(=O)c1ccccc1)C)O", printStereoWarnings=False) +smiles(R"C1[C@@H]([C@@]2([C@@H]([C@]3([C@@H]1OC3)OC(=O)C)[C@@H]([C@@]1(C[C@@H](C(=C(C1(C)C)[C@H](C2=O)O)C)O)O)O)C)O", printStereoWarnings=False) +smiles(R"C1[C@@H]([C@@]2([C@@H]([C@]3([C@@H]1OC3)OC(=O)C)[C@@H]([C@@]1(C[C@@H](C(=C(C1(C)C)[C@@H](O)C2=O)C)O)O)OC(=O)c1ccccc1)C)O", printStereoWarnings=False) +smiles(R"C1[C@@H](CC(=C(C1(C)C)/C=C/C(=C/C=C\C(=C\C=O)\C)/C)C)O", printStereoWarnings=False) +smiles(R"C1[C@H](CC=C(C1)C)[C@@](CCC=C(C)C)(C)O", printStereoWarnings=False) +smiles(R"C1[C@@H](CC(=C(C1(C)C)/C=C/C(=O)C)C)O", printStereoWarnings=False) +smiles(R"[C@@]1([C@H](C=C(C=C1)C(=O)[O-])O)(C(=O)[O-])O", printStereoWarnings=False) +smiles(R"C1([C@H](CC=C([C@H]1CC/C(=C/CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)/C)C)O)(C)C", printStereoWarnings=False) +smiles(R"C1[C@@H](CC([C@H]2CC[C@@]34C=C([C@@H](CC[C@H]4[C@]12C)C3)C)(C)C)O", printStereoWarnings=False) +smiles(R"C1[C@@H](CC[C@@](O)(C)C1=O)C(=C)C", printStereoWarnings=False) +smiles(R"C1[C@H](CC[C@](O)(C)C1=O)C(=C)C", printStereoWarnings=False) +smiles(R"C1[C@H](C[C@@H]2C(=C(C1)C)CC[C@@H]2C)C(=C)C", printStereoWarnings=False) +smiles(R"C1[C@@H](C[C@H]2CC[C@@H]1[NH+]2C)O", printStereoWarnings=False) +smiles(R"C1[C@H](C[C@H]2CC[C@@H]1[NH+]2C)O", printStereoWarnings=False) +smiles(R"C1[C@H](C[C@H]2C[C@H]([C@@H]3[C@@H]([C@]2(C1)C)CC[C@]1([C@H]3CC[C@@H]1[C@@H](CCC[C@@H](C)C(=O)[O-])C)C)O)O", printStereoWarnings=False) +smiles(R"C1[C@H](C[C@H]2C[C@H]([C@@H]3[C@@H]([C@]2(C1)C)C[C@@H]([C@]1([C@H]3CC[C@@H]1[C@@H](CCC[C@@H](C)C(=O)[O-])C)C)O)O)O", printStereoWarnings=False) +smiles(R"C1[C@H](C[C@H](N=C1C(=O)[O-])C(=O)[O-])O", printStereoWarnings=False) +smiles(R"C1[C@H](CC[NH+]2C[C@@H]3C[C@@H](CN4C(=O)CCC[C@H]34)[C@@H]12)O", printStereoWarnings=False) +smiles(R"C1[C@@H](C([C@](O1)(C)O)(O)O)O", printStereoWarnings=False) +smiles(R"C1([C@@H]([C@H]1C=C(C)C)COP(=O)(OP(=O)([O-])[O-])[O-])(C)C", printStereoWarnings=False) +smiles(R"C1([C@H]([C@H]([C@@]2(CC[C@]3([C@]4([C@@H]([C@@]5([C@H]([C@]([C@H](CC5)O)(CO)C)CC4)C)CC=C3[C@@H]2C1)C)C)C)O)O)(C)C", printStereoWarnings=False) +smiles(R"C1[C@@H]([C@@H](C[C@H]2C(=O)C=C3[C@@H]([C@@]12C)CC[C@]1([C@]3(CC[C@@H]1[C@](C)([C@@H](CCC(C)(C)O)O)O)O)C)O)O", printStereoWarnings=False) +smiles(R"C1[C@H]([C@@H]([C@@H](C=C1C(=O)[O-])O)O)OC(=O)/C=C/c1ccc(cc1)O", printStereoWarnings=False) +smiles(R"C1[C@@H]([C@H]([C@@H]([C@H]([C@@H]1[NH3+])O)O)O[C@@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)[NH3+]", printStereoWarnings=False) +smiles(R"C1([C@@H]([C@H]([C@@H]([C@@H](CO)O1)O)O)NS(=O)(=O)[O-])O", printStereoWarnings=False) +smiles(R"C1[C@H]([C@H]([C@@H]([C@@H](CO)O1)O)O)O", printStereoWarnings=False) +smiles(R"C1([C@H]([C@H]([C@@H]([C@H](O1)[C@H](CO)O)O)O)O)OC[C@H]1OC(O[C@H]2C(O[C@@H]3[C@H](C(O[C@@H]4[C@@H]([C@H](O[C@@H]([C@H]4OP(=O)([O-])[O-])[C@H](COC4[C@H]([C@H]([C@@H]([C@H](O4)[C@H](CO)O)O)O)O)O)O[C@@H]4[C@@H]([C@@H](O[C@@H]5[C@@H](C[C@](O[C@@H]5[C@@H](CO)O)(OC[C@@H]5[C@H]([C@@H]([C@H]([C@@H](O5)OC[C@@H]5[C@H]([C@@H]([C@H]([C@H](O5)OP(=O)([O-])[O-])NC(=O)C[C@@H](CCCCCCCCCCC)O)OC(=O)C[C@@H](CCCCCCCCCCC)O)O)NC(=O)C[C@@H](CCCCCCCCCCC)OC(=O)CCCCCCCCCCC)OC(=O)C[C@@H](CCCCCCCCCCC)OC(=O)CCCCCCCCCCCCC)OP(=O)([O-])[O-])C(=O)[O-])O[C@@]5(C(=O)[O-])O[C@@H]([C@@H]([C@@H](C5)O)O)[C@@H](CO)O)O[C@@H]([C@H]4OP(=O)([O-])[O-])[C@H](CO)O)O)O)O[C@@H]([C@H]3O)COC3[C@@H]([C@H]([C@H]([C@H](O3)CO)O)O)O)O)O[C@@H]([C@H]([C@@H]2O)O)CO)[C@@H]([C@H]([C@@H]1O)O)O", printStereoWarnings=False) +smiles(R"C1([C@H]([C@H]([C@@H]([C@H](O1)[C@H](CO)O)O)O)O)OC[C@@H]([C@H]1O[C@@H]([C@H]([C@H]([C@@H]1OP(=O)([O-])[O-])OC1[C@@H]([C@H]([C@@H]([C@H](O1)COC1[C@@H]([C@H]([C@H]([C@H](O1)CO)O)O)O)O)OC1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)OC1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)O)O)O[C@@H]1[C@@H]([C@@H](O[C@@H]2[C@@H](C[C@](O[C@@H]2[C@@H](CO)O)(OC[C@@H]2[C@H]([C@@H]([C@H]([C@@H](O2)OC[C@@H]2[C@H]([C@@H]([C@H]([C@H](O2)OP(=O)([O-])[O-])NC(=O)C[C@@H](CCCCCCCCCCC)O)OC(=O)C[C@@H](CCCCCCCCCCC)O)O)NC(=O)C[C@@H](CCCCCCCCCCC)OC(=O)CCCCCCCCCCC)OC(=O)C[C@@H](CCCCCCCCCCC)OC(=O)CCCCCCCCCCCCC)OP(=O)([O-])[O-])C(=O)[O-])O[C@@]2(C(=O)[O-])O[C@@H]([C@@H]([C@@H](C2)O)O)[C@@H](CO)O)O[C@@H]([C@H]1OP(=O)([O-])[O-])[C@H](CO)O)O)O", printStereoWarnings=False) +smiles(R"C1([C@H]([C@H]([C@@H]([C@H](O1)[C@H](CO)O)O)O)O)OC[C@@H]([C@H]1O[C@@H]([C@H]([C@H]([C@@H]1OP(=O)([O-])[O-])OC1[C@@H]([C@H]([C@@H]([C@H](O1)COC1[C@@H]([C@H]([C@H]([C@H](O1)CO)O)O)O)O)OC1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)O)O)O[C@@H]1[C@@H]([C@@H](O[C@@H]2[C@@H](C[C@](O[C@@H]2[C@@H](CO)O)(OC[C@@H]2[C@H]([C@@H]([C@H]([C@@H](O2)OC[C@@H]2[C@H]([C@@H]([C@H]([C@H](O2)OP(=O)([O-])[O-])NC(=O)C[C@@H](CCCCCCCCCCC)O)OC(=O)C[C@@H](CCCCCCCCCCC)O)O)NC(=O)C[C@@H](CCCCCCCCCCC)OC(=O)CCCCCCCCCCC)OC(=O)C[C@@H](CCCCCCCCCCC)OC(=O)CCCCCCCCCCCCC)OP(=O)([O-])[O-])C(=O)[O-])O[C@@]2(C(=O)[O-])O[C@@H]([C@@H]([C@@H](C2)O)O)[C@@H](CO)O)O[C@@H]([C@H]1OP(=O)([O-])[O-])[C@H](CO)O)O)O", printStereoWarnings=False) +smiles(R"C1([C@H]([C@H]([C@@H]([C@H](O1)[C@H](CO)O)O)O)O)OC[C@@H]([C@H]1O[C@@H]([C@H]([C@H]([C@@H]1OP(=O)([O-])[O-])OC1[C@@H]([C@H]([C@@H]([C@H](O1)COC1[C@@H]([C@H]([C@H]([C@H](O1)CO)O)O)O)O)O)O)O)O[C@@H]1[C@@H]([C@@H](O[C@@H]2[C@@H](C[C@](O[C@@H]2[C@@H](CO)O)(OC[C@@H]2[C@H]([C@@H]([C@H]([C@@H](O2)OC[C@@H]2[C@H]([C@@H]([C@H]([C@H](O2)OP(=O)([O-])[O-])NC(=O)C[C@@H](CCCCCCCCCCC)O)OC(=O)C[C@@H](CCCCCCCCCCC)O)O)NC(=O)C[C@@H](CCCCCCCCCCC)OC(=O)CCCCCCCCCCC)OC(=O)C[C@@H](CCCCCCCCCCC)OC(=O)CCCCCCCCCCCCC)OP(=O)([O-])[O-])C(=O)[O-])O[C@@]2(C(=O)[O-])O[C@@H]([C@@H]([C@@H](C2)O)O)[C@@H](CO)O)O[C@@H]([C@H]1OP(=O)([O-])[O-])[C@H](CO)O)O)O", printStereoWarnings=False) +smiles(R"C1([C@H]([C@H]([C@@H]([C@H](O1)[C@H](CO)O)O)O)O)OC[C@@H]([C@H]1O[C@@H]([C@H]([C@H]([C@@H]1OP(=O)([O-])[O-])OC1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)O)O[C@@H]1[C@@H]([C@@H](O[C@@H]2[C@@H](C[C@](O[C@@H]2[C@@H](CO)O)(OC[C@@H]2[C@H]([C@@H]([C@H]([C@@H](O2)OC[C@@H]2[C@H]([C@@H]([C@H]([C@H](O2)OP(=O)([O-])[O-])NC(=O)C[C@@H](CCCCCCCCCCC)O)OC(=O)C[C@@H](CCCCCCCCCCC)O)O)NC(=O)C[C@@H](CCCCCCCCCCC)OC(=O)CCCCCCCCCCC)OC(=O)C[C@@H](CCCCCCCCCCC)OC(=O)CCCCCCCCCCCCC)OP(=O)([O-])[O-])C(=O)[O-])O[C@@]2(C(=O)[O-])O[C@@H]([C@@H]([C@@H](C2)O)O)[C@@H](CO)O)O[C@@H]([C@H]1OP(=O)([O-])[O-])[C@H](CO)O)O)O", printStereoWarnings=False) +smiles(R"C1([C@@H]([C@H]([C@@H]([C@H](O1)CO[C@@H]1[C@@H]([C@H]([C@H]([C@H](O1)CO)O)O)O)O)O)O)O", printStereoWarnings=False) +smiles(R"C1([C@@H]([C@H]([C@@H]([C@H](O1)COC(=O)C)O)O)O)O", printStereoWarnings=False) +smiles(R"C1([C@@H]([C@H]([C@@H]([C@H](O1)CO)O[C@@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)O)O)O", printStereoWarnings=False) +smiles(R"C1([C@@H]([C@H]([C@@H]([C@H](O1)CO)O[C@H]1[C@@H]([C@H]([C@H]([C@H](O1)CO)O)O)O)O)O)O", printStereoWarnings=False) +smiles(R"C1([C@@H]([C@H]([C@@H]([C@H](O1)CO)O[C@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)O)O)O", printStereoWarnings=False) +smiles(R"C1([C@@H]([C@H]([C@@H]([C@H](O1)CO)O[C@@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)O)O)OC(=O)C", printStereoWarnings=False) +smiles(R"C1([C@@H]([C@H]([C@@H]([C@H](O1)CO)O)OC(C(=O)N[C@H](C(=O)NC(CCC(=O)N[C@@H](CCCC[NH3+])C(=O)N[C@H](C)C(=O)N[C@@H](C(=O)[O-])C)C(=O)[O-])C)C)NC(=O)C)OP(=O)(OP(=O)(OC[C@H]1O[C@H]([C@@H]([C@@H]1O)O)n1c(=O)[nH]c(=O)cc1)[O-])[O-]", printStereoWarnings=False) +smiles(R"C1([C@@H]([C@H]([C@@H]([C@H](O1)CO)O)OC(C(=O)N[C@H](C(=O)NC(CCC(=O)N[C@@H](CCCC[NH3+])C(=O)[O-])C(=O)[O-])C)C)NC(=O)C)OP(=O)(OP(=O)(OC[C@H]1O[C@H]([C@@H]([C@@H]1O)O)n1c(=O)[nH]c(=O)cc1)[O-])[O-]", printStereoWarnings=False) +smiles(R"C1([C@@H]([C@H]([C@H]([C@H](O1)CO)O)O[C@H]1[C@@H]([C@H]([C@H]([C@H](O1)CO)O)O)O)NC(=O)C)O", printStereoWarnings=False) +smiles(R"C1([C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O[C@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)O)O", printStereoWarnings=False) +smiles(R"C1([C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O[C@H](C)C(=O)N[C@@H](C)C(=O)N[C@H](CCC(=O)N[C@@H](C(=O)[O-])CCC[C@@H](C(=O)[O-])[NH3+])C(=O)[O-])NC(=O)C)OP(=O)(OP(=O)(OC[C@H]1O[C@H]([C@@H]([C@@H]1O)O)n1c(=O)[nH]c(=O)cc1)[O-])[O-]", printStereoWarnings=False) +smiles(R"C1([C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O[C@H](C)C(=O)N[C@@H](C)C(=O)N[C@H](CCC(=O)[O-])C(=O)NCCCC[C@H](C(=O)[O-])[NH3+])NC(=O)C)OP(=O)(OP(=O)(OC[C@H]1O[C@H]([C@@H]([C@@H]1O)O)n1c(=O)[nH]c(=O)cc1)[O-])[O-]", printStereoWarnings=False) +smiles(R"C1([C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O[C@H](C)C(=O)N[C@@H](C)C(=O)N[C@H](CCC(=O)[O-])C(=O)N[C@H](C(=O)[O-])CCCC[NH3+])NC(=O)C)OP(=O)(OP(=O)(OC[C@H]1O[C@H]([C@@H]([C@@H]1O)O)n1c(=O)[nH]c(=O)cc1)[O-])[O-]", printStereoWarnings=False) +smiles(R"C1([C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O[C@H](C)C(=O)N[C@@H](C)C(=O)N[C@H](CCC(=O)[O-])C(=O)[O-])NC(=O)C)OP(=O)(OP(=O)(OC[C@H]1O[C@H]([C@@H]([C@@H]1O)O)n1c(=O)[nH]c(=O)cc1)[O-])[O-]", printStereoWarnings=False) +smiles(R"C1([C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O[C@H](C)C(=O)N[C@@H](C)C(=O)[O-])NC(=O)C)OP(=O)(OP(=O)(OC[C@H]1O[C@H]([C@@H]([C@@H]1O)O)n1c(=O)[nH]c(=O)cc1)[O-])[O-]", printStereoWarnings=False) +smiles(R"C1([C@@H]([C@@H]([C@H]([C@@H](O1)C)O)O)O)O", printStereoWarnings=False) +smiles(R"C1([C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)OP(=O)([O-])OC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)\C)\C)\C)\C)\C)\C)\C)\C", printStereoWarnings=False) +smiles(R"C1[C@H]([C@H]([C@H]([C@@H](O1)O)O)O)O", printStereoWarnings=False) +smiles(R"C1[C@H]([C@@H]([C@H]([C@H](OC/C(=C\CNc2c3c([nH]cn3)ncn2)/C)O1)O)O)O", printStereoWarnings=False) +smiles(R"C1([C@@H]([C@H]([C@@H](CO1)O)O)O)O", printStereoWarnings=False) +smiles(R"C1[C@@H]([C@H]([C@H](O)C(CO)(O)O1)O)O", printStereoWarnings=False) +smiles(R"c1([C@@H]([C@@H](COP(=O)([O-])[O-])O)O)nc[nH]c1", printStereoWarnings=False) +smiles(R"C1[C@H]([C@H](CSS1)O)O", printStereoWarnings=False) +smiles(R"C1[C@H](C=N[C@@H]1C(=O)[O-])O", printStereoWarnings=False) +smiles(R"C1[C@@H](C(=O)[C@](O1)(C)O)O", printStereoWarnings=False) +smiles(R"c1([C@@H](C(=O)C(=O)[O-])C)c[nH]c2c1cccc2", printStereoWarnings=False) +smiles(R"C1[C@H](OC=C(C1=O)[O-])CO", printStereoWarnings=False) +smiles(R"C1[C@H](O)[C@H](C/C=C\CCCC(=O)NCCO)[C@H]([C@@H]1O)/C=C/[C@H](CCCCC)O", printStereoWarnings=False) +smiles(R"C1[C@H](O)[C@H](C/C=C\CCCC(=O)[O-])[C@H]([C@@H]1O)/C=C/[C@H](CCCCC)O", printStereoWarnings=False) +smiles(R"C1[C@@H](O[C@@H]([C@H]1O)COP(=O)(OP(=O)([O-])[O-])[O-])n1c(=O)nc(cc1)N", printStereoWarnings=False) +smiles(R"C1[C@H](O)[C@@H](NC(=O)C)[C@@H](O[C@@]1(C(=O)[O-])O)C(C(O)CO)OC(=O)C", printStereoWarnings=False) +smiles(R"C1[C@H](O)[C@@H](NC(=O)C)[C@@H](O[C@@]1(C(=O)[O-])O)[C@@H]([C@H](O)COC(=O)C)O", printStereoWarnings=False) +smiles(R"c1(Cl)c(Cl)cc(cc1)N", printStereoWarnings=False) +smiles(R"c1c(nc2c(c1O)C=CC(C2O)O)C(=O)[O-]", printStereoWarnings=False) +smiles(R"c1c(nc2c(c3c(cc([nH]3)C(=O)[O-])C(=O)C2=O)c1C(=O)[O-])C(=O)[O-]", printStereoWarnings=False) +smiles(R"c1(c(nc(c(c1)c1c(nc(c(c1)O)O)O)O)O)O", printStereoWarnings=False) +smiles(R"c1c[n+](c(c(c1)CCO)C)Cc1c(nc(C)nc1)N", printStereoWarnings=False) +smiles(R"c1(c[n+](ccc1)[C@@H]1O[C@@H]([C@H]([C@H]1O)O)COP(=O)([O-])[O-])C(=O)N", printStereoWarnings=False) +smiles(R"c1(c(ncc(c1C=O)CO)C)O", printStereoWarnings=False) +smiles(R"c1(cnc(c(c1C(=O)[O-])O)C)CO", printStereoWarnings=False) +smiles(R"c1c(nc(c(c1O)/C=C/C(=O)C(=O)[O-])O)C(=O)[O-]", printStereoWarnings=False) +smiles(R"c1(cnccn1)C(=O)N", printStereoWarnings=False) +smiles(R"c1(cncn1[C@H]1[C@H](O)[C@@H]([C@H](O1)COP(=O)([O-])[O-])O)NC(=O)[O-]", printStereoWarnings=False) +smiles(R"c1(c(ncn1[C@@H]1O[C@@H]([C@H]([C@H]1O)O)COP(=O)([O-])[O-])C(=O)[O-])N", printStereoWarnings=False) +smiles(R"c1(c(nc(nc1)C)N)C[n+]1csc(c1C)CCOP(=O)(OP(=O)([O-])[O-])[O-]", printStereoWarnings=False) +smiles(R"c1(c(nc(nc1)C)N)CO", printStereoWarnings=False) +smiles(R"c1(c(nc(nc1)C)N)COP(=O)(OP(=O)([O-])[O-])[O-]", printStereoWarnings=False) +smiles(R"c1(cnc(nc1N)C)C[n+]1csc(c1C)CCO", printStereoWarnings=False) +smiles(R"c1(cnc(nc1N)C)C[n+]1csc(c1C)CC(=O)[O-]", printStereoWarnings=False) +smiles(R"c1(c(nc[nH]1)C(=O)N)N", printStereoWarnings=False) +smiles(R"C1CNC(=O)[C@@H](CC1)[NH3+]", printStereoWarnings=False) +smiles(R"C1CNC(=O)[C@H](CC1)[NH3+]", printStereoWarnings=False) +smiles(R"C1(CNC(=O)NC1=O)C", printStereoWarnings=False) +smiles(R"c1cn(c(=O)[nH]c1=O)[C@H]1[C@H](O)[C@H](O)[C@@H](COP(=O)(OP(=O)([O-])OC2OC[C@]([C@H]2O)(O)CO)[O-])O1", printStereoWarnings=False) +smiles(R"c1(c(ncs1)C)CCO", printStereoWarnings=False) +smiles(R"c1(c[nH]c2c1cccc2CC=C(C)C)C[C@@H](C(=O)[O-])[NH3+]", printStereoWarnings=False) +smiles(R"c1(c[nH]c2c1cccc2)/C=C(/C(=O)[O-])\N", printStereoWarnings=False) +smiles(R"c1(c[nH]c2c1cccc2)C[C@@H](C(=O)[O-])[NH2+]C", printStereoWarnings=False) +smiles(R"c1(c[nH]c2c1cccc2)C[C@@H](C(=O)[O-])[NH3+]", printStereoWarnings=False) +smiles(R"c1(c[nH]c2c1cccc2)C[C@H](C(=O)[O-])[NH3+]", printStereoWarnings=False) +smiles(R"c1(c[nH]c2c1cccc2Cl)C[C@@H](C(=O)[O-])[NH3+]", printStereoWarnings=False) +smiles(R"c1(c[nH]c2c1cccc2Cl)CC(=N)C(=O)[O-]", printStereoWarnings=False) +smiles(R"c1(c[nH]cn1)/C=C/C(=O)[O-]", printStereoWarnings=False) +smiles(R"c1(c(=O)c2c(oc1)cc(cc2)O)c1cc2c(OCO2)cc1", printStereoWarnings=False) +smiles(R"c1(c(=O)c2c(oc1)cc(cc2)O)c1ccccc1", printStereoWarnings=False) +smiles(R"c1(C(=O)/C=C/c2ccc(cc2)O)c(cc(cc1)O)O", printStereoWarnings=False) +smiles(R"c1(C(=O)/C=C/c2ccc(cc2)O)c(cc(cc1)O)OC", printStereoWarnings=False) +smiles(R"c1(C(=O)CCc2ccc(cc2)O)c(cc(cc1O)O)O", printStereoWarnings=False) +smiles(R"c1c(O)c(cc(c1)C[C@@H](C(=O)[O-])[NH3+])O", printStereoWarnings=False) +smiles(R"C1C(=O)C(CCC1)O", printStereoWarnings=False) +smiles(R"C1C(=O)C=C(CC1O)O", printStereoWarnings=False) +smiles(R"C1C(=O)C[C@H]2CC[C@@H]1[NH+]2C", printStereoWarnings=False) +smiles(R"c1(C(=O)CC[NH3+])c(ccc(c1)O)N", printStereoWarnings=False) +smiles(R"c1c(O[C@H]2[C@H](O)[C@@H](O)[C@@H]([C@H](O2)CO)O)ccc(c1)/C=C/C(=O)[O-]", printStereoWarnings=False) +smiles(R"C1=CO[C@@H]2Oc3cc(c4c(=O)c5c(cccc5oc4c3[C@H]12)O)O", printStereoWarnings=False) +smiles(R"C1C(=O)[C@H](C/C=C\CCCC(=O)[O-])[C@H]([C@@H]1O)/C=C/C(=O)CCCCC", printStereoWarnings=False) +smiles(R"C1C(=O)[C@H]([C@@H](C(CO)O1)O)O", printStereoWarnings=False) +smiles(R"C1C(=O)[C@@H]([C@H]([C@H]1O)C/C=C\CCCC(=O)[O-])/C=C/C(=O)CCCCC", printStereoWarnings=False) +smiles(R"C1C(=O)[C@@H]([C@H]([C@@H]1O)CCC(=O)CCCCC)C/C=C\CCCC(=O)[O-]", printStereoWarnings=False) +smiles(R"C1(C(=O)[C@H]([C@@H]([C@@H](CO)O1)O)O)O", printStereoWarnings=False) +smiles(R"C1C(=O)CNC1C(=O)[O-]", printStereoWarnings=False) +smiles(R"c1(COC(=O)C(C(=O)C)C)ccccc1", printStereoWarnings=False) +smiles(R"C1=C([O-])C(=O)CO[C@@H]1CO", printStereoWarnings=False) +smiles(R"c1(C(=O)NCCCCNC(=[NH2+])N)ccccc1", printStereoWarnings=False) +smiles(R"c1(c(=O)[nH]c(=O)[nH]c1)[C@@H]1O[C@@H]([C@H]([C@H]1O)O)CO", printStereoWarnings=False) +smiles(R"c1(c(=O)[nH]c(=O)[nH]c1)CO", printStereoWarnings=False) +smiles(R"c1(C(=O)Oc2cc(c(c(c2)O)C(=O)[O-])C)c(cc(cc1O)O)C", printStereoWarnings=False) +smiles(R"C1C(=O)O[C@]2(CC(=O)[C@H]1C2(C)C)C", printStereoWarnings=False) +smiles(R"C1C(=O)O[C@@]2(CC(=O)[C@@H]1C2(C)C)C", printStereoWarnings=False) +smiles(R"c1(C(=O)[O-])ccc(cc1)Cl", printStereoWarnings=False) +smiles(R"c1(C(=O)[O-])ccc[nH]1", printStereoWarnings=False) +smiles(R"[C@@]1(C(=O)[O-])(C[C@H]([C@@H]([C@@H](C1)O)OC(=O)/C=C/c1cc(c(cc1)O)OC)O)O", printStereoWarnings=False) +smiles(R"[C@@]1(C(=O)[O-])(C[C@H]([C@@H]([C@@H](C1)O)O)O)O", printStereoWarnings=False) +smiles(R"C1(C(=O)[O-])CSSC1", printStereoWarnings=False) +smiles(R"C1CSSC1CCCCC(=O)N", printStereoWarnings=False) +smiles(R"C1CSSC1CCCCC(=O)[O-]", printStereoWarnings=False) +smiles(R"C1[n+]2c(c3c(cc(c(c3)OC)OC)C1)cc1c(c2)c(c(cc1)OC)OC", printStereoWarnings=False) +smiles(R"c1nc2c(ncn2[C@H]2[C@H](O)[C@H](O)[C@H](O2)COP(=O)([O-])[O-])c(=N)n1[C@@H]1O[C@@H]([C@H]([C@H]1O)O)COP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"C1N=c2ncncc2=NC1", printStereoWarnings=False) +smiles(R"c1nc(c2c(n1)n(cn2)[C@@H]1O[C@@H]([C@H]([C@H]1OP(=O)([O-])[O-])O)COP(=O)(OP(=O)([O-])OC1O[C@H](CO)[C@H]([C@H]1O)O)[O-])N", printStereoWarnings=False) +smiles(R"c1nc(c2c(n(cn2)[C@H]2[C@@H]([C@@H]([C@@H](COP(=O)(OP(=O)(OC3O[C@@H]([C@H]([C@@H]([C@@H]3O)O)O)[C@@H](CO)O)[O-])[O-])O2)O)O)n1)N", printStereoWarnings=False) +smiles(R"c1nc(c2c(n(cn2)[C@H]2[C@@H]([C@@H]([C@@H](COP(=O)(OP(=O)(OC3O[C@@H]([C@H]([C@@H]([C@@H]3O)O)O)[C@H](CO)O)[O-])[O-])O2)O)O)n1)N", printStereoWarnings=False) +smiles(R"c1nc(c2c(n(cn2)[C@H]2[C@@H]([C@@H]([C@@H](COP(=O)(OP(=O)(O[C@@H]3O[C@@H]([C@H]([C@@H]([C@@H]3O)O)O)[C@@H](CO)O)[O-])[O-])O2)O)O)n1)N", printStereoWarnings=False) +smiles(R"c1nc(c2c(n(cn2)[C@H]2[C@@H]([C@@H]([C@@H](COP(=O)(OP(=O)(O[C@@H]3O[C@@H]([C@H]([C@@H]([C@@H]3O)O)O)[C@H](CO)O)[O-])[O-])O2)O)O)n1)N", printStereoWarnings=False) +smiles(R"C1(=NCCC1)C(=O)[O-]", printStereoWarnings=False) +smiles(R"c1[n+](ccc(c1[O-])[O-])C[C@@H](C(=O)[O-])[NH3+]", printStereoWarnings=False) +smiles(R"c1(N(C)C)ccc(cc1)N", printStereoWarnings=False) +smiles(R"c1nc(cn1C)CC[NH3+]", printStereoWarnings=False) +smiles(R"c1nc(c(nc1c1c[nH]c2c1cccc2)CCCNC(=[NH2+])N)NC(=O)[C@@H](C)CC", printStereoWarnings=False) +smiles(R"C1=NCC(=O)N1", printStereoWarnings=False) +smiles(R"c1ncnc2c1ncn2[C@@H]1O[C@H](CO)[C@@H](O)C1", printStereoWarnings=False) +smiles(R"c1ncnc2c1ncn2[C@@H]1O[C@H](CO)[C@@H](O)[C@H]1O", printStereoWarnings=False) +smiles(R"c1(ncnc2c1[nH]cn2)NCCC(CO)C", printStereoWarnings=False) +smiles(R"c1(nc(nc(n1)NCC)NC(C)C)Cl", printStereoWarnings=False) +smiles(R"c1(nc(nc(n1)NCC)NC(C)C)O", printStereoWarnings=False) +smiles(R"c1(nc([nH]c1)CCC([NH2+]C)C(=O)[O-])C[C@@H](C(=O)[O-])[NH3+]", printStereoWarnings=False) +smiles(R"C1(NC(=O)NC1CCCCCC(=O)[O-])C", printStereoWarnings=False) +smiles(R"c1n(c(=O)[nH]c(=O)c1C)[C@H]1C[C@@H]([C@H](O1)COP(=O)([O-])OP(=O)([O-])O[C@H]1O[C@H](C)C(=O)[C@@H]([C@H]1O)O)O", printStereoWarnings=False) +smiles(R"c1n(c(=O)[nH]c(=O)c1C)[C@H]1C[C@H](O)[C@H](O1)COP(=O)(OP(=O)([O-])OC1O[C@H]([C@]([C@H]1O)(O)CO)C)[O-]", printStereoWarnings=False) +smiles(R"c1n(c(=O)[nH]c(=O)c1C)[C@H]1C[C@H](O)[C@H](O1)COP(=O)(OP(=O)([O-])OC1O[C@H](C)[C@@H]([C@@H]([C@H]1O)O)[NH3+])[O-]", printStereoWarnings=False) +smiles(R"c1n(c(=O)[nH]c(=O)c1C)[C@H]1C[C@H](O)[C@H](O1)COP(=O)(OP(=O)([O-])O[C@H]1O[C@H](C)[C@@H]([C@@H]([C@H]1O)O)[NH3+])[O-]", printStereoWarnings=False) +smiles(R"c1n(c(=O)[nH]c(=O)c1C)[C@H]1C[C@H](O)[C@H](O1)COP(=O)(OP(=O)([O-])O[C@H]1O[C@H](C(=O)[C@H]([C@H]1O)O)C)[O-]", printStereoWarnings=False) +smiles(R"c1([nH]c(c(c1C)CCC(=O)[O-])/C=C/1\N=C(C(=C1CCC(=O)[O-])C)/C=C\1/C(=C(C=C)C(=O)N1)C)/C=C/1\NC(=O)C(=C1C=C)C", printStereoWarnings=False) +smiles(R"c1([nH]c(c(c1C)CCC(=O)[O-])Cc1[nH]c(c(C)c1CCC(=O)[O-])/C=C\1/C(=C(C=C)C(=O)N1)C)/C=C/1\NC(=O)C(=C1C=C)C", printStereoWarnings=False) +smiles(R"c1([nH]c(cc1)O)C(=O)[O-]", printStereoWarnings=False) +smiles(R"c1[nH]cc(n1)CC(=O)[O-]", printStereoWarnings=False) +smiles(R"c1[nH]c(c(n1)CC(=O)[O-])O", printStereoWarnings=False) +smiles(R"c1([nH]ccn1)[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"c1[nH]cnc1CC(=O)COP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"c1(/N=N/c2ccccc2)ccc(cc1)N(C)C", printStereoWarnings=False) +smiles(R"C1(=N)N(CC(=O)N1)C", printStereoWarnings=False) +smiles(R"c1([N+](=O)[O-])ccc(cc1)N", printStereoWarnings=False) +smiles(R"c1([N+](=O)[O-])ccc(cc1)[O-]", printStereoWarnings=False) +smiles(R"C1(NS(=O)(=O)[O-])CCCCC1", printStereoWarnings=False) +smiles(R"C1(=O)c2c3c(ccc2)O[Fe-3]245(O3)Oc3c(O2)c(C(=O)N[C@H]2COC(=O)[C@H](COC(=O)[C@H](COC2=O)N1)NC(=O)c1c(c(O5)ccc1)O4)ccc3", printStereoWarnings=False) +smiles(R"C1(=O)c2c(c(cc(c2C(=O)C2=C1[C@H](O)[C@H](O[C@@H]2C)C)O)O)c1c2cc(cc(c2c(c2c1[C@H](O)[C@H](O[C@@H]2C)C)O)O)O", printStereoWarnings=False) +smiles(R"C1(=O)[C@]2(C)CC(=O)[C@@H](C1)C2(C)C", printStereoWarnings=False) +smiles(R"C1Oc2c([C@@H]3[C@@]1(O)c1c(O3)cc3c(c1)OCO3)ccc(c2)O", printStereoWarnings=False) +smiles(R"c1(oc2c(c(=O)c1[O-])c(cc(c2)O)O)c1cc(c(c(c1)OC)O)OC", printStereoWarnings=False) +smiles(R"C1(=O)c2c(C(=O)c3c1cc(cc3O)C)c(cc(c2)[O-])OC", printStereoWarnings=False) +smiles(R"c1(=O)c2c(nc([nH]1)N)NCC(=N2)[C@@H]([C@H](O)CO)O", printStereoWarnings=False) +smiles(R"c1(=O)c2c(nc([nH]1)N)NCC(=N2)[C@@H]([C@H](O)COP(=O)([O-])[O-])O", printStereoWarnings=False) +smiles(R"c1(=O)c2c(nc([nH]1)N)NCC(=N2)[C@@H]([C@H](OP(=O)([O-])[O-])CO)O", printStereoWarnings=False) +smiles(R"c1(=O)c2c(nc([nH]1)N)[nH]cc2C(=O)[O-]", printStereoWarnings=False) +smiles(R"c1(=O)c2c(n(c(=O)[nH]1)[C@H]1[C@@H]([C@@H]([C@H](O1)CO)O)O)[nH]c(=O)[nH]2", printStereoWarnings=False) +smiles(R"c1(=O)c2c(occ1c1cc(c(cc1)OC)O)cc(cc2O)[O-]", printStereoWarnings=False) +smiles(R"C1(=O)/C(=C/c2ccccc2)/NC(=O)[C@@H](N1)CC(C)C", printStereoWarnings=False) +smiles(R"c1(=O)/c(=C/c2ccccc2)/[nH]c(=O)/c(=C/C(C)C)/[nH]1", printStereoWarnings=False) +smiles(R"C1(=O)CCC(C1)C#N", printStereoWarnings=False) +smiles(R"C1(=O)CCC(C1)C(=O)[O-]", printStereoWarnings=False) +smiles(R"C1(=O)CCCC=C1", printStereoWarnings=False) +smiles(R"c1(O)c(cc(cc1)/C=C/c1ccc(O)c(c1)OC)OC", printStereoWarnings=False) +smiles(R"c1(O)c(cc(cc1)C=C)OC", printStereoWarnings=False) +smiles(R"C1(=O)C=CC=CC1=N", printStereoWarnings=False) +smiles(R"C1(=O)C=C(C)[C@@](C(C1)(C)C)(/C=C/[C@H](O)C)O", printStereoWarnings=False) +smiles(R"C1(=O)C=C(C)[C@@](C(C1)(C)C)(/C=C/C(=O)C)O", printStereoWarnings=False) +smiles(R"C1(=O)CCCCCO1", printStereoWarnings=False) +smiles(R"C1(=O)CCCCC(O1)O", printStereoWarnings=False) +smiles(R"C1(=O)C(=C)CCO1", printStereoWarnings=False) +smiles(R"C1(=O)C(=C(C(=O)c2ccccc12)C/C=C(\C)/CC/C=C(\C)/CC/C=C(\C)/CC/C=C(\C)/CC/C=C(\C)/CC/C=C(\C)/CC/C=C(/CCC=C(C)C)\C)C", printStereoWarnings=False) +smiles(R"C1(=O)C(=C(C(=O)C(=C1C)CCCCCCCCCC)OC)OC", printStereoWarnings=False) +smiles(R"C1(=O)C(=CC(=O)C(=C1OC)OC)C", printStereoWarnings=False) +smiles(R"C1(=O)C[C@@H](CC[C@@H]1C(C)C)C", printStereoWarnings=False) +smiles(R"c1(=O)ccn(c(=O)[nH]1)C[C@@H](C(=O)[O-])[NH3+]", printStereoWarnings=False) +smiles(R"c1(=O)c(c[nH]c(=O)[nH]1)C", printStereoWarnings=False) +smiles(R"c1(=O)cc(oc2c1c(cc(c2)[O-])O)c1ccc(cc1)O", printStereoWarnings=False) +smiles(R"c1(=O)cc(oc2c1c(c(c(c2)O)O)O)c1ccc(cc1)O", printStereoWarnings=False) +smiles(R"c1(O[C@H]2[C@H](O)[C@H]([C@@H]([C@H](O2)CO)O)O)ccc(cc1)O", printStereoWarnings=False) +smiles(R"C1(=O)[C@H]2N(C(=O)/C/1=C(/C)\[O-])C(C)(C)[C@@H]1Cc3c4c(c[nH]c4ccc3)[C@H]21", printStereoWarnings=False) +smiles(R"[C@]1(O[C@H]2O[C@@H]([C@H]([C@@H]([C@H]2O)O)O)CO)(O[C@@H]([C@H]([C@@H]1O)O)CO[C@@]1(O[C@@H]([C@H]([C@@H]1O)O)CO[C@@]1(O[C@@H]([C@H]([C@@H]1O)O)CO)CO)CO)CO", printStereoWarnings=False) +smiles(R"[C@]1(O[C@H]2O[C@@H]([C@H]([C@@H]([C@H]2O)O)O)CO)(O[C@@H]([C@H]([C@@H]1O)O)CO[C@@]1(O[C@@H]([C@H]([C@@H]1O)O)CO)CO)CO", printStereoWarnings=False) +smiles(R"[C@]1(O[C@H]2O[C@@H]([C@H]([C@@H]([C@H]2O)O)O)CO)(O[C@@H]([C@H]([C@@H]1O)O)CO[C@@]1(O[C@@H]([C@H]([C@@H]1O)O)CO)CO)CO[C@@]1(O[C@@H]([C@H]([C@@H]1O)O)CO)CO", printStereoWarnings=False) +smiles(R"C1(=O)[C@@H](CC[C@H](C1)C)C(C)C", printStereoWarnings=False) +smiles(R"C1(=O)[C@H]([C@H](C=C1)CCCCCCCC(=O)[O-])C/C=C\CC", printStereoWarnings=False) +smiles(R"[C@]1(O[C@@H]([C@H]([C@@H]1O)O)CO)(CO)O[C@@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO[C@@H]1[C@@H]([C@H]([C@H]([C@H](O1)CO[C@@H]1[C@@H]([C@H]([C@H]([C@H](O1)CO)O)O)O)O)O)O)O)O)O", printStereoWarnings=False) +smiles(R"[C@@]1(O[C@@H]([C@H]([C@@H]1O)O)CO)(OCC1(O[C@@H]([C@H]([C@@H]1O)O)CO)O)CO", printStereoWarnings=False) +smiles(R"C1(O[C@H]([C@H]([C@H]([C@@H]1O)O)O)CO)OP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"C1(O[C@@H]([C@H]([C@@H]([C@@H]1O)O)O)COP(=O)([O-])[O-])O", printStereoWarnings=False) +smiles(R"C1(=O)[C@@H]([C@@H]([C@H]([C@@H]([C@H]1O)O)O)O)O", printStereoWarnings=False) +smiles(R"C1(=O)[C@@H]([C@H]([C@@H]([C@H]([C@H](C[C@H](C(=O)[C@@H]([C@H]([C@H]([C@H](O1)CC)C)O)C)C)C)O)C)O)C", printStereoWarnings=False) +smiles(R"C1(=O)[C@@H]([C@H]([C@H]([C@H](O1)CO)O)O)O", printStereoWarnings=False) +smiles(R"C1(=O)[C@H]([C@H]([C@@H]([C@H](O1)C=O)O)O)O", printStereoWarnings=False) +smiles(R"C1(=O)[C@H]([C@H](O[C@@H]([C@@H]1O)C)OP(=O)(OP(=O)(OC[C@H]1O[C@H](C[C@@H]1O)n1c(=O)[nH]c(=O)c(c1)C)[O-])[O-])O", printStereoWarnings=False) +smiles(R"C1O[C@@H]([C@H](O)[C@H]([C@@H]1O)O)OP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"C1(=O)[C@@H]([C@H](O)[C@H]([C@@H](O)C)O1)O", printStereoWarnings=False) +smiles(R"C1O[C@@H]([C@H](O)[C@@H](O)[C@H]1O)O[C@H]1[C@@H]([C@@H]([C@@H]([C@H]([C@@H]1O)O)OC(=O)Cc1c[nH]c2c1cccc2)O)O", printStereoWarnings=False) +smiles(R"C1(=O)[C@@H](NC(=O)[C@@H](N1)CC(C)C)Cc1ccccc1", printStereoWarnings=False) +smiles(R"C1(=O)[C@@H](O)[C@@H]([C@@H](O)[C@@H](C1)O)O", printStereoWarnings=False) +smiles(R"C1(=O)[C@@H](O)[C@@H]([C@@H](O)[C@@H]([C@H]1O)O)O", printStereoWarnings=False) +smiles(R"C1(=O)[C@H](O)[C@H]([C@H](O)[C@@H](O)[C@H]1O)OC", printStereoWarnings=False) +smiles(R"C1(O)[C@H](O)[C@@H](O[C@@H]2[C@H](O)[C@@H](O)[C@H](O)[C@H](O2)CO)[C@H](O)[C@H](O1)CO", printStereoWarnings=False) +smiles(R"C1(O)[C@H](O)[C@H](O)[C@H](O1)CSCC[C@H]([NH3+])C(=O)[O-]", printStereoWarnings=False) +smiles(R"C1(O)[C@H](O)[C@@H](O)[C@H](O)[C@H](O1)CO[C@H]1[C@H](O)[C@@H](O)[C@@H](O)CO1", printStereoWarnings=False) +smiles(R"C1(OC(=O)C=C1C)CC(=O)[O-]", printStereoWarnings=False) +smiles(R"C1(OC(=O)C=C1)(CC(=O)[O-])C", printStereoWarnings=False) +smiles(R"C1OC(=O)[C@H](COC(=O)[C@H](COC(=O)[C@H]1NC(=O)c1cccc(O)c1O)NC(=O)c1cccc(O)c1O)NC(=O)c1c(c(ccc1)O)O", printStereoWarnings=False) +smiles(R"C1OC(=O)[C@H](O)[C@H]([C@@H]1O)O", printStereoWarnings=False) +smiles(R"C1(=O)NC(C(=C1C)C=C)Cc1[nH]c(c(c1C)CC)Cc1[nH]c2c(c1C)C(=O)C/C/2=C/1\[C@H]([C@@H]([C@H]([NH+]1)C(=O)[O-])C)CCC(=O)[O-]", printStereoWarnings=False) +smiles(R"C1(=O)NC(C(=C1C)C=C)Cc1[nH]c(c(c1C)CC)Cc1[nH]c2c(c1C)c(=O)c(=O)/c/2=C/1\[C@H]([C@@H]([C@H](N1)C(=O)[O-])C)CCC(=O)[O-]", printStereoWarnings=False) +smiles(R"C1(=O)NC(CC1)C(=O)[O-]", printStereoWarnings=False) +smiles(R"C1(=O)NCCC(=O)N1", printStereoWarnings=False) +smiles(R"C1(=O)N[C@@H](CC1)C(=O)[O-]", printStereoWarnings=False) +smiles(R"C1(=O)N[C@H](CC1)C(=O)[O-]", printStereoWarnings=False) +smiles(R"c1(=O)nc(N)cc[nH]1", printStereoWarnings=False) +smiles(R"c1(=O)n(c(=O)c2c(n1C)ncn2C)C", printStereoWarnings=False) +smiles(R"C1(=O)NC(=O)[C-](C(=O)N1)C", printStereoWarnings=False) +smiles(R"C1(=O)[N-]C(=O)[CH-]C(=O)N1", printStereoWarnings=False) +smiles(R"c1(=O)n(c(=O)[nH]c2c1n(cn2)C)C", printStereoWarnings=False) +smiles(R"c1(=O)[nH]cc[nH]1", printStereoWarnings=False) +smiles(R"c1(=O)[nH]c(nc2c1N=C(CN2)[C@@H]([C@@H]1OP(=O)(OC1)[O-])O)N", printStereoWarnings=False) +smiles(R"c1(=O)[nH]c(nc2c1N=C(CN2)CNc1ccc(cc1)[C@@H]1O[C@@H]([C@H]([C@H]1O)O)COP(=O)([O-])[O-])N", printStereoWarnings=False) +smiles(R"c1(=O)[nH]c(nc2c1N=C(CN2)COP(=O)(OP(=O)([O-])[O-])[O-])N", printStereoWarnings=False) +smiles(R"c1(=O)[nH]c(nc2c1N[C@@H]1[C@H](N2)O[C@H](COP(=O)([O-])[O-])C2=C1S[Mo](=O)(=O)S2)N", printStereoWarnings=False) +smiles(R"c1(=O)[nH]c(nc2c1N[C@@H]1[C@H](N2)O[C@H](COP(=O)([O-])[O-])C2=C1S[W](=O)(=O)S2)N", printStereoWarnings=False) +smiles(R"c1(=O)[nH]c(nc2c1ncn2[C@@H]1O[C@@H]([C@H]([C@H]1O)OP(=O)(OP(=O)([O-])[O-])[O-])COP(=O)([O-])OP(=O)([O-])OP(=O)([O-])[O-])N", printStereoWarnings=False) +smiles(R"c1(=O)[nH]c(nc2c1ncn2[C@@H]1O[C@@H]([C@@H](O)C1)COP(=O)([O-])[O-])N", printStereoWarnings=False) +smiles(R"c1(=O)[nH]c(nc2c1ncn2[C@@H]1O[C@@H]([C@@H](O)[C@H]1O)COP(=O)([O-])NCCCC[C@@H](C(=O)OC)NC(=O)C)N", printStereoWarnings=False) +smiles(R"c1(=O)[nH]c(nc2c1[n+](cn2[C@@H]1O[C@@H]([C@@H](O)[C@H]1O)COP(=O)([O-])[O-])C)N", printStereoWarnings=False) +smiles(R"c1(=O)[nH]c(nc2c1ncn2[C@@H]1O[C@@H]([C@@H](O)[C@H]1O)COP(=O)([O-])[O-])N", printStereoWarnings=False) +smiles(R"c1(=O)[nH]c(nc2c1[n+](cn2[C@@H]1O[C@@H]([C@@H](O)[C@H]1O)COP(=O)([O-])OP(=O)([O-])[O-])C)N", printStereoWarnings=False) +smiles(R"c1(=O)[nH]c(nc2c1ncn2[C@@H]1O[C@@H]([C@@H](O)[C@H]1O)COP(=O)([O-])OP(=O)([O-])OP(=O)([O-])[O-])N", printStereoWarnings=False) +smiles(R"c1(=O)[nH]c(nc2c1ncn2[C@@H]1O[C@H](CO)[C@@H](O)[C@H]1O)N", printStereoWarnings=False) +smiles(R"c1(=O)[nH]c(nc2c1ncn2[C@@H]1O[C@H](CO)[C@@H](OP(=O)([O-])[O-])[C@H]1O)N", printStereoWarnings=False) +smiles(R"c1(=O)[nH]c(=O)c2c(n1C)ncn2C", printStereoWarnings=False) +smiles(R"c1(=O)[nH]c(=O)n(c2c1[nH]cn2)C", printStereoWarnings=False) +smiles(R"c1(=O)[nH]c(=O)[nH]c2c1nc[nH]2", printStereoWarnings=False) +smiles(R"C1(=O)O[C@@H]([C@@H]([C@@H]1O)O)[C@H](C=O)O", printStereoWarnings=False) +smiles(R"[Ca+2]", printStereoWarnings=False) +smiles(R"C[As](=O)(O)[O-]", printStereoWarnings=False) +smiles(R"CBr", printStereoWarnings=False) +smiles(R"C=C", printStereoWarnings=False) +smiles(R"C#C", printStereoWarnings=False) +smiles(R"CC12OC1CC1CC2C1(C)C", printStereoWarnings=False) +smiles(R"Cc1c2CC[C@](Oc2c(c(c1O)C)C)(CCC[C@@H](CCC[C@@H](CCCC(C)C)C)C)C", printStereoWarnings=False) +smiles(R"C(c1ccc(cc1)Cl)(c1ccc(cc1)Cl)C(Cl)(Cl)Cl", printStereoWarnings=False) +smiles(R"Cc1c(c(c(c(O)c1C/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)\C)\C)\C)\C)\C)OC)OC)O", printStereoWarnings=False) +smiles(R"Cc1c(cc(c(O)c1C/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)\C)\C)\C)OC)O", printStereoWarnings=False) +smiles(R"CC1CC(=O)OC(CC1)C(C)C", printStereoWarnings=False) +smiles(R"C(=C\1/[C@H](C/C=C\CC)O1)/C=C\CCCCCCCC(=O)[O-]", printStereoWarnings=False) +smiles(R"C([C@]1([C@@H](COP(=O)(OP(=O)(O1)[O-])[O-])O)C)O", printStereoWarnings=False) +smiles(R"C(c1c(nc(nc1)C)N)[n+]1csc(c1C)CCOP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"C(c1c(nc(nc1)C)N)[n+]1csc(c1C)CCOP(=O)(OP(=O)(OP(=O)([O-])[O-])[O-])[O-]", printStereoWarnings=False) +smiles(R"C(c1c(nc(nc1)C)N)OP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"C=CC", printStereoWarnings=False) +smiles(R"C(=C\[C@]12[C@](O1)(C[C@H](CC2(C)C)O)C)/C(=C\C=C\C(=C\C=C\C=C(\C=C\C=C(\C=C\[C@]12[C@](O1)(C[C@H](CC2(C)C)O)C)/C)/C)\C)/C", printStereoWarnings=False) +smiles(R"C(=C\c1ccc(cc1)O)/c1cc(cc(c1)O)O", printStereoWarnings=False) +smiles(R"C(=C\c1ccc(cc1)O)/c1cc(cc(c1)O)OC", printStereoWarnings=False) +smiles(R"C(Cc1cc(ccc1)O)C(=O)[O-]", printStereoWarnings=False) +smiles(R"C(C(c1cc(c(cc1)O)O)O)O", printStereoWarnings=False) +smiles(R"C(=C\C1=C(C)CCCC1(C)C)/C(=C/C=C/C(=C/C=C/C=C(\C)/C=C/C=C(\C)/C=C/C=C(/C=C/C=C(C)C)\C)/C)/C", printStereoWarnings=False) +smiles(R"C=C(C1CC(=O)OC(CC1)C)C", printStereoWarnings=False) +smiles(R"C(=C)(C1CC(=O)OC(CC1)(C)O)C", printStereoWarnings=False) +smiles(R"C=C(C1COC(=O)C(CC1)C)C", printStereoWarnings=False) +smiles(R"C(=C)C(=C)C", printStereoWarnings=False) +smiles(R"CC(=CCc1c(O)ccc2c1O[C@H]1c3ccc(O)cc3OC[C@@H]21)C", printStereoWarnings=False) +smiles(R"C(CC=C(C)C)[C@]1([C@@H]2CCC(=C)[C@H]1C2)C", printStereoWarnings=False) +smiles(R"C(CC=C(C)C)[C@]1([C@@H]2CC=C([C@H]1C2)C)C", printStereoWarnings=False) +smiles(R"C(CC=C(C)C)[C@@]1([C@@H]2CC=C([C@H]1C2)C)C", printStereoWarnings=False) +smiles(R"C(CC/C=C\C=C\1/O[C@H]1CCCCC)CCCCC(=O)[O-]", printStereoWarnings=False) +smiles(R"C(=C)(CCC=C(C)C)C=C", printStereoWarnings=False) +smiles(R"CC(=CC/C=C(/C=C)\C)C", printStereoWarnings=False) +smiles(R"C(=C(\CCC=C(C)C)/C)/Cc1c(ccc(c1)C(=O)[O-])O", printStereoWarnings=False) +smiles(R"C(=C\C/C=C(/C=C)\C)(/CCC=C(C)C)\C", printStereoWarnings=False) +smiles(R"C(=C\CCC(=C)C=C)(/CCC=C(C)C)\C", printStereoWarnings=False) +smiles(R"C(CCCCCCCCCCCCCC)CC", printStereoWarnings=False) +smiles(R"C/C(=C/C=C/C(=C/C=C/C=C(/C=C/C=C(/C=C/C1=C(CCCC1(C)C)C)\C)\C)/C)/C=C/C1=C(CCCC1(C)C)C", printStereoWarnings=False) +smiles(R"C(=C\C(=C/C=C/C(=C/C=C/C=C(/C=C/C=C(\C)/C=C=C1[C@@](C[C@H](CC1(C)C)O)(O)C)\C)/C)\C)/[C@]12O[C@@]2(C[C@H](CC1(C)C)O)C", printStereoWarnings=False) +smiles(R"C(=C\C(=C\C=C\C(=C\C=C\C=C(\C=C\C=C(/C)\C=C=C1[C@@](C[C@H](CC1(C)C)O)(O)C)/C)\C)\C)/[C@]12O[C@@]2(C[C@H](CC1(C)C)O)C", printStereoWarnings=False) +smiles(R"C(=C(\CCC=C(C)C)/C)/CC/C(=C/CC/C(=C/CC/C(=C/CC/C(=C/Cc1c(c(cc(c1)C(=O)[O-])OC)O)/C)/C)/C)/C", printStereoWarnings=False) +smiles(R"C(/C=C(/CCC=C(C)C)\C)C/C(=C/CC/C(=C/CC/C(=C/CC/C(=C/Cc1cc(cc(c1O)O)C(=O)[O-])/C)/C)/C)/C", printStereoWarnings=False) +smiles(R"CC(=CCC/C(=C/CC/C(=C/CC/C(=C/CC/C(=C/CC/C(=C/CC/C(=C/Cc1c(C)c(O)c2ccccc2c1O)/C)/C)/C)/C)/C)/C)C", printStereoWarnings=False) +smiles(R"C(=C\C=C\C(=C\C=C\C=C(\C=C\C=C(\C=C\C=C(C)C)/C)/C)\C)(/C=C/C=C(C)C)\C", printStereoWarnings=False) +smiles(R"C(=C\C=C\C(=C\C=C\C=C(\C=C\C=C(\C=C\C=C(C)C)/C)/C)\C)(/CCC=C(C)C)\C", printStereoWarnings=False) +smiles(R"C(=C\C=C\C(=C\C=C\C=C(\CC/C=C(/CCC=C(C)C)\C)/C)\C)(/CCC=C(C)C)\C", printStereoWarnings=False) +smiles(R"C(=C\CC/C(=C/C=C/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)/C)(/CCC=C(C)C)\C", printStereoWarnings=False) +smiles(R"C(=C\CC/C(=C/C=C\C=C(\CC/C=C(/CCC=C(C)C)\C)/C)/C)(/CCC=C(C)C)\C", printStereoWarnings=False) +smiles(R"CC(=CCC/C(=C/C=C/C(=C/C=C/C=C(/C=C/C=C(/CCC=C(C)C)\C)\C)/C)/C)C", printStereoWarnings=False) +smiles(R"CC(=CCC/C(=C/CC/C(=C/CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)/C)/C)C", printStereoWarnings=False) +smiles(R"CC(=C)C(CC/C(=C/CC/C(=C/CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)/C)/C)C", printStereoWarnings=False) +smiles(R"CC(=C)C(CC/C(=C/CC/C(=C/CC/C=C(/CC/C=C(/CCC(C(=C)C)C)\C)\C)/C)/C)C", printStereoWarnings=False) +smiles(R"CC(=CCC/C(=C/CC/C(=C/CC/C(=C/CC/C(=C/CC/C(=C/CC/C(=C/CC/C(=C/Cc1c(C)c(O)c2ccccc2c1O)/C)/C)/C)/C)/C)/C)/C)C", printStereoWarnings=False) +smiles(R"C(=C(\C=C\C=C(/CC/C=C(/CCC=C(C)C)\C)\C)/C)/C=C\C=C(\C=C\C=C(/CC/C=C(/CCC=C(C)C)\C)\C)/C", printStereoWarnings=False) +smiles(R"C(=C(\C=C\C=C(\C)/CC/C=C(/CCC=C(C)C)\C)/C)/C=C\C=C(\CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)/C", printStereoWarnings=False) +smiles(R"C(=C(\CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)/C)/C=C\C=C(\CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)/C", printStereoWarnings=False) +smiles(R"C(=C\C=C(\CCC=C(C)C)/C)\C(=C/C=C/C(=C/C=C/C=C(/C=C/C=C(/C)\C=C/C=C(/CCC=C(C)C)\C)\C)/C)\C", printStereoWarnings=False) +smiles(R"C(=C\C=C\C=C(\C=C\C=C(/CC/C=C(/CCC=C(C)C)\C)\C)/C)(/C=C/C=C(\CC/C=C(/CCC=C(C)C)\C)/C)\C", printStereoWarnings=False) +smiles(R"C(=C\C=C\C(=C\C=C\C=C(\C=C\C=C(\C=C\C=C(\C=C\C=C(C)C)/C)/C)/C)\C)(/C=C/C=C(/CCC=C(C)C)\C)\C", printStereoWarnings=False) +smiles(R"C(=C\C=C\C(=C\C=C\C=C(\C=C\C=C(\C=C\C=C(\CCC=C(C)C)/C)/C)/C)\C)(/C=C/C=C(/CCC=C(C)C)\C)\C", printStereoWarnings=False) +smiles(R"C(=C\C=C\C(=C\C=C\C=C(\C=C\C=C(\C=C\C=C(\CCC=C(C)C)/C)/C)/C)\C)(/CC/C=C(/CCC=C(C)C)\C)\C", printStereoWarnings=False) +smiles(R"C(=C\C=C\C(=C\C=C\C=C(\CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)/C)\C)(/CC/C=C(/CCC=C(C)C)\C)\C", printStereoWarnings=False) +smiles(R"C(=C\CC/C(=C/C=C/C=C(/CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)\C)/C)(/CC/C=C(/CCC=C(C)C)\C)\C", printStereoWarnings=False) +smiles(R"CC(=CCC/C(=C/CC/C(=C/C=C/C(=C/C=C/C=C(/C=C/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)\C)/C)/C)/C)C", printStereoWarnings=False) +smiles(R"C(/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)\C)\C)\C)\C)\C)c1c(c(cc(c1)O)OC)O", printStereoWarnings=False) +smiles(R"CC(=CCC/C(=C/CC/C(=C/CC/C(=C\CC/C(=C\CC/C(=C\CC/C(=C\CC/C(=C\CC/C(=C\CC/C(=C\CC/C(=C\CC/C(=C\CC/C(=C\CC/C(=C\COP(=O)(OP(=O)([O-])[O-])[O-])/C)/C)/C)/C)/C)/C)/C)/C)/C)/C)/C)/C)/C)C", printStereoWarnings=False) +smiles(R"C(/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)/C)/C)/C)/C)/C)/C)/C)/C)O", printStereoWarnings=False) +smiles(R"C(/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)/C)/C)/C)/C)/C)/C)/C)/C)OP(=O)(OP(=O)(O[C@@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O[C@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)NC(=O)C)O[C@@H](C(=O)N[C@H](C(=O)N[C@@H](C(=O)[O-])CCC(=O)N[C@@H](CCCC[NH3+])C(=O)N[C@@H](C(=O)N[C@H](C)C(=O)[O-])C)C)C)NC(=O)C)[O-])[O-]", printStereoWarnings=False) +smiles(R"C(/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)/C)/C)/C)/C)/C)/C)/C)/C)OP(=O)(OP(=O)(O[C@@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O[C@@H](C(=O)N[C@H](C(=O)N[C@@H](C(=O)[O-])CCC(=O)N[C@@H](CCCC[NH3+])C(=O)N[C@@H](C(=O)N[C@H](C)C(=O)[O-])C)C)C)NC(=O)C)[O-])[O-]", printStereoWarnings=False) +smiles(R"CC(=CCC/C(=C/CC/C(=C/CC/C(=C\CC/C(=C\CC/C(=C\CC/C(=C\CC/C(=C\CC/C(=C\CC/C(=C\CC/C(=C\CC/C(=C\CC/C(=C\COP(=O)(OP(=O)([O-])[O-])[O-])/C)/C)/C)/C)/C)/C)/C)/C)/C)/C)/C)/C)C", printStereoWarnings=False) +smiles(R"C(/C=C(/CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)\C)C/C(=C\CC/C(=C\CC/C(=C\CC/C(=C\CC/C(=C\CC/C(=C\CC/C(=C\COP(=O)([O-])[O-])/C)/C)/C)/C)/C)/C)/C", printStereoWarnings=False) +smiles(R"C(/C=C(/CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)\C)C/C(=C\CC/C(=C\CC/C(=C\CC/C(=C\CC/C(=C\CC/C(=C\CC/C(=C\COP(=O)(OP(=O)([O-])[O-])[O-])/C)/C)/C)/C)/C)/C)/C", printStereoWarnings=False) +smiles(R"CC(=CCC/C(=C/CC/C(=C/CC/C(=C\CC/C(=C\CC/C(=C\CC/C(=C\CC/C(=C\CC/C(=C\CC/C(=C\CC/C(=C\CC/C(=C\COP(=O)(OP(=O)([O-])[O-])[O-])/C)/C)/C)/C)/C)/C)/C)/C)/C)/C)/C)C", printStereoWarnings=False) +smiles(R"C(=C(C)C)CC/C(=C/CC/C(=C/CC/C(=C/CC/C(=C/CC/C(=C/CC/C(=C/CC/C(=C/CC/C(=C/CC/C(=C/CC/C(=C/CO)/C)/C)/C)/C)/C)/C)/C)/C)/C)/C", printStereoWarnings=False) +smiles(R"C(=C(C)C)CC/C(=C/CC/C(=C/CC/C(=C/CC/C(=C/CC/C(=C/CC/C(=C/CC/C(=C/CC/C(=C/CC/C(=C/CC/C(=C/COP(=O)([O-])[O-])/C)/C)/C)/C)/C)/C)/C)/C)/C)/C", printStereoWarnings=False) +smiles(R"CC(=CCC/C(=C/CC/C(=C/CC/C(=C\CC/C(=C\CC/C(=C\CC/C(=C\CC/C(=C\CC/C(=C\CC/C(=C\CC/C(=C\COP(=O)([O-])[O-])/C)/C)/C)/C)/C)/C)/C)/C)/C)/C)C", printStereoWarnings=False) +smiles(R"CC(=CCC/C(=C/CC/C(=C/CC/C(=C\CC/C(=C\CC/C(=C\CC/C(=C\CC/C(=C\CC/C(=C\CC/C(=C\CC/C(=C\COP(=O)(OP(=O)([O-])[O-])[O-])/C)/C)/C)/C)/C)/C)/C)/C)/C)/C)C", printStereoWarnings=False) +smiles(R"C(=C(\C)/CCC=C(C)C)/CC/C(=C\CC/C(=C\CC/C(=C\CC/C(=C\CC/C(=C\CC/C(=C\CC/C(=C/CC/C(=C/COP(=O)(OP(=O)([O-])[O-])[O-])/C)/C)/C)/C)/C)/C)/C)/C", printStereoWarnings=False) +smiles(R"C(=C(\C)/CCC=C(C)C)/CC/C(=C\CC/C(=C\CC/C(=C\CC/C(=C\CC/C(=C\CC/C(=C\CC/C(=C\CC/C(=C/COP(=O)(OP(=O)([O-])[O-])[O-])/C)/C)/C)/C)/C)/C)/C)/C", printStereoWarnings=False) +smiles(R"CC(=CCC/C(=C/CC/C(=C\CC/C(=C\CC/C(=C\CC/C(=C\CC/C(=C\CC/C(=C\CC/C(=C\CC/C(=C\COP(=O)([O-])[O-])/C)/C)/C)/C)/C)/C)/C)/C)/C)C", printStereoWarnings=False) +smiles(R"C(=C\C(=C\C=C\C(=C\C=C\C=C(\C=C\C=C(\C=C\C=C(\CCC=C(C)C)/C)/C)/C)\C)\C)/C=C(/C=C/CC(C)(O)C)\C", printStereoWarnings=False) +smiles(R"C(C=C(C)C)C/C(=C/CC/C(=C/CC/C(=C/CC/C(=C/CC/C(=C/CC/C(=C/CC/C(=C/CC/C(=C/COC(=O)c1ccc(cc1)O)/C)/C)/C)/C)/C)/C)/C)/C", printStereoWarnings=False) +smiles(R"C(=C(\CCC=C(C)C)/C)/CC/C(=C/C=C/C(=C/C=C/C=C(/C=C/C=C(/C=C/C=C(/C=C/CC(C)(C)O)\C)\C)\C)/C)/C", printStereoWarnings=False) +smiles(R"C(=C(\CCC=C(C)C)/C)/CC/C(=C/C=C/C(=C/C=C/C=C(/C=C/C=C(/C=C/C=C(/C=C/CC(C)(C)OC)\C)\C)\C)/C)/C", printStereoWarnings=False) +smiles(R"C(/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)\C)\C)\C)\C)OP(=O)(OP(=O)([O-])[O-])[O-]", printStereoWarnings=False) +smiles(R"C(CCCCCCCCCCCCCCCC)CCCCCCCCC(=O)[O-]", printStereoWarnings=False) +smiles(R"C(CCCCCCCCCCCCC)CCCCCCCCCC(=O)[O-]", printStereoWarnings=False) +smiles(R"C(C/C=C(\C)/CC/C=C(/CCC=C(C)C)\C)/C(=C/CC/C(=C/COP(=O)(OP(=O)([O-])[O-])[O-])/C)/C", printStereoWarnings=False) +smiles(R"C(=C\C=C\C(=C\C=C\C=C(\C=C\C=C(\C=C\C=C(\CCCC(O)(C)C)/C)/C)/C)\C)(/C=C/C=C(/CCC=C(C)C)\C)\C", printStereoWarnings=False) +smiles(R"C(=C\C=C\C(=C\C=C\C=C(\C=C\C=C(\C=C\C=C(\CCCC(O)(C)C)/C)/C)/C)\C)(/C=C/C=C(/CCCC(O)(C)C)\C)\C", printStereoWarnings=False) +smiles(R"C(=C\C/C=C\CC)\C/C=C\C/C=C\C/C=C\CCCC(=O)NCCO", printStereoWarnings=False) +smiles(R"C(=C\CCCCC)\C/C=C\C/C=C\C/C=C\CCCC(=O)NCCO", printStereoWarnings=False) +smiles(R"C(=C\C/C=C\CC)\CCC/C=C/C=C/C=C\CCCC(=O)[O-]", printStereoWarnings=False) +smiles(R"C(=C\C=C\C(=C\C=C\C=C(\C=C\C=C(\C=C\C=C(\C=O)/C)/C)/C)\C)(/C=C/C=C(/C=O)\C)\C", printStereoWarnings=False) +smiles(R"C(CCCCCCCCCCCC)CCCC[C@H]([C@H](CO)[NH3+])O", printStereoWarnings=False) +smiles(R"C(CCCCCCCCCCCC)CCCC[C@H]([C@H](COP(=O)([O-])[O-])[NH3+])O", printStereoWarnings=False) +smiles(R"C(=C\C/C=C\CCCCC)\CCCCCCCCO", printStereoWarnings=False) +smiles(R"C(=C\CCCCCCCC)\CCCCCCCCO", printStereoWarnings=False) +smiles(R"C(CCCCCCCCC)CCCCCCCC=O", printStereoWarnings=False) +smiles(R"C(/C=C\C/C=C\CCCCC)CCCCCCC(=O)NCCO", printStereoWarnings=False) +smiles(R"C(=C\C/C=C\CCCCC)\CCCCCCCC(=O)[O-]", printStereoWarnings=False) +smiles(R"C(=C\CCCCCCCC)\CCCCCCCC(=O)[O-]", printStereoWarnings=False) +smiles(R"C(CCCCCCCCCC)CCCCCC(C=O)O", printStereoWarnings=False) +smiles(R"C(=C\C/C=C\C/C=C\C/C=C\C/C=C\CCCC(=O)[O-])\CC", printStereoWarnings=False) +smiles(R"C(CCCCCCCCCCCC)CCC[C@H]([C@H]([C@H](CO)[NH3+])O)O", printStereoWarnings=False) +smiles(R"C(CCCCCCCCCCCC)CCC[C@H]([C@H]([C@H](COP(=O)([O-])[O-])[NH3+])O)O", printStereoWarnings=False) +smiles(R"C(C/C=C\C/C=C\C/C=C\C/C=C\CCCC(=O)[O-])CCC", printStereoWarnings=False) +smiles(R"C(C/C=C\C/C=C\C/C=C\C/C=C\CCCC(=O)OC(CO)CO)CCC", printStereoWarnings=False) +smiles(R"C(CCCCCCCCCC)CCCC[C@H]([C@H](C)[NH3+])O", printStereoWarnings=False) +smiles(R"C(=C\CCCCCCCCCCCCC)/[C@H]([C@H](COC1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)[NH3+])O", printStereoWarnings=False) +smiles(R"C(CCCCCCCCCC)CCCC[C@H]([C@H](CO)[NH3+])O", printStereoWarnings=False) +smiles(R"CCCCCCCCCCCCCCC[C@H]([C@H](COP(=O)([O-])O[C@H]1[C@@H]([C@H]([C@@H]([C@H]([C@H]1O)O)O)O)O[C@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)NC(=O)CCCCCCCCCCCCCCCCCCCCCCC)O", printStereoWarnings=False) +smiles(R"C(=C\CCCCCCCCCCCCC)/[C@H]([C@H](COP(=O)([O-])[O-])[NH3+])O", printStereoWarnings=False) +smiles(R"C(CCCCCCCCCC)CCCC[C@H]([C@H](COP(=O)([O-])[O-])[NH3+])O", printStereoWarnings=False) +smiles(R"CCCCCCCCCCCCCCC[C@H](C[NH3+])O", printStereoWarnings=False) +smiles(R"C(=C\CCCCCCCCCCCCC)/C=O", printStereoWarnings=False) +smiles(R"C(CCCCCCCC)CCCCCCC=O", printStereoWarnings=False) +smiles(R"C(CCCCCCCC)CCCCCCCO", printStereoWarnings=False) +smiles(R"CC(=CCC/C(=C/CC/C(=C/CC/C(=C/CO)/C)/C)/C)C", printStereoWarnings=False) +smiles(R"CC(=CCC/C(=C/CC/C(=C/CC/C(=C/CO)/C)/CO)/C)C", printStereoWarnings=False) +smiles(R"CCCCCCCCCCCCCCCC(=O)[C@@H]([NH3+])C", printStereoWarnings=False) +smiles(R"CCCCCCCCCCCCCCCC(=O)C[NH3+]", printStereoWarnings=False) +smiles(R"C(CCCCCCCC)CCCCCC(C=O)O", printStereoWarnings=False) +smiles(R"C(CCCCCCCCCC)CCCCC(=O)[O-]", printStereoWarnings=False) +smiles(R"C(CCCCCCCC)CCCCCC(C(=O)[O-])O", printStereoWarnings=False) +smiles(R"C(CCCCCCCCCCCCCCC(=O)[O-])O", printStereoWarnings=False) +smiles(R"CC(CCCC(CCCC(CCC/C(=C/COP(=O)(OP(=O)([O-])[O-])[O-])/C)C)C)C", printStereoWarnings=False) +smiles(R"C(/C=C\CCCCC)/C=C\C=C\C=C\[C@H]1[C@@H](CCCC(=O)[O-])O1", printStereoWarnings=False) +smiles(R"CCCCCCCCCCCCCC[C@H]([C@H]([C@H](CO)NC(=O)[C@H]([C@@H](CCCCCCCCCCCCCCCCCCCCCCC)O)O)O)O", printStereoWarnings=False) +smiles(R"CCCCCCCCCCCCCC[C@H]([C@H]([C@H](CO)NC(=O)[C@H]([C@@H](CCCCCCCCCCCCCCCCCCCCC)O)O)O)O", printStereoWarnings=False) +smiles(R"C(CCCCCCC(C)C)CC/C=C/[C@H]([C@H](CO)[NH3+])O", printStereoWarnings=False) +smiles(R"C(CCCCCCC(C)C)CCCC[C@H]([C@H](CO)[NH3+])O", printStereoWarnings=False) +smiles(R"C(CCCCCCC(C)C)CCCC[C@H]([C@H](COP(=O)([O-])[O-])[NH3+])O", printStereoWarnings=False) +smiles(R"C(CCCCCCC(C)C)CC/C=C/[C@H]([C@@H]([NH3+])COP(=O)([O-])[O-])O", printStereoWarnings=False) +smiles(R"C(/C=C\CCCCC)/C=C\C=C\C=C\[C@H]([C@@H](O)CCCC(=O)[O-])SC[C@H](NC(=O)CC[C@H]([NH3+])C(=O)[O-])C(=O)NCC(=O)[O-]", printStereoWarnings=False) +smiles(R"C(/C=C\CCCCC)/C=C\C=C\C=C\[C@H]([C@@H](O)CCCC(=O)[O-])SC[C@H]([NH3+])C(=O)NCC(=O)[O-]", printStereoWarnings=False) +smiles(R"C(/C=C\CCCCC)/C=C\C=C\C=C\[C@H]([C@@H](O)CCCC(=O)[O-])SC[C@H]([NH3+])C(=O)[O-]", printStereoWarnings=False) +smiles(R"C(=C(\CC/C=C(/CCC=C(C)C)\C)/C)/C=O", printStereoWarnings=False) +smiles(R"C(=C\CCCCCCCCCC(C)C)/C=O", printStereoWarnings=False) +smiles(R"C(CCCC)CCCCCCCCCC=O", printStereoWarnings=False) +smiles(R"C(CCCC)CCCCCCCCC(C=O)C", printStereoWarnings=False) +smiles(R"C(CCCCCCCCCCCCCCO)CCC", printStereoWarnings=False) +smiles(R"CC(CCCC(CCCC(CCCC(C=O)C)C)C)C", printStereoWarnings=False) +smiles(R"CC(=C)C(CC/C(=C/CC[C@](/C=C/[C@@H](CC/C=C(/CCC=C(C)C)\C)C)(C=C)C)/C)C", printStereoWarnings=False) +smiles(R"CC(=C)C(CC/C(=C/CC[C@](/C=C/[C@@H](CC/C=C(/CCC(C(=C)C)C)\C)C)(C=C)C)/C)C", printStereoWarnings=False) +smiles(R"C(CCCCCCCCCCCC[C@H]([C@H]([C@H](CO)[NH3+])O)O)C", printStereoWarnings=False) +smiles(R"C(CCCCCCCCCCCC[C@H]([C@H]([C@H](COP(=O)([O-])[O-])[NH3+])O)O)C", printStereoWarnings=False) +smiles(R"C=C[C@](CC/C=C(/CCC=C(C)C)\C)(O)C", printStereoWarnings=False) +smiles(R"C=C[C@@](CC/C=C(/CCC=C(C)C)\C)(O)C", printStereoWarnings=False) +smiles(R"C/C(=C/C=C/C(=C/C=C/C=C(/C=C/C=O)\C)/C)/C=C/C1=C(CCCC1(C)C)C", printStereoWarnings=False) +smiles(R"CC(CCCCCCCCCCCC(=O)[C@H](CO)[NH3+])C", printStereoWarnings=False) +smiles(R"CC(=CCC/C(=C/CC[C@](/C=C/[C@@H](CC/C=C(/CCC=C(C)C)\C)C)(C=C)C)/C)C", printStereoWarnings=False) +smiles(R"CC(=CCC/C(=C/CC[C@](/C=C/[C@@H](CC/C=C(/CCC(C(=C)C)C)\C)C)(C=C)C)/C)C", printStereoWarnings=False) +smiles(R"C(=C\C/C=C\CCCCC)\C=C\[C@@H](C/C=C\CCCC(=O)[O-])OO", printStereoWarnings=False) +smiles(R"C(CCCCCCCCCC[C@H]([C@H](CO)NC(=O)CCCCCCCCCCCCCCCCCCCCCCCCC)O)CCCC", printStereoWarnings=False) +smiles(R"C(CCCCCCCCCC[C@H]([C@H](CO)NC(=O)C(CCCCCCCCCCCCCCCCCCCCCCCC)O)O)CCCC", printStereoWarnings=False) +smiles(R"C(CCCCCCCCCC[C@H]([C@H](CO)NC(=O)CCCCCCCCCCCCCCCCCCCCCCC)O)CCCC", printStereoWarnings=False) +smiles(R"C(CCCCCCCCCC[C@H]([C@H](CO)NC(=O)C(CCCCCCCCCCCCCCCCCCCCCC)O)O)CCCC", printStereoWarnings=False) +smiles(R"CCCCCCCCCCC[C@H]([C@H](CO)[NH3+])O", printStereoWarnings=False) +smiles(R"C(CCCCCCCCCC[C@H]([C@H](CO)[NH3+])O)CC", printStereoWarnings=False) +smiles(R"CCCCCCCCCCCC(=O)[C@H](CO)[NH3+]", printStereoWarnings=False) +smiles(R"C(CCCCCCCCCCC(=O)[C@H](CO)[NH3+])CC", printStereoWarnings=False) +smiles(R"C(CCCCCCCCCCC(=O)[C@H](CO)[NH3+])CCCC", printStereoWarnings=False) +smiles(R"C(CCCCCCCCCCC(=O)[C@H](CO)[NH3+])CCCCCC", printStereoWarnings=False) +smiles(R"C(/C(=C/CC/C(=C/CC/C(=C/COP(=O)(OP(=O)([O-])[O-])[O-])/C)/C)/C)C/C=C(/CC/C=C(/CCC=C(C)C)\C)\C", printStereoWarnings=False) +smiles(R"C(CCCCCCCCC[C@H]([C@H]([C@H](CO)NC(=O)CCCCCCCCCCCCCCCCCCCCCCCCC)O)O)CCCC", printStereoWarnings=False) +smiles(R"C(CCCCCCCCC[C@H]([C@H]([C@H](CO)NC(=O)CCCCCCCCCCCCCCCCCCCCCCCCC)O)O)CCCCCC", printStereoWarnings=False) +smiles(R"C(CCCCCCCCC[C@H]([C@H]([C@H](CO)NC(=O)C(CCCCCCCCCCCCCCCCCCCCCCCC)O)O)O)CCCC", printStereoWarnings=False) +smiles(R"C(CCCCCCCCC[C@H]([C@H]([C@H](CO)NC(=O)CCCCCCCCCCCCCCCCCCCCCCC)O)O)CCCC", printStereoWarnings=False) +smiles(R"C(CCCCCCCCC[C@H]([C@H]([C@H](CO)NC(=O)C(CCCCCCCCCCCCCCCCCCCCCC)O)O)O)CCCC", printStereoWarnings=False) +smiles(R"C(CCCCCCCCC[C@H]([C@H]([C@H](CO)NC(=O)CCCCCCCCCCCCCCC)O)O)CCCC", printStereoWarnings=False) +smiles(R"C(=C\CC/C(=C\CC/C(=C\COP(=O)(OP(=O)(O[C@H]1O[C@@H]([C@H]([C@@H]([C@H]1NC(=O)C)O[C@@H]1[C@@H]([C@H]([C@H]([C@H](O1)CO)O[C@@H]1[C@@H]([C@H]([C@H]([C@H](O1)CO)O[C@@H]1[C@@H]([C@H]([C@H]([C@H](O1)CO)O[C@@H]1[C@@H]([C@H]([C@H]([C@H](O1)CO)O[C@@H]1[C@@H]([C@H]([C@H]([C@H](O1)CO)O)O)NC(=O)C)O)NC(=O)C)O)NC(=O)C)O)NC(=O)C)O)NC(=O)C)NC(=O)C)C)[O-])[O-])/C)/C)(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\C)/CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)/C)/C)/C)/C)/C", printStereoWarnings=False) +smiles(R"C(=C\CC/C(=C\CC/C(=C\COP(=O)(OP(=O)(O[C@H]1O[C@@H]([C@H]([C@@H]([C@H]1NC(=O)C)O[C@@H]1[C@@H]([C@H]([C@H]([C@H](O1)CO)O[C@@H]1[C@@H]([C@H]([C@H]([C@H](O1)CO)O)O)NC(=O)C)O)NC(=O)C)NC(=O)C)C)[O-])[O-])/C)/C)(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\C)/CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)/C)/C)/C)/C)/C", printStereoWarnings=False) +smiles(R"C(=C)[C@](CCC=C(C)C)(C)O", printStereoWarnings=False) +smiles(R"C(=C)[C@@](CCC=C(C)C)(C)O", printStereoWarnings=False) +smiles(R"C(=C)C(CCC=C(C)C)(C)O", printStereoWarnings=False) +smiles(R"C(CCCCCCCCC=O)CCC(C)C", printStereoWarnings=False) +smiles(R"C(C/C(=C\CCC(C)CCO)/C)/C=C(/CC/C=C(/CCC=C(C)C)\C)\C", printStereoWarnings=False) +smiles(R"CCCCCCCCCC(O)CCCCCCCCCCCC(=O)[O-]", printStereoWarnings=False) +smiles(R"C(/C=C\C/C=C\CCCC(=O)[O-])/C=C\C=C\[C@H](CCCCC)O", printStereoWarnings=False) +smiles(R"C(/C=C\C/C=C\CCCC(=O)[O-])/C=C\C=C\[C@H](CCCCC)OO", printStereoWarnings=False) +smiles(R"C(CCCCCCCCC(=O)[O-])O", printStereoWarnings=False) +smiles(R"C(=C\C(C/C=C\CCCC(=O)[O-])O)/[C@@H]1[C@H](C/C=C\CCCCC)O1", printStereoWarnings=False) +smiles(R"C(C/C(=C\CCC(C)CCOP(=O)(OC1OC[C@H]([C@@H]([C@H]1O)O)O)[O-])/C)/C=C(/CC/C=C(/CCC=C(C)C)\C)\C", printStereoWarnings=False) +smiles(R"C(C/C(=C\CCC(C)CCOP(=O)(OC1O[C@@H]([C@H]([C@@H]([C@@H]1O)O)O)CO)[O-])/C)/C=C(\C)/CC/C=C(\C)/CCC=C(C)C", printStereoWarnings=False) +smiles(R"C(C/C(=C\CCC(C)CCOP(=O)(O[C@H]1O[C@@H]([C@H]([C@@H]([C@H]1NC(=O)C)O)O)CO)[O-])/C)/C=C(/CC/C=C(/CCC=C(C)C)\C)\C", printStereoWarnings=False) +smiles(R"C(C/C(=C\CCC(C)CCOP(=O)(O[C@@H]1O[C@@H]([C@H]([C@@H]([C@@H]1O)O)O)CO)[O-])/C)/C=C(\C)/CC/C=C(\C)/CCC=C(C)C", printStereoWarnings=False) +smiles(R"C(C/C(=C\CCC(C)CCOP(=O)(O[C@@H]1O[C@@H]([C@H]([C@@H]([C@H]1O)O)O)CO)[O-])/C)/C=C(\C)/CC/C=C(\C)/CCC=C(C)C", printStereoWarnings=False) +smiles(R"C(C/C(=C\CCC(C)CCOP(=O)([O-])[O-])/C)/C=C(/CC/C=C(/CCC=C(C)C)\C)\C", printStereoWarnings=False) +smiles(R"C(C/C(=C\CCC(C)CCOP(=O)(OP(=O)(OC1O[C@@H]([C@H]([C@@H]([C@H]1NC(=O)C)O)O[C@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O[C@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)O)O[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)O)O)O[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O[C@@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O[C@@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O[C@@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)O)O)O)O)NC(=O)C)CO)[O-])[O-])/C)/C=C(/CC/C=C(/CCC=C(C)C)\C)\C", printStereoWarnings=False) +smiles(R"C(C/C(=C\CCC(C)CCOP(=O)(OP(=O)(OC1O[C@@H]([C@H]([C@@H]([C@H]1NC(=O)C)O)O[C@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O[C@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)O)O[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)O)O)O[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O[C@@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O[C@@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)O)O)O)O)NC(=O)C)CO)[O-])[O-])/C)/C=C(/CC/C=C(/CCC=C(C)C)\C)\C", printStereoWarnings=False) +smiles(R"C(C/C(=C\CCC(C)CCOP(=O)(OP(=O)(OC1O[C@@H]([C@H]([C@@H]([C@H]1NC(=O)C)O)O[C@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O[C@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)O)O[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)O)O)O[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O[C@@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)O)O)O)NC(=O)C)CO)[O-])[O-])/C)/C=C(/CC/C=C(/CCC=C(C)C)\C)\C", printStereoWarnings=False) +smiles(R"C(C/C(=C\CCC(C)CCOP(=O)(OP(=O)(OC1O[C@@H]([C@H]([C@@H]([C@H]1NC(=O)C)O)O[C@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O[C@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)O)O[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)O)O)O[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)O)O)NC(=O)C)CO)[O-])[O-])/C)/C=C(/CC/C=C(/CCC=C(C)C)\C)\C", printStereoWarnings=False) +smiles(R"C(C/C(=C\CCC(C)CCOP(=O)(OP(=O)(OC1O[C@@H]([C@H]([C@@H]([C@H]1NC(=O)C)O)O[C@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O[C@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)O)O[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)O)O)O[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)O)O)NC(=O)C)CO)[O-])[O-])/C)/C=C(/CC/C=C(/CCC=C(C)C)\C)\C", printStereoWarnings=False) +smiles(R"C(C/C(=C\CCC(C)CCOP(=O)(OP(=O)(OC1O[C@@H]([C@H]([C@@H]([C@H]1NC(=O)C)O)O[C@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O[C@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)O)O)O[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)O)O)NC(=O)C)CO)[O-])[O-])/C)/C=C(/CC/C=C(/CCC=C(C)C)\C)\C", printStereoWarnings=False) +smiles(R"C(C/C(=C\CCC(C)CCOP(=O)(OP(=O)(OC1O[C@@H]([C@H]([C@@H]([C@H]1NC(=O)C)O)O[C@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O[C@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O[C@H]1O[C@@H]([C@H]([C@@H]([C@@H]1O)O)O)CO)O)O)O[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)O)O)NC(=O)C)CO)[O-])[O-])/C)/C=C(/CC/C=C(/CCC=C(C)C)\C)\C", printStereoWarnings=False) +smiles(R"C(C/C(=C\CCC(C)CCOP(=O)(OP(=O)(OC1O[C@@H]([C@H]([C@@H]([C@H]1NC(=O)C)O)O[C@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O[C@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)O)O[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)O)O)NC(=O)C)CO)[O-])[O-])/C)/C=C(/CC/C=C(/CCC=C(C)C)\C)\C", printStereoWarnings=False) +smiles(R"C(C/C(=C\CCC(C)CCOP(=O)(OP(=O)(OC1O[C@@H]([C@H]([C@@H]([C@H]1NC(=O)C)O)O[C@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O[C@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)O)O[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)O)O)NC(=O)C)CO)[O-])[O-])/C)/C=C(/CC/C=C(/CCC=C(C)C)\C)\C", printStereoWarnings=False) +smiles(R"C(C/C(=C\CCC(C)CCOP(=O)(OP(=O)(OC1O[C@@H]([C@H]([C@@H]([C@H]1NC(=O)C)O)O[C@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O[C@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)O)O)NC(=O)C)CO)[O-])[O-])/C)/C=C(/CC/C=C(/CCC=C(C)C)\C)\C", printStereoWarnings=False) +smiles(R"C(C/C(=C\CCC(C)CCOP(=O)(OP(=O)(OC1O[C@@H]([C@H]([C@@H]([C@H]1NC(=O)C)O)O[C@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O[C@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)O)NC(=O)C)CO)[O-])[O-])/C)/C=C(/CC/C=C(/CCC=C(C)C)\C)\C", printStereoWarnings=False) +smiles(R"C(C/C(=C\CCC(C)CCOP(=O)(OP(=O)(O[C@H]1O[C@@H]([C@H]([C@@H]([C@H]1NC(=O)C)O)O)CO)[O-])[O-])/C)/C=C(/CC/C=C(/CCC=C(C)C)\C)\C", printStereoWarnings=False) +smiles(R"C(=C(\CCC=C(C)C)/C)/COP(=O)(OP(=O)([O-])[O-])[O-]", printStereoWarnings=False) +smiles(R"C(=C(\CCC=C(C)C)/C)(/COP(=O)(OP(=O)([O-])[O-])[O-])\C", printStereoWarnings=False) +smiles(R"C(C/C(=C\CCC(C)CCOP(=O)(OP(=O)([O-])[O-])[O-])/C)/C=C(/CC/C=C(/CCC=C(C)C)\C)\C", printStereoWarnings=False) +smiles(R"C(/C=C\CCCCC)[C@H](/C=C/C=C/C=C\[C@H](CCCC(=O)[O-])O)O", printStereoWarnings=False) +smiles(R"C(C/C(=C\CC/C(=C\CO)/C)/C)/C=C(/CC/C=C(/CCC=C(C)C)\C)\C", printStereoWarnings=False) +smiles(R"[C@@](CCC=C(C)C)([C@@H]1[C@@H]2[C@]([C@@]3(CC[C@@H]4[C@](CC[C@@H](C4(C)C)O)([C@H]3CC2)C)C)(CC1)C)(O)C", printStereoWarnings=False) +smiles(R"C(C(CCCC)CC)O", printStereoWarnings=False) +smiles(R"C(CCCCCC)C=O", printStereoWarnings=False) +smiles(R"C(CCCCCCC)O", printStereoWarnings=False) +smiles(R"C(/C=C\CCCCCO)/C=C\C=C\C=C\[C@H]([C@@H](O)CCCC(=O)[O-])SC[C@H]([NH3+])C(=O)[O-]", printStereoWarnings=False) +smiles(R"C(/C(=C/CCC(C=C)(O)C)/C)O", printStereoWarnings=False) +smiles(R"C(/C=C\CCCCCO)[C@H](/C=C/C=C/C=C\[C@H](CCCC(=O)[O-])O)O", printStereoWarnings=False) +smiles(R"C(CCCCCCC(=O)NCCO)/C=C\CCCCCC", printStereoWarnings=False) +smiles(R"CC(=CCC/C(=C/C(=O)[O-])/C)C", printStereoWarnings=False) +smiles(R"C(=CCC(C(=C)C)COP(=O)([O-])OP(=O)([O-])[O-])(C)C", printStereoWarnings=False) +smiles(R"C=C(C/C=C(/C)\C=O)C(C)C", printStereoWarnings=False) +smiles(R"C(=CCC/C(=C/CO)/C)(C)C", printStereoWarnings=False) +smiles(R"C(=C\CC/C(=C/CO)/C)(/CCC=C(C)C)\C", printStereoWarnings=False) +smiles(R"C(=C\CC/C(=C\CO)/C)(/CCC=C(C)C)\C", printStereoWarnings=False) +smiles(R"C(=C\CC/C(=C/C=O)/C)(/C=O)\C", printStereoWarnings=False) +smiles(R"C(=C\CC/C(=C/C=O)/C)(/CO)\C", printStereoWarnings=False) +smiles(R"C(=C\CC/C(=C/CO)/C)(/C=O)\C", printStereoWarnings=False) +smiles(R"C(=C\CC/C(=C/CO)/C)(/CO)\C", printStereoWarnings=False) +smiles(R"C(=C\CC/C(=C/COP(=O)(OP(=O)(OP(=O)(O)[O-])[O-])[O-])/C)(/CCC=C(C)C)\C", printStereoWarnings=False) +smiles(R"C(=C\CC/C(=C/CSC[C@@H](C(=O)[O-])[NH3+])/C)(/CCC=C(C)C)\C", printStereoWarnings=False) +smiles(R"C(/C=C\CC)[C@@H]1[C@@H](CC(=O)[O-])CCC1=O", printStereoWarnings=False) +smiles(R"C(/C=C\C=C\[C@H](CCCC(=O)[O-])OO)/C=C\C/C=C\CCCCC", printStereoWarnings=False) +smiles(R"C(C(C)C)CC=O", printStereoWarnings=False) +smiles(R"CC(=CCCC(=O)C)C", printStereoWarnings=False) +smiles(R"CC(=CCCC(O)C)C", printStereoWarnings=False) +smiles(R"CCCCCC(=O)NC", printStereoWarnings=False) +smiles(R"CCCCCC(=O)[O-]", printStereoWarnings=False) +smiles(R"C(CCCCC(=O)[O-])CCCC=O", printStereoWarnings=False) +smiles(R"C(CCCCC(=O)[O-])[NH3+]", printStereoWarnings=False) +smiles(R"C(=C\C)\C=C(\C(=O)[O-])/O", printStereoWarnings=False) +smiles(R"C(CCCCC(=O)[O-])O", printStereoWarnings=False) +smiles(R"CCCC[C@@H](C)[C@@H](O)[C@H](C[C@H](C[C@@H](CCCC[C@H](C[C@@H]([C@H](C)[NH3+])O)O)O)C)O", printStereoWarnings=False) +smiles(R"CCCC[C@@H](C)[C@@H](OC(=O)C[C@H](C(=O)[O-])CC(=O)[O-])[C@H](C[C@H](C[C@@H](CCCC[C@H](C[C@@H]([C@H](C)[NH3+])O)O)O)C)OC(=O)C[C@@H](CC(=O)[O-])C(=O)[O-]", printStereoWarnings=False) +smiles(R"C(CCC)[C@@H](C(=O)[O-])[NH3+]", printStereoWarnings=False) +smiles(R"C(=C(C)C)CO", printStereoWarnings=False) +smiles(R"C(CC)(C)C=O", printStereoWarnings=False) +smiles(R"CC(C)CC=O", printStereoWarnings=False) +smiles(R"C(CCC)C(=O)N", printStereoWarnings=False) +smiles(R"CCCCC(=O)[O-]", printStereoWarnings=False) +smiles(R"C(=C\C(=C/C(=O)OC1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)\C)/[C@@]1(C(CC(=O)C=C1C)(C)C)O", printStereoWarnings=False) +smiles(R"C(=C\C(=C/C(=O)[O-])\C)/[C@@]1([C@@](CC(=O)C=C1C)(C)CO)O", printStereoWarnings=False) +smiles(R"C(=C\C(=C/C(=O)[O-])\C=C/C(=O)[O-])\C(=O)[O-]", printStereoWarnings=False) +smiles(R"C(CCCC(=O)[O-])C(CCS)S", printStereoWarnings=False) +smiles(R"C(=C(\C=C/C(=O)[O-])/Cl)\C(=O)[O-]", printStereoWarnings=False) +smiles(R"C(=C\C=C(/C(=O)[O-])\Cl)(\C(=O)[O-])/Cl", printStereoWarnings=False) +smiles(R"C(=C\C(=C/C=O)\O)\C(=O)[O-]", printStereoWarnings=False) +smiles(R"C(=C/C=C\C(=O)[O-])(C(=O)[O-])C(=O)[O-]", printStereoWarnings=False) +smiles(R"C(=C(\C=C/C(=O)[O-])/C(=O)[O-])\C(=O)[O-]", printStereoWarnings=False) +smiles(R"C(/C(=C(\C)/C(=O)[O-])/C(=O)[O-])C(=O)[O-]", printStereoWarnings=False) +smiles(R"C([C@](CCC(=O)[O-])(C(=O)[O-])O)C(=O)[O-]", printStereoWarnings=False) +smiles(R"C(C(CCC(=O)[O-])(C(=O)[O-])O)C(=O)[O-]", printStereoWarnings=False) +smiles(R"C(=C\C=C(/C(=O)[O-])\O)(/C[C@@H](C(=O)[O-])[NH3+])\C=O", printStereoWarnings=False) +smiles(R"CC(C)[C@@H]1CCC(=C2CCC(=C[C@@H]12)C)C", printStereoWarnings=False) +smiles(R"CC(C)[C@H]1CCC(=C2CCC(=C[C@H]12)C)C", printStereoWarnings=False) +smiles(R"C(C[C@]([C@H](CCCCCCCCCC)C(=O)[O-])(C(=O)[O-])O)C(=O)[O-]", printStereoWarnings=False) +smiles(R"C(=C\C([C@@H](C/C=C\CCCCC)O)O)/C(C/C=C\CCCC(=O)[O-])O", printStereoWarnings=False) +smiles(R"C(CC[C@@H](C(=O)[O-])NC(=O)C)C=O", printStereoWarnings=False) +smiles(R"C(CC[C@H](C(=O)[O-])[NH3+])[NH3+]", printStereoWarnings=False) +smiles(R"C(C)C(C#N)C", printStereoWarnings=False) +smiles(R"C/C(=C/CNc1c2c([nH]cn2)ncn1)/CO", printStereoWarnings=False) +smiles(R"C(/C(=C/CNc1c2c([nH]cn2)ncn1)/C)O", printStereoWarnings=False) +smiles(R"C(CCCNC(=[NH2+])N)NC(=[NH2+])N", printStereoWarnings=False) +smiles(R"C(CCCNC(=O)C)[NH3+]", printStereoWarnings=False) +smiles(R"C(CCC[NH2+]CC[C@@H](C(=O)[O-])[NH3+])[NH3+]", printStereoWarnings=False) +smiles(R"C(C(C)C)[NH3+]", printStereoWarnings=False) +smiles(R"CC(C)(C)[NH3+]", printStereoWarnings=False) +smiles(R"C(CCC[NH3+])C(=O)N", printStereoWarnings=False) +smiles(R"C(CCC[NH3+])[NH2+]CCC[NH2+]CCC[NH3+]", printStereoWarnings=False) +smiles(R"C(C)C(/C=N/O)C", printStereoWarnings=False) +smiles(R"C(C)C(/C=N\O)C", printStereoWarnings=False) +smiles(R"C(#C)CCO", printStereoWarnings=False) +smiles(R"C(CC)C=O", printStereoWarnings=False) +smiles(R"C(CCC)O", printStereoWarnings=False) +smiles(R"CC(=CC=O)C", printStereoWarnings=False) +smiles(R"CC(CCO)C", printStereoWarnings=False) +smiles(R"C(CCC=O)C(C(=O)[O-])[NH3+]", printStereoWarnings=False) +smiles(R"C(CCC=O)[C@@H](C(=O)[O-])[NH3+]", printStereoWarnings=False) +smiles(R"C(=C\CC(=O)C(=O)[O-])\C(=O)[O-]", printStereoWarnings=False) +smiles(R"C(=C(\CC(=O)C(=O)[O-])/C(=O)[O-])\C(=O)[O-]", printStereoWarnings=False) +smiles(R"C(C(CC(=O)C(=O)[O-])(C(=O)[O-])O)C(=O)[O-]", printStereoWarnings=False) +smiles(R"C(CCC=O)[N+](C)(C)C", printStereoWarnings=False) +smiles(R"CCCC(=O)[O-]", printStereoWarnings=False) +smiles(R"C(C(CC(=O)[O-])C(=C)C)CC(=O)C", printStereoWarnings=False) +smiles(R"C(/C(=C(\C(=O)[O-])/C)/C(=O)[O-])C(=O)[O-]", printStereoWarnings=False) +smiles(R"C(=C(\C)/C(=O)[O-])/C(=O)[O-]", printStereoWarnings=False) +smiles(R"C(CCC(=O)[O-])C(=O)[O-]", printStereoWarnings=False) +smiles(R"C(C(CC(=O)[O-])C(=O)[O-])C(=O)[O-]", printStereoWarnings=False) +smiles(R"C(C(CC(=O)[O-])C(=O)[O-])(C(=O)[O-])OC(=O)/C=C\c1cc(c(cc1)O)O", printStereoWarnings=False) +smiles(R"C(CCC(=O)[O-])[N+](C)(C)C", printStereoWarnings=False) +smiles(R"C(CC(C(=O)[O-])[NH3+])C(=O)NC(C(=O)[O-])CSSCC(C(=O)[O-])NC(=O)CCC(C(=O)[O-])[NH3+]", printStereoWarnings=False) +smiles(R"C(C(C)C(=O)[O-])O", printStereoWarnings=False) +smiles(R"C(CC(C(=O)[O-])(O)CC(=O)[O-])CSC", printStereoWarnings=False) +smiles(R"C(CC(C(=O)[O-])(O)CC(=O)[O-])SC", printStereoWarnings=False) +smiles(R"C(C(CC(=O)[O-])O)[N+](C)(C)C", printStereoWarnings=False) +smiles(R"C(/C(=C\COP(=O)(OP(=O)([O-])[O-])[O-])/C)C/C=C(/CC/C=C(/CCC=C(C)C)\C)\C", printStereoWarnings=False) +smiles(R"CCCCS(=O)(=O)[O-]", printStereoWarnings=False) +smiles(R"C=C([C@@H]1CC(=O)O[C@@H](CC1)C)C", printStereoWarnings=False) +smiles(R"C=C([C@H]1CC(=O)O[C@@H](CC1)C)C", printStereoWarnings=False) +smiles(R"C(C[C@@H]1C(=O)CC[C@]2([C@H]1CCC2=O)C)C(=O)/C(=C/C=C(/C(=O)[O-])\O)/C", printStereoWarnings=False) +smiles(R"C(C[C@@H]1C(=O)CC[C@]2([C@H]1CCC2=O)C)C(=O)/C(=C\C=C(\O)/C(=O)[O-])/C", printStereoWarnings=False) +smiles(R"C(C[C@@H]1C(=O)CC[C@]2([C@H]1CCC2=O)C)C(=O)[O-]", printStereoWarnings=False) +smiles(R"C=C([C@H]1COC(=O)[C@@H](CC1)C)C", printStereoWarnings=False) +smiles(R"C([C@]([C@H](CCCCCCCCCC)C(=O)[O-])(C(=O)[O-])O)C(=O)[O-]", printStereoWarnings=False) +smiles(R"C(=C\[C@H](C/C=C\CCCCC)OO)/C=C\C/C=C\CCCC(=O)[O-]", printStereoWarnings=False) +smiles(R"CC[C@@H](CC(=O)C(=O)[O-])O", printStereoWarnings=False) +smiles(R"C(C[C@H]([C@H](C(=O)[O-])[NH3+])C)[NH3+]", printStereoWarnings=False) +smiles(R"C(C[C@H](C[NH3+])O)[C@@H](C(=O)[O-])[NH3+]", printStereoWarnings=False) +smiles(R"C([C@]([C@@H](C(=O)[O-])C)(C(=O)[O-])O)C(=O)[O-]", printStereoWarnings=False) +smiles(R"C(C[C@@H](C(=O)[O-])[NH3+])C(=O)N[C@H](C(=O)[O-])CS", printStereoWarnings=False) +smiles(R"C(C[C@H](NC(=O)C)C(=O)[O-])C(=O)[O-]", printStereoWarnings=False) +smiles(R"C(C[C@H](NC=O)C(=O)[O-])SC", printStereoWarnings=False) +smiles(R"C(C[C@H]([NH3+])C=O)C(=O)[O-]", printStereoWarnings=False) +smiles(R"C(=C\[C@@H](O)CCCCC)/[C@@H]1[C@@H](C/C=C\CCCC(=O)[O-])C(=O)C[C@H]1O", printStereoWarnings=False) +smiles(R"C(=C\[C@@H](OO)C/C=C\CC)/C=C\CCCCCCCC(=O)[O-]", printStereoWarnings=False) +smiles(R"C(CCNC(=[NH2+])N)[C@H]([NH2+][C@@H](C(=O)[O-])CCC(=O)[O-])C(=O)[O-]", printStereoWarnings=False) +smiles(R"C(CCNC(=O)c1ccccc1)[C@@H](C(=O)[O-])NC(=O)c1ccccc1", printStereoWarnings=False) +smiles(R"C(CCNC(=O)C)[NH2+]CCCC=O", printStereoWarnings=False) +smiles(R"C(CCNC(=O)N)[C@@H](C(=O)[O-])NC(=O)C", printStereoWarnings=False) +smiles(R"C(CC[NH2+]CCCNC(=O)C)C[NH3+]", printStereoWarnings=False) +smiles(R"C(CC[NH2+]CCC[NH2+]CCC[NH3+])[NH3+]", printStereoWarnings=False) +smiles(R"C(CC[NH2+][C@@H](C)C(=O)[O-])[C@@H](C(=O)[O-])[NH3+]", printStereoWarnings=False) +smiles(R"C(C)(C)[NH3+]", printStereoWarnings=False) +smiles(R"C(CC[NH3+])CC[NH3+]", printStereoWarnings=False) +smiles(R"C(C(C)[NH3+])C(C(=O)[O-])[NH3+]", printStereoWarnings=False) +smiles(R"C(CC[NH3+])[C@@H](C(=O)[O-])NC(=O)C", printStereoWarnings=False) +smiles(R"C(CC[NH3+])[NH3+]", printStereoWarnings=False) +smiles(R"CC(/C=N/O)C", printStereoWarnings=False) +smiles(R"C=CC=O", printStereoWarnings=False) +smiles(R"C(=C)CO", printStereoWarnings=False) +smiles(R"C(C)C=O", printStereoWarnings=False) +smiles(R"C#CCO", printStereoWarnings=False) +smiles(R"CC(C)O", printStereoWarnings=False) +smiles(R"C(C(CO)c1cc(c(cc1)OC)OC)(O)c1cc(c(cc1)OC)OC", printStereoWarnings=False) +smiles(R"C(=C\C=O)(/CCC=C(C)C)\C", printStereoWarnings=False) +smiles(R"CCC(=O)C(CC)O", printStereoWarnings=False) +smiles(R"C(=C\C=O)(\C=C(/C(=O)[O-])\O)/C(=O)[O-]", printStereoWarnings=False) +smiles(R"C(=C\C=O)(/C[C@@H](C(=O)[O-])[NH3+])\C=C(/C(=O)[O-])\O", printStereoWarnings=False) +smiles(R"C([C@@](C)(O)C#N)C", printStereoWarnings=False) +smiles(R"C(C(C)(O)C#N)C", printStereoWarnings=False) +smiles(R"C(CC=O)C[NH3+]", printStereoWarnings=False) +smiles(R"C(#CCO)CO", printStereoWarnings=False) +smiles(R"C(CCO)C(=O)[O-]", printStereoWarnings=False) +smiles(R"C(=C\C(=O)C(=O)[O-])\c1c(cccc1)C(=O)[O-]", printStereoWarnings=False) +smiles(R"C(C(C)O)[N+](C)(C)C", printStereoWarnings=False) +smiles(R"C(=C)(C(=O)N)C[C@@H](C(=O)[O-])[NH3+]", printStereoWarnings=False) +smiles(R"C(=C)C(=O)[O-]", printStereoWarnings=False) +smiles(R"C#CC(=O)[O-]", printStereoWarnings=False) +smiles(R"C(=C\C(=O)[O-])/c1c[nH]cn1", printStereoWarnings=False) +smiles(R"C(CC(=O)[O-])(CCCC(CCCC(CCCC(C)C)C)C)C", printStereoWarnings=False) +smiles(R"C(=C(\C(=O)[O-])/C)/C=C/C(=C/C=C/C=C(/C=C/C=C(/C(=O)[O-])\C)\C)/C", printStereoWarnings=False) +smiles(R"C(CC(=O)[O-])C/C=C\C/C=C\C/C=C\C=C\C(=O)CCCCC", printStereoWarnings=False) +smiles(R"C(CC(=O)[O-])CCCCC/C=C\C=C\[C@H](/C=C\CCC)OO", printStereoWarnings=False) +smiles(R"C(=C\C(=O)[O-])(/CCC(=O)[O-])\C(=O)[O-]", printStereoWarnings=False) +smiles(R"C(=C\C(=O)[O-])(\C=C/C(=O)[O-])/O", printStereoWarnings=False) +smiles(R"C(=C\C(=O)[O-])(\C=C(/C(=O)[O-])\O)/C(=O)[O-]", printStereoWarnings=False) +smiles(R"C(=C(\C(=O)[O-])/C)/C(=O)[O-]", printStereoWarnings=False) +smiles(R"C(=C)(C(=O)[O-])CC(=O)[O-]", printStereoWarnings=False) +smiles(R"C(CC(=O)[O-])CNC(=O)C", printStereoWarnings=False) +smiles(R"C(=C\C(=O)[O-])\C(=O)CC(=O)C(=O)[O-]", printStereoWarnings=False) +smiles(R"C(CC(=O)[O-])(C(=O)C(=O)[O-])C(=O)[O-]", printStereoWarnings=False) +smiles(R"C(=C\C(=O)[O-])/C(=O)[O-]", printStereoWarnings=False) +smiles(R"C(CC(=O)[O-])C(=O)[O-]", printStereoWarnings=False) +smiles(R"C(C(C(=O)[O-])[NH3+])CSSCCC(C(=O)[O-])[NH3+]", printStereoWarnings=False) +smiles(R"C(C(C(=O)[O-])N)[NH3+]", printStereoWarnings=False) +smiles(R"C(C(CO)O)O", printStereoWarnings=False) +smiles(R"C(=C(\C(=O)[O-])/O)/C=C", printStereoWarnings=False) +smiles(R"C(=C(\C(=O)[O-])/O)\C=C", printStereoWarnings=False) +smiles(R"C(=C(\C(=O)[O-])/O)/C=C/C(=O)[O-]", printStereoWarnings=False) +smiles(R"C(=C(\C(=O)[O-])/O)\C=C/C(=O)[O-]", printStereoWarnings=False) +smiles(R"C(C(CO)O)(O)C(=O)CO", printStereoWarnings=False) +smiles(R"C(CC(SC(=O)C)CCS)CCC(=O)N", printStereoWarnings=False) +smiles(R"C(C(CS)O)(CS)O", printStereoWarnings=False) +smiles(R"C[C@H]1CC(=O)O[C@@H](CC1)C(C)C", printStereoWarnings=False) +smiles(R"C([C@@H]1[C@H]([C@H]([C@H](n2cnc3c(N)ncnc23)O1)O)O)OP(=O)(OP(=O)(OP(=O)(OP(=O)(OP(=O)(OC[C@@H]1[C@H]([C@H]([C@H](n2cnc3c2ncnc3N)O1)O)O)[O-])[O-])[O-])[O-])[O-]", printStereoWarnings=False) +smiles(R"C([C@H](Cc1nc[nH]c1)[NH3+])O", printStereoWarnings=False) +smiles(R"C([C@@H]([C@](C)(C(=O)[O-])O)C(=O)[O-])C(=O)[O-]", printStereoWarnings=False) +smiles(R"C[C@@H](CC(=O)C(=O)[O-])O", printStereoWarnings=False) +smiles(R"C([C@@H](CC(=O)[O-])O)[N+](C)(C)C", printStereoWarnings=False) +smiles(R"C([C@H](CC(=O)[O-])O)[N+](C)(C)C", printStereoWarnings=False) +smiles(R"C([C@@H]([C@@H](/C=C/CCCCCCCCCCCCC)O)[NH3+])OP(=O)(OCC[N+](C)(C)C)[O-]", printStereoWarnings=False) +smiles(R"C([C@H]([C@H]([C@@H]([C@@H](CO)O)O)O)O)O", printStereoWarnings=False) +smiles(R"C([C@H]([C@H]([C@@H]([C@@H](CO)O)O)O)O)OP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"C([C@@H]([C@H]([C@@H]([C@@H](COP(=O)([O-])[O-])O)O)O)O)O", printStereoWarnings=False) +smiles(R"C[C@@H]([C@@H]([C@H](C(=O)CO)O)O)O", printStereoWarnings=False) +smiles(R"C([C@H]([C@H]([C@@H](C(=O)C(=O)[O-])O)O)O)OP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"C([C@@H]([C@@H]([C@@H](CO)O)O)O)O", printStereoWarnings=False) +smiles(R"C([C@@H]([C@H]([C@H](CO)O)O)O)O", printStereoWarnings=False) +smiles(R"C([C@H]([C@@H]([C@H](C(=O)[O-])O)O)O)O", printStereoWarnings=False) +smiles(R"C([C@H]([C@@H]([C@@H](CO)O)O)O)OP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"C([C@@H]([C@H]([C@@H](COP(=O)([O-])[O-])O)O)O)O", printStereoWarnings=False) +smiles(R"C([C@@H]([C@H]([C@H](O)CO)O)O)O", printStereoWarnings=False) +smiles(R"C([C@H]([C@@H](C(=O)C)O)O)[C@@H](C(=O)[O-])[NH3+]", printStereoWarnings=False) +smiles(R"C([C@H]([C@@H](C(=O)C)O)O)C(=O)C(=O)[O-]", printStereoWarnings=False) +smiles(R"C[C@@H]([C@H](C)O)O", printStereoWarnings=False) +smiles(R"C[C@H]([C@@H](C)O)O", printStereoWarnings=False) +smiles(R"C([C@H]([C@@H](CO)O)O)O", printStereoWarnings=False) +smiles(R"C([C@@H]([C@H](O)CO)O)C=O", printStereoWarnings=False) +smiles(R"C([C@H](C[N+](C)(C)C)OC(=O)C)C(=O)[O-]", printStereoWarnings=False) +smiles(R"C([C@H](C[N+](C)(C)C)O)C(=O)N", printStereoWarnings=False) +smiles(R"C([C@H](C)[NH3+])[C@H](C(=O)[O-])[NH3+]", printStereoWarnings=False) +smiles(R"C[C@H](C[NH3+])OP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"C([C@@H](C(=O)C(=O)C)O)O", printStereoWarnings=False) +smiles(R"C[C@@H](C(=O)NCC(=O)[O-])[NH3+]", printStereoWarnings=False) +smiles(R"C([C@@H](C)O)[NH3+]", printStereoWarnings=False) +smiles(R"[C@]([C@@H](C(=O)[O-])C)(C(=O)[O-])(O)C", printStereoWarnings=False) +smiles(R"C([C@@H](C(=O)[O-])[NH3+])CCNC(=[NH2+])NO", printStereoWarnings=False) +smiles(R"C([C@@H](C(=O)[O-])[NH3+])[C@@H](O)C=O", printStereoWarnings=False) +smiles(R"C([C@@H](C(=O)[O-])[NH3+])C[NH2+][C@@H](CC[NH+]1[C@@H](CC1)C(=O)[O-])C(=O)[O-]", printStereoWarnings=False) +smiles(R"C([C@@H](C(=O)[O-])[NH3+])SCC(=O)[O-]", printStereoWarnings=False) +smiles(R"C([C@@H](C(=O)[O-])[NH3+])SS", printStereoWarnings=False) +smiles(R"C([C@@H](C(=O)[O-])N(O)O)c1ccccc1", printStereoWarnings=False) +smiles(R"[C@]([C@H](C(=O)[O-])O)(CC)(C)O", printStereoWarnings=False) +smiles(R"C([C@H](C(=O)[O-])O)[C@@H](C(=O)[O-])[NH3+]", printStereoWarnings=False) +smiles(R"C([C@@H](C(=O)[O-])O)S(=O)(=O)[O-]", printStereoWarnings=False) +smiles(R"C([C@@H](CO)O)S(=O)(=O)[O-]", printStereoWarnings=False) +smiles(R"C([C@H](C(=O)SC)O)OP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"C([C@H]([NH3+])C(=O)[O-])c1ccccc1", printStereoWarnings=False) +smiles(R"C([C@H](NO)C(=O)[O-])c1ccccc1", printStereoWarnings=False) +smiles(R"C([C@H](O)C(=O)[O-])C[NH2+][C@@H](CC[NH+]1[C@@H](CC1)C(=O)[O-])C(=O)[O-]", printStereoWarnings=False) +smiles(R"C([C@H](O)C(=O)[O-])C[NH2+][C@H](C(=O)[O-])CCN1[C@H](C(=O)[O-])[C@H](C1)O", printStereoWarnings=False) +smiles(R"C([C@H](O)C(=O)[O-])C[NH2+][C@H](C(=O)[O-])[C@H](CN1[C@@H](CC1)C(=O)[O-])O", printStereoWarnings=False) +smiles(R"C([C@H](O)C(=O)[O-])C[NH2+][C@H](C(=O)[O-])[C@H](CN1[C@H](C(=O)[O-])[C@H](C1)O)O", printStereoWarnings=False) +smiles(R"CCl", printStereoWarnings=False) +smiles(R"C(Cl)Br", printStereoWarnings=False) +smiles(R"C(CNC(=[NH2+])N)S(=O)(=O)[O-]", printStereoWarnings=False) +smiles(R"C(CNC(=O)C)C=O", printStereoWarnings=False) +smiles(R"C(C[NH2+]C)(O)c1ccc(cc1)O", printStereoWarnings=False) +smiles(R"CC[NH3+]", printStereoWarnings=False) +smiles(R"C(C[NH3+])c1c[nH]cn1", printStereoWarnings=False) +smiles(R"C(C[NH3+])C=O", printStereoWarnings=False) +smiles(R"C(C[NH3+])O", printStereoWarnings=False) +smiles(R"C(C[NH3+])P(=O)([O-])O", printStereoWarnings=False) +smiles(R"C(C[NH3+])S(=O)[O-]", printStereoWarnings=False) +smiles(R"CC(=NO)C", printStereoWarnings=False) +smiles(R"CCO", printStereoWarnings=False) +smiles(R"CC(=O)C", printStereoWarnings=False) +smiles(R"C(=C)(Oc1c(c(ccc1)C(=O)[O-])N)C(=O)[O-]", printStereoWarnings=False) +smiles(R"C(C(=O)C)CC", printStereoWarnings=False) +smiles(R"CC(=O)CCC1=C(C)CCCC1(C)C", printStereoWarnings=False) +smiles(R"CC(=O)CCCCCCCCC", printStereoWarnings=False) +smiles(R"C(C(=O)C(C(CO)O)O)O", printStereoWarnings=False) +smiles(R"CC(=O)C(C)O", printStereoWarnings=False) +smiles(R"CC(=O)CC(=O)C(=O)[O-]", printStereoWarnings=False) +smiles(R"CC(=O)CC(=O)[O-]", printStereoWarnings=False) +smiles(R"C(C(=O)CC(=O)[O-])C(=O)C", printStereoWarnings=False) +smiles(R"CC(=O)[C@@](C(=O)[O-])(O)CC", printStereoWarnings=False) +smiles(R"C(C(=O)[C@H]([C@@H](CC(=O)[O-])O)O)O", printStereoWarnings=False) +smiles(R"CC(=O)[C@H]([C@@H]([C@@H]([C@@H](COP(=O)([O-])[O-])O)O)O)O", printStereoWarnings=False) +smiles(R"C(C(=O)[C@H]([C@@H]([C@@H]([C@@H](COP(=O)([O-])[O-])O)O)O)O)OP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"C(C(=O)[C@H]([C@@H]([C@@H](COP(=O)([O-])[O-])O)O)O)[NH2+]CCCC[C@@H](C(=O)[O-])[NH3+]", printStereoWarnings=False) +smiles(R"C(C(=O)[C@@H]([C@@H]([C@@H](COP(=O)([O-])[O-])O)O)O)O", printStereoWarnings=False) +smiles(R"C(C(=O)[C@H]([C@@H](C(=O)CO)O)O)O", printStereoWarnings=False) +smiles(R"C(C(=O)[C@@H]([C@@H](CO)O)O)O", printStereoWarnings=False) +smiles(R"C(C(=O)[C@@H]([C@H](COP(=O)([O-])[O-])O)O)O", printStereoWarnings=False) +smiles(R"C(C(=O)[C@@H]([C@@H](COP(=O)([O-])[O-])O)O)OP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"CC(=O)[C@@H](C)O", printStereoWarnings=False) +smiles(R"CC(=O)[C@H](C)O", printStereoWarnings=False) +smiles(R"C(CO)[C@@H](C(=O)[O-])[NH3+]", printStereoWarnings=False) +smiles(R"C(C)(O)C=O", printStereoWarnings=False) +smiles(R"C(CO)C=O", printStereoWarnings=False) +smiles(R"C(CO)CO", printStereoWarnings=False) +smiles(R"C(COC(=O)/C=C/c1cc(c(c(c1)OC)O)OC)[N+](C)(C)C", printStereoWarnings=False) +smiles(R"CC(=O)C(O)C(O)CO", printStereoWarnings=False) +smiles(R"C(=C(\O)/C(=O)[O-])/c1ccccc1", printStereoWarnings=False) +smiles(R"C(C(=O)C(=O)[O-])C(C)C", printStereoWarnings=False) +smiles(R"[C@](C(=O)C(=O)[O-])(CC)(C)O", printStereoWarnings=False) +smiles(R"C(C(=O)C(=O)OCC)(C(=O)OCC)C", printStereoWarnings=False) +smiles(R"C(C(=O)C(=O)[O-])[C@@H](CO)O", printStereoWarnings=False) +smiles(R"C(C(=O)C(=O)[O-])[C@H](CO)O", printStereoWarnings=False) +smiles(R"C(C(=O)C(=O)[O-])[C@@H](O)[C@H](C)O", printStereoWarnings=False) +smiles(R"C(C(=O)C(=O)[O-])C[NH2+][C@@H](CC[NH+]1[C@@H](CC1)C(=O)[O-])C(=O)[O-]", printStereoWarnings=False) +smiles(R"C(C(=O)C(=O)[O-])C(=O)[O-]", printStereoWarnings=False) +smiles(R"C(C(=O)C(=O)[O-])(C(=O)[O-])C", printStereoWarnings=False) +smiles(R"C(C(=O)C(=O)[O-])C(=O)OC", printStereoWarnings=False) +smiles(R"C(C(=O)C)OP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"CC(O)COP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"CC(=O)NCCc1ccccc1", printStereoWarnings=False) +smiles(R"C(C(=O)NC)C[C@@H](C(=O)[O-])[NH3+]", printStereoWarnings=False) +smiles(R"CC(=O)NCCC[NH2+]CCCC[NH2+]CCC[NH3+]", printStereoWarnings=False) +smiles(R"C(C(=O)N[C@H]1[C@@H]([C@@H](O)[C@H](O)[C@H](O1)CO)NC(=O)C)[C@@H](C(=O)[O-])[NH3+]", printStereoWarnings=False) +smiles(R"CC(=O)N[C@H]1[C@@H](C)O[C@@H]([C@H](O)[C@H]1O)O[C@@H]1[C@H](O[C@@H](O[C@@H]2[C@H](O[C@H](OP(=O)(OP(=O)(OC/C=C(/C)\CC/C=C(/C)\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)/C)/C)/C)/C)/C)/C)[O-])[O-])[C@@H]([C@H]2O)NC(=O)C)CO)[C@H]([C@H]1O)NC(=O)C)C(=O)[O-]", printStereoWarnings=False) +smiles(R"CC(=O)N[C@H]1[C@@H](O[C@H](CO)[C@@H](O)[C@@H]1O[C@H](C)C(=O)[O-])O", printStereoWarnings=False) +smiles(R"C(C(=O)N[C@H](C(=O)[O-])CCC[NH3+])CC(=O)[O-]", printStereoWarnings=False) +smiles(R"C(C(=O)N[C@H](C(=O)[O-])CCC=O)CC(=O)[O-]", printStereoWarnings=False) +smiles(R"C(C(=O)N[C@H](C(=O)[O-])CCC(=O)[O-])CC(=O)[O-]", printStereoWarnings=False) +smiles(R"C(C=O)[NH3+]", printStereoWarnings=False) +smiles(R"C(CO)O", printStereoWarnings=False) +smiles(R"CC(=O)[O-]", printStereoWarnings=False) +smiles(R"C(CO)(O)c1cc(c(cc1)OC)OC", printStereoWarnings=False) +smiles(R"C(C(=O)[O-])C#C", printStereoWarnings=False) +smiles(R"C(C(=O)[O-])C(C)CCC(C(C)C)O", printStereoWarnings=False) +smiles(R"C(C(=O)[O-])(C)C(=C)C(=O)[O-]", printStereoWarnings=False) +smiles(R"CC(=O)OCC[C@@H](C(=O)[O-])[NH3+]", printStereoWarnings=False) +smiles(R"C(C(=O)[O-])CC[NH3+]", printStereoWarnings=False) +smiles(R"C(C(=O)[O-])CC(=O)C=O", printStereoWarnings=False) +smiles(R"C(C(=O)[O-])(CC(=O)C(=O)[O-])(C)O", printStereoWarnings=False) +smiles(R"C(C(=O)[O-])(CC(=O)[O-])C(C(=O)[O-])O", printStereoWarnings=False) +smiles(R"C(C(=O)[O-])[C@](C(=O)[O-])(O)C(C)C", printStereoWarnings=False) +smiles(R"C(C(=O)[O-])[C@H](C)CC[C@@H](C(C)C)O", printStereoWarnings=False) +smiles(R"C(C(=O)[O-])C=O", printStereoWarnings=False) +smiles(R"C(C(=O)[O-])C(=O)C(C)C", printStereoWarnings=False) +smiles(R"C(C(=O)[O-])(C(=O)[O-])C", printStereoWarnings=False) +smiles(R"C(C(=O)[O-])(C(=O)[O-])[NH3+]", printStereoWarnings=False) +smiles(R"C(C(=O)[O-])C[S+](C)C", printStereoWarnings=False) +smiles(R"C(C(=O)[O-])NC(=[NH2+])NP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"C(C(=O)[O-])NC(=O)[C@H]1[NH2+]CCC1", printStereoWarnings=False) +smiles(R"C(COP(=O)(OCC(CO)O)[O-])(CO)O", printStereoWarnings=False) +smiles(R"C(C=O)P(=O)([O-])O", printStereoWarnings=False) +smiles(R"C(COP(=O)([O-])[O-])[NH3+]", printStereoWarnings=False) +smiles(R"CC(=O)[S-]", printStereoWarnings=False) +smiles(R"CC(=O)SCC[NH3+]", printStereoWarnings=False) +smiles(R"C(C=O)S(=O)(=O)[O-]", printStereoWarnings=False) +smiles(R"C(CSC)C[NH3+]", printStereoWarnings=False) +smiles(R"C(CS)[NH3+]", printStereoWarnings=False) +smiles(R"CCS(=O)(=O)[O-]", printStereoWarnings=False) +smiles(R"[Cd+2]", printStereoWarnings=False) +smiles(R"C(F)C=O", printStereoWarnings=False) +smiles(R"C(F)C(=O)[O-]", printStereoWarnings=False) +smiles(R"[C@H]12[C@]3(CC(C1)(C)C)[C@H](C(=C2)C(=O)[O-])CC[C@H]3C", printStereoWarnings=False) +smiles(R"[C@H]12c3c(cc4c(c3)OCO4)CCN1Cc1c(C2)ccc2c1OCO2", printStereoWarnings=False) +smiles(R"[C@H]12c3c(cc(c(c3)OC)OC)CCN1Cc1c(C2)ccc(c1OC)OC", printStereoWarnings=False) +smiles(R"[C@H]12[C@@]3(CCC[C@](CC[C@@H]1C(C2)(C)C)(C3)C)O", printStereoWarnings=False) +smiles(R"[C@H]12[C@]3(CC([C@@H]1O)(C)C)[C@H](C(=C2)C(=O)[O-])CC[C@H]3C", printStereoWarnings=False) +smiles(R"[C@@H]12[C@]3(CC[C@@H](CC3=C[C@H]([C@H]1[C@H]1[C@](CC2)([C@H](CC1)[C@H](C)CC[C@H](C(C)C)O)C)O)O)C", printStereoWarnings=False) +smiles(R"[C@@H]12c3c(CC[N+]2=C/C(=C/C)/[C@H](C1)/C(=C/O)/C(=O)OC)c1c([nH]3)cccc1", printStereoWarnings=False) +smiles(R"[C@H]12[C@]3([C@@H]([C@](CCC3)(C)C(=O)[O-])CC[C@]31C[C@H](CC2)C(=C)C3)C", printStereoWarnings=False) +smiles(R"[C@H]12[C@]3([C@@H]([C@](CCC3)(C)C(=O)[O-])C[C@@H]([C@]31C[C@H](CC2)C(=C)C3)O)C", printStereoWarnings=False) +smiles(R"[C@H]12c3c(OC([C@@H]1CCC(=C2)C)(C)C)cc(c(c3O)C(=O)[O-])CCCCC", printStereoWarnings=False) +smiles(R"[C@H]12[C@]([C@]3(C(=CC2=O)[C@H]2[C@@](CC3)(CC[C@@](C2)(C(=O)[O-])C)C)C)(CC[C@@H]2[C@@]1(CC[C@@H](C2(C)C)O)C)C", printStereoWarnings=False) +smiles(R"[C@H]12[C@]([C@]3(C(=CC2=O)[C@H]2[C@@](CC3)(CC[C@@](C2)(C(=O)[O-])C)C)C)(CC[C@@H]2[C@@]1(CC[C@H](C2(C)C)O)C)C", printStereoWarnings=False) +smiles(R"[C@H]12[C@]([C@]3(C(=CC2=O)[C@H]2[C@@](CC3)(CC[C@@](C2)(C(=O)[O-])C)C)C)(CC[C@@H]2[C@@]1(CCC(=O)C2(C)C)C)C", printStereoWarnings=False) +smiles(R"[C@@H]12CC=C3C[C@H](CC[C@@]3([C@H]1CC[C@]1([C@H]2CC[C@@H]1[C@H](C)CC[C@@H](C(C)C)O)C)C)O", printStereoWarnings=False) +smiles(R"[C@@H]12CC=C3C[C@H](CC[C@@]3([C@H]1CC[C@]1([C@H]2CC[C@@H]1[C@H](C)CC[C@H](C(C)C)O)C)C)O", printStereoWarnings=False) +smiles(R"[C@@H]12CC=C3[C@H](CC[C@]4([C@H]3CC[C@@H]4[C@@H](CCCC(C)C)C)C)[C@@]1(C)CC[C@H](O)[C@]2(C(=O)[O-])C", printStereoWarnings=False) +smiles(R"[C@@H]12CC[C@](C2)(C)C(=O)C1(C)C", printStereoWarnings=False) +smiles(R"[C@H]12[C@@](C(=CCC1)C)(CC[C@H]([C@]2(CCC(=C)C=C)C)C)C", printStereoWarnings=False) +smiles(R"[C@H]12[C@@](C(=CCC1)C)(CC[C@H]([C@]2(CC/C(=C/COP(=O)(OP(=O)([O-])[O-])[O-])/C)C)C)C", printStereoWarnings=False) +smiles(R"[C@@H]12[C@](CCCC1=C)(CC[C@H](C2)C(O)(C)C)C", printStereoWarnings=False) +smiles(R"[C@@H]12[C@@](CCCC2(C)C)(C2=CC[C@@](C[C@@H]2CC1)(C=C)C)C", printStereoWarnings=False) +smiles(R"[C@H]12C(=C[C@@](CC2)(C)C=C)CC[C@@H]2[C@@]1(CCCC2(C)C)C", printStereoWarnings=False) +smiles(R"[C@@H]12[C@@](CCCC2(C)C)([C@H]2C(=C[C@](CC2)(C=C)C)CC1)C", printStereoWarnings=False) +smiles(R"[C@@H]12[C@@](CCCC2(C)C)([C@H]2C(=C[C@@](CC2)(C=C)C)CC1)C", printStereoWarnings=False) +smiles(R"[C@@H]12C(=CC(=CC2)C)[C@H](CC[C@H]1C)C(C)C", printStereoWarnings=False) +smiles(R"[C@@H]12C(=CC(=C)CC2)[C@H](CC[C@H]1C)C(C)C", printStereoWarnings=False) +smiles(R"[C@H]12C=C(CCC=C(CC[C@H]1C2(C)C)C)C", printStereoWarnings=False) +smiles(R"[C@@H]12C=C(CCC=C(CC[C@H]1C(=C)C(=O)O2)C)C", printStereoWarnings=False) +smiles(R"[C@H]12C(=CC[C@@H]3[C@@]1(CCCC3(C)C)C)C=C(CC2)C(C)C", printStereoWarnings=False) +smiles(R"[C@H]12C(=CC[C@@H]3[C@@]1(CCCC3(C)C)C)C[C@@](CC2)(C)C=C", printStereoWarnings=False) +smiles(R"[C@H]12C(=CC[C@@H]3[C@@]1(CC[C@@H](C3(C)C)O)C)[C@H]1[C@](CC2)([C@H](CC1)[C@@H](CCCC(C)C)C)C", printStereoWarnings=False) +smiles(R"[C@H]12C(=CC[C@H]3[C@]2(CC[C@@]2([C@@]3(CC[C@](C2)(CCC=C(C)C)C)C)C)C)C([C@H](CC1)O)(C)C", printStereoWarnings=False) +smiles(R"[C@H]12C(=CC[C@@H]3[C@]2(C(=O)C[C@]2([C@]3(C[C@H]([C@@H]2[C@@](C(=O)/C=C/C(OC(=O)C)(C)C)(C)O)O)C)C)C)C(C(=O)[C@H](C1)O)(C)C", printStereoWarnings=False) +smiles(R"[C@H]12C(=CC[C@@H]3[C@]2(C(=O)C[C@]2([C@]3(C[C@H]([C@@H]2[C@@](C(=O)CCC(OC(=O)C)(C)C)(C)O)O)C)C)C)C(C(=O)[C@H](C1)O)(C)C", printStereoWarnings=False) +smiles(R"[C@H]12CC=C([C@H](C1(C)C)C2)C", printStereoWarnings=False) +smiles(R"[C@H]12C(=C)C([C@H](CC1)C2)(C)C", printStereoWarnings=False) +smiles(R"[C@H]12C(C(=C)[C@H](CC1)C2)(C)C", printStereoWarnings=False) +smiles(R"[C@@H]12CC[C@H]([C@@H]3C(=C(CC3)C)[C@@H]1C2(C)C)C", printStereoWarnings=False) +smiles(R"[C@@H]12[C@@]([C@@H]3C(=CC2)C[C@@](CC3)(C)C=C)(CCC[C@@]1(C)C(=O)[O-])C", printStereoWarnings=False) +smiles(R"[C@@H]12C[C@@H]3C(=C)[C@H](CC[C@]3(C[C@@H](C(=C(CC1)C)C2(C)C)O)C)OC(=O)C", printStereoWarnings=False) +smiles(R"[C@H]12[C@]([C@H](CC[C@@H]1C(C)C)C)(CCC(=C2)C)O", printStereoWarnings=False) +smiles(R"[C@@H]12C[C@@H](C[C@@H]([C@@H]3[C@H]1O3)N2C)OC(=O)[C@H](CO)c1ccccc1", printStereoWarnings=False) +smiles(R"[C@H]12[C@](C(=O)c3c(C1)c(c1c(c3O)c(ccc1)O)C)(C(=O)C(=C([C@H]2[NH+](C)C)[O-])C(=O)N)O", printStereoWarnings=False) +smiles(R"[C@H]12CC(=O)N1[C@@H](/C(=C/C[NH3+])/O2)C(=O)[O-]", printStereoWarnings=False) +smiles(R"[C@H]12CC(=O)N1[C@@H]([C@H](O2)CC[NH3+])C(=O)[O-]", printStereoWarnings=False) +smiles(R"[C@H]12[C@H]3[C@@]([C@H](CC3)CC=O)(CC[C@@H]1[C@@]1(C(CC2)CCCC1)C)C", printStereoWarnings=False) +smiles(R"[C@H]12[C@H]3[C@@]([C@H](CC3)CCO)(CC[C@@H]1[C@@]1(C(CC2)CCCC1)C)C", printStereoWarnings=False) +smiles(R"[C@H]12[C@@H](c3c(CC1)cc(cc3)O[C@@H]1O[C@H](C(=O)[O-])[C@H]([C@H](O)[C@H]1O)O)CC[C@@]1([C@H](O[C@@H]3[C@@H]([C@@H](O)[C@H](O)[C@H](O3)CO)NC(=O)C)CC[C@@H]21)C", printStereoWarnings=False) +smiles(R"[C@H]12[C@@H]([C@@]3(C(=CC1)C[C@H](CC3)O[C@@H]1O[C@@H]([C@H]([C@@H]([C@H]1O)O)O)CO)C)CC[C@@]1(C)[C@H]2CC[C@@H]1[C@@H](CCCC(C)C)C", printStereoWarnings=False) +smiles(R"[C@@H]12[C@H](c3c(O2)c(c(cc3)O)CCC(C)(C)O)COc2c1ccc(c2)O", printStereoWarnings=False) +smiles(R"[C@@H]12[C@H](c3c(O2)cc(cc3)OC)COc2c1ccc(c2)O", printStereoWarnings=False) +smiles(R"[C@H]12[C@@H](CCC3=CC(=O)CC[C@]13C)[C@H]1[C@@](CC2)(C)OC(=O)CC1", printStereoWarnings=False) +smiles(R"[C@H]12[C@@H](CCC3=CC(=O)CC[C@]13C)[C@@H]([C@@](CC2)(C)O)CCC(=O)[O-]", printStereoWarnings=False) +smiles(R"[C@@H]12[C@@H](CC(=CC1)C)C2(C)C", printStereoWarnings=False) +smiles(R"[C@H]12[C@H](CC(=CC1)C)C2(C)C", printStereoWarnings=False) +smiles(R"[C@H]12[C@H](C=C(CC1)C)[C@H](CC[C@@]2(C)O)C(C)C", printStereoWarnings=False) +smiles(R"[C@H]12[C@H](C=C(CC1)C)[C@@H](CC[C@H]2C)C(=C)C=O", printStereoWarnings=False) +smiles(R"[C@H]12[C@H](C=C(CC1)C)[C@@H](CC[C@H]2C)C(=C)CO", printStereoWarnings=False) +smiles(R"[C@H]12[C@H](C=C(CC1)C)[C@@H](CC[C@H]2C)C(=C)C(=O)[O-]", printStereoWarnings=False) +smiles(R"[C@H]12[C@H](C=C(CC1)C)[C@@H](CC[C@H]2C)[C@@H](C)C=O", printStereoWarnings=False) +smiles(R"[C@H]12[C@H](CC(=C([C@H](C[C@]3([C@@H](C(=C)[C@H](CC3)OC(=O)C)[C@@H]1OC(=O)C)C)O)C2(C)C)C)OC(=O)C", printStereoWarnings=False) +smiles(R"[C@H]12[C@H](CC(=C([C@H](C[C@]3([C@@H](C(=C)[C@H](CC3)OC(=O)C)[C@@H]1OC(=O)C)C)OC(=O)C)C2(C)C)C)OC(=O)C", printStereoWarnings=False) +smiles(R"[C@@H]12[C@@H](C(=CO[C@H]1O[C@@H]1O[C@@H]([C@H]([C@@H]([C@H]1O)O)O)CO)C(=O)[O-])C[C@@H]([C@@H]2C)O", printStereoWarnings=False) +smiles(R"[C@@H]12[C@@H]([C@H](OC1)c1cc(c(cc1)O)OC)CO[C@@H]2c1cc(c(cc1)O)OC", printStereoWarnings=False) +smiles(R"[C@H]12[C@H]([C@H](O[C@H]([C@H]1O[C@]1(O2)[C@@H]([C@H]([C@H]([C@H](O1)C(CO)[NH3+])O)O)O)O[C@H]1[C@@H]([C@H](C[C@H]([C@@H]1O)[NH3+])[NH2+]C)OP(=O)([O-])[O-])CO)O", printStereoWarnings=False) +smiles(R"[C@@H]12[C@@H](CO[C@H]1c1ccc(c(c1)OC)O)[C@@H](OC2)c1cc(c(cc1)O)OC", printStereoWarnings=False) +smiles(R"[C@@H]12[C@@H](NC(=O)N1)CS[C@H]2CCCCC(=O)N", printStereoWarnings=False) +smiles(R"[C@@H]12[C@@H](NC(=O)N1)CS[C@H]2CCCCC(=O)[O-]", printStereoWarnings=False) +smiles(R"[C@@H]12[C@@H](NC(=O)N1)CS[C@H]2CCCCC(=O)OP(=O)(OC[C@H]1O[C@@H](n2c3c(nc2)c(ncn3)N)[C@@H]([C@@H]1O)O)[O-]", printStereoWarnings=False) +smiles(R"[C@@H]12[C@@H](NC(=O)N1)CS(=O)[C@H]2CCCCC(=O)[O-]", printStereoWarnings=False) +smiles(R"[C@@H]12[C@H](OP(=O)(O2)[O-])[C@H](O)[C@H]([C@H](O)[C@H]1O)O", printStereoWarnings=False) +smiles(R"[C@H]1(c2ccccc2C=C[C@@H]1O)O", printStereoWarnings=False) +smiles(R"[C@H]1(c2ccccc2)CO1", printStereoWarnings=False) +smiles(R"[C@H]1(c2c(cc(c(c2O)C(=O)[O-])CCCCC)O)[C@@H](CCC(=C1)C)C(=C)C", printStereoWarnings=False) +smiles(R"[C@@H]1(c2c(CC[NH2+]1)cc(c(c2)O)O)C[C@H]1[C@@H](C=C)[C@@H](OC=C1C(=O)OC)O[C@@H]1O[C@H](CO)[C@H]([C@H](O)[C@H]1O)O", printStereoWarnings=False) +smiles(R"[C@@H]1(c2c(=O)[nH]c(=O)[nH]c2)O[C@@H]([C@H]([C@H]1O)O)COP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"[C@@H]1(CC[C@@]2(C)CCC=C(C)[C@@H]2C1)C(=C)C", printStereoWarnings=False) +smiles(R"[C@@H]1(CC[C@]2(C[C@@H](C3=C(C[C@@H]([C@@H](C[C@@H]2C1=C)C3(C)C)O)C)O)C)OC(=O)C", printStereoWarnings=False) +smiles(R"[C@H]1(CC[C@@]2([C@H](C1)C(=CCC2)C)C)C(=C)C", printStereoWarnings=False) +smiles(R"[C@H]1(CC[C@@]2([C@@H](C1)C(=C)CCC2)C)C(=C)C", printStereoWarnings=False) +smiles(R"[C@H]1(C(=CCC1=O)/C=C/[C@H](CCCCC)O)CCCCCCC(=O)[O-]", printStereoWarnings=False) +smiles(R"[C@H]1([C@@](C=CC(=C1)C)(O)C(=O)[O-])O", printStereoWarnings=False) +smiles(R"[C@H]1(C=CC(=C)CC1)[C@H](CCC=C(C)C)C", printStereoWarnings=False) +smiles(R"[C@@H]1(C=C(CCC=C(CC[C@@H]1C(C)C)C)C)O", printStereoWarnings=False) +smiles(R"[C@H]1(CCC(=C(C)C)[C@H]([C@@]1(CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)C)CCC=O)C", printStereoWarnings=False) +smiles(R"[C@@H]1(C=C(CC[C@@H]1C(=C)C)C)O", printStereoWarnings=False) +smiles(R"[C@H]1(C=C(C=C[C@H]1[NH3+])C(=O)[O-])OC(=C)C(=O)[O-]", printStereoWarnings=False) +smiles(R"[C@H]1(CCCC[C@H]1O)O", printStereoWarnings=False) +smiles(R"[C@H]1(C(=C)CC[C@@H]2[C@@]1(CCCC2(C)C)C)C/C=C(/C=C)\C", printStereoWarnings=False) +smiles(R"[C@@H]1(C(=C)CC[C@@H]2[C@@]1(CCCC2(C)C)C)CC/C(=C/COP(=O)(OP(=O)([O-])[O-])[O-])/C", printStereoWarnings=False) +smiles(R"[C@H]1(C(=C)CC[C@@H]2[C@@]1(CCCC2(C)C)C)CC/C(=C/COP(=O)(OP(=O)([O-])[O-])[O-])/C", printStereoWarnings=False) +smiles(R"[C@H]1(C(=C)CC[C@H]2[C@]1(CCCC2(C)C)C)CC/C(=C/COP(=O)(OP(=O)([O-])[O-])[O-])/C", printStereoWarnings=False) +smiles(R"[C@@H]1([C@](CC[C@@H]2[C@@]1(CCCC2(C)C)C)(C)O)CC/C(=C/COP(=O)(OP(=O)([O-])[O-])[O-])/C", printStereoWarnings=False) +smiles(R"[C@H]1(C(C)(C)[C@H]2CC[C@@]1(C)C2)O", printStereoWarnings=False) +smiles(R"[C@@H]1(C(=CC[C@@H](C1)C(=C)C)C)O", printStereoWarnings=False) +smiles(R"[C@H]1(C(=CC[C@@H](C1)C(=C)C)C)O", printStereoWarnings=False) +smiles(R"[C@H]1(C(=CC[C@H](C1)C(=C)C)C)O", printStereoWarnings=False) +smiles(R"[C@H]1(C[C@](C[C@H]([C@@H]1O)O)(C(=O)[O-])O)OC(=O)/C=C/c1cc(c(cc1)O)O", printStereoWarnings=False) +smiles(R"[C@H]1(C=CCC(=O)[C@H]1[NH3+])C(=O)[O-]", printStereoWarnings=False) +smiles(R"[C@H]1(CC[C@@H]2[C@@]31CC=C([C@@H](C3)C2(C)C)C)C", printStereoWarnings=False) +smiles(R"[C@H]1(CC[C@@H]2[C@@]31CC[C@]([C@@H](C3)C2(C)C)(C)O)C", printStereoWarnings=False) +smiles(R"[C@@H]1(C=C[C@@H]2[C@@H]([C@H]1CC[C@@H]1C[C@H](CC(=O)O1)O)CC[C@H](C2)C)C", printStereoWarnings=False) +smiles(R"[C@H]1(CC[C@H](C[C@H]1O)C)C(C)(C)O", printStereoWarnings=False) +smiles(R"[C@H]1(CC[C@H]([C@H]2[C@@H]1C=C(CC2)C)C)C(=C)C", printStereoWarnings=False) +smiles(R"[C@H]1(CC(C[NH2+]1)O)C(=O)[O-]", printStereoWarnings=False) +smiles(R"[C@H]1(C(=C(C(=O)O1)[O-])[O])[C@H](CO)O", printStereoWarnings=False) +smiles(R"[C@H]1(C[C@H]([C@H](CC1)O)O)C(=O)[O-]", printStereoWarnings=False) +smiles(R"[C@@H]1(C[C@H](C[NH2+]1)O)C(=O)[O-]", printStereoWarnings=False) +smiles(R"[C@H]1(C[C@@H](C[NH2+]1)O)C(=O)[O-]", printStereoWarnings=False) +smiles(R"[C@H]1(C[C@H](C[NH2+]1)O)C(=O)[O-]", printStereoWarnings=False) +smiles(R"[C@H]1(CC(=O)[C@H](CC1)O)C(=O)[O-]", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H]2C(=C(CC2)C)[C@@H](CC1)C=C(C)C)C", printStereoWarnings=False) +smiles(R"[C@@H]1([C@H]2[C@@H]([C@H](O1)CO)OP(=O)(O2)[O-])n1c2c(nc1)c(=O)[nH]c(n2)N", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H]([C@@]1(CC/C=C(/CCC=C(C)C)\C)C)/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)COP(=O)(OP(=O)([O-])[O-])[O-]", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H](C1(C)C)C(=O)OCc1cc(Oc2ccccc2)ccc1)C=C(Cl)Cl", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H](C1(C)C)C(=O)[O-])C=C(Cl)Cl", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H](c2cccc3cccc1c23)O)O", printStereoWarnings=False) +smiles(R"[C@H]1([C@H](C=CC1=O)/C=C/[C@H](CCCCC)O)CCCCCCC(=O)[O-]", printStereoWarnings=False) +smiles(R"[C@@H]1([C@H](C(=CC=C1)CCC(=O)[O-])O)O", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H](C=CC=C1C(=O)CCC(=O)[O-])O)C(=O)[O-]", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H](C=C(C=C1)C(=O)[O-])OC(=C)C(=O)[O-])O", printStereoWarnings=False) +smiles(R"[C@H]1([C@H](C(=CC=C1)C(=O)[O-])O)O", printStereoWarnings=False) +smiles(R"[C@H]1([C@@H](/C=C(/CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)\C)[C@]1(CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)C)COP(=O)([O-])OP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H](CC[C@H](C1)C)C(C)C)O", printStereoWarnings=False) +smiles(R"[C@H]1([C@@H](CC[C@H](C1)C)C(C)C)O", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H](CC[C@H](C1)C)C(C)C)O[C@@H]1O[C@@H]([C@H]([C@@H]([C@H]1O)O)O)CO", printStereoWarnings=False) +smiles(R"[C@H]1([C@H](C[C@@H]([C@@H](C1=O)O)Nc1ccc(cc1)[N+](=O)[O-])CO)O", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H](C[C@@H]([C@H]([C@@H]1O[C@H]1[C@@H]2[C@H]([C@H]([C@H](O1)CO)O)O[C@]1(O2)O[C@@H]([C@@H]([C@@H]([C@H]1O)O)O)C([NH3+])CO)O)[NH2+]C)[NH3+])O", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H](C[C@@H]([C@H]([C@@H]1O[C@H]1[C@@H]2[C@H]([C@H]([C@H](O1)CO)O)O[C@]1(O2)O[C@@H]([C@@H]([C@@H]([C@H]1O)O)O)C([NH3+])COP(=O)([O-])[O-])O)[NH2+]C)[NH3+])O", printStereoWarnings=False) +smiles(R"[C@H]1([C@@H](CC[NH2+]1)O)C(=O)[O-]", printStereoWarnings=False) +smiles(R"[C@H]1([C@H](CC[NH2+]1)O)C(=O)[O-]", printStereoWarnings=False) +smiles(R"[C@H]1([C@H](CC(O[C@H]1[C@@H]([C@@H](CO)O)O)(C(=O)[O-])O)O)NC(=O)C", printStereoWarnings=False) +smiles(R"[C@H]1([C@H]([C@@H](CC1=O)O)/C=C/[C@H](CCCCC)O)CCCCCCC(=O)[O-]", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H]([C@H](C[C@H](O1)C)[NH+](C)C)O)O[C@H]1[C@H](C[C@H](C(=O)C=C[C@H]([C@@H](CC)OC(=O)[C@@H]1C)C)C)C", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H]([C@H](C[C@](O1)(C(=O)[O-])OP(=O)([O-])OC[C@H]1O[C@H]([C@@H]([C@@H]1O)O)n1c(=O)nc(cc1)N)O)NC(=O)C)[C@@H]([C@@H](C)O)NC(=O)C", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H]([C@H](C[C@](O1)(C(=O)[O-])OP(=O)([O-])OC[C@H]1O[C@H]([C@@H]([C@@H]1O)O)n1c(=O)nc(cc1)N)O)NC(=O)C)[C@@H]([C@@H](CO)O)O", printStereoWarnings=False) +smiles(R"[C@H]1([C@H]([C@@H]([C@H](C=C1)C(=O)CCC(=O)[O-])C(=O)[O-])O)OC(=C)C(=O)[O-]", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H]([C@H]([C@@H](C[C@@H]1[NH3+])O)O)O)O", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H]([C@H]([C@@H]([C@H](C1)[NH3+])O[C@@H]1[C@@H](CC[C@H](O1)C[NH3+])NC(=O)C)O)O[C@@H]1[C@@H]([C@H]([C@@](CO1)(C)O)[NH2+]C)O)[NH3+]", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H]([C@H]([C@@H]([C@H](C1)[NH3+])O[C@@H]1[C@@H](CC[C@H](O1)C[NH3+])[NH3+])O)O[C@@H]1[C@@H]([C@H]([C@@](CO1)(C)O)[NH2+]C)O)[NH3+]", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H]([C@H]([C@@H]([C@H](C1)[NH3+])O)O)O)[NH3+]", printStereoWarnings=False) +smiles(R"[C@H]1([C@H]([C@@H]([C@H]([C@@H]([C@H]1NC(=[NH2+])N)O)NC(=[NH2+])N)O[C@@H]1O[C@H]([C@@]([C@H]1O[C@H]1[C@H]([C@@H]([C@H]([C@@H](O1)CO)O)OP(=O)([O-])[O-])[NH2+]C)(C=O)O)C)O)O", printStereoWarnings=False) +smiles(R"[C@@H]1([C@H]([C@H]([C@@H]([C@H]([C@@H]1O)O)O[C@@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)[NH3+])O)O)O", printStereoWarnings=False) +smiles(R"[C@@H]1([C@H]([C@H]([C@@H]([C@H]([C@@H]1O)O)O)O)O)O", printStereoWarnings=False) +smiles(R"[C@H]1([C@@H]([C@H]([C@@H]([C@H]([C@H]1O)O)O)O)O)O", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H]([C@@H]([C@@H]([C@H]([C@@H]1O)O)O)O)OP(=O)(OC[C@@H](COC(=O)CCCCCCCCCCCCCCC)OC(=O)CCC/C=C\C/C=C\C/C=C\C/C=C\CCCCC)[O-])O", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H]([C@@H]([C@@H]([C@H]([C@@H]1O)O)O)O)OP(=O)(OC[C@@H](COC(=O)CCCCCCCCCCCCCCC)OC(=O)CCCCCCC/C=C\C/C=C\CCCCC)[O-])O", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H]([C@@H]([C@@H]([C@H]([C@@H]1O)O)O)O)OP(=O)(OC[C@@H](COC(=O)CCCCCCCCCCCCCCC)OC(=O)CCCCCCC/C=C\CCCCCCCC)[O-])O", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H]([C@@H]([C@@H]([C@H]([C@@H]1O)O)O)O)OP(=O)(OC[C@@H](COC(=O)CCCCCCCCCCCCCCC)OC(=O)CCCCCCCCCCCCCCCCC)[O-])O", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H]([C@@H]([C@@H]([C@H]([C@@H]1O)O)O)O)OP(=O)(OC[C@@H](COC(=O)CCCCCCCCCCCCCCC)OC(=O)CCCCCCCCCCCCCCC)[O-])O", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H]([C@@H]([C@@H]([C@H]([C@@H]1O)O)O)O)OP(=O)(OC[C@@H](COC(=O)CCCCCCCCCCCCCCC)O)[O-])O", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H]([C@@H]([C@@H]([C@H]([C@@H]1O)O)O)O)OP(=O)(OC[C@@H](CO)O)[O-])O", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H]([C@H]([C@@H]([C@H]([C@@H]1O)O)OP(=O)([O-])[O-])NC(=[NH2+])N)O)NC(=[NH2+])N", printStereoWarnings=False) +smiles(R"[C@H]1([C@H]([C@@H]([C@H]([C@@H]([C@H]1O)OP(=O)([O-])[O-])NC(=[NH2+])N)O)NC(=[NH2+])N)O[C@H]1[C@@H]([C@]([C@@H](O1)C)(CO)O)O", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H]([C@H]([C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])OP(=O)([O-])[O-])O)OP(=O)([O-])[O-])OP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"[C@H]1([C@@H]([C@@H]([C@H]([C@@H]([C@H]1O)OP(=O)([O-])[O-])OP(=O)([O-])[O-])OP(=O)([O-])[O-])O)OP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"[C@H]1([C@H]([C@@H]([C@H]([C@H]([C@H]1OP(=O)([O-])[O-])OP(=O)([O-])[O-])OP(=O)([O-])[O-])O)OP(=O)([O-])[O-])OP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"[C@H]1([C@@H]([C@H]([C@@H]([C@H]([C@@H]1OP(=O)([O-])[O-])OP(=O)([O-])[O-])OP(=O)([O-])[O-])OP(=O)([O-])[O-])OP(=O)([O-])[O-])O", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H]([C@@H]([C@@H]([C@H]([C@@H]1OP(=O)([O-])[O-])OP(=O)([O-])[O-])OP(=O)([O-])[O-])OP(=O)([O-])[O-])OP(=O)([O-])[O-])OP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"[C@@H]1([C@H]([C@H]([C@@H]([C@H]([C@@H]1OP(=O)([O-])[O-])OP(=O)(OP(=O)([O-])[O-])[O-])OP(=O)([O-])[O-])OP(=O)([O-])[O-])OP(=O)([O-])[O-])OP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H]([C@H]([C@@H]([C@@H]([NH3+])C1)O[C@H]1O[C@@H]([C@H](C[C@H]1[NH3+])O)C[NH3+])O)O[C@@H]1[C@@H]([C@H]([C@@H]([C@H](O1)COC(=O)N)O)[NH3+])O)[NH3+]", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H]([C@H]([C@@H]([C@@H]([NH3+])C1)O[C@H]1O[C@@H]([C@H](C[C@H]1[NH3+])O)C[NH3+])O)O[C@@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)[NH3+])O)[NH3+]", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H]([C@H]([C@@H]([C@@H]([NH3+])C1)O[C@H]1O[C@@H]([C@H]([C@@H](C1=O)O)O)C[NH3+])O)O[C@@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)[NH3+])O)[NH3+]", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H]([C@H]([C@@H]([C@@H]([NH3+])C1)O[C@H]1O[C@@H]([C@H]([C@@H]([C@H]1[NH3+])O)O)C[NH3+])O)O[C@@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)[NH3+])O)[NH3+]", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H]([C@H]([C@@H]([C@@H]([NH3+])C1)O[C@H]1O[C@@H]([C@H]([C@@H]([C@H]1[NH3+])O)O)C[NH3+])O)O[C@@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)[NH3+]", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H]([C@H]([C@@H]([C@@H]([NH3+])C1)O[C@H]1O[C@@H]([C@H]([C@@H]([C@H]1[NH3+])O)O)CO)O)O[C@@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)[NH3+])O)[NH3+]", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H]([C@H]([C@@H]([C@@H]([NH3+])C1)O[C@H]1O[C@@H]([C@H]([C@@H]([C@H]1[NH3+])O)O)CO)O)O[C@@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)[NH3+]", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H]([C@H]([C@@H]([C@@H]([NH3+])C1)O[C@H]1O[C@@H]([C@H]([C@@H]([C@H]1O)O)O)C[NH3+])O)O[C@@H]1[C@@H]([C@H]([C@@H]([C@H](O1)COC(=O)N)O)[NH3+])O)[NH3+]", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H]([C@H]([C@@H]([C@@H]([NH3+])C1)O[C@H]1O[C@@H]([C@H]([C@@H]([C@H]1O)O)O)C[NH3+])O)O[C@@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)[NH3+])O)[NH3+]", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H]([C@H]([C@@H]([C@@H]([NH3+])C1)O[C@H]1O[C@@H]([C@H]([C@@H]([C@H]1O)O)O)C[NH3+])O)O[C@@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)[NH3+]", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H]([C@H]([C@@H]([C@@H]([NH3+])C1)O[C@H]1O[C@@H]([C@H]([C@@H]([C@H]1O)O)O)CO)O)O[C@@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)[NH3+])O)[NH3+]", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H]([C@H]([C@@H]([C@@H]([NH3+])C1)O[C@H]1O[C@@H]([C@H]([C@@H]([C@H]1O)O)O)CO)O)O[C@@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)[NH3+]", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H]([C@H]([C@@H]([C@@H]([NH3+])C1)O[C@H]1O[C@@H]([C@H]([C@@H]([C@H]1O)OP(=O)([O-])[O-])O)C[NH3+])O)O[C@@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)[NH3+])O)[NH3+]", printStereoWarnings=False) +smiles(R"[C@H]1([C@H]([C@H]([C@@H]([C@H](O1)[C@H](COC1[C@H]([C@H]([C@@H]([C@H](O1)[C@H](CO)O)O)O)O)O)O)OC1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)O)O[C@@H]1[C@@H]([C@@H](O[C@@H]2[C@@H](C[C@](O[C@@H]2[C@@H](CO)O)(OC[C@@H]2[C@H]([C@@H]([C@H]([C@@H](O2)OC[C@@H]2[C@H]([C@@H]([C@H]([C@H](O2)OP(=O)([O-])[O-])NC(=O)C[C@@H](CCCCCCCCCCC)O)OC(=O)C[C@@H](CCCCCCCCCCC)O)O)NC(=O)C[C@@H](CCCCCCCCCCC)OC(=O)CCCCCCCCCCC)OC(=O)C[C@@H](CCCCCCCCCCC)OC(=O)CCCCCCCCCCCCC)OP(=O)([O-])[O-])C(=O)[O-])O[C@@]2(C(=O)[O-])O[C@@H]([C@@H]([C@@H](C2)O)O)[C@@H](CO)O)O[C@@H]([C@H]1OP(=O)([O-])[O-])[C@H](CO)O)O", printStereoWarnings=False) +smiles(R"[C@H]1([C@H]([C@H]([C@@H]([C@H](O1)[C@H](CO)O)O)OC1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)O)O[C@@H]1[C@@H]([C@@H](O[C@@H]2[C@@H](C[C@](O[C@@H]2[C@@H](CO)O)(OC[C@@H]2[C@H]([C@@H]([C@H]([C@@H](O2)OC[C@@H]2[C@H]([C@@H]([C@H]([C@H](O2)OP(=O)([O-])[O-])NC(=O)C[C@@H](CCCCCCCCCCC)O)OC(=O)C[C@@H](CCCCCCCCCCC)O)O)NC(=O)C[C@@H](CCCCCCCCCCC)OC(=O)CCCCCCCCCCC)OC(=O)C[C@@H](CCCCCCCCCCC)OC(=O)CCCCCCCCCCCCC)OP(=O)([O-])[O-])C(=O)[O-])O[C@@]2(C(=O)[O-])O[C@@H]([C@@H]([C@@H](C2)O)O)[C@@H](CO)O)O[C@@H]([C@H]1OP(=O)([O-])[O-])[C@H](CO)O)O", printStereoWarnings=False) +smiles(R"[C@H]1([C@@H]([C@H]([C@H]([C@@H](O1)C)NC(=O)C)O)NC(=O)C)O", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H]([C@@H]([C@H]([C@@H](O1)C)O[C@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O[C@H]1[C@@H]([C@H](C=C(O1)C(=O)[O-])O)O)O)O)O)O)O[C@@H]1[C@H]([C@@H](O[C@@H]([C@H]1O)CO)O)O", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H]([C@@H]([C@H]([C@@H](O1)C)O[C@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)O)O)O[C@@H]1[C@H]([C@@H](O[C@@H]([C@H]1O)CO)O)O", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H]([C@H]([C@@H]([C@H](O1)COC(=O)C)O)O)O)O", printStereoWarnings=False) +smiles(R"[C@H]1([C@@H]([C@H]([C@H]([C@H](O1)CO)O[C@@H]1[C@@H]([C@H]([C@H]([C@H](O1)CO)O[C@@H]1[C@@H]([C@H]([C@H]([C@H](O1)CO)O)O)NC(=O)C)O)NC(=O)C)O[C@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)NC(=O)C)O[C@@H]1[C@@H]([C@H]([C@@H](O[C@@H]2[C@@H]([C@H]([C@@H](O[C@H]3[C@@H]([C@H](O[C@H](OP(=O)(OP(=O)(OC/C=C(/C)\CC/C=C(/C)\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\C)/CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)/C)/C)/C)/C)/C)[O-])[O-])[C@@H]3NC(=O)C)C)NC(=O)C)O[C@@H]2CO)NC(=O)C)O)O[C@@H]1CO)NC(=O)C)O", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H]([C@H]([C@@H]([C@H](O1)CO)O[C@H]1[C@@H]([C@H]([C@H]([C@H](O1)CO)O)O)O)O)NC(=O)C)O", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H]([C@H]([C@@H]([C@H](O1)CO)O[C@@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)O)O)O", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H]([C@H]([C@@H]([C@H](O1)CO)O[C@H]1[C@@H]([C@H]([C@H]([C@H](O1)CO)O)O)O)O)O)O", printStereoWarnings=False) +smiles(R"[C@H]1([C@@H]([C@H]([C@@H]([C@H](O1)CO)O[C@@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)O)O)O", printStereoWarnings=False) +smiles(R"[C@H]1([C@@H]([C@H]([C@@H]([C@H](O1)CO)O[C@@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)O)O)OP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"[C@H]1([C@@H]([C@H]([C@@H]([C@H](O1)CO)O[C@@H]1[C@@H]([C@H]([C@@H]([C@H](O1)COP(=O)([O-])[O-])O)O)O)O)O)O", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H]([C@H]([C@@H]([C@H](O1)CO)O[C@H]1[C@@H](C(=O)[C@H]([C@H](O1)CO)O)O)O)O)O", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H]([C@@H]([C@H]([C@H](O1)CO)OC(=O)N)O)NC(=O)C[C@@H]([NH3+])CCCNC(=O)C[C@H](CCCNC(=O)C[C@H](CCC[NH3+])[NH3+])[NH3+])/[NH+]=C\1/N[C@H]2[C@H](N1)[C@@H](CNC2=O)O", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H]([C@@H]([C@H]([C@H](O1)CO)OC(=O)N)O)NC(=O)C[C@@H]([NH3+])CCCNC(=O)C[C@H](CCCNC(=O)C[C@H](CCC[NH3+])[NH3+])[NH3+])/[NH+]=C\1/N[C@@H]([C@H](N1)[C@@H](C[NH3+])O)C(=O)[O-]", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H]([C@@H]([C@H]([C@H](O1)CO)OC(=O)N)O)NC(=O)C[C@@H]([NH3+])CCC[NH3+])/[NH+]=C\1/N[C@H]2[C@H](N1)[C@@H](CNC2=O)O", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H]([C@@H]([C@H]([C@H](O1)CO)OC(=O)N)O)NC(=O)C[C@@H]([NH3+])CCC[NH3+])/[NH+]=C\1/N[C@@H]([C@H](N1)[C@@H](C[NH3+])O)C(=O)[O-]", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H]([C@H]([C@H]([C@H](O1)CO)O)OC1[C@@H]([C@H]([C@H]([C@H](O1)CO)O)O)O)NC(=O)C)OC[C@@H](C(=O)[O-])[NH3+]", printStereoWarnings=False) +smiles(R"[C@H]1([C@@H]([C@H]([C@@H]([C@H](O1)CO)O)OC(C(=O)N[C@@H](C)C(=O)N[C@@H](C(=O)[O-])CCC(=O)N[C@H](C(=O)N[C@@H](C(=O)N[C@H](C)C(=O)[O-])C)CCCCNC(=O)[C@H](C)[NH3+])C)NC(=O)C)OP(=O)(OP(=O)(OC[C@H]1O[C@H]([C@@H]([C@@H]1O)O)n1c(=O)[nH]c(=O)cc1)[O-])[O-]", printStereoWarnings=False) +smiles(R"[C@H]1([C@@H]([C@H]([C@@H]([C@H](O1)CO)O)OC(C(=O)N[C@@H](C)C(=O)N[C@@H](C(=O)[O-])CCC(=O)N[C@H](C(=O)N[C@@H](C(=O)N[C@H](C)C(=O)[O-])C)CCCC[NH3+])C)NC(=O)C)OP(=O)(OP(=O)(OC[C@H]1O[C@H]([C@@H]([C@@H]1O)O)n1c(=O)[nH]c(=O)cc1)[O-])[O-]", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O[C@H]1[C@@H]([C@H](C=C(O1)C(=O)[O-])O)O)NC(=O)C)O", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H]([C@H]([C@H]([C@H](O1)CO)O)O[C@H]1[C@@H]([C@H](C=C(O1)C(=O)[O-])O)O)NC(=O)C)O", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H]([C@H]([C@H]([C@H](O1)CO)O)O[C@H]1[C@@H]([C@H](C=C(O1)C(=O)[O-])O)OS(=O)(=O)[O-])NC(=O)C)O", printStereoWarnings=False) +smiles(R"[C@H]1([C@@H]([C@H]([C@H]([C@H](O1)CO)O)O[C@H]1[C@@H]([C@H]([C@H]([C@H](O1)CO)O)O)O)NC(=O)C)OC[C@@H](C(=O)[O-])[NH3+]", printStereoWarnings=False) +smiles(R"[C@H]1([C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O[C@H](C)C(=O)[O-])NC(=O)C)OP(=O)(OP(=O)(OC[C@H]1O[C@H]([C@@H]([C@@H]1O)O)n1c(=O)[nH]c(=O)cc1)[O-])[O-]", printStereoWarnings=False) +smiles(R"[C@H]1([C@@H]([C@H]([C@@H]([C@H](O1)CO)O)OC(=O)C[C@@H](CCCCCCCCCCC)O)NC(=O)C[C@@H](CCCCCCCCCCC)O)OP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"[C@H]1([C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)NC(=O)[C@H](CS)[NH3+])O[C@H](C(=O)[O-])CC(=O)[O-]", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)NC(=O)C)N", printStereoWarnings=False) +smiles(R"[C@H]1([C@@H]([C@H]([C@@H]([C@H](O1)C(=O)[O-])O)NC(=O)C)NC(=O)C)OP(=O)(OP(=O)([O-])OC[C@@H]1[C@H]([C@H]([C@@H](O1)n1ccc(=O)[nH]c1=O)O)O)[O-]", printStereoWarnings=False) +smiles(R"[C@H]1([C@H]([C@H]([C@@H]([C@H](O1)C(=O)[O-])O)NC(=O)C)NC(=O)C)OP(=O)(OP(=O)([O-])OC[C@@H]1[C@H]([C@H]([C@@H](O1)n1ccc(=O)[nH]c1=O)O)O)[O-]", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H]([C@H]([C@H]([C@H](O1)CO)O)O)NC(=O)C)O", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)NC(=O)C)O[C@@H]1[C@@H](O[C@@H]2[C@@H]([C@H](O[C@H]3[C@@H]([C@H]([C@H](O[C@H]4[C@@H]([C@H]([C@H](NC(=O)C[C@@H](C(=O)[O-])[NH3+])O[C@@H]4CO[C@H]4[C@H]([C@@H]([C@@H]([C@@H](O4)C)O)O)O)NC(=O)C)O)O[C@@H]3CO)NC(=O)C)O)O[C@@H]([C@H]2O)CO[C@@H]2[C@H]([C@H]([C@@H]([C@H](O2)CO)O)O)O[C@H]2[C@@H]([C@H]([C@@H]([C@H](O2)CO)O)O)NC(=O)C)O)O[C@@H]([C@H]([C@@H]1O)O)CO", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)NC(=O)C)O[C@@H]1[C@@H](O[C@@H]2[C@@H]([C@H](O[C@H]3[C@@H]([C@H]([C@H](O[C@H]4[C@@H]([C@H]([C@H](NC(=O)C[C@@H](C(=O)[O-])[NH3+])O[C@@H]4CO)NC(=O)C)O[C@H]4[C@H]([C@@H]([C@@H]([C@@H](O4)C)O)O)O)O[C@@H]3CO)NC(=O)C)O)O[C@@H]([C@H]2O)CO[C@@H]2[C@H]([C@H]([C@@H]([C@H](O2)CO)O)O)O[C@H]2[C@@H]([C@H]([C@@H]([C@H](O2)CO)O)O)NC(=O)C)O)O[C@@H]([C@H]([C@@H]1O)O)CO", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)NC(=O)C)O[C@@H]1[C@H](O[C@@H]([C@H]([C@@H]1O)O)CO)O[C@@H]1[C@@H]([C@H](O[C@H]2[C@@H]([C@H]([C@H](O[C@H]3[C@@H]([C@H]([C@H](NC(=O)C[C@@H](C(=O)[O-])[NH3+])O[C@@H]3CO)NC(=O)C)O)O[C@@H]2CO)NC(=O)C)O)O[C@@H]([C@H]1O)CO[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O[C@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)NC(=O)C)O[C@@H]1O[C@@H]([C@@H]([C@H]1O)O)CO", printStereoWarnings=False) +smiles(R"[C@H]1([C@@H]([C@H]([C@H]([C@H](O1)CO)O)O)NC(=O)C)OP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"[C@H]1([C@@H]([C@H]([C@@H]([C@H](O1)C(=O)[O-])O)[NH3+])NC(=O)C)OP(=O)(OP(=O)([O-])OC[C@@H]1[C@H]([C@H]([C@@H](O1)n1ccc(=O)[nH]c1=O)O)O)[O-]", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H]([C@@H]([C@H]([C@@H](O1)C)O)O)O)O", printStereoWarnings=False) +smiles(R"[C@H]1([C@@H]([C@@H]([C@H]([C@@H](O1)C)O)O)O)O", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)c1c(cc(c2c1oc(cc2=O)c1ccc(cc1)O)O)[O-]", printStereoWarnings=False) +smiles(R"[C@H]1([C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O[C@H]1[C@@H]([C@H]([C@@H]([C@H](O1)C(=O)[O-])O[C@H]1[C@H]([C@H]([C@H]2[C@H](O1)COC(O2)(C(=O)[O-])C)O)O)O)O)O[C@@H]1[C@H]([C@@H](O[C@@H]([C@H]1O)CO)O[C@H]1[C@@H]([C@H]([C@H](O[C@@H]1CO)OP(=O)(OP(=O)(OC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)/C)/C)/C)/C)/C)/C)/C)/C)[O-])[O-])O)O)O", printStereoWarnings=False) +smiles(R"[C@H]1([C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O[C@H]1[C@@H]([C@H]([C@@H]([C@H](O1)C(=O)[O-])O[C@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)O)O)O[C@@H]1[C@H]([C@@H](O[C@@H]([C@H]1O)CO)O[C@H]1[C@@H]([C@H]([C@H](O[C@@H]1CO)OP(=O)(OP(=O)(OC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)/C)/C)/C)/C)/C)/C)/C)/C)[O-])[O-])O)O)O", printStereoWarnings=False) +smiles(R"[C@H]1([C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O[C@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)NC(=O)C)O[C@@H]1[C@@H]([C@@H](O[C@@H]([C@H]1O)CO[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O[C@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)NC(=O)C)O[C@H]1[C@@H]([C@H]([C@@H](O[C@@H]1CO)O[C@H]1[C@@H]([C@H]([C@@H](O[C@@H]1CO)NC(=O)C[C@@H](C(=O)[O-])[NH3+])NC(=O)C)O)NC(=O)C)O)O", printStereoWarnings=False) +smiles(R"[C@H]1([C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)O[C@@H](C(=O)[O-])COP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"[C@H]1([C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O[C@H]1[C@@H]([C@H]([C@@H]([C@H](O1)C(=O)[O-])O)O)O)O[C@@H]1[C@H]([C@@H](O[C@@H]([C@H]1O)CO)O[C@H]1[C@@H]([C@H]([C@H](O[C@@H]1CO)OP(=O)(OP(=O)(OC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)/C)/C)/C)/C)/C)/C)/C)/C)[O-])[O-])O)O)O", printStereoWarnings=False) +smiles(R"[C@H]1([C@@H]([C@H]([C@@H]([C@H](O1)C(=O)[O-])O)O)NC(=O)C)OP(=O)(OP(=O)([O-])OC[C@@H]1[C@H]([C@H]([C@@H](O1)n1ccc(=O)[nH]c1=O)O)O)[O-]", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)Oc1ccc(cc1)C(=O)[O-]", printStereoWarnings=False) +smiles(R"[C@H]1([C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)O[C@@]1(O[C@@H]([C@H]([C@@H]1O)O)CO)CO[C@@]1(O[C@@H]([C@H]([C@@H]1O)O)CO)CO", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)OCc1c(c(c(nc1)C)O)CO", printStereoWarnings=False) +smiles(R"[C@H]1([C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)O[C@H]1[C@@H]([C@H]([C@H](O[C@@H]1CO)O[C@H]1[C@@H]([C@H]([C@H](O[C@@H]1CO)O[C@H]1[C@@H]([C@H]([C@H](O[C@@H]1CO)O)O)O)O)O)O)O", printStereoWarnings=False) +smiles(R"[C@H]1([C@@H]([C@H]([C@H]([C@H](O1)CO)O)O)O)O[C@@H]1[C@H]([C@H](O[C@@H]([C@H]1O)CO)O[C@@]1(O[C@@H]([C@H]([C@@H]1O)O)CO)CO)O", printStereoWarnings=False) +smiles(R"[C@H]1([C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)O[C@@H]1[C@H]([C@@H](O[C@@H]([C@H]1O)CO)O[C@H]1[C@@H]([C@H]([C@H](O[C@@H]1CO)OP(=O)(OP(=O)(OC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)/C)/C)/C)/C)/C)/C)/C)/C)[O-])[O-])O)O)O", printStereoWarnings=False) +smiles(R"[C@H]1([C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)O[C@@H]1[C@@H]([C@H](O[C@@H]([C@H]1O)CO)O[C@@H]1[C@H](O[C@@H]([C@H]([C@@H]1O)O)CO)O[C@@H]1C(O[C@@H]([C@H]([C@@H]1O)O)CO)O)O", printStereoWarnings=False) +smiles(R"[C@H]1([C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)O[C@@H]1[C@@H]([C@H](O[C@@H]([C@H]1O)CO)O[C@@H]1[C@H](O[C@@H]([C@H]([C@@H]1O)O)CO)O[C@@H]1C(O[C@@H]([C@H]([C@@H]1O)O)CO)O)O[C@@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)NC(=O)C", printStereoWarnings=False) +smiles(R"[C@H]1([C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)O[C@@H]1[C@@H]([C@H](O[C@@H]([C@H]1O)CO)O)O", printStereoWarnings=False) +smiles(R"[C@H]1([C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)O[C@@H](C(=O)[O-])CO", printStereoWarnings=False) +smiles(R"[C@H]1([C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)O[C@@H](C(=O)[O-])COP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)OC(=O)/C(=C/C=C/C(=C/C=C/C=C(/C=C/C=C(/C(=O)[O-])\C)\C)/C)/C", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)OC(=O)/C(=C/C=C/C(=C/C=C/C=C(/C=C/C=C(/C(=O)O[C@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)\C)\C)/C)/C", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H]([C@H]([C@@H]([C@H](O1)C(=O)[O-])O)O)O)Oc1c(c(c2c(=O)cc(oc2c1)c1ccccc1)O)OC", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H]([C@H]([C@@H]([C@H](O1)C(=O)[O-])O)O)O)O[C@@H]1[C@@]([C@H]2[C@@]([C@@H]3[C@]([C@@]4(CC[C@]5([C@@H]([C@@H](C(C[C@H]5C4=CC3)(C)C)O)O)C)C)(CC2)C)(CC1)C)(CO)C", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H]([C@H]([C@@H]([C@H](O1)C(=O)[O-])O)O)O)O[C@@H]1[C@@]([C@H]2[C@@]([C@@H]3[C@]([C@@]4(CC[C@]5(C(=O)CC(C[C@H]5C4=CC3)(C)C)C)C)(CC2)C)(CC1)C)(CO)C", printStereoWarnings=False) +smiles(R"[C@H]1([C@@H]([C@H]([C@@H]([C@H](O1)C(=O)[O-])O)O)O)OP(=O)(OP(=O)([O-])OC[C@@H]1[C@H]([C@H]([C@@H](O1)n1ccc(=O)[nH]c1=O)O)O)[O-]", printStereoWarnings=False) +smiles(R"[C@H]1([C@@H]([C@H]([C@H]([C@H](O1)C(=O)[O-])O)O)O)OP(=O)(OP(=O)([O-])OC[C@@H]1[C@H]([C@H]([C@@H](O1)n1ccc(=O)[nH]c1=O)O)O)[O-]", printStereoWarnings=False) +smiles(R"[C@H]1([C@H]([C@H]([C@@H]([C@H](O1)COP(=O)(O[C@@H]1[C@@H]([C@@H](O)[C@@H](CO1)O)O)[O-])O)O)O)O[C@@H]1[C@@H]([C@H](O[C@@H]([C@H]1O)CO)O)O", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H]([C@H]([C@H]([C@H](O1)COS(=O)(=O)[O-])O)O[C@H]1[C@@H]([C@H](C=C(O1)C(=O)[O-])O)O)NC(=O)C)O", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H]([C@H]([C@H]([C@H](O1)COS(=O)(=O)[O-])O)O)NC(=O)C)O", printStereoWarnings=False) +smiles(R"[C@H]1([C@H]([C@@H]([C@H]([C@H](O1)O[C@@H]1[C@H](C[C@H]([C@@H]([C@H]1O)O)[NH3+])[NH3+])NC(=O)C)O)O)CO", printStereoWarnings=False) +smiles(R"[C@H]1([C@H]([C@@H]([C@H]([C@H](O1)O[C@H]1[C@@H]([C@H]([C@@H](C[C@@H]1[NH3+])[NH3+])O[C@H]1O[C@@H]([C@H]([C@@H]([C@H]1O)[NH3+])O)CO)O)[NH3+])O)O)CNC(=O)C", printStereoWarnings=False) +smiles(R"[C@H]1([C@H]([C@@H]([C@H]([C@H](O1)O[C@H]1[C@H]([C@@H](O[C@@H]1CO)O[C@@H]1[C@@H](O)[C@@H](C[C@@H]([C@H]1O[C@H]1O[C@@H]([C@H]([C@@H]([C@H]1[NH3+])O)O)C[NH3+])[NH3+])[NH3+])O)NC(=O)C)O)O)CO", printStereoWarnings=False) +smiles(R"[C@H]1([C@H]([C@@H]([C@H]([C@H](O1)O[C@H]1[C@H]([C@@H](O[C@@H]1CO)O[C@@H]1[C@@H](O)[C@@H](C[C@@H]([C@H]1O[C@H]1O[C@@H]([C@H]([C@@H]([C@H]1[NH3+])O)O)C[NH3+])[NH3+])[NH3+])O)[NH3+])O)O)C[NH3+]", printStereoWarnings=False) +smiles(R"[C@H]1([C@H]([C@@H]([C@H]([C@H](O1)O[C@H]1[C@H]([C@@H](O[C@@H]1CO)O[C@@H]1[C@@H](O)[C@@H](C[C@@H]([C@H]1O[C@H]1O[C@@H]([C@H]([C@@H]([C@H]1[NH3+])O)O)C[NH3+])[NH3+])[NH3+])O)[NH3+])O)O)C=O", printStereoWarnings=False) +smiles(R"[C@H]1([C@H]([C@@H]([C@H]([C@H](O1)O[C@H]1[C@H]([C@@H](O[C@@H]1CO)O[C@@H]1[C@@H](O)[C@@H](C[C@@H]([C@H]1O[C@H]1O[C@@H]([C@H]([C@@H]([C@H]1[NH3+])O)O)C[NH3+])[NH3+])[NH3+])O)[NH3+])O)O)CO", printStereoWarnings=False) +smiles(R"[C@H]1([C@H]([C@@H]([C@H]([C@@H](O1)OC(=O)c1cc(c(c(c1)O)O)O)O)O)O)COC(=O)c1cc(c(c(c1)O)O)O", printStereoWarnings=False) +smiles(R"[C@H]1([C@H]([C@@H]([C@H]([C@@H](O1)OC(=O)c1cc(c(O)c(c1)O)O)OC(=O)c1cc(c(O)c(c1)O)O)OC(=O)c1cc(c(c(c1)O)O)O)OC(=O)c1cc(c(O)c(c1)O)O)COC(=O)c1cc(c(O)c(c1)O)O", printStereoWarnings=False) +smiles(R"[C@H]1([C@H]([C@@H]([C@H]([C@@H](O1)OC(=O)c1cc(c(O)c(c1)O)O)OC(=O)c1cc(c(O)c(c1)O)O)OC(=O)c1cc(c(c(c1)O)O)O)O)COC(=O)c1cc(c(O)c(c1)O)O", printStereoWarnings=False) +smiles(R"[C@H]1([C@H]([C@@H]([C@H]([C@H](O1)O)NS(=O)(=O)O)O)O[C@@H]1O[C@@H]([C@H]([C@@H]([C@H]1O)O)O)C(=O)O)CO", printStereoWarnings=False) +smiles(R"[C@H]1([C@H]([C@@H]([C@H]([C@H](O1)O)NS(=O)(=O)O)O)O[C@@H]1O[C@H]([C@H]([C@@H]([C@H]1O)O)O)C(=O)O)CO", printStereoWarnings=False) +smiles(R"[C@H]1([C@@H]([C@@H]([C@H]([C@H](O)[C@H]1O)O)OP(=O)([O-])[O-])O)O", printStereoWarnings=False) +smiles(R"[C@@H]1([C@H]([C@H]([C@@H]([C@@H](O)[C@@H]1OP(=O)([O-])[O-])OP(=O)([O-])[O-])OP(=O)([O-])[O-])OP(=O)([O-])[O-])OP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"[C@H]1([C@H]([C@@H]([C@H](C(O1)O)NC(=O)C)O)O)CO", printStereoWarnings=False) +smiles(R"[C@H]1([C@@H]([C@H]([C@H](CO1)O)O)O)OP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"[C@H]1([C@H]([C@@H]([C@H](C(=O)O[C@H](CC)[C@]([C@@H]([C@H](C(=O)[C@@H](C[C@]1(O)C)C)C)O)(O)C)C)O[C@H]1C[C@]([C@H]([C@@H](O1)C)O)(OC)C)C)O[C@H]1[C@@H]([C@H](C[C@H](O1)C)[NH+](C)C)O", printStereoWarnings=False) +smiles(R"[C@H]1([C@H]([C@@H]([C@H](C(=O)O[C@H](CC)[C@]([C@@H]([C@H](C(=O)[C@@H](C[C@]1(O)C)C)C)O)(O)C)C)O[C@H]1C[C@]([C@H]([C@@H](O1)C)O)(O)C)C)O[C@H]1[C@@H]([C@H](C[C@H](O1)C)[NH+](C)C)O", printStereoWarnings=False) +smiles(R"[C@H]1([C@H]([C@@H]([C@H](C(=O)O[C@H](CC)[C@@H]([C@@H]([C@H](C(=O)[C@@H](C[C@]1(O)C)C)C)O)C)C)O[C@H]1C[C@]([C@H]([C@@H](O1)C)O)(OC)C)C)O[C@H]1[C@@H]([C@H](C[C@H](O1)C)[NH+](C)C)O", printStereoWarnings=False) +smiles(R"[C@H]1([C@H]([C@@H]([C@H](C(=O)O[C@H](CC)[C@@H]([C@@H]([C@H](C(=O)[C@@H](C[C@]1(O)C)C)C)O)C)C)O[C@H]1C[C@]([C@H]([C@@H](O1)C)O)(O)C)C)O", printStereoWarnings=False) +smiles(R"[C@H]1([C@H]([C@@H]([C@H](C(=O)O[C@H](CC)[C@@H]([C@@H]([C@H](C(=O)[C@@H](C[C@]1(O)C)C)C)O)C)C)O[C@H]1C[C@]([C@H]([C@@H](O1)C)O)(O)C)C)O[C@H]1[C@@H]([C@H](C[C@H](O1)C)[NH+](C)C)O", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H]([C@@H]([C@H](O1)C=O)O)O)n1cnc2c1ncnc2O", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H]([C@@H]([C@H](O1)CO)O)O)n1cnc2c1ncnc2O", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H]([C@@H]([C@H](O1)C(=O)[O-])O)O)n1cnc2c1nc[nH]c2=O", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H]([C@@H]([C@H](O1)COP(=O)(OP(=O)(OP(=O)(OC[C@H]1O[C@H]([C@@H]([C@@H]1O)O)n1c2c(c(ncn2)N)nc1)[O-])[O-])[O-])O)O)n1c2c(c(ncn2)N)nc1", printStereoWarnings=False) +smiles(R"[C@H]1([C@H]([C@@H]([C@H](OC1O)COP(=O)([O-])[O-])O)O)NC(=O)C", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H]([C@H]([C@@H](O[C@@H]1CO[C@@]1(C[C@@H](O[C@@]2(C(=O)[O-])O[C@@H]([C@@H]([C@@H](C2)O)O)[C@@H](CO)O)[C@@H](O[C@@H]2[C@H]([C@@H](O[C@@H]3[C@H]([C@H]([C@@H]([C@H](O3)[C@H](CO)O)O)OC3[C@@H]([C@H]([C@@H]([C@H](O3)CO)O)O)O)O)[C@@H]([C@H](O2)[C@H](CO)O)O)O)[C@H](O1)[C@@H](CO)O)C(=O)[O-])OC[C@@H]1[C@H]([C@@H]([C@H]([C@H](O1)OP(=O)([O-])[O-])NC(=O)C[C@@H](CCCCCCCCCCC)O)OC(=O)C[C@@H](CCCCCCCCCCC)O)O)NC(=O)C[C@@H](CCCCCCCCCCC)OC(=O)CCCCCCCCCCC)OC(=O)C[C@@H](CCCCCCCCCCC)OC(=O)CCCCCCCCCCCCC)OP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H]([C@H]([C@@H](O[C@@H]1CO[C@@]1(C[C@@H](O[C@@]2(C(=O)[O-])O[C@@H]([C@@H]([C@@H](C2)O)O)[C@@H](CO)O)[C@@H](O[C@@H]2[C@H]([C@@H](O[C@@H]3[C@H]([C@H]([C@@H]([C@H](O3)[C@H](CO)O)O)O)O)[C@@H]([C@H](O2)[C@H](CO)O)O)O)[C@H](O1)[C@@H](CO)O)C(=O)[O-])OC[C@@H]1[C@H]([C@@H]([C@H]([C@H](O1)OP(=O)([O-])[O-])NC(=O)C[C@@H](CCCCCCCCCCC)O)OC(=O)C[C@@H](CCCCCCCCCCC)O)O)NC(=O)C[C@@H](CCCCCCCCCCC)OC(=O)CCCCCCCCCCC)OC(=O)C[C@@H](CCCCCCCCCCC)OC(=O)CCCCCCCCCCCCC)OP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H]([C@H]([C@@H](O[C@@H]1CO[C@@]1(C[C@@H](O[C@@]2(C(=O)[O-])O[C@@H]([C@@H]([C@@H](C2)O)O)[C@@H](CO)O)[C@@H](O[C@@H]2[C@H]([C@@H](O)[C@@H]([C@H](O2)[C@H](CO)O)O)O)[C@H](O1)[C@@H](CO)O)C(=O)[O-])OC[C@@H]1[C@H]([C@@H]([C@H]([C@H](O1)OP(=O)([O-])[O-])NC(=O)C[C@@H](CCCCCCCCCCC)O)OC(=O)C[C@@H](CCCCCCCCCCC)O)O)NC(=O)C[C@@H](CCCCCCCCCCC)OC(=O)CCCCCCCCCCC)OC(=O)C[C@@H](CCCCCCCCCCC)OC(=O)CCCCCCCCCCCCC)OP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H]([C@H]([C@@H](O[C@@H]1CO[C@@]1(C[C@@H](O[C@@]2(C(=O)[O-])O[C@@H]([C@@H]([C@@H](C2)O)O)[C@@H](CO)O)[C@@H](O)[C@H](O1)[C@@H](CO)O)C(=O)[O-])OC[C@@H]1[C@H]([C@@H]([C@H]([C@H](O1)OP(=O)([O-])[O-])NC(=O)C[C@@H](CCCCCCCCCCC)O)OC(=O)C[C@@H](CCCCCCCCCCC)O)O)NC(=O)C[C@@H](CCCCCCCCCCC)OC(=O)CCCCCCC/C=C\CCCCCC)OC(=O)C[C@@H](CCCCCCCCCCC)OC(=O)CCCCCCCCCCCCC)OP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H]([C@H]([C@@H](O[C@@H]1CO[C@@]1(C[C@@H](O[C@@]2(C(=O)[O-])O[C@@H]([C@@H]([C@@H](C2)O)O)[C@@H](CO)O)[C@@H](O)[C@H](O1)[C@@H](CO)O)C(=O)[O-])OC[C@@H]1[C@H]([C@@H]([C@H]([C@H](O1)OP(=O)([O-])[O-])NC(=O)C[C@@H](CCCCCCCCCCC)O)OC(=O)C[C@@H](CCCCCCCCCCC)O)O)NC(=O)C[C@@H](CCCCCCCCCCC)OC(=O)CCCCCCC/C=C\CCCCCC)OC(=O)C[C@@H](CCCCCCCCCCC)O)OP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H]([C@H]([C@@H](O[C@@H]1CO[C@@]1(C[C@@H](O[C@@]2(C(=O)[O-])O[C@@H]([C@@H]([C@@H](C2)O)O)[C@@H](CO)O)[C@@H](O)[C@H](O1)[C@@H](CO)O)C(=O)[O-])OC[C@@H]1[C@H]([C@@H]([C@H]([C@H](O1)OP(=O)([O-])[O-])NC(=O)C[C@@H](CCCCCCCCCCC)O)OC(=O)C[C@@H](CCCCCCCCCCC)O)O)NC(=O)C[C@@H](CCCCCCCCCCC)OC(=O)CCCCCCCCCCC)OC(=O)C[C@@H](CCCCCCCCCCC)OC(=O)CCCCCCCCCCCCC)OP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H]([C@H]([C@@H](O[C@@H]1CO[C@@]1(C[C@@H](O[C@@]2(C(=O)[O-])O[C@@H]([C@@H]([C@@H](C2)O)O)[C@@H](CO)O)[C@@H](O)[C@H](O1)[C@@H](CO)O)C(=O)[O-])OC[C@@H]1[C@H]([C@@H]([C@H]([C@H](O1)OP(=O)([O-])[O-])NC(=O)C[C@@H](CCCCCCCCCCC)O)OC(=O)C[C@@H](CCCCCCCCCCC)O)O)NC(=O)C[C@@H](CCCCCCCCCCC)OC(=O)CCCCCCCCCCC)OC(=O)C[C@@H](CCCCCCCCCCC)O)OP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H]([C@H]([C@@H](O[C@@H]1CO[C@@]1(C[C@@H](O[C@@]2(C(=O)[O-])O[C@@H]([C@@H]([C@@H](C2)O)O)[C@@H](CO)OP(=O)(OCC[NH3+])[O-])[C@@H](O)[C@H](O1)[C@@H](CO)O)C(=O)[O-])OC[C@@H]1[C@H]([C@@H]([C@H]([C@H](O1)OP(=O)([O-])[O-])NC(=O)C[C@@H](CCCCCCCCCCC)O)OC(=O)C[C@@H](CCCCCCCCCCC)O)O)NC(=O)C[C@@H](CCCCCCCCCCC)OC(=O)CCCCCCCCCCC)OC(=O)C[C@@H](CCCCCCCCCCC)OC(=O)CCCCCCCCCCCCC)OP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H]([C@H]([C@@H](O[C@@H]1CO[C@@]1(C(=O)[O-])O[C@@H]([C@@H]([C@@H](C1)O[C@@]1(C(=O)[O-])O[C@@H]([C@@H]([C@@H](C1)O[C@@]1(C(=O)[O-])O[C@@H]([C@@H]([C@@H](C1)O[C@@]1(C(=O)[O-])O[C@@H]([C@@H]([C@@H](C1)O)O)[C@@H](CO)O)O)[C@@H](CO)O)O)[C@@H](CO)O)O)[C@@H](CO)O)OC[C@@H]1[C@H]([C@@H]([C@H]([C@H](O1)OP(=O)([O-])[O-])NC(=O)C[C@@H](CCCCCCCCCCC)O)OC(=O)C[C@@H](CCCCCCCCCCC)O)O)NC(=O)C[C@@H](CCCCCCCCCCC)O)OC(=O)C[C@@H](CCCCCCCCCCC)O)OP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H]([C@H]([C@@H](O[C@@H]1CO[C@@]1(C(=O)[O-])O[C@@H]([C@@H]([C@@H](C1)O[C@@]1(C(=O)[O-])O[C@@H]([C@@H]([C@@H](C1)O[C@@]1(C(=O)[O-])O[C@@H]([C@@H]([C@@H](C1)O)O)[C@@H](CO)O)O)[C@@H](CO)O)O)[C@@H](CO)O)OC[C@@H]1[C@H]([C@@H]([C@H]([C@H](O1)OP(=O)([O-])[O-])NC(=O)C[C@@H](CCCCCCCCCCC)O)OC(=O)C[C@@H](CCCCCCCCCCC)O)O)NC(=O)C[C@@H](CCCCCCCCCCC)O)OC(=O)C[C@@H](CCCCCCCCCCC)O)OP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H]([C@H]([C@@H](O[C@@H]1CO[C@@]1(C(=O)[O-])O[C@@H]([C@@H]([C@@H](C1)O[C@@]1(C(=O)[O-])O[C@@H]([C@@H]([C@@H](C1)O)O)[C@@H](CO)O)O)[C@@H](CO)O)OC[C@@H]1[C@H]([C@@H]([C@H]([C@H](O1)OP(=O)([O-])O[C@H]1OC[C@@H]([C@@H]([C@H]1O)O)[NH3+])NC(=O)C[C@@H](CCCCCCCCCCC)O)OC(=O)C[C@@H](CCCCCCCCCCC)O)O)NC(=O)C[C@@H](CCCCCCCCCCC)OC(=O)CCCCCCCCCCC)OC(=O)C[C@@H](CCCCCCCCCCC)OC(=O)CCCCCCCCCCCCC)OP(=O)([O-])O[C@H]1OC[C@@H]([C@@H]([C@H]1O)O)[NH3+]", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H]([C@H]([C@@H](O[C@@H]1CO[C@@]1(C(=O)[O-])O[C@@H]([C@@H]([C@@H](C1)O[C@@]1(C(=O)[O-])O[C@@H]([C@@H]([C@@H](C1)O)O)[C@@H](CO)O)O)[C@@H](CO)O)OC[C@@H]1[C@H]([C@@H]([C@H]([C@H](O1)OP(=O)([O-])[O-])NC(=O)C[C@@H](CCCCCCCCCCC)O)OC(=O)C[C@@H](CCCCCCCCCCC)O)O)NC(=O)C[C@@H](CCCCCCCCCCC)O)OC(=O)C[C@@H](CCCCCCCCCCC)O)OP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H]([C@H]([C@@H](O[C@@H]1CO[C@@]1(C(=O)[O-])O[C@@H]([C@@H]([C@@H](C1)O)O)[C@@H](CO)O)OC[C@@H]1[C@H]([C@@H]([C@H]([C@H](O1)OP(=O)([O-])[O-])NC(=O)C[C@@H](CCCCCCCCCCC)O)OC(=O)C[C@@H](CCCCCCCCCCC)O)O)NC(=O)C[C@@H](CCCCCCCCCCC)O)OC(=O)C[C@@H](CCCCCCCCCCC)O)OP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H]([C@H]([C@@H](O[C@@H]1CO[C@@]1(C(=O)[O-])O[C@@H]([C@@H]([C@@H](C1)OP(=O)([O-])[O-])O)[C@@H](CO)O)OC[C@@H]1[C@H]([C@@H]([C@H]([C@H](O1)OP(=O)([O-])[O-])NC(=O)C[C@@H](CCCCCCCCCCC)O)OC(=O)C[C@@H](CCCCCCCCCCC)O)O)NC(=O)C[C@@H](CCCCCCCCCCC)O)OC(=O)C[C@@H](CCCCCCCCCCC)O)OP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H]([C@H]([C@@H](O[C@@H]1C)O[C@H]1[C@H](C[C@H](C(=O)/C=C/C(=C/[C@@H]([C@H](OC(=O)C[C@H]([C@@H]1C)O)CC)CO[C@H]1[C@@H]([C@@H]([C@@H]([C@H](O1)C)O)OC)OC)/C)C)CC=O)O)N(C)C)O[C@H]1C[C@@]([C@H]([C@@H](O1)C)O)(C)O", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H]([C@H]([C@@H](O[C@@H]1C)O[C@H]1[C@H](C[C@H](C(=O)/C=C/C(=C/[C@@H]([C@H](OC(=O)C[C@H]([C@@H]1C)O)CC)CO[C@H]1[C@@H]([C@@H]([C@@H]([C@H](O1)C)O)O)OC)/C)C)CC=O)O)N(C)C)O[C@H]1C[C@@]([C@H]([C@@H](O1)C)O)(C)O", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H]([C@H]([C@@H](O[C@@H]1C)O[C@H]1[C@H](C[C@H](C(=O)/C=C/C(=C/[C@@H]([C@H](OC(=O)C[C@H]([C@@H]1C)O)CC)CO[C@H]1[C@@H]([C@@H]([C@@H]([C@H](O1)C)O)O)O)/C)C)CC=O)O)N(C)C)O[C@H]1C[C@@]([C@H]([C@@H](O1)C)O)(C)O", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H]([C@H]([C@@H](O[C@@H]1CO)OC[C@@H]1[C@H]([C@@H]([C@H]([C@H](O1)OP(=O)([O-])[O-])NC(=O)C[C@@H](CCCCCCCCCCC)O)OC(=O)C[C@@H](CCCCCCCCCCC)O)O)NC(=O)C[C@@H](CCCCCCCCCCC)OC(=O)CCCCCCCCCCC)OC(=O)C[C@@H](CCCCCCCCCCC)OC(=O)CCCCCCCCCCCCC)OP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H]([C@H]([C@@H](O[C@@H]1CO)OC[C@@H]1[C@H]([C@@H]([C@H]([C@H](O1)OP(=O)([O-])[O-])NC(=O)C[C@@H](CCCCCCCCCCC)O)OC(=O)C[C@@H](CCCCCCCCCCC)O)O)NC(=O)C[C@@H](CCCCCCCCCCC)OC(=O)CCCCCCCCCCC)OC(=O)C[C@@H](CCCCCCCCCCC)OC(=O)CCCCCCCCCCCCC)OP(=O)([O-])O[C@H]1OC[C@@H]([C@@H]([C@H]1O)O)[NH3+]", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H]([C@H]([C@@H](O[C@@H]1CO)OC[C@@H]1[C@H]([C@@H]([C@H]([C@H](O1)OP(=O)([O-])[O-])NC(=O)C[C@@H](CCCCCCCCCCC)O)OC(=O)C[C@@H](CCCCCCCCCCC)O)O)NC(=O)C[C@@H](CCCCCCCCCCC)O)OC(=O)C[C@@H](CCCCCCCCCCC)O)O", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H]([C@H]([C@@H](O[C@@H]1CO)OC[C@@H]1[C@H]([C@@H]([C@H]([C@H](O1)OP(=O)([O-])[O-])NC(=O)C[C@@H](CCCCCCCCCCC)O)OC(=O)C[C@@H](CCCCCCCCCCC)O)O)NC(=O)C[C@@H](CCCCCCCCCCC)O)OC(=O)C[C@@H](CCCCCCCCCCC)O)OP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"[C@H]1([C@@H]([C@H]([C@@H](O[C@@H]1CO)O[C@@H]1[C@H](C(O[C@@H]([C@H]1O)CO)O)NC(=O)C)O)O)O", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H]([C@H]([C@@H](O[C@@H]1CO)O[C@@H]1[C@H](OC([C@H]([C@H]1O)O)O)CO)O)O)O", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H]([C@H]([C@@H](O[C@H]1O[C@H]1[C@@H](O[C@@H](C)[C@@]1(C=O)O)O[C@@H]1[C@H]([C@H](O)[C@H]([C@H](O)[C@H]1O)NC(=[NH2+])N)NC(=[NH2+])N)CO)O)O)[NH2+]C", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H]([C@H]([C@@H](O[C@H]1O[C@H]1[C@@H](O[C@@H](C)[C@]1(O)COP(=O)([O-])[O-])O[C@@H]1[C@H]([C@H](O)[C@H]([C@@H]([C@H]1O)OP(=O)([O-])[O-])NC(=[NH2+])N)NC(=[NH2+])N)CO)O)O)[NH2+]C", printStereoWarnings=False) +smiles(R"[C@H]1([C@H]([C@@H]([C@H](O[C@H]1O[C@H]1[C@H](O)O[C@@H]([C@H]([C@@H]1O)O)C(=O)[O-])C(=O)[O-])O)O)O", printStereoWarnings=False) +smiles(R"[C@@H]1([C@H]([C@@H]([C@H](O[C@@H]1O[C@@H](C(=O)[O-])CO)CO)O)O)O", printStereoWarnings=False) +smiles(R"[C@H]1([C@H]([C@@H]([C@H](O[C@H]1O)COP(=O)([O-])[O-])O)O)NC(=O)C", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H]([C@H](C(=O)C[C@@H]1[NH3+])O)O)O", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H]([C@@H](NC(=O)C)[C@H]2O[C@@H]1CO2)O[C@@H](C(=O)[O-])C)O", printStereoWarnings=False) +smiles(R"[C@@H]1([C@H]([C@@H](OC1)c1cc(c(cc1)O)OC)CO)Cc1ccc(c(c1)OC)O", printStereoWarnings=False) +smiles(R"[C@H]1([C@@H]([C@H](OC1)c1cc(c(cc1)O)OC)CO)Cc1ccc(c(c1)OC)O", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H]([C@H](O[C@@]1(CO)O)CO)O)O", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H]([C@H](OC1(CO)O)CO)O)O", printStereoWarnings=False) +smiles(R"[C@@H]1([C@H]([C@H](OC1(CO)O)CO)O)O", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H]([C@H](OC1(CO)O)C(=O)[O-])O)O", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H]([C@H](O[C@@]1(CO)O)COP(=O)([O-])[O-])O)O", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H]([C@H](OC1(CO)O)COP(=O)([O-])[O-])O)O", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H]([C@H](O[C@@]1(CO)OP(=O)([O-])[O-])CO)O)O", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H]([C@H](O[C@@]1(CO)OP(=O)([O-])[O-])COP(=O)([O-])[O-])O)O", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H]([C@H](OC1(COP(=O)([O-])[O-])O)COP(=O)([O-])[O-])O)O", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H]([C@H](O[C@@]21CO[C@@]1([C@H]([C@@H]([C@H](O1)CO)O)O)CO2)CO)O)O", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H]([C@H](OC([C@@H]1[NH3+])O)CO)O)O", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H]([C@H](OC[C@@H]1O)CO)O)O", printStereoWarnings=False) +smiles(R"[C@H]1([C@@H]([C@@H](O[C@H]1c1ccc(cc1)O)c1ccc(cc1)O)C)C", printStereoWarnings=False) +smiles(R"[C@H]1([C@@H]([C@@H](O[C@H]1c1ccc(c(c1)O)O)c1ccc(cc1)O)C)C", printStereoWarnings=False) +smiles(R"[C@@H]1([C@H]([C@@H](O[C@@H]1CSCC[C@@H](C(=O)[O-])[NH3+])n1c2c(nc1)c(ncn2)N)O)O", printStereoWarnings=False) +smiles(R"[C@@H]1([C@H]([C@@H](O[C@@H]1CSCC[C@@H](C(=O)[O-])[NH3+])n1c2c(nc1)c(ncn2)O)O)O", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H]([C@@H](O[C@@H]2O[C@@H]([C@@H]([C@@H]([C@H]2O)O)O)CO)[C@@H]([C@H](O1)CO)O)NC(=O)C)O[C@@H]1[C@H]([C@H](O[C@H]2[C@@H]([C@H](C(O[C@@H]2CO)O)O)O)O[C@@H]([C@@H]1O)CO)O", printStereoWarnings=False) +smiles(R"[C@H]1([C@H]([C@H](O[C@@H]([C@H]1O)CO)OC[C@H]1OC([C@H]([C@@H]1O)O)(O)CO)O)O", printStereoWarnings=False) +smiles(R"[C@H]1([C@H]([C@@H](O[C@@H]([C@@H]1O)CO)O)NC(=O)C)OC1O[C@@H]([C@@H]([C@@H]([C@H]1O)O)O)CO", printStereoWarnings=False) +smiles(R"[C@H]1([C@H]([C@@H](O[C@@H]([C@@H]1O)CO)O)NC(=O)C)O[C@@H]1O[C@@H]([C@H]([C@@H]([C@H]1O)O)O)C(=O)O", printStereoWarnings=False) +smiles(R"[C@H]1([C@H]([C@H](O[C@@H]([C@H]1O)CO)O)NC(=O)C)O[C@@H](C(=O)N[C@H](C(=O)[O-])C)C", printStereoWarnings=False) +smiles(R"[C@H]1([C@H]([C@H](O[C@@H]([C@@H]1O)C)OP(=O)(OP(=O)(OC[C@H]1O[C@H](C[C@@H]1O)n1c(=O)[nH]c(=O)c(c1)C)[O-])[O-])O)NC(=O)C", printStereoWarnings=False) +smiles(R"[C@H]1([C@H]([C@H](O[C@@H]([C@@H]1O)C)OP(=O)(OP(=O)(OC[C@H]1O[C@H](C[C@@H]1O)n1c(=O)[nH]c(=O)c(c1)C)[O-])[O-])O)[NH3+]", printStereoWarnings=False) +smiles(R"[C@H]1([C@H]([C@H](O[C@@H]([C@@H]1O)C)OP(=O)(OP(=O)(OC[C@H]1O[C@H](C[C@@H]1O)n1c(=O)[nH]c(=O)c(c1)C)[O-])[O-])O)[NH+](C)C", printStereoWarnings=False) +smiles(R"[C@H]1([C@H]([C@@H](O[C@@H]([C@@H]1O)COS(=O)(=O)O)O)NC(=O)C)O[C@H]1[C@@H]([C@H]([C@@H]([C@H](O1)C(=O)O)O)O)O", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H]([C@@H](O)[C@@H]([C@H]([C@@H]1O)O[C@@H]1O[C@@H](C)[C@@](C=O)(O)[C@H]1O[C@@H]1O[C@H]([C@H](O)[C@@H](O)[C@@H]1[NH2+]C)CO)NC(=[NH2+])N)NC(=[NH2+])N)OP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"[C@H]1([C@@H]([C@H](O)[C@H]([C@@H]([C@H]1OP(=O)([O-])[O-])OP(=O)([O-])[O-])OP(=O)([O-])[O-])OP(=O)([O-])[O-])OP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H]([C@@H](O)[C@@H]([C@@H](O)[C@@H]1O)O)O)[NH3+]", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H]([C@@H](O)[C@@H]([C@@H](O)[C@@H]1O)OP(=O)([O-])[O-])O)[NH3+]", printStereoWarnings=False) +smiles(R"[C@H]1([C@H](COC1=O)Cc1cc(c(cc1)O)OC)Cc1ccc(c(c1)OC)O", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H](C(=O)C(=CC1)[O-])O)CO", printStereoWarnings=False) +smiles(R"[C@@H]1([C@H](C(O[C@H]1COP(=O)([O-])[O-])(CO)O)O)O", printStereoWarnings=False) +smiles(R"[C@H]1([C@@H](C(O[C@@H]1COP(=O)([O-])[O-])(CO)O)O)O", printStereoWarnings=False) +smiles(R"[C@H]1([C@@H](C(O[C@@H]1COP(=O)([O-])[O-])(COP(=O)([O-])[O-])O)O)O", printStereoWarnings=False) +smiles(R"[C@H]1([C@H](C(O[C@@H]([C@@H]1O)CO)O)NC(=O)C)O[C@@H]1OC(=C[C@@H]([C@H]1O)O)C(=O)[O-]", printStereoWarnings=False) +smiles(R"[C@H]1([C@H](C(O[C@@H]([C@H]1O)COP(=O)([O-])[O-])O)[NH3+])O", printStereoWarnings=False) +smiles(R"[C@H]1([C@H](C(O[C@@H]([C@@H]1O)COS(=O)(=O)[O-])O)NC(=O)C)O[C@@H]1OC(=C[C@@H]([C@H]1O)O)C(=O)[O-]", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H](C(=O)[C@@H]([C@H]([C@@H]1O)NC(=[NH2+])N)O)O)O", printStereoWarnings=False) +smiles(R"[C@H]1([C@@H](C(=O)[C@@H]([C@H](O1)C(=O)[O-])O)NC(=O)C)OP(=O)(OP(=O)([O-])OC[C@@H]1[C@H]([C@H]([C@@H](O1)n1ccc(=O)[nH]c1=O)O)O)[O-]", printStereoWarnings=False) +smiles(R"[C@H]1([C@@H](O1)c1ccccc1)c1ccccc1", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H](O1)C(=O)[O-])C(=O)[O-]", printStereoWarnings=False) +smiles(R"[C@@H]1([C@H](O1)P(=O)(O)[O-])C", printStereoWarnings=False) +smiles(R"[C@H]1([C@H](OC([C@@H]([C@H]1O[C@@H](C(=O)[O-])C)NC(=O)C)O)CO)O", printStereoWarnings=False) +smiles(R"[C@H]1([C@H](OC([C@@H]([C@H]1O[C@@H](C(=O)[O-])C)NC(=O)C)O)COP(=O)([O-])[O-])O", printStereoWarnings=False) +smiles(R"[C@@H]1([C@H](OC([C@@H]([C@H]1O)O)O)C(=O)[O-])O[C@H]1OC(=C[C@@H]([C@H]1O)O)C(=O)[O-]", printStereoWarnings=False) +smiles(R"[C@@H]1([C@H](O[C@@H]2[C@H]([C@@H]([C@H]([C@@H]([C@H]2O)O)NC(=[NH2+])N)O)NC(=[NH2+])N)O[C@H]([C@@]1(C=O)O)C)O[C@H]1[C@H]([C@@H]([C@H]([C@@H](O1)CO)O)OP(=O)(OC[C@H]1O[C@H]([C@@H]([C@@H]1O)O)n1c2c(nc1)c(ncn2)N)[O-])[NH2+]C", printStereoWarnings=False) +smiles(R"[C@@H]1([C@H](O[C@@H]2[C@H]([C@@H]([C@H]([C@@H]([C@H]2O)OP(=O)([O-])[O-])NC(=[NH2+])N)O)NC(=[NH2+])N)O[C@H]([C@@]1(CO)O)C)O[C@H]1[C@H]([C@@H]([C@H]([C@@H](O1)CO)O)O)[NH2+]C", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H](O[C@@H]([C@H]1O)COP(=O)(OP(=O)(O[C@H]1[C@@H](O)[C@@H](O)[C@@H]([C@@H](O)[C@@H]1O)O)[O-])[O-])n1c(=O)nc(cc1)N)O", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H](O[C@@H]([C@H]1O)COP(=O)(OP(=O)([O-])OCC[N+](C)(C)C)[O-])n1c(=O)nc(cc1)N)O", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H](O[C@@H]([C@H]1O)COP(=O)(OP(=O)([O-])OCC[NH2+]C)[O-])n1c(=O)nc(cc1)N)O", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H](O[C@@H]([C@H]1O)COP(=O)(OP(=O)([O-])OCC[NH3+])[O-])n1c(=O)nc(cc1)N)O", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H](O[C@@H]([C@H]1O)COP(=O)(OP(=O)([O-])OCC[NH+](C)C)[O-])n1c(=O)nc(cc1)N)O", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H](O[C@@H]([C@H]1O)COP(=O)(OP(=O)([O-])[O-])[O-])n1c(=O)nc(cc1)N)O", printStereoWarnings=False) +smiles(R"[C@H]1([C@H](O[C@H]([C@@H]([C@H]1O[C@@H](C(=O)[O-])C)NC(=O)C)O)COP(=O)([O-])[O-])O", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H](O[C@@H]([C@H]([C@@H]1O)O)CO)OC(=O)/C=C/c1cc(c(c(c1)OC)O)OC)O", printStereoWarnings=False) +smiles(R"[C@@H]1([C@H](O[C@@H]([C@H]([C@@H]1O)O)CO)OP(=O)([O-])[O-])[NH3+]", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H](O[C@@H]([C@H]([C@@H]1O)O)COP(=O)([O-])[O-])O)O", printStereoWarnings=False) +smiles(R"[C@@H]1([C@H](O[C@@H]([C@H]([C@@H]1O)O)COP(=O)([O-])[O-])O)O", printStereoWarnings=False) +smiles(R"[C@H]1([C@H](O[C@H]([C@@H]([C@H]1O)O)OC/C(=C\CNc1c2c(ncn1)[nH]cn2)/C)CO)O", printStereoWarnings=False) +smiles(R"[C@H]1([C@H](O[C@H]([C@@H]([C@H]1O)O)OC/C(=C/CNc1c2c([nH]cn2)ncn1)/C)CO)O", printStereoWarnings=False) +smiles(R"[C@H]1([C@H](O)[C@@H]([C@H]([C@H](O)[C@H]1O)OP(=O)([O-])[O-])OP(=O)([O-])[O-])OP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H](O)[C@H](n2cnc3c2nc(N)[nH]c3=O)O[C@@H]1COP(=O)(OP(=O)([O-])[O-])[O-])OP(=O)(OP(=O)([O-])[O-])[O-]", printStereoWarnings=False) +smiles(R"[C@H]1([C@H](O)[C@H](O)[C@H]([C@@H]([C@H]1O)OP(=O)([O-])[O-])OP(=O)([O-])[O-])OP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"[C@H]1([C@H](O)[C@H](O)[C@H]([C@@H]([C@H]1OP(=O)([O-])[O-])OP(=O)([O-])[O-])OP(=O)([O-])[O-])OP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"[C@H]1([C@H](O)[C@H](O)[C@H]([C@H](O)[C@H]1O)O)OC", printStereoWarnings=False) +smiles(R"[C@H]1([C@H](O)[C@H](O)[C@H]([C@H](O)[C@H]1O)O)OP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"[C@H]1([C@H](O)[C@H](O)[C@H]([C@H](O)[C@H]1O)OP(=O)([O-])[O-])OP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"[C@@H]1([C@H](O)[C@@H](O)[C@H](O)[C@H](O1)CO)O[C@H](C#N)c1ccc(cc1)O", printStereoWarnings=False) +smiles(R"[C@@H]1([C@H](O)[C@@H](O)[C@H](O)[C@H](O1)CO)OC(=O)/C=C/c1ccccc1", printStereoWarnings=False) +smiles(R"[C@H]1([C@H](O)[C@H](OP(=O)([O-])[O-])[C@H]([C@H](O)[C@H]1O)O)OP(=O)(O[C@H]1[C@@H](O)[C@@H](O)[C@@H]([C@@H](O)[C@@H]1O)O)[O-]", printStereoWarnings=False) +smiles(R"[C@@H]1([C@@H](O)C(O[C@@H]1COP(=O)([O-])[O-])NC(=O)CNC=O)O", printStereoWarnings=False) +smiles(R"[C@@H]1([C@H](OC(=O)[C@@H]([C@H]([C@H](C[C@H](C(=O)C=C1)C)C)O)C)CC)C", printStereoWarnings=False) +smiles(R"[C@@H]1(C[NH2+]CCC1)C(=O)[O-]", printStereoWarnings=False) +smiles(R"[C@H]1(COC([C@H]([C@@H]1O)O)O)O", printStereoWarnings=False) +smiles(R"[C@@H]1(C(O[C@@H]([C@H]([C@@H]1O)O)COP(=O)([O-])[O-])O)O", printStereoWarnings=False) +smiles(R"[C@@H]1(C(=O)C(=O)C[C@H]([C@@H]1O)O)O", printStereoWarnings=False) +smiles(R"[C@H]1(C(=O)[O-])CC[C@@H](CC1)O", printStereoWarnings=False) +smiles(R"[C@H]1(CO)O[C@H](O[C@@H]2[C@@H](CO)O[C@H](O)[C@@H]([C@H]2O)O)[C@@H]([C@H]([C@@H]1O[C@H]1O[C@@H]([C@H]([C@@H]([C@H]1O)O)O)CO)O)O", printStereoWarnings=False) +smiles(R"[C@H]1(C(=O)[O-])[NH2+]CCCC1", printStereoWarnings=False) +smiles(R"[C@@H]1([n+]2cc(ccc2)C(=O)[O-])O[C@@H]([C@H]([C@H]1O)O)COP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"[C@@H]1(n2c(cc(=O)[nH]c2=O)C(=O)[O-])O[C@@H]([C@H]([C@H]1O)O)COP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"[C@@H]1(n2c(=O)nc(c(c2)C)N)O[C@@H]([C@H](C1)O)COP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"[C@@H]1(n2c(=O)nc(c(c2)C)N)O[C@@H]([C@H](C1)O)COP(=O)(OP(=O)([O-])[O-])[O-]", printStereoWarnings=False) +smiles(R"[C@@H]1(n2c(=O)nc(cc2)N)O[C@H]2[C@H]([C@H]1O)OP(=O)(OC2)[O-]", printStereoWarnings=False) +smiles(R"[C@@H]1(n2c(=O)nc(cc2)N)O[C@@H]([C@@H]2[C@H]1OP(=O)(O2)[O-])CO", printStereoWarnings=False) +smiles(R"[C@@H]1(n2c(=O)nc(cc2)N)O[C@@H]([C@H](C=C1)NC(=O)CC(CCN(C(=[NH2+])N)C)[NH3+])C(=O)[O-]", printStereoWarnings=False) +smiles(R"[C@@H]1(n2c(=O)nc(cc2)N)O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OP(=O)([O-])OC[C@@H](O)[C@@](CO)(C)OP(=O)([O-])[O-])[O-]", printStereoWarnings=False) +smiles(R"[C@@H]1(n2c(=O)nc(cc2)N)O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OP(=O)(OP(=O)([O-])[O-])[O-])[O-]", printStereoWarnings=False) +smiles(R"[C@@H]1(n2c(=O)[nH]c(=O)c(c2)C)O[C@@H]([C@H](C1)O)CO", printStereoWarnings=False) +smiles(R"[C@@H]1(n2c(=O)[nH]c(=O)c(c2)C)O[C@@H]([C@H](C1)O)COP(=O)(OP(=O)(O[C@H]1O[C@@H](C[C@H]([NH3+])[C@H]1O)C)[O-])[O-]", printStereoWarnings=False) +smiles(R"[C@@H]1(n2c(=O)[nH]c(=O)c(c2)C)O[C@@H]([C@H](C1)O)COP(=O)(OP(=O)(O[C@H]1O[C@@H](C[C@H]([NH+](C)C)[C@H]1O)C)[O-])[O-]", printStereoWarnings=False) +smiles(R"[C@@H]1(n2c(=O)[nH]c(=O)c(c2)C)O[C@@H]([C@H](C1)O)COP(=O)(OP(=O)(O[C@H]1O[C@@H]([C@H]([C@H]([NH3+])[C@H]1O)O)C)[O-])[O-]", printStereoWarnings=False) +smiles(R"[C@@H]1(n2c(=O)[nH]c(=O)c(c2)C)O[C@@H]([C@H](C1)O)COP(=O)(OP(=O)(O[C@H]1O[C@@H]([C@H]([C@H]([NH+](C)C)[C@H]1O)O)C)[O-])[O-]", printStereoWarnings=False) +smiles(R"[C@@H]1(n2c(=O)[nH]c(=O)c(c2)C)O[C@@H]([C@H](C1)O)COP(=O)(OP(=O)(O[C@H]1O[C@@H]([C@H]([C@H](O)[C@H]1O)O)CO)[O-])[O-]", printStereoWarnings=False) +smiles(R"[C@@H]1(n2c(=O)[nH]c(=O)c(c2)C)O[C@@H]([C@H](C1)O)COP(=O)(OP(=O)([O-])[O-])[O-]", printStereoWarnings=False) +smiles(R"[C@@H]1(n2c(=O)[nH]c(=O)c(c2)C)O[C@@H]([C@H](C1)O)COP(=O)(OP(=O)(OP(=O)([O-])[O-])[O-])[O-]", printStereoWarnings=False) +smiles(R"[C@@H]1(n2c(=O)[nH]c(=O)cc2)O[C@@H]([C@@H]2[C@H]1OP(=O)(O2)[O-])CO", printStereoWarnings=False) +smiles(R"[C@@H]1(n2c(=O)[nH]c(=O)cc2)O[C@@H]([C@H](C=C1)NC(=O)CC(CCN(C(=[NH2+])N)C)[NH3+])C(=O)[O-]", printStereoWarnings=False) +smiles(R"[C@@H]1(n2c(=O)[nH]c(=O)cc2)O[C@@H]([C@H]([C@H]1O)O)CO", printStereoWarnings=False) +smiles(R"[C@@H]1(n2c(=O)[nH]c(=O)cc2)O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OP(=O)(O[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)C(=O)[O-])O)O)NC(=O)C)[O-])[O-]", printStereoWarnings=False) +smiles(R"[C@@H]1(n2c(=O)[nH]c(=O)cc2)O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OP(=O)(O[C@H]1O[C@H]([C@@H]([C@H]1O)O)[C@@H](CO)O)[O-])[O-]", printStereoWarnings=False) +smiles(R"[C@@H]1(n2c(=O)[nH]c(=O)cc2)O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OP(=O)(O[C@H]1O[C@@H]([C@H]([C@@H]([C@H]1NC(=O)C)O[C@@H](C(=O)N[C@H](C(=O)N[C@H](CCC(=O)N[C@H](C(=O)N[C@@H](C(=O)N[C@@H](C(=O)[O-])C)C)CCC[C@H](C(=O)[O-])[NH3+])C(=O)[O-])C)C)O)CO)[O-])[O-]", printStereoWarnings=False) +smiles(R"[C@@H]1(n2c(=O)[nH]c(=O)cc2)O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OP(=O)(O[C@H]1O[C@@H]([C@@H]([C@@H]([C@H]1O)O)O)CO)[O-])[O-]", printStereoWarnings=False) +smiles(R"[C@@H]1(n2c(=O)[nH]c(=O)cc2)O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OP(=O)([O-])OC1[C@H](O)[C@H]([C@H](O)[C@@H](CO)O1)O)[O-]", printStereoWarnings=False) +smiles(R"[C@@H]1(n2c(=O)[nH]c(=O)cc2)O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OP(=O)([O-])O[C@@H]1[C@H](O)[C@H]([C@H](O)[C@@H](CO)O1)[NH3+])[O-]", printStereoWarnings=False) +smiles(R"[C@@H]1(n2c(=O)[nH]c(=O)cc2)O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OP(=O)([O-])O[C@@H]1[C@H](O)[C@H]([C@H](O)[C@@H](CO)O1)O)[O-]", printStereoWarnings=False) +smiles(R"[C@@H]1(n2c(=O)[nH]c(=O)cc2)O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OP(=O)([O-])O[C@@H]1[C@H](O)[C@H]([C@H](O)[C@@H](CS(=O)(=O)[O-])O1)O)[O-]", printStereoWarnings=False) +smiles(R"[C@@H]1(n2c(=O)[nH]c(=O)cc2)O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OP(=O)([O-])O[C@@H]1[C@H](O)C(=O)[C@H](O)[C@@H](CO)O1)[O-]", printStereoWarnings=False) +smiles(R"[C@@H]1(n2c(=O)[nH]c(=O)cc2)O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OP(=O)([O-])O[C@H]1O[C@H]([C@H]([C@H]([C@@H]1NC(=O)C)O)O)C)[O-]", printStereoWarnings=False) +smiles(R"[C@@H]1(n2c(=O)[nH]c(=O)cc2)O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OP(=O)([O-])O[C@H]1O[C@H]([C@H]([C@H]([C@H]1NC(=O)C)O)O)C)[O-]", printStereoWarnings=False) +smiles(R"[C@@H]1(n2c(=O)[nH]c(=O)cc2)O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OP(=O)([O-])O[C@H]1O[C@@H]([C@H]([C@@H]([C@H]1NC(=O)C)O)O)CO)[O-]", printStereoWarnings=False) +smiles(R"[C@@H]1(n2c(=O)[nH]c(=O)cc2)O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OP(=O)([O-])O[C@H]1O[C@@H]([C@H]([C@@H]([C@H]1NC(=O)C)OP(=O)([O-])[O-])O)CO)[O-]", printStereoWarnings=False) +smiles(R"[C@@H]1(n2c(=O)[nH]c(=O)cc2)O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OP(=O)([O-])O[C@H]1O[C@@H](C(=O)[C@@H]([C@H]1NC(=O)C)O)C)[O-]", printStereoWarnings=False) +smiles(R"[C@@H]1(n2c(=O)[nH]c(=O)cc2)O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OP(=O)([O-])O[C@H]1O[C@H](C(=O)[C@H]([C@H]1NC(=O)C)O)C)[O-]", printStereoWarnings=False) +smiles(R"[C@@H]1(n2c(=O)[nH]c(=O)cc2)O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OP(=O)([O-])O[C@H]1O[C@H](CO)[C@@H](O)[C@H](OC(=O)C[C@@H](CCCCCCCCCCC)O)[C@H]1NC(=O)C)[O-]", printStereoWarnings=False) +smiles(R"[C@@H]1(n2c(=O)[nH]c(=O)cc2)O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OP(=O)([O-])[O-])[O-]", printStereoWarnings=False) +smiles(R"[C@@H]1(n2c(=O)[nH]c(=O)cc2)O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OP(=O)(OP(=O)([O-])[O-])[O-])[O-]", printStereoWarnings=False) +smiles(R"[C@@H]1(Nc2c(cccc2)C(=O)[O-])O[C@@H]([C@H]([C@H]1O)O)COP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"[C@@H]1(Nc2c(c(=O)[nH]c(n2)N)NC=O)O[C@@H]([C@H]([C@H]1O)O)COP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"[C@@H]1(Nc2c(c(=O)[nH]c(n2)N)N)O[C@@H]([C@H]([C@H]1O)O)COP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"[C@@H]1(Nc2c(c(=O)[nH]c(=O)[nH]2)N)O[C@@H]([C@H]([C@H]1O)O)COP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"[C@H]1(NC(=O)NC1=O)NC(=O)N", printStereoWarnings=False) +smiles(R"[C@@H]1(NC(=O)NC(=O)C1)C(=O)[O-]", printStereoWarnings=False) +smiles(R"[C@H]1([NH2+]CCc2c1[nH]c1c2cccc1)C[C@H]1[C@H]([C@H](O)OC=C1C(=O)OC)C=C", printStereoWarnings=False) +smiles(R"[C@@H]1(Oc2c(cccc2)/C=C/C(=O)[O-])O[C@@H]([C@H]([C@@H]([C@H]1O)O)O)CO", printStereoWarnings=False) +smiles(R"[C@@H]1(Oc2c(cccc2)CO)O[C@@H]([C@H]([C@@H]([C@H]1O)O)O)CO", printStereoWarnings=False) +smiles(R"[C@@H]1(Oc2c(cccc2)CO)O[C@@H]([C@H]([C@@H]([C@H]1O)O)O)COP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"[C@@H]1(O[C@@]2(CO)[C@@H](O)[C@H](O)[C@H](O2)CO[C@@H]2[C@H](O)[C@@H](O)[C@@H](O)[C@H](O2)CO)[C@H](O)[C@@H](O)[C@H](O)[C@H](O1)CO", printStereoWarnings=False) +smiles(R"[C@@H]1(O[C@@]2(CO)[C@@H](O)[C@H](O)[C@H](O2)CO[C@@H]2[C@H](O)[C@@H](O)[C@@H](O)[C@H](O2)CO)[C@H](O)[C@@H](O)[C@H](O)[C@H](O1)CO[C@@H]1[C@H](O)[C@@H](O)[C@@H](O)[C@H](O1)CO", printStereoWarnings=False) +smiles(R"[C@@H]1(O[C@@]2(CO)[C@@H](O)[C@H](O)[C@H](O2)CO)[C@H](O)[C@@H](O)[C@H](O)[C@H](O1)CO[C@@H]1[C@H](O)[C@@H](O)[C@@H](O)[C@H](O1)CO", printStereoWarnings=False) +smiles(R"[C@@H]1(OC([C@@H]([C@@H]1O)O)NC(=O)C[NH3+])COP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"[C@@H]1(OC([C@@H]([C@H]([C@@H]1O)O)O)O)COC(=O)C(=C)CCO", printStereoWarnings=False) +smiles(R"[C@@H]1(OC([C@@H]([C@H]([C@@H]1O)O)O)OP(=O)([O-])[O-])CO", printStereoWarnings=False) +smiles(R"[C@@H]1(O[C@@H]2[C@H](O)[C@@H](O)[C@H](O)[C@H](O2)CO)[C@H](O)[C@@H](O)[C@H](O)[C@H](O1)CO", printStereoWarnings=False) +smiles(R"[C@@H]1(O[C@@H]2[C@H](O)[C@@H](O)[C@H](O)[C@H](O2)COC(=O)C(C(CCCCCCC/C=C/CCCCCC)O)CCCCCCCCCCCCCC)[C@H](O)[C@@H](O)[C@H](O)[C@H](O1)CO", printStereoWarnings=False) +smiles(R"[C@@H]1(O[C@@H]2[C@H](O)[C@@H](O)[C@H](O)[C@H](O2)COC(=O)C(C(CCCCCCC/C=C/CCCCCC)O)CCCCCCCCCCCCCC)[C@H](O)[C@@H](O)[C@H](O)[C@H](O1)COC(=O)C(C(CCCCCCC/C=C/CCCCCC)O)CCCCCCCCCCCCCC", printStereoWarnings=False) +smiles(R"[C@@H]1(O[C@@H]2[C@H](O)[C@@H](O)[C@H](O)[C@H](O2)COP(=O)([O-])[O-])[C@H](O)[C@@H](O)[C@H](O)[C@H](O1)CO", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@@H]2[C@H]1OP(=O)(O2)[O-])CO)n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H](C1)O)COP(=O)(OP(=O)(OC1O[C@@H]([C@@H]([C@H](O)[C@H]1O)NC(=O)C)C)[O-])[O-])n1cc(c(=O)[nH]c1=O)C", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H](C1)O)COP(=O)(OP(=O)(OC1O[C@@H]([C@@H]([C@H](O)[C@H]1O)O)C)[O-])[O-])n1cc(c(=O)[nH]c1=O)C", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H](C1)O)COP(=O)(OP(=O)(O[C@H]1O[C@@H]([C@@H]([C@H](O)[C@H]1O)NC(=O)C)C)[O-])[O-])n1cc(c(=O)[nH]c1=O)C", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H](C1)O)COP(=O)(OP(=O)(O[C@H]1O[C@@H]([C@H]([C@H](O)[C@H]1O)NC(=O)C)C)[O-])[O-])n1cc(c(=O)[nH]c1=O)C", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H](C1)O)COP(=O)(OP(=O)(O[C@H]1O[C@H]([C@@H]([C@@H](O)[C@H]1O)O)C)[O-])[O-])n1cc(c(=O)[nH]c1=O)C", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H](C1)O)COP(=O)(OP(=O)(O[C@H]1O[C@H]([C@H]([C@@H](O)[C@H]1O)O)C)[O-])[O-])n1cc(c(=O)[nH]c1=O)C", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H](C1)O)COP(=O)(OP(=O)(O[C@H]1O[C@@H]([C@H](C(=O)[C@H]1O)O)C)[O-])[O-])n1cc(c(=O)[nH]c1=O)C", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H](C1)O)COP(=O)(OP(=O)([O-])[O-])[O-])n1c(=O)[nH]c(=O)cc1", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@H]([C@@H]([C@H]1O)O)[C@@H](CO)O[C@@H]1O[C@H]([C@@H]([C@H]1O)O)[C@@H](CO)O)O[C@@H]1[C@H]([C@H]([C@@H](O[C@H]1C)O[C@@H]1[C@H]([C@@H](OP(=O)(OP(=O)(OC/C=C(/C)\CC/C=C(/C)\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(/CCC=C(C)C)\C)/C)/C)/C)/C)/C)/C)[O-])[O-])O[C@@H]([C@H]1O)CO)NC(=O)C)O)O", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@H]([C@@H]([C@H]1O)O)[C@@H](CO)O)O[C@@H]1[C@H]([C@H]([C@@H](O[C@H]1C)O[C@@H]1[C@H]([C@@H](OP(=O)(OP(=O)(OC/C=C(/C)\CC/C=C(/C)\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(/CCC=C(C)C)\C)/C)/C)/C)/C)/C)/C)[O-])[O-])O[C@@H]([C@H]1O)CO)NC(=O)C)O)O", printStereoWarnings=False) +smiles(R"[C@@H]1(O[C@@H]([C@H]([C@H]1O)O)COP(=O)([O-])O[C@H](C(=O)[O-])CCC(=O)[O-])OC[C@H]([C@H]([C@H](Cc1ccc(N[C@@H](C2[C@@H](Nc3c(c(=O)[nH]c(n3)N)N2C=O)C)C)cc1)O)O)O", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)O)COP(=O)([O-])[O-])n1cnc(C(=O)N)c1NC=O", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)O)COP(=O)([O-])OP(=O)([O-])OC1O[C@@H]([C@H]([C@@H]([C@@H]1O)O)O)C(=O)[O-])n1cnc2c1nc(N)[nH]c2=O", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OP(=O)(OC1O[C@@H]([C@H]([C@H](O)[C@H]1O)O)CO)[O-])[O-])n1c2c(nc1)c(=O)[nH]c(N)n2", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCS)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OP(=O)(O[C@H]1O[C@@H]([C@H]([C@H](O)[C@H]1O)O)CO)[O-])[O-])n1c2c(nc1)c(=O)[nH]c(N)n2", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OP(=O)(O[C@H]1O[C@H]([C@H]([C@@H](O)[C@@H]1O)O)CO)[O-])[O-])n1c2c(nc1)c(=O)[nH]c(N)n2", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)O)CSC)n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)O)CSC)n1c2c(nc1)c(ncn2)O", printStereoWarnings=False) +smiles(R"[C@@H]1(O[C@H]([C@@H]([C@@H]1O)O)n1c2c(c(ncn2)N)nc1)COP(=O)(OP(=O)([O-])OCC(C(=O)[O-])O)[O-]", printStereoWarnings=False) +smiles(R"[C@@H]1(O[C@H]([C@@H]([C@@H]1O)O)n1c2c(c(ncn2)N)nc1)C[S+](CCC[NH3+])C", printStereoWarnings=False) +smiles(R"[C@@H]1(O[C@H]([C@@H]([C@@H]1O)O)n1c2c(nc1)c(ncn2)N)C[S+](CCC(=O)C(=O)[O-])C", printStereoWarnings=False) +smiles(R"[C@@H]1(O[C@H]([C@@H]([C@@H]1O)O)O[C@H]1[C@@H]([C@H](C[C@H]([C@@H]1O)[NH3+])[NH3+])O[C@@H]1[C@@H]([C@H]([C@@H]([C@H](O1)C[NH3+])O)O)[NH3+])COP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])CO)n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)C(C(=O)NCCC(=O)NCCSC(=O)CC(=O)/C=C/c1cc(c(cc1)O)OC)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)c1cc(c2c(c1O)cccc2)O)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)c1ccc(cc1Cl)Cl)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)c1ccc(cc1)Cl)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)c1ccccc1C(=O)CCC(=O)[O-])O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)c1ccccc1NC)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)c1ccccc1N)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)c1ccccc1)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)C1=CCCC=C1)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)c1ccc(cc1)O)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)c1cccc(c1)O)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)c1ccccc1O)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)C1=CC(CC=C1)O)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)C1=CCCCC1O)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)C1=CC=CC(C1O)O)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)C1=C(CCC(=O)C1)N)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)c1ccco1)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)c1ccc(o1)[O-])O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)c1cccs1)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)c1ccc(s1)[O-])O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CC12C(C=CC=C1)O2)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)Cc1ccccc1)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CC1(CCCCC1)O)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)/C=C/1\OC=CC=CC1)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)/C=C/c1ccccc1)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)/C=C/c1ccc(cc1)O)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)/C=C/c1cc(c(O)c(c1)OC)OC)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)/C=C/c1ccc(O)c(c1)OC)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)/C=C/c1ccc(O)c(c1)O)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)/C=C/C=C/c1ccc2c(c1)OCO2)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CCCCCCCCCCCCCCCCCCCCCCCCC)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CCCCCCCCCCCCCCCCCCCCCCC)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CC(CCCC(CCCC(CCCC(C)C)C)C)C)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CCC/C=C\C/C=C\C/C=C\C/C=C\CCCCC)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CCCCCCCCCCCCCCCCCCC)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)C(C(CCCC(CCCC(CCCC(C)C)C)C)C)O)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)/C=C/CCCCCCCCCCCCCCC)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CCCC/C=C\C/C=C\C/C=C\CCCCC)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CCCCCCC/C=C\C/C=C\CCCCC)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CCCCCCC/C=C\CCCCCCCC)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CCCCCCCCCCCCCCCCC)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)/C=C/CCCCCCCCCCCC(C)C)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CCCCCCCCCCCCCC(C)C)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)C(C(CCCCCCCCCCCCC)C)O)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CC(CCCCCCCCCCCC(C)C)O)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)/C=C/CCCCCCCCCCCCC)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CCC(C)CCCC(C)CCCC(C)C)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CCCCCCC/C=C\CCCCCC)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CCCCCCCCCCCCCCC)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)/C=C/CCCCCCCCCC(C)C)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CCCCCCCCCCCC(C)C)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)/C=C/CCCCCCCCCCC)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)C/C=C\CCCCCCCCCC)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CCCCCCC/C=C\CCCC)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CCCCCCCCC/C=C/CC)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CCCCCCCCC/C=C\CC)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CCCCCCCCCCCCC)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CCCCCCCCCC(C)C)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)/C=C/CCCCCCCCC)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)C/C=C\CCCCCCCC)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CCCCCCCCCCC)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)/C=C/CCCCCCC)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)/C=C(\C)/CCC=C(C)C)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CCCCCCCCC)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)/C=C/CCCCC)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CCCCCCC)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)C=CCCCC(=O)[O-])O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CCCCCC(=O)[O-])O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CC(CCCC(=O)[O-])O)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CCCC[C@@H]1[C@H]2[C@@H](CS1)NC(=O)N2)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)/C=C/CCC)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CCCCC)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)C/C=C\CC=O)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)/C=C/CCC(=O)[O-])O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)/C=C\CCC(=O)[O-])O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)C/C=C\CC(=O)[O-])O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)/C=C(/CC(=O)[O-])\CCC=C(C)C)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)C/C(=C/C(=O)[O-])/C)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)C[C@@](CC(=O)[O-])(C)O)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CC(CC(=O)[O-])(O)CCC=C(C)C)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)/C(=C/C)/C)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)C=C(C)C)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)C(CC)C)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CC(C)C)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CCCC)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CC(C)(C)O)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CCCCO)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)/C=C/CC(=O)[O-])O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CC(=C)C(=O)[O-])O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CCCC(=O)[O-])O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CC[C@@H](C)[C@@H]1[C@@]2(C)CC[C@@H]3[C@]4(CC[C@H](C[C@H]4C[C@@H](O)[C@H]3[C@@H]2CC1)O)C)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CC[C@@H](C)[C@H]1CC[C@@H]2[C@]1(C)[C@H](C[C@@H]1[C@]3(CC[C@H](C[C@H]3CC[C@@H]21)O)C)O)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CC[C@@H](C)[C@H]1CC[C@@H]2[C@]1(C)[C@H](C[C@@H]1[C@]3(CC[C@H](C[C@H]3C[C@@H](O)[C@@H]21)O)C)O)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)/C=C/C[N+](C)(C)C)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CCC[N+](C)(C)C)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CCCNC(=O)C)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CCC[NH3+])O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)C(C)C(=O)CCC(C)CCCC(C)CCCC(C)C)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)C(C)C(=O)CC[C@@H](C)[C@H]1CC[C@@H]2[C@]1(C)[C@H](C[C@@H]1[C@]3(CC[C@H](C[C@H]3C[C@@H](O)[C@@H]21)O)C)O)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)C[C@](C(=O)[O-])(C)O)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CC(C(=O)[O-])(C)O)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)C[C@](C(=O)[O-])(O)CC(=O)[O-])O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)/C=C/C)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)C(=C)C)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)C(C)C)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CC=C)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CCC)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)C(C)CO)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CCCO)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CCC(=O)[O-])O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)C[C@H]1C(=O)C=C(C1(C)C)C)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)C[C@H](CCCCCCCCCCCCC)O)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)C[C@H](CCCCC)O)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)C[C@@H](C[N+](C)(C)C)O)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)C[C@H](C[N+](C)(C)C)O)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)C[C@H](C)[NH3+])O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)C[C@@H](C)O)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)C[C@H](C)O)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)C[C@@H](C(=O)[O-])O)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)C[C@@H](O)CCCCCCCCCCC)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)C[C@@H](O)CCCCCCCCC)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)C[C@@H](O)CCCCCCC)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)C[C@@H](O)CCC)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CC[NH3+])O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CC(O)c1ccc(O)c(c1)OC)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CC(=O)/C=C/c1ccc(cc1)O)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CC(O)CCCCCCCCCCCCCCCCCCC)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CC(=O)CCCC/C=C\C/C=C\C/C=C\CCCCC)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CC(=O)CCCCCCCCCCCCCCCCC)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CC(O)CCCCCCCCCCCCCCCCC)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CC(=O)CCCCCCCCCCCCCCC)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CC(O)CCCCCCCCCCCCCCC)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CC(=O)CCCCCCCCCCCC(C)C)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CC(=O)CCCCCCCCCCCCC)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CC(=O)CCCCCCCCCC(C)C)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CC(O)CCCCCCCCCC(C)C)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CC(=O)CCCCCCCCCCC)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CC(=O)CCCCCCCCC)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CC(=O)CCCCCCC)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CC(=O)CCC=C(C)C)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CC(=O)CCCCC)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CC(=O)C/C=C/CC=O)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CC(=O)C/C=C/CC(=O)[O-])O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CC(=O)CCCC(=O)[O-])O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CC(=O)CCC)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CC(=O)CCC(=O)[O-])O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CC(O)CCC(=O)[O-])O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CC(=O)CC(=O)CC(=O)CCCCC)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)C(C(=O)C)C)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CC(=O)C)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)C(C(=O)[O-])C)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)C=C)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CC)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)C(C)O)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CCO)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CC(=O)[O-])O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CF)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)[C@@H](Cc1ccccc1)O)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)[C@H](C)CCC[C@@H](C)[C@H]1CC[C@@H]2[C@]1(C)CC[C@@H]1[C@]3(CC[C@H](C[C@H]3C[C@@H](O)[C@@H]21)O)C)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)[C@H](C)CCC[C@@H](C)[C@H]1CC[C@@H]2[C@]1(C)[C@H](C[C@@H]1[C@]3(CC[C@H](C[C@H]3C[C@@H](O)[C@@H]21)O)C)O)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)[C@H](C)[C@@H](CC[C@@H](C)[C@H]1CC[C@@H]2[C@]1(C)[C@H](C[C@@H]1[C@]3(CC[C@H](C[C@H]3C[C@@H](O)[C@@H]21)O)C)O)O)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)[C@@H](C)[C@H](C)O)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)[C@@H](CC(=O)[O-])Cc1ccccc1)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)[C@@H](C)CO)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)[C@H](C(=O)[O-])CC)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)[C@@H](C(=O)[O-])C)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)[C@H](C(=O)[O-])C)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)[C@@H](C)O)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)C(=O)c1ccccc1)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)C)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)C(=O)[O-])O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC(=O)CS(=O)(=O)[O-])O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSC=O)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCS)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSSC[C@H](NC(=O)CC[C@H]([NH3+])C(=O)[O-])C(=O)NCC(=O)[O-])O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCSSCCNC(=O)CCNC(=O)[C@@H](C(COP(=O)(OP(=O)(OC[C@H]1O[C@H]([C@@H]([C@@H]1OP(=O)([O-])[O-])O)n1c2c(nc1)c(ncn2)N)[O-])[O-])(C)C)O)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@@H]([C@H]1NC(=O)C)O)O)CO)O", printStereoWarnings=False) +smiles(R"[C@@H]1(O[C@@H]([C@H]([C@@H]([C@H]1NC(=O)C)O)O)CO)OP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@@H]([C@H]1[NH3+])O)O)CO)O", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@@H]([C@H]1O)O)OC(=O)CC(=O)[O-])COC(=O)CC(=O)[O-])Oc1c2cc(c(c3ccc(cc3)O)[o+]c2cc(c1)[O-])O[C@@H]1O[C@@H]([C@H]([C@@H]([C@H]1O)O)O)COC(=O)/C=C/c1cc(c(cc1)O)O", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@@H]([C@H]1O)O)O)COC(=O)CC(=O)[O-])Oc1c2cc(c(c3ccc(cc3)O)[o+]c2cc(c1)[O-])O[C@@H]1O[C@@H]([C@H]([C@@H]([C@H]1O)O)O)COC(=O)/C=C/c1cc(c(cc1)O)O", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@@H]([C@H]1O)O)O)COC(=O)CC(=O)[O-])Oc1cc2c(cc(cc2[O-])O)[o+]c1c1cc(c(c(c1)O[C@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)O)O", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@@H]([C@H]1O)O)O)COC(=O)CC(=O)[O-])Oc1cc2c(cc(cc2[O-])[O-])[o+]c1c1cc(c(c(c1)O[C@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)O)O[C@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@@H]([C@H]1O)O)O)CO)[n+]1cc(ccc1)C(=O)[O-]", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@@H]([C@H]1O)O)O)CO)Oc1c2cc(c(c3ccc(cc3)O)[o+]c2cc(c1)[O-])O[C@@H]1O[C@@H]([C@H]([C@@H]([C@H]1O)O)O)COC(=O)/C=C/c1cc(c(cc1)O)O", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@@H]([C@H]1O)O)O)CO)OC[C@H]1O[C@@H](OC(=O)/C(=C/C=C/C(=C/C=C/C=C(/C=C/C=C(/C(=O)[O-])\C)\C)/C)/C)[C@@H]([C@H]([C@@H]1O)O)O", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@@H]([C@H]1O)O)O)CO)OC[C@H]1O[C@@H](OC(=O)/C(=C/C=C/C(=C/C=C/C=C(/C=C/C=C(/C(=O)O[C@@H]2O[C@@H]([C@H]([C@@H]([C@H]2O)O)O)CO)\C)\C)/C)/C)[C@@H]([C@H]([C@@H]1O)O)O", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@@H]([C@@H]([C@H]1O)O)O)CO)OC[C@@H]([C@@H](/C=C/CCCCCCCCCCCCC)O)[NH3+]", printStereoWarnings=False) +smiles(R"[C@@H]1(O[C@@H]([C@@H]([C@@H]([C@H]1O)O)O)CO)OC[C@H](COP(=O)([O-])[O-])O", printStereoWarnings=False) +smiles(R"[C@@H]1(O[C@@H]([C@@H]([C@@H]([C@H]1O)O)O)CO)OC(CO)COP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"[C@@H]1(O[C@@H]([C@H]([C@@H]([C@@H]1O)O)O)CO)OC(C(=O)[O-])COP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@@H]([C@H]1O)O)O)CO)O[C@H]1[C@@H]([C@@H](C(=CO1)C(=O)OC)CC=O)C=C", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@@H]([C@H]1O)O)O)CO)O[C@@H](COP(=O)([O-])[O-])CO", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@@H]([C@H]([C@@H]([C@H]1O)O)O)CO)OC/N=[N+](\C)/[O-]", printStereoWarnings=False) +smiles(R"[C@@H]1(O[C@@H]([C@@H]([C@@H]([C@H]1O)O)O)C(=O)[O-])O", printStereoWarnings=False) +smiles(R"[C@@H]1(O[C@@H]([C@@H]([C@@H]([C@H]1O)O)O)CO)OP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"[C@@H]1(O[C@@H]([C@H]([C@@H]([C@@H]1O)O)O)CO)OP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"[C@H]1(O[C@H]([C@H]([C@H]([C@@H]1O)O)O)CO)OP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"[C@@H]1(O[C@@H]([C@H]([C@@H]([C@@H]1O)O)O)COP(=O)([O-])[O-])O", printStereoWarnings=False) +smiles(R"[C@@H]1(O[C@H]([C@@H]([C@H]([C@H]1O)O)O)OC)CO", printStereoWarnings=False) +smiles(R"[C@@H]1(O[C@@H]([C@@H]([C@H]([C@@H]1O)O)O)OP(=O)([O-])[O-])CO", printStereoWarnings=False) +smiles(R"[C@@H]1(O[C@H]([C@@H]([C@H]([C@@H]1O)O)O)OP(=O)([O-])[O-])CO", printStereoWarnings=False) +smiles(R"[C@@H]1(O[C@@H]([C@@H](O)[C@@H]([C@H]1O)O)COP(=O)([O-])[O-])OP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"[C@@H]1(O)[C@@H]([C@@H](O)[C@H](O)[C@H](O1)CO)NC(=O)C", printStereoWarnings=False) +smiles(R"[C@H]1(O)[C@H]([C@H](O)[C@@H](O)[C@H](O)[C@H]1O[C@H]1O[C@H](CO)[C@H](O)[C@H](O)[C@H]1O)O", printStereoWarnings=False) +smiles(R"[C@H]1(O)[C@H](O[C@@H]2[C@H](O)[C@@H](O)C=C(O2)C(=O)[O-])[C@H](O)[C@@H](O)[C@@H](O1)C", printStereoWarnings=False) +smiles(R"[C@H]1(O)[C@H](O[C@H]2O[C@@H]([C@H]([C@H](O)[C@H]2O)O)CO)[C@H](O[C@@H]([C@@H]1O)O[C@H]1[C@H](O)[C@H]([C@H](O[C@@H]1CO)O[C@H]1[C@H](O)[C@H]([C@@H](O[C@H]2[C@H](O)[C@H]([C@@H](O[C@H]3[C@H](O)[C@H]([C@@H](O[C@H]4[C@H](O)[C@H]([C@@H](O)O[C@@H]4CO)O)O[C@@H]3CO)O)O[C@@H]2CO)O)O[C@@H]1CO)O)O)CO", printStereoWarnings=False) +smiles(R"[C@H]1(O)[C@H](O[C@H]2O[C@@H]([C@H]([C@H](O)[C@H]2O)O)CO)[C@H](O[C@@H]([C@@H]1O)O[C@H]1[C@H](O)[C@H]([C@H](O[C@@H]1CO)O[C@H]1[C@H](O)[C@H]([C@@H](O[C@H]2[C@H](O)[C@H]([C@@H](O[C@H]3[C@H](O)[C@H]([C@@H](O)O[C@@H]3CO)O)O[C@@H]2CO)O)O[C@@H]1CO)O)O)CO", printStereoWarnings=False) +smiles(R"[C@H]1(O)[C@H](O[C@H]2O[C@@H]([C@H]([C@H](O)[C@H]2O)O)CO)[C@H](O[C@@H]([C@@H]1O)O[C@H]1[C@H](O)[C@H]([C@H](O[C@@H]1CO)O[C@H]1[C@H](O)[C@H]([C@@H](O[C@H]2[C@H](O)[C@H]([C@@H](O)O[C@@H]2CO)O)O[C@@H]1CO)O)O)CO", printStereoWarnings=False) +smiles(R"[C@@H]1(O)[C@H](O)[C@@H]([C@H]([C@@H]([C@H]1OP(=O)([O-])[O-])OP(=O)([O-])[O-])OP(=O)([O-])[O-])OP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"[C@@H]1(O)[C@H](O)[C@@H]([C@H]([C@H](O)[C@H]1O)O)OC", printStereoWarnings=False) +smiles(R"[C@@H]1(O)[C@H](O)[C@H]([C@H](O)[C@H]([C@H]1O)O)OC", printStereoWarnings=False) +smiles(R"[C@H]1(O)[C@@H](O)[C@H](n2cnc3c2nc(N)[nH]c3=O)O[C@@H]1COP(=O)(OP(=O)(O[C@H](C(=O)[O-])C)[O-])[O-]", printStereoWarnings=False) +smiles(R"[C@H]1(O)[C@@H](O)[C@H](n2cnc3c2nc(N)[nH]c3=O)O[C@@H]1COP(=O)(OP(=O)([O-])[O-])[O-]", printStereoWarnings=False) +smiles(R"[C@H]1(O)[C@H](O)[C@H](O[C@@]1(CO)O[C@@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)CO", printStereoWarnings=False) +smiles(R"[C@H]1(O)[C@H](O)[C@H](O[C@@]1(CO)O[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)CO", printStereoWarnings=False) +smiles(R"[C@H]1(O)[C@H](O)[C@H](O[C@@]1(CO)O[C@@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)COP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"[C@H]1(O)[C@H](O)[C@H](O[C@@]1(CO)O[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)COP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"[C@H]1(O)[C@H](O)[C@H](O[C@@]1(CO)O[C@@H]1[C@@H](C(=O)[C@@H]([C@H](O1)CO)O)O)CO", printStereoWarnings=False) +smiles(R"[C@@H]1(O)[C@H](O)[C@H](O[C@H]1Nc1nc(nc(c1N)O)N)COP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"[C@@H]1(O)[C@H](O)[C@H](O)[C@H]([C@@H]([C@H]1O)OC)O", printStereoWarnings=False) +smiles(R"[C@@H]1(O)[C@H](O)[C@H](O)[C@H]([C@H](O)[C@H]1O)OC", printStereoWarnings=False) +smiles(R"[C@@H]1(O)[C@H](O)[C@H](O)[C@H]([C@H](O)[C@H]1O)OP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"[C@@H]1(O)[C@H](O)[C@H](O[C@@H](O)[C@@H]1O)CO", printStereoWarnings=False) +smiles(R"[C@H]1(O)[C@@H](O)[C@H](O[C@@H](O)[C@@H]1O)CO", printStereoWarnings=False) +smiles(R"[C@H]1(O)[C@@H](O)[C@H](O[C@H](O)[C@@H]1O)CO", printStereoWarnings=False) +smiles(R"[C@H]1(O)[C@H](O)[C@H](O[C@@H](O)[C@@H]1O)CO", printStereoWarnings=False) +smiles(R"[C@H]1(O)[C@H](O)[C@H](O[C@H](O)[C@@H]1O)CO", printStereoWarnings=False) +smiles(R"[C@@H]1(O)[C@H](O)[C@@H](OC(O)[C@H]1O)CO", printStereoWarnings=False) +smiles(R"[C@H]1(O)[C@@H](O)[C@H](OC(O)[C@@H]1O)CO", printStereoWarnings=False) +smiles(R"[C@H]1(O)[C@H](O)[C@H](OC(O)[C@@H]1O)CO", printStereoWarnings=False) +smiles(R"[C@H]1(O)[C@H](O)[C@H](OC(O)[C@H]1O)CO", printStereoWarnings=False) +smiles(R"[C@H]1(OC(=O)c2ccccc2)[C@@H]2[C@@]3(CO[C@@H]3C[C@@H]([C@]2(C(=O)[C@@H](C2=C([C@H](C[C@]1(O)C2(C)C)OC(=O)[C@@H]([C@H](c1ccccc1)NC(=O)c1ccccc1)O)C)OC(=O)C)C)O)OC(=O)C", printStereoWarnings=False) +smiles(R"[C@H]1(OC(=O)c2ccccc2)[C@@H]2[C@@]3(CO[C@@H]3C[C@@H]([C@]2(C(=O)[C@@H](C2=C([C@H](C[C@]1(O)C2(C)C)OC(=O)[C@@H]([C@H](c1ccccc1)[NH3+])O)C)OC(=O)C)C)O)OC(=O)C", printStereoWarnings=False) +smiles(R"[C@H]1(OC(=O)/C=C/c2cc(c(c(c2)OC)O)OC)[C@H](OC(=O)/C=C/c2cc(c(c(c2)OC)O)OC)[C@@H](O)[C@H](O)[C@H](O1)CO", printStereoWarnings=False) +smiles(R"[C@@H]1(OC(=O)[C@H]([C@@H]1O)O)[C@H](CO)O", printStereoWarnings=False) +smiles(R"[C@H]1(OC(=O)[C@@H]([C@H]1O)O)[C@@H](CO)O", printStereoWarnings=False) +smiles(R"[C@@H]1(OC(=O)[C@H]([C@H]1O)O)[C@@H](O)CO", printStereoWarnings=False) +smiles(R"[C@@H]1(OC(=O)[C@@H]([C@H]1O)O)CO", printStereoWarnings=False) +smiles(R"[C@@H]1(OC(=O)[C@H]([C@@H]1O)O)CO", printStereoWarnings=False) +smiles(R"[C@H]1(OC(=O)[C@@H]([C@H]1O)O)CO", printStereoWarnings=False) +smiles(R"[C@H]1(OC(=O)[C@H]([C@@H]1O)O)CO", printStereoWarnings=False) +smiles(R"[C@@H]1(OC(=O)[C@@H]([C@H]([C@@H]1O)O)O)CO", printStereoWarnings=False) +smiles(R"[C@@H]1(OC(=O)[C@@H]([C@H]([C@@H]1O)O)O)COP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"[C@@H](Cc1c[nH]cn1)(NC(=O)CC[NH3+])C(=O)[O-]", printStereoWarnings=False) +smiles(R"[C@@H](CC(C)C)(NC(=O)C)C(=O)[O-]", printStereoWarnings=False) +smiles(R"[C@@H](CCCNC(=[NH2+])N)([NH2+]CCC(=O)[O-])C(=O)[O-]", printStereoWarnings=False) +smiles(R"[C@H](CCC(=O)NCCCC=O)(C(=O)[O-])[NH3+]", printStereoWarnings=False) +smiles(R"[C@H](CCC(=O)N[C@@H](C(=O)[O-])C)(C(=O)[O-])[NH3+]", printStereoWarnings=False) +smiles(R"[C@H](CCNC(=O)C)(C(=O)[O-])[NH3+]", printStereoWarnings=False) +smiles(R"[C@@H](CC(=O)[O-])(c1ccccc1)[NH3+]", printStereoWarnings=False) +smiles(R"[C@@H](CC(=O)OCC)(CCC)O", printStereoWarnings=False) +smiles(R"[C@H](CC(=O)OCC)(CCC)O", printStereoWarnings=False) +smiles(R"[C@H](CC[Se]C[C@@H](C(=O)[O-])[NH3+])(C(=O)[O-])[NH3+]", printStereoWarnings=False) +smiles(R"[C@@H]([C@H](Cc1cc(c(cc1)O)OC)CO)(Cc1ccc(c(c1)OC)O)CO", printStereoWarnings=False) +smiles(R"[C@H]([C@@H](Cc1cc(c(cc1)O)OC)CO)(Cc1ccc(c(c1)OC)O)CO", printStereoWarnings=False) +smiles(R"[C@@H]([C@@H]([C@H]([C@H](C)O)O)O)(C(=O)[O-])O", printStereoWarnings=False) +smiles(R"[C@@H]([C@H]([C@@H]([C@H](CO)O)O)O)(CO)O", printStereoWarnings=False) +smiles(R"[C@H]([C@@H]([C@@H]([C@H](CO)O)O)O)(CO)O", printStereoWarnings=False) +smiles(R"[C@H]([C@@H]([C@H]([C@@H](CO)O)O)O)(CO)O", printStereoWarnings=False) +smiles(R"[C@@H]([C@H]([C@@H]([C@H](CO)O)O)O)(C(=O)[O-])O", printStereoWarnings=False) +smiles(R"[C@@H]([C@H]([C@H]([C@@H](CO)O)O)O)(C(=O)[O-])O", printStereoWarnings=False) +smiles(R"[C@H]([C@@H]([C@@H]([C@H](CO)O)O)O)(C(=O)[O-])O", printStereoWarnings=False) +smiles(R"[C@H]([C@H]([C@@H]([C@H](CO)O)O)O)(C(=O)[O-])O", printStereoWarnings=False) +smiles(R"[C@@H]([C@H]([C@@H]([C@@H](COP(=O)([O-])[O-])O)O)O)(C=O)O", printStereoWarnings=False) +smiles(R"[C@H]([C@H]([C@@H]([C@@H](O)C(=O)[O-])O)O)(O)C(=O)[O-]", printStereoWarnings=False) +smiles(R"[C@H]([C@H]([C@@H](CO)O)O)([C@H](COP(=O)([O-])[O-])O)O", printStereoWarnings=False) +smiles(R"[C@H]([C@@H]([C@@H](C(=O)[O-])O)O)([C@H](C(=O)[O-])OC(=O)/C=C/c1cc(c(O)c(c1)OC)OC)O", printStereoWarnings=False) +smiles(R"[C@H]([C@@H]([C@@H](C(=O)[O-])O)O)([C@H](C(=O)[O-])O)O", printStereoWarnings=False) +smiles(R"[C@@H]([C@H](C)[NH2+]C)(O)c1ccccc1", printStereoWarnings=False) +smiles(R"[C@H]([C@@H](C(=O)COP(=O)([O-])[O-])O)(C(=O)C)O", printStereoWarnings=False) +smiles(R"[C@@H]([C@@H](C(=O)[O-])[NH3+])(C(=O)[O-])O", printStereoWarnings=False) +smiles(R"[C@H]([C@@H](C(=O)[O-])[NH3+])(C(=O)[O-])O", printStereoWarnings=False) +smiles(R"[C@H]([C@H](C(=O)[O-])O)(C(=O)[O-])C", printStereoWarnings=False) +smiles(R"[C@H]([C@H](C(=O)[O-])O)(C(=O)[O-])O", printStereoWarnings=False) +smiles(R"[C@@H]([C@@H](C)OP(=O)([O-])[O-])(NC(=O)CCCCCCS)C(=O)[O-]", printStereoWarnings=False) +smiles(R"[C@@H]([C@@H](COP(=O)([O-])[O-])O)(O)C(=O)CO", printStereoWarnings=False) +smiles(R"[C@H]([C@@H](O)CC=O)(COP(=O)([O-])[O-])O", printStereoWarnings=False) +smiles(R"[C@H]([C@H](O)CO)(O)[C@@](COP(=O)([O-])[O-])(O)C(=O)[O-]", printStereoWarnings=False) +smiles(R"[C@H]([C@H](O)CO)(O)CO", printStereoWarnings=False) +smiles(R"[C@H]([C@H](O)CO)(O)[C@](O)(CO)C(=O)[O-]", printStereoWarnings=False) +smiles(R"[C@@H]([C@H](O)COP(=O)([O-])[O-])([C@@H](C(=O)CO)O)O", printStereoWarnings=False) +smiles(R"[C@@H](C[NH2+]C)(O)c1ccc(cc1)O", printStereoWarnings=False) +smiles(R"[C@H](C[NH3+])(C(=O)[O-])N", printStereoWarnings=False) +smiles(R"[C@@H](COCCCCCCCCCCCCCCCC)(COP(=O)(OCC[N+](C)(C)C)[O-])O", printStereoWarnings=False) +smiles(R"[C@H](CO)([C@H]([C@@H](C(=O)C=O)O)O)O", printStereoWarnings=False) +smiles(R"[C@@H](C)(O)C=O", printStereoWarnings=False) +smiles(R"[C@H](C)(O)C=O", printStereoWarnings=False) +smiles(R"[C@H](CO)(COCCCCCCCCCCCCCCCC)O", printStereoWarnings=False) +smiles(R"[C@H](COC(=O)CCCCCCCCCCCCCCC)(OC(=O)CCC/C=C\C/C=C\C/C=C\C/C=C\CCCCC)COP(=O)(OCC[N+](C)(C)C)[O-]", printStereoWarnings=False) +smiles(R"[C@H](COC(=O)CCCCCCCCCCCCCCC)(OC(=O)CCC/C=C\C/C=C\C/C=C\C/C=C\CCCCC)COP(=O)(OCC[NH3+])[O-]", printStereoWarnings=False) +smiles(R"[C@H](COC(=O)CCCCCCCCCCCCCCC)(OC(=O)CCCCCCC/C=C\C/C=C\CCCCC)COP(=O)(OCC[N+](C)(C)C)[O-]", printStereoWarnings=False) +smiles(R"[C@H](COC(=O)CCCCCCCCCCCCCCC)(OC(=O)CCCCCCC/C=C\CCCCCCCC)COP(=O)(OCC[N+](C)(C)C)[O-]", printStereoWarnings=False) +smiles(R"[C@H](COC(=O)CCCCCCCCCCCCCCC)(OC(=O)CCCCCCCCCCCCCCCCC)COP(=O)(OCC[N+](C)(C)C)[O-]", printStereoWarnings=False) +smiles(R"[C@H](COC(=O)CCCCCCCCCCCCCCC)(OC(=O)CCCCCCC/C=C\C/C=C\CCCCC)COP(=O)(OCC[NH3+])[O-]", printStereoWarnings=False) +smiles(R"[C@H](COC(=O)CCCCCCCCCCCCCCC)(OC(=O)CCCCCCC/C=C\CCCCCCCC)COP(=O)(OCC[NH3+])[O-]", printStereoWarnings=False) +smiles(R"[C@H](COC(=O)CCCCCCCCCCCCCCC)(OC(=O)CCCCCCCCCCCCCCCCC)COP(=O)(OCC[NH3+])[O-]", printStereoWarnings=False) +smiles(R"[C@H](COC(=O)CCCCCCCCCCCCCCC)(OC(=O)CCCCCCC/C=C\CCCCCCCC)COP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"[C@H](COC(=O)CCCCCCCCCCCCCCC)(OC(=O)CCCCCCCCCCCCCCC)COP(=O)(OCC[N+](C)(C)C)[O-]", printStereoWarnings=False) +smiles(R"[C@H](COC(=O)CCCCCCCCCCCCCCC)(OC(=O)CCCCCCCCCCCCCCC)COP(=O)(OCC[NH3+])[O-]", printStereoWarnings=False) +smiles(R"[C@H](COC(=O)CCCCCCCCCCCCCCC)(O)COP(=O)(OCC[N+](C)(C)C)[O-]", printStereoWarnings=False) +smiles(R"[C@H](COC(=O)CCCCCCCCCCCCCCC)(O)COP(=O)(OCC[NH3+])[O-]", printStereoWarnings=False) +smiles(R"[C@H](C=O)(CO)O", printStereoWarnings=False) +smiles(R"[C@H](C(=O)NCC(=O)N)(NC(=O)CC[C@@H](C(=O)[O-])[NH3+])CS", printStereoWarnings=False) +smiles(R"[C@H](C(=O)NCC(=O)N)(NC(=O)CC[C@@H](C(=O)[O-])[NH3+])CSSC[C@@H](C(=O)NCC(=O)N)NC(=O)CC[C@@H](C(=O)[O-])[NH3+]", printStereoWarnings=False) +smiles(R"[C@@H](C(=O)NCC(=O)[O-])(CS)[NH3+]", printStereoWarnings=False) +smiles(R"[C@H](C(=O)NCC(=O)[O-])(NC(=O)CC[C@@H](C(=O)[O-])[NH3+])CSC=O", printStereoWarnings=False) +smiles(R"[C@@H](C(=O)N[C@@H](CCC(=O)N[C@@H](CCC(=O)[O-])C(=O)[O-])C(=O)[O-])(C)OP(=O)(OC[C@H]([C@H]([C@H](CN1c2c(Cc3c1cc(cc3)O)c(=O)[nH]c(=O)[nH]2)O)O)O)[O-]", printStereoWarnings=False) +smiles(R"[C@@H](C(=O)[O-])(CCC[C@@H](C(=O)[O-])[NH3+])[NH3+]", printStereoWarnings=False) +smiles(R"[C@@H](C(=O)[O-])(CCC[C@H](C(=O)[O-])[NH3+])[NH3+]", printStereoWarnings=False) +smiles(R"[C@@H](C(=O)[O-])(CC(=C)Cl)[NH3+]", printStereoWarnings=False) +smiles(R"[C@@H](C(=O)[O-])(CCCCN(C(=O)C)O)NC(=O)CC(CC(=O)N[C@H](C(=O)[O-])CCCCN(C(=O)C)O)(C(=O)[O-])O", printStereoWarnings=False) +smiles(R"[C@@H](C(=O)[O-])(CC[C@H](C[NH3+])OP(=O)([O-])[O-])[NH3+]", printStereoWarnings=False) +smiles(R"[C@H](C(=O)[O-])(CCC(=O)N[C@H](CCC[C@@H](C(=O)[O-])[NH3+])C(=O)N[C@@H](C(=O)[O-])C)NC(=O)[C@H](C)[NH3+]", printStereoWarnings=False) +smiles(R"[C@H](C(=O)[O-])(CCC(=O)N[C@H](CCC[C@@H](C(=O)[O-])[NH3+])C(=O)[O-])NC(=O)[C@H](C)[NH3+]", printStereoWarnings=False) +smiles(R"[C@@H](C(=O)[O-])(CCC=O)[NH3+]", printStereoWarnings=False) +smiles(R"[C@@H](C(=O)[O-])(CC[NH3+])[NH3+]", printStereoWarnings=False) +smiles(R"[C@H](C(=O)[O-])(CC(=O)C(=O)[O-])O", printStereoWarnings=False) +smiles(R"[C@H](C(=O)[O-])([C@H](CCC(=O)[O-])C(=O)[O-])O", printStereoWarnings=False) +smiles(R"[C@@H](C(=O)[O-])([C@H](CC(=O)[O-])C(=O)[O-])O", printStereoWarnings=False) +smiles(R"[C@H](C(=O)[O-])([C@H](C(=O)[O-])[NH3+])O", printStereoWarnings=False) +smiles(R"[C@H](C=O)(O)[C@H](O)[C@H](CO)O", printStereoWarnings=False) +smiles(R"[C@@H](C(=O)[O-])(C[NH3+])C", printStereoWarnings=False) +smiles(R"[C@H](C(=O)[O-])(C[NH3+])C", printStereoWarnings=False) +smiles(R"[C@@H](C(=O)[O-])(CO)C", printStereoWarnings=False) +smiles(R"[C@H](COP(=O)(OC[C@H](CO)O)[O-])(CO)O", printStereoWarnings=False) +smiles(R"[C@H](C[Se]C)(C(=O)[O-])[NH3+]", printStereoWarnings=False) +smiles(R"[C@H](CS(=O)[O-])(C(=O)[O-])[NH3+]", printStereoWarnings=False) +smiles(R"[C@@H](NC(=O)C)(Cc1c[nH]c2c1cccc2)C(=O)[O-]", printStereoWarnings=False) +smiles(R"[C@@H](NC=O)(C(=O)[O-])CC(=O)[O-]", printStereoWarnings=False) +smiles(R"[C@@H](O)(CO)C", printStereoWarnings=False) +smiles(R"[C@H](O)(CO)C", printStereoWarnings=False) +smiles(R"[C@@H](OC(=O)CCCCCCCCCCCCCCC)(C[N+](C)(C)C)CC(=O)[O-]", printStereoWarnings=False) +smiles(R"[C@H](O)(CO)C(CO)(O)CO", printStereoWarnings=False) +smiles(R"CI", printStereoWarnings=False) +smiles(R"[Cl-]", printStereoWarnings=False) +smiles(R"Clc1c(c(c(cc1)Cl)O)O", printStereoWarnings=False) +smiles(R"ClCCCl", printStereoWarnings=False) +smiles(R"ClC(=CCl)Cl", printStereoWarnings=False) +smiles(R"ClC(=C(Cl)Cl)Cl", printStereoWarnings=False) +smiles(R"ClCCl", printStereoWarnings=False) +smiles(R"C(Nc1ccccc1C(=O)[O-])C(=O)[C@H](O)[C@H](O)COP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"C([N+](C)(C)C)COP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"C([N+](C)(C)C)COS(=O)(=O)[O-]", printStereoWarnings=False) +smiles(R"C(#N)C(C)(O)C", printStereoWarnings=False) +smiles(R"C[N+](CC=O)(C)C", printStereoWarnings=False) +smiles(R"CN(CC(=O)[O-])C(=[NH2+])N", printStereoWarnings=False) +smiles(R"C(#N)[C@@H](O)c1ccc(cc1)O", printStereoWarnings=False) +smiles(R"C(#N)[C@H](O[C@H]1[C@H](O)[C@@H](O)[C@H](O)[C@H](O1)CO)c1ccccc1", printStereoWarnings=False) +smiles(R"C(#N)[C@H](O[C@H]1[C@H](O)[C@@H](O)[C@H](O)[C@H](O1)CO)c1ccc(cc1)O", printStereoWarnings=False) +smiles(R"C(#N)[C@H](O[C@H]1[C@H](O)[C@@H](O)[C@H](O)[C@H](O1)CO[C@H]1[C@H](O)[C@@H](O)[C@H](O)[C@H](O1)CO)c1ccccc1", printStereoWarnings=False) +smiles(R"C(#N)[C@H](O[C@H]1[C@H](O)[C@@H](O)[C@H](O)[C@H](O1)CO[C@@H]1[C@H](O)[C@@H](O)[C@@H](O)CO1)c1ccccc1", printStereoWarnings=False) +smiles(R"C(#N)CNCC#N", printStereoWarnings=False) +smiles(R"C(#N)CNCC(=O)[O-]", printStereoWarnings=False) +smiles(R"C(NC(=[NH2+])N(C)C)CC[C@@H](C(=O)[O-])[NH3+]", printStereoWarnings=False) +smiles(R"C(NC(=[NH2+])NC)CC[C@@H](C(=O)[O-])[NH3+]", printStereoWarnings=False) +smiles(R"C(NC(=[NH2+])NCCC[C@@H](C(=O)[O-])[NH3+])(CC(=O)[O-])C(=O)[O-]", printStereoWarnings=False) +smiles(R"C(NC(=[NH2+])N)CCC[NH3+]", printStereoWarnings=False) +smiles(R"C(#N)C(O)c1ccc(cc1)O", printStereoWarnings=False) +smiles(R"C(NC(=O)C)CCC=O", printStereoWarnings=False) +smiles(R"C(NC(=O)N)CC[C@@H](C(=O)[O-])[NH3+]", printStereoWarnings=False) +smiles(R"C(NC(=O)N)(NC(=O)N)C(=O)[O-]", printStereoWarnings=False) +smiles(R"C(NC(=O)[O-])NC(=O)N", printStereoWarnings=False) +smiles(R"C[NH2+]C", printStereoWarnings=False) +smiles(R"C[NH2+]CCCC[NH3+]", printStereoWarnings=False) +smiles(R"C[NH2+]CC(=O)[O-]", printStereoWarnings=False) +smiles(R"C[NH2+]CCOP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"C(=[NH2+])(NCCC[C@H](C(=O)Nc1ccc(cc1)[N+](=O)[O-])NC(=O)c1ccccc1)N", printStereoWarnings=False) +smiles(R"C(=[NH2+])(NCCC[C@H](C(=O)[O-])NC(=O)c1ccccc1)N", printStereoWarnings=False) +smiles(R"C(=[NH2+])(NCCC[C@@H](C(=O)[O-])NC(=O)CCC(=O)[O-])N", printStereoWarnings=False) +smiles(R"C(=[NH2+])(NCCC[C@@H](C(=O)[O-])[NH2+][C@H](C)C(=O)[O-])N", printStereoWarnings=False) +smiles(R"C(=[NH2+])(NCCC[C@@H](C(=O)[O-])[NH3+])NP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"C(=[NH2+])(NCCC[C@H](N1CCC1=O)C(=O)[O-])N", printStereoWarnings=False) +smiles(R"C(=[NH2+])(NCC[C@H]([C@H](N1CCC1=O)C(=O)[O-])O)N", printStereoWarnings=False) +smiles(R"C(=[NH2+])(NCCOP(=O)(OC)[O-])NP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"C(=[NH2+])(N[C@H]1[C@@H]([C@H]([C@@H]([C@H]([C@@H]1O)O)O)O)O)N", printStereoWarnings=False) +smiles(R"C(=[NH2+])(N[C@H]1[C@@H]([C@H]([C@@H]([C@H]([C@@H]1O)O)OP(=O)([O-])[O-])O)O)N", printStereoWarnings=False) +smiles(R"C(=[NH2+])N[C@H](C(=O)[O-])CC(=O)[O-]", printStereoWarnings=False) +smiles(R"C(=[NH2+])(NC)N", printStereoWarnings=False) +smiles(R"C(=[NH2+])(N)NCCCCNP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"C(=[NH2+])(N)NCCCC(=O)[O-]", printStereoWarnings=False) +smiles(R"C[NH+](C)C", printStereoWarnings=False) +smiles(R"C(=[NH+]\CCC[NH3+])/CCC[NH3+]", printStereoWarnings=False) +smiles(R"C(#N)N", printStereoWarnings=False) +smiles(R"C(#N)[O-]", printStereoWarnings=False) +smiles(R"C(=N\O)(/c1ccc(cc1)OCC[C@H](C(=O)[O-])[NH3+])\C(=O)N[C@H]1CN(C1=O)[C@H](c1ccc(cc1)O)C(=O)[O-]", printStereoWarnings=False) +smiles(R"C(=N\O)/C(C)C", printStereoWarnings=False) +smiles(R"C(=N\O)/CCCCCCCCSC", printStereoWarnings=False) +smiles(R"C(=N\O)/CCCCCCCSC", printStereoWarnings=False) +smiles(R"C(=N\O)/CCCCCCSC", printStereoWarnings=False) +smiles(R"C(=N\O)/CCCCCSC", printStereoWarnings=False) +smiles(R"C(=N\O)/CCCCSC", printStereoWarnings=False) +smiles(R"C(=N\O)(\C(=O)[O-])/C", printStereoWarnings=False) +smiles(R"C=O", printStereoWarnings=False) +smiles(R"CO", printStereoWarnings=False) +smiles(R"[Co+2]", printStereoWarnings=False) +smiles(R"[Co-3]1234(N5C6=C(C7=[N+]3C(=CC3=[N+]2C(=C(C2=[N+]1[C@]([C@H]5[C@H](CC(=O)N)[C@@]6(C)CCC(=O)NC[C@H](OP(=O)(O[C@@H]1[C@H](O[C@H](n5c[n+]4c4c5cc(c(c4)C)C)[C@@H]1O)CO)[O-])C)(C)[C@]([C@@H]2CCC(=O)N)(CC(=O)N)C)C)[C@](C)([C@@H]3CCC(=O)N)CC(=O)N)C([C@@H]7CCC(=O)N)(C)C)C)C[C@H]1O[C@@H](n2c3ncnc(N)c3nc2)[C@@H]([C@@H]1O)O", printStereoWarnings=False) +smiles(R"[Co-3]1234(N5C6=C(C7=[N+]3C(=CC3=[N+]2C(=C(C2=[N+]1[C@]([C@H]5[C@H](CC(=O)N)[C@@]6(C)CCC(=O)NC[C@H](OP(=O)(O[C@@H]1[C@H](O[C@H](n5c[n+]4c4c5cc(c(c4)C)C)[C@@H]1O)COP(=O)([O-])[O-])[O-])C)(C)[C@]([C@@H]2CCC(=O)N)(CC(=O)N)C)C)[C@](C)([C@@H]3CCC(=O)N)CC(=O)N)C([C@@H]7CCC(=O)N)(C)C)C)C[C@H]1O[C@@H](n2c3ncnc(N)c3nc2)[C@@H]([C@@H]1O)O", printStereoWarnings=False) +smiles(R"C(O)C1=CCC(CC1)C(=C)C", printStereoWarnings=False) +smiles(R"C(=O)(c1c(c(c(cc1)C(C)C)O)O)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(c1ccc(cc1)N1C=[N+]2[C@@H](C1)CNc1c2c(=O)[nH]c(n1)N)N[C@H](C(=O)[O-])CCC(=O)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(c1ccc(cc1)N1CN2[C@@H](C1)CNc1c2c(=O)[nH]c(n1)N)N[C@H](C(=O)[O-])CCC(=O)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(c1cc(ccc1)O)c1c(cc(cc1O)O)O", printStereoWarnings=False) +smiles(R"C(=O)(c1ccc(cc1)O)C(=O)[O-]", printStereoWarnings=False) +smiles(R"C(=O)([C@@]1(C[C@@H]([C@H]([C@H]([C@@H]([C@@H](CO)O)O)O1)NC(=O)C)OC(=O)C)O)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(c1c(cnc(c1O)C)C(=O)[O-])[O-]", printStereoWarnings=False) +smiles(R"COc1c(O)c(cc(c1)O)C/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)\C)\C)\C", printStereoWarnings=False) +smiles(R"C(=O)(c1c(O)cc(cc1O)O)/C=C/c1ccc(c(c1)O)O", printStereoWarnings=False) +smiles(R"C(=O)C#C", printStereoWarnings=False) +smiles(R"C(=O)(C)c1ccccc1", printStereoWarnings=False) +smiles(R"C(=O)Cc1ccc(c(c1)O)O", printStereoWarnings=False) +smiles(R"C(=O)C(c1cc(c(cc1)O)O)O", printStereoWarnings=False) +smiles(R"C(=O)CC#C", printStereoWarnings=False) +smiles(R"C(=O)(C(Cc1cc(c(c(c1)I)[O-])I)O)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(/C=C/c1ccc(cc1)O)c1c(cc(cc1O)O[C@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)O", printStereoWarnings=False) +smiles(R"C(=O)(/C=C/c1ccc(cc1)O)c1c(cc(cc1O)O)O", printStereoWarnings=False) +smiles(R"C(=O)(/C=C/c1cc(c(c(c1)OC)OC(=O)[C@H](CC(=O)[O-])O)OC)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(/C=C/c1ccc(c(c1)O)O)c1c(cc(cc1O)O[C@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)O", printStereoWarnings=False) +smiles(R"C(=O)(/C=C/c1ccc(cc1)O)O[C@@H]1O[C@@H]([C@H]([C@H](O)[C@H]1O)O)CO", printStereoWarnings=False) +smiles(R"C(=O)(/C=C/c1cc(c(cc1)O)O)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(/C=C\c1cc(c(cc1)O)O)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(C(Cc1ccc(cc1)O)O)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(CC[C-]1NC=NC1=O)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(/C(=C/c1oc(cc1)[N+](=O)[O-])/c1occc1)N", printStereoWarnings=False) +smiles(R"C(=O)(/C(=C\c1oc(cc1)[N+](=O)[O-])/c1occc1)N", printStereoWarnings=False) +smiles(R"C(=O)/C(=C/C=C/C=C(/C=C/C=C(\C)/C=C/[C@@]12[C@@](C[C@H](CC1(C)C)O)(O2)C)\C)/C", printStereoWarnings=False) +smiles(R"C(=O)/C(=C/C=C/C=C(/C=C/C=C(\C)/C=C=C1C(C[C@@H](C[C@]1(O)C)O)(C)C)\C)/C", printStereoWarnings=False) +smiles(R"C(=O)(CCCCCCCCCCCC(CCCCCCCCC)O[C@H]1[C@H](O)[C@@H](O)[C@H](O)[C@H](O1)CO)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(CCCCCCC/C=C\C=C\CCCCCC)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(CCCCCCC/C=C\C/C=C\C/C=C\CC)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(CCCCCCC/C=C\CC#CCCCCC)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(CCCCCCCCCCCCCCCCC)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(CCCC/C=C\C/C=C\C/C=C\C/C=C\CC)SCCNC(=O)CCNC(=O)[C@@H](C(COP(=O)(OP(=O)(OC[C@H]1O[C@H]([C@@H]([C@@H]1OP(=O)([O-])[O-])O)n1c2c(nc1)c(ncn2)N)[O-])[O-])(C)C)O", printStereoWarnings=False) +smiles(R"C(=O)(/C=C/CCCCCCCCCCCCC)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(CCCCCCC/C=C\CCCCCC)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(CCCCCCCCCCCCCCC)OC[C@H](COP(=O)([O-])[O-])O", printStereoWarnings=False) +smiles(R"C(=O)(CCCCCCC/C=C\CCCC)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(CCCCCCCCCCCCC)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(CCCCCCC/C=C\C=C\[C@H](CCCCC)OO)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(CCCCCCCCCCC)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(CCCCCCC/C=C\[C@H](/C=C\CCCCC)OO)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(/C=C(/CC/C=C(/CC[C@@H]1[C@](CC)(O1)C)\C)\C)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(/C=C(/CC/C=C(/CC[C@@H]1[C@](CC)(O1)C)\C)\C)OC", printStereoWarnings=False) +smiles(R"C(=O)(CCCCCCCC[C@@H](CCCCCCCC)O)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(CCCCCC/C=C/[C@@H](C/C=C\CCCCC)OO)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(CCCCCCCCC)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(CCCCCCC[C@H]1[C@H](C(=O)CC1)C/C=C\CC)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(CCCCCCC[C@@H](/C=C/C=C\C/C=C\CC)OO)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(CCCCCCC[C@@H](/C=C/C=C\CCCCC)OO)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(CCCCCCC[C@H](/C=C/C=C\CCCCC)OO)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(CCCCCCC[C@@H]([C@H](CCCCCCCC)O)O)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(CCCCCCC[C@@H]([C@H](CCCCCCCC)O)OP(=O)([O-])[O-])[O-]", printStereoWarnings=False) +smiles(R"C(=O)(CCCCCCC[C@@H](OO)/C=C/C=C\C/C=C\CC)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(CCCCCC(C(C)[NH3+])[NH3+])[O-]", printStereoWarnings=False) +smiles(R"C(=O)(CCCCCC/C=C/O/C=C/C=C\C/C=C\CC)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(CCCCCC/C=C/O/C=C/C=C\CCCCC)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(CCC/C=C\C[C@H]1[C@H](CC(=O)[C@@H]1/C=C/[C@H](CCCCC)O)O)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(CCCCCC[C@H]1C(=O)C[C@H]([C@@H]1/C=C/C(=O)CCCCC)O)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(CCCCCC[C@H](/C=C\C/C=C\CCCCC)OO)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(CCCCCCC)[O-]", printStereoWarnings=False) +smiles(R"C(=O)/C(=C/CCC(C=C)(O)C)/C", printStereoWarnings=False) +smiles(R"C(=O)C/C=C/C=C(/CO)\C", printStereoWarnings=False) +smiles(R"C(=O)(/C(=C/C=C(/CC(=O)[O-])\C=O)/O)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(C(CCC(C)[NH3+])[NH3+])[O-]", printStereoWarnings=False) +smiles(R"C(=O)(/C(=C/C=C/C(=O)c1ccccc1)/O)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(/C(=C/C=C/C(=O)CCC(=O)[O-])/O)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(/C=C/C(=C\C(=O)C(=O)[O-])/[N+](=O)[O-])[O-]", printStereoWarnings=False) +smiles(R"C(=O)(C(CC(C(C(=O)COP(=O)([O-])[O-])O)O)[NH3+])[O-]", printStereoWarnings=False) +smiles(R"C(=O)(/C(=C\C=C/C=O)/N)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(/C=C(\C=C(/C(=O)[O-])\Cl)/Cl)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(/C(=C/C=C/C(=O)[O-])/N)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(/C=C\C=C/C(=O)[O-])[O-]", printStereoWarnings=False) +smiles(R"C(=O)(/C(=C/C=C/C=O)/O)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(C(=C)CCC(=O)[O-])[O-]", printStereoWarnings=False) +smiles(R"C(=O)(C(CCCC(=O)[O-])O)[O-]", printStereoWarnings=False) +smiles(R"C(=O)C(C(C(C(C)O)O)O)O", printStereoWarnings=False) +smiles(R"C(=O)(C(C(C(C(C(=O)[O-])O)O)O)OC(=O)/C=C/c1ccc(c(c1)OC)O)[O-]", printStereoWarnings=False) +smiles(R"C(=O)C(C(C(C(COP(=O)([O-])[O-])O)O)O)NC(=O)C", printStereoWarnings=False) +smiles(R"C(=O)(CCC[C@@H](CC[C@H](/C=C\C/C=C\CCCCC)O)O)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(CCC[C@@H](C(=O)[O-])[NH3+])N[C@H](C(=O)N[C@@H](C(=O)[O-])C(C)C)CS", printStereoWarnings=False) +smiles(R"C(=O)(/C(=C/C)/C)O[C@@H]1C[C@H]2[NH+](C[C@@H]3C[C@H]2CN2C(=O)CCC[C@H]32)CC1", printStereoWarnings=False) +smiles(R"C(=O)(CCCC=O)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(CCCC(=O)[O-])C", printStereoWarnings=False) +smiles(R"C(=O)(C[C@@](CCO)(O)C)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(CCC(C(=O)[O-])C=O)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(/C=C(\CC(=O)[O-])/C(=O)OC)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(/C=C/CC(=O)[O-])[O-]", printStereoWarnings=False) +smiles(R"C(=O)CC(CC(=O)[O-])(O)C", printStereoWarnings=False) +smiles(R"C(=O)(CC(CC(=O)[O-])(O)C)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(C[C@@](CCOP(=O)([O-])[O-])(O)C)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(C[C@@](CCOP(=O)([O-])OP(=O)([O-])[O-])(O)C)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(CC[C@@H]1NC=NC1=O)O", printStereoWarnings=False) +smiles(R"C(=O)(CC[C@@H](C(=O)[O-])NC=O)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(CCCNC(=[NH2+])N)N", printStereoWarnings=False) +smiles(R"C(=O)(/C(=C/C)/[NH2+])[O-]", printStereoWarnings=False) +smiles(R"C(=O)(/C=C/C)[O-]", printStereoWarnings=False) +smiles(R"C(=O)C#CCO", printStereoWarnings=False) +smiles(R"C(=O)(/C=C/C(=O)CC(=O)CC(=O)[O-])[O-]", printStereoWarnings=False) +smiles(R"C(=O)(C(CC(=O)C)[NH3+])[O-]", printStereoWarnings=False) +smiles(R"C(=O)(C(C(C)(O)C)O)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(C(C)(C)O)C(=O)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(C(CC=O)CO)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(CCC(=O)N)C(=O)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(C(C)C=O)[O-]", printStereoWarnings=False) +smiles(R"C(=O)CCC(=O)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(/C(=C\C(=O)[O-])/C(C)C)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(/C(=C(/C(=O)[O-])\C=C\C=O)/N)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(C(C(C(=O)[O-])CCC)O)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(/C(=C(/C(=O)[O-])\C=C\C=O)/O)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(/C(=C(\C(=O)[O-])/C)/C)[O-]", printStereoWarnings=False) +smiles(R"C(=O)([C@](CC(=O)[O-])(CC)O)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(/C(=C/C(=O)[O-])/CC(=O)OC)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(/C=C\C(=O)[O-])N", printStereoWarnings=False) +smiles(R"C(=O)(/C=C\C(=O)[O-])NC=O", printStereoWarnings=False) +smiles(R"C(=O)(/C=C\C(=O)[O-])[O-]", printStereoWarnings=False) +smiles(R"C(=O)(C#CC(=O)[O-])[O-]", printStereoWarnings=False) +smiles(R"C(=O)(C(C(C(=O)[O-])O)CC)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(C(CC(=O)[O-])OCC(=O)[O-])[O-]", printStereoWarnings=False) +smiles(R"C(=O)(CC(C(=O)[O-])O)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(C(CCP(=O)(C)[O-])NC(=O)C)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(C(CCP(=O)(C)[O-])[NH3+])[O-]", printStereoWarnings=False) +smiles(R"C(=O)(C[C@H](CCC[NH3+])[NH3+])[O-]", printStereoWarnings=False) +smiles(R"C(=O)(C[C@H](C(C)C)[NH3+])[O-]", printStereoWarnings=False) +smiles(R"C(=O)(C[C@H](C[C@H](C)[NH3+])[NH3+])[O-]", printStereoWarnings=False) +smiles(R"C(=O)(C[C@@H]([C@H]([C@@H](CO)O)O)O)[O-]", printStereoWarnings=False) +smiles(R"C(=O)[C@@]([C@@H]([C@@H](CO)O)O)(O)CO", printStereoWarnings=False) +smiles(R"C(=O)[C@@]([C@@H]([C@@H](CO)O)O)(O)COP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"C(=O)(C[C@@H](C)O)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(C[C@H](C)O)[O-]", printStereoWarnings=False) +smiles(R"C(=O)C([C@H](C(=O)[O-])O)(C)C", printStereoWarnings=False) +smiles(R"C(=O)(C[C@@H](C(=O)[O-])O)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(C[C@H](C(=O)[O-])O)[O-]", printStereoWarnings=False) +smiles(R"C(=O)C[C@@H](O)[C@H](O)[C@H](O)CO", printStereoWarnings=False) +smiles(R"C(=O)C[C@@H](O)[C@H](O)[C@H](O)COP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"C(=O)CCl", printStereoWarnings=False) +smiles(R"C(=O)(CCl)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(C=C)N", printStereoWarnings=False) +smiles(R"C(=O)(CCNC(=[NH2+])N)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(/C(=C\NC(=O)C)/C(C(=O)[O-])CO)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(/C(=C\NC(=O)C)/CC(=O)[O-])[O-]", printStereoWarnings=False) +smiles(R"C(=O)(CCNC(=O)[C@@H](NC(=O)CC[C@@H](C(=O)[O-])[NH3+])CS)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(CCNC(=O)C)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(/C=C\NC(=O)N)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(CCNC(=O)N)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(/C=C\NC(=O)N)OO", printStereoWarnings=False) +smiles(R"C(=O)(CC(=N)C(=O)[O-])[O-]", printStereoWarnings=False) +smiles(R"C(=O)(C(C)[NH2+]C(C(=O)[O-])C)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(C)C[NH3+]", printStereoWarnings=False) +smiles(R"C(=O)(CC([NH3+])c1ccc(cc1)O)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(/C=C\N)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(/C=C\N)OO", printStereoWarnings=False) +smiles(R"C(=O)(/C=C/[N+](=O)[O-])[O-]", printStereoWarnings=False) +smiles(R"C(=O)(C)C=O", printStereoWarnings=False) +smiles(R"C(=O)(C)CO", printStereoWarnings=False) +smiles(R"C(=O)(CC(=O)c1ccc(cc1)O)c1c(cc(cc1)O)O", printStereoWarnings=False) +smiles(R"C(=O)(CC(=O)c1ccc(cc1)O)c1c(cc(cc1)O)OC", printStereoWarnings=False) +smiles(R"C(=O)(C(CO)c1ccccc1)O[C@H]1C[C@@H]2C[C@@H]([C@H](C1)[NH+]2C)O", printStereoWarnings=False) +smiles(R"C(=O)(CC(=O)C)C", printStereoWarnings=False) +smiles(R"C(=O)(CC(=O)CCC)CCC", printStereoWarnings=False) +smiles(R"C(=O)(CC(=O)CCCCCCCCC)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(CC(=O)CCC(=O)[O-])[O-]", printStereoWarnings=False) +smiles(R"C(=O)(C(C(=O)CCC(=O)[O-])O)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(CC(=O)C[C@H](C)[NH3+])[O-]", printStereoWarnings=False) +smiles(R"C(=O)(CC(=O)[C@@H]([C@@H](CO)O)O)[O-]", printStereoWarnings=False) +smiles(R"C(=O)([C@](C(=O)C)(O)C)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(C(C(=O)C)(O)C)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(CC(=O)NC(=O)N)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(C(CO)[NH3+])[O-]", printStereoWarnings=False) +smiles(R"C(=O)(CCO)[O-]", printStereoWarnings=False) +smiles(R"C(O)C(CO)O", printStereoWarnings=False) +smiles(R"C(=O)(CC(=O)OCC)CCC", printStereoWarnings=False) +smiles(R"C(=O)(CC(=O)[O-])[O-]", printStereoWarnings=False) +smiles(R"C(=O)(C(C(=O)[O-])O)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(C(CS)CS)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(C(CS)[NH3+])[O-]", printStereoWarnings=False) +smiles(R"C(O[C@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)(CO)CO", printStereoWarnings=False) +smiles(R"C(=O)([C@H](Cc1ccccc1)NC(=O)C)[O-]", printStereoWarnings=False) +smiles(R"C(=O)([C@H](Cc1ccccc1)NP(=O)(OC[C@H]1O[C@H]([C@@H]([C@@H]1O)O)n1c2c(c(ncn2)N)nc1)[O-])[O-]", printStereoWarnings=False) +smiles(R"C(=O)([C@H](Cc1ccc(cc1)O)N)OC", printStereoWarnings=False) +smiles(R"C(=O)([C@@H](Cc1ccc(cc1)O)O)[O-]", printStereoWarnings=False) +smiles(R"C(=O)([C@H](Cc1ccc(cc1)OP(=O)([O-])[O-])[NH3+])[O-]", printStereoWarnings=False) +smiles(R"C(=O)([C@H](Cc1ccc(cc1)OS(=O)(=O)[O-])N)OC", printStereoWarnings=False) +smiles(R"C(=O)([C@H](Cc1c[nH]c2c1cccc2)[NH3+])N", printStereoWarnings=False) +smiles(R"C(=O)([C@H](Cc1[nH]cnc1)NC(=O)C)[O-]", printStereoWarnings=False) +smiles(R"C(=O)([C@@H](CCCCCCCCCCCCCCCC)O)[O-]", printStereoWarnings=False) +smiles(R"C(=O)([C@H](CCCCCCCCCCCCCCCC)O)[O-]", printStereoWarnings=False) +smiles(R"C(=O)([C@H](CCCC[NH3+])NC(=O)C)[O-]", printStereoWarnings=False) +smiles(R"C(=O)([C@H](CCC)[NH2+][C@H](C)C(=O)[O-])[O-]", printStereoWarnings=False) +smiles(R"C(=O)([C@H](CCC(=O)NCC)[NH3+])[O-]", printStereoWarnings=False) +smiles(R"C(=O)([C@H](CCC(=O)N)NC(=O)Cc1ccccc1)[O-]", printStereoWarnings=False) +smiles(R"C(=O)([C@H](CCC(=O)[O-])[NH2+]C)[O-]", printStereoWarnings=False) +smiles(R"C(=O)([C@H](CCC(=O)OP(=O)([O-])[O-])NC(=O)C)[O-]", printStereoWarnings=False) +smiles(R"C(=O)([C@H](CCC(=O)OP(=O)([O-])[O-])[NH3+])[O-]", printStereoWarnings=False) +smiles(R"C(=O)([C@@H](CCl)[NH3+])[O-]", printStereoWarnings=False) +smiles(R"C(=O)([C@H](CCl)[NH3+])[O-]", printStereoWarnings=False) +smiles(R"C(=O)([C@H](CC#N)N)[O-]", printStereoWarnings=False) +smiles(R"C(=O)([C@@H](C(CO)(C)C)O)NCCC(=O)NCCS", printStereoWarnings=False) +smiles(R"C(=O)([C@@H](C(C)(O)C)O)[O-]", printStereoWarnings=False) +smiles(R"C(=O)([C@H](CC[Se]C)[NH3+])[O-]", printStereoWarnings=False) +smiles(R"C(=O)([C@@H]([C@H](CC(=O)C(=O)[O-])O)O)[O-]", printStereoWarnings=False) +smiles(R"C(=O)[C@@H]([C@H]([C@@H](CC(=O)[O-])O)O)O", printStereoWarnings=False) +smiles(R"C(=O)[C@@H]([C@@H]([C@H]([C@H](CO)O)O)O)NC(=O)C", printStereoWarnings=False) +smiles(R"C(=O)([C@@H]([C@H]([C@H]([C@@H](C)O)O)O)O)[O-]", printStereoWarnings=False) +smiles(R"C(=O)([C@H]([C@@H]([C@@H]([C@H](C)O)O)O)O)[O-]", printStereoWarnings=False) +smiles(R"C(=O)([C@@H]([C@H]([C@@H]([C@@H](CO)O)O)O)O)[O-]", printStereoWarnings=False) +smiles(R"C(=O)([C@H]([C@@H]([C@@H]([C@@H](CO)O)O)O)O)[O-]", printStereoWarnings=False) +smiles(R"C(=O)([C@H]([C@@H]([C@@H]([C@H](C=O)O)O)O)O)[O-]", printStereoWarnings=False) +smiles(R"C(=O)([C@H]([C@@H]([C@@H]([C@H](C(=O)[O-])O)O)O)O)[O-]", printStereoWarnings=False) +smiles(R"C(=O)([C@@H]([C@H]([C@@H]([C@H](O)CO)O)O)NC(=O)C)[O-]", printStereoWarnings=False) +smiles(R"C(=O)([C@@H]([C@H]([C@@H]([C@H](O)CO)O)O)[NH3+])[O-]", printStereoWarnings=False) +smiles(R"C(=O)[C@H]([C@H]([C@@H]([C@H](O)C(=O)[O-])O)O)O", printStereoWarnings=False) +smiles(R"C(=O)[C@@H]([C@@H]([C@@H]([C@H](O)COP(=O)([O-])[O-])O)O)O", printStereoWarnings=False) +smiles(R"C(=O)[C@@H]([C@H]([C@@H]([C@H](O)COP(=O)([O-])[O-])O)O)OP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"C(=O)[C@@H]([C@H]([C@@H]([C@H](O)COS(=O)(=O)[O-])O)O)NS(=O)(=O)[O-]", printStereoWarnings=False) +smiles(R"C(=O)[C@@H]([C@H]([C@@H]([C@H](O)COS(=O)(=O)[O-])O)O)O", printStereoWarnings=False) +smiles(R"C(=O)([C@@H]([C@H]([C@@H](C(=O)CO)O)O)O)[O-]", printStereoWarnings=False) +smiles(R"C(O)[C@@H]([C@H]([C@@H](C(=O)C(=O)[O-])O)O)O", printStereoWarnings=False) +smiles(R"C(=O)([C@@H]([C@@H]([C@H](C)O)O)O)CO", printStereoWarnings=False) +smiles(R"C(=O)[C@@H]([C@@H]([C@H](CO)O)O)O", printStereoWarnings=False) +smiles(R"C(=O)[C@H]([C@H]([C@@H](CO)O)O)O", printStereoWarnings=False) +smiles(R"C(=O)([C@@H]([C@@H]([C@@H](CO)O)O)O)[O-]", printStereoWarnings=False) +smiles(R"C(=O)([C@@H]([C@H]([C@H](CO)O)O)O)[O-]", printStereoWarnings=False) +smiles(R"C(=O)([C@@H]([C@H](C)O)C)OCc1ccccc1", printStereoWarnings=False) +smiles(R"C(=O)([C@H]([C@@H](C(=O)N)O)[NH3+])[O-]", printStereoWarnings=False) +smiles(R"C(=O)([C@@H]([C@@H](C(=O)[O-])C(C)C)O)[O-]", printStereoWarnings=False) +smiles(R"C(=O)([C@H]([C@@H](C(=O)[O-])C)[NH3+])[O-]", printStereoWarnings=False) +smiles(R"C(=O)([C@@H]([C@H](CO)O)O)[O-]", printStereoWarnings=False) +smiles(R"C(=O)([C@H]([C@@H](C)OP(=O)([O-])[O-])[NH3+])[O-]", printStereoWarnings=False) +smiles(R"C(=O)[C@H]([C@H](O)[C@@H]([C@H](C=O)O)O)O", printStereoWarnings=False) +smiles(R"C(O)[C@H]([C@@H](O)[C@@H]([C@H](CO)O)O)O", printStereoWarnings=False) +smiles(R"C(=O)([C@H]([C@H](O)[C@@H]([C@H](O)COP(=O)([O-])[O-])O)O)CO", printStereoWarnings=False) +smiles(R"C(=O)[C@@H]([C@H](O)[C@H](O)COP(=O)([O-])[O-])O", printStereoWarnings=False) +smiles(R"C(=O)([C@@H]([C@H](O)C)[NH3+])[O-]", printStereoWarnings=False) +smiles(R"C(=O)([C@H]([C@@H](O)C)[NH3+])[O-]", printStereoWarnings=False) +smiles(R"C(=O)([C@H](C)[NH3+])N[C@H](CCC(=O)[O-])C(=O)[O-]", printStereoWarnings=False) +smiles(R"C(=O)([C@@H](C)[NH3+])N[C@@H](C(=O)[O-])CO", printStereoWarnings=False) +smiles(R"C(=O)([C@H](C=O)C)[O-]", printStereoWarnings=False) +smiles(R"C(=O)([C@@H](C(=O)CO)O)[O-]", printStereoWarnings=False) +smiles(R"C(=O)([C@H](C(=O)COP(=O)([O-])[O-])N)[O-]", printStereoWarnings=False) +smiles(R"C(=O)([C@@H](CO)[NH3+])[O-]", printStereoWarnings=False) +smiles(R"C(=O)([C@H](CO)[NH3+])[O-]", printStereoWarnings=False) +smiles(R"C(=O)([C@@H](C)O)[O-]", printStereoWarnings=False) +smiles(R"C(=O)([C@H](C)O)[O-]", printStereoWarnings=False) +smiles(R"C(=O)([C@@H](C(=O)[O-])C(C)C)C(=O)[O-]", printStereoWarnings=False) +smiles(R"C(=O)([C@@H](CO)OP(=O)([O-])[O-])[O-]", printStereoWarnings=False) +smiles(R"C(=O)([C@H](COP(=O)([O-])[O-])O)C", printStereoWarnings=False) +smiles(R"C(=O)([C@@H](CS)[NH3+])[O-]", printStereoWarnings=False) +smiles(R"C(=O)([C@H](CS)[NH3+])[O-]", printStereoWarnings=False) +smiles(R"C(=O)([C@@H](NC(=O)CCNC(=O)[C@@H](C(CO)(C)C)O)CS)[O-]", printStereoWarnings=False) +smiles(R"C(=O)([C@@H](NC(=O)CCNC(=O)[C@@H](C(COP(=O)([O-])[O-])(C)C)O)CS)[O-]", printStereoWarnings=False) +smiles(R"C(=O)([C@@H](N)C=O)[O-]", printStereoWarnings=False) +smiles(R"C(=O)([C@@H]([NH2+]C)C)[O-]", printStereoWarnings=False) +smiles(R"C(=O)([C@@H]([NH2+][C@@H](C(=O)[O-])C)CCCC[NH3+])[O-]", printStereoWarnings=False) +smiles(R"C(=O)([C@H]([NH3+])c1ccc(cc1)O)[O-]", printStereoWarnings=False) +smiles(R"C(=O)([C@@H]([NH3+])CC1(C=CC(C=C1)O)C(=O)[O-])[O-]", printStereoWarnings=False) +smiles(R"C(=O)([C@@H]([NH3+])CC1=CC(=O)C(=O)C=C1)[O-]", printStereoWarnings=False) +smiles(R"C(=O)([C@@H]([NH3+])CCCCNC(=O)[C@H]([NH3+])[C@@H](CC[NH3+])C)[O-]", printStereoWarnings=False) +smiles(R"C(=O)([C@@H]([NH3+])CCCCNC(=O)C)[O-]", printStereoWarnings=False) +smiles(R"C(=O)([C@@H]([NH3+])CCCCNC(=O)N)[O-]", printStereoWarnings=False) +smiles(R"C(=O)([C@@H]([NH3+])CCCC[NH2+][C@H](C(=O)[O-])CCC(=O)[O-])[O-]", printStereoWarnings=False) +smiles(R"C(=O)([C@@H]([NH3+])CCCC[NH2+]C)[O-]", printStereoWarnings=False) +smiles(R"C(=O)([C@@H]([NH3+])CCCCNO)[O-]", printStereoWarnings=False) +smiles(R"C(=O)([C@@H]([NH3+])CCC)[O-]", printStereoWarnings=False) +smiles(R"C(=O)([C@@H]([NH3+])CCSC[C@H]([NH3+])C(=O)[O-])[O-]", printStereoWarnings=False) +smiles(R"C(=O)([C@@H]([NH3+])CC[S+](C)C)[O-]", printStereoWarnings=False) +smiles(R"C(=O)([C@@H]([NH3+])CCS)[O-]", printStereoWarnings=False) +smiles(R"C(=O)([C@@H]([NH3+])[C@@H](O)c1ccccc1)[O-]", printStereoWarnings=False) +smiles(R"C(=O)([C@@H]([NH3+])Cn1nccc1)[O-]", printStereoWarnings=False) +smiles(R"C(=O)([C@@H]([NH3+])CNC(=O)C(=O)[O-])[O-]", printStereoWarnings=False) +smiles(R"C(=O)([C@@H]([NH3+])C)[O-]", printStereoWarnings=False) +smiles(R"C(=O)([C@H]([NH3+])C)[O-]", printStereoWarnings=False) +smiles(R"C(=O)([C@@H]([NH3+])COC(=O)C)[O-]", printStereoWarnings=False) +smiles(R"C(=O)([C@@H]([NH3+])COC(=O)N)[O-]", printStereoWarnings=False) +smiles(R"C(=O)([C@@H]([NH3+])CONC(=O)N)[O-]", printStereoWarnings=False) +smiles(R"C(=O)([C@@H]([NH3+])COP(=O)(OCCNC(=[NH2+])N)[O-])[O-]", printStereoWarnings=False) +smiles(R"C(=O)([C@@H]([NH3+])COP(=O)(OCCNC(=[NH2+])NP(=O)([O-])[O-])[O-])[O-]", printStereoWarnings=False) +smiles(R"C(=O)([C@@H]([NH3+])COP(=O)([O-])OCC[NH3+])[O-]", printStereoWarnings=False) +smiles(R"C(=O)([C@@H]([NH3+])COS(=O)(=O)[O-])[O-]", printStereoWarnings=False) +smiles(R"C(=O)([C@@H]([NH3+])CSc1ccc(cc1)Br)[O-]", printStereoWarnings=False) +smiles(R"C(=O)([C@@H]([NH3+])CSSC[C@@H](C(=O)[O-])[NH3+])[O-]", printStereoWarnings=False) +smiles(R"C(=O)([C@@H](O)c1ccccc1)c1ccccc1", printStereoWarnings=False) +smiles(R"C(=O)([C@H](O)c1ccccc1)c1ccccc1", printStereoWarnings=False) +smiles(R"C(=O)([C@H](O)c1ccccc1)N", printStereoWarnings=False) +smiles(R"C(=O)([C@H](O)C(CO)(C)C)[O-]", printStereoWarnings=False) +smiles(R"C(=O)([C@H](O)C(COP(=O)([O-])[O-])(C)C)[O-]", printStereoWarnings=False) +smiles(R"C(=O)[C@H](O[C@@H]1[C@H](O)[C@@H](O)[C@H](O)[C@H](O1)CO)[C@@H](O)[C@H](O)[C@H](O)CO", printStereoWarnings=False) +smiles(R"C(=O)[C@H](O)[C@@H]([C@H](O)CSC)O", printStereoWarnings=False) +smiles(R"C(O)[C@@H](O)C(=O)[C@H](O)[C@H](O)COP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"C(=O)[C@H](O)C(O)(CO)CO", printStereoWarnings=False) +smiles(R"C(=O)([C@H](OP(=O)([O-])[O-])COP(=O)([O-])[O-])[O-]", printStereoWarnings=False) +smiles(R"C(=O)(C)n1cc(c2c1cccc2)O", printStereoWarnings=False) +smiles(R"C(=O)(C)Nc1cc2c(c3c(C2)cccc3)cc1", printStereoWarnings=False) +smiles(R"C(=O)(CN(CC(=O)[O-])CC(=O)[O-])[O-]", printStereoWarnings=False) +smiles(R"C(=O)(CNC(=[NH2+])N)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(CNC(=O)Cc1ccccc1)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(C([NH3+])CCS)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(C[NH3+])COP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"C(=O)(C([NH3+])CSSCC(C(=O)[O-])[NH3+])[O-]", printStereoWarnings=False) +smiles(R"C(=O)(C[NH3+])[O-]", printStereoWarnings=False) +smiles(R"C(O)C=O", printStereoWarnings=False) +smiles(R"C(O)(CO)C", printStereoWarnings=False) +smiles(R"C(=O)(C(=O)c1ccccc1)c1ccccc1", printStereoWarnings=False) +smiles(R"C(=O)(C(O)c1ccccc1)c1ccccc1", printStereoWarnings=False) +smiles(R"C(=O)(C(=O)C)C", printStereoWarnings=False) +smiles(R"C(=O)(C(=O)Cc1cc(c(c(c1)I)Oc1cc(c(cc1)O)I)I)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(C(=O)Cc1cc(c(c(c1)I)[O-])I)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(C(=O)Cc1c[nH]c2c1cccc2)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(C(=O)Cc1[nH]cnc1)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(C(=O)C(CCCC(CCCC(CCCC(C)C)C)C)C)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(C(=O)CCCCCCCCCCCCCCCC)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(C(=O)CCCC)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(C(=O)/C=C/CC(=O)c1ccccc1)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(C(=O)CCCC(=O)c1ccccc1)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(C(=O)CCCC(=O)[O-])[O-]", printStereoWarnings=False) +smiles(R"C(=O)(C(=O)CC(C)O)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(C(=O)CCC=O)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(C(=O)CCC(=O)[O-])[O-]", printStereoWarnings=False) +smiles(R"C(=O)(C(=O)C[C@H]([C@H]([C@@H]([C@@H](CO)O)O)O)O)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(C(=O)C[C@H]([C@H]([C@@H]([C@@H](COP(=O)([O-])[O-])O)O)O)O)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(C(=O)C[C@@H]([C@H](C)O)O)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(C(=O)C[C@H]([C@@H](C)O)O)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(C(=O)C[C@H]([C@@H](CO)O)O)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(C(=O)C[C@@H]([C@@H](C(=O)[O-])O)O)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(C(=O)C[C@H]([C@@H](COP(=O)([O-])[O-])O)O)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(C(=O)C[C@@H]([C@H](O)C=O)O)[O-]", printStereoWarnings=False) +smiles(R"C(OC(=O)C)C[N+](C)(C)C", printStereoWarnings=False) +smiles(R"C(=O)(C(=O)C(CO)(C)C)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(C(=O)C(C(=O)[O-])O)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(C(=O)[C@H](CC)C)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(CO)[C@H](CC(=O)C(=O)[O-])O", printStereoWarnings=False) +smiles(R"C(O)C(=O)[C@H]([C@@H](O)[C@@H](C(=O)[O-])O)O", printStereoWarnings=False) +smiles(R"C(=O)(C(=O)[C@@H](COP(=O)([O-])[O-])O)[O-]", printStereoWarnings=False) +smiles(R"C(O)C(=O)[C@H](O)[C@@H](O)[C@H](O)CO", printStereoWarnings=False) +smiles(R"C(O)C(=O)[C@H](O)[C@@H](O)CO", printStereoWarnings=False) +smiles(R"C(O)C(=O)[C@@H](O)[C@H](O)C(=O)C(=O)[O-]", printStereoWarnings=False) +smiles(R"C(O)C(=O)[C@@H](O)[C@@H](O)COP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"C(O)C(=O)[C@H](O)[C@H](O)COP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"C(O)C(=O)[C@H](O)CO", printStereoWarnings=False) +smiles(R"C(=O)(CO)CO", printStereoWarnings=False) +smiles(R"C(O)C(O)C=O", printStereoWarnings=False) +smiles(R"C(O)C(=O)C(O)C(O)C(O)C(O)CO", printStereoWarnings=False) +smiles(R"C(=O)(C(O)C=O)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(CO)COP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"C(=O)(C(=O)[O-])CC=C", printStereoWarnings=False) +smiles(R"C(=O)(C(=O)[O-])/C=C/CCC(=O)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(C(=O)[O-])CCC[C@@H](C(=O)[O-])NC(=O)C", printStereoWarnings=False) +smiles(R"C(=O)(C(=O)[O-])CCC[C@@H](C(=O)[O-])[NH3+]", printStereoWarnings=False) +smiles(R"C(=O)(C(=O)[O-])CC(CC)O", printStereoWarnings=False) +smiles(R"C(=O)(C(=O)[O-])CCC[NH3+]", printStereoWarnings=False) +smiles(R"C(=O)(C(=O)[O-])CCSC", printStereoWarnings=False) +smiles(R"C(=O)(C(=O)[O-])C(=O)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(C(=O)[O-])[O-]", printStereoWarnings=False) +smiles(R"C(=O)(COP(=O)([O-])[O-])[C@H](CO)O", printStereoWarnings=False) +smiles(R"C(=O)(COP(=O)([O-])[O-])C=O", printStereoWarnings=False) +smiles(R"C(=O)(COP(=O)([O-])[O-])[O-]", printStereoWarnings=False) +smiles(R"C(=O)(CS(=O)(=O)[O-])C(=O)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(CS(=O)(=O)[O-])[O-]", printStereoWarnings=False) +smiles(R"C(=O)=N", printStereoWarnings=False) +smiles(R"C(=O)N", printStereoWarnings=False) +smiles(R"C(=O)(NC1NC(=O)NC1=O)N", printStereoWarnings=False) +smiles(R"CO/N=C/C(C)C", printStereoWarnings=False) +smiles(R"C(=O)(N)CCCCCCC/C=C\CCCCCCCC", printStereoWarnings=False) +smiles(R"C(=O)(NCCCC[NH2+]CCC[NH3+])C", printStereoWarnings=False) +smiles(R"C(=O)(NCCC[NH2+]CCCC[NH2+]CCCNC(=O)C)C", printStereoWarnings=False) +smiles(R"C(=O)(NCC(=O)[O-])OCc1ccccc1", printStereoWarnings=False) +smiles(R"C(=O)(N[C@H]1[C@H](O[C@@H]([C@H]([C@@H]1O)O)CO)O[C@H]1[C@H](O)[C@@H](O)[C@@H]([C@H]([C@H]1O)O)O)[C@@H](NC(=O)C)CS", printStereoWarnings=False) +smiles(R"C(=O)(N[C@H]1[C@H](O[C@@H]([C@H]([C@@H]1O)O)CO)O[C@H]1[C@H](O)[C@@H](O)[C@@H]([C@H]([C@H]1O)O)O)[C@@H](NC(=O)C)CS[As](=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"C(=O)(N[C@H]1[C@H](O[C@@H]([C@H]([C@@H]1O)O)CO)O[C@H]1[C@H](O)[C@@H](O)[C@@H]([C@H]([C@H]1O)O)O)[C@@H](NC(=O)C)CSC=O", printStereoWarnings=False) +smiles(R"C(=O)(N[C@H]1[C@H](O[C@@H]([C@H]([C@@H]1O)O)CO)O[C@H]1[C@H](O)[C@@H](O)[C@@H]([C@H]([C@H]1O)O)O)[C@@H](NC(=O)C)CSCO", printStereoWarnings=False) +smiles(R"C(=O)(N[C@H]1[C@H](O[C@@H]([C@H]([C@@H]1O)O)CO)O[C@H]1[C@H](O)[C@@H](O)[C@@H]([C@H]([C@H]1O)O)O)[C@@H](NC(=O)C)CSSC[C@@H](C(=O)N[C@H]1[C@H](O[C@@H]([C@H]([C@@H]1O)O)CO)O[C@H]1[C@H](O)[C@@H](O)[C@@H]([C@H]([C@H]1O)O)O)NC(=O)C", printStereoWarnings=False) +smiles(R"C(=O)(N[C@H]1[C@H](O[C@@H]([C@H]([C@@H]1O)O)CO)O[C@H]1[C@H](O)[C@@H](O)[C@@H]([C@H]([C@H]1O)O)O)[C@@H]([NH3+])CS", printStereoWarnings=False) +smiles(R"C(=O)(N[C@H]1NC(=O)NC1=O)N", printStereoWarnings=False) +smiles(R"C(=O)(N[C@H](C(=O)[O-])O)N", printStereoWarnings=False) +smiles(R"C(=O)(NCNC(=O)N)N", printStereoWarnings=False) +smiles(R"C(=O)(NCO)N", printStereoWarnings=False) +smiles(R"C(=O)(NC(=O)N)N", printStereoWarnings=False) +smiles(R"C(=O)(N)N", printStereoWarnings=False) +smiles(R"C(=O)(N)NO", printStereoWarnings=False) +smiles(R"C(=O)(N)[O-]", printStereoWarnings=False) +smiles(R"C(=O)=O", printStereoWarnings=False) +smiles(R"C(=O)[O-]", printStereoWarnings=False) +smiles(R"C(=O)([O-])CC", printStereoWarnings=False) +smiles(R"C(=O)([O-])Cc1ccc(cc1)O", printStereoWarnings=False) +smiles(R"C(=O)([O-])Cc1ccccc1O", printStereoWarnings=False) +smiles(R"C(=O)([O-])CC1=CCC(=O)O1", printStereoWarnings=False) +smiles(R"C(=O)([O-])Cc1ncn(c1)C1[C@H](O)[C@H](O)[C@H](O1)COP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"C(=O)([O-])CC1(OC(=O)C=C1)Cl", printStereoWarnings=False) +smiles(R"C(=O)([O-])CC1(OC(=O)C(=C1)Cl)Cl", printStereoWarnings=False) +smiles(R"C(=O)([O-])CCCC[NH3+]", printStereoWarnings=False) +smiles(R"C(=O)([O-])C/C(=C/C(=O)[O-])/C(=O)[O-]", printStereoWarnings=False) +smiles(R"C(=O)([O-])C/C(=C\C(=O)[O-])/C(=O)[O-]", printStereoWarnings=False) +smiles(R"C(=O)(OC)C[C@@H]1[C@H](C(=O)CC1)C/C=C\CC", printStereoWarnings=False) +smiles(R"C(=O)(OCC[C@@H](C(=O)[O-])[NH3+])CCC(=O)[O-]", printStereoWarnings=False) +smiles(R"C(=O)([O-])CC([C@@H](C(=O)[O-])[NH3+])O", printStereoWarnings=False) +smiles(R"C(=O)([O-])/C=C/C(=O)CC(=O)C(=O)[O-]", printStereoWarnings=False) +smiles(R"C(=O)([O-])CCC(=O)C[NH3+]", printStereoWarnings=False) +smiles(R"C(=O)([O-])C(CC(=O)[O-])(CC(=O)N[C@H](C(=O)[O-])CCCCN(O)C(=O)C)O", printStereoWarnings=False) +smiles(R"C(=O)([O-])C(CC(=O)[O-])(CC(=O)[O-])O", printStereoWarnings=False) +smiles(R"C(=O)([O-])[C@](CC(=O)[O-])(O)[C@@H](C(=O)[O-])C", printStereoWarnings=False) +smiles(R"C(=O)([O-])C[C@H]1C(C(=C(C1)O)C)(C)C", printStereoWarnings=False) +smiles(R"C(=O)([O-])C[C@H]1C(=O)C=C(C1(C)C)C", printStereoWarnings=False) +smiles(R"C(=O)([O-])[C@H]1C(S[C@H]2N1C(=O)[C@H]2[NH3+])(C)C", printStereoWarnings=False) +smiles(R"C(=O)([O-])[C@H](C(CCCC(CCCC(CCCC(C)C)C)C)C)O", printStereoWarnings=False) +smiles(R"C(=O)([O-])[C@H](C)OP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"C(=O)([O-])[C@@H](NC(=O)CCC(=O)[O-])CCCNC(=O)N", printStereoWarnings=False) +smiles(R"C(=O)([O-])[C@@H]([NH3+])Cn1c2c(nc1)c(ncn2)NC/C=C(\C)/CO", printStereoWarnings=False) +smiles(R"C(=O)([O-])[C@H](OC(=O)/C=C/c1cc(c(cc1)O)O)[C@@H](O)[C@H](O)[C@H](O)C(=O)[O-]", printStereoWarnings=False) +smiles(R"C(=O)([O-])CNC(=O)C[NH3+]", printStereoWarnings=False) +smiles(R"C(=O)([O-])CN(C(=O)N)C", printStereoWarnings=False) +smiles(R"C(=O)([O-])C[NH2+]CC", printStereoWarnings=False) +smiles(R"C(=O)([O-])C[NH2+]CC(=O)[O-]", printStereoWarnings=False) +smiles(R"C(=O)([O-])C([NH3+])(CO)C", printStereoWarnings=False) +smiles(R"C(=O)([O-])CO", printStereoWarnings=False) +smiles(R"C(=O)([O-])C(=O)C", printStereoWarnings=False) +smiles(R"C(=O)([O-])C(=O)c1ccccc1", printStereoWarnings=False) +smiles(R"C(=O)([O-])C(=O)NC(=O)N", printStereoWarnings=False) +smiles(R"C(=O)([O-])C[S+](C)C", printStereoWarnings=False) +smiles(R"C(=O)([O-])NC(=O)N", printStereoWarnings=False) +smiles(R"C(OP(=O)(OC(C)C)[O-])(C)C", printStereoWarnings=False) +smiles(R"C(OP(=O)([O-])[O-])[C@H]([C@@H](C(=O)C)O)O", printStereoWarnings=False) +smiles(R"C(OP(=O)([O-])[O-])[C@H]([C@H](CO)O)O", printStereoWarnings=False) +smiles(R"C(OP(=O)([O-])[O-])C(=O)[C@H]([C@@H](CC(=O)[O-])O)O", printStereoWarnings=False) +smiles(R"C(=O)(SCCNC(=O)CCNC(=O)[C@@H](C(COP(=O)(OP(=O)(OC[C@H]1O[C@H]([C@@H]([C@@H]1OP(=O)([O-])[O-])O)n1c2c(nc1)c(ncn2)N)[O-])[O-])(C)C)O)CC(=O)CCCC/C=C\C/C=C\C/C=C\C/C=C\CC", printStereoWarnings=False) +smiles(R"CS", printStereoWarnings=False) +smiles(R"CSC", printStereoWarnings=False) +smiles(R"C[S+](CC[C@H]([NH3+])C(=O)[O-])C[C@H]1O[C@H]([C@H](O)[C@@H]1O)n1cnc2c1ncnc2N", printStereoWarnings=False) +smiles(R"CSCCC(=O)/C(=C/OP(=O)([O-])[O-])/O", printStereoWarnings=False) +smiles(R"CSCCC(=O)C(=O)COP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"CSC#N", printStereoWarnings=False) +smiles(R"C([SeH])[C@@H](C(=O)[O-])[NH3+]", printStereoWarnings=False) +smiles(R"CS(=O)C", printStereoWarnings=False) +smiles(R"[Cu+]", printStereoWarnings=False) +smiles(R"[Cu+2]", printStereoWarnings=False) +smiles(R"[F-]", printStereoWarnings=False) +smiles(R"[Fe+2]", printStereoWarnings=False) +smiles(R"[Fe+3]", printStereoWarnings=False) +smiles(R"[H+]", printStereoWarnings=False) +smiles(R"[Hg]", printStereoWarnings=False) +smiles(R"[Hg+2]", printStereoWarnings=False) +smiles(R"[H][H]", printStereoWarnings=False) +smiles(R"[I-]", printStereoWarnings=False) +smiles(R"Ic1cc(C[C@@H](C(=O)[O-])[NH3+])ccc1O", printStereoWarnings=False) +smiles(R"II", printStereoWarnings=False) +smiles(R"[K+]", printStereoWarnings=False) +smiles(R"[Li+]", printStereoWarnings=False) +smiles(R"[Mg+2]", printStereoWarnings=False) +smiles(R"[Mn+2]", printStereoWarnings=False) +smiles(R"[Mn+3]", printStereoWarnings=False) +smiles(R"N12Cc3c(C[C@H]2c2c(CC1)cc(c(c2)O)OC)ccc1c3OCO1", printStereoWarnings=False) +smiles(R"N12CCc3c(cc(c(c3)OC)O)[C@@H]2Cc2c(C1)c(c(cc2)OC)O", printStereoWarnings=False) +smiles(R"N12CCc3c(cc(c(c3)OC)O)[C@@H]2Cc2c(C1)c(c(cc2)OC)OC", printStereoWarnings=False) +smiles(R"N12[C@@H]([C@@H]3C[NH+]4[C@H]([C@H](C1)C3)CCCC4)CCCC2=O", printStereoWarnings=False) +smiles(R"N12[C@@H]([C@@H]3C([NH+]4[C@H]([C@H](C1)C3)CCCC4)O)CCCC2=O", printStereoWarnings=False) +smiles(R"N12[C@@H]([C@@H](C2=O)NC(=O)CCC[C@H](C(=O)[O-])[NH3+])SCC(=C1C(=O)[O-])C", printStereoWarnings=False) +smiles(R"N12[C@@H]([C@@H](C2=O)NC(=O)CCC[C@H](C(=O)[O-])[NH3+])SCC(=C1C(=O)[O-])CO", printStereoWarnings=False) +smiles(R"N12[C@@H]([C@@H](C2=O)NC(=O)CCC[C@H](C(=O)[O-])[NH3+])SCC(=C1C(=O)[O-])COC(=O)C", printStereoWarnings=False) +smiles(R"N12[C@@H]([C@@H](C2=O)NC(=O)CCCC(=O)C(=O)[O-])SCC(=C1C(=O)[O-])COC(=O)C", printStereoWarnings=False) +smiles(R"N12[C@@H]([C@@H](C2=O)NC(=O)CCCC(=O)[O-])SCC(=C1C(=O)[O-])COC(=O)C", printStereoWarnings=False) +smiles(R"N12[C@H](C(=O)N3[C@](C1=O)([C@H](c1c4c(cc(cc4)OC)n4[C@@H](C=C(C)C)OOC(C[C@H]3c14)(C)C)OCC=C(C)C)O)CCC2", printStereoWarnings=False) +smiles(R"N12[C@H](C(=O)N3[C@](C1=O)([C@H](c1c4c(cc(cc4)OC)n4[C@@H](C=C(C)C)OOC(C[C@H]3c14)(C)C)O)O)CCC2", printStereoWarnings=False) +smiles(R"N12[C@H](C(=O)N3[C@](C1=O)([C@H](c1c4c([nH]c1[C@@H]3C=C(C)C)cc(cc4)OC)O)O)CCC2", printStereoWarnings=False) +smiles(R"N12[C@H](C(=O)N3[C@](C1=O)([C@H](c1c(n(c4c1ccc(c4)OC)CC=C(C)C)[C@@H]3C=C(C)C)O)O)CCC2", printStereoWarnings=False) +smiles(R"N12[C@H](C(=O)N3[C@H](C1=O)Cc1c4c([nH]c1[C@@H]3C=C(C)C)cc(cc4)OC)CCC2", printStereoWarnings=False) +smiles(R"N12[C@H](C(=O)N[C@H](C1=O)Cc1c[nH]c3c1cccc3)CCC2", printStereoWarnings=False) +smiles(R"N12[C@H](C(=O)N[C@H](C1=O)Cc1c([nH]c3c1cccc3)C(C=C)(C)C)CCC2", printStereoWarnings=False) +smiles(R"N12[C@H](C(=O)N[C@H](C1=O)Cc1c([nH]c3c1cccc3)CC=C(C)C)CCC2", printStereoWarnings=False) +smiles(R"N12[C@H](C(=O)N[C@H](C1=O)Cc1c([nH]c3c1ccc(c3)O)CC=C(C)C)CCC2", printStereoWarnings=False) +smiles(R"N12[C@H](C(=O)N[C@H](C1=O)Cc1c([nH]c3c1ccc(c3)OC)CC=C(C)C)CCC2", printStereoWarnings=False) +smiles(R"N12[C@@H](C(=O)[O-])C(S[C@@H]2[C@H](NC(=O)CCC[C@@H](C(=O)[O-])[NH3+])C1=O)(C)C", printStereoWarnings=False) +smiles(R"N12[C@@H](C(=O)[O-])C(S[C@@H]2[C@H](NC(=O)CCC[C@H](C(=O)[O-])[NH3+])C1=O)(C)C", printStereoWarnings=False) +smiles(R"N12[C@H](C(S[C@@H]2[C@H](NC(=O)Cc2ccccc2)C1=O)(C)C)C(=O)[O-]", printStereoWarnings=False) +smiles(R"N12[C@H](SCC(=C1C(=O)[O-])COC(=O)C)[C@@H](C2=O)[NH3+]", printStereoWarnings=False) +smiles(R"N1(c2c(c3c(C1)c1c(cc3OC)OCO1)cc(c1c2cc2c(c1)OCO2)O)C", printStereoWarnings=False) +smiles(R"n1(c2c(c(ccc2)O)O)c(=O)c(c(cn1)N)Cl", printStereoWarnings=False) +smiles(R"N1C2=C(C=C(C(=O)C2=O)CC([NH3+])C(=O)[O-])C(CC1C(=O)[O-])C(=O)[O-]", printStereoWarnings=False) +smiles(R"n1c2c(c(=O)[nH]c1N)N([C@H](CN2)CNc1ccc(cc1)C(=O)N[C@H](C(=O)[O-])CCC(=O)[O-])C=O", printStereoWarnings=False) +smiles(R"N1=C2[C@H]3N4[C@H]5C[C@]2(c2ccccc12)[C@@H](C5[C@H](C3)[C@@H](C=O)[C@@H]4C)OC(=O)C", printStereoWarnings=False) +smiles(R"N1=C2[C@H]3N4[C@H]5C[C@]2(c2ccccc12)[C@@H](C5[C@H](C3)[C@@H](CO)[C@@H]4C)OC(=O)C", printStereoWarnings=False) +smiles(R"n1(c2c(nc1)[C@@H](CNC=[NH+]2)O)[C@@H]1O[C@@H]([C@H]([C@H]1O)O)CO", printStereoWarnings=False) +smiles(R"n1(c2c(nc1)c(NC(CC(=O)[O-])C(=O)[O-])ncn2)[C@@H]1O[C@@H]([C@H]([C@H]1O)O)COP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"n1(c2c(nc1)c(ncn2)N(C)C)[C@H]1[C@@H]([C@@H]([C@H](O1)CO)NC(=O)[C@H](Cc1ccc(cc1)OC)[NH3+])O", printStereoWarnings=False) +smiles(R"n1(c2c(nc1)c(ncn2)N(C)C)[C@H]1[C@@H]([C@@H]([C@H](O1)CO)NC(=O)[C@H](Cc1ccc(cc1)O)[NH3+])O", printStereoWarnings=False) +smiles(R"n1(c2c(nc1)c(ncn2)N)[C@H]1[C@@H]([C@@H]([C@H](O1)C)O)O", printStereoWarnings=False) +smiles(R"n1(c2c(nc1)c(ncn2)N)[C@@H]1O[C@@H]([C@H]([C@H]1O)O)COP(=O)(N)[O-]", printStereoWarnings=False) +smiles(R"n1(c2c(nc1)c(ncn2)N)[C@@H]1O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OC(=O)c1c(c(ccc1)O)O)[O-]", printStereoWarnings=False) +smiles(R"n1(c2c(nc1)c(ncn2)N)[C@@H]1O[C@@H]([C@H]([C@H]1O)O)COP(=O)([O-])OC(=O)[C@H]([C@H](O)C)N", printStereoWarnings=False) +smiles(R"n1(c2c(nc1)c(ncn2)N)[C@@H]1O[C@@H]([C@H]([C@H]1O)O)COP(=O)([O-])OC(=O)[C@H](CO)N", printStereoWarnings=False) +smiles(R"n1(c2c(nc1)c(ncn2)N)[C@@H]1O[C@@H]([C@H]([C@H]1O)O)COP(=O)([O-])OC(=O)CN", printStereoWarnings=False) +smiles(R"n1(c2c(nc1)c(ncn2)N)[C@@H]1O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OP(=O)(OC[C@H]1O[C@H]([C@@H]([C@@H]1O)O)[n+]1cc(ccc1)C(=O)N)[O-])[O-]", printStereoWarnings=False) +smiles(R"n1(c2c(nc1)c(ncn2)N)[C@@H]1O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OP(=O)(OC[C@H]1O[C@H]([C@@H]([C@@H]1O)O)N1C=C(CC=C1)C(=O)N)[O-])[O-]", printStereoWarnings=False) +smiles(R"n1(c2c(nc1)c(ncn2)N)[C@@H]1O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OP(=O)(OC[C@H]1O[C@H]([C@@H]([C@@H]1O)O)[n+]1cc(ccc1)C(=O)[O-])[O-])[O-]", printStereoWarnings=False) +smiles(R"n1(c2c(nc1)c(ncn2)N)[C@@H]1O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OP(=O)(OC[C@H]1O[C@H]([C@@H]([C@@H]1O)O)N1C=C(CC[C@@H]1O)C(=O)N)[O-])[O-]", printStereoWarnings=False) +smiles(R"n1(c2c(nc1)c(ncn2)N)[C@@H]1O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OP(=O)(OC[C@H]1O[C@H]([C@@H]([C@@H]1O)O)N1C=C(CC[C@H]1O)C(=O)N)[O-])[O-]", printStereoWarnings=False) +smiles(R"n1(c2c(nc1)c(ncn2)N)[C@@H]1O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OP(=O)(OCC(OP(=O)([O-])[O-])C(=O)[O-])[O-])[O-]", printStereoWarnings=False) +smiles(R"n1(c2c(nc1)c(ncn2)N)[C@@H]1O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OP(=O)([O-])O[C@H]1O[C@@H]([C@H]([C@H](O)[C@H]1O)O)CO)[O-]", printStereoWarnings=False) +smiles(R"n1(c2c(nc1)c(ncn2)N)[C@@H]1O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OP(=O)(OP(=O)(OP(=O)(OC[C@H]1O[C@H]([C@@H]([C@@H]1O)O)n1c2c(nc1)c(ncn2)N)[O-])[O-])[O-])[O-]", printStereoWarnings=False) +smiles(R"n1(c2c(nc1)c(ncn2)N)[C@@H]1O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OP(=O)(OP(=O)(OP(=O)([O-])[O-])[O-])[O-])[O-]", printStereoWarnings=False) +smiles(R"n1(c2c(nc1)c(ncn2)N)[C@@H]1O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OP(=O)(OP(=O)(OP(=O)(OP(=O)([O-])[O-])[O-])[O-])[O-])[O-]", printStereoWarnings=False) +smiles(R"n1(c2c(nc1)c(ncn2)N)[C@@H]1O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OS(=O)(=O)[O-])[O-]", printStereoWarnings=False) +smiles(R"n1(c2c(nc1)c(ncn2)N)[C@@H]1O[C@@H]([C@H]([C@H]1O)O)C[Se+](CC[C@@H](C(=O)[O-])[NH3+])C", printStereoWarnings=False) +smiles(R"n1(c2c(nc1)c(ncn2)N)[C@@H]1O[C@@H]([C@H]([C@H]1OP(=O)([O-])[O-])O)COP(=O)(OP(=O)(OC[C@H]1O[C@H]([C@@H]([C@@H]1O)O)[n+]1cc(ccc1)C(=O)N)[O-])[O-]", printStereoWarnings=False) +smiles(R"n1(c2c(nc1)c(ncn2)N)[C@@H]1O[C@@H]([C@H]([C@H]1OP(=O)([O-])[O-])O)COP(=O)(OP(=O)(OC[C@H]1O[C@H]([C@@H]([C@@H]1O)O)N1C=C(CC=C1)C(=O)N)[O-])[O-]", printStereoWarnings=False) +smiles(R"n1(c2c(nc1)c(ncn2)N)[C@@H]1O[C@@H]([C@H]([C@H]1OP(=O)([O-])[O-])O)COP(=O)(OP(=O)(OC[C@H]1O[C@H]([C@@H]([C@@H]1O)O)N1C=C(CC[C@@H]1O)C(=O)N)[O-])[O-]", printStereoWarnings=False) +smiles(R"n1(c2c(nc1)c(ncn2)N)[C@@H]1O[C@@H]([C@H]([C@H]1OP(=O)([O-])[O-])O)COP(=O)(OP(=O)(OC[C@H]1O[C@H]([C@@H]([C@@H]1O)O)N1C=C(CC[C@H]1O)C(=O)N)[O-])[O-]", printStereoWarnings=False) +smiles(R"n1(c2c(nc1)C(=O)CNC=N2)[C@@H]1O[C@@H]([C@H]([C@H]1O)O)CO", printStereoWarnings=False) +smiles(R"n1(c2c(nc1)c(=O)[nH]cn2)[C@@H]1O[C@@H]([C@H](C1)O)COP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"n1(c2c(nc1)c(=O)[nH]cn2)[C@@H]1O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OP(=O)([O-])[O-])[O-]", printStereoWarnings=False) +smiles(R"n1(c2c(nc1)c(=O)[nH]cn2)[C@@H]1O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OP(=O)(OP(=O)([O-])[O-])[O-])[O-]", printStereoWarnings=False) +smiles(R"n1(c2c(nc1)c(=O)[nH]c(n2)N)[C@@H]1O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OP(=O)(O[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)[C@@H](CO)O)O)O)O)[O-])[O-]", printStereoWarnings=False) +smiles(R"n1(c2c(nc1)c(=O)[nH]c(n2)N)[C@@H]1O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OP(=O)(O[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)C)O)O)O)[O-])[O-]", printStereoWarnings=False) +smiles(R"n1(c2c(nc1)c(=O)[nH]c(n2)N)[C@@H]1O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OP(=O)(O[C@@H]1[C@H]([C@H]([C@H]([C@H](O1)C)O)O)O)[O-])[O-]", printStereoWarnings=False) +smiles(R"n1(c2c(nc1)c(=O)[nH]c(n2)N)[C@@H]1O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OP(=O)(O[C@@H]1[C@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)[O-])[O-]", printStereoWarnings=False) +smiles(R"n1(c2c(nc1)c(=O)[nH]c(n2)N)[C@@H]1O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OP(=O)(O[C@@H]1[C@H]([C@H](C(=O)[C@H](O1)C)O)O)[O-])[O-]", printStereoWarnings=False) +smiles(R"n1(c2c(nc1)c(=O)[nH]c(n2)N)[C@@H]1O[C@@H]([C@H]([C@H]1O)O)COP(=O)(OP(=O)(OP(=O)(OP(=O)(OC[C@H]1O[C@H]([C@@H]([C@@H]1O)O)n1c2c(nc1)c(=O)[nH]c(n2)N)[O-])[O-])[O-])[O-]", printStereoWarnings=False) +smiles(R"n1c2c(N=C(CN2)CN(c2ccc(cc2)C(=O)N[C@H](C(=O)[O-])CCC(=O)[O-])C=O)c(=O)[nH]c1N", printStereoWarnings=False) +smiles(R"n1c2c(N=C(CN2)CNc2ccc(cc2)C(=O)N[C@H](C(=O)[O-])CCC(=O)[O-])c(=O)[nH]c1N", printStereoWarnings=False) +smiles(R"n1c2c(N([C@H](CN2)CNc2ccc(cc2)C(=O)N[C@H](C(=O)[O-])CCC(=O)[O-])C=N)c(=O)[nH]c1N", printStereoWarnings=False) +smiles(R"n1c2c(N[C@H](CN2)CN(c2ccc(cc2)C(=O)N[C@H](C(=O)[O-])CCC(=O)[O-])C=O)c(=O)[nH]c1N", printStereoWarnings=False) +smiles(R"n1c2c(N[C@H](CN2)CNc2ccc(cc2)C(=O)N[C@H](C(=O)[O-])CCC(=O)[O-])c(=O)[nH]c1N", printStereoWarnings=False) +smiles(R"N1c2c(Oc3c1c1c(c(c3)O)nc(cc1O)C(=O)[O-])cccc2C(=O)CC(C(=O)[O-])[NH3+]", printStereoWarnings=False) +smiles(R"n1c2nccnc2c(nc1N)O", printStereoWarnings=False) +smiles(R"[N+]1(=C(c2c(CC1)cc(c(c2)O)OC)Cc1cc(c(cc1)OC)O)C", printStereoWarnings=False) +smiles(R"N1(C(c2ccc(cc2)O)C(=O)[O-])C(=O)[C@H](C1)NC(=O)/C(=N\O)/c1ccc(cc1)OCC[C@H](C(=O)[O-])[NH3+]", printStereoWarnings=False) +smiles(R"N1/C(=C/c2[nH]c(c(c2C)CCC(=O)[O-])Cc2[nH]c(c(c2CCC(=O)O[C@H]2[C@@H]([C@H]([C@@H]([C@H](O2)C(=O)[O-])O)O)O)C)/C=C\2/NC(=O)C(=C2C=C)C)/C(=C(C1=O)C=C)C", printStereoWarnings=False) +smiles(R"N1/C(=C/c2[nH]c(c(c2C)CCC(=O)O[C@H]2[C@@H]([C@H]([C@@H]([C@H](O2)C(=O)[O-])O)O)O)Cc2[nH]c(c(c2CCC(=O)O[C@H]2[C@@H]([C@H]([C@@H]([C@H](O2)C(=O)[O-])O)O)O)C)/C=C\2/NC(=O)C(=C2C=C)C)/C(=C(C1=O)C=C)C", printStereoWarnings=False) +smiles(R"N1=CCCC1C(=O)[O-]", printStereoWarnings=False) +smiles(R"N1=C(CC(C1)O)C(=O)[O-]", printStereoWarnings=False) +smiles(R"[n+]1(ccc(c2ccccc12)NO)[O-]", printStereoWarnings=False) +smiles(R"n1c(ccc2C(C(C=Cc12)O)O)O", printStereoWarnings=False) +smiles(R"[n+]1(ccccc1)C", printStereoWarnings=False) +smiles(R"[n+]1(ccccc1)Cc1cnc(nc1N)C", printStereoWarnings=False) +smiles(R"[n+]1(cccc(c1C)CCO)Cc1cnc(nc1O)C", printStereoWarnings=False) +smiles(R"[n+]1(cccc(c1)C(=O)N)C", printStereoWarnings=False) +smiles(R"n1cccc(c1)C(=O)[O-]", printStereoWarnings=False) +smiles(R"n1c(c(ccc1)C(=O)[O-])C(=O)[O-]", printStereoWarnings=False) +smiles(R"n1c(cccc1C(=O)[O-])C(=O)[O-]", printStereoWarnings=False) +smiles(R"n1c(cccc1)O", printStereoWarnings=False) +smiles(R"N1C=C(CCC1=O)C(=O)[O-]", printStereoWarnings=False) +smiles(R"n1(ccc(c(c1=O)C(=O)[O-])OC)C", printStereoWarnings=False) +smiles(R"n1c(ccc(c1)O)O", printStereoWarnings=False) +smiles(R"n1c(cccc1O)O", printStereoWarnings=False) +smiles(R"n1cc(c(cc1)O)O", printStereoWarnings=False) +smiles(R"n1c(c(ccc1O)O)O", printStereoWarnings=False) +smiles(R"N1=CCCC[C@H]1C(=O)[O-]", printStereoWarnings=False) +smiles(R"N1=C(C=CC[C@H]1C(=O)[O-])C(=O)[O-]", printStereoWarnings=False) +smiles(R"n1c(ccc(C(=O)CCC[NH2+]C)c1O)O", printStereoWarnings=False) +smiles(R"N1=CCC[C@@H]1C(=O)[O-]", printStereoWarnings=False) +smiles(R"N1=CCC[C@H]1C(=O)[O-]", printStereoWarnings=False) +smiles(R"n1cc(c(nc1C)N)C[NH3+]", printStereoWarnings=False) +smiles(R"N1C[C@@H]([NH2+]CC1)C(=O)[O-]", printStereoWarnings=False) +smiles(R"N1C[C@H]([NH2+]CC1)C(=O)[O-]", printStereoWarnings=False) +smiles(R"n1c(C(=O)[O-])ccc2c1cccc2", printStereoWarnings=False) +smiles(R"N1[C@H]2[C@H]3N4[C@H]5C[C@]2(c2ccccc12)[C@@H](C5[C@H](C3)[C@H](CC)[C@H]4O)OC(=O)C", printStereoWarnings=False) +smiles(R"N1[C@H]2[C@H]3N4[C@H]5C[C@]2(c2ccccc12)[C@@H]([C@H]5[C@H](C3)[C@H](CC)[C@H]4O)O", printStereoWarnings=False) +smiles(R"N1([C@H]2[C@H]3[NH+]4[C@H]5C[C@]2(c2ccccc12)[C@@H](C5[C@H](C3)[C@H](CC)[C@H]4O)O)C", printStereoWarnings=False) +smiles(R"N1([C@H]2[C@H]3[NH+]4[C@H]5C[C@]2(c2ccccc12)[C@@H](C5[C@H](C3)[C@H](CC)[C@H]4O)OC(=O)C)C", printStereoWarnings=False) +smiles(R"n1([C@H]2[C@@H]([C@@H]([C@H](O2)COP(=O)([O-])[O-])OP(=O)([O-])[O-])O)c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"n1([C@H]2[C@@H]([C@@H]([C@H](O2)COP(=O)(OS(=O)(=O)[O-])[O-])OP(=O)([O-])[O-])O)c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"n1([C@@H]2O[C@@H]([C@H](C2)O)COP(=O)([O-])[O-])c(=O)[nH]c(=O)cc1", printStereoWarnings=False) +smiles(R"n1([C@@H]2O[C@@H]([C@H](C2)O)COP(=O)(OP(=O)(OP(=O)([O-])[O-])[O-])[O-])c(=O)nc(cc1)N", printStereoWarnings=False) +smiles(R"n1([C@@H]2O[C@@H]([C@H](C2)O)COP(=O)(OP(=O)(OP(=O)([O-])[O-])[O-])[O-])c(=O)[nH]c(=O)cc1", printStereoWarnings=False) +smiles(R"n1([C@@H]2O[C@@H]([C@H]([C@H]2O)O)COP(=O)([O-])[O-])c(c(nc1)C(=O)N)N", printStereoWarnings=False) +smiles(R"n1([C@@H]2O[C@@H]([C@H]([C@H]2O)O)COP(=O)([O-])[O-])c(c(nc1)C(=O)N)NC=NCC(=O)[C@@H]([C@@H](COP(=O)([O-])[O-])O)O", printStereoWarnings=False) +smiles(R"n1([C@@H]2O[C@@H]([C@H]([C@H]2O)O)COP(=O)([O-])[O-])c(c(nc1)C(=O)N)/N=C/N[C@@H]1O[C@@H]([C@H]([C@H]1O)O)COP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"N1([C@@H](c2c(CC1)cc(c(c2)O)OC)Cc1ccc(cc1)O)C", printStereoWarnings=False) +smiles(R"N1[C@H](C(=O)NC1=O)CC(=O)[O-]", printStereoWarnings=False) +smiles(R"n1(cnc2c(c1=N)ncn2[C@H]1[C@@H]([C@@H]([C@H](O1)CO)O)O)C", printStereoWarnings=False) +smiles(R"n1cnc2c(c1N)ncn2[C@@H]1O[C@H]2[C@H]([C@H]1O)OP(=O)(OC2)[O-]", printStereoWarnings=False) +smiles(R"n1(cncc1)C(=O)C", printStereoWarnings=False) +smiles(R"n1cncc2NCCNc12", printStereoWarnings=False) +smiles(R"n1c(nc(c2nccnc12)O)O", printStereoWarnings=False) +smiles(R"n1c(nc(nc1NC(C)C)O)O", printStereoWarnings=False) +smiles(R"n1c(nc(nc1N)N)N", printStereoWarnings=False) +smiles(R"n1c(nc(nc1N)N)O", printStereoWarnings=False) +smiles(R"n1c(nc(nc1O)O)N", printStereoWarnings=False) +smiles(R"n1c(nc(nc1O)O)O", printStereoWarnings=False) +smiles(R"n1c[nH]cc1CCC(=O)[O-]", printStereoWarnings=False) +smiles(R"n1c([nH]cc1C[C@@H](C(=O)[O-])[NH3+])CC[C@H](C(=O)[O-])[N+](C)(C)C", printStereoWarnings=False) +smiles(R"n1c([nH]cc1C[C@H]([NH3+])C(=O)[O-])CC[C@H](C(=O)N)[N+](C)(C)C", printStereoWarnings=False) +smiles(R"n1c([nH]c(=O)c2c(c[nH]c12)C[NH3+])N", printStereoWarnings=False) +smiles(R"n1c([nH]c(=O)c2c(c[nH]c12)C#N)N", printStereoWarnings=False) +smiles(R"N1C(=O)C=CC1=O", printStereoWarnings=False) +smiles(R"N1(C(=O)C=CC1=O)CC", printStereoWarnings=False) +smiles(R"n1(c(=O)c(c(cn1)N)Cl)C(=O)/C(=C/C=C/C(=O)[O-])/[O-]", printStereoWarnings=False) +smiles(R"N1(C(=O)[C@H](C1)NC(=O)/C(=N\O)/c1ccc(cc1)O)[C@@H](C(=O)[O-])c1ccc(cc1)O", printStereoWarnings=False) +smiles(R"n1(c(=O)nc(cc1)N)[C@H]1[C@@H]([C@@H]([C@H](O1)COP(=O)(OP(=O)(OC[C@H]([C@@](CO)(C)O)O)[O-])[O-])O)O", printStereoWarnings=False) +smiles(R"n1(c(=O)nc(cc1)N)[C@@H]1O[C@@H]([C@H]([C@H]1O)O)CO", printStereoWarnings=False) +smiles(R"n1(c(=O)nc(N)cc1)[C@@H]1O[C@@H]([C@H](C1)O)CO", printStereoWarnings=False) +smiles(R"N1(C(=O)NC(=O)C1)C", printStereoWarnings=False) +smiles(R"n1(c(=O)n(c(=O)c2c1[nH]c(=O)n2C)C)C", printStereoWarnings=False) +smiles(R"n1(c(=O)[nH]c(=O)cc1)[C@@H]1O[C@@H]([C@H](C1)O)CO", printStereoWarnings=False) +smiles(R"[n+]1(c(sc(c1C)CCOP(=O)(OP(=O)([O-])[O-])[O-])C(C)O)Cc1c(nc(nc1)C)N", printStereoWarnings=False) +smiles(R"[n+]1([O-])ccccc1", printStereoWarnings=False) +smiles(R"[Na+]", printStereoWarnings=False) +smiles(R"N#C", printStereoWarnings=False) +smiles(R"N=c1c2c(ncn1[C@@H]1O[C@@H]([C@H]([C@H]1O)O)COP(=O)([O-])[O-])n(cn2)[C@@H]1O[C@@H]([C@@H](O)[C@H]1O)COP(=O)([O-])OP(=O)([O-])OP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"Nc1nc2NCC(=Nc2c(=O)[nH]1)[C@H](O)[C@@H](O)CO", printStereoWarnings=False) +smiles(R"Nc1nc2NCC(Nc2c(=O)[nH]1)[C@H](O)[C@@H](O)CO", printStereoWarnings=False) +smiles(R"Nc1nc2NCC(=Nc2c(=O)[nH]1)[C@H](O)[C@@H](O)COP(=O)(OP(=O)(OP(=O)([O-])[O-])[O-])[O-]", printStereoWarnings=False) +smiles(R"Nc1ncnc2c1ncn2[C@@H]1O[C@H](CCl)[C@@H](O)[C@H]1O", printStereoWarnings=False) +smiles(R"Nc1ncnc2c1ncn2[C@@H]1O[C@H](CF)[C@@H](O)[C@H]1O", printStereoWarnings=False) +smiles(R"Nc1ncnc2c1ncn2[C@@H]1O[C@@H]([C@@H](O)C1)COP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"Nc1ncnc2c1ncn2[C@@H]1O[C@@H]([C@@H](O)C1)COP(=O)([O-])OP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"Nc1ncnc2c1ncn2[C@@H]1O[C@@H]([C@@H](O)C1)COP(=O)([O-])OP(=O)([O-])OP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"Nc1ncnc2c1ncn2[C@@H]1O[C@@H]([C@@H](O)[C@H]1O)COP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"N(c1ncnc2c1ncn2[C@@H]1O[C@@H]([C@@H](O)[C@H]1O)COP(=O)([O-])[O-])CC=C(C)C", printStereoWarnings=False) +smiles(R"Nc1ncnc2c1ncn2[C@@H]1O[C@@H]([C@@H](O)[C@H]1O)COP(=O)([O-])OC(=O)CCCCC1CCSS1", printStereoWarnings=False) +smiles(R"Nc1ncnc2c1ncn2[C@@H]1O[C@@H]([C@@H](O)[C@H]1O)COP(=O)([O-])OC(=O)N", printStereoWarnings=False) +smiles(R"Nc1ncnc2c1ncn2[C@@H]1O[C@@H]([C@@H](O)[C@H]1O)COP(=O)([O-])OP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"N(c1ncnc2c1ncn2[C@@H]1O[C@@H]([C@@H](O)[C@H]1O)COP(=O)([O-])OP(=O)([O-])[O-])CC=C(C)C", printStereoWarnings=False) +smiles(R"Nc1ncnc2c1ncn2[C@@H]1O[C@@H]([C@@H](O)[C@H]1O)COP(=O)([O-])OP(=O)([O-])OP(=O)(OCCc1sc[n+](Cc2cnc(nc2N)C)c1C)[O-]", printStereoWarnings=False) +smiles(R"Nc1ncnc2c1ncn2[C@@H]1O[C@@H]([C@@H](O)[C@H]1O)COP(=O)([O-])OP(=O)([O-])OP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"N(c1ncnc2c1ncn2[C@@H]1O[C@@H]([C@@H](O)[C@H]1O)COP(=O)([O-])OP(=O)([O-])OP(=O)([O-])[O-])CC=C(C)C", printStereoWarnings=False) +smiles(R"Nc1ncnc2c1ncn2[C@@H]1O[C@H](CO)[C@@H](O)C1", printStereoWarnings=False) +smiles(R"Nc1ncnc2c1ncn2[C@@H]1O[C@H](C=O)[C@@H](O)[C@H]1O", printStereoWarnings=False) +smiles(R"Nc1ncnc2c1ncn2[C@@H]1O[C@H](CO)[C@@H](O)[C@H]1O", printStereoWarnings=False) +smiles(R"Nc1ncnc2c1ncn2[C@@H]1O[C@H](C(=O)[O-])[C@@H](O)[C@H]1O", printStereoWarnings=False) +smiles(R"Nc1ncnc2c1[nH]c(=O)n2[C@@H]1O[C@@H]([C@@H](O)C1)COP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"Nc1ncnc2c1[nH]c(=O)n2[C@@H]1O[C@@H]([C@@H](O)C1)COP(=O)([O-])OP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"Nc1nc(=O)n(cc1)[C@@H]1O[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])CO", printStereoWarnings=False) +smiles(R"Nc1nc(=O)[nH]c2c1ncn2[C@@H]1O[C@@H]([C@@H](O)C1)COP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"Nc1nc(=O)[nH]c2c1ncn2[C@@H]1O[C@@H]([C@@H](O)C1)COP(=O)([O-])OP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"Nc1nc(=O)[nH]c2c1ncn2[C@@H]1O[C@@H]([C@@H](O)C1)COP(=O)([O-])OP(=O)([O-])OP(=O)(O)[O-]", printStereoWarnings=False) +smiles(R"[N+](#C)C1CCCCC1", printStereoWarnings=False) +smiles(R"N#CCc1ccccc1", printStereoWarnings=False) +smiles(R"N/C(=C(/C=C\C=O)\C(=O)[O-])/C(=O)[O-]", printStereoWarnings=False) +smiles(R"N(CCCC[NH3+])C(=O)CC[C@@H](C(=O)[O-])[NH3+]", printStereoWarnings=False) +smiles(R"[N+](C)(C)(C)[O-]", printStereoWarnings=False) +smiles(R"N(C)(C)C=O", printStereoWarnings=False) +smiles(R"N/C=C(\C(=O)OO)/C", printStereoWarnings=False) +smiles(R"[N+](CCO)(C)(C)C", printStereoWarnings=False) +smiles(R"[N+](CC(=O)CC(=O)[O-])(C)(C)C", printStereoWarnings=False) +smiles(R"[N+](=CC)([O-])[O-]", printStereoWarnings=False) +smiles(R"N=CC(=O)[O-]", printStereoWarnings=False) +smiles(R"[N+](CC(=O)[O-])(C)(C)C", printStereoWarnings=False) +smiles(R"N(CC(=O)[O-])C(=O)c1ccccc1", printStereoWarnings=False) +smiles(R"N([C@H]1[C@H](O[C@@H]([C@H]([C@@H]1O)O)CO)O[C@H]1[C@H](O)[C@@H](O)[C@@H]([C@H]([C@H]1O)O)O)C(=O)C", printStereoWarnings=False) +smiles(R"N([C@H]1[C@H](O[C@@H]([C@H]([C@@H]1O)O)CO)O[C@H]1[C@H](O)[C@@H](O)[C@@H]([C@H]([C@H]1O)OP(=O)([O-])[O-])O)C(=O)C", printStereoWarnings=False) +smiles(R"N([C@H](C(=O)[O-])CC(C)C)C(=O)OCc1ccccc1", printStereoWarnings=False) +smiles(R"N(C(=[NH2+])N)CCCC=O", printStereoWarnings=False) +smiles(R"NC(=[NH2+])NCCC(C(=O)C(=O)[O-])C", printStereoWarnings=False) +smiles(R"NC(=[NH2+])NCCOP(=O)([O-])OC", printStereoWarnings=False) +smiles(R"N(C(=[NH2+])NCCS(=O)(=O)[O-])P(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"N(C(=[NH2+])N)[C@H]1[C@@H]([C@H]([C@@H]([C@H]([C@@H]1O)[NH3+])O)O)O", printStereoWarnings=False) +smiles(R"N(C(=O)c1c(c(ccc1)O)O)CC(=O)N[C@@H]1C(=O)O[C@@H]([C@@H](C(=O)O[C@@H]([C@@H](C(=O)O[C@@H]1C)NC(=O)CNC(=O)c1c(c(ccc1)O)O)C)NC(=O)CNC(=O)c1c(c(ccc1)O)O)C", printStereoWarnings=False) +smiles(R"NC(=O)CCCC[C@H](CCS)S", printStereoWarnings=False) +smiles(R"NC(=O)CC[C@@H](C(=O)[O-])[NH3+]", printStereoWarnings=False) +smiles(R"N(C(=O)CC[C@H](C(=O)[O-])[NH3+])[C@@H](C(=O)[O-])CCC(=O)[O-]", printStereoWarnings=False) +smiles(R"N(C(=O)C)[C@@H](CC(=O)[O-])C(=O)[O-]", printStereoWarnings=False) +smiles(R"N(C(=O)[C@@H](C(CO)(C)C)O)CCC(=O)[O-]", printStereoWarnings=False) +smiles(R"N(C(=O)[C@@H](C(COP(=O)([O-])[O-])(C)C)O)CCC(=O)[O-]", printStereoWarnings=False) +smiles(R"NC(=O)C(=O)[O-]", printStereoWarnings=False) +smiles(R"NC(=O)NCCCC[NH3+]", printStereoWarnings=False) +smiles(R"N(C(=O)N)/C=C(\C(=O)OO)/C", printStereoWarnings=False) +smiles(R"NC(=O)NC[NH3+]", printStereoWarnings=False) +smiles(R"[N@H+]12[C@H]([C@@H](c3c4c(ncc3)ccc(c4)OC)O)C[C@H]([C@H](C1)C=C)CC2", printStereoWarnings=False) +smiles(R"[nH]1c2c(c3c1cccc3)cccc2", printStereoWarnings=False) +smiles(R"[nH]1c2[C@H]3N4[C@@H](Cc2c2ccccc12)C([C@H](C3)/C(=C\C)/C4)C=O", printStereoWarnings=False) +smiles(R"[nH]1cc(c2c1cccc2)[C@H](O)[C@H](O)COP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"[nH]1cc(c2c1ccc(c2)O)CC[NH3+]", printStereoWarnings=False) +smiles(R"[nH]1c(c(c2ccccc12)O)O", printStereoWarnings=False) +smiles(R"[NH+]1=CCCC1", printStereoWarnings=False) +smiles(R"[nH]1c(c(c(c1)CCC(=O)[O-])CC(=O)[O-])C[NH3+]", printStereoWarnings=False) +smiles(R"[nH]1c(c(c(c1C(=O)[O-])c1c2c([nH]c1)c(ccc2)Cl)c1c2c([nH]c1)c(ccc2)Cl)C(=O)[O-]", printStereoWarnings=False) +smiles(R"[nH]1c(C[C@@H](C(=O)[O-])[NH3+])cnc1CCC([NH3+])C(=O)[O-]", printStereoWarnings=False) +smiles(R"[nH]1cc(nc1)CC=O", printStereoWarnings=False) +smiles(R"[NH+]1([C@H](c2c(CC1)cc(c(c2)O)OC)Cc1ccc(cc1)O)C", printStereoWarnings=False) +smiles(R"[NH+]1([C@H](c2c(CC1)cc(c(c2)O)OC)Cc1ccc(c(c1)O)OC)C", printStereoWarnings=False) +smiles(R"[NH+]1([C@@H](c2c(CC1)cc(c(c2)O)OC)Cc1ccc(OC)c(c1)O)C", printStereoWarnings=False) +smiles(R"[nH]1c(nc2c(c1=O)N[C@H](CN2)[C@H]([C@@H](O)C)O)N", printStereoWarnings=False) +smiles(R"[nH]1c(nc2c(c1=O)N([C@H](CN2)CNc1ccc(cc1)C(=O)N[C@@H](CCC(=O)N[C@@H](CCC(=O)N[C@@H](CCC(=O)[O-])C(=O)[O-])C(=O)[O-])C(=O)[O-])C)N", printStereoWarnings=False) +smiles(R"[nH]1c(nc2c(c1=O)N[C@H](CN2)CNc1ccc(cc1)C(=O)N[C@@H](CCC(=O)N[C@@H](CCC(=O)N[C@@H](CCC(=O)[O-])C(=O)[O-])C(=O)[O-])C(=O)[O-])N", printStereoWarnings=False) +smiles(R"[nH]1cnc2c(c1=O)ncn2[C@H]1C[C@@H]([C@H](O1)CO)O", printStereoWarnings=False) +smiles(R"[nH]1c(nc2c(c1=O)ncn2[C@H]1C[C@@H]([C@H](O1)CO)O)N", printStereoWarnings=False) +smiles(R"[nH]1cnc2c(c1=O)ncn2[C@H]1C[C@@H]([C@H](O1)COP(=O)(OP(=O)([O-])[O-])[O-])O", printStereoWarnings=False) +smiles(R"[nH]1cnc2c(c1=O)ncn2[C@H]1C[C@@H]([C@H](O1)COP(=O)(OP(=O)(OP(=O)([O-])[O-])[O-])[O-])O", printStereoWarnings=False) +smiles(R"[nH]1c(nc2c(c1=O)[nH]c(=O)[nH]2)N", printStereoWarnings=False) +smiles(R"[nH]1cncc1", printStereoWarnings=False) +smiles(R"[nH]1cnc(c1)N", printStereoWarnings=False) +smiles(R"[NH+]1=C(NCC[C@H]1C(=O)[O-])C", printStereoWarnings=False) +smiles(R"[nH]1c(=O)c2c(nc1N)NCC(=N2)[C@H](O)[C@@H](COP(=O)(OP(=O)(OP(=O)([O-])[O-])[O-])[O-])O", printStereoWarnings=False) +smiles(R"[nH]1c(=O)c2c(nc1N)n([C@@H]1O[C@H]3[C@H]([C@H]1O)OP(=O)(OC3)[O-])cn2", printStereoWarnings=False) +smiles(R"[nH]1c(=O)[nH]c2c(c1=O)ncn2[C@@H]1O[C@H](CO)[C@H]([C@H]1O)O", printStereoWarnings=False) +smiles(R"[nH]1c(=O)[nH]c2c(c1=O)[n+](cn2[C@@H]1O[C@H](CO)[C@H]([C@H]1O)O)C", printStereoWarnings=False) +smiles(R"[nH]1c(=O)[nH]c(=O)cc1", printStereoWarnings=False) +smiles(R"[nH]1c(=O)[nH]c(=O)c(c1)C(=O)[O-]", printStereoWarnings=False) +smiles(R"[nH]1nccc1", printStereoWarnings=False) +smiles(R"[NH2+]1C(c2c(CC1)cc(c(c2)O)O)Cc1ccc(cc1)O", printStereoWarnings=False) +smiles(R"[NH2+]1C(c2c(CC1)cc(c(c2)O)OC)Cc1ccc(cc1)O", printStereoWarnings=False) +smiles(R"[NH2+]1CCCCNC(=O)CNC(=O)[C@@H](NC(=O)CC[C@H]([NH3+])C(=O)[O-])CSSC[C@@H](C(=O)NCC(=O)NCCC1)NC(=O)CC[C@@H](C(=O)[O-])[NH3+]", printStereoWarnings=False) +smiles(R"[NH2+]1C[C@@H](NCC1)C(=O)N", printStereoWarnings=False) +smiles(R"[NH2+]1C[C@H](NCC1)C(=O)N", printStereoWarnings=False) +smiles(R"[NH2+]1C[C@@H](NCC1)C(=O)NC(C)(C)C", printStereoWarnings=False) +smiles(R"[NH2+]1[C@H](c2c(CC1)cc(c(c2)O)O)Cc1ccc(cc1)O", printStereoWarnings=False) +smiles(R"[NH2+](CCCCNC(=O)CNC(=O)[C@@H](NC(=O)CC[C@H]([NH3+])C(=O)[O-])CS)CCCNC(=O)CNC(=O)[C@@H](NC(=O)CC[C@@H](C(=O)[O-])[NH3+])CS", printStereoWarnings=False) +smiles(R"[NH2+](CCC[NH3+])CCCCNC(=[NH2+])N", printStereoWarnings=False) +smiles(R"[NH2+](CCC[NH3+])CCC[NH3+]", printStereoWarnings=False) +smiles(R"[NH2+]=CNCC(=O)[O-]", printStereoWarnings=False) +smiles(R"[NH2+]=C(N)N", printStereoWarnings=False) +smiles(R"[NH3+]C", printStereoWarnings=False) +smiles(R"[NH3+]CCc1ccc(cc1)O", printStereoWarnings=False) +smiles(R"[NH3+]CCCCCC(=O)NCCCCCC(=O)[O-]", printStereoWarnings=False) +smiles(R"[NH3+]CCCC[C@@H](C(=O)OC)NC(=O)C", printStereoWarnings=False) +smiles(R"[NH3+]CCCCC[NH2+]CCC[NH3+]", printStereoWarnings=False) +smiles(R"[NH3+]CCC[C@@H](CC(=O)N[C@@H]1C(=O)N[C@H](C(=O)N[C@H](C(=O)N/C(=C\NC(=O)N)/C(=O)N[C@H](C(=O)NC1)[C@@H]1NC(=[NH2+])N[C@H](C1)O)CO)CO)[NH3+]", printStereoWarnings=False) +smiles(R"[NH3+]CCC[C@@H](CC(=O)N[C@@H]1C(=O)N[C@H](C(=O)N[C@H](C(=O)N/C(=C\NC(=O)N)/C(=O)N[C@H](C(=O)NC1)[C@@H]1NC(=[NH2+])N[C@H](C1)O)CO)COP(=O)([O-])[O-])[NH3+]", printStereoWarnings=False) +smiles(R"[NH3+]CCCC[NH2+]CCCC[NH3+]", printStereoWarnings=False) +smiles(R"[NH3+]CCCC[NH3+]", printStereoWarnings=False) +smiles(R"[NH3+]C(CCC[NH3+])C(=O)[O-]", printStereoWarnings=False) +smiles(R"[NH3+]CC(CC(=O)[O-])O", printStereoWarnings=False) +smiles(R"[NH3+]CC[C@H]([C@H](N1CCC1=O)C(=O)[O-])O", printStereoWarnings=False) +smiles(R"[NH3+]CCC[NH2+]CCCC[NH2+]CCC[NH3+]", printStereoWarnings=False) +smiles(R"[NH3+]CCC[NH2+]CCCC[NH3+]", printStereoWarnings=False) +smiles(R"[NH3+]CCC[NH2+]CCCC=O", printStereoWarnings=False) +smiles(R"[NH3+]CCC[NH2+]CC[C@@H](C(=O)[O-])[NH3+]", printStereoWarnings=False) +smiles(R"[NH3+]CCC(=O)N", printStereoWarnings=False) +smiles(R"[NH3+]CCC(=O)[O-]", printStereoWarnings=False) +smiles(R"[NH3+]C(C(=O)CCCCCC(=O)[O-])C", printStereoWarnings=False) +smiles(R"[NH3+]CCS(=O)(=O)[O-]", printStereoWarnings=False) +smiles(R"[NH3+][C@H]1[C@H](O[C@@H]([C@H]([C@@H]1O)O)CO)O[C@H]1[C@H](O)[C@@H](O)[C@@H]([C@H]([C@H]1O)O)O", printStereoWarnings=False) +smiles(R"[NH3+][C@@H](Cc1c[nH]c2c1cc(cc2)O)C(=O)[O-]", printStereoWarnings=False) +smiles(R"[NH3+][C@@H](CC(=C)C(=O)[O-])C(=O)[O-]", printStereoWarnings=False) +smiles(R"[NH3+][C@@H](CCC[NH3+])C(=O)[O-]", printStereoWarnings=False) +smiles(R"[NH3+][C@@H](CCC(=O)N[C@@H](CSC(=O)CCC(=O)[O-])C(=O)NCC(=O)[O-])C(=O)[O-]", printStereoWarnings=False) +smiles(R"[NH3+][C@@H](CCC(=O)N[C@@H](CS)C(=O)NCC(=O)[O-])C(=O)[O-]", printStereoWarnings=False) +smiles(R"[NH3+][C@@H](CCC(=O)N[C@@H](CSSC[C@H](NC(=O)CC[C@H]([NH3+])C(=O)[O-])C(=O)NCC(=O)[O-])C(=O)NCC(=O)[O-])C(=O)[O-]", printStereoWarnings=False) +smiles(R"[NH3+][C@@H](CCC(=O)N[C@@H](CS[Se]SC[C@H](NC(=O)CC[C@H]([NH3+])C(=O)[O-])C(=O)NCC(=O)[O-])C(=O)NCC(=O)[O-])C(=O)[O-]", printStereoWarnings=False) +smiles(R"[NH3+][C@@H](CCOP(=O)([O-])[O-])C(=O)[O-]", printStereoWarnings=False) +smiles(R"[NH3+][C@H](COP(=O)([O-])[O-])Cc1c[nH]cn1", printStereoWarnings=False) +smiles(R"[NH4+]", printStereoWarnings=False) +smiles(R"[NH+]([C@@H](Cc1c[nH]cn1)C(=O)[O-])(C)C", printStereoWarnings=False) +smiles(R"[Ni+2]", printStereoWarnings=False) +smiles(R"N#N", printStereoWarnings=False) +smiles(R"NN", printStereoWarnings=False) +smiles(R"N#N=O", printStereoWarnings=False) +smiles(R"N(=N\O)/O", printStereoWarnings=False) +smiles(R"[N]=O", printStereoWarnings=False) +smiles(R"NO", printStereoWarnings=False) +smiles(R"[N+](=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"O", printStereoWarnings=False) +smiles(R"O1C2(C1(C(=O)c1c(cccc1)C2=O)C/C=C(/CCC[C@@H](CCC[C@@H](CCCC(C)C)C)C)\C)C", printStereoWarnings=False) +smiles(R"O1CC1C", printStereoWarnings=False) +smiles(R"o1ccc2cc3ccc(=O)oc3c(c12)O", printStereoWarnings=False) +smiles(R"o1c(ccc1)C(=O)[O-]", printStereoWarnings=False) +smiles(R"O1C(C(C(C(C1O)O)O)O)CO", printStereoWarnings=False) +smiles(R"O1/C(=C\CCCC(=O)[O-])/C[C@H]2[C@@H]1C[C@H]([C@@H]2/C=C/[C@H](CCCCC)O)O", printStereoWarnings=False) +smiles(R"O1/C(=C\CCCC(=O)[O-])/C[C@H]2[C@@H]1C[C@H]([C@@H]2/C=C/C(=O)CCCCC)O", printStereoWarnings=False) +smiles(R"O1C(C(C(C([C@H]1OP(=O)([O-])[O-])O)O)O)CO", printStereoWarnings=False) +smiles(R"O1CC([C@H](C1=O)O)(C)C", printStereoWarnings=False) +smiles(R"O1CC(C(=O)C1=O)(C)C", printStereoWarnings=False) +smiles(R"O1/C(=C\C(=O)C(=O)[O-])/C=CC1=O", printStereoWarnings=False) +smiles(R"O1C(CC(=O)[O-])C=CC1=O", printStereoWarnings=False) +smiles(R"O1/C(=C\C(=O)[O-])/C=C(C1=O)Cl", printStereoWarnings=False) +smiles(R"O1C=C(C(=O)OC)[C@H]2CC[C@H](C)[C@H]2[C@@H]1O[C@H]1[C@H](O)[C@@H](O)[C@H](O)[C@H](O1)CO", printStereoWarnings=False) +smiles(R"O1C=C(C(=O)OC)[C@H]2C[C@@H]([C@H](C)[C@H]2[C@@H]1O[C@H]1[C@H](O)[C@@H](O)[C@H](O)[C@H](O1)CO)O", printStereoWarnings=False) +smiles(R"O1C[C@@H]1C", printStereoWarnings=False) +smiles(R"O1C[C@H]1C", printStereoWarnings=False) +smiles(R"O1C([C@@H]1CC/C(=C/CC/C(=C/CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)/C)/C)(C)C", printStereoWarnings=False) +smiles(R"O1C([C@@H]([C@@H]([C@H]1CO)O)O)O", printStereoWarnings=False) +smiles(R"O1C([C@@H]([C@@H]([C@H]1COP(=O)(OP(=O)(OC[C@@H]1[C@H]([C@H]([C@H](n2c3ncnc(c3nc2)N)O1)O)O)[O-])[O-])O)O)O", printStereoWarnings=False) +smiles(R"O1C[C@@H]([C@@H]([C@H](C1O)O)O)O", printStereoWarnings=False) +smiles(R"O1C([C@@H]([C@H]([C@@H]([C@@H]1C(=O)[O-])O)O)O)OP(=O)(OP(=O)(OC[C@H]1O[C@@H](n2ccc(=O)[nH]c2=O)[C@@H]([C@@H]1O)O)[O-])[O-]", printStereoWarnings=False) +smiles(R"O1C([C@H]([C@@H]([C@@H]([C@@H]1C)O)O)O)OP(=O)(OP(=O)(OC[C@@H]1[C@H]([C@H]([C@H](n2c3nc([nH]c(=O)c3nc2)N)O1)O)O)[O-])[O-]", printStereoWarnings=False) +smiles(R"O1C[C@@H]([C@@H]([C@H]([C@@H]1OP(=O)(OC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)/C)/C)/C)/C)/C)/C)/C)/C)[O-])O)O)NC=O", printStereoWarnings=False) +smiles(R"O1C[C@@H]([C@@H]([C@H]([C@@H]1OP(=O)([O-])OC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)\C)\C)\C)\C)\C)\C)\C)\C)O)O)[NH3+]", printStereoWarnings=False) +smiles(R"O1C[C@@H]([C@@H]([C@H]([C@@H]1OP(=O)([O-])OC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)/C)/C)/C)/C)/C)/C)/C)/C)O)O)[NH3+]", printStereoWarnings=False) +smiles(R"O1C([C@H](O)[C@H]([C@H](O)[C@H]1CO)O)OC(=O)/C=C/c1cc(c(O)c(c1)OC)OC", printStereoWarnings=False) +smiles(R"O1C(C(=O)C=CC1)(CO)O", printStereoWarnings=False) +smiles(R"O1C(C(=O)N(c2c1cc(cc2)OC)O)O", printStereoWarnings=False) +smiles(R"O1[C@@H]2[C@]([C@@H]3C(=C4CC(=O)O[C@H]([C@@]4(CC3)C)c3ccoc3)C)([C@H](C1(C)C)CC(=O)[O-])COC(=O)C2", printStereoWarnings=False) +smiles(R"O1[C@@H](C(C(C(C1O)O)O)O)COP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"O1[C@@H](CC(=O)[O-])C=CC1=O", printStereoWarnings=False) +smiles(R"O1[C@@H]([C@H](CC1OP(=O)([O-])[O-])O)CO", printStereoWarnings=False) +smiles(R"O1[C@@H]([C@H](/C=C/C=C/C(=O)[C@@H](C[C@@H]([C@@H]([C@H](/C=C/C1=O)C)O[C@@H]1O[C@@H](C[C@@H]([C@H]1O)[NH+](C)C)C)C)C)CO[C@H]1[C@@H]([C@@H]([C@@H]([C@H](O1)C)O)OC)OC)CC", printStereoWarnings=False) +smiles(R"O1[C@@H]([C@H](/C=C/C=C/C(=O)[C@@H](C[C@@H]([C@@H]([C@H](/C=C/C1=O)C)O[C@@H]1O[C@@H](C[C@@H]([C@H]1O)[NH+](C)C)C)C)C)CO[C@H]1[C@@H]([C@@H]([C@@H]([C@H](O1)C)O)O)O)CC", printStereoWarnings=False) +smiles(R"O1[C@@H]([C@H](/C=C/C=C/C(=O)[C@@H](C[C@@H]([C@@H]([C@H](/C=C/C1=O)C)O[C@@H]1O[C@@H](C[C@@H]([C@H]1O)[NH+](C)C)C)C)C)CO[C@H]1[C@@H]([C@@H]([C@@H]([C@H](O1)C)O)O)OC)CC", printStereoWarnings=False) +smiles(R"O1[C@@H]([C@H](C[C@H]1OP(=O)([O-])[O-])O)CO", printStereoWarnings=False) +smiles(R"O1[C@@H]([C@H]([C@H](C1O)O)O)CCC(=O)c1cc(ccc1)C(=O)[O-]", printStereoWarnings=False) +smiles(R"O1[C@H]([C@H]([C@H](C[C@]1(C(=O)[O-])O)O)NC(=O)C)[C@H]([C@H](C)O)NC(=O)C", printStereoWarnings=False) +smiles(R"O1[C@H]([C@@H]([C@H](C[C@]1(C(=O)[O-])O)O)NC(=O)C)[C@@H]([C@@H](CO)O)O", printStereoWarnings=False) +smiles(R"O1[C@H]([C@@H]([C@H](C[C@@]1(C(=O)[O-])O)O)NC(=O)C)[C@@H]([C@@H](CO)O)O", printStereoWarnings=False) +smiles(R"O1[C@H]([C@H]([C@H](C[C@]1(C(=O)[O-])OP(=O)([O-])OC[C@H]1O[C@@H](n2ccc(nc2=O)N)[C@@H]([C@@H]1O)O)O)NC(=O)C)[C@H]([C@H](C)O)NC(=O)C", printStereoWarnings=False) +smiles(R"O1[C@H]([C@@H]([C@H](C[C@@]1(O)C(=O)[O-])O)NC(=O)C)[C@@H]([C@@H](C)O)NC(=O)C", printStereoWarnings=False) +smiles(R"O1[C@H]([C@@H]([C@@H]([C@H]1[C@H](O)CO)O)O)O", printStereoWarnings=False) +smiles(R"O1[C@H]([C@@H]([C@@H]([C@H]1CO)O)O)O", printStereoWarnings=False) +smiles(R"O1[C@@H]([C@@H]([C@@H]([C@H]1C)O)O)OP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"O1[C@H]([C@@H]([C@@H]([C@H]1COP(=O)([O-])[O-])O)O)c1ccc(cc1)N", printStereoWarnings=False) +smiles(R"O1[C@@H]([C@@H]([C@@H]([C@H]1COP(=O)([O-])[O-])O)O)OP(=O)([O-])OP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"O1[C@@H]([C@@H]([C@@H]([C@H]1COP(=O)(OP(=O)(OP(=O)([O-])[O-])[O-])[O-])O)O)O[C@H]1[C@@H](O[C@@H]([C@H]1O)COP(=O)(OP(=O)(OCC(C)(C)[C@H](C(=O)NCCC(=O)NCCS)O)[O-])[O-])n1c2c(nc1)c(ncn2)N", printStereoWarnings=False) +smiles(R"O1[C@@H]([C@@H]([C@@H]([C@H]1CSC)O)O)OP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"O1[C@@H]([C@H]([C@H]([C@H]1n1c2c(cc(c(c2)C)C)nc1)O)O)CO", printStereoWarnings=False) +smiles(R"O1[C@@H]([C@H]([C@H]([C@H]1n1c2c(cc(c(c2)C)C)nc1)O)O)COP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"O1[C@@H]([C@H]([C@H]([C@@H]1n1c2c(nc1)c(ncn2)N)O)O)CCC(=O)c1cc(ccc1)C(=O)[O-]", printStereoWarnings=False) +smiles(R"O1[C@@H]([C@H]([C@H]([C@@H]1n1c2c(nc1)c(=O)[nH]cn2)O)O)CCC(=O)c1cc(ccc1)C(=O)[O-]", printStereoWarnings=False) +smiles(R"O1[C@@H]([C@H]([C@H]([C@@H]1[n+]1cccc(c1)C(=O)[O-])O)O)CO", printStereoWarnings=False) +smiles(R"O1[C@H]([C@@H]([C@H]([C@H]1O)O[C@H]1O[C@H]([C@@H]([C@H]1O)O)CO)O)CO", printStereoWarnings=False) +smiles(R"O1[C@H]([C@@H]([C@H]([C@H]1O)O)O)CO", printStereoWarnings=False) +smiles(R"O1[C@@H]([C@@H]([C@H]([C@H](C1)NC=O)O)O)OP(=O)(OP(=O)([O-])OC[C@H]1O[C@H]([C@@H]([C@@H]1O)O)n1c(=O)[nH]c(=O)cc1)[O-]", printStereoWarnings=False) +smiles(R"O1[C@@H]([C@@H]([C@H]([C@H](C1)[NH3+])O)O)OP(=O)(OP(=O)([O-])OC[C@H]1O[C@H]([C@@H]([C@@H]1O)O)n1c(=O)[nH]c(=O)cc1)[O-]", printStereoWarnings=False) +smiles(R"O1[C@@H]([C@@H]([C@@H]([C@H](C1O)O)O)O)C", printStereoWarnings=False) +smiles(R"O1[C@H]([C@H]([C@H]([C@@H](C1O)O)O)O)C", printStereoWarnings=False) +smiles(R"O1[C@@H]([C@H]([C@@H]([C@H](C1O)O)O)O)C(=O)[O-]", printStereoWarnings=False) +smiles(R"O1[C@@H]([C@@H]([C@H]([C@@H]([C@H]1CO)O)O)[NH3+])O[C@H]1[C@H]2[C@@H]([C@@H]([C@H]([C@@H]1O)O)O)OP(=O)(O2)[O-]", printStereoWarnings=False) +smiles(R"O1[C@H]([C@@H]([C@H]([C@H]([C@H]1CO)O)O)O[C@@H]1O[C@H]([C@H]([C@H]([C@@H]1O)O)O)C)OC", printStereoWarnings=False) +smiles(R"O1[C@H]([C@@H]([C@H]([C@@H]([C@H]1CO)O)O)O)O[C@H]1[C@@H]([C@H](C(O[C@@H]1CO)O)O)O", printStereoWarnings=False) +smiles(R"O1[C@H]([C@@H]([C@H]([C@@H]([C@H]1CO)O)O)O)O[C@H]1[C@@H]([C@H](C(=O)O[C@@H]1CO)O)O", printStereoWarnings=False) +smiles(R"O1[C@@H]([C@H]([C@@H]([C@@H]([C@@H]1C)O)O)O)OP(=O)(OP(=O)(OC[C@@H]1[C@H]([C@H]([C@H](n2c3nc([nH]c(=O)c3nc2)N)O1)O)O)[O-])[O-]", printStereoWarnings=False) +smiles(R"O1[C@H]([C@@H]([C@H]([C@@H]([C@H]1COP(=O)([O-])[O-])O)O)O)O[C@H]1[C@@H]([C@H](C(O[C@@H]1CO)O)O)O", printStereoWarnings=False) +smiles(R"O1[C@@H]([C@H]([C@@H]([C@@H]([C@H]1O[C@@H](C(=O)[O-])CO)O)O)O)COP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"O1[C@@H]([C@H]([C@@H]([C@H]([C@@H]1OC(=O)c1cc(c(cc1)O)OC)O)O)O)CO", printStereoWarnings=False) +smiles(R"O1[C@@H]([C@H]([C@@H]([C@@H]([C@H]1O)NC(=O)C)O)NC(=O)C)C", printStereoWarnings=False) +smiles(R"O1[C@H]([C@H]([C@H]([C@@H]([C@@H]1O)O)O)O)C", printStereoWarnings=False) +smiles(R"O1[C@H]([C@H]([C@H]([C@@H]([C@H]1O)O)O)O)C", printStereoWarnings=False) +smiles(R"O1[C@H]([C@H]([C@H]([C@@H]([C@H]1OP(=O)([O-])[O-])O)O)O)C", printStereoWarnings=False) +smiles(R"O1[C@@H]([C@H]([C@@H]([C@H]([C@H]1OP(=O)(OP(=O)(OC[C@H]1O[C@H]([C@@H]([C@@H]1O)O)n1ccc(=O)[nH]c1=O)[O-])[O-])NC(=O)C)O)NC(=O)C)C", printStereoWarnings=False) +smiles(R"O1[C@H]([C@@H]([C@@H]([C@H]([C@H]1OP(=O)(OP(=O)(OC[C@H]1O[C@H]([C@@H]([C@@H]1O)O)n1ccc(=O)[nH]c1=O)[O-])[O-])NC(=O)C)O)[NH3+])C", printStereoWarnings=False) +smiles(R"O1[C@@H]([C@@H]([C@H](C(=O)C1)O)O)OP(=O)(OP(=O)([O-])OC[C@H]1O[C@H]([C@@H]([C@@H]1O)O)n1c(=O)[nH]c(=O)cc1)[O-]", printStereoWarnings=False) +smiles(R"O1[C@@H]([C@H]([C@@H](O)C1n1c[nH+]cc1N)O)COP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"O1[C@@H]([C@H]([C@@H](O)[C@@H]1n1cnc2c1nc[nH]c2=O)O)COP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"O1[C@H]([C@@H]([C@@H](O)[C@@H]([C@H]1CO)O)O)Oc1c2c([nH]c1)cccc2", printStereoWarnings=False) +smiles(R"O1[C@H]([C@@H]([C@@H](O)[C@@H]([C@H]1CO)O)O)OC(C)(C)C#N", printStereoWarnings=False) +smiles(R"O1[C@H]([C@@H]([C@@H](O)[C@@H]([C@H]1CO)O)O)OC(=O)c1cc(c(O)c(c1)O)O", printStereoWarnings=False) +smiles(R"O1[C@@H]([C@H]([C@H](O)[C@H]([C@@H]1S/C(=N/OS(=O)(=O)[O-])/Cc1ccccc1)O)O)CO", printStereoWarnings=False) +smiles(R"O1[C@@H]([C@H](C(=O)c2c1cc(cc2O)[O-])O)c1ccc(cc1)O", printStereoWarnings=False) +smiles(R"O1[C@H]([C@H](O)[C@@H]([C@H]1COP(=O)([O-])[O-])O)n1cnc(c1N)C(=O)NC(CC(=O)[O-])C(=O)[O-]", printStereoWarnings=False) +smiles(R"O1[C@H]([C@H](O)[C@H]([C@H]([C@H]1CO)O)O)OCC(O)CO", printStereoWarnings=False) +smiles(R"O1[C@@H]([C@H](O)[C@H]([C@H]([C@H]1C(=O)[O-])O)O)OP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"O1[C@@H]([C@H](O)[C@H]([C@H](O)[C@H]1C(=O)[O-])O)OP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"O1[C@@H]([C@@H](O)[C@@H](O)C1NC(=[NH2+])CNC=O)COP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"O1[C@@H]([C@@H](O)[C@@H](O)[C@H](O)[C@H]1[C@@H](CO)O)OP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"O1[C@H]([C@@H](O)[C@@H](O)[C@H](O)[C@H]1[C@@H](CO)O)OP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"O1[C@H](CO)[C@H]([C@@H](C1(O)COP(=O)([O-])[O-])O)O", printStereoWarnings=False) +smiles(R"O1[C@H](C(=O)[C@@H]([C@H]([C@H]1OP(=O)(OP(=O)(OC[C@H]1O[C@H]([C@@H]([C@@H]1O)O)n1ccc(=O)[nH]c1=O)[O-])[O-])NC(=O)C)O)C", printStereoWarnings=False) +smiles(R"O1[C@H](CO)[C@@H](C(=O)[C@H]([C@@H]1O)O)O", printStereoWarnings=False) +smiles(R"O1[C@H](CO)[C@@H](O)[C@@H]([C@@H](O)[C@@H]1S/C(=N/O)/Cc1ccccc1)O", printStereoWarnings=False) +smiles(R"O1[C@@H]([NH3+])[C@H](O)[C@H](O)[C@H]1COP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"O1[C@@H](O)[C@@H]([C@H]([C@H]([C@H]1CO)OS(=O)(=O)[O-])O[C@@H]1OC(=C[C@H](O)[C@H]1O)C(=O)[O-])NC(=O)C", printStereoWarnings=False) +smiles(R"O1[C@@H](O)[C@@H]([C@H]([C@H](O)[C@H]1COS(=O)(=O)[O-])OC1O[C@@H]([C@H]([C@@H]([C@H]1O)O)O)C(=O)[O-])NS(=O)(=O)[O-]", printStereoWarnings=False) +smiles(R"O1[C@@H](O)[C@@H]([C@@H](O)[C@@H]([C@H]1CO)O)NC(=O)C", printStereoWarnings=False) +smiles(R"O1[C@@H](O)[C@H](O)[C@H](O)[C@@H]1C(C)O", printStereoWarnings=False) +smiles(R"O1[C@@H](O)[C@@H](O)[C@@H](O)[C@H](O)[C@H]1[C@@H](COP(=O)([O-])[O-])O", printStereoWarnings=False) +smiles(R"O1[C@H](O)[C@@H](O)[C@@H](O)[C@H](O)[C@H]1[C@@H](COP(=O)([O-])[O-])O", printStereoWarnings=False) +smiles(R"O1[C@@H](O)[C@@H](O)[C@@H](O)[C@H](O)[C@H]1CO", printStereoWarnings=False) +smiles(R"O1[C@@H](OP(=O)([O-])[O-])[C@@H](O)[C@@H](O)[C@H](O)[C@H]1[C@@H](COP(=O)([O-])[O-])O", printStereoWarnings=False) +smiles(R"O1[C@H](OP(=O)([O-])[O-])[C@@H](O)[C@@H](O)[C@H](O)[C@H]1[C@@H](COP(=O)([O-])[O-])O", printStereoWarnings=False) +smiles(R"O1C([NH3+])[C@H](O)[C@H](O)[C@H]1COP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"O1C(=O)C=C([C-]1CC(=O)[O-])C(=O)[O-]", printStereoWarnings=False) +smiles(R"O1C(=O)C=C[C@]1(CC(=O)[O-])C(=O)[O-]", printStereoWarnings=False) +smiles(R"O1C(=O)C=CC1(CC(=O)[O-])C(=O)[O-]", printStereoWarnings=False) +smiles(R"O1C(=O)C=CC1(CC(=O)[O-])S(=O)(=O)[O-]", printStereoWarnings=False) +smiles(R"O1C(=O)C(CC1)[NH3+]", printStereoWarnings=False) +smiles(R"O1C(=O)C(=C([C@H]1CO)[O-])O", printStereoWarnings=False) +smiles(R"O1C(=O)C[C@@H]([C@H]1CO)O", printStereoWarnings=False) +smiles(R"O1C(=O)C(=C([O-])[C@H]1[C@H](CO)O)O", printStereoWarnings=False) +smiles(R"O1C(=O)C(=C([O-])[C@H]1[C@H](COP(=O)([O-])[O-])O)O", printStereoWarnings=False) +smiles(R"O1C(=O)[C@@H](CC1)[NH3+]", printStereoWarnings=False) +smiles(R"O1C(=O)[C@H](C(=O)[C@H]1[C@H](CO)O)O", printStereoWarnings=False) +smiles(R"O1C(=O)C(=O)C(=O)[C-]1[C@H](CO)O", printStereoWarnings=False) +smiles(R"O1P(=O)(OP(=O)(OP1(=O)[O-])[O-])[O-]", printStereoWarnings=False) +smiles(R"O[As](C)O", printStereoWarnings=False) +smiles(R"O[As](O)O", printStereoWarnings=False) +smiles(R"[O-][As](=O)(O)[O-]", printStereoWarnings=False) +smiles(R"[O+]#[C-]", printStereoWarnings=False) +smiles(R"O=C1c2c(c(ccc2)O)C(=O)C=C1", printStereoWarnings=False) +smiles(R"O=C1C=c2c(=CC1=O)[nH]cc2", printStereoWarnings=False) +smiles(R"Oc1c(cccc1)C/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)\C)\C)\C)\C)\C", printStereoWarnings=False) +smiles(R"Oc1ccc(cc1CC(=O)[O-])O", printStereoWarnings=False) +smiles(R"O=C1CCC(CC1)C(=O)[O-]", printStereoWarnings=False) +smiles(R"Oc1cc(ccc1)NO", printStereoWarnings=False) +smiles(R"Oc1ccc(CCC(=O)[O-])cc1", printStereoWarnings=False) +smiles(R"O=c1cc[nH]cc1O", printStereoWarnings=False) +smiles(R"O=C1[C@@H](NC(=O)[C@@H](N1)Cc1ccc(cc1)O)Cc1ccc(cc1)O", printStereoWarnings=False) +smiles(R"O=C1CNC(=O)CN1", printStereoWarnings=False) +smiles(R"O=c1[nH]c(=O)[nH]c2c1ncn2[C@@H]1O[C@@H]([C@@H](O)[C@H]1O)COP(=O)([O-])OP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"O=c1[nH]c(=O)[nH]c2c1ncn2[C@@H]1O[C@@H]([C@@H](O)[C@H]1O)COP(=O)([O-])OP(=O)([O-])OP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"OC1O[C@@H]([C@H]([C@@H]([C@H]1O)[NH3+])O)CO", printStereoWarnings=False) +smiles(R"OC1O[C@@H]([C@H]([C@@H]([C@H]1O)N)O)COP(=O)(O)O", printStereoWarnings=False) +smiles(R"O=CC", printStereoWarnings=False) +smiles(R"O=C([C@@]1(C[C@H](CC1(C)C)O)C)/C=C/C(=C/C=C/C(=C/C=C/C=C(/C=C/C=C(/C=C/C1=C(C[C@H](CC1(C)C)O)C)\C)\C)/C)/C", printStereoWarnings=False) +smiles(R"O=C([C@@]1(C[C@H](CC1(C)C)O)C)/C=C/C(=C/C=C/C(=C/C=C/C=C(/C=C/C=C(/C=C/C(=O)[C@@]1(C[C@H](CC1(C)C)O)C)\C)\C)/C)/C", printStereoWarnings=False) +smiles(R"OCc1cc(Oc2ccccc2)ccc1", printStereoWarnings=False) +smiles(R"O=C(c1cnc(c(c1CO)O)C)[O-]", printStereoWarnings=False) +smiles(R"O=CCc1ccc(cc1)O", printStereoWarnings=False) +smiles(R"O=CCc1c[nH]c2c1cccc2", printStereoWarnings=False) +smiles(R"OCCc1c[nH]c2ccccc12", printStereoWarnings=False) +smiles(R"O=C(CC)C", printStereoWarnings=False) +smiles(R"O=C(/C=C/c1ccccc1)[O-]", printStereoWarnings=False) +smiles(R"OCC/C=C\CC", printStereoWarnings=False) +smiles(R"O=C(/C=C/C=C/c1ccc2c(c1)OCO2)N1CCCCC1", printStereoWarnings=False) +smiles(R"O(C/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)\C)\C)\C)\C)\C)\C)\C)\C)P(=O)(OP(=O)(O[C@H]1O[C@@H]([C@@H]([C@@H]([C@H]1O)O)O)CO)[O-])[O-]", printStereoWarnings=False) +smiles(R"O(C/C=C(/CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)\C)C[C@@H](COP(=O)([O-])[O-])O", printStereoWarnings=False) +smiles(R"O=C/C(=C/C=C/C(=C/C=C/C=C(/C=C/C=C(/C=O)\C)\C)/C)/C", printStereoWarnings=False) +smiles(R"O=C/C=C/C(=C/C=C/C=C(/C=C/C=O)\C)/C", printStereoWarnings=False) +smiles(R"O=C/C=C/C=C(/C=C/C=C(/C=O)\C)\C", printStereoWarnings=False) +smiles(R"O=C/C=C/C(=C/C=C/C=O)/C", printStereoWarnings=False) +smiles(R"O=C/C=C(/C=C/C=C(/C=O)\C)\C", printStereoWarnings=False) +smiles(R"O=C(CCCCCCC)O[C@@H](C[N+](C)(C)C)CC(=O)[O-]", printStereoWarnings=False) +smiles(R"O/C=C/C=C(/C=C/C=O)\C", printStereoWarnings=False) +smiles(R"O(CC/C=C\CC)C(=O)C", printStereoWarnings=False) +smiles(R"O=C(CCCCCC(=O)[O-])[O-]", printStereoWarnings=False) +smiles(R"O=CCCCCC(=O)[O-]", printStereoWarnings=False) +smiles(R"O=C/C=C/C=C(/C(=O)[O-])\O", printStereoWarnings=False) +smiles(R"O=C/C=C(/C=C/C(=O)[O-])\O", printStereoWarnings=False) +smiles(R"O=C(C(CCC(=O)[O-])CO)[O-]", printStereoWarnings=False) +smiles(R"O=C(CC)C(=O)[O-]", printStereoWarnings=False) +smiles(R"O=C(CC(C(=O)[O-])O)C(=O)[O-]", printStereoWarnings=False) +smiles(R"O=C(C(C(C(=O)[O-])O)C(=O)[O-])C(=O)[O-]", printStereoWarnings=False) +smiles(R"O=C(C[C@@H](C(=O)[O-])NC(=[NH2+])N)[O-]", printStereoWarnings=False) +smiles(R"OCCCl", printStereoWarnings=False) +smiles(R"O/C=C(/C(=O)CCSC)\[O-]", printStereoWarnings=False) +smiles(R"OCC(CO)OP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"O(C[C@@H]1[C@H]([C@@H]([C@H]([C@@H](O1)Oc1ccc(cc1)O)O)O)O)P(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"O(C[C@@H]1[C@H]([C@H]([C@H](O1)OP(=O)([O-])[O-])O)O)P(=O)(OP(=O)(OC[C@H]1O[C@H]([C@@H]([C@@H]1O)O)n1cnc2c1ncnc2N)[O-])[O-]", printStereoWarnings=False) +smiles(R"OC[C@@H]1[C@@H](OP(=O)([O-])[O-])[C@@H](O)[C@@H](O1)n1c(=O)[nH]c(=O)cc1", printStereoWarnings=False) +smiles(R"O(C[C@H]1O[C@H]([C@@H]([C@@H]1O)O)n1cnc2c1nc([nH]c2=O)N)P(=O)(O[C@@H]1[C@H](O[C@H]([C@@H]1O)n1cnc2c1nc([nH]c2=O)N)COP(=O)([O-])[O-])[O-]", printStereoWarnings=False) +smiles(R"O=C([C@H](CCC[C@@H](C(=O)[O-])[NH3+])NC(=O)C)[O-]", printStereoWarnings=False) +smiles(R"OC[C@@H]([C@@H](/C=C/CCCCCCCCCCCCC)O)[NH3+]", printStereoWarnings=False) +smiles(R"OC[C@H]([C@H](CC(=O)C(=O)[O-])O)O", printStereoWarnings=False) +smiles(R"OC[C@H]([C@H]([C@@H]([C@@H](C(=O)[O-])O)O)O)O", printStereoWarnings=False) +smiles(R"OC[C@H]([C@H]([C@H](CNc1c(c(=O)[nH]c(=O)[nH]1)N)O)O)O", printStereoWarnings=False) +smiles(R"OC[C@H]([C@H]([C@@H](C(=O)C[NH2+]CCCC[C@@H](C(=O)[O-])[NH3+])O)O)O", printStereoWarnings=False) +smiles(R"OC[C@H]([C@H]([C@H](C(=O)C[NH2+]CCCC[C@@H](C(=O)[O-])[NH3+])O)O)O", printStereoWarnings=False) +smiles(R"OC[C@H]([C@H]([C@@H](C(=O)C=O)O)O)O", printStereoWarnings=False) +smiles(R"O=C[C@@H]([C@@H]([C@@H](C)O)O)O", printStereoWarnings=False) +smiles(R"O(C[C@H]([C@H]([C@@H](C=O)O)O)O)P(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"OC[C@@H]([C@H](C(=O)C(=O)C(=O)[O-])O)O", printStereoWarnings=False) +smiles(R"O(C[C@H]([C@H](C=O)O)O)P(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"O(C[C@@H](COC(=O)CCCCCCC/C=C\CCCCCCCC)OC(=O)CCCCCCCCCCCCCCC)P(=O)(OC[C@H](CO)O)[O-]", printStereoWarnings=False) +smiles(R"O(C[C@@H](COC(=O)CCCCCCCCCCCCCCCCC)OC(=O)CCCCCCCCCCCCCCC)P(=O)(OC[C@H](CO)O)[O-]", printStereoWarnings=False) +smiles(R"O(C[C@@H](COC(=O)CCCCCCC/C=C\CCCCCCCC)O)P(=O)(OC[C@H](CO)O)[O-]", printStereoWarnings=False) +smiles(R"O(C[C@@H](COC(=O)CCCCCCCCCCCCCCCCC)O)P(=O)(OC[C@H](CO)O)[O-]", printStereoWarnings=False) +smiles(R"O(C[C@@H](COC(=O)CCCCCCCCCCCCCCC)OC(=O)CCC/C=C\C/C=C\C/C=C\C/C=C\CCCCC)P(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"O(C[C@@H](COC(=O)CCCCCCCCCCCCCCC)OC(=O)CCCCCCC/C=C\C/C=C\CCCCC)P(=O)(OC[C@H](CO)O)[O-]", printStereoWarnings=False) +smiles(R"O(C[C@@H](COC(=O)CCCCCCCCCCCCCCC)OC(=O)CCCCCCC/C=C\CCCCCCCC)P(=O)(OC[C@H](CO)O)[O-]", printStereoWarnings=False) +smiles(R"O(C[C@@H](COC(=O)CCCCCCCCCCCCCCC)OC(=O)CCCCCCCCCCCCCCCCC)P(=O)(OC[C@H](CO)O)[O-]", printStereoWarnings=False) +smiles(R"O(C[C@@H](COC(=O)CCCCCCCCCCCCCCC)OC(=O)CCCCCCC/C=C\C/C=C\CCCCC)P(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"O(C[C@@H](COC(=O)CCCCCCCCCCCCCCC)OC(=O)CCCCCCCCCCCCCCCCC)P(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"O(C[C@@H](COC(=O)CCCCCCCCCCCCCCC)OC(=O)CCCCCCCCCCCCCCC)P(=O)(OC[C@H](CO)O)[O-]", printStereoWarnings=False) +smiles(R"O(C[C@@H](COC(=O)CCCCCCCCCCCCCCC)OC(=O)CCCCCCCCCCCCCCC)P(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"O(C[C@@H](COC(=O)CCCCCCCCCCCCCCC)OC(=O)CCCCCCCCCCCCC)P(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"O(C[C@@H](COC(=O)CCCCCCCCCCCCCCC)O)P(=O)(OC[C@H](CO)O)[O-]", printStereoWarnings=False) +smiles(R"O(C[C@@H](COC(=O)CCCCCCCCCCCCC)OC(=O)CCCCCCCCCCCCCCC)P(=O)(OC[C@H](CO)O)[O-]", printStereoWarnings=False) +smiles(R"O(C[C@@H](COC(=O)CCCCCCCCCCCCC)O)P(=O)(OC[C@H](CO)O)[O-]", printStereoWarnings=False) +smiles(R"O(C[C@@H](C(=O)[O-])[NH3+])P(=O)(OCC(CO)O)[O-]", printStereoWarnings=False) +smiles(R"O(C[C@H](C(=O)[O-])O)P(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"O(C[C@@H](CO)O)P(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"OC[C@H](COP(=O)(OCC[N+](C)(C)C)[O-])O", printStereoWarnings=False) +smiles(R"OC[C@@H](COP(=O)([O-])[O-])O", printStereoWarnings=False) +smiles(R"O(C[C@@H](COP(=O)([O-])[O-])O)C/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)\C)\C)\C)\C", printStereoWarnings=False) +smiles(R"OC[C@H](C(=O)SC)O", printStereoWarnings=False) +smiles(R"O(CC[NH+](C)C)P(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"O=CC(O)c1c[nH]c2c1cccc2", printStereoWarnings=False) +smiles(R"OC(C(O)CO)C(O)CO", printStereoWarnings=False) +smiles(R"OCC(=O)C(=O)[O-]", printStereoWarnings=False) +smiles(R"O(CC(O)CO)P(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"O=C(COP(=O)([O-])[O-])COC(=O)CCCCCCCCCCCCCCC", printStereoWarnings=False) +smiles(R"O=C(COP(=O)([O-])[O-])C(=O)[O-]", printStereoWarnings=False) +smiles(R"O[C@H]1[C@@H](C[C@@H]([C@H]([C@@H]1O[C@H]1[C@@H]([C@@H]([C@H](O1)CO)O)O)O[C@H]1O[C@@H]([C@H]([C@@H]([C@H]1[NH3+])O)O)C[NH3+])[NH3+])NC(=O)[C@H](CCNC(=O)CC[C@@H](C(=O)[O-])[NH3+])O", printStereoWarnings=False) +smiles(R"O[C@H]1[C@@H](C[C@@H]([C@H]([C@@H]1O[C@H]1[C@@H]([C@@H]([C@H](O1)CO)O)O)O[C@H]1O[C@@H]([C@H]([C@@H]([C@H]1[NH3+])O)O)C[NH3+])[NH3+])NC(=O)[C@H](CC[NH3+])O", printStereoWarnings=False) +smiles(R"O[C@H]1[C@@H](C[C@@H]([C@H]([C@@H]1O)O[C@H]1O[C@@H]([C@H]([C@@H]([C@H]1[NH3+])O)O)C=O)[NH3+])[NH3+]", printStereoWarnings=False) +smiles(R"O[C@H]1[C@@H](C[C@@H]([C@H]([C@@H]1O)O[C@H]1O[C@@H]([C@H]([C@@H]([C@H]1[NH3+])O)O)CO)[NH3+])[NH3+]", printStereoWarnings=False) +smiles(R"O([C@H]1[C@H]([C@@H](CC(=C1)C(=O)[O-])O)O)P(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"O([C@H]1[C@@H]([C@H](C[C@H]([C@@H]1O)[NH3+])[NH3+])O[C@@H]1[C@@H]([C@H]([C@@H]([C@H](O1)C[NH3+])O)O)[NH3+])[C@@H]1O[C@@H]([C@H]([C@H]1O)O)CO", printStereoWarnings=False) +smiles(R"O[C@@H]1[C@H]([C@@H]([C@H]([C@@H]([C@@H]1O)OC(=O)Cc1c2ccccc2[nH]c1)O)O)O", printStereoWarnings=False) +smiles(R"O([C@H]1[C@@H]([C@@H]([C@H]([C@@H](O1)C)O)O)O)c1c(c2cc(c(cc2)O)O)oc2c(c1=O)c(cc(c2)[O-])O", printStereoWarnings=False) +smiles(R"O([C@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)NC(=O)C)[C@@H]1[C@H](OC([C@@H]([C@H]1O)NC(=O)C)O)CO", printStereoWarnings=False) +smiles(R"O([C@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)NC(=O)C)[C@@H]1[C@H](OC([C@@H]([C@H]1O)[NH3+])O)CO", printStereoWarnings=False) +smiles(R"O([C@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)NC(=O)C)[C@@H]1[C@H](O[C@H]([C@@H]([C@H]1O)NC(=O)C)O)CO", printStereoWarnings=False) +smiles(R"O([C@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)c1cc2c(c(c1)O)C(=O)/C(=C/c1cc(c(cc1)O)O)/O2", printStereoWarnings=False) +smiles(R"O([C@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)c1cc2c(c(c1)O)C(=O)/C(=C/c1cc(c(c(c1)O)O)O)/O2", printStereoWarnings=False) +smiles(R"O([C@H]1[C@@H]([C@H]([C@@H]([C@H](O1)COP(=O)([O-])[O-])O)O)NC(=O)C)[C@@H]1[C@H](OC([C@@H]([C@H]1O)NC(=O)C)O)CO", printStereoWarnings=False) +smiles(R"O([C@H]1[C@@H]([C@H]([C@@H]([C@H](O1)COP(=O)([O-])[O-])O)O)NC(=O)C)[C@@H]1[C@H](OC([C@@H]([C@H]1O)[NH3+])O)CO", printStereoWarnings=False) +smiles(R"O[C@@H]1[C@H]([C@@H](O[C@@H]([C@H]1O)CO)O[C@H]1[C@@H]([C@H]([C@H](O[C@@H]1CO)OP(=O)(OP(=O)(OC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)/C)/C)/C)/C)/C)/C)/C)/C)[O-])[O-])O)O)O", printStereoWarnings=False) +smiles(R"O[C@@H]1[C@H]([C@@H](O[C@@H]([C@@H]1O)CO)O[C@@H]1[C@H]([C@H](C(O[C@H]1C)O)O)O)O", printStereoWarnings=False) +smiles(R"O[C@@H]1[C@H]([C@H](O[C@@H]([C@H]1O)CO)OP(=O)(OP(=O)(OC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)/C)/C)/C)/C)/C)/C)/C)/C)[O-])[O-])O", printStereoWarnings=False) +smiles(R"O[C@@H]1[C@H](O[C@H]2[C@@H]1OP(=O)(O2)[O-])COP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"O[C@@H]1[C@@H](O)[C@@H](C[C@@H]([C@H]1O[C@H]1O[C@@H]([C@H]([C@@H]([C@H]1[NH3+])O)O)C[NH3+])[NH3+])[NH3+]", printStereoWarnings=False) +smiles(R"O[C@@H]1[C@@H](O)[C@@H](C[C@@H]([C@H]1O[C@H]1O[C@@H]([C@H]([C@@H]([C@H]1O)O)O)C[NH3+])[NH3+])[NH3+]", printStereoWarnings=False) +smiles(R"O[C@@H]1[C@@H](O)[C@@H](C[C@@H]([C@H]1O[C@H]1O[C@@H]([C@H]([C@@H]([C@H]1O)O)O)C=O)[NH3+])[NH3+]", printStereoWarnings=False) +smiles(R"O[C@H]1[C@@H](O[C@H]([C@@H]1O)[C@@H](CO)O[C@@H]1O[C@H]([C@@H]([C@H]1O)O)[C@@H](CO[C@@H]1O[C@H]([C@@H]([C@H]1O)O)[C@@H](CO)O[C@@H]1O[C@H]([C@@H]([C@H]1O)O)[C@@H](CO[C@@H]1O[C@H]([C@@H]([C@H]1O)O)[C@@H](CO)O[C@@H]1O[C@H]([C@@H]([C@H]1O)O)[C@@H](CO[C@@H]1O[C@H]([C@@H]([C@H]1O)O)[C@@H](CO)O[C@@H]1O[C@H]([C@@H]([C@H]1O)O)[C@@H](CO[C@@H]1O[C@H]([C@@H]([C@H]1O)O)[C@@H](CO)O[C@@H]1O[C@H]([C@@H]([C@H]1O)O)[C@@H](CO[C@@H]1O[C@H]([C@@H]([C@H]1O)O)[C@@H](CO)O[C@@H]1O[C@H]([C@@H]([C@H]1O)O)[C@@H](CO[C@@H]1O[C@H]([C@@H]([C@H]1O)O)[C@@H](CO)O[C@@H]1O[C@H]([C@@H]([C@H]1O)O)[C@@H](CO[C@@H]1O[C@H]([C@@H]([C@H]1O)O)[C@@H](CO)O[C@@H]1O[C@H]([C@@H]([C@H]1O)O)[C@@H](CO)O)O)O)O)O)O)O)O)OC[C@@H](O)[C@@H]1O[C@@H](O[C@H](CO)[C@@H]2O[C@@H](OC[C@@H](O)[C@@H]3O[C@@H](O[C@H](CO)[C@@H]4O[C@@H](OC[C@@H](O)[C@@H]5O[C@@H](O[C@H](CO)[C@@H]6O[C@@H](OC[C@@H](O)[C@@H]7O[C@@H](O[C@H](CO)[C@@H]8O[C@@H](OC[C@@H](O)[C@@H]9O[C@@H](O[C@H](CO)[C@@H]%10O[C@@H](OC[C@@H](O)[C@@H]%11O[C@@H](O[C@H](CO)[C@@H]%12O[C@H]([C@H](O)[C@H]%12O)OC[C@@H](O)[C@@H]%12O[C@@H](O[C@H](CO)[C@@H]%13O[C@H]([C@H](O)[C@H]%13O)O[C@@H]%13[C@H]([C@H]([C@@H](O[C@H]%13C)O[C@@H]%13[C@H]([C@@H](OP(=O)(OP(=O)(OC/C=C(/C)\CC/C=C(/C)\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(/CCC=C(C)C)\C)/C)/C)/C)/C)/C)/C)[O-])[O-])O[C@@H]([C@H]%13O)CO)NC(=O)C)O)O)[C@H](O)[C@H]%12O)[C@H](O)[C@H]%11O)[C@H](O)[C@H]%10O)[C@H](O)[C@H]9O)[C@H](O)[C@H]8O)[C@H](O)[C@H]7O)[C@H](O)[C@H]6O)[C@H](O)[C@H]5O)[C@H](O)[C@H]4O)[C@H](O)[C@H]3O)[C@H](O)[C@H]2O)[C@H](O)[C@H]1O", printStereoWarnings=False) +smiles(R"O[C@@H]1[C@H](O[C@@H]([C@@H]([C@H]1O)NC(=O)C)O[C@H](C(=O)[O-])CC(=O)[O-])CO", printStereoWarnings=False) +smiles(R"O[C@@H]1[C@H](O[C@@H]([C@@H]([C@H]1O)[NH3+])O[C@H](C(=O)[O-])CC(=O)[O-])CO", printStereoWarnings=False) +smiles(R"O[C@@H]1[C@H](O[C@@H](O[C@@H]2[C@H](O[C@H](OP(=O)(OP(=O)(OC/C=C(/C)\CC/C=C(/C)\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)/C)/C)/C)/C)/C)/C)[O-])[O-])[C@@H]([C@H]2O)NC(=O)C)CO)[C@H]([C@H]1O)NC(=O)C)C(=O)[O-]", printStereoWarnings=False) +smiles(R"O([C@@H]1[C@H](O)[C@H](O)[C@H]([C@H](O)[C@H]1O)O)P(=O)([O-])OC[C@@H]([C@@H](CCCCCCCCCCCCCCC)O)NC(=O)CCCCCCCCCCCCCCCCCCCCCCC", printStereoWarnings=False) +smiles(R"O([C@@H]1[C@H](O)[C@H](O)[C@H]([C@H](O)[C@H]1O)O)P(=O)([O-])OC[C@@H]([C@@H](CCCCCCCCCCCCCCC)O)NC(=O)CCCCCCCCCCCCCCCCCCCCCCCCC", printStereoWarnings=False) +smiles(R"O([C@@H]1[C@H](O)[C@H](O)[C@H]([C@H](O)[C@H]1O)O)P(=O)([O-])OC[C@@H]([C@@H](CCCCCCCCCCCCCCC)O)NC(=O)[C@H](CCCCCCCCCCCCCCCCCCCCCCCC)O", printStereoWarnings=False) +smiles(R"O[C@@H]1[C@H](O[C@H](OP(=O)(C)[O-])[C@@H]1O)COP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"O[C@@H]1[C@H](O[C@H](OP(=O)(C)[O-])[C@@H]1O)COP(=O)(OP(=O)(OP(=O)(O)[O-])[O-])[O-]", printStereoWarnings=False) +smiles(R"O[C@@H]1[C@H](O[C@H](OP(=O)([O-])[O-])[C@@H]1O)CO", printStereoWarnings=False) +smiles(R"O[C@@H]1[C@H](O[C@H](OP(=O)([O-])[O-])[C@@H]1O)COP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"O[C@H]1[C@H](OC(=O)/C=C/c2ccc(cc2)O)C[C@@](O)(C[C@H]1O)C(=O)[O-]", printStereoWarnings=False) +smiles(R"O[C@H]1C(O[C@H]([C@@H]([C@H]1O[C@@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)O)O)C)O", printStereoWarnings=False) +smiles(R"O[C@@H]1O[C@@H]([C@H]([C@@H]([C@H]1NC(=O)C)O)O[C@@H]1O[C@H](CO[C@]2(O[C@H]([C@@H]([C@H](C2)O)NC(=O)C)[C@@H]([C@@H](CO)O)O)C(=O)[O-])[C@@H]([C@@H]([C@H]1O)O)O)CO", printStereoWarnings=False) +smiles(R"O([C@@H]1O[C@@H]([C@H]([C@@H]([C@H]1O)O)O)CO)C(=O)Cc1c2ccccc2[nH]c1", printStereoWarnings=False) +smiles(R"O([C@@H]1O[C@@H]([C@H]([C@H](O)[C@H]1O)O)CO)[C@H]1Oc2ccccc2N(C1=O)O", printStereoWarnings=False) +smiles(R"O([C@@H]1O[C@@H]([C@H]([C@H](O)[C@H]1O)O)CO)[C@H]1Oc2cc(ccc2N(C1=O)O)O", printStereoWarnings=False) +smiles(R"O[C@@H]1O[C@@H]([C@H]([C@H](O)[C@H]1O)O)CO[C@@H]1O[C@H]([C@H](O)[C@@H](O)[C@H]1O)C", printStereoWarnings=False) +smiles(R"O[C@H](c1ccccc1)[C@@H](c1ccccc1)O", printStereoWarnings=False) +smiles(R"O[C@H](Cc1ccccc1)C(=O)[O-]", printStereoWarnings=False) +smiles(R"O[C@@H](CC(=O)C(=O)[O-])[C@@H](O)C=O", printStereoWarnings=False) +smiles(R"O[C@@H](CC(=O)C(=O)[O-])[C@@H](OS(=O)(=O)[O-])C=O", printStereoWarnings=False) +smiles(R"O([C@@H](CC(=O)[O-])C)C(=O)C[C@@H](C)O", printStereoWarnings=False) +smiles(R"O[C@@H](C(=O)OCC)[C@@H](C)C(=O)OCC", printStereoWarnings=False) +smiles(R"OCl", printStereoWarnings=False) +smiles(R"O=[Cl][O-]", printStereoWarnings=False) +smiles(R"[O-][Cl](=O)=O", printStereoWarnings=False) +smiles(R"O=C(N)[C@H]1[NH2+]CCC1", printStereoWarnings=False) +smiles(R"OC/N=[N+](/C)\[O-]", printStereoWarnings=False) +smiles(R"[O-]C(=O)C1(C(=NC(=O)N1)NC(=O)N)O", printStereoWarnings=False) +smiles(R"[O-]C(=O)c1nccnc1", printStereoWarnings=False) +smiles(R"O(C(=O)Cc1c[nH]c2c1cccc2)C", printStereoWarnings=False) +smiles(R"[O-]C(=O)C(C)C", printStereoWarnings=False) +smiles(R"O=CO/C=C(/CCC1=C(CCCC1(C)C)C)\C", printStereoWarnings=False) +smiles(R"O=C([O-])CCCCC[C@H](O)[C@H](/C=C\C/C=C\CCCCC)O", printStereoWarnings=False) +smiles(R"[O-]C(=O)CC(CCC(C)O)C(=C)C", printStereoWarnings=False) +smiles(R"[O-]C(=O)C/C(=C/C=C(/C(=O)[O-])\O)/C(=O)[O-]", printStereoWarnings=False) +smiles(R"[O-]C(=O)CC(CCCNC(=O)C)[NH3+]", printStereoWarnings=False) +smiles(R"[O-]C(=O)/C(=C/C=C/C(=O)/C=C/C(=O)[O-])/O", printStereoWarnings=False) +smiles(R"[O-]C(=O)/C(=C\C=C/C(=O)/C=C/C(=O)[O-])/O", printStereoWarnings=False) +smiles(R"[O-]C(=O)/C(=C\C=C/C(=O)CCC(=O)[O-])/O", printStereoWarnings=False) +smiles(R"[O-]C(=O)CC(/C=C/C(=O)C(=O)[O-])C(=O)[O-]", printStereoWarnings=False) +smiles(R"[O-]C(=O)CCC(CC(=O)C(=O)[O-])O", printStereoWarnings=False) +smiles(R"[O-]C(=O)CCCCC(=O)[O-]", printStereoWarnings=False) +smiles(R"[O-]C(=O)CCC[C@@H](C(=O)[O-])NC(=O)C", printStereoWarnings=False) +smiles(R"O(C(=O)CCC[C@@H](C(=O)[O-])NC(=O)C)P(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"[O-]C(=O)CCC[C@@H](C(=O)[O-])[NH3+]", printStereoWarnings=False) +smiles(R"O=C([O-])CCCCO", printStereoWarnings=False) +smiles(R"[O-]C(=O)C/C=C/C(=O)C(=O)[O-]", printStereoWarnings=False) +smiles(R"[O-]C(=O)CC(CC(=O)[O-])[NH3+]", printStereoWarnings=False) +smiles(R"[O-]C(=O)CC[C@@H](C(=O)[O-])NC(=O)[C@@H]([NH3+])C", printStereoWarnings=False) +smiles(R"[O-]C(=O)CC[C@H](NC(=O)C[NH3+])C(=O)[O-]", printStereoWarnings=False) +smiles(R"O=C([O-])/C=C/C[N+](C)(C)C", printStereoWarnings=False) +smiles(R"O=C([O-])CCC[NH2+]C", printStereoWarnings=False) +smiles(R"[O-]C(=O)/C=C\C(=O)CC(=O)CC(=O)[O-]", printStereoWarnings=False) +smiles(R"[O-]C(=O)CC(C(=O)[O-])Cc1ccccc1", printStereoWarnings=False) +smiles(R"[O-]C(=O)[C@](CC(=O)[O-])(C)O", printStereoWarnings=False) +smiles(R"[O-]C(=O)[C@@](CC(=O)[O-])(C)O", printStereoWarnings=False) +smiles(R"[O-]C(=O)C(CC(=O)[O-])(C)O", printStereoWarnings=False) +smiles(R"[O-]C(=O)/C(=C/C(=O)[O-])/O", printStereoWarnings=False) +smiles(R"[O-]C(=O)/C(=C(/C(=O)[O-])\O)/O", printStereoWarnings=False) +smiles(R"[O-]C(=O)C(C(C(=O)[O-])O)O", printStereoWarnings=False) +smiles(R"[O-]C(=O)C[C@@H](CC[C@@H](C)O)C(=C)C", printStereoWarnings=False) +smiles(R"[O-]C(=O)C[C@H](CC[C@@H](C)O)C(=C)C", printStereoWarnings=False) +smiles(R"[O-]C(=O)C[C@@H]([C@H](C(=O)[O-])O)C(=O)[O-]", printStereoWarnings=False) +smiles(R"[O-]C(=O)C[C@H](C(=O)[O-])Cc1ccccc1", printStereoWarnings=False) +smiles(R"[O-]C(=O)C([C@H](C(=O)[O-])O)(C)C", printStereoWarnings=False) +smiles(R"[O-]C(=O)CC[NH2+][C@@H](C(=O)[O-])C", printStereoWarnings=False) +smiles(R"[O-]C(=O)CC[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"O=C([O-])CC(=O)c1ccccc1", printStereoWarnings=False) +smiles(R"O(C(=O)C(CO)c1ccccc1)[C@@H]1C[C@H]2CC[C@@H](C1)[NH+]2C", printStereoWarnings=False) +smiles(R"[O-]C(=O)CC(=O)CCCNC(=O)C", printStereoWarnings=False) +smiles(R"[O-]C(=O)CC(=O)/C=C/C(=O)[O-]", printStereoWarnings=False) +smiles(R"O=C([O-])CC(=O)/C=C\C(=O)[O-]", printStereoWarnings=False) +smiles(R"[O-]C(=O)CCSC", printStereoWarnings=False) +smiles(R"O=C([O-])[C@H]1CCC[NH2+]1", printStereoWarnings=False) +smiles(R"[O-]C(=O)[C@H]1N(CCC1)C(=O)C[NH3+]", printStereoWarnings=False) +smiles(R"O=C([O-])[C@H]1[NH2+]CCC1", printStereoWarnings=False) +smiles(R"[O-]C(=O)[C@H](CCC[C@@H](C(=O)[O-])NC(=O)CCC(=O)[O-])[NH3+]", printStereoWarnings=False) +smiles(R"[O-]C(=O)[C@H](CCCCN(C(=O)C)O)[NH3+]", printStereoWarnings=False) +smiles(R"[O-]C(=O)[C@H](CC(C)C)[NH3+]", printStereoWarnings=False) +smiles(R"[O-]C(=O)[C@@H](CCCC[NH3+])[NH3+]", printStereoWarnings=False) +smiles(R"[O-]C(=O)[C@H](CCCC[NH3+])[NH3+]", printStereoWarnings=False) +smiles(R"[O-]C(=O)[C@H](CCC(=O)NCCCC(=O)[O-])[NH3+]", printStereoWarnings=False) +smiles(R"[O-]C(=O)[C@H](CCC(=O)N[C@H](C(=O)NCC(=O)NCCC[NH2+]CCCC[NH3+])CS)[NH3+]", printStereoWarnings=False) +smiles(R"[O-]C(=O)[C@H](CCC(=O)N[C@H](C(=O)NCC(=O)[O-])CSS)[NH3+]", printStereoWarnings=False) +smiles(R"[O-]C(=O)[C@H](CCC(=O)[O-])NC=[NH2+]", printStereoWarnings=False) +smiles(R"[O-]C(=O)[C@H](CC)O", printStereoWarnings=False) +smiles(R"[O-]C(=O)[C@H](CC(=O)N)[NH3+]", printStereoWarnings=False) +smiles(R"[O-]C(=O)[C@H](CC(=O)NO)[NH3+]", printStereoWarnings=False) +smiles(R"[O-]C(=O)[C@H](CC[S@](=O)C)[NH3+]", printStereoWarnings=False) +smiles(R"[O-]C(=O)[C@H](CC[S@@](=O)C)[NH3+]", printStereoWarnings=False) +smiles(R"[O-]C(=O)[C@H]([C@@H]([C@H](O)CO)O)O", printStereoWarnings=False) +smiles(R"[O-]C(=O)[C@H]([C@@H](CO)O)[NH3+]", printStereoWarnings=False) +smiles(R"[O-]C(=O)[C@@H]([C@H](C(=O)[O-])O)O", printStereoWarnings=False) +smiles(R"[O-]C(=O)[C@H]([C@@H](C(=O)[O-])O)O", printStereoWarnings=False) +smiles(R"[O-]C(=O)[C@@H]([C@@H](COP(=O)([O-])[O-])O)O", printStereoWarnings=False) +smiles(R"O=C([O-])[C@@H](C)[NH2+]CC(=O)[O-]", printStereoWarnings=False) +smiles(R"O(C(=O)[C@H](CO)c1ccccc1)[C@@H]1C[C@H]2CC[C@@H](C1)[NH+]2C", printStereoWarnings=False) +smiles(R"[O-]C(=O)[C@H](C(=O)[C@@H]([C@H](CO)O)O)O", printStereoWarnings=False) +smiles(R"O=C([O-])[C@H](CO)NC(=O)c1cccc(c1O)O", printStereoWarnings=False) +smiles(R"O=C([O-])[C@@H](CO)O", printStereoWarnings=False) +smiles(R"[O-]C(=O)[C@@H](COP(=O)([O-])[O-])[NH3+]", printStereoWarnings=False) +smiles(R"[O-]C(=O)[C@H](COP(=O)([O-])[O-])[NH3+]", printStereoWarnings=False) +smiles(R"[O-]C(=O)[C@H](CS(=O)(=O)[O-])[NH3+]", printStereoWarnings=False) +smiles(R"[O-]C(=O)[C@@H](N)C(=O)C", printStereoWarnings=False) +smiles(R"O=C([O-])[C@@H](NC(=O)C)CCC=O", printStereoWarnings=False) +smiles(R"O=C([O-])[C@H](NC(=O)[C@H]([NH3+])C)C", printStereoWarnings=False) +smiles(R"[O-]C(=O)[C@@H](NC(=O)N)CC(=O)[O-]", printStereoWarnings=False) +smiles(R"[O-]C(=O)[C@H](NC(=O)N)[NH3+]", printStereoWarnings=False) +smiles(R"O=C([O-])[C@@H]([NH3+])Cc1cc(c(c(c1)I)[O-])I", printStereoWarnings=False) +smiles(R"O=C([O-])[C@@H]([NH3+])Cc1ccc(cc1)O", printStereoWarnings=False) +smiles(R"O=C([O-])[C@H]([NH3+])Cc1ccc(cc1)O", printStereoWarnings=False) +smiles(R"O=C([O-])[C@@H]([NH3+])C(C)C", printStereoWarnings=False) +smiles(R"[O-]C(=O)[C@@H]([NH3+])CCCC[N+](C)(C)C", printStereoWarnings=False) +smiles(R"[O-]C(=O)[C@@H]([NH3+])C(CCC[N+](C)(C)C)O", printStereoWarnings=False) +smiles(R"O=C([O-])[C@@H]([NH3+])CCCNC(=[NH2+])N", printStereoWarnings=False) +smiles(R"O=C([O-])[C@H]([NH3+])CCCNC(=[NH2+])N", printStereoWarnings=False) +smiles(R"O=C([O-])[C@H]([NH3+])CCC(=O)N", printStereoWarnings=False) +smiles(R"O=C([O-])[C@@H]([NH3+])CCC(=O)[O-]", printStereoWarnings=False) +smiles(R"O=C([O-])[C@H]([NH3+])CCC(=O)[O-]", printStereoWarnings=False) +smiles(R"[O-]C(=O)[C@@H]([NH3+])CC(C(=O)[O-])O", printStereoWarnings=False) +smiles(R"[O-]C(=O)[C@@H]([NH3+])CC=O", printStereoWarnings=False) +smiles(R"O=C([O-])[C@@H]([NH3+])CC(=O)[O-]", printStereoWarnings=False) +smiles(R"O=C([O-])[C@H]([NH3+])CC(=O)[O-]", printStereoWarnings=False) +smiles(R"[O-]C(=O)[C@@H]([NH3+])CC(=O)OP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"O=C([O-])[C@@H]([NH3+])CCSC", printStereoWarnings=False) +smiles(R"O=C([O-])[C@H]([NH3+])CCSC", printStereoWarnings=False) +smiles(R"[O-]C(=O)[C@@H]([NH3+])[C@H](CC)C", printStereoWarnings=False) +smiles(R"[O-]C(=O)[C@H]([NH3+])[C@@H](C(=O)[O-])O", printStereoWarnings=False) +smiles(R"O=C([O-])[C@@H]([NH3+])[C@H](O)C", printStereoWarnings=False) +smiles(R"O=C([O-])[C@H]([NH3+])[C@@H](O)C", printStereoWarnings=False) +smiles(R"[O-]C(=O)[C@@H]([NH3+])[C@H](O)CF", printStereoWarnings=False) +smiles(R"[O-]C(=O)[C@@H](NO)C(C)C", printStereoWarnings=False) +smiles(R"[O-]C(=O)[C@@H](NO)[C@H](CC)C", printStereoWarnings=False) +smiles(R"[O-]C(=O)[C@@H](N(O)O)C(C)C", printStereoWarnings=False) +smiles(R"[O-]C(=O)[C@@H](N(O)O)[C@H](CC)C", printStereoWarnings=False) +smiles(R"[O-]C(=O)[C@@H](O)CCC(=O)[O-]", printStereoWarnings=False) +smiles(R"[O-]C(=O)[C@H](O)CCC(=O)[O-]", printStereoWarnings=False) +smiles(R"[O-]C(=O)[C@H](OS(=O)(=O)[O-])C", printStereoWarnings=False) +smiles(R"[O-]C(=O)CN(C(=[NH2+])NP(=O)([O-])[O-])C", printStereoWarnings=False) +smiles(R"[O-]C(=O)CNC(=O)[C@@H](NC(=O)CC[C@@H](C(=O)[O-])[NH3+])CSCO", printStereoWarnings=False) +smiles(R"[O-]C(=O)C(NC(=O)N)[NH3+]", printStereoWarnings=False) +smiles(R"O=C([O-])C([NH3+])CCCCCCCCSC", printStereoWarnings=False) +smiles(R"O=C([O-])C([NH3+])CCCCCCCSC", printStereoWarnings=False) +smiles(R"O=C([O-])C([NH3+])CCCCCCSC", printStereoWarnings=False) +smiles(R"O=C([O-])C([NH3+])CCCCCSC", printStereoWarnings=False) +smiles(R"O=C([O-])C([NH3+])CCCCSC", printStereoWarnings=False) +smiles(R"O=C([O-])C([NH3+])CCC(=O)[O-]", printStereoWarnings=False) +smiles(R"O=C([O-])C([NH3+])CCSC", printStereoWarnings=False) +smiles(R"O=C([O-])C[NH+](C)C", printStereoWarnings=False) +smiles(R"O=C([O-])C(NO)CCCCCCCCSC", printStereoWarnings=False) +smiles(R"O=C([O-])C(NO)CCCCCCCSC", printStereoWarnings=False) +smiles(R"O=C([O-])C(NO)CCCCCCSC", printStereoWarnings=False) +smiles(R"O=C([O-])C(NO)CCCCCSC", printStereoWarnings=False) +smiles(R"O=C([O-])C(NO)CCCCSC", printStereoWarnings=False) +smiles(R"O=C([O-])C(N(O)O)CCCCCCCCSC", printStereoWarnings=False) +smiles(R"O=C([O-])C(N(O)O)CCCCCCCSC", printStereoWarnings=False) +smiles(R"O=C([O-])C(N(O)O)CCCCCCSC", printStereoWarnings=False) +smiles(R"O=C([O-])C(N(O)O)CCCCCSC", printStereoWarnings=False) +smiles(R"O=C([O-])C(N(O)O)CCCCSC", printStereoWarnings=False) +smiles(R"O=C([O-])C=O", printStereoWarnings=False) +smiles(R"[O-]C(=O)C(=O)C(C)C", printStereoWarnings=False) +smiles(R"[O-]C(=O)C(=O)CCC[C@@H](C(=O)[O-])NC(=O)CCC(=O)[O-]", printStereoWarnings=False) +smiles(R"[O-]C(=O)C(=O)CCCC[NH3+]", printStereoWarnings=False) +smiles(R"[O-]C(=O)C(=O)/C=C\CC(=O)[O-]", printStereoWarnings=False) +smiles(R"[O-]C(=O)C(=O)CCCNC(=[NH2+])N", printStereoWarnings=False) +smiles(R"[O-]C(=O)C(=O)CCC(=O)NC", printStereoWarnings=False) +smiles(R"[O-]C(=O)C(O)CCC(=O)[O-]", printStereoWarnings=False) +smiles(R"[O-]C(=O)C(=O)C[C@@H](C(=O)[O-])O", printStereoWarnings=False) +smiles(R"[O-]C(=O)C(=O)[C@H]([C@@H]([C@@H](CO)O)O)O", printStereoWarnings=False) +smiles(R"[O-]C(=O)C(=O)CS", printStereoWarnings=False) +smiles(R"[O-]C(=O)CSC", printStereoWarnings=False) +smiles(R"O(C(=O)N)CC", printStereoWarnings=False) +smiles(R"O=C(O)[O-]", printStereoWarnings=False) +smiles(R"[O-][Cr](=O)(=O)[O-]", printStereoWarnings=False) +smiles(R"O=C=S", printStereoWarnings=False) +smiles(R"O=C(SC[C@H](NC(=O)CC[C@H]([NH3+])C(=O)[O-])C(=O)NCC(=O)[O-])[C@@H](C)O", printStereoWarnings=False) +smiles(R"O=[Mo](=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"[O-][N+](=CCC(=O)[O-])[O-]", printStereoWarnings=False) +smiles(R"O=N[O-]", printStereoWarnings=False) +smiles(R"[O][O-]", printStereoWarnings=False) +smiles(R"O=O", printStereoWarnings=False) +smiles(R"OO", printStereoWarnings=False) +smiles(R"[O-]P(=O)CC(=O)C(=O)[O-]", printStereoWarnings=False) +smiles(R"[O-]P(=O)(CC(=O)C(=O)[O-])O", printStereoWarnings=False) +smiles(R"O=P(OC(=O)C)([O-])[O-]", printStereoWarnings=False) +smiles(R"O=P(OC=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"O(P(=O)(OC/C=C(/C)\CC/C=C(/C)\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(/CCC=C(C)C)\C)/C)/C)/C)/C)/C)/C)[O-])[C@@H]1O[C@@H]([C@H](C1=O)O)CO", printStereoWarnings=False) +smiles(R"O(P(=O)(OC/C=C(/C)\CC/C=C(/C)\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(/CCC=C(C)C)\C)/C)/C)/C)/C)/C)/C)[O-])[C@@H]1O[C@@H]([C@H]([C@@H]1O)O)CO", printStereoWarnings=False) +smiles(R"O(P(=O)(OC/C=C(/C)\CC/C=C(/C)\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(/CCC=C(C)C)\C)/C)/C)/C)/C)/C)/C)[O-])[C@@H]1O[C@@H]([C@H]([C@H]1O)O)CO", printStereoWarnings=False) +smiles(R"O(P(=O)(OC/C=C(/C)\CC/C=C(/C)\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(/CCC=C(C)C)\C)/C)/C)/C)/C)/C)/C)[O-])[C@@H]1O[C@@H]([C@H]([C@H]1O)O)COP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"O(P(=O)(OC/C=C(/C)\CC/C=C(/C)\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(/CCC=C(C)C)\C)/C)/C)/C)/C)/C)/C)[O-])P(=O)([O-])O[C@H]1[C@@H]([C@@H](O[C@H]2[C@@H]([C@@H]([C@@H](O[C@@H]3[C@H]([C@H]([C@@H]([C@H](O3)CO)O)O[C@@H]3[C@@H](C[C@H]([C@@H](C)O3)O)O)O)[C@@H](O2)C)O)O)[C@H]([C@H](O1)CO)O)O", printStereoWarnings=False) +smiles(R"O(P(=O)(OC/C=C(/C)\CC/C=C(/C)\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(/CCC=C(C)C)\C)/C)/C)/C)/C)/C)/C)[O-])P(=O)([O-])O[C@H]1[C@@H]([C@@H](O[C@H]2[C@@H]([C@@H]([C@@H](O[C@@H]3[C@H]([C@H]([C@@H]([C@H](O3)CO)O)O)O)[C@@H](O2)C)O)O)[C@H]([C@H](O1)CO)O)O", printStereoWarnings=False) +smiles(R"[O-]P(=O)(OCCC(=C)C)[O-]", printStereoWarnings=False) +smiles(R"[O-]P(=O)(OC[C@H]([C@H]([C@@H](CC(=O)C(=O)[O-])O)O)O)[O-]", printStereoWarnings=False) +smiles(R"[O-]P(=O)(OC[C@H]([C@@H]([C@@H]([C@H](C=O)O)O)O)O)[O-]", printStereoWarnings=False) +smiles(R"[O-]P(=O)(OC[C@@H](COC(=O)CCCCCCCCCCCCC)O)[O-]", printStereoWarnings=False) +smiles(R"[O-]P(=O)(OC[C@@H](COC(=O)CCCCCCCCCCC)O)[O-]", printStereoWarnings=False) +smiles(R"[O-]P(=O)(OC(=O)CC)[O-]", printStereoWarnings=False) +smiles(R"[O-]P(=O)(OC(=O)[C@H](CCC(=O)[O-])[NH3+])[O-]", printStereoWarnings=False) +smiles(R"O=P([O-])([O-])N", printStereoWarnings=False) +smiles(R"O(P(=O)([O-])[O-])C[C@H]([C@H](CC(=O)C(=O)[O-])O)O", printStereoWarnings=False) +smiles(R"O(P(=O)([O-])[O-])CC(=O)[C@@H]([C@@H]([C@H](C)O)O)O", printStereoWarnings=False) +smiles(R"O(P(=O)([O-])[O-])CC(=O)[C@H]([C@@H]([C@H](C)O)O)O", printStereoWarnings=False) +smiles(R"O(P(=O)([O-])[O-])P(=O)(OCC=C(C)C)[O-]", printStereoWarnings=False) +smiles(R"O(P(=O)([O-])[O-])P(=O)(OCCC(=C)C)[O-]", printStereoWarnings=False) +smiles(R"O(P(=O)([O-])[O-])P(=O)(OC/C=C(/CO)\C)[O-]", printStereoWarnings=False) +smiles(R"[O-]P(=O)([O-])OP(=O)(O)[O-]", printStereoWarnings=False) +smiles(R"O=P([O-])([O-])OP(=O)([O-])OC/C=C(\C)/CC/C=C(\C)/CC/C=C(\C)/CC/C=C(\C)/CC/C=C(\C)/CC/C=C(\C)/CC/C=C(\C)/CC/C=C(\C)/CCC=C(C)C", printStereoWarnings=False) +smiles(R"O(P(=O)([O-])OP(=O)([O-])OC[C@@H]1[C@H]([C@H]([C@H](n2c3nc([nH]c(=O)c3nc2)N)O1)O)O)C[C@H]1O[C@H]2Nc3nc([nH]c(=O)c3N[C@H]2C2=C1S[Mo](=O)(=O)S2)N", printStereoWarnings=False) +smiles(R"O(P(=O)([O-])OP(=O)([O-])OC[C@@H]1[C@H]([C@H]([C@H](n2c(=O)nc(cc2)N)O1)O)O)C[C@H]1O[C@H]2Nc3nc([nH]c(=O)c3N[C@H]2C2=C1S[Mo](=O)(=O)S2)N", printStereoWarnings=False) +smiles(R"[O-]P(=O)([O-])OP(=O)([O-])OP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"O(P(=O)([O-])OP(=O)([O-])OP(=O)([O-])OP(=O)([O-])OP(=O)([O-])OP(=O)([O-])OC[C@@H]1[C@H]([C@H]([C@H](n2cnc3c(N)ncnc23)O1)O)O)C[C@@H]1[C@H]([C@H]([C@H](n2cnc3c2ncnc3N)O1)O)O", printStereoWarnings=False) +smiles(R"O(P(=O)(OP(=O)(OC1O[C@@H]([C@H]([C@@H]([C@H]1NC(=O)C)O)O[C@@H]1O[C@@H]([C@H]([C@@H]([C@@H]1NC(=O)C)O)O)CO)CO)[O-])[O-])C/C=C(/C)\CC/C=C(/C)\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)/C)/C)/C)/C)/C)/C", printStereoWarnings=False) +smiles(R"O(P(=O)(OP(=O)(OC1O[C@@H]([C@H]([C@@H]([C@H]1NC(=O)C)O)O[C@@H]1O[C@@H]([C@H]([C@@H]([C@H]1O)O)O)CO)CO)[O-])[O-])C/C=C(/C)\CC/C=C(/C)\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)/C)/C)/C)/C)/C)/C", printStereoWarnings=False) +smiles(R"O(P(=O)(OP(=O)(OC1O[C@@H]([C@H]([C@@H]([C@H]1NC(=O)C)O)O)CO)[O-])[O-])C/C=C(/C)\CC/C=C(/C)\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)/C)/C)/C)/C)/C)/C", printStereoWarnings=False) +smiles(R"[O-]P(=O)(OP(=O)(OC/C=C(/CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)\C)[O-])[O-]", printStereoWarnings=False) +smiles(R"O(P(=O)(OP(=O)(OC[C@H]1O[C@H]([C@@H]([C@@H]1O)O)n1cnc2c1ncnc2N)[O-])[O-])C[C@H]1O[C@@H]([C@@H]([C@@H]1O)O)NC(=[NH2+])NCCC[C@@H](C(=O)[O-])[NH3+]", printStereoWarnings=False) +smiles(R"[O-]P(=O)(OP(=O)(O[C@@H]1C2(C(C(C1)CC2)(C)C)C)[O-])[O-]", printStereoWarnings=False) +smiles(R"O(P(=O)(OP(=O)(O[C@@H]1[C@@H]([C@@H](O[C@H]2[C@@H]([C@@H]([C@@H](O)[C@@H](O2)C)O)O)[C@@H]([C@H](O1)CO)O)NC(=O)C)[O-])[O-])C/C=C(/C)\CC/C=C(/C)\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(/CCC=C(C)C)\C)/C)/C)/C)/C)/C)/C", printStereoWarnings=False) +smiles(R"O(P(=O)(OP(=O)(O[C@H]1O[C@@H]([C@H]([C@@H]([C@H]1NC(=O)C)O[C@@H]1[C@@H]([C@H]([C@H]([C@H](O1)CO)O)O)NC(=O)C)NC(=O)C)C)[O-])[O-])C/C=C(/C)\CC/C=C(/C)\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\C)/CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)/C)/C)/C)/C)/C", printStereoWarnings=False) +smiles(R"O(P(=O)(OP(=O)(O[C@H]1O[C@@H]([C@H]([C@@H]([C@H]1NC(=O)C)O[C@@H](C(=O)N[C@H](C(=O)N[C@H](CCC(=O)N[C@H](C(=O)N[C@@H](C(=O)N[C@@H](C(=O)[O-])C)C)CCC[C@H](C(=O)[O-])[NH3+])C(=O)[O-])C)C)O[C@@H]1[C@@H]([C@H]([C@@H]([C@H](O1)CO)O)O)NC(=O)C)CO)[O-])[O-])C/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(/C)\CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)/C)/C)/C)/C)/C)/C)/C", printStereoWarnings=False) +smiles(R"O(P(=O)(OP(=O)(O[C@H]1O[C@@H]([C@H]([C@@H]([C@H]1NC(=O)C)O[C@@H](C(=O)N[C@H](C(=O)N[C@H](CCC(=O)N[C@H](C(=O)N[C@@H](C(=O)N[C@@H](C(=O)[O-])C)C)CCC[C@H](C(=O)[O-])[NH3+])C(=O)[O-])C)C)O)CO)[O-])[O-])C/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(/C)\CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)/C)/C)/C)/C)/C)/C)/C", printStereoWarnings=False) +smiles(R"O(P(=O)(OP(=O)(O[C@H]1O[C@@H]([C@H]([C@@H]([C@H]1NC(=O)C)O)NC(=O)C)C)[O-])[O-])C/C=C(/C)\CC/C=C(/C)\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\C)/CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)/C)/C)/C)/C)/C", printStereoWarnings=False) +smiles(R"O(P(=O)(OP(=O)(O[C@@H]1O[C@@H]([C@H]([C@@H]([C@H]1NC(=O)C)O)O[C@@H]1O[C@@H]([C@H]([C@@H]([C@@H]1NC(=O)C)O)O)COP(=O)(OCC(O)CO)[O-])CO)[O-])[O-])C/C=C(/C)\CC/C=C(/C)\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)/C)/C)/C)/C)/C)/C", printStereoWarnings=False) +smiles(R"O(P(=O)(OP(=O)(O[C@H]1O[C@@H]([C@H]([C@@H]([C@H]1NC(=O)C)O)O)CO)[O-])[O-])C/C=C(/C)\CC/C=C(/C)\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(/CCC=C(C)C)\C)/C)/C)/C)/C)/C)/C", printStereoWarnings=False) +smiles(R"O(P(=O)(OP(=O)(O[C@H]1O[C@@H]([C@H]([C@@H]([C@H]1NC(=O)C)O)O)CO)[O-])[O-])C/C=C(/C)\CC/C=C(/C)\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(\CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)/C)/C)/C)/C)/C)/C", printStereoWarnings=False) +smiles(R"O(P(=O)(OP(=O)([O-])[O-])[O-])C/C=C(\CCC=C(C)C)/C", printStereoWarnings=False) +smiles(R"[O-]P(=O)(OP(=O)([O-])[O-])OC/C=C(\CC/C=C(\CCC=C(C)C)/C)/C", printStereoWarnings=False) +smiles(R"[O-]P(=O)(OP(=O)(OP(=O)(OC[C@H]1O[C@@H](n2c3ncnc(N)c3nc2)[C@@H]([C@@H]1O)OP(=O)(OC[C@H]1O[C@H]([C@@H]([C@@H]1O)OP(=O)([O-])OC[C@H]1O[C@H]([C@@H]([C@@H]1O)O)n1c2ncnc(N)c2nc1)n1c2ncnc(N)c2nc1)[O-])[O-])[O-])[O-]", printStereoWarnings=False) +smiles(R"O=[Se](O)O", printStereoWarnings=False) +smiles(R"O=S(=O)(C)C", printStereoWarnings=False) +smiles(R"O=S(=O)(C[C@@H](C(=O)[O-])OP(=O)([O-])[O-])[O-]", printStereoWarnings=False) +smiles(R"[O-]S(=O)[O-]", printStereoWarnings=False) +smiles(R"O=S(=O)([O-])CCO", printStereoWarnings=False) +smiles(R"O=S(=O)([O-])OC", printStereoWarnings=False) +smiles(R"[O-]S(=O)(=O)SSS(=O)(=O)[O-]", printStereoWarnings=False) +smiles(R"O=[Te](O)O", printStereoWarnings=False) +smiles(R"O=[W](=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"P1(=O)(OC(CO1)CO)[O-]", printStereoWarnings=False) +smiles(R"P1(=O)(O[C@@H]2[C@H](O[C@H]([C@@H]2O)n2cnc3c2ncnc3N)COP(=O)(O[C@@H]2[C@H](O[C@H]([C@@H]2O)n2cnc3c2ncnc3N)CO1)[O-])[O-]", printStereoWarnings=False) +smiles(R"P1(=O)(O[C@@H]2[C@H](O[C@H]([C@@H]2O)n2cnc3c2ncnc3N)COP(=O)(O[C@@H]2[C@H](O[C@H]([C@@H]2O)n2cnc3c2nc([nH]c3=O)N)CO1)[O-])[O-]", printStereoWarnings=False) +smiles(R"P1(=O)(O[C@@H]2[C@H](O[C@H]([C@@H]2O)n2cnc3c2nc([nH]c3=O)N)COP(=O)(O[C@@H]2[C@H](O[C@H]([C@@H]2O)n2cnc3c2nc([nH]c3=O)N)CO1)[O-])[O-]", printStereoWarnings=False) +smiles(R"P(=O)(C[C@H](C)O)([O-])O", printStereoWarnings=False) +smiles(R"P(=O)(CC(=O)[O-])([O-])O", printStereoWarnings=False) +smiles(R"P(=O)(Oc1ccc(cc1)[N+](=O)[O-])([O-])[O-]", printStereoWarnings=False) +smiles(R"P(=O)(OC/C=C/1\S[C@@H](N=C1C)C(=O)[O-])([O-])[O-]", printStereoWarnings=False) +smiles(R"P(=O)(OCCc1sc(nc1C)C(=O)[O-])([O-])[O-]", printStereoWarnings=False) +smiles(R"P(=O)(OCCc1scnc1C)([O-])[O-]", printStereoWarnings=False) +smiles(R"P(=O)(OC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)\C)\C)\C)\C)\C)\C)\C)(OP(=O)([O-])[O-])[O-]", printStereoWarnings=False) +smiles(R"P(=O)(OC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)\C)\C)\C)\C)\C)(OP(=O)([O-])[O-])[O-]", printStereoWarnings=False) +smiles(R"P(=O)(OC(C)C)(OC(C)C)F", printStereoWarnings=False) +smiles(R"P(=O)(OCC(C(=O)[O-])[NH3+])(OCC[NH3+])[O-]", printStereoWarnings=False) +smiles(R"P(=O)(OC(=C)C(=O)[O-])([O-])C(=O)[O-]", printStereoWarnings=False) +smiles(R"P(=O)(OC(=C)C(=O)[O-])([O-])[O-]", printStereoWarnings=False) +smiles(R"P(=O)(OCC(C=O)O)([O-])[O-]", printStereoWarnings=False) +smiles(R"P(=O)(OC[C@H]1O[C@@H](n2c3c(nc2)c(ncn3)N)[C@@H]([C@@H]1O)O)(Nc1c(cccc1)C(=O)[O-])[O-]", printStereoWarnings=False) +smiles(R"P(=O)(OC[C@H]([C@](CO)(O)C)O)([O-])[O-]", printStereoWarnings=False) +smiles(R"P(=O)(OC[C@H]([C@H]([C@@H]([C@H](C(=O)[O-])O)O)O)O)([O-])[O-]", printStereoWarnings=False) +smiles(R"P(=O)(OC[C@H]([C@H]([C@H](CO)O)O)O)([O-])[O-]", printStereoWarnings=False) +smiles(R"P(=O)(OC[C@@H]([C@H](C(=O)[C@@H](C(=O)[O-])O)O)O)([O-])[O-]", printStereoWarnings=False) +smiles(R"P(=O)(OC[C@H]([C@@H](C(=O)[O-])[NH3+])O)([O-])[O-]", printStereoWarnings=False) +smiles(R"P(=O)(OC[C@H](COC/C=C(/CC/C=C(\C)/CC/C=C(/CCC=C(C)C)\C)\C)OC/C=C(/CC/C=C(\C)/CC/C=C(/CCC=C(C)C)\C)\C)(OC[C@@H](C(=O)[O-])[NH3+])[O-]", printStereoWarnings=False) +smiles(R"P(=O)(OC[C@H](COC/C=C(/CC/C=C(\C)/CC/C=C(/CCC=C(C)C)\C)\C)OC/C=C(/CC/C=C(\C)/CC/C=C(/CCC=C(C)C)\C)\C)([O-])[O-]", printStereoWarnings=False) +smiles(R"P(=O)(OC[C@H](COC/C=C(/CC/C=C(\C)/CC/C=C(/CCC=C(C)C)\C)\C)OC/C=C(/CC/C=C(\C)/CC/C=C(/CCC=C(C)C)\C)\C)(OP(=O)(OC[C@H]1O[C@@H](n2c(=O)nc(cc2)N)[C@@H]([C@@H]1O)O)[O-])[O-]", printStereoWarnings=False) +smiles(R"P(=O)(OC[C@H](C=O)O)([O-])[O-]", printStereoWarnings=False) +smiles(R"P(=O)(OC[C@@H](O)[C@@H](O)[C@H](Cn1c2c(nc3c1cc(c(c3)C)C)c(=O)[n-]c(=O)n2)O)(OP(=O)(OC[C@H]1O[C@H]([C@@H]([C@@H]1O)O)n1c2c(nc1)c(ncn2)N)[O-])[O-]", printStereoWarnings=False) +smiles(R"P(=O)(OC[C@@H](O)[C@@H](O)[C@H](Cn1c2c([nH]c3c1cc(c(c3)C)C)c(=O)[nH]c(=O)[nH]2)O)(OP(=O)(OC[C@H]1O[C@H]([C@@H]([C@@H]1O)O)n1c2c(nc1)c(ncn2)N)[O-])[O-]", printStereoWarnings=False) +smiles(R"P(=O)(OCC[NH3+])([O-])OCC(O)CO", printStereoWarnings=False) +smiles(R"P(=O)([O-])(CCO)O", printStereoWarnings=False) +smiles(R"P(=O)(O[C@H]1[C@H]([C@H](OC(=C)C(=O)[O-])CC(=C1)C(=O)[O-])O)([O-])[O-]", printStereoWarnings=False) +smiles(R"P(=O)(O[C@@H]([C@@H](C(=O)[O-])NC(=O)CCCCCCSSCCS(=O)(=O)[O-])C)([O-])[O-]", printStereoWarnings=False) +smiles(R"P(=O)(OC(=O)C(C)C)([O-])[O-]", printStereoWarnings=False) +smiles(R"P(=O)(OC(=O)CCC)([O-])[O-]", printStereoWarnings=False) +smiles(R"P(=O)(OC(=O)[C@@H](COP(=O)([O-])[O-])O)([O-])[O-]", printStereoWarnings=False) +smiles(R"P(=O)(OC(=O)N)([O-])[O-]", printStereoWarnings=False) +smiles(R"P(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"P(=O)([O-])(O)C", printStereoWarnings=False) +smiles(R"P(=O)([O-])(OC[C@H](COCCC(CCCC(CCCC(CCCC(C)C)C)C)C)OCCC(CCCC(CCCC(CCCC(C)C)C)C)C)[O-]", printStereoWarnings=False) +smiles(R"P(=O)([O-])(OC[C@@H](C(=O)[O-])[NH3+])OC[C@@H](CO)O", printStereoWarnings=False) +smiles(R"P(=O)([O-])(O)CO", printStereoWarnings=False) +smiles(R"P(=O)([O-])(O)[O-]", printStereoWarnings=False) +smiles(R"P(=O)(OP(=O)(OC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)[O-])([O-])[O-]", printStereoWarnings=False) +smiles(R"P(=O)(OP(=O)(OC/C=C(/[CH])\C)[O-])([O-])[O-]", printStereoWarnings=False) +smiles(R"P(=O)(OP(=O)([O-])OC/C=C(\CC/C=C(/CCC=C(C)C)\C)/C)([O-])[O-]", printStereoWarnings=False) +smiles(R"P(=O)(OP(=O)([O-])[O-])([O-])OC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CC/C=C(/CCC=C(C)C)\C)\C)\C)\C)\C)\C)\C)\C)\C)\C", printStereoWarnings=False) +smiles(R"P(=[SeH])(O)([O-])[O-]", printStereoWarnings=False) +smiles(R"[S]", printStereoWarnings=False) +smiles(R"s1c(ccc1C#CC(COC(=O)C)OC(=O)C)c1sccc1", printStereoWarnings=False) +smiles(R"S1CC(=NCC1)C(=O)[O-]", printStereoWarnings=False) +smiles(R"S1CC([NH2+]CC1)C(=O)[O-]", printStereoWarnings=False) +smiles(R"S1C(=NC(=O)[CH-]1)c1nc2c(s1)cc(cc2)O", printStereoWarnings=False) +smiles(R"[S+](C)(C)C", printStereoWarnings=False) +smiles(R"S(CCCC(=O)C(=O)[O-])C", printStereoWarnings=False) +smiles(R"S(C[C@H]([C@H](C(=O)COP(=O)([O-])[O-])O)O)C", printStereoWarnings=False) +smiles(R"SC[C@@H]([C@@H](CS)O)O", printStereoWarnings=False) +smiles(R"S(C[C@@H](C(=O)[O-])[NH3+])S(=O)(=O)[O-]", printStereoWarnings=False) +smiles(R"SCCNC(=O)CCNC(=O)[C@H](O)C(C)(C)COP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"SCC(=O)[O-]", printStereoWarnings=False) +smiles(R"S(CCS(=O)(=O)[O-])C[C@@H](O)C", printStereoWarnings=False) +smiles(R"S(CCS(=O)(=O)[O-])C[C@H](O)C", printStereoWarnings=False) +smiles(R"S(CCS(=O)(=O)[O-])CC(=O)C", printStereoWarnings=False) +smiles(R"[S-]C#N", printStereoWarnings=False) +smiles(R"S(C(=O)CC(=O)CCCCCCCCCCCCCCCCCCC)CCNC(=O)CCNC(=O)[C@@H](C(COP(=O)(OP(=O)(OC[C@H]1O[C@H]([C@@H]([C@@H]1OP(=O)([O-])[O-])O)n1c2c(nc1)c(ncn2)N)[O-])[O-])(C)C)O", printStereoWarnings=False) +smiles(R"S(C(=O)CC(=O)OC)CCNC(=O)CCNC(=O)C(C(COP(=O)(OP(=O)(OC[C@H]1O[C@H]([C@@H]([C@@H]1OP(=O)([O-])[O-])O)n1c2c(nc1)c(ncn2)N)[O-])[O-])(C)C)O", printStereoWarnings=False) +smiles(R"S(C(=O)C(=S)CCC(=O)[O-])CCNC(=O)CCNC(=O)C(C(COP(=O)(OP(=O)(OC[C@H]1O[C@H]([C@@H]([C@@H]1OP(=O)([O-])[O-])O)n1c2c(nc1)c(ncn2)N)[O-])[O-])(C)C)O", printStereoWarnings=False) +smiles(R"[SeH2]", printStereoWarnings=False) +smiles(R"[SeH]SC[C@H](NC(=O)CC[C@H]([NH3+])C(=O)[O-])C(=O)NCC(=O)[O-]", printStereoWarnings=False) +smiles(R"[Se](=O)(=O)(O)O", printStereoWarnings=False) +smiles(R"[SH-]", printStereoWarnings=False) +smiles(R"S(=O)(CCNC(=[NH2+])N)[O-]", printStereoWarnings=False) +smiles(R"S(=O)(CCNC(=[NH2+])NP(=O)([O-])[O-])[O-]", printStereoWarnings=False) +smiles(R"S(=O)(=O)(C[C@H](C(=O)[O-])O)[O-]", printStereoWarnings=False) +smiles(R"S(=O)(=O)(CC[NH2+][C@@H](C(=O)[O-])C)[O-]", printStereoWarnings=False) +smiles(R"S(=O)(=O)(CCSC)[O-]", printStereoWarnings=False) +smiles(R"S(=O)(=O)(CCS)[O-]", printStereoWarnings=False) +smiles(R"S(=O)(=O)(C)[O-]", printStereoWarnings=False) +smiles(R"S(=O)(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"S(=O)(=O)([O-])SS(=O)(=O)[O-]", printStereoWarnings=False) +smiles(R"S(=O)(=O)(S)[O-]", printStereoWarnings=False) +smiles(R"[Te](=O)(=O)(O)C", printStereoWarnings=False) +smiles(R"[Zn+2]", printStereoWarnings=False) diff --git a/test/py/graph/030_smiles/mass/smiles.py b/test/py/graph/030_smiles/mass/smiles.py index 9ac6987..92d182d 100644 --- a/test/py/graph/030_smiles/mass/smiles.py +++ b/test/py/graph/030_smiles/mass/smiles.py @@ -1,8 +1,6 @@ config.graph.useWrongSmilesCanonAlg = False config.graph.isomorphismAlg = Config.IsomorphismAlg.Canon config.graph.smilesCheckAST = True -config.graph.ignoreStereoInSmiles = True -config.graph.printSmilesParsingWarnings = False #config.canon.printStats = True include("loadGraphs.py") diff --git a/test/py/graph/030_smiles/mass/smiles_cansmi_roundtrip.py b/test/py/graph/030_smiles/mass/smiles_cansmi_roundtrip.py index f585956..4157acd 100644 --- a/test/py/graph/030_smiles/mass/smiles_cansmi_roundtrip.py +++ b/test/py/graph/030_smiles/mass/smiles_cansmi_roundtrip.py @@ -1,4455 +1,4455 @@ post.disableInvokeMake() -smiles(R"[B@]123[C@@]45[B@]67[B@@]89[C@]1(B2468)B3579") -smiles(R"[BH3-][N@+]12CN3CN(CN(C3)C2)C1") -smiles(R"[BH3-][N+]12CN3CN(CN(C3)C2)C1") -smiles(R"[Br-]") -smiles(R"Br[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"Br[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"Br[C@-]12C3=C4C5=C1[Fe+2]16782345C2=C7[C@@-]8(Br)C6=C12") -smiles(R"Br[C@@-]12C3=C4C5=C1[Fe+2]16782345C2=C7[C@@-]8(Br)C6=C12") -smiles(R"Br[C@]12CC[C@H](CC1)[C@]1(Br)CC[C@H]2CC1") -smiles(R"Br[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"Br[C@]1(Br)[C@]23CCCC[C@@]13CC=CC2") -smiles(R"Br[C@]1(Br)[C@@H]2CCC=CCC[C@H]12") -smiles(R"Br[C@]1(Br)[C@@H]2CCCCCC[C@H]12") -smiles(R"Br[C@@]1(Br)[C@H]2CCCC[C@@H]12") -smiles(R"Br[C@]1(Br)[C@@H]2C[C@H]3[C@H](C[C@H]12)[C@H]1C[C@H]2[C@H](C[C@H]31)[C@]2(Br)Br") -smiles(R"Br[C@]1(Br)[C@H]2COCOC[C@@H]12") -smiles(R"Brc1c2c3ccccc3ccn2c2nc3ccccc3nc12") -smiles(R"Brc1c2nsnc2c(Br)c2nsnc12") -smiles(R"BrC1=C(Br)[C@@]2(Br)CC[C@]1(Br)[C@@]2(Br)Br") -smiles(R"Brc1cc2ccccc2c2c3c4ccccc4cc(Br)c3c3c(Br)cc4ccccc4c3c3c(c(Br)cc4ccccc34)c12") -smiles(R"Brc1cc2cc(C(=O)Nc3scc(n3)[C@@]34C[C@H]5C[C@H](C[C@H](C5)C4)C3)c(=O)oc2c(Br)c1") -smiles(R"Brc1cc(Br)cc(/N=C/c2ccc(cc2)N2CC[C@]3(CCCCC3)CC2)c1") -smiles(R"Brc1ccc2c3nc4cc(ccc4nc3c3cccc1c23)C(F)(F)F") -smiles(R"Brc1ccc2c(c1)nc1C(=O)c3cccnc3c3nccc2c13") -smiles(R"Brc1ccc2nc3C(=O)c4cccnc4c4nccc(c34)c2c1") -smiles(R"Brc1ccc2N(C)C(=O)/C(=c/3\sc4nc5ccccc5n4c3=O)/c2c1") -smiles(R"Brc1ccc2NC(=O)/C(=c\3/sc4nc5ccccc5n4c3=O)/c2c1") -smiles(R"Brc1ccc2[nH]cc(/C=N/NC(=S)N[C@]34C[C@@H]5C[C@@H](C[C@@H](C5)C4)C3)c2c1") -smiles(R"Brc1cc(cc2c1c1c(cc(cc1C2=O)[N+](=O)[O-])[N+](=O)[O-])[N+](=O)[O-]") -smiles(R"Brc1cccc(c1)[C@@H]1ON=C(c2ccccc2)N1[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"Brc1ccc(cc1)C[N@+]12CN3CN(CN(C3)C2)C1") -smiles(R"Brc1ccc(cc1)/C=N/[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"Brc1ccccc1/C=N/[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"Brc1ccc(cc1)C(=O)[C@-]12C3=C4C5=C1[Fe+2]16782345C2=C7[C@-]8(C(=O)c3ccc(Br)cc3)C6=C12") -smiles(R"Brc1ccc(cc1)C(=O)[C@-]12C3=C4C5=C1[Fe+2]16782345C2=C7[C@@-]8(C(=O)c3ccc(Br)cc3)C6=C12") -smiles(R"Brc1ccc(cc1)C(=O)[C@@]12S[C@H](C(=O)c3ccc(Br)cc3)[C@@H](S[C@]2(S[C@@H](C(=O)c2ccc(Br)cc2)[C@H](S1)C(=O)c1ccc(Br)cc1)C(=O)c1ccc(Br)cc1)C(=O)c1ccc(Br)cc1") -smiles(R"Brc1ccc(cc1)C(=O)/C=c/1\[nH]c2ccccc2nc1N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"Brc1cccc(c1)C(=O)CCN1C[C@@H]2CC[C@@H](CC2)C1") -smiles(R"Brc1ccc(cc1)C(=O)C[N@@+]12CN3CN(CN(C3)C2)C1") -smiles(R"Brc1ccc(cc1)N1C[C@H](O)CN(C[C@H](O)C1)c1ccc(Br)cc1") -smiles(R"Brc1ccc(cc1)N1C[C@@H](OC(=O)C)CN(C[C@@H](OC(=O)C)C1)c1ccc(Br)cc1") -smiles(R"Brc1ccc(cc1)N1C(=O)[C@@H]2[C@H](C1=O)[C@]1(Cl)C(=C(Cl)[C@@]2(Cl)[C@]1(Cl)Cl)Cl") -smiles(R"Brc1ccc(cc1)/N=C\1/C(C)(C)/C(=N\c2ccc(Br)cc2)/[C@]1(C)C") -smiles(R"Brc1ccc(cc1)S(=O)(=O)OC[C@H]1C[C@@H]2CC[C@H]1CC2") -smiles(R"Brc1cccc(/C=N/[C@]23C[C@@H]4C[C@@H](C[C@@H](C4)C3)C2)c1") -smiles(R"Brc1cccc(/N=C/c2ccc(cc2)N2CC[C@]3(CCCCC3)CC2)c1") -smiles(R"Brc1ccc(c(O)c1)[C@H]1O[C@H]1C(=O)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"Brc1ccc(nc1)NC(=S)N[C@@]12C[C@@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"Brc1cc(/C=N\C[C@@H]2CC[C@@H](C/N=C\c3cc(Br)cc(Br)c3O)CC2)c(O)c(Br)c1") -smiles(R"Brc1ccc(N/N=C/c2ccc(cc2)N2CC[C@]3(CCCCC3)CC2)cc1") -smiles(R"Brc1cc(/C=N/NC(=S)N[C@]23C[C@@H]4C[C@@H](C[C@@H](C4)C3)C2)c(O)c(Br)c1") -smiles(R"Brc1ccc(O)c(/C=N/NC(=S)N[C@]23C[C@@H]4C[C@@H](C[C@@H](C4)C3)C2)c1") -smiles(R"Brc1ccc(s1)c1ccc2nnnn2n1") -smiles(R"BrC1=C[C@@H]2[C@H](C1=O)[C@H]1[C@H]3CC[C@H]3[C@]2(Br)[C@]21OCCO2") -smiles(R"BrC1=C(N2CC2)C(=O)C2=C(C1=O)[C@H]1c3ccccc3[C@@H]2c2ccccc12") -smiles(R"Br[C-]1C(=[O+][Ru+3]23([O+]=C1C)([O+]=C(C)[C-](Br)C(=[O+]2)C)[O+]=C(C)[C-](Br)C(=[O+]3)C)C") -smiles(R"Brc1sc(N2CC[C@@H](CC2)c2ccccc2)c2C(=O)C[C@H](NC(=O)C(F)(F)F)c12") -smiles(R"BrC[C@]1(C)CO[C@](OC1)(C1CCCCC1)c1ccccc1") -smiles(R"BrC[C@]1(C)CO[C@@](OC1)(c1ccccc1)c1cccs1") -smiles(R"Br/C=C(\Br)/C(=C\Br)/Br") -smiles(R"Br/C=C(\Br)/C[N@+]12CN3CN(CN(C3)C2)C1") -smiles(R"BrCC[C@@H]1CC/C(=N\Nc2ccc(cc2[N+](=O)[O-])[N+](=O)[O-])/CC1") -smiles(R"BrCC[C@H]1CC/C(=N/Nc2ccc(cc2[N+](=O)[O-])[N+](=O)[O-])/CC1") -smiles(R"Br/C=C/C[N@+]12CN3CN(CN(C3)C2)C1") -smiles(R"BrC(=C)C[N@@+]12CN3CN(CN(C3)C2)C1") -smiles(R"BrC(=C)C[N+]12CN3CN(CN(C3)C2)C1") -smiles(R"BrCC[N@@+]12CC[N@@+](CCBr)(CC1)C2") -smiles(R"BrCC[N@+]12CC[N@+](CCBr)(CC1)C2") -smiles(R"BrCC(=O)[C@H](OC(=O)C)[C@@H](OC(=O)C)[C@@H](OC(=O)C)C(=O)CBr") -smiles(R"BrCC(=O)N1CC[C@]2(CC1)SS[C@@]1(CCN(CC1)C(=O)CBr)S2") -smiles(R"BrCC(=O)/N=n\1/c2ccccc2nc2c1c1cccc3cccc2c13") -smiles(R"BrCC(=O)/N=n\1/c2ccc(cc2nc2c1c1cccc3cccc2c13)C(F)(F)F") -smiles(R"BrCC(=O)/N=n\1/c2ccc(cc2nc2c1c1cccc3ccc(OC)c2c13)C(F)(F)F") -smiles(R"BrCC(=O)/N=n\1/c2ccccc2nc2c3c(OC)ccc4cccc(c34)c12") -smiles(R"BrCC(=O)/N=n\1/c2ccc(C)cc2nc2c1c1cccc3cccc2c13") -smiles(R"BrCC(=O)/N=n\1/c2ccc(C)cc2nc2c3c(OC)ccc4cccc(c34)c12") -smiles(R"BrCC(=O)/N=n\1/c2ccc(Cl)cc2nc2c1c1cccc3cccc2c13") -smiles(R"BrCC(=O)/N=n\1/c2ccc(Cl)cc2nc2c3c(OC)ccc4cccc(c34)c12") -smiles(R"BrCC(=O)/N=n\1/c2ccc(OC)cc2nc2c1c1cccc3cccc2c13") -smiles(R"Br[C@@H]1CC2(OCCO2)[C@@H](Br)C[C@]21OCCO2") -smiles(R"Br[C@H]1CCCCC[C@@]21OCCO2") -smiles(R"Br[C@@H]1CCCCC[C@H](Br)[C@]21OCCO2") -smiles(R"Br[C@@H]1CCCCC[C@H](Br)[C@@]21OCCO2") -smiles(R"Br[C@@H]1CCCC[C@H](Br)[C@]21OCCO2") -smiles(R"Br[C@@H]1CC[C@@H]2[C@H](CC[C@H](Br)[C@]32OCCO3)[C@@]21OCCO2") -smiles(R"Br[C@@H]1C[C@@H]2c3ccccc3[C@H]1c1ccccc21") -smiles(R"Br[C@H]1C[C@@H](Br)[C@@H]2O[C@@](C)(C)O[C@H]12") -smiles(R"Br[C@H]1C[C@@](Sc2ccccc2)(C[C@@H]1Br)S(=O)(=O)c1ccccc1") -smiles(R"Br[C@H]1[C@@H]2CC[C@@H](CC2)[C@H]1Br") -smiles(R"Br[C@@H]1[C@H](Br)[C@@]2(Cl)C(=C(Cl)[C@]1(Cl)[C@]2(Cl)Cl)Cl") -smiles(R"Br[C@@H]1[C@H](Br)[C@@H](Br)[C@H](Br)[C@H](Br)[C@H]1Br") -smiles(R"Br[C@H]1CN2C[C@@H](Br)CN2C1") -smiles(R"Br[C@@H](C(=O)/C(=N/Nc1ccc(cc1[N+](=O)[O-])[N+](=O)[O-])/N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)C(=O)c1ccccc1") -smiles(R"Br[C@@H](C(=O)/C(=N/Nc1ccc(cc1[N+](=O)[O-])[N+](=O)[O-])/NC12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)C(=O)c1ccccc1") -smiles(R"Br[C@H](C[S@@](=O)(=O)C[C@H](Br)c1ccccc1)c1ccccc1") -smiles(R"Br[Co@@](Br)(/[O+]=C\1/CCCN1)/[O+]=C\1/CCCN1") -smiles(R"Br[N@+]12CN3CN(CN(C3)C2)C1") -smiles(R"Br[Ni]123(Br)[N@+]4(CC[N@+]1(CC[N@+]3(CC[N@@+]2(CC4)Cc1ccccc1)Cc1ccccc1)Cc1ccccc1)Cc1ccccc1") -smiles(R"[C-]12C3=C4C5=C1[Fe+2]16782345C2=C7[C@-]8(B([C@@-]34C5=C7C8=C3[Fe+2]39%10%114578[C-]4C%10=C9C3=C%114)[C@@-]34C5=C7C8=C3[Fe+2]39%10%114578[C-]4C%10=C9C3=C%114)C6=C12") -smiles(R"[C-]12C3=C4C5=C1[Fe+2]16782345C2=C7[C@@-]8(C6=C12)B([C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82)[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"[C-]12C3=C4C5=C1[Fe+2]16782345C2=C7[C@@-]8(C6=C12)B([C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82)[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"[C-]12C3=C4C5=C1[Fe+2]16782345C2=C7[C@-]8(C6=C12)[C@H+]([C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82)[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"[C-]12C3=C4C5=C1[Fe+2]16782345C2=C7[C@-]8(C6=C12)[CH+]([C@@-]12[Fe+2]3456789([C-]%10C5=C4C3=C6%10)C(=C29)C7=C18)[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"C12=C3C4=C5[C@@H]1[Co]16782345C2=C6C7=C1[C@@H]82") -smiles(R"C12=C3C4=C5[C@@H]1[Fe]16782345C2=C6C7=C1[C@@H]82") -smiles(R"C12=C3C4=C5[C@@H]1[Fe+]16782345C2=C6C7=C1[C@@H]82") -smiles(R"C12=C3C4=C5[C@@H]1[Fe+]16782345C2=C6C7=C1[C@H]82") -smiles(R"C12=C3C4=C5[C@H]1[Fe+]16782345C2=C6C7=C1[C@H]82") -smiles(R"C12=C3C4=C5[C@@H]1[Fe]16782345C2=C7[C@]8(C6=C12)[C@@]12C3=C4C5=C1[Fe]16782345C2=C7C6=C1[C@@H]82") -smiles(R"C12=C3C4=C5[C@@H]1[Fe]16782345C2=C7[C@@]8(C6=C12)[Ge]([C@]12C3=C4C5=C1[Fe]16782345C2=C7C6=C1[C@H]82)([C@@]12C3=C4C5=C1[Fe]16782345C2=C7C6=C1[C@H]82)[C@]12C3=C4C5=C1[Fe]16782345C2=C7C6=C1[C@H]82") -smiles(R"C12=C3C4=C5[C@@H]1[Fe]16782345C2=C7[C@@]8(C6=C12)[Pb]([C@]12C3=C4C5=C1[Fe]16782345C2=C7C6=C1[C@H]82)([C@]12C3=C4C5=C1[Fe]16782345C2=C7C6=C1[C@H]82)[C@@]12C3=C4C5=C1[Fe]16782345C2=C7C6=C1[C@H]82") -smiles(R"C12=C3C4=C5[C@@H]1[Fe]16782345C2=C7[C@@]8(C6=C12)[Si]([C@]12C3=C4C5=C1[Fe]16782345C2=C7C6=C1[C@H]82)([C@@]12C3=C4C5=C1[Fe]16782345C2=C7C6=C1[C@H]82)[C@]12C3=C4C5=C1[Fe]16782345C2=C7C6=C1[C@H]82") -smiles(R"C12=C3C4=C5[C@@H]1[Mn]16782345C2=C6C7=C1[C@@H]82") -smiles(R"C12=C3C4=C5[C@@H]1[Ni]16782345C2=C6C7=C1[C@@H]82") -smiles(R"C12=C3C4=C5[C@@H]1[Ru]16782345C2=C6C7=C1[C@@H]82") -smiles(R"c1cc2cccc3[C@H]4[C@@H](c(c1)c23)[C@H]1c2cccc3cccc([C@@H]41)c23") -smiles(R"C1C[C@]2(CC[C@@H]1C2)[N+]#[C-][Mn+]([C-]#[N+][C@]12CC[C@H](CC1)C2)([C-]#[N+][C@]12CC[C@H](CC1)C2)([C-]#[N+][C@@]12CC[C@@H](CC1)C2)([C-]#[N+][C@@]12CC[C@@H](CC1)C2)[C-]#[N+][C@@]12CC[C@@H](CC1)C2") -smiles(R"C1C[C@@]2(CC[C@H]1C2)[N+]#[C-][Mn+]([C-]#[N+][C@@]12CC[C@@H](CC1)C2)([C-]#[N+][C@@]12CC[C@@H](CC1)C2)([C-]#[N+][C@]12CC[C@H](CC1)C2)([C-]#[N+][C@@]12CC[C@@H](CC1)C2)[C-]#[N+][C@@]12CC[C@@H](CC1)C2") -smiles(R"C1C[C@]2(CO2)CC[C@]21CO2") -smiles(R"c1cc2ncc3cccc4ncc(c1)c2c34") -smiles(R"c1cc2nnc3cccc4nnc(c1)c2c34") -smiles(R"c1cc2onc3c4cccc5onc(c(c1)c23)c45") -smiles(R"C1CC[C@]23CCCC[C@]3(C1)O2") -smiles(R"C1=CC=C23[C@H]4C5=C6[Fe]789%10245([C@H]2C9=C8C7=C%102)C36=C1") -smiles(R"c1ccc2=c3ccc4c5c3c(=c2c1)ccc5c1ccc2=c3ccccc3=c3ccc4c1c23") -smiles(R"c1ccc2=c3ccccc3=c2c1") # smiles(R"c1ccc2C3=NC4=NC(=NC5=NC(=NC6=NC(=NC(=N3)c2c1)c1ccccc61)c1ccccc51)c1ccccc41") -smiles(R"c1ccc2c(c1)c1nc3cc4nc5c(nc4cc3nc1c1ccccc21)c1ccccc1c1ccccc51") -smiles(R"c1ccc2c(c1)c1oc3cccc4c3c3c1c1c(cccc21)oc3c1ccccc41") -smiles(R"c1ccc2c(c1)cc1ccc3cc4ccccc4c4nnc2c1c34") -smiles(R"c1ccc2c(c1)ccc1cc3cc4cc5c(ccc6ccccc56)cc4cc3cc21") -smiles(R"c1ccc2c(c1)ccc1cc3c(cc21)c1ccccc1c1ccccc31") -smiles(R"c1ccc2c(c1)ccc1ccc3ccc4ccc5ccccc5c4c3c21") -smiles(R"c1ccc2c(c1)ccc1c[n+]3c(ccc4ccccc34)cc21") -smiles(R"c1ccc2c(c1)ccc1nc3c4cccc5cccc(c3nc21)c45") -smiles(R"c1ccc2c(c1)ccc1nc3c(nc21)c1ccccc1c1ccccc31") -smiles(R"c1ccc2c(c1)ccc1OCN(Cc21)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"C1CC[C@@]2(CC1)CCN(CC2)c1ccc(/C=N/c2ccc3ccccc3c2)cc1") -smiles(R"c1ccc2c(c1)[C@@H]1CCCC[C@H]2c2ccccc12") -smiles(R"c1ccc2c(c1)[C@H]1CCC[C@@H]2c2ccccc12") -smiles(R"c1ccc2c(c1)[C@@H]1[C@H]3c4ccccc4[C@H](c4ccccc34)[C@H]2c2ccccc12") -smiles(R"c1ccc2c(c1)[C@@H]1[C@@H]3COC[C@@H]3[C@H]2c2ccccc12") -smiles(R"c1ccc2c(c1)[C@H]1[C@@H]3O[C@@H]3[C@@H]2c2ccccc12") -smiles(R"c1ccc2c(c1)[C@@H]1N[C@H]2c2ccccc12") -smiles(R"c1ccc2c(c1)[C@@H]1O[C@H]2c2ccccc12") -smiles(R"c1ccc2c(c1)CN1Cc3ccccc3[C@@H]2C1") -smiles(R"c1ccc2c(c1)[nH]c1cc3c(cc21)[nH]c1ccccc31") -smiles(R"c1ccc2c(c1)[nH]c1c[n+]3c(c[n+]21)[nH]c1ccccc31") -smiles(R"c1ccc2c(c1)oc1ccc3nsnc3c21") -smiles(R"c1ccc2c(c1)Oc1ccccc1[C@]12S[C@@]21c1ccccc1Oc1ccccc21") -smiles(R"c1ccc2c(c1)OC[C@@]12CC[C@]2(OCCO2)C=C1") -smiles(R"C1CC[C@@]2(CC1)O[C@@H]1[C@@H](O[C@H]3O[C@H]4CO[C@]5(CCCCC5)O[C@H]4[C@H]4O[C@]5(CCCCC5)O[C@H]34)O[C@H]3CO[C@@]4(CCCCC4)O[C@H]3[C@H]1O2") -smiles(R"c1ccc2c(c1)Sc1nccc3ccnc2c13") -smiles(R"C1=CC=c2cc3C=c4ccccc4=c3cc2C1") -smiles(R"c1ccc2cc3c(ccc4c3ccc3ccccc43)cc2c1") -smiles(R"c1ccc2cc3c(ccc4c[n+]5ccccc5cc34)c[n+]2c1") -smiles(R"c1ccc2Cc3cc(ccc3c2c1)/N=C\1/CC/C(=N\c2ccc3c(c2)Cc2ccccc32)/CC1") -smiles(R"c1ccc2Cc3ccccc3C(=C[C@-]34C5=C6C7=C3[Fe+2]389%104567[C-]4C9=C8C3=C%104)c2c1") -smiles(R"c1ccc2Cc3ccccc3C(=C[C@@-]34C5=C6C7=C3[Fe+2]389%104567[C-]4C9=C8C3=C%104)c2c1") -smiles(R"c1ccc2cc3[nH]c4cc5ccccc5cc4[nH]c3cc2c1") -smiles(R"c1ccc2cc3n[se]nc3cc2c1") -smiles(R"c1ccc2cc3oc4cc5ccccc5cc4c3cc2c1") -smiles(R"c1ccc2ccc3c4ccc5ccccc5c4ccc3c2c1") -smiles(R"c1ccc2ccc3cc4c(ccc5ccccc45)cc3c2c1") -smiles(R"C1CCc2ccc3cc4c(ccc5ccccc45)cc3c2C1") -smiles(R"c1ccc2ccc3c(ccc4sc5ccccc5[n+]34)c2c1") -smiles(R"C1CCc2ccc3c[n+]4c(ccc5ccccc45)n3c2C1") -smiles(R"c1ccc2ccc3n4c(ccc5ccccc45)c[n+]3c2c1") -smiles(R"c1ccc2C=C/C(=C\[C@-]34C5=C6C7=C3[Fe+2]389%104567[C-]4C9=C8C3=C%104)/c2c1") -smiles(R"c1ccc2C=C/C(=C\[C@@-]34C5=C6C7=C3[Fe+2]389%104567[C-]4C9=C8C3=C%104)/c2c1") -smiles(R"C1CC[C@]2(CCCC[C@H]2C1)CC[C@]12CCCC[C@@H]2CCCC1") -smiles(R"c1ccc2ccc(/N=C/[C@-]34C5=C6C7=C3[Fe+2]389%104567[C-]4C9=C8C3=C%104)cc2c1") -smiles(R"c1ccc2ccc(/N=C/[C@@-]34C5=C6C7=C3[Fe+2]389%104567[C-]4C9=C8C3=C%104)cc2c1") -smiles(R"c1ccc2ccc(N/N=C/[C@-]34C5=C6C7=C3[Fe+2]389%104567[C-]4C9=C8C3=C%104)nc2c1") -smiles(R"c1ccc2ccc(N/N=C/[C@@-]34C5=C6C7=C3[Fe+2]389%104567[C-]4C9=C8C3=C%104)nc2c1") -smiles(R"c1ccc2C[C@H]3[C@@H](Cc2c1)[C@H]1c2ccccc2[C@@H]3c2ccccc12") -smiles(R"c1ccc2c(n1)ccc1nc3c(ccc4ncccc34)nc21") -smiles(R"c1ccc2C=[N+]3CCC[O+]4[Cu@@]3(Oc2c1)[O+]1CCC[N+]2=Cc3ccccc3O[Cu@]412") -smiles(R"c1ccc2cnc3cc4c(ncc5ccccc45)cc3c2c1") -smiles(R"c1ccc2nc3c(nc2c1)c1cccc2cccc3c12") -smiles(R"c1ccc2nc3c(sc4nc5ccccc5n34)nc2c1") -smiles(R"c1ccc2ncc3cc4c(cc3c2c1)[nH]c1ccccc41") -smiles(R"c1ccc2ncn(C[C@-]34C5=C6C7=C3[Fe+2]389%104567[C-]4C9=C8C3=C%104)c2c1") -smiles(R"c1ccc2ncn(C[C@@-]34C5=C6C7=C3[Fe+2]389%104567[C-]4C9=C8C3=C%104)c2c1") -smiles(R"c1ccc2nc(sc2c1)NC(Nc1nc2ccccc2s1)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"c1ccc2nc(SSN3C[C@@H]4CC[C@@H](CC4)C3)sc2c1") -smiles(R"c1ccc2[nH]c3c4cc5ccccc5n4ccc3c2c1") -smiles(R"c1ccc2[nH]/c(=c\3/[nH]c4ccccc4[se]3)/[se]c2c1") -smiles(R"c1ccc2[nH]cc(CC/N=C/[C@]34C5=C6C7=C3[Fe]389%104567[C@H]4C9=C8C3=C%104)c2c1") -smiles(R"c1ccc2[n-]n3c4ccc5[nH]onc5c4n[n+]3c2c1") -smiles(R"c1ccc2[n-]n3c4ccc5nonc5c4n[n+]3c2c1") -smiles(R"c1ccc2nnn(C[C@@]34C5=C6C7=C3[Fe]389%104567[C@H]4C9=C8C3=C%104)c2c1") -smiles(R"c1ccc2n[se]nc2c1") -smiles(R"c1ccc2nsnc2c1") -smiles(R"c1ccc2oc3cc4c(cc3c2c1)n1nnnc1c1cccn41") -smiles(R"c1ccc2oc3cc4c(ncc5cccn45)cc3c2c1") -smiles(R"c1ccc2oc3cc4c(nnc5cccn45)cc3c2c1") -smiles(R"c1ccc2Sc3ccccc3N(C[C@H]3CN4CC[C@@H]3CC4)c2c1") -smiles(R"c1ccc2Sc3ccccc3N([C@H]3CN4CC[C@H]3CC4)c2c1") -smiles(R"C1CCC(C1)CC[N@@+]12CC[N@@+](CCC3CCCC3)(CC1)C2") -smiles(R"c1ccc(cc1)[AsH](c1ccccc1)(c1ccccc1)c1ccccc1") -smiles(R"c1ccc(cc1)[C@@]12c3ccccc3[C@H]2c2ccccc12") -smiles(R"c1ccc(cc1)[C@]12CN(Cc3ccccc13)Cc1ccccc21") -smiles(R"c1ccc(cc1)c1c2ccc3ccccc3c2cc2ccc3ccccc3c12") -smiles(R"c1ccc(cc1)c1ccc2c(c1)c1nc3ccccc3nc1c1ccccc21") -smiles(R"c1ccc(cc1)c1ccc(c2ccccc2)p1c1ccccc1") -smiles(R"c1ccc(cc1)C1=C(N=c2ccccc2=c2ccccc2=N1)c1ccccc1") -smiles(R"c1ccc(cc1)c1cnn2nnnc2n1") -smiles(R"c1ccc(cc1)c1cnnc2c3c(nnc(c4ccccc4)c3c3ccccc3)nn12") -smiles(R"c1ccc(cc1)c1c(nn(c2ccccc2)c2=c3ccccc3=CSc12)c1ccccc1") -smiles(R"c1ccc(cc1)c1nc2cc3c(cc2n2cccc12)oc1ccccc31") -smiles(R"c1ccc(cc1)c1n[n+](c2ccccc2c2ccccc2)n(n1)c1ccccc1") -smiles(R"c1ccc(cc1)c1nnn(CCn2nnc(n2)c2ccccc2)n1") -smiles(R"c1ccc(cc1)c1nnnn1[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"c1ccc(cc1)c1nnn(n1)c1ccccc1") -smiles(R"c1ccc(cc1)c1nnn(n1)C[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"c1ccc(cc1)C1=NNN(N1)C[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"C1CCC(CC1)c1nnnn1C[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"C1CCC(CC1)c1nnnn1C[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"c1ccc(cc1)c1nnn(n1)n1nnc(n1)c1ccccc1") -smiles(R"c1ccc(cc1)c1sc(c2ccccc2)c2c1nn1ccc3ccccc3c21") -smiles(R"c1ccc(cc1)c1sc(c2ccccc2)c2[C@@H](c3ccccc3)c3c(sc(c4ccccc4)c3[C@@H](c3ccccc3)c12)c1ccccc1") -smiles(R"c1ccc(cc1)C[C@@]12N=N[C@@](Cc3ccccc3)([C@@H]3C=C[C@H]13)[C@@H]1C=C[C@H]21") -smiles(R"c1cc(ccc1/C=C/[C@@]12C3=C4C5=C1[Fe]16782345C2=C7C6=C1[C@H]82)/C=C/[C@]12C3=C4C5=C1[Fe]16782345C2=C7C6=C1[C@H]82") -smiles(R"c1ccc(cc1)C#Cc1c2ccccc2c(C#Cc2ccccc2)c2oc3c(ccc4ccccc34)c12") -smiles(R"c1ccc(cc1)/C=C/c1nnnn1[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"c1ccc(cc1)C[C@H]1N[C@H](Cc2ccccc2)N2[C@H](Cc3ccccc3)N12") -smiles(R"c1ccc(cc1)CC[N@@+]12CC[N@@+](CCc3ccccc3)(CC1)C2") -smiles(R"c1ccc(cc1)CC[N@+]12CC[N@+](CCc3ccccc3)(CC1)C2") -smiles(R"c1ccc(cc1)CC[N@+]12CN3CN(CN(C3)C2)C1") -smiles(R"c1ccc(cc1)/C(=C(\N=N\C(c1ccccc1)(c1ccccc1)c1ccccc1)/c1ccccc1)/N=N\C(c1ccccc1)(c1ccccc1)c1ccccc1") -smiles(R"c1ccc(cc1)C#C[Ti]12345678(C#Cc9ccccc9)(C9=C3C2=C1[C@H]49)C1=C6C7=C5[C@H]81") -smiles(R"c1ccc(cc1)[C@@H]1c2cccc3[C@@H](c4ccccc4)c4cccc5c4[C@@H](c23)c2c1cccc2[C@H]5c1ccccc1") -smiles(R"C1CCC(CC1)[C@@H]1CC[C@H](CC1)C1CCCCC1") -smiles(R"C1CCC(CC1)[C@H]1CC[C@@H](CC1)N1CCCCC1") -smiles(R"c1ccc(cc1)[C@@H]1[C@@H](c2ccccc2)[C@H](c2ccccc2)[C@H]1c1ccccc1") -smiles(R"c1ccc(cc1)[C@@H]1[C@@H](c2ccccc2)N1[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"c1ccc(cc1)[C@@H]1[C@H](c2ccnc3c4ccccc4ccc23)[C@@H](c2ccccc2)[C@H]1c1ccnc2c1ccc1ccccc21") -smiles(R"c1ccc(cc1)[C@H]1[C@@H](c2nc3ccccc3o2)[C@H](c2ccccc2)[C@H]1c1nc2ccccc2o1") -smiles(R"c1ccc(cc1)[C@H]1C[N@@+]2(CCCC2)CC2(CCCCC2)O1") -smiles(R"c1ccc(cc1)[C@H]1C[N@+]2(CCCC2)CC2(CCCCC2)O1") -smiles(R"c1ccc(cc1)[C@H]1CO[C@]2(CCCC2)O1") -smiles(R"C1CCC(CC1)[C@@H]1O[C@@]21C=C[C@@]1(CC[C@]3(CC1)O[C@@]13C=CC=C1)C2") -smiles(R"c1ccc(cc1)[C@@H]1Oc2ccccc2[C@@]2(SCCS2)C1") -smiles(R"c1ccc(cc1)[C@@H]1O[C@]2(CCCCC2)C[N@@+]21CCCC2") -smiles(R"c1ccc(cc1)[C@@H]1O[C@@]2(CCCCC2)C[N@@+]21CCCC2") -smiles(R"c1ccc(cc1)[C@@H]1OC[C@@]2(CO1)CO[C@H](OC2)c1ccccc1") -smiles(R"c1ccc(cc1)[C@H]1ON=C(c2ccccc2)N1[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"c1ccc(cc1)[C@H]1SC[C@H]2CO[C@@]3(CCCCC3)N12") -smiles(R"c1ccc(cc1)[C@@H]([C@H](c1ccccc1)[C@]12C3=C4C5=C1[Fe]16782345[C@H]2C7=C6C1=C82)[C@@]12C3=C4C5=C1[Fe]16782345[C@@H]2C7=C6C1=C82") -smiles(R"c1ccc(cc1)C[N@@+]12CC[N@+](CC1)(Cc1ccccc1)C2") -smiles(R"c1ccc(cc1)C[N@+]12CC[N@@+](CC1)(Cc1ccccc1)C2") -smiles(R"c1ccc(cc1)C[N@@+]12CN3CN(CN(C3)C2)C1") -smiles(R"c1ccc(cc1)CN1CC[C@@]2(CC1)SS[C@]1(CCN(CC1)Cc1ccccc1)S2") -smiles(R"c1ccc(cc1)CN1[C@@H]2c3ccccc3[C@H]1c1ccccc21") -smiles(R"c1ccc(cc1)Cn1cnc2nnn3ncnc3c12") -smiles(R"c1ccc(cc1)Cn1cnc2nnn3nnnc3c12") -smiles(R"c1ccc(cc1)/C=N/[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"C1CCC(CC1)/C=N/[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"c1ccc(cc1)CN(CCCCCCN(Cc1ccccc1)C[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1)C[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"c1ccc(cc1)/C=N/CC/N=C\c1ccccc1") -smiles(R"c1ccc(cc1)/C=N/C/N=C\c1ccccc1") -smiles(R"c1ccc(cc1)/C=N/Nc1nnn(n1)Cc1ccccc1") -smiles(R"c1ccc(cc1)/C=N\N=C\c1ccccc1") -smiles(R"c1ccc(cc1)/C(=N\N=C(\c1ccccc1)/c1cccs1)/c1cccs1") -smiles(R"c1ccc(cc1)COc1ccc2[nH]c3c(ncc4[nH]c5ccccc5c34)c2c1") -smiles(R"c1ccc(cc1)COc1nc2cc(ccc2[nH]1)C12C[C@@H]3C[C@H](C[C@@H](C3)C2)C1") -smiles(R"c1ccc(cc1)CP(c1ccccc1)([C@@]12C3=C4C5=C1[Fe]16782345[C@H]2C7=C6C1=C82)[C@]12C3=C4C5=C1[Fe]16782345[C@H]2C7=C6C1=C82") -smiles(R"c1ccc(cc1)CP(c1ccccc1)(c1ccccc1)c1ccccc1") -smiles(R"c1ccc(cc1)CSc1nc2nn[nH]c2c(n1)N1CCCCC1") -smiles(R"c1cc(ccc1CSP123N4CCN1CCN3CCN2CC4)CSP123N4CCN1CCN3CCN2CC4") -smiles(R"c1ccc(cc1)[Ge@@](c1ccccc1)([C@]12C3=C4C5=C1[Fe]16782345C2=C7C6=C1[C@H]82)[C@]12C3=C4C5=C1[Fe]16782345C2=C7C6=C1[C@@H]82") -smiles(R"c1ccc(cc1)N[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"c1ccc(cc1)N=c1c2c(ccc3ccccc23)oc2ccc3ccccc3c12") -smiles(R"c1ccc(cc1)/N=C\1/c2sccc2/C(=N/c2ccccc2)/c2sccc12") -smiles(R"c1ccc(cc1)/N=C/1\[C@H]2CCN(CC2)[C@H]1C(c1ccccc1)c1ccccc1") -smiles(R"C1CCC(CC1)/N=C\1/N(C2CCCCC2)/C(=N\C2CCCCC2)/N1C1CCCCC1") -smiles(R"c1ccc(cc1)/N=C/1\[SH+][Ni+2]2([SH+]1)[SH+]/C(=N/c1ccccc1)/[SH+]2") -smiles(R"c1cc(ccc1/N=C/[C@@]12C3=C4C5=C1[Fe]16782345C2=C7C6=C1[C@H]82)c1ccc(cc1)/N=C/[C@@]12C3=C4C5=C1[Fe]16782345C2=C7C6=C1[C@@H]82") -smiles(R"c1cc(ccc1/N=C/[C@@]12C3=C4C5=C1[Fe]16782345C2=C7C6=C1[C@H]82)/N=C/[C@]12C3=C4C5=C1[Fe]16782345C2=C7C6=C1[C@H]82") -smiles(R"c1ccc(cc1)/N=C/c1nc2ncnc3ccn1c23") -smiles(R"c1ccc(cc1)N[C@H]1CC[C@@H](CC1)/C(=C/1\C=C/C(=N\c2ccccc2)/C=C1)/[C@H]1CC[C@@H](CC1)Nc1ccccc1") -smiles(R"c1ccc(cc1)N[C@H]1CCN(CC1)C1(CCCCC1)c1ccccc1") -smiles(R"c1ccc(cc1)N/N=C\1/C(=C/c2ccccc2)/CCC/C1=C\c1ccccc1") -smiles(R"c1ccc(cc1)/N=N/c1ccc(cc1)/N=C/[C@-]12[Fe+2]3456789([C-]%10C5=C4C3=C6%10)C(=C29)C7=C18") -smiles(R"c1ccc(cc1)/N=N/c1ccc(cc1)/N=C/[C@@-]12[Fe+2]3456789([C-]%10C5=C4C3=C6%10)C(=C29)C7=C18") -smiles(R"c1ccc(cc1)N/N=C\1/S/C(=N/c2ccccc2)/C(=N/c2ccccc2)/S1") -smiles(R"c1ccc(cc1)N/N=C/c1nc2ncnc3ccn1c23") -smiles(R"c1ccc(cc1)O[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"c1ccc(cc1)p1c2ccccc2c2ccccc12") -smiles(R"c1ccc(cc1)[Pb@@](c1ccccc1)([C@]12C3=C4C5=C1[Fe]16782345C2=C7C6=C1[C@H]82)[C@]12C3=C4C5=C1[Fe]16782345C2=C7C6=C1[C@@H]82") -smiles(R"c1ccc(cc1)P([C@]12C3=C4C5=C1[Fe]16782345C2=C7C6=C1[C@@H]82)[C@]12C3=C4C5=C1[Fe]16782345C2=C7C6=C1[C@H]82") -smiles(R"c1ccc(cc1)P(c1ccccc1)[C@@]12C3=C4C5=C1[Fe]16782345C2=C7[C@]8(P(c3ccccc3)c3ccccc3)C6=C12") -smiles(R"c1ccc(cc1)P(c1ccccc1)(c1ccccc1)[Pd@]12SCC[S+]2[Pd@@]2(SCC[S+]12)P(c1ccccc1)(c1ccccc1)c1ccccc1") -smiles(R"c1ccc(cc1)[P+](C[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82)(c1ccccc1)c1ccccc1") -smiles(R"c1ccc(cc1)[P+](C[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82)(c1ccccc1)c1ccccc1") -smiles(R"c1ccc(cc1)[Si@@](c1ccccc1)([C@]12C3=C4C5=C1[Fe]16782345C2=C7C6=C1[C@H]82)[C@]12C3=C4C5=C1[Fe]16782345C2=C7C6=C1[C@@H]82") -smiles(R"c1ccc(cc1)[Sn](S[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1)(c1ccccc1)c1ccccc1") -smiles(R"c1ccc(/C=C/C=C(\C=C\c2ccccc2)/C=C/c2ccccc2)cc1") -smiles(R"c1ccc(cn1)S[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"c1ccc(/C=N\N=C\c2ccccn2)nc1") -smiles(R"c1ccc(CSP234N5CCN2CCN4CCN3CC5)c(c1)CSP123N4CCN1CCN3CCN2CC4") -smiles(R"C1CC[C@@H]2CCCCN2C1") -smiles(R"C1CC[C@H]2CCCCN2C1") -smiles(R"C1CC[C@H]2[C@H](C1)C[C@@H]1CCCC[C@@H]1[C@@H]2[C@@H]1[C@H]2CCCC[C@@H]2C[C@@H]2CCCC[C@H]12") -smiles(R"C1CC[C@H]2N[Au@]3(N[C@@H]2C1)N[C@@H]1CCCC[C@H]1N3") -smiles(R"C1CC[C@H]2N(C1)[C@H]1CCCCN1[C@@H]1CCCCN21") -smiles(R"C1CC[C@H]2N[Cu@@+2]3(N[C@@H]2C1)N[C@@H]1CCCC[C@H]1N3") -smiles(R"C1CC[C@H]2N[Cu@+2]3(N[C@@H]2C1)N[C@@H]1CCCC[C@H]1N3") -smiles(R"C1CC[C@H]2N[Cu@]3(N[C@@H]2C1)N[C@@H]1CCCC[C@H]1N3") -smiles(R"C1CC[C@H]2N[Ni@@+2]3(N[C@@H]2C1)N[C@@H]1CCCC[C@H]1N3") -smiles(R"C1CC[C@H]2N[Ni@+2]3(N[C@@H]2C1)N[C@@H]1CCCC[C@H]1N3") -smiles(R"C1CC[C@H]2N[Ni@]3(N[C@@H]2C1)N[C@@H]1CCCC[C@H]1N3") -smiles(R"C1CC[C@H]2N[Pt@@+2]3(N[C@@H]2C1)[OH+][Pt@+2]1(N[C@@H]2CCCC[C@H]2N1)[OH+][Pt@@+2]1(N[C@@H]2CCCC[C@H]2N1)[OH+]3") -smiles(R"C1CC[C@H]2N[Pt@+2]3(N[C@@H]2C1)[OH+][Pt@@+2]1(N[C@@H]2CCCC[C@H]2N1)[OH+][Pt@@+2]1(N[C@@H]2CCCC[C@H]2N1)[OH+]3") -smiles(R"C1=CC[C@@H](CC1)[C@@H]1OC[C@]2(CO1)CO[C@H](OC2)[C@H]1CCC=CC1") -smiles(R"C1CC[C@H](OC1)OC[C@@]1(CCCCO1)CO[C@@H]1CCCCO1") -smiles(R"c1cccnc1") -smiles(R"C1CCCNC1") -smiles(R"c1ccc(nc1)[C@]12c3ccccc3[C@@H]2c2ccccc12") -smiles(R"c1ccc(nc1)C1=C(N=c2ccccc2=c2ccccc2=N1)c1ccccn1") -smiles(R"c1ccc(nc1)[C@H]1[C@@H](c2ccccn2)[C@H](c2ccccn2)[C@@H]1c1ccccn1") -smiles(R"c1ccc(nc1)S[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"c1ccc(nc1)S[C@@]12[C@H]3[C@@H]4[C@H]5[C@@H]([C@H]14)[C@@H]2[C@@H]35") -smiles(R"c1cc(CSP234N5CCN2CCN4CCN3CC5)cc(c1)CSP123N4CCN1CCN3CCN2CC4") -smiles(R"C1=C[C@@H]2C[C@]3(OCCO3)[C@@H]2C1") -smiles(R"C1C[C@@H]2CCCc3c4CCC[C@H]5CCCc(c(C1)c23)c45") -smiles(R"C1C[C@@H]2CCC[C@@H]2C1") -smiles(R"C1C[C@H]2CCC[C@@H]3[C@@H]2[C@@H](C1)[C@H]1CCC[C@@H]2CCC[C@H]3[C@H]12") -smiles(R"C1C[C@H]2CCC[C@@H]3[C@H]4CCCC[C@@H]4[C@@H](C1)[C@@H]23") -smiles(R"C1=C[C@@H]2C=C[C@H]12") -smiles(R"C1=C[C@H]2C=C[C@@H]1C2") -smiles(R"C1C[C@H]2CC[C@@H]1C2") -smiles(R"C1C[C@@H]2CC[C@H]1CN(C2)[C@H]1CO[C@@H](CO1)N1C[C@H]2CC[C@H](CC2)C1") -smiles(R"C1C[C@H]2CC[C@@H]1O2") -smiles(R"C1C[C@H]2CC[C@H]3CC[C@@H]1[C@@H]23") -smiles(R"C1=C[C@H]2CC[C@@H](C1)[C@@]12OCCO1") -smiles(R"C1C[C@H]2C[C@@H]1[C@]13O[C@H]1[C@]1(CC1)[C@H]1O[C@@]231") -smiles(R"C1C[C@@H]2CCN1C[C@@]12SS[C@@]2(CN3CC[C@H]2CC3)S1") -smiles(R"C1=C[C@@H]2[C@@H]3C=C[C@H]1C=C[C@H]23") -smiles(R"C1C[C@@H]2[C@H](CCC[C@]32OCCO3)[C@]2(C1)OCCO2") -smiles(R"C1C[C@@H]2[C@H](CCC[C@@]32OCCO3)[C@]2(C1)OCCO2") -smiles(R"C1CC[N@@+]2(CC1)C[C@]12Cc2ccccc2C1") -smiles(R"C1CC[N@+]2(CC1)C[C@]12Cc2ccccc2C1") -smiles(R"C1CC[N@@+]2(CC1)C[C@]12Cc2ccccc2c2ccccc2C1") -smiles(R"C1CC[N@+]2(CC1)C[C@@]12Cc2ccccc2c2ccccc2C1") -smiles(R"C1CC[N+]2(CC1)Cc1c(ccc3ccccc13)[OH+][Cu@@+2]12[Cl-][Cu@+2]2([OH+]c3ccc4ccccc4c3C[N+]32CCCCC3)[Cl-]1") -smiles(R"C1CC[N+]2(CC1)Cc1c(ccc3ccccc13)[OH+][Cu@+2]12[Cl-][Cu@@+2]2([OH+]c3ccc4ccccc4c3C[N+]32CCCCC3)[Cl-]1") -smiles(R"c1cc[n+]2cc3ccc4cc5cccc[n+]5cc4c3cc2c1") -smiles(R"c1cc[n+]2cc3c(ccc4cc5cccc[n+]5cc34)cc2c1") -smiles(R"C1CCN2C[C@@H]3C[C@@H](CN4CCCC[C@@H]34)[C@H]2C1") -smiles(R"C1CCN(C1)c1ccc2nnnn2n1") -smiles(R"C1CCN(C1)c1n2ccccc2c2n1c1ccccc1n1c(N3CCCC3)n3ccccc3c21") -smiles(R"c1ccncc1") -smiles(R"C1CCNCC1") -smiles(R"C1CCN(CC1)c1cc2nc3c(cc(N4CCCCC4)c4ccccc34)nc2c2ccccc12") -smiles(R"c1cc[n+](cc1)[C@@H]1c2ccccc2[C@@H]([n+]2ccccc2)c2ccccc12") -smiles(R"C1CCN(CC1)[C@H]1C[C@@H]2c3ccccc3[C@H]1c1ccccc21") -smiles(R"c1cc(/N=C/[C@@]23C4=C5C6=C2[Fe]27893456[C@@H]3C8=C7C2=C93)c2cccc(/N=C/[C@@]34C5=C6C7=C3[Fe]389%104567[C@H]4C9=C8C3=C%104)c2c1") -smiles(R"C1[C@H]2C[C@@H]3C[C@H]1CC(C2)(C3)C1=[O+][Rh]234OC(=[O+][Rh]4([O+]=C(O2)C24C[C@@H]5C[C@@H](C[C@H](C5)C4)C2)(O1)OC(=[O+]3)C12C[C@H]3C[C@@H](C[C@@H](C3)C2)C1)C12C[C@H]3C[C@H](C[C@@H](C3)C2)C1") -smiles(R"C1[C@H]2C[C@H]3C[C@@H]1C[C@@](C2)(C3)c1sc2nnc(n2n1)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"C1[C@@H]2C[C@H]3C[C@@H]1CC(C2)(C3)Nc1nc(nc(n1)N[C@@]12C[C@@H]3C[C@@H](C[C@H](C3)C2)C1)N[C@@]12C[C@H]3C[C@H](C[C@@H](C3)C2)C1") -smiles(R"C1[C@@H]2C[C@@H]3C[C@H]1C[C@](C2)(C3)N[Cd@@+2](N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)(N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"C1[C@@H]2C[C@@H]3C[C@H]1CC(C2)(C3)N[Cd+2](NC12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)(NC12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)NC12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"C1[C@@H]2C[C@@H]3C[C@H]1C[C@](C#C[C@]14C[C@@H]5C[C@@H](C[C@@H](C5)C4)C1)(C2)C3") -smiles(R"C1[C@@H]2C[C@@H]3C[C@H]1C[C@](/C=N/[C@]14C[C@@H]5C[C@@H](C[C@@H](C5)C4)C1)(C2)C3") -smiles(R"C1[C@@H]2C[C@@H]3C[C@H]1C[C@H](C2)[C@@]13OO[C@]21[C@@H]1C[C@H]3C[C@@H](C1)C[C@@H]2C3") -smiles(R"C1[C@H]2C[C@@H]3[C@H](C2)[C@H]13") -smiles(R"C1[C@H]2O[C@H]3CN1C[C@@H](O2)O3") -smiles(R"C1CN1[C@H]1CC[C@@H](CC1)N1CC1") -smiles(R"C1C[N@@+]23CCC[N@+]4(CCC2)CC[SH+][Ni@@+2]34[SH+]1") -smiles(R"C1C[N@@+]23CCC[N@+]4(CCC2)CC[SH+][Pd@@+2]34[SH+]1") -smiles(R"C1CN2CCC[C@@H]2C1") -smiles(R"C1CN2CCC[C@H]2C1") -smiles(R"C1CN2CCN1[Co@]12N2CCN1CC2") -smiles(R"C1CN2CCN1[Cu@+2]12N2CCN1CC2") -smiles(R"C1CN2CCN1[Hg@]12N2CCN1CC2") -smiles(R"C1CN2CCN1[Ni@+2]12N2CCN1CC2") -smiles(R"C1CN2CCN1[Zn@]12N2CCN1CC2") -smiles(R"C1CN2CCN3CCCN4CCN(C1)[C@H]2[C@H]34") -smiles(R"c1cnc2c(c1)ccc1CN(COc21)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"c1cnc2n[se]nc2c1") -smiles(R"c1cnc2nsnc2c1") -smiles(R"C1CN(CCN1C[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)C[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"C1CN=C(N1)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"C1CN=C(O1)N1C[C@@H]2CC[C@@H](CC2)C1") -smiles(R"c1c[nH]c(n1)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"c1c[nH]c(n1)[C@@]12[C@H]3[C@@H]4[C@@H]5[C@H]3[C@H]2[C@@H]5[C@H]14") -smiles(R"c1cnn(c1)[C@@]12[C@H]3[C@@H]4[C@@H]5[C@H]3[C@H]2[C@@H]5[C@H]14") -smiles(R"C1COB(O1)[C@]12[C@@H]3CCC[C@H]1CCC[C@H]2CCC3") -smiles(R"C1COB(O1)[C@@H]1C[C@H]2CCC[C@H]3CCC[C@@H](C1)[C@@H]23") -smiles(R"c1coc2=c(o1)occo2") -smiles(R"C1C[S+]2[Ni@]3(N1)NCC[S+]3[Ni@]12[S+]2CCN[Ni@@]32NCC[S+]13") -smiles(R"C1CS[C@]2(SC1)SCS[C@@]12SCCCS1") -smiles(R"c1csc(c1)c1nnc(o1)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"c1csc(c1)c1sc2nnc(n2n1)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"c1csc(c1)C[N@@+]12CN3CN(CN(C3)C2)C1") -smiles(R"c1csc(c1)C[N@+]12CN3CN(CN(C3)C2)C1") -smiles(R"c1csc(n1)NC(Nc1nccs1)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"c1nc2[nH]c[n+]3c2c(=[S+][Hg+]3[C@-]23C4=C5C6=C2[Fe+2]27893456[C-]3C8=C7C2=C93)[n-]1") -smiles(R"c1nc2[nH]c[n+]3c2c(=[S+][Hg+]3[C@@-]23C4=C5C6=C2[Fe+2]27893456[C-]3C8=C7C2=C93)[n-]1") -smiles(R"c1ncc([nH]1)[C@@]12[C@H]3[C@@H]4[C@@H]5[C@H]3[C@H]2[C@@H]5[C@H]14") -smiles(R"c1ncn(n1)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"c1ncn(n1)[C@@]12[C@H]3[C@@H]4[C@@H]5[C@H]3[C@H]2[C@@H]5[C@H]14") -smiles(R"C1Oc2cc(/C=C/c3nc4ccccc4nc3/C=C\c3ccc4OCOc4c3)ccc2O1") -smiles(R"C1OCOCO1") -smiles(R"C1O[Cu+2]234[OH+]CC[N@@+]4(C1)CC[O-]2[Cu+2]124OCC[N@@+]4(CC[OH+]1)CC[O-]2[Cu+2]124OCC[N@+]4(CC[OH+]1)CC[O-]2[Cu+2]124OCC[N@+]2(CC[OH+]1)CC[O-]34") -smiles(R"C1O[Cu+2]234[OH+]CC[N@+]4(C1)CC[O-]3[Cu+2]134OCC[N@+]4(CC[OH+]1)CC[O-]3[Cu+2]134OCC[N@+]4(CC[OH+]1)CC[O-]3[Cu+2]134OCC[N@+]4(CC[OH+]1)CC[O-]23") -smiles(R"[Ca+2]") -smiles(R"C[C@-]12C3=C4C5=C1[Co+3]16782345C2=C7[C@@-]8(C)C6=C12") -smiles(R"C[C@@-]12C3=C4C5=C1[Co+3]16782345C2=C7[C@-]8(C)C6=C12") -smiles(R"CC12=C3(C)C4(=C5(C)[C@]1(C)[Ru+]167892345C2=C1C7=C9(/C=C/C13=C4C5=C7C9=C1[Ru+]1%10%11%1234579C3(=C1(C)[C@]%11(C)C%10(=C%123C)C)C)C8=C62)C") -smiles(R"CC12=C3(C)C4(=C5(C)C1(C)[Ru+]167892345C2=C1C7=C9(C#CC13=C4C5=C7C9=C1[Ru+]1%10%11%1234579C3(=C1(C)C%11(C)C%10(=C%123C)C)C)C8=C62)C") -smiles(R"CC12=C3(C)C4(=C5(C)C1(C)[Ru+]167892345C2=C6C8=C9(C#CC34=C5C6=C8C9=C3[Ru+]3%10%11%1245689C4(=C3(C)C%11(C)C%10(=C%124C)C)C)C7=C12)C") -smiles(R"CC12=C3(C)C4(=C5(C)[C@@]1(C)[Ru+]167892345C2=C6C8=C9(/N=N/C34=C5C6=C8C9=C3[Ru+]3%10%11%1245689C4(=C3(C)[C@@]%11(C)C%10(=C%124C)C)C)C7=C12)C") -smiles(R"C[C@@]12C[C@@]2(C)[C@@]1(C)C") -smiles(R"C[C@@]12C[C@@]3(C)C[C@@](C)(C1)CC(Br)(C2)C3") -smiles(R"C[C@@]12CC[C@@]3(OCCO3)C[C@@H]1CC[C@H]1O[C@@H]21") -smiles(R"C[C@]12CCCC=C2C[C@]2(OCCO2)CC1") -smiles(R"C[C@@]12C[C@@](C)(C[C@@](C)(C1)C(=O)NCCN(CCNC(=O)[C@]1(C)C[C@]3(C)C[C@](C)(C1)C(=O)NC3=O)CCNC(=O)[C@@]1(C)C[C@]3(C)C[C@](C)(C1)C(=O)NC3=O)C(=O)NC2=O") -smiles(R"C[C@]12C=C[C@H](c3ccccc13)c1ccccc21") -smiles(R"C[C@@]12[C@@H]([C@@H]3c4ccccc4[C@H]1c1ccccc31)[C@@H]1c3ccccc3[C@H]2c2ccccc12") -smiles(R"C[C@]12Oc3ccc4ccccc4c3C[C@H]2Cc2c(ccc3ccccc23)O1") -smiles(R"C[C@]12Oc3ccc4ccccc4c3[C@H]2c2c(ccc3ccccc23)O1") -smiles(R"C[C@@]12[Ru+]3456789%10(C%11=C4C6=C8(/C=C/C46=C8C%12=C%13C%14=C4[Ru+]4%15%16%1768%12%13%14C6(=C%16(C)C%15(=C4(C)[C@]%176C)C)C)C5=C3%11)C(=C2%10C)(C)C7(=C19C)C") -smiles(R"C[C@@]12[Ru+]3456789%10(C%11=C4C6=C8(/N=N/C46=C8C%12=C%13C%14=C4[Ru+]4%15%16%1768%12%13%14C6(=C%16(C)C%15(=C4(C)[C@]%176C)C)C)C5=C3%11)C(=C2%10C)(C)C7(=C19C)C") -smiles(R"C[C@]1(Br)[C@@](C)(Br)[C@@](C)(Br)[C@@](C)(Br)[C@@](C)(Br)[C@]1(C)Br") -smiles(R"Cc1c2ccncc2c(C)c2c1n(C)c1c(C)c3ccncc3c(C)c21") -smiles(R"Cc1c2nc3cc4ccccc4cc3n2c(C)c2ccccc12") -smiles(R"Cc1c2[nH]c3c(ccc4ccccc34)c2cc2c(C)nccc12") -smiles(R"Cc1c2sc3ccccc3[nH]c2nc2[nH]c3ccccc3sc12") -smiles(R"Cc1cc2cc3CCc4ccccc4c4nn5cnnc5c(c34)c2o1") -smiles(R"Cc1cc2cc3CCc4ccccc4c4nn5nnnc5c(c34)c2o1") -smiles(R"Cc1cc2c(ccc3c2ccc2ccccc32)c2ccccc12") -smiles(R"C=C1C[C@]2(CCC[C@@]3(OCCO3)C2)OC1=O") -smiles(R"C[C@@]1(Cc2ccccc2)C[N@@+]21CCCCC2") -smiles(R"C[C@@]1(Cc2ccccc2)C[N@+]21CCCCC2") -smiles(R"Cc1cc2[n+]3c(N(C)C)n4ccccc4c3c3n(c2cc1C)c(N(C)C)[n+]1ccccc31") -smiles(R"Cc1cc2[n+]3C(N(C)C)N4CCCCC4c3c3n(c2cc1C)c(N(C)C)[n+]1ccccc31") -smiles(R"Cc1cc2nnc3cc(C)cc4nnc(c1)c2c34") -smiles(R"Cc1cc2nnc(N)c(N)nnc1cc2C(C)C") -smiles(R"Cc1ccc2c(c1)nc1cc3c(cc1n2C1CCCCC1)c(Cl)c(=O)c1ccccc31") -smiles(R"Cc1ccc2ccc3c4C(=O)OC(=O)c4c4ccc5ccc(C)cc5c4c3c2c1") -smiles(R"Cc1ccc2ccc3c(ccc4c3ccc3c(C)cccc43)c2c1") -smiles(R"CC1=C(C)[C@]2(Cl)C(=C(Cl)[C@@]1(Cl)[C@@]2(Cl)Cl)Cl") # smiles(R"CC1=C(CC2=C(C)N=S(=O)(O)N=C2C)C(=NS(=O)(=N1)O)C") -smiles(R"Cc1c(C)c2c(n1C)C(=O)[C@@H]1[C@H](C2=O)[C@@]2(C)c3ccccc3[C@]1(C)c1ccccc21") -smiles(R"Cc1ccc2C(=[N+]3[N-]C(=[S+][Cu+]3[n+]2n1)N1C[C@H]2CC[C@H](CC2)C1)C") -smiles(R"Cc1ccc2C(=[N+]3[N-]C(=[S+][Fe+]3[n+]2n1)N1C[C@H]2CC[C@H](CC2)C1)C") -smiles(R"Cc1ccc2c(no[n+]2[O-])c1") -smiles(R"Cc1ccc2c(NO[N+]2[O-])c1") -smiles(R"Cc1ccc2nc3c4cccc5cccc(c3nc2c1)c45") -smiles(R"Cc1ccc2[nH]c3c(ncc4[nH]c5ccccc5c34)c2c1") -smiles(R"Cc1ccc2[n+](n1)[Cu+]1[S+]=C([N-][N+]1=C2C)N1C[C@H]2CC[C@H](CC2)C1") -smiles(R"Cc1ccc2[n+](n1)[Fe+]1[S+]=C([N-][N+]1=C2C)N1C[C@H]2CC[C@H](CC2)C1") -smiles(R"Cc1ccc2nnc(NS(=O)(=O)c3cc(C)c(Cl)cc3S)n2n1") -smiles(R"Cc1ccc2n[se]nc2c1") -smiles(R"Cc1ccc2OCN(Cc2c1)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"Cc1ccc2oc(=O)c(cc2c1)C(=O)Nc1scc(n1)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"Cc1ccc2s/c(=[S+]\[Pd@](Cl)(Cl)/[S+]=c/3\sc4ccc(C)cc4s3)/sc2c1") -smiles(R"Cc1cccc2CC[C@H]3CCc4cccc(C)c4[C@H]3c12") -smiles(R"Cc1cc(C)c2cnnn2n1") -smiles(R"Cc1ccc(cc1)[B@-]12OCC[N@@+]2(CCO1)CNC(=O)C1=C(O)[C@H](N(C)C)[C@H]2C[C@H]3C(=C(O)[C@]2(O)C1=O)C(=O)c1c(O)cccc1[C@]3(C)O") -smiles(R"Cc1ccc(cc1)[B@@-]12OCC[N@+]2(CCO1)CNC(=O)C1=C(O)[C@H](N(C)C)[C@H]2C[C@H]3C(=C(O)[C@]2(O)C1=O)C(=O)c1c(O)cccc1[C@]3(C)O") -smiles(R"Cc1cccc(c1)[B@-]12OCC[N@@+]2(CCO1)CNC(=O)C1=C(O)[C@H](N(C)C)[C@H]2C[C@H]3C(=C(O)[C@]2(O)C1=O)C(=O)c1c(O)cccc1[C@]3(C)O") -smiles(R"Cc1cccc(c1)[B@@-]12OCC[N@+]2(CCO1)CNC(=O)C1=C(O)[C@H](N(C)C)[C@H]2C[C@H]3C(=C(O)[C@]2(O)C1=O)C(=O)c1c(O)cccc1[C@]3(C)O") -smiles(R"Cc1ccc(cc1)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"Cc1ccc(cc1)[C@]1(C)O[C@@H](C)[C@H](C)O1") -smiles(R"Cc1cccc(c1)c1nnc2s/c(=C\c3ccc4OCOc4c3)/c(=O)n12") -smiles(R"Cc1ccc(cc1)c1nnc2s/c(=C\c3ccc(cc3)N(C)C)/c(=O)n12") -smiles(R"Cc1cccc(c1)c1nnc2s/c(=C\c3ccc(cc3)N(C)C)/c(=O)n12") -smiles(R"Cc1ccc(cc1)[C@@]1(O)CS/C(=N/[C@]23C[C@@H]4C[C@@H](C[C@H](C4)C3)C2)/N1C(P(=O)(O)O)P(=O)(O)O") -smiles(R"Cc1cccc(c1)C[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"Cc1ccc(cc1)/C(=C/C(=O)C(=O)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)/Sc1ccccc1") -smiles(R"Cc1ccc(cc1)[C@H]1CC(=O)C[C@H](c2ccc(C)cc2)[C@@]21C(=O)c1ccccc1C2=O") -smiles(R"Cc1ccc(cc1)[C@H]1CC(=O)C[C@@H](c2ccc(C)cc2)[C@@]21C(=O)NC(=O)NC2=O") -smiles(R"Cc1cccc(c1)[C@@H]1ON=C(c2ccccc2)N1[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"Cc1cccc(c1C)N1C(=O)[C@H]2[C@H](C1=O)[C@]1(Cl)C(=C(Cl)[C@@]2(Cl)[C@]1(Cl)Cl)Cl") -smiles(R"Cc1ccc(cc1)/C=N/[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"Cc1ccccc1/C=N/[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"Cc1ccc(cc1)C(=O)/C=c\1/[nH]c2ccccc2nc1N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"Cc1ccc(cc1)C(=O)/C=c\1/[nH]c2c(nc1NC13C[C@H]4C[C@H](C[C@H](C4)C3)C1)c(=O)oc1ccccc21") -smiles(R"Cc1ccc(cc1)C(=O)/C=C(\O)/C(=O)N[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"Cc1cccc(c1)CP(Cc1cccc(C)c1)CC1(COC1)Cp1c2ccccc2c2ccccc12") -smiles(R"Cc1ccc(cc1)N1C[C@H](O)CN(C[C@H](O)C1)c1ccc(C)cc1") -smiles(R"Cc1cccc(c1)N1CCN(CC1)c1ccc2nonc2c1[N+](=O)[O-]") -smiles(R"Cc1cccc(c1)N1CCN(CC1)c1ccc2NONc2c1[N+](=O)[O-]") -smiles(R"Cc1ccccc1n1c(=O)sc2c(=O)n(c3ccccc3)c(=S)[nH]c12") -smiles(R"Cc1cccc(c1)n1c(=S)[nH]c2c(sc(=O)n2c2ccccc2C)c1=O") -smiles(R"Cc1ccccc1n1c(=S)[nH]c2n(c(=O)sc2c1=O)c1ccccc1C") -smiles(R"Cc1ccc(cc1)/N=C/c1ccc(cc1O)[S@@](=O)(=O)c1ccc(/C=N/c2ccc(C)cc2)c(O)c1") -smiles(R"Cc1cc(ccc1N)/C(=C/1\C=C/C(=N\c2ccccc2)/C=C1)/c1ccc(cc1)Nc1ccccc1") -smiles(R"Cc1cccc(c1)NC(=O)[C@@H]1CC[C@H](CC1)CC1CCCCC1") -smiles(R"Cc1ccc(cc1)N/N=C\1/C(=O)O[C@H](OC1=O)c1ccccc1") -smiles(R"Cc1cc(cc(c1N)S(=O)(=O)O)/C(=C\1/C=C/C(=N\c2ccc(cc2)S(=O)(=O)O)/C=C1)/c1ccc(cc1)Nc1ccc(cc1)S(=O)(=O)O") -smiles(R"Cc1ccc(cc1)Oc1nc2nc3c(cc2c2ccccc12)n(C(=O)C)c1ccccc31") -smiles(R"Cc1ccc(cc1)P(c1ccc(C)cc1)(c1ccc(C)cc1)[Pt@@]1(Cl)[Cl][Pt@@](Cl)([Cl]1)P(c1ccc(C)cc1)(c1ccc(C)cc1)c1ccc(C)cc1") -smiles(R"Cc1ccc(cc1)[Si@]12O[C@H](C)CN(C[C@H](C)O1)C[C@H](C)O2") -smiles(R"Cc1ccc(cc1)S(=O)O[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"Cc1ccc(cc1)S(=O)(=O)c1c(N)c2nc3ccccc3n2c2nc3ccccc3nc12") -smiles(R"Cc1ccc(cc1)S(=O)OC[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"Cc1ccc(cc1)S(=O)(=O)C[C@H]1[C@H]2c3ccccc3[C@@H]([C@H]1C)c1ccccc21") -smiles(R"Cc1ccc(cc1)S(=O)(=O)C(=S=N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)Sc1ccccc1") -smiles(R"Cc1ccc(cc1)[S@](=O)(=[OH+])[O-]") -smiles(R"Cc1ccc(cc1)S(=O)(=O)N1C[C@@]2(O)CN(C[C@@](O)(C1)O2)S(=O)(=O)c1ccc(C)cc1") -smiles(R"Cc1ccc(cc1)S(=O)(=O)N1C[C@@H](Cl)CN(C[C@H](Cl)C1)S(=O)(=O)c1ccc(C)cc1") -smiles(R"Cc1ccc(cc1)S(=O)(=O)N1C(=O)O[C@@]2(CCCCC2)[C@H]1C") -smiles(R"Cc1ccc(cc1)S(=O)(=O)N[C@@H]1CC[C@@H](CC1)C(=O)O") -smiles(R"Cc1ccc(cc1)S(=O)(=O)NC(=O)O[C@]12COCN2COC1") -smiles(R"Cc1ccc(cc1)S(=O)(=O)N/N=C\1/C=C2C/C(=N/NS(=O)(=O)c3ccc(C)cc3)/C=C2C1") -smiles(R"Cc1ccc(cc1)S(=O)(=O)N/N=C/1\[C@@](C)(C)/C(=N\NS(=O)(=O)c2ccc(C)cc2)/[C@@]1(C)C") -smiles(R"Cc1ccc(cc1)S(=O)(=O)N/N=C\1/[C@H]2CC=CC[C@@H]2/C(=N\NS(=O)(=O)c2ccc(C)cc2)/[C@H]2CC=CC[C@H]12") -smiles(R"Cc1ccc(cc1)S(=O)(=O)N/N=C\1/[C@H]2CC[C@@H]1CC2") -smiles(R"Cc1ccc(cc1)S(=O)(=O)N/N=C/1\CN2CC[C@H]1CC2") -smiles(R"Cc1ccc(cc1)S(=O)(=O)N/N=C\1/C(=N\NS(=O)(=O)c2ccc(C)cc2)/[C@H]2c3ccccc3[C@@H]1c1ccccc21") -smiles(R"Cc1ccc(cc1)S(=O)(=O)N/N=C(\C=C\c1ccccc1)/C=C/c1ccccc1") -smiles(R"Cc1ccc(cc1)S(=O)(=O)NNC(=O)[C@]12CC[C@H](CC1)C2") -smiles(R"Cc1ccc(cc1)S(=O)(=O)/N=S/1\CCCC1") -smiles(R"Cc1ccc(cc1)S(=O)(=O)[O-]") -smiles(R"Cc1ccc(cc1)S(=O)(=O)O") -smiles(R"Cc1ccc(cc1)S(=O)(=O)O[C@@]12CC[C@@](C)(CC1)[C@@]1(OCCO1)C2") -smiles(R"Cc1ccc(cc1)S(=O)(=O)O[C@]12CC[C@](C)(CC1)C(=O)C2") -smiles(R"Cc1ccc(cc1)S(=O)(=O)O[C@@]1([C@@H]2CC[C@H]1CC2)c1ccc(cc1)C(F)(F)F") -smiles(R"Cc1ccc(cc1)S(=O)(=O)OC[C@]12CC[C@H](CC1)[C@H]1C[C@@H]21") -smiles(R"Cc1ccc(cc1)S(=O)(=O)OC[C@]12CC[C@H]([C@H]3C[C@@H]13)[C@H]1C[C@@H]21") -smiles(R"Cc1ccc(cc1)S(=O)(=O)OC[C@H]1O[C@@](C)(C)O[C@H]1COS(=O)(=O)c1ccc(C)cc1") -smiles(R"Cc1ccc(cc1)S(=O)(=O)O[C@H]1[C@@](C)(C)[C@H](OS(=O)(=O)c2ccc(C)cc2)C1(C)C") -smiles(R"Cc1ccc(cc1)S(=O)(=O)O[C@@H]1CC[C@H](CC1)N1C(=O)c2ccccc2C1=O") -smiles(R"Cc1ccc(cc1)S(=O)(=O)O[C@H]1CC[C@@H](CC1)OS(=O)(=O)c1ccc(C)cc1") -smiles(R"Cc1ccc(cc1)S(=O)(=O)O[C@@H]1[C@H](O)[C@H](O)[C@H](O)[C@@H](O)[C@H]1O") -smiles(R"Cc1ccc(cc1)S(=O)(=O)[OH+][Pd@@+2]12[N+](C)(C)CC[N@+]2(C)CC[N+]1(C)C") -smiles(R"Cc1ccc(cc1)S(=O)(=O)[OH+][Pd@+2]12[N+](C)(C)CC[N@@+]2(C)CC[N+]1(C)C") -smiles(R"CC1=C(C)CC[C@@]2(C1)C(=O)[C@@]1(CCC(=C(C)C1)C)C2=O") -smiles(R"Cc1ccc(C)c2c1[C@](O)(C#Cc1ccccc1)c1c(C)ccc(C)c1[C@]2(O)C#Cc1ccccc1") -smiles(R"Cc1c(C)ccc2nc3c(nc12)c1ccccc1c1ccccc31") -smiles(R"Cc1cccc(C)c1N1C(=O)[C@@H]2[C@H](C1=O)[C@]1(Cl)C(=C(Cl)[C@@]2(Cl)[C@]1(Cl)Cl)Cl") -smiles(R"Cc1cc(C)c(c(C)c1)S(=O)(=O)O") -smiles(R"Cc1ccc(C(C)C)c(OC[C@@H]2N3CC[C@@H](CC3)C2=O)c1") -smiles(R"Cc1cccc(C)n1N") -smiles(R"Cc1cccc(/C=N/[C@]23C[C@@H]4C[C@@H](C[C@@H](C4)C3)C2)c1") -smiles(R"Cc1ccccn1N") -smiles(R"Cc1cccc(N)n1N") -smiles(R"Cc1ccc(/C=N/N(C)CN(C)/N=C\c2ccc(C)cc2)cc1") -smiles(R"CC1(C)C[C@H]2c3ccccc3[C@@H]1c1ccccc21") -smiles(R"CC1=C(C)[C@@H]2[C@H]3C(=O)OC(=O)[C@H]3[C@H]1[C@@H]1C(=O)OC(=O)[C@H]21") -smiles(R"CC1=CC[C@H](C/C=N\N=C\C[C@H]2CC=C(C)C2(C)C)C1(C)C") -smiles(R"Cc1cc(C)n2n1[B+3]1[NH+]3C(=CC(=[N+]3[Re+]2(=O)(=O)(=O)[NH+]2C(=CC(=[N+]12)C)C)C)C") -smiles(R"Cc1cc(C)n2n1[B+3]1[NH+]3C(=CC(=[N+]3[Re+3]32(=O)([OH+]CC[OH+]3)[NH+]2C(=CC(=[N+]12)C)C)C)C") -smiles(R"Cc1cc(C)n2n1[B+3]1[NH+]3C(=CC(=[N+]3[Re+3]32(=O)([OH+][C@@H]2CCCCCC[C@H]2[OH+]3)[NH+]2C(=CC(=[N+]12)C)C)C)C") -smiles(R"Cc1cccn(N)c1N") -smiles(R"Cc1ccc(N)n(N)c1") -smiles(R"C[C@]1(C=C[C@@](O)(C#C[C@]2(O)C=C[C@](C)(C=C2)C(Cl)(Cl)Cl)C=C1)C(Cl)(Cl)Cl") -smiles(R"CC1(C)[C@@H]2CC[C@@]1(C)[C@@]1(OCCO1)C2") -smiles(R"CC1(C)[C@@H]2CC[C@]3(OCCO3)[C@H]1[C@@H]1O[C@@H]21") -smiles(R"CC1CCN2C(C1)C1CC(CCN1[Ru+2]132(n2ccccc2=c2ccccn12)n1ccccc1=c1ccccn31)Cc1c(F)c(F)c(c(F)c1F)c1c(F)c(F)c(NC2C3CC4CC(C3)CC2C4)c(F)c1F") -smiles(R"CC1=CC(=[N+]2C(=S3[Pt@+2]42N1C(=S4[Pt@@+2]13S2=C(c3ccccc3)N3C(=CC(=[N+]4C(=S1[Pt@+2]234)c1ccccc1)C)C)c1ccccc1)c1ccccc1)C") -smiles(R"CC1=CC(=[N+]2C(=S3[Pt@@+2]4(S5=C(c6ccccc6)N6C(=CC(=[N+]7C(=S4[Pt@@+2]567)c4ccccc4)C)C)S4=C(c5ccccc5)N1[Pt@+2]234)c1ccccc1)C") -smiles(R"C[C@@]1(C)/C(=N\c2ccccc2)/[C@@](C)(C)/C/1=N/c1ccccc1") -smiles(R"C[C@@]1(C)/C(=N\C2CCCCC2)/[C@@](C)(C)/C/1=N/C1CCCCC1") -smiles(R"Cc1cc(N)c2nsnc2c1") -smiles(R"Cc1cc[n+](cc1)[Pt+2]12[n+]3ccccc3c3cccc(=c4cccc[n+]14)[n+]23") -smiles(R"Cc1cc[n+](cc1)[Pt+2]12[n+]3ccccc3c3cccc(c4cccc[n+]14)[n+]23") -smiles(R"Cc1ccn(cc1)[Pt](ON(=O)O)(ON(=O)O)n1ccc(C)cc1") -smiles(R"Cc1cc[n+](c(C)c1)C1=C(O)C(=O)C2=C([C@@H]3c4ccccc4[C@H]2c2ccccc32)C1=O") -smiles(R"CC1(C)CNC(=NC1)N/N=C(\C=C\c1ccc(cc1)C(F)(F)F)/C=C/c1ccc(cc1)C(F)(F)F") -smiles(R"CC1(C)/C(=N\Nc2ccccc2)/C(C)(C)/C/1=N\Nc1ccccc1") -smiles(R"CC1=C/C(=N\N=C\2/C=C[C@](C)(C=C2)C(Cl)(Cl)Cl)/C=C[C@]1(C)C(Cl)(Cl)Cl") -smiles(R"Cc1cc(O)c2c(c1)C(=O)[C@@]13C(=C(O)[C@@H]4[C@@H](O)[C@H]3[C@H]3[C@H](O)[C@@H]1C(=C1C(=O)c5c(O)cc(C)cc5C(=O)[C@]431)O)C2=O") -smiles(R"Cc1cc(O)c2cc3ccc4c5c(ccc(c35)c2n1)cc1c(O)cc(C)nc41") -smiles(R"Cc1cc(Oc2ccccc2)c2c(ccc3nc(C)cc(Oc4ccccc4)c23)n1") -smiles(R"C[C@@]1(C)[C@@](O)(c2ccccc2)c2ccccc2[C@@]1(O)c1ccccc1") -smiles(R"C[C@@]1(C)COC2(OC1)[C@H]1CC[C@]3(CS(=O)(=O)N=C23)C1(C)C") -smiles(R"Cc1cc(O[C@H](C)C(=O)N[C@@]23C[C@H]4C[C@H](C[C@H](C4)C3)C2)c(C)c(C)c1") -smiles(R"CC1(C)COC(=N1)[C@]12[C@@H]3[C@@H]4[C@H]1[C@@H]1[C@H]2[C@H]3[C@]41I") -smiles(R"CC1[CH][CH]C2NC(SC2[CH]1)C1[CH][CH]C([CH][CH]1)N1ON1C1[CH][CH]C(/C=C/C2[CH][CH]C([CH]C2S(=O)(=O)O)N2ON2C2[CH][CH]C([CH][CH]2)C2NC3[CH][CH]C(C)[CH]C3S2)C([CH]1)S(=O)(=O)O") -smiles(R"C[C@@]1(Cl)[C@H]2c3ccccc3[C@H](c3ccccc23)[C@]1(C)Cl") -smiles(R"Cc1c(nn2cc(nnc12)c1ccccc1)c1ccccc1") -smiles(R"CC1=C([N+](=O)[O-])[N+]([O-])ON1") -smiles(R"CC1(C)O[C@@H]2[C@H]3O[C@](C)(C)O[C@@H]3[C@H]3OC(C)(C)O[C@H]3[C@H]2O1") -smiles(R"C[C@]1(C)O[C@H]2CS(=O)(=O)C[C@H]2O1") -smiles(R"C[C@]1(C)O[C@@H](CP(c2ccc3ccccc3c2)c2ccc3ccccc3c2)[C@H](CP(c2ccc3ccccc3c2)c2ccc3ccccc3c2)O1") -smiles(R"C[C@@]1(C)O[C@H](CP(c2cccc3ccccc23)c2cccc3ccccc23)[C@H](CP(c2cccc3ccccc23)c2cccc3ccccc23)O1") -smiles(R"C[C@]1(C)O[C@@H](CP(c2ccccc2)c2ccccc2)[C@@H](CP(c2ccccc2)c2ccccc2)O1") -smiles(R"C[C@]1(C)O[C@@H](CP(c2ccccc2)c2ccccc2)[C@H](CP(c2ccccc2)c2ccccc2)O1") -smiles(R"C[C@@]1(C)O[C@@H](CP(=O)(c2ccccc2)c2ccccc2)[C@@H](O1)CP(=O)(c1ccccc1)c1ccccc1") -smiles(R"C[C-]1C(=[O+][Ru+3]23([O+]=C1C)([O+]=C(C)[C-](C)C(=[O+]2)C)[O+]=C(C)[C-](C)C(=[O+]3)C)C") -smiles(R"Cc1cp(Cc2ccccc2)cc1C") -smiles(R"Cc1cs/c(=N\C23C[C@H]4C[C@H](C[C@H](C4)C3)C2)/n1C(P(=O)(O)O)P(=O)(O)O") -smiles(R"CC1(C)[SH+][Ni@@+2]23[SH+]C(C)(C)C[N@@+]43CCC[N@+]2(CCC4)C1") -smiles(R"CC1=[N+]2[N-]C(=[S+][Ni]342([S+]=C([N-][N+]4=C(C)c2cccc[n+]32)N2C[C@@H]3CC[C@@H](CC3)C2)[n+]2ccccc12)N1C[C@@H]2CC[C@@H](CC2)C1") -smiles(R"CC1=[N+]2[N-]C(=[S+][Ni]342([S+]=C([N-][N+]4=C(C)c2cccc[n+]32)N2C[C@@H]3CC[C@@H](CC3)C2)[n+]2ccccc12)N1C[C@H]2CC[C@H](CC2)C1") -smiles(R"Cc1nc2c3ccccc3C(=O)c3nc4ccccc4c(c1)c23") -smiles(R"Cc1nc2c3ncccc3C(=O)c3nc4ccccc4c(c1)c23") -smiles(R"Cc1nc2cc3c(oc4ccccc34)cc2n2cccc12") -smiles(R"Cc1nc2CCC=c3nc(C)c1n23") -smiles(R"Cc1nc2ccccc2cc1C[N@@+]12CN3CN(CN(C3)C2)C1") -smiles(R"Cc1nc2c(o1)/C(=N\c1ccccc1)/c1nc(C)oc1/C/2=N/c1ccccc1") -smiles(R"Cc1nc(C)c2CCC(=O)N(Cc3ccc(cc3)c3ccccc3c3nn[nH]n3)c2n1") -smiles(R"Cc1[nH]c(c2ccccc2)c(O)c1C(=O)O[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"Cc1nn(c(C)c1)c1ccc2nnnn2n1") -smiles(R"Cc1nn(c(C(Cl)Cl)c1Cl)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"Cc1nnc(o1)C(CCN1[C@@H]2CC[C@H]1CC2)(c1ccccc1)c1ccccc1") -smiles(R"Cc1n[nH]c2c(ncnc12)NC[C@@]12C3=C4C5=C1[Fe]16782345[C@H]2C7=C6C1=C82") -smiles(R"Cc1nnnn1[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"CC1=NP(=NC(=C1)O)(O)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"C[C@@]1(O)c2cccc3c2C2(O)c4c1cccc4[C@](C)(O)c1cccc(c21)[C@]3(C)O") -smiles(R"C[C@]1(O)[C@@](C)(O)[C@](C)(O)[C@]1(C)O") -smiles(R"CC1=[O+][Co]23([O+]=C(C)[C@H]1I)([O+]=C(C)[C@@H](I)C(=[O+]2)C)[O+]=C(C)[C@@H](I)C(=[O+]3)C") -smiles(R"CC1=[O+][Eu+3]234([O+]=C(C)[C-]1c1ccccc1)([O+]=C(C)[C-](c1ccccc1)C(=[O+]2)C)([O+]=C(C)[C-](c1ccccc1)C(=[O+]3)C)[O+]=C(C)[C-](c1ccccc1)C(=[O+]4)C") -smiles(R"Cc1onc(C)c1/N=N/c1ccc2nonc2c1N") -smiles(R"CC1=[O+][Pt@@+2]2([O+]=C(C)[CH-]1)N[C@@H]1CCCC[C@H]1N2") -smiles(R"CC1=[O+][Pt@+2]2([O+]=C(C)[CH-]1)N[C@@H]1CCCC[C@H]1N2") -smiles(R"CC1=[O+][Pt](Cl)([O+]=C(C)C1)[C@@H]1C(=[O+][Ga]23([O+]=C1C)([O+]=C(C)[C@H](C(=[O+]2)C)[Pt]1(Cl)[O+]=C(C)CC(=[O+]1)C)[O+]=C(C)[C@@H](C(=[O+]3)C)[Pt]1(Cl)[O+]=C(C)CC(=[O+]1)C)C") -smiles(R"CC1=[O+][Rh]23([O+]=C(C)C1)([O+]=C(C)[C@H](Cl)C(=[O+]2)C)[O+]=C(C)[C@H](Cl)C(=[O+]3)C") -smiles(R"CC1=[O+][Rh]23([O+]=C(C)[C@H]1Br)([O+]=C(C)[C@@H](Br)C(=[O+]2)C)[O+]=C(C)[C@@H](Br)C(=[O+]3)C") -smiles(R"CC1=[O+][Ru+3]23([O+]=C(C)[C-]1Br)([O+]=C(C)[C-](Br)C(=[O+]2)C)[O+]=C(C)[C-](Br)C(=[O+]3)C") -smiles(R"CC1=[O+][Ru+3]23([O+]=C(C)[C-]1Cl)([O+]=C(C)[C-](Cl)C(=[O+]2)C)[O+]=C(C)[C-](Cl)C(=[O+]3)C") -smiles(R"CC1=[O+][Ru+3]23([O+]=C(C)[C-]1C)([O+]=C(C)[C-](C)C(=[O+]2)C)[O+]=C(C)[C-](C)C(=[O+]3)C") -smiles(R"CC1=[O+][Ru+3]23([O+]=C(C)[C-]1I)([O+]=C(C)[C-](I)C(=[O+]2)C)[O+]=C(C)[C-](I)C(=[O+]3)C") -smiles(R"Cc1sc2nc3sn4c(=O)c5c(nc4n3c(=O)c2c1C)sc(C)c5C") -smiles(R"C[C@]1(S[C@@](S[C@@](C)(S1)c1ccccc1)(c1ccccc1)c1ccccc1)c1ccccc1") -smiles(R"C(C[C@]12C3=C4C5=C1[Fe]16782345[C@@H]2C7=C6C1=C82)[C@@]12C3=C4C5=C1[Fe]16782345[C@H]2C7=C6C1=C82") -smiles(R"C=C[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"C=C[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"C=C[C@]12CC(=O)N3CCc4ccccc4[C@@]3(C1)C2") -smiles(R"CC[C@@]12O[C@]3(CC)[C@@H]4OC(=O)[C@H]2[C@@]2(CC)O[C@]4(CC)[C@@H]3OC(=O)[C@@H]12") -smiles(R"CC[C@@]1(c2ccccc2)[C@H]2C(=O)NC(=O)[C@@H]1C(=O)NC2=O") -smiles(R"CCc1ccccc1[C@H](C(=O)N[C@H]1CN2CC[C@H]1CC2)c1ccsc1") -smiles(R"C#Cc1cccc(c1)N1C(=O)[C@H]2[C@H]3C=C[C@@H]([C@H]2C1=O)[C@H]1C(=O)N(c2cccc(C#C)c2)C(=O)[C@@H]31") -smiles(R"CCc1cccc(C)c1NC(=O)CCc1nnc2s/c(=C/c3cccc4ccccc34)/c(=O)n12") -smiles(R"CCc1cccc(CC)c1N1C(=O)[C@H]2[C@H](C1=O)[C@]1(Cl)C(=C(Cl)[C@@]2(Cl)[C@]1(Cl)Cl)Cl") -smiles(R"CC[C@]1(CCC(C)C)C(=O)N(c2ccccc2)/C(=N)/N(c2ccccc2)C1=O") -smiles(R"CCc1ccccn1N") -smiles(R"CCc1ccc(C)n(N)c1") -smiles(R"C=C[C@@]1(CC[C@H](CC1)C(C)(C)C)NS(=O)(=O)c1ccc(C)cc1") -smiles(R"CC[C@@]1(C)CC(=O)N(C/C=C(/C)\CCC=C(C)C)C(=O)C1") -smiles(R"CC[C@@]1(C)CC(=O)N(C/C=C(/C)\CCC(=O)O)C(=O)C1") -smiles(R"CC[C@]1(CC)COP(=O)(OCCN2C(=O)[C@@H]3[C@@H]4C=C[C@@H](C4)[C@H]3C2=O)OC1") -smiles(R"CC[C@@]1(C)CO[C@@](C)(OC1)Cc1ccccc1") -smiles(R"CC[C@]1(C)CO[C@@H](/C=C/c2ccccc2)OC1") -smiles(R"CC[C@@]1(CC)O[C@@H]([C@H](O)CCc2ccccc2O)[C@@H](O1)[C@H](O)CCc1ccccc1O") -smiles(R"CC(=C1[C@H]2CC[C@H](CC2)[C@]21CCC1=C(C2)[C@@H]2CC[C@H]1CC2)C") -smiles(R"C/C=C\1/[C@@H](C(=O)O)[C@@H]1C(=O)O") -smiles(R"CC[C@]1(C)O[C@@H](C)[C@H](C)O1") -smiles(R"CCc1nnc2sc3c(nn12)c(Cl)c1sc2nnc(CC)n2nc1c3Cl") -smiles(R"C=Cc1nnnn1[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"CCc1nnnn1[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"CC[C@]1(O)[C@]2(CCCC=C2)NC(=O)[C@@]21CCCCC2") -smiles(R"C#C[C@@]1(O)CCCC2=C[C@]3(SCCS3)CC[C@]12C") -smiles(R"C#C[C@]1(O)CCC[C@@H]2C[C@]3(OCCO3)CC[C@@]12C") -smiles(R"C#C[C@@]1(O)C[C@@H](c2ccccc2)N(C)[C@@H](C1)c1ccccc1") -smiles(R"CC[C@@]1(O)C[C@@H](c2ccccc2)N(C)[C@@H](C1)c1ccccc1") -smiles(R"CC[C@]1(O[C@@H](C)[C@H](C)O1)c1ccccc1") -smiles(R"CC(=C)[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"CC(=C)[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"CCC[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"CCC[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"CC(C)[C@@]12C3=C4C5=C1[Zr]16782345(Cl)(Cl)C2=C7[C@]8(C(C)C)C6=C12") -smiles(R"CC(C)C12=C3C4=C5C6=C1[Cr]1789%1023456C2=C7C9=C%10(C(C)C)C8=C12") -smiles(R"CC(C)[C@]12Cc3c(ccc4ccccc34)O[C@@]2(C)Oc2ccc3ccccc3c2C1") -smiles(R"C=CC[C@@]12C[C@H](C=C[C@]32OCCO3)O[C@@H](O)[C@H]1C") -smiles(R"C=CC[C@@]12C[C@H](C=C[C@]32OCCO3)OC(=O)[C@H]1C") -smiles(R"CCC[C@@]1(c2ccccc2)[C@H]2C(=O)NC(=O)[C@@H]1C(=O)NC2=O") -smiles(R"CCC[C@@]1(c2ccccc2)[C@H](C#N)C(=O)NC(=O)[C@H]1C#N") -smiles(R"C=CCc1cccc2cc(C(=O)Nc3scc(n3)[C@]34C[C@@H]5C[C@@H](C[C@@H](C5)C4)C3)c(=O)oc12") -smiles(R"CC(C)c1ccc(cc1)/C=C(\SS/C(=C/c1ccc(cc1)C(C)C)/C(=O)N)/C(=O)N") -smiles(R"CC(C)c1ccc(cc1)[C@@H]1[C@H]2CCN1CC2") -smiles(R"C/C(=C\c1ccccc1)/C=N/NC(=S)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"C=CC[C@@]1(CC=CC[C@]21OCCO2)CC(=O)O") -smiles(R"CC(C)c1ccc(C)c(c1)N1C(=O)[C@@H]2[C@@H](C1=O)[C@]1(Cl)C(=C(Cl)[C@@]2(Cl)[C@@]1(Cl)Cl)Cl") -smiles(R"CC(C)c1ccc(/C=C/CN2CC[C@@](O)(CC2)c2ccccc2)cc1") -smiles(R"C/C=C/[C@@]1(/C=C\C)C(=O)OC(=O)[C@]1(/C=C/C)/C=C/C") -smiles(R"CC(C)c1cc([C@@H]2O[Cu+2]34([O-])O[C@H](O[Cu+2]([O-])(O2)([OH+][C@@H]([OH+]3)c2cc(cc(C(C)C)c2O)C(C)C)[OH+][C@H]([OH+]4)c2cc(cc(C(C)C)c2O)C(C)C)c2cc(cc(C(C)C)c2O)C(C)C)c(O)c(c1)C(C)C") -smiles(R"CC(C)c1cc([C@H]2O[Cu+2]34([O-])O[C@@H](O[Cu+2]([O-])(O2)([OH+][C@@H]([OH+]3)c2cc(cc(C(C)C)c2O)C(C)C)[OH+][C@H]([OH+]4)c2cc(cc(C(C)C)c2O)C(C)C)c2cc(cc(C(C)C)c2O)C(C)C)c(O)c(c1)C(C)C") -smiles(R"CCC[C@]1(CC)C(=O)N/C(=N)/NC1=O") -smiles(R"CCC[C@@]1(C)CO[C@](C)(OC1)c1ccc(Cl)cc1") -smiles(R"CCC[C@]1(C)CO[C@@H](/C=C/c2ccccc2)OC1") -smiles(R"CCC[C@]1(C)CO[C@@H](OC1)c1ccc(Cl)cc1") -smiles(R"CCC[C@]1(C)CO[C@@H](OC1)Cc1ccccc1") -smiles(R"CCCC1(CN[C@]23C[C@@H]4C[C@@H](C[C@@H](C4)C3)C2)C(=O)N(c2ccccc2)N(c2ccccc2)C1=O") -smiles(R"CC(C)c1nnnn1[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"CCCc1nnnn1[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"CC(C)(C)[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"CC(C)(C)[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"CC(C)Cc1ccc(cc1)C[N@+]12CN3CN(CN(C3)C2)C1") -smiles(R"C/C=C/C[C@]1(C/C=C/C)C(=O)NC(=O)NC1=O") -smiles(R"CCCC[C@]1(CC)CO[C@@](C)(CCc2ccc(OC)cc2)OC1") -smiles(R"CCCC[C@]1(CC)CO[C@](CC)(OC1)c1ccccc1") -smiles(R"CCCC[C@]1(CC)CO[C@@](C)(OC1)c1ccccc1") -smiles(R"CCCC[C@@]1(CC)CO[C@](C)(OC1)Cc1ccccc1") -smiles(R"CCCC[C@@]1(CC)CO[C@H](/C=C/c2ccccc2)OC1") -smiles(R"CCCC[C@]1(CC)CO[C@H](OC1)c1ccc2OCOc2c1") -smiles(R"CCCC[C@@]1(CC)CO[C@H](OC1)c1ccccc1") -smiles(R"CCCC[C@]1(CC)CO[C@H](OC1)c1ccc(O)c(OC)c1") -smiles(R"CCCC[C@@]1(CC)CO[C@H](OC1)[C@@H]1CCC=CC1") -smiles(R"CCCC[C@]1(CC)CO[C@H](OC1)[C@H](C)c1ccccc1") -smiles(R"CCCC[C@]1(CCO)C(=O)N/C(=N)/NC1=O") -smiles(R"CCCCC1=C(C(=O)N2CCOCC2)[C@@]2(OCCO2)[C@@H]1Cl") -smiles(R"C=CCC[C@]1(C)O[C@H](C)[C@@H](C)O1") -smiles(R"CC(C)(C)c1nc2ccccc2p1c1ccccc1") -smiles(R"CCCC[C@@]1(O)[C@@]2(CCCCC2)NC(=O)[C@@]21CCCCC2") -smiles(R"CC/C=C(\C)/[C@@]1(CC)C(=O)N/C(=N)/NC1=O") -smiles(R"CCCCC[C@@]1(CCO)C(=O)N/C(=N)/NC1=O") -smiles(R"CCCCC[C@]1(C)OC[C@](CC)(CCCC)CO1") -smiles(R"CCCCC[C@]1(C)O[C@@H](C)[C@H](C)O1") -smiles(R"CC(C)(C(C)(C)[C@]12C3=C4C5=C1[Fe]16782345C2=C7C6=C1[C@@H]82)[C@]12C3=C4C5=C1[Fe]16782345C2=C7C6=C1[C@H]82") -smiles(R"C/C=C/C(C)(C)[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"C/C=C/C(C)(C)[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"CC(C)C(C)(C)[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"CC(C)C(C)(C)[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"CCCCCCc1cc2cc(C(=O)Nc3scc(n3)[C@]34C[C@@H]5C[C@@H](C[C@@H](C5)C4)C3)c(=O)oc2cc1O") -smiles(R"CCCCCCC1(/C=C/c2ccc(Cl)c(Cl)c2)OC[C@](C)(C)CO1") -smiles(R"CCCCCC[C@]1(C)OC[C@@](CC)(CCCC)CO1") -smiles(R"CCCCCC[C@]1(C)O[C@@H](C)[C@H](C)O1") -smiles(R"CCCCC/C(=C\c1ccccc1)/C=N/NC(=S)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"CCC/C=C/C=C\[C@]1(CC[C@H](CC1)C(C)(C)C)NS(=O)(=O)c1ccc(C)cc1") -smiles(R"CCCCCCC[C@]1(C)O[C@@H](C)[C@H](C)O1") -smiles(R"CC(=CCC/C(=C\c1nnc2n[nH]c(=S)n2n1)/C)C") -smiles(R"CCCCCCCCCc1ccc(OCCOCCOCCOCCOCCOCCOCCCS(=O)(=O)[OH+][Pt@+2]2(N[C@@H]3CCCC[C@@H]3N2)[OH+]S(=O)(=O)CCCOCCOCCOCCOCCOCCOCCOc2ccc(CCCCCCCCC)cc2)cc1") -smiles(R"CCCCCCCCCc1cc[n+](cc1)C1=C(O)C(=O)C2=C([C@H]3c4ccccc4[C@@H]2c2ccccc32)C1=O") -smiles(R"CC/C=C(\CC)/C(=C\CC)/CC") -smiles(R"CCCCCCCCCCCc1c2[nH]c3cc(C)ccc3oc2cc2[nH]c3cc(C)ccc3oc12") -smiles(R"CCCCCCCCCCCc1c(=O)c2oc3c(=O)c(CCCCCCCCCCC)c(O)c(=O)c3n(c3ccc(cc3)N(C)C)c2c(=O)c1O") -smiles(R"C/C(=C\C(C)(C)C)/C(=C\C(C)(C)C)/C") -smiles(R"CCCCCCCCCCCCCCCC[C@-]12C3=C4C5=C1[Fe+2]16782345C2=C7[C@@-]8(CCCCCCCCCCCCCCCC)C6=C12") -smiles(R"CCCCCCCCCCCCCCCC[C@@-]12C3=C4C5=C1[Fe+2]16782345C2=C7[C@@-]8(CCCCCCCCCCCCCCCC)C6=C12") -smiles(R"CCCCCCCCCCCCCCCCCCN1C(=O)[C@H]2[C@H](C1=O)[C@]1(Cl)C(=C(Cl)[C@@]2(Cl)[C@@]1(Cl)Cl)Cl") -smiles(R"CCCCCCCCCCCCCCCCCCNC(=O)[C@-]12C3=C4C5=C1[Fe+2]16782345C2=C7C6=C1[C-]82") -smiles(R"CCCCCCCCCCCCCCCCCCNC(=O)[C@@-]12C3=C4C5=C1[Fe+2]16782345C2=C7C6=C1[C-]82") -smiles(R"CCCCCCCCCCCCCCCCCCOC(=O)[C@H](C(=O)C)[C@@H](c1cccc(c1)[N+](=O)[O-])[C@@H](C(=O)C)C(=O)OCCCCCCCCCCCCCCCCCC") -smiles(R"CCCCCCCCCCCCCCCCCCOC(=O)[C@H](C(=O)C)[C@H](c1cccc(c1)[N+](=O)[O-])[C@@H](C(=O)C)C(=O)OCCCCCCCCCCCCCCCCCC") # smiles(R"CCCCCCCCCCCCCCCCCCOc1ccc2C3=NC4=NC(=NC5=NC(=NC6=NC(=NC(=N3)c2c1)c1cc(OCCCCCCCCCCCCCCCCCC)ccc61)c1ccc(OCCCCCCCCCCCCCCCCCC)cc51)c1cc(OCCCCCCCCCCCCCCCCCC)ccc41") -smiles(R"CCCCCCCC/C=C/CCCCCCCC(=O)N1CC[C@@H](CCCc2ccccc2)CC1") -smiles(R"CCCCCCCC/C=C/CCCCCCCC(=O)OC[C@H](COC(=O)CCCCCCC/C=C/CCCCCCCC)OC(=O)N(CCCl)CCCl") -smiles(R"CCCC/C=C/C=C/C=C/CCCCCCCC(=O)O[C@H](COC(=O)CCCCCCC/C=C/[C@@H]1C=C[C@@H](CCCC)[C@H](C(=O)O)[C@H]1C(=O)O)COC(=O)CCCCCCC/C=C/[C@@H]1C=C[C@@H](CCCC)[C@H](C(=O)O)[C@H]1C(=O)O") -smiles(R"CCCCCCCCCCCCCCCCCCSC[C@@]12[C@H](COS(=O)(=O)O)[C@@H](COS(=O)(=O)O)[C@@H](c3ccccc13)c1ccccc21") -smiles(R"CCCCCCCCCCCCCCCC[C@H]1CCC[C@@]2(CCCC2)C1") -smiles(R"CCCCCCCCCCCCCCCC[C@@H]1C[C@@H]2CCCC[C@H]2C1") -smiles(R"CCCCCCCCCCCCCCCCN1C(=O)[C@@H]2[C@H](C1=O)[C@@]1(Cl)C(=C(Cl)[C@]2(Cl)[C@@]1(Cl)Cl)Cl") -smiles(R"CCCCCCCCCCCCCCCC(=O)[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"CCCCCCCCCCCCCCCC(=O)[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"CCCCCCCCCCCCCCCC(=O)[C@@-]12C3=C4C5=C1[Fe+2]16782345C2=C7[C@-]8(C(=O)CCCCCCCCCCCCCCC)C6=C12") -smiles(R"CCCCCCCCCCCCCCCC(=O)[C@@-]12C3=C4C5=C1[Fe+2]16782345C2=C7[C@@-]8(C(=O)CCCCCCCCCCCCCCC)C6=C12") -smiles(R"CCCCCCCCCCCCCCCC(=O)N(CCCN(C)C)[C@@H]1CC[C@H](CC1)N(CCCN(C)C)C(=O)CCCCCCCCCCCCCCC") -smiles(R"CCCCCCCCCCCCCCCC(=O)N(CCCN(C)C)[C@H]1CC[C@@H](CC1)N(CCCN(C)C)C(=O)CCCCCCCCCCCCCCC") -smiles(R"CC(C)CCCCCCCCCCCCC(=O)NCC(=O)N[C@H]1[C@H](O)[C@H](O)[C@@H](Nc2ncnc3[nH]cnc23)[C@@H](O)[C@H]1O") -smiles(R"CCCCCCCCCCCCCCCCS(=O)C[C@@H](O)COC(=O)c1ccc(cc1)C(=O)OC[C@@H](O)CS(=O)CCCCCCCCCCCCCCCC") -smiles(R"CCCCCCCCCCCCC[C@H]1O[C@@H](CCCCCCCCCCCCC)O[C@@H](CCCCCCCCCCCCC)O1") -smiles(R"C/C(=C\C=C\C=C(\C)/C=C\C=C(/C)\C(=O)O)/C=C/C=C(\C)/C(=O)O") -smiles(R"CCCCCCCCCCCCC(=O)[C@@-]12C3=C4C5=C1[Fe+2]16782345C2=C7[C@-]8(C(=O)CCCCCCCCCCCC)C6=C12") -smiles(R"CCCCCCCCCCCCC(=O)[C@@-]12C3=C4C5=C1[Fe+2]16782345C2=C7[C@@-]8(C(=O)CCCCCCCCCCCC)C6=C12") -smiles(R"CCCCCCCCCCC[C@H]([C@H]1CC[C@H](C)CC1)[C@H]1CC[C@H](C)CC1") -smiles(R"CCCCCCCCCCCCN1C(=O)[C@@H]2[C@H](C1=O)[C@@]1(Cl)C(=C(Cl)[C@]2(Cl)[C@@]1(Cl)Cl)Cl") -smiles(R"CCCCCCCCCCCC(=O)[C@-]12C3=C4C5=C1[Fe+2]16782345C2=C7[C@-]8(C(=O)CCCCCCCCCCC)C6=C12") -smiles(R"CCCCCCCCCCCC(=O)[C@-]12C3=C4C5=C1[Fe+2]16782345C2=C7[C@@-]8(C(=O)CCCCCCCCCCC)C6=C12") -smiles(R"CCCCCCCCCCCC[Si](CCCCCCCCCCCC)(CCCCCCCCCCCC)[C@-]12C3=C4C5=C1[Fe+2]16782345C2=C7[C@-]8(C6=C12)[Si](CCCCCCCCCCCC)(CCCCCCCCCCCC)CCCCCCCCCCCC") -smiles(R"CCCCCCCCCCCC[Si](CCCCCCCCCCCC)(CCCCCCCCCCCC)[C@@-]12C3=C4C5=C1[Fe+2]16782345C2=C7[C@@-]8(C6=C12)[Si](CCCCCCCCCCCC)(CCCCCCCCCCCC)CCCCCCCCCCCC") -smiles(R"CCCCCCCCCC[C@@H]1CC[C@@H](CCCCCCCCCC)CC1") -smiles(R"C=CCCCCCCCC[C@@H]1OC[C@@](CC)(CCCC)CO1") -smiles(R"CCCCCCCCCC[C@@H]1OC[C@](CC)(CCCC)CO1") -smiles(R"C=CCCCCCCCC[C@H]1O[C@H](C)C[C@@H](C)O1") -smiles(R"CCCCCCCCCC[C@H]1O[C@@H](C)C[C@H](C)O1") -smiles(R"CCCCCCCCC[C@@H]1OC[C@@](CC)(CCCC)CO1") -smiles(R"CCCCCCCCC[C@H]1OC[C@@](C)(CCC)CO1") -smiles(R"CCCCCCCCC[C@@H]1OC[C@@](C)(CC)CO1") -smiles(R"CCCCCCCCC[C@H]1O[C@H](CCCCCCCCC)O[C@@H](CCCCCCCCC)O1") -smiles(R"CCCCCCCCCC(=O)NNC(=O)[C@@H](C)[C@@H](O)[C@H](C)C(=O)NNC(=O)CCCCCCCCC") -smiles(R"CCCCCCCCCC(=O)O[C@@H](CC[C@@H]1CCCO1)CC[C@@H]1CCCO1") -smiles(R"CCCCCCCC[C@@H]1[C@H](CCCCCCCC(=O)N2C[C@@H]3CC[C@@H](CC3)C2)[C@]2(Cl)C(=C(Cl)[C@@]1(Cl)C2(Cl)Cl)Cl") -smiles(R"CCCCCCCC[C@H]1OC[C@](CC)(CCCC)CO1") -smiles(R"CCCCCCCC[C@@H]1OC[C@](C)(CCC)CO1") -smiles(R"CCCCCCCC[C@H]1OC[C@@](C)(CC)CO1") -smiles(R"CCCCCCCC[C@H]1O[C@@H](C)[C@H](C)O1") -smiles(R"CCCCCCCCCN1C(=O)[C@@H]2[C@H](C1=O)[C@@]1(Cl)C(=C(Cl)[C@]2(Cl)[C@@]1(Cl)Cl)Cl") -smiles(R"CC(=CCC/C(=C\[C@H]1O[C@H](C)[C@@H](C)O1)/C)C") -smiles(R"CCCCCCCC[N@@+]12CN3CN(CN(C3)C2)C1") -smiles(R"CCCCCCCCN1C(=O)[C@@H]2[C@H](C1=O)[C@@]1(Cl)C(=C(Cl)[C@]2(Cl)[C@@]1(Cl)Cl)Cl") -smiles(R"CCCCCCCCn1nnnc1c1nnn(C)n1") -smiles(R"CCCCCCCCN[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"CCCCCCCCN(N)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"CCCCCCCCN(/N=C/c1c2NC(=O)C(=CC=C[C@@H](C)[C@@H](O)[C@H](C)[C@@H](O)[C@H](C)[C@H](OC(=O)C)[C@H](C)[C@H](OC)C=CO[C@]3(C)Oc4c(C)c(O)c(c2O)c(c1O)c4C3=O)C)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"CCCCCC(C)(C)N/[P@@H](/O)=N\C(C)(C)CCCCC") -smiles(R"CCCCCCCC(=O)N[C@H]1CC[C@@H](CC1)C(C)(C)C") -smiles(R"C/C=C/[C@@](/C=C/C)(C(=O)OCCN(CC)CC)[C@@](/C=C/C)(/C=C/C)C(=O)OCCN(CC)CC") -smiles(R"C/C=C/[C@@](/C=C\C)(C(=O)OCCN(C)C)[C@@](/C=C/C)(/C=C/C)C(=O)OCCN(C)C") -smiles(R"CCCCCCCC(=O)O[C@H]1CC[C@H](CC1)C1CCCCC1") -smiles(R"C/C=C/[C@@](/C=C\C)(C(=O)O[C@H](C)CN(C)C)[C@@](/C=C/C)(/C=C/C)C(=O)O[C@H](C)CN(C)C") -smiles(R"CCCCCCCC(=O)OCn1ccc(cc1)c1c(COC(=O)NC(C)C)c(COC(=O)NC(C)C)c2CCCn12") -smiles(R"CCCCCCCC(=O)OCn1cccc(c1)c1c(COC(=O)NC(C)C)c(COC(=O)NC(C)C)c2CCCn12") -smiles(R"CCCCCCCC[S+](c1ncnc2[nH]cnc12)[Pd@@](Cl)([S+](CCCCCCCC)c1ncnc2[nH]cnc12)[S+](CCCCCCCC)c1ncnc2[nH]cnc12") -smiles(R"CCCCCC[C@@H]1[C@@H](C#N)C(=O)NC(=O)[C@@H]1C#N") -smiles(R"CCCCCC[C@@H]1N(CCCN1[C@H](C#N)c1ccccc1)[C@H](C#N)c1ccccc1") -smiles(R"CCCCCC[C@@H]1OC[C@](CC)(CCCC)CO1") -smiles(R"CC(C)CCC[C@@H](C)[C@@H]1CC[C@@H]2[C@@H]3CC[C@@H]4Cc5nc6C[C@@]7(C)[C@@H](CC[C@H]8[C@@H]7CC[C@]7(C)[C@H](CC[C@@H]87)[C@H](C)CCCC(C)C)Cc6nc5C[C@@]4(C)[C@@H]3CC[C@@]12C") -smiles(R"CCCCCCCN1C(=O)[C@@H]2[C@H](C1=O)[C@]1(Cl)C(=C(Cl)[C@@]2(Cl)[C@]1(Cl)Cl)Cl") -smiles(R"CCCCCCC(=O)C/C(=N\NC(=S)N)/C(=O)N[C@@H]1[C@H]2C[C@@H]3C[C@H](C2)C[C@H]1C3") -smiles(R"CCCC/C=C/[C@@](O)(C(=O)O[C@H]1CN2CC[C@@H]1CC2)c1ccccc1") -smiles(R"CCCCCCC(=O)OCn1ccc2c(C)c3[nH]c4ccccc4c3c(C)c2c1") -smiles(R"CCCCCCC(=O)OCn1ccc2c(C)c3[nH]c4ccc(OC)cc4c3c(C)c2c1") -smiles(R"CCCCCCC(=O)OCn1ccc(cc1)c1c(COC(=O)NC(C)C)c(COC(=O)NC(C)C)c2CCCn12") -smiles(R"CCCCCCC(=O)OCn1cccc(c1)c1c(COC(=O)NC(C)C)c(COC(=O)NC(C)C)c2CCCn12") -smiles(R"CCCCC[C@@H]1CC[C@H](CC1)OC(=O)C") -smiles(R"CCCCC[C@H]1CC[C@@H](CC1)OC(=O)C") -smiles(R"CCCCC[C@H]1CC[C@@H](CC1)OC(=O)NC") -smiles(R"CCC(CC)([C@@H]1CC[C@@H](O)CC1)[C@@H]1CC[C@@H](O)CC1") -smiles(R"CCCCC[C@H]1[C@@H]2C(=O)NC(=O)[C@H]1C(=O)NC2=O") -smiles(R"CCC(CC)[C@H]1N[C@@H](C(CC)CC)N2N1[C@@H]2C(CC)CC") -smiles(R"CCC(CC)[C@H]1OC[C@H](O)CO1") -smiles(R"CCCCC[C@H]1O[C@@H](CCCCC)O[C@@H](CCCCC)O1") -smiles(R"CCCCC[C@H]([C@@H]1SC(=S)NC1=O)[C@@H]1SC(=S)NC1=O") -smiles(R"C/C=C/C=C/[C@H](O)CC(=O)N1O[C@@]2(C)c3ccccc3[C@]1(C)c1ccccc21") -smiles(R"CCCCCCN(C)[C@@]12CN3CN(CN(C3)C2)C1") -smiles(R"CCCCCC(=O)[C@-]12C3=C4C5=C1[Fe+2]16782345C2=C7[C@-]8(C(=O)CCCCC)C6=C12") -smiles(R"CCCCCC(=O)[C@@-]12C3=C4C5=C1[Fe+2]16782345C2=C7[C@-]8(C(=O)CCCCC)C6=C12") -smiles(R"CCCCCCOc1ccc2c(no[n+]2[O-])c1") -smiles(R"CCCCCCOc1ccc2c(NO[N+]2[O-])c1") -smiles(R"CC(C)C#C[C@@](O)(C1CCCC1)C(=O)O[C@@H]1[C@@H]2CCN(CC2)[C@H]1C") -smiles(R"CC(C)/C=C\[C@](O)(C1CCCC1)C(=O)O[C@@H]1CN2CC[C@@H]1CC2") -smiles(R"CCCC#C[C@@](O)(C1CCCC1)C(=O)O[C@@H]1CN2CC[C@H]1CC2") -smiles(R"CC(=C)C#C[C@@](O)(C1CCCCC1)C(=O)O[C@H]1CN2CC[C@H]1CC2") -smiles(R"CCCC#C[C@@](O)(C1CCCCC1)C(=O)O[C@H]1CN2CC[C@@H]1CC2") -smiles(R"CC(=C)C#C[C@@](O)(C(C)C)C(=O)O[C@@H]1CN2CC[C@@H]1CC2") -smiles(R"CC(=C)C#C[C@](O)(C(=O)O[C@H]1[C@@H]2CCN(CC2)[C@H]1C)c1ccccc1") -smiles(R"CCCCCC(=O)O[C@@H]1CC[C@H](CC1)C1CCCCC1") -smiles(R"CCCCCC(=O)O[C@H](CC[C@@H]1CCCO1)CC[C@@H]1CCCO1") -smiles(R"CCCCCC(=O)OCn1ccc2c(C)c3[nH]c4ccccc4c3c(C)c2c1") -smiles(R"CCCCCC(=O)OCn1ccc2c(C)c3[nH]c4ccc(OC)cc4c3c(C)c2c1") -smiles(R"CCCCCC(=O)OCn1ccc(cc1)c1c(COC(=O)NC(C)C)c(COC(=O)NC(C)C)c2CCCn12") -smiles(R"CCCCCC(=O)OCn1cccc(c1)c1c(COC(=O)NC(C)C)c(COC(=O)NC(C)C)c2CCCn12") -smiles(R"CCC(CC)C(=O)OCn1ccc(cc1)c1n2CCCc2c(COC(=O)NC(C)C)c1COC(=O)NC(C)C") -smiles(R"CCC(CC)C(=O)OCn1cccc(c1)c1n2CCCc2c(COC(=O)NC(C)C)c1COC(=O)NC(C)C") -smiles(R"CCCCCC[Si](CCCCCC)(CCCCCC)[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"CCCCCC[Si](CCCCCC)(CCCCCC)[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"CCCCCC[Si](CCCCCC)(CCCCCC)[C@@-]12C3=C4C5=C1[Fe+2]16782345C2=C7[C@-]8(C6=C12)[Si](CCCCCC)(CCCCCC)CCCCCC") -smiles(R"CCCCCC[Si](CCCCCC)(CCCCCC)[C@@-]12C3=C4C5=C1[Fe+2]16782345C2=C7[C@@-]8(C6=C12)[Si](CCCCCC)(CCCCCC)CCCCCC") -smiles(R"CC(C)(C)[C@@H]1CC[C@@]2(CC1)c1[nH]c3ccccc3c1[C@]1(CC[C@@H](CC1)C(C)(C)C)c1[nH]c3ccccc3c21") -smiles(R"CC(C)(C)[C@@H]1CC[C@]2(OC[C@H]3CCCN23)CC1") -smiles(R"CC(C)(C)[C@@H]1CC[C@H](CC1)NC1=NCCO1") -smiles(R"CCCC[C@@H]1CC[C@H](CC1)NC(=O)Nc1ccccc1") -smiles(R"CCCC[C@H]1CC[C@@H](CC1)NC(=O)Nc1ccccc1") -smiles(R"CC(C)(C)[C@@H]1CC[C@H](CC1)P(=S)(C)C") -smiles(R"CCCC[C@@H]1CC[C@@H](NCC(=C)Br)CC1") -smiles(R"CC[C@](C)([C@@H]1CC[C@H](O)CC1)[C@H]1CC[C@H](O)CC1") -smiles(R"CC(C)(C)[C@H]1CC/C(=N/SC(c2ccccc2)(c2ccccc2)c2ccccc2)/CC1") -smiles(R"C=CCC[C@@H]1C[C@@H](C[C@@]2(OCCO2)C1)C(C)C") -smiles(R"CCCC[C@@H]1CC(=O)[Pd@]2([O+]=C(C)CC(=[O+]2)C)[N+]1(CC)CC") -smiles(R"CCCC[C@H]1O[C@@H](CCCC)O[C@@H](CCCC)O1") -smiles(R"C/C=C/C[C@H](C/C=C/C)c1cc[n+](cc1)[Pt](Cl)(Cl)(Cl)(Cl)[n+]1ccc(cc1)[C@H](C/C=C/C)C/C=C/C") -smiles(R"CCCC[C@@H](CC)CN1C(=O)[C@@H]2[C@H](C1=O)[C@]1(Cl)C(=C(Cl)[C@@]2(Cl)[C@@]1(Cl)Cl)Cl") -smiles(R"CCCC[C@@H](CC)CO[C@@H](OC[C@@H](CC)CCCC)[C@H](OC[C@H](CC)CCCC)OC[C@H](CC)CCCC") -smiles(R"CCCC[C@@H](CC)COC(=O)CC[S@](=O)(=O)CCC(=O)OC[C@@H](CC)CCCC") -smiles(R"CCCC[C@@H](CC)COC(=O)[C@H]1[C@H](C(=O)OC[C@H](CC)CCCC)[C@]2(Cl)C(=C(Cl)[C@@]1(Cl)[C@@]2(Cl)Cl)Cl") -smiles(R"CCCC[C@@H](CC)COC(=O)[C@H](CCC(=O)OC[C@H](CC)CCCC)CCC(=O)OC[C@H](CC)CCCC") -smiles(R"CCCC[C@@H](CC)C(=O)O[Ge@](CCCC)(CCCC)OC(=O)[C@@H](CC)CCCC") -smiles(R"CCCC[C@@H](CC)C(=O)O[Sn@](Cc1ccccc1)(Cc1ccccc1)OC(=O)[C@H](CC)CCCC") -smiles(R"CCCC[C@@H](CC)C(=O)O[Sn@](CCCC)(CCCC)OC(=O)[C@@H](CC)CCCC") -smiles(R"CCCC[C@H](C(=O)C(=O)N[C@H]1[C@H]2C[C@@H]3C[C@H](C2)C[C@H]1C3)C(=O)C(C)C") -smiles(R"C=CCCCN1C(=O)[C@H]2[C@@H]3c4ccccc4[C@](C=O)([C@@H]2C1=O)c1ccccc31") -smiles(R"CCCCCN1C(=O)[C@@H]2[C@H](C1=O)[C@@]1(Cl)C(=C(Cl)[C@]2(Cl)[C@@]1(Cl)Cl)Cl") -smiles(R"CCCCCN(C)[C@]12CN3CN(CN(C3)C2)C1") -smiles(R"C#CC(C)(C)NC(=O)N[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"CC/C=C\[C@](O)(C1CCCC1)C(=O)O[C@@H]1CN2CC[C@@H]1CC2") -smiles(R"CCC#C[C@@](O)(C1CCCC1)C(=O)O[C@H]1CN2CC[C@H]1CC2") -smiles(R"CC(C)(C)CO[C@@H]1[C@@]2(OCCO2)[C@@H]2CC[C@@]1(C)C2(C)C") -smiles(R"CCCCCOC(=O)N1CCN(CC1)C(=O)[C@H](CCC(=O)[O-])NC(=O)c1cc(cc(n1)c1ccccc1)N1CC[C@@H](COC)CC1") -smiles(R"CCCCCOC(=O)N1CCN(CC1)C(=O)[C@H](CCC(=O)[O-])NC(=O)c1cc(cc(n1)c1ccccc1)N1CC[C@H](COC)CC1") -smiles(R"CCC#C[C@@](O)(C(=O)O[C@H]1[C@@H]2CCN(CC2)[C@@H]1C)c1ccccc1") -smiles(R"CC(C)CC(=O)O[C@@H]1CC[C@@H](CC1)C1CCCCC1") -smiles(R"CCCCC(=O)O[C@@H]1CC[C@H](CC1)C1CCCCC1") -smiles(R"CCCCC(=O)OCn1ccc2c(C)c3[nH]c4ccccc4c3c(C)c2c1") -smiles(R"CCCCC(=O)OCn1ccc2c(C)c3[nH]c4ccc(OC)cc4c3c(C)c2c1") -smiles(R"CCCCC(=O)OCn1ccc(cc1)c1n2CCCc2c(COC(=O)NC(C)C)c1COC(=O)NC(C)C") -smiles(R"CCCCC(=O)OCn1cccc(c1)c1n2CCCc2c(COC(=O)NC(C)C)c1COC(=O)NC(C)C") -smiles(R"CC(=C[C@H]1CC[C@]2(OCCO2)[C@]1(C)COCc1ccccc1)C") -smiles(R"CCC[C@@H]1CC=CC[C@]21C(=O)NC(=O)NC2=O") -smiles(R"CCC[C@@H]1CCCC[C@]21C(=O)NC(=O)NC2=O") -smiles(R"C=CC[C@@H]1CCCC[C@@]21OCCO2") -smiles(R"C/C=C\[C@@H]1[C@H]2C(=O)[C@]3(Cl)[C@@H](/C=C/C)[C@H]3C(=O)[C@]12Cl") -smiles(R"C=CC[C@H]1C(=[O+][Cu@@]2([O+]=C1C)[O+]=C(C)[C@@H](CC=C)C(=[O+]2)C)C") -smiles(R"CCC[C@H]1C(=O)N/C(=N)/NC1=O") -smiles(R"CC(C)[C@H]1O[C@@]2(CCCC2)OCC1(C)C") -smiles(R"CCC[C@H]1O[C@]2(CCCC2)OC[C@H]1CC") -smiles(R"CCC[C@H]1OC[C@]2(CO1)CO[C@@H](CCC)OC2") -smiles(R"C/C=C\[C@H]1O[C@H](C)[C@@H](C)O1") -smiles(R"CCC[C@@H]1O[C@H](C)[C@@H](C)O1") -smiles(R"CC(C)[C@H]1O[C@H](O[C@@H](O1)C(C)C)C(C)C") -smiles(R"CCC[C@H](C1=C(O)C[C@@H](C)CC1=O)C1=C(O)C[C@@H](C)CC1=O") -smiles(R"CCC[C@@H](C)[C@H]1CC[C@@H](CC1)N[C@H]1CC[C@@H](CC1)[C@@H](C)CCC") -smiles(R"CC(C)[C@H](SC[C@H](N)C(=O)O)SC[C@H](N)C(=O)O") -smiles(R"CC(=CC[N@+]12CN3CN(CN(C3)C2)C1)C") -smiles(R"CCCCN1C[C@H](O)CN[Pt@@]21OC(=O)CC(=O)O2") -smiles(R"CCCC[N+]1(C[C@@H](O)CN[Pt@@]21OC(=O)CC(=O)O2)Cc1ccccc1") -smiles(R"CCCCN1CCN/C/1=[S+]\[Cu@@]1(/[S+]=C/2\NCCN2CCCC)O[S@@](=O)(=O)O1") -smiles(R"CCCCN1[C@H](CO)[C@H](O)[C@H](O)[C@@H](O)[C@H]1CO") -smiles(R"CCCCN1C(=O)[C@@H]2[C@H](C1=O)[C@@]1(Cl)C(=C(Cl)[C@]2(Cl)[C@@]1(Cl)Cl)Cl") -smiles(R"CCCCN1C(=O)[C@H](c2ccccc2)[C@@]2(CCN(C)CC2)C1=O") -smiles(R"CC(=CCN[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)C") -smiles(R"CC(C)CN[C@]12CN3CN(CN(C3)C2)C1") -smiles(R"CCCCNc1ccc2nnc(C)n2n1") -smiles(R"CCCCN(C)[C@]12CN3CN(CN(C3)C2)C1") -smiles(R"CCCCNC(C)(C)[C@]1(SS[C@](SS1)(c1ccc(Cl)cc1)C(C)(C)NCCCC)c1ccc(Cl)cc1") -smiles(R"CCCCN(CCCC)[C@@H]1CC[C@H](CC1)Nc1ccnc2cc(Cl)ccc12") -smiles(R"CCCCN[C@@H]1CC[C@]2(SCCS2)c2[nH]c3ccccc3c12") -smiles(R"CC(C)(C)/N=C/N1CC[C@H](CC1)C(c1ccccc1)c1ccccc1") -smiles(R"CCCCN/C(=[N+]\1/[C@H](C)CCC[C@H]1C)/c1ccccc1") -smiles(R"CC(C)CNC(=O)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"CCCCNC(=O)[C@H]1CC[C@H](CC1)CC1CCCCC1") -smiles(R"CC(C)(C)N/N=C/1\C(C)(C)/C(=N\NC(C)(C)C)/C1(C)C") -smiles(R"CC#C[C@](O)(C1CC1)C(=O)O[C@@H]1CN2CC[C@H]1CC2") -smiles(R"C/C=C\[C@@](O)(C1CCCC1)C(=O)O[C@@H]1[C@@H]2CCN(CC2)[C@@H]1C") -smiles(R"CC#C[C@@](O)(C1CCCC1)C(=O)O[C@@H]1[C@H]2CCN(CC2)[C@H]1C") -smiles(R"CC#C[C@@](O)(C1CCCC1)C(=O)O[C@H]1[C@@H]2CCN(CC2)[C@H]1CC") -smiles(R"C/C=C\[C@](O)(C1CCCC1)C(=O)O[C@@H]1CN2CC[C@H]1CC2") -smiles(R"C/C=C\[C@@](O)(C1CCCCC1)C(=O)O[C@@H]1CN2CC[C@H]1CC2") -smiles(R"CC(=C)[C@@](O)(C1CCCCC1)C(=O)O[C@@H]1CN2CC[C@H]1CC2") -smiles(R"CCCC(=O)C[C@@H](C)C(=O)C(=O)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"CCCCOCN(COCCCC)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"CCCCOC(=O)[C@@H]1[C@@H](C(=O)OCCCC)[C@]2(Cl)C(=C(Cl)[C@@]1(Cl)[C@@]2(Cl)Cl)Cl") -smiles(R"CCCCOC(=O)[C@@H]1[C@H](N[C@H](c2ccc(Cl)cc2)[C@@H](C(=O)OCCCC)[S@@]1(=O)=O)c1ccc(Cl)cc1") -smiles(R"CCCCOC(=O)[C@@H]1O[C@@]2(CCCC2)O[C@@H]1C(=O)OCCCC") -smiles(R"CCCCOC(=O)Nc1ccc2c(c1)c1c(ccc3c1[nH]c(=O)c1cccn31)n2CC") -smiles(R"CC(C)[C@](O)(C(=O)O/C=C/1\C[C@@H]2CCN1CC2)c1ccccc1") -smiles(R"CC(C)[C@@](O)(C(=O)OCC1=C[C@@H]2CCN1CC2)c1ccccc1") -smiles(R"CC#C[C@@](O)(C(=O)O[C@@H]1[C@@H]2CCN(CC2)[C@H]1C)C1=CCCC1") -smiles(R"C/C=C/[C@@](O)(C(=O)O[C@@H]1CN2CC[C@H]1CC2)c1ccccc1") -smiles(R"CC(=C)[C@@](O)(C(=O)O[C@H]1CN2CC[C@H]1CC2)c1ccccc1") -smiles(R"CC(=C)[C@@](O)(C(=O)O[C@H]1CN2CC[C@@H]1CC2)c1cccs1") -smiles(R"CCCCON1C[C@H](OC(=O)C)[C@H](OC(=O)C)[C@H](C1)OC(=O)C") -smiles(R"CC(=C)C(=O)Nc1ccc2nn(nc2c1)c1ccccc1O") -smiles(R"CCCC(=O)OC[C@H]1CC[C@H](CC1)COC(=O)CCC") -smiles(R"CCCC(=O)O[C@@H]1[C@](C)(C)[C@@H](OC(=O)CCC)[C@]1(C)C") -smiles(R"CCCC(=O)O[C@H]1[C@@](C)(C)[C@H](OC(=O)CCC)[C@]1(C)C") -smiles(R"CCCC(=O)O[C@H]1[C@@H](OC(=O)CCC)[C@H](OC(=O)CCC)[C@H](OC(=O)CCC)[C@@H](OC(=O)CCC)[C@H]1OC(=O)CCC") -smiles(R"CCCC(=O)O[C@@H](CC[C@@H]1CCCO1)CC[C@@H]1CCCO1") -smiles(R"CCCC(=O)OCn1ccc2c(C)c3[nH]c4ccccc4c3c(C)c2c1") -smiles(R"CCCC(=O)OCn1ccc2c(C)c3[nH]c4ccc(OC)cc4c3c(C)c2c1") -smiles(R"CCCC(=O)OCn1ccc(cc1)c1n2CCCc2c(COC(=O)NC(C)C)c1COC(=O)NC(C)C") -smiles(R"CCCC(=O)OCn1cccc(c1)c1n2CCCc2c(COC(=O)NC(C)C)c1COC(=O)NC(C)C") -smiles(R"CCCCOP(=O)(OCCCC)N[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"CCCC[Pb]([C@@]12C3=C4C5=C1[Fe]16782345[C@@H]2C7=C6C1=C82)([C@@]12C3=C4C5=C1[Fe]16782345[C@@H]2C7=C6C1=C82)[C@]12C3=C4C5=C1[Fe]16782345[C@@H]2C7=C6C1=C82") -smiles(R"CCCCP(CCCC)(CCCC)[Pd@]1(Cl)[Cl][Pd@](Cl)([Cl]1)P(CCCC)(CCCC)CCCC") -smiles(R"CCCCP(CCCC)(CCCC)[Pt@]1(Cl)[Cl][Pt@](Cl)([Cl]1)P(CCCC)(CCCC)CCCC") -smiles(R"CCCC[Sn@@]1(CCCC)OCCN2CCN(CCO1)CC2") -smiles(R"CCCC[Sn](CCCC)(CCCC)NC(=S)N[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"CCCC[Sn](CCCC)(CCCC)S[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"CCCC[Sn@](CCCC)(OC(=O)/C=C/c1ccccc1F)OC(=O)/C=C/c1ccccc1F") -smiles(R"CCCC[Sn@](CCCC)(OC(=O)[C@H](OC)c1ccccc1)OC(=O)[C@H](OC)c1ccccc1") -smiles(R"CCCC[Sn@@](CCCC)(OC(=O)[C@H](OC(=O)C)c1ccccc1)OC(=O)[C@H](OC(=O)C)c1ccccc1") -smiles(R"CCCC[Sn@@](CCCC)(OS(=O)c1ccccc1)OS(=O)c1ccccc1") -smiles(R"CC[C@@H]1CC[C@H](CC1)NC(=O)c1ccccc1") -smiles(R"CC[C@H]1CC[C@@H](CC1)NC(=O)c1ccccc1") -smiles(R"CC[C@H]1CC[C@@H](CC1)NC(=O)NC") -smiles(R"C#C[C@H]1CC[C@@H](CC1)NC(=O)NCCCCCCNC(=O)N[C@H]1CC[C@@H](C#C)CC1") -smiles(R"CC[C@@H]1CC[Si](C)(C)C[C@]21C(=O)NC(=O)NC2=O") -smiles(R"C=C[C@H]1CN2CC[C@H]1C[C@H]2[C@H](O)c1ccnc2ccccc12") -smiles(R"CC[C@H]1C(=[O+][Cu@]2([O+]=C1C)[O+]=C(C)[C@H](CC)C(=[O+]2)C)C") -smiles(R"CC[C@@H]1C(=O)[OH+][Pt@@+2](N)(NCCCCCCN[Pt@+2]2(N)[OH+]C(=O)[C@@H](CC)C(=O)[OH+]2)[OH+]C1=O") -smiles(R"CC[C@H]1C(=O)[OH+][Pt@+2](N)(NCCCCCN[Pt@+2]2(N)[OH+]C(=O)[C@@H](CC)C(=O)[OH+]2)[OH+]C1=O") -smiles(R"CC[C@@H]1C(=O)O[Pt@@]2(NCc3cccc[n+]23)OC1=O") -smiles(R"CC[C@H]1N2CC[C@@H](CC2)[C@@H]1OC(=O)CC(O)(c1ccccc1)c1ccccc1") -smiles(R"CC[C@@H]1N2CC[C@@H](CC2)[C@H]1OC(=O)C(O)(c1ccccc1)c1ccccc1") -smiles(R"C=C[C@@H](C)[C@@]1(CCC[C@@]21OCCO2)C(=O)OC") -smiles(R"CC[C@@H](C)C[C@]12C3=C4C5=C1[Zr]16782345(Cl)(Cl)C2=C7[C@@]8(C[C@H](C)CC)C6=C12") -smiles(R"CC[C@H](CC[C@H](C)[C@@H]1CC[C@H]2[C@H]3CC=C4C[C@@H](CC[C@]4(C)[C@@H]3CC[C@]12C)[OH+][Ti@]([Cl-])([OH+][C@@H]1CC[C@@]2(C)C(=CC[C@@H]3[C@@H]4CC[C@@H]([C@@H](C)CC[C@@H](CC)C(C)C)[C@@]4(C)CC[C@@H]23)C1)[OH+][C@@H]1CC[C@@]2(C)C(=CC[C@@H]3[C@@H]4CC[C@@H]([C@@H](C)CC[C@@H](CC)C(C)C)[C@@]4(C)CC[C@@H]23)C1)C(C)C") -smiles(R"CC[C@H](CC[C@H](C)[C@@H]1CC[C@H]2[C@H]3CC=C4C[C@@H](CC[C@]4(C)[C@@H]3CC[C@]12C)[OH+][Ti@@]([Cl-])([OH+][C@@H]1CC[C@@]2(C)C(=CC[C@@H]3[C@@H]4CC[C@@H]([C@@H](C)CC[C@@H](CC)C(C)C)[C@@]4(C)CC[C@@H]23)C1)[OH+][C@@H]1CC[C@@]2(C)C(=CC[C@@H]3[C@@H]4CC[C@@H]([C@@H](C)CC[C@@H](CC)C(C)C)[C@@]4(C)CC[C@@H]23)C1)C(C)C") -smiles(R"CC[C@H](C)[C@H]1CC[C@H]2/C(=C/C=C\3/C[C@@H](O)C(=C)[C@H](O)C3)/CCC[C@]12C") -smiles(R"CC[C@H](C)[C@@H]1CC[C@H](CC1)OC(=O)c1ccccc1") -smiles(R"CC[C@H](C)[C@H](C)CN[C@]12CN3CN(CN(C3)C2)C1") -smiles(R"CC[C@@H](C/C=N/Nc1ccc(cc1[N+](=O)[O-])[N+](=O)[O-])C/C=N/Nc1ccc(cc1[N+](=O)[O-])[N+](=O)[O-]") -smiles(R"CC[C@H](C/C=N/Nc1ccc(cc1[N+](=O)[O-])[N+](=O)[O-])C/C=N/Nc1ccc(cc1[N+](=O)[O-])[N+](=O)[O-]") -smiles(R"CC[C@H](C)[C@](O)(C#C)C(=O)O[C@@H]1[C@H]2CCN(CC2)[C@H]1C") -smiles(R"C#C[C@H](C)N1CC[C@]2(CC1)C(=O)NCN2c1ccccc1") -smiles(R"CC[C@H](C)N1CN(c2ccccc2)[C@@]2(CCN(CC2)C[C@@H]2COc3ccccc3O2)C1=O") -smiles(R"CC[C@H](CO)N1CCN([C@H](CC)CO)[Pt@@]1(Cl)Cl") -smiles(R"CC[C@H](C(=O)N[C@H]1CN2CC[C@@H]1CC2)c1ccccc1") -smiles(R"C=C[C@@H](C)S(=O)(=O)[Fe]1234(C#[O+])(C#[O+])C5(=C3(C)C2(=C1(C)[C@]45C)C)C") -smiles(R"CC[C@H](NC(=O)CCNC(=O)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)c1ccccc1OC") -smiles(R"CC(C)[N@@+]12CC[N@+]3(CC[N@+](CC1)(C(C)C)[Mo]23(=O)(=O)=O)C(C)C") -smiles(R"C=CC[N@+]12CN3CN(CN(C3)C2)C1") -smiles(R"C#CC[N@+]12CN3CN(CN(C3)C2)C1") -smiles(R"CCCn1c2[nH]c(=N)sc2c(=O)n(CC)c1=O") -smiles(R"CC(C)N1CNC(=O)[C@@]21CCN(CC2)C[C@H]1COc2ccccc2O1") -smiles(R"C=CCn1c(=O)c(C(=O)Nc2scc(n2)[C@@]23C[C@H]4C[C@H](C[C@H](C4)C3)C2)c(O)c2ccccc12") -smiles(R"C=CCN1C(=O)[C@H](c2ccccc2)[C@@]2(CCN(C)CC2)C1=O") -smiles(R"C#CCN1C(=O)[C@@H](c2ccccc2)[C@]2(CCN(C)CC2)C1=O") -smiles(R"CCCn1c(=O)[nH]c(=O)c2sc(=N)[nH]c12") -smiles(R"C=CCn1c(=S)[nH]nc1[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"C=C/C(=[N+]\1/[OH+][W+]23451(C#[O+])(C#[O+])[C@H]1C4=C3C2=C51)/C") -smiles(R"CCCN[C@@]12CN3CN(CN(C3)C2)C1") -smiles(R"CCCN(C)[C@@]12CN3CN(CN(C3)C2)C1") -smiles(R"CCC[N+](CCC)(CCC)CCC") -smiles(R"CC(C)NCCC[C@H](C)Nc1ccnc2ccc3nn(C)nc3c12") -smiles(R"CCC[N+](C)(C)CCn1c2[nH]c(=N)sc2c(=O)n(CC)c1=O") -smiles(R"CC(C)N(C(C)C)C(=O)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"CC(C)N(C(C)C)C(=O)[C@]12[C@@H]3[C@@H]4[C@H]1[C@@H]1[C@H]2[C@H]3[C@]41C(=O)N(C(C)C)C(C)C") -smiles(R"CC(C)N(C(C)C)C(=O)[C@]12[C@H]3[C@H]4[C@@H]2[C@H]2[C@@H]1[C@@H]3[C@@]42[C@@H](O)C(C)(C)C") -smiles(R"CC(C)N(C(C)C)C(=O)[C@]12[C@H]3[C@H]4[C@@H]2[C@H]2[C@@H]1[C@@H]3[C@@]42C(=O)C(C)(C)C") -smiles(R"CC(C)N(C(C)C)C(=O)[C@]12[C@H]3[C@H]4[C@@H]2[C@H]2[C@@H]1[C@@H]3[C@@]42C(=O)N") -smiles(R"CC(C)N(C(C)C)C(=O)[C@]12[C@H]3[C@H]4[C@@H]2[C@H]2[C@@H]1[C@@H]3[C@@]42C(=O)O") -smiles(R"CC(C)N(C(C)C)C(=O)[C@]12[C@H]3[C@H]4[C@@H]2[C@H]2[C@@H]1[C@@H]3[C@@]42I") -smiles(R"CC(C)N(C(C)C)p1n(nnn1C(C)(C)C)C(C)(C)C") -smiles(R"CC(C)N(CCn1c2c(oc(=O)c3ccccc23)c2ccc3ccccc3c12)C(C)C") -smiles(R"CCCN/C(=[N+]\1/[C@@H](C)CCC[C@@H]1C)/c1ccccc1") -smiles(R"C=CCNC(=O)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"CC(C)NC(=O)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"CCCNC(=O)[C@H]1[C@@H]2CC[C@@H](CC2)[C@@H]1C(=O)NCCC") -smiles(R"CC(C)NC(=O)OCc1c(c2cccn(COC(=O)C3CC3)c2)n2CCCc2c1COC(=O)NC(C)C") -smiles(R"CC(C)NC(=O)OCc1c(c2cccn(COC(=O)Cc3ccccc3)c2)n2CCCc2c1COC(=O)NC(C)C") -smiles(R"CC(C)NC(=O)OCc1c(c2cccn(COC(=O)C(C)(C)C)c2)n2CCCc2c1COC(=O)NC(C)C") -smiles(R"CC(C)NC(=O)OCc1c(c2ccn(cc2)COC(=O)C(C)(C)C)n2CCCc2c1COC(=O)NC(C)C") -smiles(R"CC(C)NC(=O)OCc1c(c2ccn(COC(=O)C3CC3)cc2)n2CCCc2c1COC(=O)NC(C)C") -smiles(R"CC(C)NC(=O)OCc1c(c2ccn(COC(=O)Cc3ccccc3)cc2)n2CCCc2c1COC(=O)NC(C)C") -smiles(R"CC(C)NC(=O)OCc1c(COC(=O)NC(C)C)c2CCCn2c1c1cccn(COC(=O)C2CCCCC2)c1") -smiles(R"CC(C)NC(=O)OCc1c(COC(=O)NC(C)C)c2CCCn2c1c1cccn(COC(=O)C(C)C)c1") -smiles(R"CC(C)NC(=O)OCc1c(COC(=O)NC(C)C)c2CCCn2c1c1cccn(COC(=O)CC(C)C)c1") -smiles(R"CC(C)NC(=O)OCc1c(COC(=O)NC(C)C)c2CCCn2c1c1cccn(COC(=O)CC(C)(C)C)c1") -smiles(R"CC(C)NC(=O)OCc1c(COC(=O)NC(C)C)c2CCCn2c1c1ccn(COC(=O)C2CCCCC2)cc1") -smiles(R"CC(C)NC(=O)OCc1c(COC(=O)NC(C)C)c2CCCn2c1c1ccn(COC(=O)C(C)C)cc1") -smiles(R"CC(C)NC(=O)OCc1c(COC(=O)NC(C)C)c2CCCn2c1c1ccn(COC(=O)CC(C)C)cc1") -smiles(R"CC(C)NC(=O)OCc1c(COC(=O)NC(C)C)c2CCCn2c1c1ccn(COC(=O)CC(C)(C)C)cc1") -smiles(R"CC(C)(O)[C@-]12C3=C4C5=C1[Fe+2]16782345C2=C7[C@@-]8(C6=C12)C(C)(C)O") -smiles(R"CC(C)(O)[C@@-]12C3=C4C5=C1[Fe+2]16782345C2=C7[C@-]8(C6=C12)C(C)(C)O") -smiles(R"CC(C)(O)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"CC(C)(O)c1cc2c3ccccc3c2cc1C(C)(C)O") -smiles(R"C=CCOc1ccc2c(no[n+]2[O-])c1") -smiles(R"C=CCOc1ccc2c(NO[N+]2[O-])c1") -smiles(R"CC(C)Oc1ccc2[nH]c3c(C)c4ccn(C)cc4c(C)c3c2c1") -smiles(R"C=CCOc1ccccc1c1nnn(C)n1") -smiles(R"CCCOc1ccc(cc1OC)[C@H]([C@H](C(=O)C)C(=O)OCC)[C@H](C(=O)C)C(=O)OCC") -smiles(R"CCC(=O)c1ccc(OC[C@H](O)CN2CC[C@](O)(CC2)c2ccccc2)cc1") -smiles(R"CC(C)O/C=C\1/[C@H]2CCCC[C@H]2[C@]2(SCCS2)C1=O") -smiles(R"CC(C)(O)CCC[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"CC(C)(O)CCC[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"CC[C@](O)([C@H](c1ccccc1)c1ccccn1)[C@H](c1ccccc1)c1ccccn1") -smiles(R"C=CCOC(=O)[C@@H]1[C@@H](C(=O)OCC=C)[C@]2(Cl)C(=C(Cl)[C@@]1(Cl)[C@]2(Cl)Cl)Cl") -smiles(R"CCCOC(=O)[C@@H]1[C@H](N[C@@H](c2ccc(OC)cc2)[C@H](C(=O)OCCC)[S@@]1(=O)=O)c1ccc(OC)cc1") -smiles(R"C=CCOC(=O)[C@@H](C)O[C@@H](C)O[C@H](C)C(=O)OCC=C") -smiles(R"CCCOC(=O)Nc1ccc2c(c1)c1c(ccc3c1[nH]c(=O)c1cccn31)n2CC") -smiles(R"C#C[C@](O)(C(=O)O[C@H]1CN2CC[C@H]1CC2)c1ccccc1") -smiles(R"C=CC(=O)N[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"C=CC(=O)N[C@@]1(CN2CC[C@H]1CC2)c1ccccc1") -smiles(R"CCC(=O)N[C@@H]1c2ccccc2[C@@]2(CCN(CC2)C(=O)c2cccc(Cl)c2F)[C@H]1OC") -smiles(R"CCC(=O)N([C@@H]1CCN(CC1)[C@H](C)Cc1ccccc1)c1ccccc1") -smiles(R"CCC(=O)Oc1ccc2c(c1)c(=O)c1c(NCCCN(C)C)ccc3nnn2c13") -smiles(R"CCC(=O)O[C@]1(CCN(C/C=C/c2cccc3ccccc23)CC1)c1ccccc1") -smiles(R"CCC(=O)O[C@@]1(CCN(C/C=C/c2ccc(F)cc2)CC1)c1ccccc1") -smiles(R"CCC(=O)O[C@@]1([C@@H]2CCN(CC2)C1=C)c1ccccc1") -smiles(R"C=CC(=O)OCCCS(=O)(=O)[OH+][Pt@+2]1(N[C@H]2CCCC[C@@H]2N1)[OH+]S(=O)(=O)CCCOC(=O)C=C") -smiles(R"CCC(=O)OC[C@H]1CC[C@H](CC1)COC(=O)CC") -smiles(R"CCC(=O)O[C@H]1[C@@](C)(C)[C@@H](OC(=O)CC)C1(C)C") -smiles(R"CCC(=O)O[C@H](CC[C@H]1CCCO1)CC[C@H]1CCCO1") -smiles(R"CCC(=O)OCn1ccc2c(C)c3[nH]c4ccccc4c3c(C)c2c1") -smiles(R"CCC(=O)OCn1ccc2c(C)c3[nH]c4ccc(OC)cc4c3c(C)c2c1") -smiles(R"CC(C)OP(=O)(OC(C)C)N[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"CCC[S@@]1(=O)CC[S@@](=O)(CCC)[Pd@@]1(Br)Br") -smiles(R"CCC[S@@]1(=O)CC[S@@](=O)(CCC)[Pd@@]1(Cl)Cl") -smiles(R"CCC[S@@]1(=O)CC[S@@](=O)(CCC)[Pt@@]1(Br)Br") -smiles(R"CCC[S@@]1(=O)CC[S@@](=O)(CCC)[Pt@@]1(Cl)Cl") -smiles(R"CCC[S@@]1(=O)CC[S@@](=O)(CCC)[Pt@@]1(I)I") -smiles(R"CCC[S+]1[Rh](C#[O+])(C#[O+])[S+](CCC)[Rh@@]1(C#[O+])C#[O+]") -smiles(R"CC(C)[Si](OC[C@H]1C[C@@H](C[C@H]2C[C@@H](C[C@@H]3C[C@H](CO[Si](C(C)C)(C(C)C)C(C)C)OC(C)(C)O3)O[C@](C)(C)O2)OC(C)(C)O1)(C(C)C)C(C)C") -smiles(R"CC#C[Ti]12345678(C#CC)([C@@H]9C3=C2C1=C49)[C@H]1C7=C6C5=C81") -smiles(R"CC[Ge@@]1(CC)CC[C@@]2(CC1)NC(=O)N(CCCN(C)C)[C@@H]2O") -smiles(R"C[C@@H]1[C@]2(C=CC=C2)C1(C)C") -smiles(R"C[C@@H]1[C@]2(CCCCC2)[N@@+]21CCCC2") -smiles(R"C[C@@H]1[C@@]2(CCCCC2)[N@+]21CCCC2") -smiles(R"C[C@@H]1C[As@@+](C[C@H](C)N1C)(c1ccccc1)c1ccccc1") -smiles(R"C[C@@H]1C[As+](C[C@H](C)N1C)(c1ccccc1)c1ccccc1") -smiles(R"C[C@H]1C[C@]2(OCCO2)CC[C@@H]1OCc1ccccc1") -smiles(R"C[C@@H]1CC[C@@]2(CC1)CC(=O)N(N1CCCCC1)C2=O") -smiles(R"C[C@@H]1CC[C@]2(CC1)N=C1CC[C@@H](C)C[C@H]1[C@]1(CC[C@@H](C)CC1)N2") -smiles(R"C[C@H]1CC[C@@]2(CC1)NC(=O)N(CNc1ccccc1)C2=O") -smiles(R"C[C@H]1C/C(=C\c2ccc(cc2)OC(=O)C(C)(C)C)/C(=O)/C(=C/c2ccc(cc2)OC(=O)C(C)(C)C)/C1") -smiles(R"C[C@H]1C/C(=C\c2ccc(O)c(O)c2)/C(=O)/C(=C/c2ccc(O)c(O)c2)/C1") -smiles(R"C[C@@H]1CC/C(=C\2/C(=O)N=C3S[Cu@]4(SC5=NC(=O)/C(=C/6\CC[C@@H](C)CC6)/[S+]45)[S+]23)/CC1") -smiles(R"C[C@@H]1CCCC[C@@]21OCCO2") -smiles(R"C[C@H]1CCCCCCCCCC[C@]21OCCO2") -smiles(R"C[C@H]1CC=CC[C@H]1[C@H](OC[C@@H]1CC=CC[C@@H]1C)OC[C@@H]1CC=CC[C@@H]1C") -smiles(R"C[C@H]1CCCC[C@H]1[C@@](O)(C(=O)O)[C@@H]1CCCC[C@@H]1C") -smiles(R"C[C@@H]1CCCCC[N@+]21CCCC2") -smiles(R"C[C@@H]1CCCCC[N@+]21CC[N@@+]1(CCCCC[C@@H]1C)CC2") -smiles(R"C[C@H]1CCCCN1/C=C/1\C(=O)O[C@@](C)(C)OC1=O") -smiles(R"C[C@H]1CCCC[N@+]21CCCC2") -smiles(R"C[C@@H]1CC(C)(C)N[C@@]2(CCCC2)N1") -smiles(R"C[C@H]1CC(C)(C)O[C@]2(CCCC2)O1") -smiles(R"C[C@@H]1CC[C@H](CC1)c1cc(c2ccccc2)n(n1)c1ccccc1") -smiles(R"C[C@H]1CC[C@H](CC1)C(C)(C)c1ccc(O)cc1") -smiles(R"C[C@@H]1CC[C@H](CC1)C(C)(C)OCCN(C)C") -smiles(R"C[C@H]1CC[C@H](CC1)C(C)(C)OC(=O)COC(=O)C") -smiles(R"C[C@@H]1CC[C@@H](CC1)C(=O)[C@H]1CCCC[C@H]1CC1CCCCC1") -smiles(R"C[C@@H]1CC[C@H](CC1)[C@@](O)(C(=O)O)[C@@H]1CC[C@@H](C)CC1") -smiles(R"C[C@H]1CC[C@@H](CC1)C(=O)O[C@H]1CC[C@H](CC1)C(C)(C)C") -smiles(R"C[C@@H]1CC[C@H](CC1)NC(=O)C") -smiles(R"C[C@H]1CC[C@@H](CC1)NC(=O)C") -smiles(R"C[C@@H]1CC[C@H](CC1)NC(=O)[C@]1(C)Cn2c3ccccc3nc2C(=O)N1Cc1ccccc1Cl") -smiles(R"C[C@@H]1CC[C@H](CC1)Oc1ccc(cc1[N+](=O)[O-])[N+](=O)[O-]") -smiles(R"C[C@H]1CC[C@@H](CC1)Oc1ccc(cc1[N+](=O)[O-])[N+](=O)[O-]") -smiles(R"C[C@@H]1CC[C@H](CC1)O[C@H](C[N+](=O)[O-])C(Cl)(Cl)Cl") -smiles(R"C[C@H]1CC[C@@H](CC1)O[C@H](C[N+](=O)[O-])C(Cl)(Cl)Cl") -smiles(R"C[C@@H]1CC[C@@H](CC1)OS(=O)(=O)c1ccc(C)cc1") -smiles(R"C[C@H]1CC[C@H](C(C)C)[C@@]2(OC[C@](C)(C)CO2)C1") -smiles(R"C[C@H]1CC[C@H](C(C)C)[C@@H](C1)[C@@]12C3=C4C5=C1[Zr]16782345(Cl)(Cl)C2=C7[C@]8([C@@H]3C[C@@H](C)CC[C@@H]3C(C)C)C6=C12") -smiles(R"C[C@@H]1CC[C@@H](NCCOC(=O)c2ccc(cc2)[N+](=O)[O-])CC1") -smiles(R"C[C@H]1CC[C@H](NCCOC(=O)c2ccc(cc2)[N+](=O)[O-])CC1") -smiles(R"C[C@@H]1CCC[N@+]2(CCCC2)C1") -smiles(R"C[C@H]1CCC[NH+](CCNC(=O)N[C@@]23C[C@H]4C[C@H](C[C@H](C4)C3)C2)C1") -smiles(R"C[C@@H]1CC/C(=N/Nc2ccc(cc2)[N+](=O)[O-])/CC1") -smiles(R"C[C@H]1CC/C(=N\Nc2ccc(cc2)[N+](=O)[O-])/CC1") -smiles(R"C[C@@H]1CC/C(=N/Nc2ccc(cc2[N+](=O)[O-])[N+](=O)[O-])/CC1") -smiles(R"C[C@@H]1CC/C(=N\Nc2ccc(cc2[N+](=O)[O-])[N+](=O)[O-])/CC1") -smiles(R"C[C@H]1CC/C(=N/Nc2ccc(cc2[N+](=O)[O-])[N+](=O)[O-])/CC1") -smiles(R"C[C@H]1CC/C(=N\Nc2ccc(cc2[N+](=O)[O-])[N+](=O)[O-])/CC1") -smiles(R"C[C@H]1CC/C(=N/NS(=O)(=O)c2ccc(cc2)NC(=O)C)/CC1") -smiles(R"C[C@@H]1CC/C(=N\NS(=O)(=O)c2ccc(cc2)[N+](=O)[O-])/CC1") -smiles(R"C[C@H]1CC/C(=N/NS(=O)(=O)c2ccc(cc2)[N+](=O)[O-])/CC1") -smiles(R"C[C@H]1CC[C@](O)(CC1)[C@](C)(C(=O)O)c1ccccc1") -smiles(R"C[C@H]1C[C@H](C)[C@@H](C)C1") -smiles(R"C[C@H]1C[C@H](C[N+](=O)[O-])C[C@]2(OCCO2)C1") -smiles(R"C[C@H]1C[C@H](C[N+](=O)[O-])C[C@@]2(OCCO2)C1") -smiles(R"C[C@@H]1C[C@H](C)N[Pt@]2(N1)OC(=O)C(=O)O2") -smiles(R"C[C@H]1C[C@H](C)O[C@]2(CCCC2)O1") -smiles(R"C[C@H]1C[C@@H](O[Ti@@](O[C@@H]2C[C@H](C)CC(C)(C)C2)(O[C@@H]2C[C@H](C)CC(C)(C)C2)O[C@H]2C[C@@H](C)CC(C)(C)C2)CC(C)(C)C1") -smiles(R"C[C@@H]1CCN(CC1)CCC(=O)C[C@H](c1ccccc1)c1c(=O)oc2ccccc2c1O") -smiles(R"C[C@H]1CCN(CC1)[C@@H](c1ccccc1)[C@H](O)c1ccccc1") -smiles(R"C[C@H]1CCN(CC1)[C@@H](c1ccccc1)C(=O)c1ccccc1") -smiles(R"C[C@H]1CCN(CC1)[C@H](Cc1ccccc1Cl)c1ccccc1") -smiles(R"C[C@@H]1CCN(CC1)C(=S)N/N=C(\C)/c1cccc[n+]1[O-]") -smiles(R"C[C@H]1CCN(CC1)C(=S)N/N=C(\C)/c1cccc[n+]1[O-]") -smiles(R"C[C@H]1CCN(CC1)C(=S)N/N=C(\C)/c1nccnc1C") -smiles(R"C[C@H]1CCN(CC1)/N=N/c1nc2c([nH]1)n(C)c(=O)n(C)c2=O") -smiles(R"C[C@H]1CCN(CC1)S(=O)(=O)c1cc(cc(C)c1C)C(=O)OCC(=O)N[C@H](C)c1ccco1") -smiles(R"C[C@H]1CCN[Pt@@]2(N1)OC(=O)C(=O)O2") -smiles(R"C[C@@H]1CCO[C@]2(CCCC2)O1") -smiles(R"C[C@H]1[C@@H]2O[C@@H]2[C@@H](C)[S@]1(=O)=O") -smiles(R"C[C@@H]1[C@@H](C)[C@]1(F)c1ccccc1") -smiles(R"C[C@@H]1[C@@H](C)[C@@]1(F)c1ccccc1") -smiles(R"C[C@@H]1[C@H](C)[C@@H]2c3ccccc3[C@H]1c1ccccc21") -smiles(R"C[C@H]1CN1C1=CC(=O)C2=C(C1=O)[C@H]1c3ccccc3[C@@H]2c2ccccc12") -smiles(R"C[C@H]1CN1P1(=NP(=NP(=N1)(N1C[C@@H]1C)N1C[C@H]1C)(N1C[C@H]1C)N1C[C@@H]1C)N1C[C@@H]1C") -smiles(R"C[C@@H]1CN1P(=[O+][Cu@@+2]([O+]=P(N1C[C@H]1C)(N1C[C@H]1C)N1C[C@H]1C)([O+]=P(N1C[C@H]1C)(N1C[C@H]1C)N1C[C@H]1C)[O+]=P(N1C[C@H]1C)(N1C[C@H]1C)N1C[C@H]1C)(N1C[C@H]1C)N1C[C@H]1C") -smiles(R"C[C@@H]1CN1P(=[O+][Cu@+2]([O+]=P(N1C[C@H]1C)(N1C[C@H]1C)N1C[C@H]1C)([O+]=P(N1C[C@H]1C)(N1C[C@H]1C)N1C[C@H]1C)[O+]=P(N1C[C@H]1C)(N1C[C@H]1C)N1C[C@H]1C)(N1C[C@H]1C)N1C[C@H]1C") -smiles(R"C[C@@H]1CN2C[C@H](C)O[Si@](CCCCCC[Si@]34O[C@H](C)CN(C[C@H](C)O3)C[C@H](C)O4)(O1)O[C@@H](C)C2") -smiles(R"C[C@@H]1CN2C[C@H](C)O[Si@](CC[Si@]34O[C@H](C)CN(C[C@H](C)O3)C[C@H](C)O4)(O1)O[C@@H](C)C2") -smiles(R"C[C@H]1CN2C[C@H](C)O[Si@](CC[Si](C)(C)C)(O1)O[C@@H](C)C2") -smiles(R"C[C@H]1CN(CC[C@@]21OCCO2)C1(CCCCC1)c1ccccc1") -smiles(R"C[C@@H]1CN=C(N1)c1ccc(cc1)NC(=O)[C@@H]1CC[C@@H](CC1)C(=O)Nc1ccc(cc1)C1=N[C@H](C)CN1") -smiles(R"C[C@@H]1CN[Pt@]2(N1)OC(=O)C(=O)O2") -smiles(R"C[C@@H]1COC2=[N+]1[Pd@+]([CH2-])(Cl)[N+]1=C(OC[C@@H]1C)[C@]2(C)C") -smiles(R"C[C@@H]1COC2=[N+]1[Pd@+]([CH2-])(Cl)[N+]1=C(OC[C@@H]1C)C2(C)C") -smiles(R"C[C@@H]1C(=O)C(c2ccccc2)(c2ccccc2)[C@@H](C)C[N@@+]21CCCCCC2") -smiles(R"C[C@@H]1N2CCc3ccccc3[C@H]2[C@@H]2c3ccccc3CCN12") -smiles(R"C[C@H]1N2CC[C@@H](CC2)[C@H]1OC(=O)C(O)(c1ccccc1)c1ccccc1") -smiles(R"C[C@@H]1NC(=S)N(c2ccc(cc2)[S@@](=O)(=O)c2ccc(cc2)N2C(=S)N[C@H](C)C2=O)C1=O") -smiles(R"C[C@H]1O[C@@]2(CCCC2)OCC1(C)C") -smiles(R"C[C@H]1O[C@]2(CCCC2)O[C@H]1C") -smiles(R"C[C@@H]1O[C@]2(OCCO2)C[C@H](OCc2ccccc2)[C@H]1OCc1ccccc1") -smiles(R"C[C@@H]1O[C@](C)(Cc2ccccc2)O[C@H]1C") -smiles(R"C[C@H]1O[C@@](C)(CCc2ccccc2)O[C@@H]1C") -smiles(R"C[C@@H]1O[C@](C)(O[C@H]1C)c1ccc2ccccc2c1") -smiles(R"C[C@@H]1O[C@](C)(O[C@H]1C)c1ccccc1") -smiles(R"C[C@@H]1O[C@](C)(O[C@H]1C)c1ccc(Cl)c(O)c1") -smiles(R"C[C@@H]1O[C@@H](c2cnn(n2)c2ccccc2)[C@@H](O)[C@H]1O") -smiles(R"C[C@H]1O[C@H](Cc2ccccc2)O[C@@H]1C") -smiles(R"C[C@H]1O[C@H](C)C[C@]2(CCCC2)C1") -smiles(R"C[C@@H]1O[C@@H](CCc2ccccc2)O[C@H]1C") -smiles(R"C[C@H]1O[C@H](O[C@@H]1C)c1cc2OCOc2cc1Br") -smiles(R"C[C@H]1O[C@H](O[C@@H]1C)c1ccc2OCOc2c1") -smiles(R"C[C@H]1O[C@H](O[C@@H]1C)c1ccccc1") -smiles(R"C[C@@H]1O[C@H](O[C@H]1C)c1ccc(cc1)C(C)C") -smiles(R"C[C@@H]1O[C@H](O[C@H]1C)c1ccccc1Cl") -smiles(R"C[C@H]1O[C@@H](O[C@@H]1C)c1cccc(c1)[N+](=O)[O-]") -smiles(R"C[C@H]1O[C@H](O[C@@H]1C)c1cccc(c1)[N+](=O)[O-]") -smiles(R"C[C@@H]1O[C@@H](O[C@H]1C)c1ccc(Cl)c(Cl)c1") -smiles(R"C[C@@H]1O[C@@H](O[C@H]1C)c1ccco1") -smiles(R"C[C@@H]1O[C@@H](O[C@H]1C)c1c(Cl)cccc1[N+](=O)[O-]") -smiles(R"C[C@@H]1O[C@H](O[C@H]1C)c1c(Cl)cccc1[N+](=O)[O-]") -smiles(R"C[C@@H]1O[C@H](O[C@H]1C)[C@H]1CCC=CC1") -smiles(R"C[C@@H]1OC(=O)[C@@H](c2ccccc2)[C@]2(CCCC2)O1") -smiles(R"C[C@@H]1S[C@@H](C)[C@]23C4=C5C6=C2[Fe]27893456C3=C8[C@]19C7=C23") -smiles(R"C[C@@H](c1ccccc1)[C@]12C3=C4C5=C1[Hf]16782345(Cl)(Cl)[C@@H]2C7=C6C1=C82") -smiles(R"C[C@@H](c1ccccc1)[C@]12C3=C4C5=C1[Zr]16782345(Cl)(Cl)[C@@H]2C7=C6C1=C82") -smiles(R"C[C@H](Cc1ccccc1)N[Pt@](Cl)(Cl)N[C@H](C)Cc1ccccc1") -smiles(R"C[C@@H](CC[C@@H](CCCC[C@@H](CC[C@H](C)CC(C)(C)C)CC[C@H](C)CC(C)(C)C)CC[C@@H](C)CC(C)(C)C)CC(C)(C)C") -smiles(R"C[C@H](CC[C@@H](CC[C@H](C)CC(C)(C)C)CC[C@H](C)CC(C)(C)C)CC(C)(C)C") -smiles(R"C[C@H](CC[Si@](F)(CC[C@H](C)CC(C)(C)C)CC[C@H](C)CC(C)(C)C)CC(C)(C)C") -smiles(R"C[C@H]([C@H]1CCC[C@H]2CCCC[C@H]12)[C@H]1CCC[C@H]2CCCC[C@H]12") -smiles(R"C[C@H]([C@H]1CC[C@H]2CC[C@H]3CCC[C@H]1[C@@H]23)[C@H]1CC[C@H]2CC[C@H]3CCC[C@H]1[C@@H]23") -smiles(R"C[C@@H](CN1C[C@@H]2CC[C@@H](CC2)C1)C(=O)c1cccs1") -smiles(R"C[C@@H](CNC(=O)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)NC(=O)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"CC[Hg]N1C(=O)[C@@H]2[C@H](C1=O)[C@@]1(Cl)C(=C(Cl)[C@]2(Cl)[C@@]1(Cl)Cl)Cl") -smiles(R"C[C@@H](N)[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"C[C@@H](N)[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"C[C@H](N)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"C[C@H](N)C[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"C[C@@H](NCc1ccccc1)C[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"C[C@@H]([N+](C)(C)C)[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"C[C@@H]([N+](C)(C)C)[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"C[C@@H](N[C@H](C[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1)C(=O)N)c1ccccc1") -smiles(R"C[C@H](O)[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"C[C@H](O)[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"C[C@@H](O)C1=C[C@@]2(C=C[C@H]3[C@@H](C=C[C@@H]23)C2OC[C@](C)(C)CO2)OC1=O") -smiles(R"C[C@@H](O)C1=C[C@@]2(C=C[C@H]3[C@@H](C=C[C@@H]23)C2OC[C@@](C)(C)CO2)OC1=O") -smiles(R"C[C@H](O)C[C@@H]1CCCC[C@@]21OCCO2") -smiles(R"C[C@@H](O)[C@@H](O)[C@@H](O)c1cnn(n1)c1ccccc1") -smiles(R"C[C@H](O)C[N@@+]12CC[N@+](CC1)(C[C@H](C)O)[Pt@]2(Cl)Cl") -smiles(R"C[C@H](O)C[N@+]12CC[N@@+](CC1)(C[C@H](C)O)[Pt@@]2(I)I") -smiles(R"C[C@H](OC(=O)c1ccccc1)[C@H](OC(=O)c1ccccc1)[C@@H](OC(=O)c1ccccc1)c1cnn(n1)c1ccccc1") -smiles(R"C[C@H](OC(=O)c1ccccc1)[C@H](OC(=O)c1ccccc1)[C@H](OC(=O)c1ccccc1)c1cnn(n1)c1ccccc1") -smiles(R"C[C@H](S[C@@H](C)C(=O)N/N=C\c1ccccc1F)C(=O)N/N=C/c1ccccc1F") -smiles(R"C[C@H](S[C@@H](C)C(=O)N/N=C(/C)\c1ccc(cc1)OS(=O)(=O)C)C(=O)N/N=C(\C)/c1ccc(cc1)OS(=O)(=O)C") -smiles(R"CC[N@+]12CN3CN(CN(C3)C2)C1") -smiles(R"CCn1c2cc3c(Cl)c(=O)c4ccccc4c3cc2nc2ccccc12") -smiles(R"CCn1c2cc3c(Cl)c(=O)c4ccccc4c3cc2nc2cc(C)c(C)cc12") -smiles(R"CCn1c2ccc3c(ncc4cccn34)c2c2ccccc12") -smiles(R"CCn1c2ccc3c(ncc4cccn34)c2c2cc(N)ccc12") -smiles(R"CCn1c2ccc3c([nH]c(=O)c4cccn34)c2c2cc(N)ccc12") -smiles(R"CCn1c2ccc(NC(=O)OC(C)C)cc2c2c1ccc1c2[nH]c(=O)c2cccn12") -smiles(R"CCn1c2nc3cc4ccccc4cc3c(=O)n2c2ccccc2c1=O") -smiles(R"CCn1c2nc3ccccc3nc2n(CC)c2nc3ccccc3nc12") -smiles(R"CCN1CC[C@@]2(CC1)O[C@H](c1ccccc1)[C@@H](O2)c1ccccc1") -smiles(R"CCN1CCC[C@@H](C1)NP1(=O)OC[C@](C)(CO1)[N+](=O)[O-]") -smiles(R"CCN1CCC[C@@H](C1)NP1(=O)OC[C@@](C)(CO1)[N+](=O)[O-]") -smiles(R"CC[N+]1(CC)CCN2CC[N+](CC)(CC)[Pd@@+]12Cl") -smiles(R"CC[N+]1(C)C[C@H]2CC[C@H](CC2)C1") -smiles(R"CCN1CCN(CC1)c1ccc(cc1)Nc1ccnc2ccc3nn(C)nc3c12") -smiles(R"CCN1CN(c2ccccc2)[C@@]2(CCN(CC2)C[C@@H]2COc3ccccc3O2)C1=O") -smiles(R"CCn1cn(c2c(O)nc(N)nc12)[Pt@@](N)(Cl)n1cccc2ccccc12") -smiles(R"CCn1cn(c2c(O)nc(N)nc12)[Pt](N)(N)Cl") -smiles(R"CCn1c(=O)n(CC)c(=O)c2sc(=N)n(C)c12") -smiles(R"CCn1nnc(/N=N/c2nnn(CC)n2)n1") -smiles(R"CCN[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"CCN(c1ccccc1)c1cc2c(no[n+]2[O-])cc1[N+](=O)[O-]") -smiles(R"CCN(c1ccccc1)c1cc2c(NO[N+]2[O-])cc1[N+](=O)[O-]") -smiles(R"CCNc1ccc(cc1)/C(=C/1\C=C/C(=N)/C=C1)/c1ccc(N(CC)CC)c(C)c1") -smiles(R"C/C(=N\c1ccccc1)/C(=N\c1ccccc1)/C") -smiles(R"CC/[N+](=C/1\C=C/C(=C(/c2ccc(cc2)N(CC)Cc2cccc(c2)S(=O)(=O)[O-])\c2ccccc2Cl)/C=C1)/Cc1cccc(c1)S(=O)(=O)O") -smiles(R"CC/[N+](=C\1/C=C/C(=C(\c2ccc(cc2)N(CC)Cc2cccc(c2)S(=O)(=O)[O-])/c2ccccc2Cl)/C=C1)/Cc1cccc(c1)S(=O)(=O)O") -smiles(R"CC/[N+](=C/1\C=C/C(=C(/c2ccc(cc2)N(CC)Cc2cccc(c2)S(=O)(=O)O)\c2ccc(cc2)S(=O)(=O)[O-])/C=C1)/Cc1cccc(c1)S(=O)(=O)O") -smiles(R"CC/[N+](=C\1/C=C/C(=C(\c2ccc(cc2)N(CC)Cc2cccc(c2)S(=O)(=O)O)/c2ccc(cc2)S(=O)(=O)[O-])/C=C1)/Cc1cccc(c1)S(=O)(=O)O") -smiles(R"CC/[N+](=C/1\C=C/C(=C(\c2ccc(cc2)N(CC)Cc2cccc(c2)S(=O)(=O)O)/c2ccc(O)cc2S(=O)(=O)[O-])/C=C1)/Cc1cccc(c1)S(=O)(=O)O") -smiles(R"CC/[N+](=C\1/C=C/C(=C(/c2ccc(cc2)N(CC)Cc2cccc(c2)S(=O)(=O)O)\c2ccc(O)cc2S(=O)(=O)[O-])/C=C1)/Cc1cccc(c1)S(=O)(=O)O") -smiles(R"C/C(=N/c1ccncc1)/C(=N/c1ccncc1)/C") -smiles(R"C/C(=N\c1n(C)c(=O)n(C)c(=O)c1N)/C/C(=N\c1n(C)c(=O)n(C)c(=O)c1N)/C") -smiles(R"CC(=NC1=[O+][Mn]2(ON1)ONC(=[O+]2)N=C(C)C)C") -smiles(R"CC/N=C\1/S[C@H]2N(C)C(=O)[C@@H](S1)N(C)C2=O") -smiles(R"CCN(C)[C@]12CN3CN(CN(C3)C2)C1") -smiles(R"CCN(Cc1ccccc1)c1ccc(cc1)/C(=C/1\C=C/C(=[N+](\CC)/Cc2ccccc2)/C=C1)/c1cc(O)c(cc1S(=O)(=O)[O-])S(=O)(=O)O") -smiles(R"CCN(Cc1ccccc1)c1ccc(cc1)/C(=C\1/C=C/C(=[N+](/CC)\Cc2ccccc2)/C=C1)/c1cc(O)c(cc1S(=O)(=O)[O-])S(=O)(=O)O") -smiles(R"CCN(CC)c1ccc2cc(C(=O)Nc3scc(n3)[C@]34C[C@@H]5C[C@@H](C[C@@H](C5)C4)C3)c(=O)oc2c1") -smiles(R"CCN(CC)c1ccc(/C=N/NC(=S)N[C@]23C[C@@H]4C[C@@H](C[C@@H](C4)C3)C2)cc1") -smiles(R"CCN(CC)c1c(C)nnc2c3c(nnc(c4ccccc4)c3c3ccccc3)nn12") -smiles(R"CCN(CC)[C@]1(OC[C@@]2(CO1)CO[C@](OC2)(N(CC)CC)[C@H](F)C(F)(F)F)[C@H](F)C(F)(F)F") -smiles(R"CCN(CC)C1=[S+][Ni@@]2(S1)[S+](Cc1ccccc1)[Ni@@]1(SC(=[S+]1)N(CC)CC)[S+]2Cc1ccccc1") -smiles(R"CCN(CC)Cc1cc(ccc1OC)Nc1nc(N[C@@H]2CC[C@H](CC2)N(C)C)c2ccccc2n1") -smiles(R"CCN(CC)Cc1cc(ccc1O)Nc1ccnc2ccc3nn(C)nc3c12") -smiles(R"CC[N+](CC)(CC)CCCNC(=O)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"CCN(CC)CCC[C@H](C)Nc1ccnc2ccc3nn(C)nc3c12") -smiles(R"CCN(CC)CCCNc1ccc2nnn3c2c1c(=O)c1cc(O)ccc31") -smiles(R"CC[N+](C)(C)CCCNC(=O)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"CC[N+](C)(C)CCCOC(=O)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"CC[N+](C)(CC)CCOC(=O)[C@H](c1ccccc1)[C@@]1(O)CC[C@@H](C)CC1") -smiles(R"CCN(CC)C[C@@H](O)[C@H]1CC[C@@H](CC1)c1ccccc1") -smiles(R"CCN(CC)CCn1c(nc2cc(ccc12)[N+](=O)[O-])C[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"CCN(CC)CCn1c(nc2cc(ccc12)[N+](=O)[O-])CC12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"CCN(CC)CCNc1ccc2nnn3c2c1c(=O)c1ccccc31") -smiles(R"CCN(CC)CCNc1ccc2nnn3c2c1c(=O)c1cc(ccc31)[N+](=O)[O-]") -smiles(R"CCN(CC)CCNc1ccc2NNn3c2c1c(=O)c1cc(ccc31)[N+](=O)[O-]") -smiles(R"CCN(CC)CCNc1ccc2nnn3c2c1c(=O)c1cc(ccc31)OC(=O)C") -smiles(R"CCN(CC)CCNc1ccc2nnn3c2c1c(=O)c1cc(C)ccc31") -smiles(R"CCN(CC)CCNc1ccc2nnn3c2c1c(=O)c1cc(O)ccc31") -smiles(R"CCN(CC)CCNc1ccc2nnn3c2c1c(=O)c1cc(OC)ccc31") -smiles(R"CCN(CC)CCNc1ccc2nnn3c4ccc(OCCN(CC)CC)cc4c(=O)c1c23") -smiles(R"CCN(CC)CC(=O)C[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"CCN(CC)CCOC(=O)[C@H]1CC[C@@H](C)CC1") -smiles(R"CCN(CC)CCOC(=O)[C@@H]1[C@H](c2ccccc2)[C@H]1c1ccccc1") -smiles(R"CCN(CC)CCOC(=O)[C@](O)(C1CCCCC1)[C@@H]1CC[C@@H](C)CC1") -smiles(R"CCN(CC)CCOC(=O)[C@](O)(C1CCCCC1)[C@H]1[C@@H](C)CCC[C@@H]1C") -smiles(R"CCN(CC)CCOC(=O)[C@](O)([C@@H]1CC[C@H](CC1)C(C)C)[C@@H]1CC[C@H](CC1)C(C)C") -smiles(R"CCN(CC)[C@H]1CC[C@@H](CC1)[C@@H]1[C@@H](C)[C@H](Oc2cc3OCOc3cc12)N1CCOCC1") -smiles(R"CCN(CC)[C@@H]1CC[C@H](CC1)NS(=O)(=O)c1ccc(cc1)NC(=O)C") -smiles(R"CC/N=C(/CC(=O)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1)\N(CC)CC") -smiles(R"CCN(CC)C(=O)O[C@@H]1[C@@](C)(C)[C@@H](OC(=O)N(CC)CC)[C@]1(C)C") -smiles(R"CCN(CC)C(=S)S[C@-]12[Fe+2]3456789(C(=C26)C3=C15)C1=C8[C@@-]9(SC(=S)N(CC)CC)C7=C41") -smiles(R"CCN(CC)C(=S)S[C@@-]12[Fe+2]3456789(C(=C26)C3=C15)C1=C8[C@-]9(SC(=S)N(CC)CC)C7=C41") -smiles(R"CCN[C@@H]1[C@]2(CCCCC2)NC(=O)[C@@]21CCCCC2") -smiles(R"CCNC(=O)[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"CCNC(=O)[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"CCNC(=S)NNC(=O)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"CC(=NN1C(=O)[C@@H]2[C@@H]3c4ccccc4[C@](OC(=O)C)([C@H]2C1=O)c1ccccc31)C") -smiles(R"C/C(=N\Nc1ccccc1)/CC(=O)NC1=CC=C(CC1)NC(=O)C/C(=N\Nc1ccccc1)/C") -smiles(R"C/C(=N/N=C(/C)\C(=N/N=C/c1ccccn1)\C)/C(=N/N=C(/C)\C(=N/N=C\c1ccccn1)\C)/C") -smiles(R"C/C(=N\NC(=N)N)/CC/C(=N\NC(=N)N)/C") -smiles(R"C/C(=N\NC(=N)N)/C/C(=N\NC(=N)N)/C") -smiles(R"C/C(=N\NC(=O)c1ccccc1)/C(=N\NC(=O)c1ccccc1)/C") -smiles(R"C/C(=N\NC(=O)c1ccccc1O)/C1=C(C)NC(=C(/C(=N/NC(=O)c2ccccc2O)/C)[C@@H]1C)C") -smiles(R"C/C(=N\NC(=O)C(=O)N/N=C(/C)\CCC(=O)O)/CCC(=O)O") -smiles(R"C/C(=N\NC(=S)N1CCCCC1)/C(=N\NC(=S)N1CCCCC1)/C") -smiles(R"CC(=NNC(=S)NC12C[C@H]3C[C@H](C[C@H](C3)C2)C1)C") -smiles(R"CCN(N=O)[C@H]1[C@]2(CCCC2)NC(=O)[C@@]21CCCC2") -smiles(R"CCNP(=O)(CCl)N[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"CC#[N+][Pt@@H+2]1([H-][MoH]2345(C#[O+])(C#[O+])(C6=C3C4=C2[C@H]56)P1(c1ccccc1)c1ccccc1)P(c1ccccc1)(c1ccccc1)c1ccccc1") -smiles(R"CC#[N+][PtH2+2]1([H-][MoH2]2345(C#[O+])(C#[O+])(C6=C3C4=C2C56)P1(c1ccccc1)c1ccccc1)P(c1ccccc1)(c1ccccc1)c1ccccc1") -smiles(R"CCO") -smiles(R"CC(=O)C12=C3[C@-]45CCC(=O)[C@-]67C8=C9C%10=C6[Fe+2]6235789%10C4=C16") -smiles(R"CC(=O)C12=C3[C@-]45CCC(=O)[C@@-]67C8=C9C%10=C6[Fe+2]6235789%10C4=C16") -smiles(R"CC(=O)[C@@]12C3=C4C5=C1[Fe]16782345[C@H]2C7=C6C1=C82") -smiles(R"CC(=O)[C@-]12C3=C4C5=C1[Fe+2]16782345C2=C7[C@-]8(C(=O)C)C6=C12") -smiles(R"CC(=O)[C@-]12C3=C4C5=C1[Fe+2]16782345C2=C7[C@@-]8(C(=O)C)C6=C12") -smiles(R"CC(=O)[C@@-]12C3=C4C5=C1[Fe+2]16782345C2=C7[C@-]8(C(=O)C)C6=C12") -smiles(R"CC(=O)c1ccc2=c3cc(ccc3=c2c1)C(=O)C") -smiles(R"CCOc1ccc2c(c1)c(=O)c1c(NCCN(CC)CC)ccc3nnn2c13") -smiles(R"CCOc1ccc2[nH]c3c(C)c4ccn(C)cc4c(C)c3c2c1") -smiles(R"CCOc1ccc2nnnn2n1") -smiles(R"CCOc1cccc2OC[C@H](CN3CC[C@]4(CC3)C(=O)NCN4c3ccccc3)Oc12") -smiles(R"CC(=O)c1ccc(cc1)C[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"CCOc1ccccc1/C=c/1\sc2nc(nn2c1=O)c1ccc(F)cc1") -smiles(R"CCOc1ccccc1/C=N/N/C(=N/N=C/c1ccccc1OCC)/N/N=C/c1ccccc1OCC") -smiles(R"CCOc1ccccc1/C=N/N/C(=N)/N/N=C\c1ccccc1OCC") -smiles(R"CCOc1ccccc1/C=N/NC(=S)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"CCOc1ccc(cc1)C(=O)N1C[C@@H](C(=O)NCC(C)(C)[NH+]2CCOCC2)[C@]2(CC[NH2+]CC2)C1") -smiles(R"CCOc1ccccc1C(=O)O[C@@H]1CC[C@@H](C)CC1") -smiles(R"CCOc1ccc(cc1)N1C(=O)[C@@H]2[C@H]3c4ccccc4[C@H](c4ccccc34)[C@@H]2C1=O") -smiles(R"CCOc1ccc(cc1)NC(=O)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"CCOc1ccccc1NC(=O)CCc1nnc2s/c(=C\CCc3ccccc3)/c(=O)n12") -smiles(R"CC(=O)c1ccc(cc1)/N=N\c1ccc2nonc2c1N") -smiles(R"CCOc1ccc(cc1OC)[C@H]1N2CCCN1CC2") -smiles(R"CCOc1cc(/C=N/NC(=S)N[C@]23C[C@@H]4C[C@@H](C[C@@H](C4)C3)C2)ccc1O") -smiles(R"CCOc1cc(/C=N/NC(=S)N[C@]23C[C@@H]4C[C@@H](C[C@@H](C4)C3)C2)ccc1OCC") -smiles(R"CCOc1ccn(CC(=O)N2CC[C@]3(CC2)SS[C@@]2(CCN(CC2)C(=O)Cn2ccc(OCC)nc2=O)S3)c(=O)n1") -smiles(R"CCOc1cc(OCC)c(OCC)cc1/C=N/NC(=S)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"CCOc1ncn(n1)c1ccc(cc1)NC(=S)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"CCO[C@@]1(NC(=O)N(C)C)[C@@H]2CCCC[C@@H]12") -smiles(R"CC(=O)c1nnc2n[nH]c(=S)n2n1") -smiles(R"CC(=O)c1nnn(n1)c1ccccc1") -smiles(R"CCO[C@@]1(OCC)[C@@]2(Cl)[C@@H]3[C@H]4C[C@@H]([C@H]5[C@H]4[C@@]4(Cl)C(=C(Cl)[C@@]5(Cl)C4(OCC)OCC)Cl)[C@H]3[C@]1(Cl)C(=C2Cl)Cl") -smiles(R"CCOC1=[O+][Ti]2([OH+]CC)([OH+]CC)([O+]=C(OCC)[CH-]C(=[O+]2)C23C[C@@H]4C[C@@H](C[C@@H](C4)C3)C2)[O+]=C([CH-]1)C12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"CCOC1=[O+][Ti]2([OH+]CC)([OH+]CC)([O+]=C(OCC)[CH-]C(=[O+]2)C23C[C@H]4C[C@H](C[C@H](C4)C3)C2)[O+]=C([CH-]1)C12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"CC(=O)CC1=C(OC(C)C)[C@]2(OCCO2)[C@@H]1O") -smiles(R"CC(=O)C(C[C@H]1CC[C@H](CC1)CC(C(=O)C)C(=O)C)C(=O)C") -smiles(R"CC(=O)C[C@H]1C[C@]2(OCCO2)CCC1=O") -smiles(R"CCOC[C@@H]1CO[C@]2(CCCC2)O1") -smiles(R"CCOCCN(CCOCC)C(=O)c1ccc2c(no[n+]2[O-])c1") -smiles(R"CCOCCN(CCOCC)C(=O)c1ccc2[N+]([O-])ONc2c1") -smiles(R"CC(=O)C(=CN[C@@H]1C[C@H](NC=C(C(=O)C)C(=O)C)C[C@@H](NC=C(C(=O)C)C(=O)C)C1)C(=O)C") -smiles(R"CC(=O)CC(=O)[C@H]1CC[C@@H](CC1)C(=O)CC(=O)C") -smiles(R"CC(=O)CC(=O)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"CC(=O)CC(=O)NC[C@@H]1CC[C@H](CC1)CNC(=O)CC(=O)C") -smiles(R"CC(=O)[C@@H]1C[C@@]21c1ccccc1c1ccccc21") -smiles(R"CC(=O)[C@@H]1C[C@@]21c1ccccc1Cc1ccccc21") -smiles(R"CC(=O)[C@@H]1C[C@]2(C(=O)C1=O)c1ccccc1c1ccccc21") -smiles(R"CCO[C@@H]1CC[C@@]23C4=C5C6=C2[Fe]27893456C3=C8[C@@]19C7=C23") -smiles(R"CC(=O)[C@H]1CC[C@H]2[C@H]3C[C@H](C)[C@]4(O)CC5(OC[C@](C)(C)CO5)CC[C@]4(C)[C@H]3C(=O)C[C@]12C") -smiles(R"CC(=O)[C@H]1C[C@H]2c3ccccc3[C@@H]1c1ccccc21") -smiles(R"CC(=O)[C@H]1[C@H]2c3ccccc3[C@@H]([C@@H]1C)c1ccccc21") -smiles(R"CC(=O)[C@@H]1[C@@H](N=N[C@@]21c1ccccc1Oc1ccccc21)c1ccccc1") -smiles(R"CC(=O)[C@H]1C(=O)C[C@H](/C=C/c2ccccc2)CC1=O") -smiles(R"CC(=O)[C@H]1C(=[O+][Cr]23([O+]=C1C)([O+]=C(C)[C@@H](C(=O)C)C(=[O+]2)C)[O+]=C(C)[C@@H](C(=O)C)C(=[O+]3)C)C") -smiles(R"CC(=O)[C@H]1C(=[O+][Cu@]2([O+]=C1C)[O+]=C(C)[C@@H](C(=O)C)C(=[O+]2)C)C") -smiles(R"CCO[C@@H]1O[C@H](OCC)C[S@](=O)(=O)C1") -smiles(R"CCO[C@@H](C)C(=O)OC[C@]12CO[C@]3(C)CC[C@@](C)(OC1)N23") -smiles(R"CC(=O)C[N@+]12CN3CN(CN(C3)C2)C1") -smiles(R"CCO/C=N\Nc1ccc2nnc(Cl)n2n1") -smiles(R"CCOC(=O)[C@@]12CC[C@@](CC32SCCS3)(C(=O)OCC)[C@]2(SCCS2)C1") -smiles(R"CCOC(=O)[C@@]12CCC(=O)C[C@@]2(O)CC[C@]2(OCCCO2)C1") -smiles(R"CCOC(=O)[C@]12C[C@H](COc3ccc(cc3)[N+](=O)[O-])ON2O[C@@H](COc2ccc(cc2)[N+](=O)[O-])C1") -smiles(R"CCOC(=O)[C@@]12C[C@H](COc3ccc(cc3)[N+](=O)[O-])ON2O[C@@H](COc2ccc(cc2)[N+](=O)[O-])C1") -smiles(R"CCOC(=O)[C@@]12N(O[C@@H]3C(=O)N(CC)C(=O)[C@@H]13)O[C@@H]1C(=O)N(CC)C(=O)[C@@H]21") -smiles(R"CCOC(=O)c1c2ccc3nc4nonc4nc3c2oc1C(F)(F)F") -smiles(R"CCOC(=O)c1ccc2n[se]nc2c1") -smiles(R"CCOC(=O)c1cccc2c(=O)c3c(=O)c4[nH]c5c(cccc5c(=O)c4c(=O)c3[nH]c12)C(=O)OCC") -smiles(R"CCOC(=O)c1ccc(cc1)/N=C\1/C(C)(C)/C(=N\c2ccc(cc2)C(=O)OCC)/[C@@]1(C)C") -smiles(R"CCOC(=O)c1ccc(cc1)/N=C(\CC[C@](C#N)(C#N)CC/C(=N\c1ccc(cc1)C(=O)OCC)/NC(C)(C)C)/NC(C)(C)C") -smiles(R"CCOC(=O)c1ccc(cc1)NC(=O)[C@-]12C3=C4C5=C1[Fe+2]16782345C2=C7[C@-]8(C(=O)Nc3ccc(cc3)C(=O)OCC)C6=C12") -smiles(R"CCOC(=O)c1ccc(cc1)NC(=O)[C@-]12C3=C4C5=C1[Fe+2]16782345C2=C7[C@@-]8(C(=O)Nc3ccc(cc3)C(=O)OCC)C6=C12") -smiles(R"CCOC(=O)c1ccccc1N(O)C(=O)N[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"CCOC(=O)C1=C(C)[C@@H]2[C@@H]3C(=O)NC(=O)[C@H]3[C@@]1(C)[C@@H]1C(=O)NC(=O)[C@@H]21") -smiles(R"CCOC(=O)C1=C(C)[C@@H]2[C@@H]3C(=O)OC(=O)[C@H]3[C@@]1(C)[C@@H]1C(=O)OC(=O)[C@@H]21") -smiles(R"CCOC(=O)c1cc(Cl)cc2c(=O)c3c(=O)c4[nH]c5c(cc(Cl)cc5c(=O)c4c(=O)c3[nH]c12)C(=O)OCC") -smiles(R"CCOC(=O)c1cc(Cl)cc2c(=O)c3c(O)c4[nH]c5c(cc(Cl)cc5c(=O)c4c(O)c3[nH]c12)C(=O)OCC") -smiles(R"CCOC(=O)c1ccc(/N=N/N2CN3CN(/N=N/c4ccc(cc4)C(=O)OCC)CN(C3)C2)cc1") -smiles(R"CCOC(=O)c1ccc(OC)c2[nH]c3c(=O)c4c(=O)c5c(ccc(OC)c5[nH]c4c(=O)c3c(=O)c12)C(=O)OCC") -smiles(R"CCOC(=O)C1=C(C#N)[C@]2(CC[C@@H](OCc3ccccc3)CC2)C(=O)O1") -smiles(R"CCOC(=O)[C@@]1(C#N)[C@@]2(CCCCC2)C1(C#N)C#N") -smiles(R"CCOC(=O)C1=C(OCC1=O)N[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"CCOC(=O)[C@]1(C)OC(=O)[C@]2(CCCC2)O1") -smiles(R"CCOC(=O)[C@]1(C)OC(=O)[C@@]2(CCCCC2)O1") -smiles(R"CCOC(=O)c1c(O)nc2cccc3Sc4ncccc4c1c23") -smiles(R"CCOC(=O)C1(C(=O)OCC)[C@H](c2cc(OC)c(OC)c(OC)c2)[C@@](C(=O)OCC)(C(=O)OCC)[C@H]1c1cc(OC)c(OC)c(OC)c1") -smiles(R"CCOC(=O)[C@]1(O)OC(=O)[C@]2(CC[C@@H](OCc3ccccc3)CC2)C1") -smiles(R"CCOC(=O)[C@@]1(S[C@@](S1)(C(=O)OCC)c1ccccc1)c1ccccc1") -smiles(R"CCOC(=O)C[C@]1(C)O[C@@H](C)[C@H](C)O1") -smiles(R"CCOC(=O)Cc1nnn(C)n1") -smiles(R"CCOC(=O)/C(=C/1\[SH+][Cu+2]2([SH+]1)[SH+]/C(=C(\C#N)/C(=O)OCC)/[SH+]2)/C#N") -smiles(R"CCOC(=O)/C(=C\[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82)/C#N") -smiles(R"CCOC(=O)/C(=C\[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82)/C#N") -smiles(R"CCOC(=O)CC[C@]1(C)OC[C@@H](CO)O1") -smiles(R"CCOC(=O)CC[C@@]1(C)OC[C@H](O)CO1") -smiles(R"CCOC(=O)CC[C@]1(C)O[C@@H](C)[C@H](C)O1") -smiles(R"CCOC(=O)/C(=C(\[C@H](C)CC)/[C@H](C)CC)/C#N") -smiles(R"CCOC(=O)/C=C\[C@@H](O)[C@@H](O)/C=C/C(=O)OCC") -smiles(R"CCOC(=O)CC[C@@](O)([C@H](C(=O)O)c1ccccc1)[C@H](C(=O)O)c1ccccc1") -smiles(R"CCOC(=O)C[C@@H]1CC[C@H](CCCC[C@@H]2CC[C@H](CC2)CC(=O)OCC)CC1") -smiles(R"CCOC(=O)C[C@@H]1CN(CC[C@]21OCCO2)C(=O)c1ccccc1") -smiles(R"CCOC(=O)C[C@@H]1O[C@@H]2CCCC[C@H]2O1") -smiles(R"CCOC(=O)C[C@H](SP1(=S)OC[C@]2(CCCCC2)CO1)C(=O)OCC") -smiles(R"CCOC(=O)[C@](C#N)(CC/C(=N\c1ccccc1C#N)/NC(C)(C)C)CC/C(=N\c1ccccc1C#N)/NC(C)(C)C") -smiles(R"CCOC(=O)[C@](C#N)([C@H]1C=CCC1)[C@H]1C=CCC1") -smiles(R"CCOC(=O)/C(=C\N[C@@H]1C[C@H](N/C=C(\C(=O)C)/C(=O)OCC)C[C@@H](N/C=C(/C(=O)C)\C(=O)OCC)C1)/C(=O)C") -smiles(R"CCOC(=O)[C@H]1C[C@]21c1ccccc1c1ccccc21") -smiles(R"CCOC(=O)[C@H]1C[C@@]2(CC[C@H]1N)c1ccccc1c1ccccc21") -smiles(R"CCOC(=O)[C@H]1C[C@@]2(OCCO2)c2c(OC)ccc(Cl)c2[C@@H]1C") -smiles(R"CCOC(=O)[C@@H]1C[C@]2(OCCO2)C[C@@H](C)C1=O") -smiles(R"CCOC(=O)[C@@H]1C=C2O[C@H]3O[C@@]4(CCCCC4)O[C@H]3[C@H]2[C@H]2C(=O)C=CC(=O)[C@]12C(=O)OC") -smiles(R"CCOC(=O)[C@@H]1CC2(SCCS2)[C@H](C[C@@]21SCCS2)C(=O)O") -smiles(R"CCOC(=O)[C@H]1CC[C@]2(OCCO2)C1") -smiles(R"CCOC(=O)[C@H]1CCC[C@]21Nc1cccc3cccc(N2)c13") -smiles(R"CCOC(=O)[C@H]1CCCC[C@]21Nc1cccc3cccc(N2)c13") -smiles(R"CCOC(=O)[C@@H]1CCCC[C@@]21OCCO2") -smiles(R"CCOC(=O)[C@H]1C(C)(C)/C(=N/NS(=O)(=O)c2ccc(C)cc2)/C1(C)C") -smiles(R"CCOC(=O)[C@@H]1CC[C@@H](CC1)NC(=O)c1ccccc1") -smiles(R"CCOC(=O)[C@H]1[C@@H]2CC[C@@H](CC2)[C@@H]1C(=O)OCC") -smiles(R"CCOC(=O)[C@@H]1[C@@H](c2ccc(cc2)OC(=O)C)[C@H](C(=O)OCC)c2nnp(N(CCOS(=O)(=O)C)CCOS(=O)(=O)C)c2/C/1=N/N=C\1/c2c(nnp2N(CCOS(=O)(=O)C)CCOS(=O)(=O)C)[C@@H](C(=O)OCC)[C@@H](c2ccc(cc2)OC(=O)C)[C@@H]1C(=O)OCC") -smiles(R"CCOC(=O)[C@H]1[C@H](c2ccc(O)cc2)[C@@H](C(=O)OCC)C(=O)[C@H](C1=O)[C@@H]([C@H](O)[C@H](O)[C@H](O)CO)[C@H]1C(=O)[C@@H](C(=O)OCC)[C@H](c2ccc(O)cc2)[C@@H](C(=O)OCC)C1=O") -smiles(R"CCOC(=O)[C@H]1[C@H](c2ccc(O)cc2)[C@@H](C(=O)OCC)C(=O)[C@H](C1=O)[C@H]([C@H](O)[C@H](O)[C@H](O)CO)[C@H]1C(=O)[C@@H](C(=O)OCC)[C@H](c2ccc(O)cc2)[C@@H](C(=O)OCC)C1=O") -smiles(R"CCOC(=O)[C@H]1[C@H](C(=O)OCC)[C@]2(Cl)C(=C(Cl)[C@@]1(Cl)[C@]2(Cl)Cl)Cl") -smiles(R"CCOC(=O)[C@@H]1[C@@H](C(=O)OCC)[C@H]2c3ccccc3[C@@H]1c1ccccc21") -smiles(R"CCOC(=O)[C@@H]1C(=O)[C@H]([C@@H](N(CCCl)CCCl)[C@H](O)[C@H](O)[C@H](O)CO)C(=O)[C@@H](C(=O)OCC)[C@@H]1c1ccc(O)cc1") -smiles(R"CCOC(=O)[C@H]1CS[C@@]2(CCCC2)N1") -smiles(R"CCOC(=O)[C@H]1N[Pt@@](Cl)(Cl)N[C@@H]1C(=O)OCC") -smiles(R"CCOC(=O)[C@H]1NS(=O)(=O)N[C@@H](NS(=O)(=O)N1)C(=O)OCC") -smiles(R"CCOC(=O)[C@H]1O[C@]21CCCC2") -smiles(R"CCOC(=O)[C@@H]1O[C@]2(CCCCC2)O[C@@H]1C(=O)OCC") -smiles(R"CCOC(=O)[C@H](Br)C#N") -smiles(R"CCOC(=O)[C@@H](C#N)[C@]1(C(=O)Nc2ccccc12)[C@H](C#N)C(=O)OCC") -smiles(R"CCOC(=O)[C@H](C)NC(=O)N(C)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"CCOC(=O)[C@H](C(=O)C)[C@@H](c1ccccc1)[C@@H](C(=O)C)C(=O)OCC") -smiles(R"CCOC(=O)[C@@H](C(=O)C)[C@@H](c1ccc(cc1)N(C)C)[C@H](C(=O)C)C(=O)OCC") -smiles(R"CCOC(=O)[C@@H](C(=O)C)[C@@H](c1ccc(cc1)[N+](=O)[O-])[C@H](C(=O)C)C(=O)OCC") -smiles(R"CCOC(=O)[C@@H](C(=O)C)[C@H](c1ccc(cc1)[N+](=O)[O-])[C@H](C(=O)C)C(=O)OCC") -smiles(R"CCOC(=O)[C@@H](C(=O)C)[C@@H](c1ccc(O)cc1)[C@H](C(=O)C)C(=O)OCC") -smiles(R"CCOC(=O)[C@H](C(=O)C)[C@@H](c1ccc(OCc2ccccc2)c(C)c1)[C@@H](C(=O)C)C(=O)OCC") -smiles(R"CCOC(=O)[C@@H](C(=O)C)[C@@H](c1ccc(OC)cc1)[C@H](C(=O)C)C(=O)OCC") -smiles(R"CCOC(=O)[C@@H](C(=O)C)[C@H](CCc1cc(OC)ccc1OC)[C@H](C(=O)C)C(=O)OCC") -smiles(R"CCOC(=O)[C@H](C(=O)C)[C@H](C)[C@@H](C(=O)C)C(=O)OCC") -smiles(R"CCOC(=O)[C@H](/N=N/c1[nH]nnn1)/N=N/c1[nH]nnn1") -smiles(R"CCOC(=O)C[n+]1ccc(cc1)C(=O)C[C@@]1(O)[C@]2(Cl)[C@]3(Cl)[C@]4(Cl)[C@@]1(Cl)[C@]1(Cl)[C@@]2(Cl)[C@@]3(Cl)[C@](Cl)(Cl)[C@]41Cl") -smiles(R"CCOC(=O)C[n+]1cccc(c1)C(=O)C[C@@]1(O)[C@@]2(Cl)[C@@]3(Cl)[C@@]4(Cl)[C@]1(Cl)[C@@]1(Cl)[C@]2(Cl)[C@]3(Cl)[C@@](Cl)(Cl)[C@@]41Cl") -smiles(R"CCOC(=O)CN1C(=O)[C@H]2[C@H]3c4ccccc4[C@H](c4ccccc34)[C@H]2C1=O") -smiles(R"CCOC(=O)CN(CC)C(=O)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"CCOC(=O)CNC(=O)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"CCOC(=O)CNC(=O)N(CC)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"CCOC(=O)C(=O)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"CCOC(=O)N1CC[C@]2(CC1)O[C@@H](C)[C@](Sc1ccccc1)(C2)C(=O)C") -smiles(R"CCOC(=O)N1CCC(=O)[C@H](CN[C@@]23C[C@H]4C[C@H](C[C@H](C4)C3)C2)C1") -smiles(R"CCOC(=O)N1[C@@H]2C[S@@](=O)(=O)C[C@H]12") -smiles(R"CCOC(=O)N1N(C(=O)OCC)[C@H]2c3ccccc3[C@@H]1c1ccccc21") -smiles(R"CCOC(=O)N[C@@H]1C[C@@]2(CCCCC2)C=CN1C(=O)OCC") -smiles(R"CCOC(=O)N[C@@H]1CC[C@@H]2c3ccccc3[C@@](C1)([N+](=O)[O-])c1ccccc21") -smiles(R"CCOC(=O)N[C@@H]1CC[C@H]2c3ccccc3[C@](C1)([N+](=O)[O-])c1ccccc21") -smiles(R"CCOC(=O)N[C@@H]1C[C@@H]2c3ccccc3[C@H]1c1ccccc21") -smiles(R"CCOC(=O)N[C@H](P(=O)(O)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)c1ccc(cc1)[C@H](NC(=O)OCC)P(=O)(O)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"CCOC(=O)Oc1ccc2c(c1)c(=O)c1c(NCCCN(CC)CC)ccc3nnn2c13") -smiles(R"CCOC(=O)Oc1ccc2c(c1)c(=O)c1c(NCCN(CC)CC)ccc3nnn2c13") -smiles(R"CC[OH+][Ti]12([O+]=C(C)[CH-]C(=[O+]1)c1ccccc1)([O+]=C(C)[CH-]C(=[O+]2)c1ccccc1)[OH+]C12C[C@@]3(C)C[C@@](C)(C1)C[C@@](C)(C2)C3") -smiles(R"CC[OH+][Ti]12([O+]=C(C)[CH-]C(=[O+]1)c1ccccc1)([O+]=C(C)[CH-]C(=[O+]2)c1ccccc1)[OH+]C12C[C@@]3(C)C[C@@](C)(C1)C[C@](C)(C3)C2") -smiles(R"CC[OH+][Ti]([OH+]CC)([OH+]c1ccccc1/C=N/[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1)[OH+]c1ccccc1/C=N/[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"CC(=O)n1c2cc3ccccc3cc2n(C(=O)C)c2cc3ccccc3cc12") -smiles(R"CC(=O)N1CC[C@]2(CC1)SS[C@]1(CCN(CC1)C(=O)C)S2") -smiles(R"CC(=O)n1ccc(=c2ccn(cc2)C(=O)C)cc1") -smiles(R"CC(=O)N1CCN(C(=O)C)[C@@H]2[C@H]1N(CCN2C(=O)C)C(=O)C") -smiles(R"CCON1C(=O)[C@@]2(CCCCC2)C(=O)[C@]21CCCC=C2") -smiles(R"CC(=O)N1O[C@]2(C)c3ccccc3[C@@]1(C)c1ccccc21") -smiles(R"CC(=O)N[C@@]12CCCC[C@]2(CCCC1)NC(=O)C") -smiles(R"CC(=O)N[C@]12CC[C@H](c3ccccc13)c1ccccc21") -smiles(R"CC(=O)N[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"CC(=O)Nc1ccc2c3ccccc3[C@H](N3C[C@@H]4CC[C@@H](CC4)C3)c2c1") -smiles(R"CC(=O)Nc1ccc(cc1)/C=c\1/sc2nnc(c3cccnc3)n2c1=O") -smiles(R"CC(=O)Nc1ccc(cc1)/C=c/1\sc2nnc(/C=C/c3ccccc3)n2c1=O") -smiles(R"CC(=O)Nc1ccc(cc1)/C=c/1\sc2nnc(CCC(=O)Nc3ccccc3Cl)n2c1=O") -smiles(R"CC(=O)Nc1ccc(cc1)/N=C/1\C(=C(SC2=C(c3ccccc3)/C(=N/c3ccc(cc3)NC(=O)C)/c3ccccc23)c2ccccc12)c1ccccc1") -smiles(R"CC(=O)Nc1ccc(cc1)S(=O)(=O)c1ccc(cc1)NC(=O)c1ccccc1SC(=O)CCCCn1ccccc1") -smiles(R"CC(=O)Nc1cccc(c1)S(=O)(=O)c1cccc(NC(=O)c2ccccc2SC(=O)CCCCn2ccccc2)c1") -smiles(R"CC(=O)Nc1ccc(/C=N/NC(=S)N[C@@H]2CN3CC[C@@H]2CC3)cc1") -smiles(R"CC(=O)/N=c\1/nc(SCc2ccccc2)c2c([nH]o[n+]2[O-])n1") -smiles(R"CC(=O)/N=c\1/nc(SCc2ccccc2)c2c(NO[N+]2[O-])[nH]1") -smiles(R"CC(=O)Nc1n[nH]/c(=S\2/[Pt@@](Cl)(Cl)/S(=c\3/[nH]nc(NC(=O)C)s3)/[Pt@]2(Cl)Cl)/s1") -smiles(R"CC(=O)Nc1nnn(C)n1") -smiles(R"CC(=O)N[C@@H]1c2ccccc2C(C)(C)[C@@]21CC[C@]1(OCCO1)CC2") -smiles(R"CC(=O)N[C@@H]1CC[C@H](CC1)Cc1ccccc1") -smiles(R"CC(=O)N[C@H]1CC[C@@H](CC1)CC1CCCCC1") -smiles(R"CC(=O)N[C@@H]1CC[C@H](CC1)C(C)(C)C") -smiles(R"CC(=O)N[C@H]1CC[C@@H](CC1)C(C)(C)C") -smiles(R"CC(=O)N[C@@H]1CC[C@H](CC1)C(F)(F)F") -smiles(R"CC(=O)N[C@H]1CC[C@@H](CC1)C(F)(F)F") -smiles(R"CC(=O)N[C@@H]1CC[C@H](CCC2CCCCC2)CC1") -smiles(R"CC(=O)N[C@H]1C[C@@H]2c3ccccc3[C@@]1([N+](=O)[O-])c1ccccc21") -smiles(R"CC(=O)N[C@H]1C[C@H]2c3ccccc3[C@]1([N+](=O)[O-])c1ccccc21") -smiles(R"CC(=O)N[C@H]1C(=[O+][Cu@@]2([O+]=C1C)[O+]=C(C)[C@@H](NC(=O)C)C(=[O+]2)C)C") -smiles(R"CC(=O)N[C@H](C(C)C)C(=O)O[Pt@]1(OC(=O)[C@H](NC(=O)C)C(C)C)N[C@H]2CCCC[C@H]2N1") -smiles(R"CC(=O)N[C@@H](Cn1cc/c(=N)/cc1)C(=O)O") -smiles(R"CC(=O)N[C@@H](C(=O)N/N=C(\C)/c1ccccc1)C(=O)N/N=C(\C)/c1ccccc1") -smiles(R"CC(=O)O") -smiles(R"CC(=O)O[C@@]12CCCC[C@H]2[C@@]2(CCCC2)NC1=O") -smiles(R"CC(=O)O[C@]12[C@H]3CCC[C@H]1CCC[C@H]2CCC3") -smiles(R"CC(=O)Oc1c2c(n(C(=O)C)c3ccccc3n2C(=O)C)c(OC(=O)C)c2c1n(C(=O)C)c1ccccc1n2C(=O)C") -smiles(R"CC(=O)Oc1cc2c(cc1OC(=O)C)[C@@]1(C)CC[C@]2(C)c2cc(OC(=O)C)c(OC(=O)C)cc12") -smiles(R"CC(=O)Oc1cc2nc3ccccc3nc2c2c1n(C)c1cc(ccc21)OC(=O)C") -smiles(R"CC(=O)Oc1ccc(cc1)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"CC(=O)Oc1ccccc1[C@H]1CC(=O)C[C@@H](c2ccccc2OC(=O)C)[C@@]21C(=O)c1ccccc1C2=O") -smiles(R"CC(=O)O[C@]1(C=C/C(=N/S(=O)(=O)c2ccccc2)/C=C1)[C@@]1(C=C/C(=N/S(=O)(=O)c2ccccc2)/C=C1)OC(=O)C") -smiles(R"CC(=O)O[C@]1([C@@H]2CC[C@H]1CC2)c1cc(cc(c1)C(F)(F)F)C(F)(F)F") -smiles(R"CC(=O)OCc1cnc2c3ncccc3C(=O)c3nc4ccccc4c1c23") -smiles(R"CC(=O)OC[C@]1(C)OC(=O)[C@@]2(CCCCC2)O1") -smiles(R"CC(=O)OC[C@@H]1CC/C(=C/2\C(=O)O[C@@](C)(C)OC2=O)/N1") -smiles(R"CC(=O)OC[C@H]1CO[C@@]2(CCCC2)O1") -smiles(R"CC(=O)OC[C@@H]1O[C@H](OC[C@H](OC(=O)C)[C@H](OC(=O)C)[C@@H](OC(=O)C)c2cnn(n2)c2ccccc2)[C@@H](OC(=O)C)[C@@H](OC(=O)C)[C@H]1OC(=O)C") -smiles(R"CC(=O)OC[C@H]1O[C@H](OC(=O)C)[C@H](NC(=O)CN[Pt@](Cl)(Cl)NCC(=O)N[C@H]2[C@@H](OC(=O)C)O[C@H](COC(=O)C)[C@H](OC(=O)C)[C@H]2OC(=O)C)[C@@H](OC(=O)C)[C@H]1OC(=O)C") -smiles(R"CC(=O)OC[C@H]1O[C@H](OC(=O)C)[C@H](N[Pt@](Cl)(Cl)N[C@H]2[C@@H](OC(=O)C)O[C@H](COC(=O)C)[C@H](OC(=O)C)[C@H]2OC(=O)C)[C@@H](OC(=O)C)[C@H]1OC(=O)C") -smiles(R"CC(=O)OC[C@H](OC(=O)C)[C@H]1O[C@@H](O[C@H]([C@H](COC(=O)C)OC(=O)C)[C@H]1OC(=O)C)c1ccccc1") -smiles(R"CC(=O)OC[C@@H](OC(=O)C)[C@@H](O[C@@H]1O[C@H](COC(=O)C)[C@@H](OC(=O)C)[C@H](OC(=O)C)[C@@H]1OC(=O)C)[C@@H](OC(=O)C)c1cnn(n1)c1ccccc1") -smiles(R"CC(=O)OC[C@H](OC(=O)C)[C@H](OC(=O)C)[C@H](COC(=O)C)OC(=O)C") -smiles(R"CC(=O)OCCn1c2cc3c(Cl)c(=O)c4ccccc4c3cc2nc2ccccc12") -smiles(R"CC(=O)O[C@H]1c2ccccc2[C@@H](OC(=O)C)c2ccccc12") -smiles(R"CC(=O)O[C@@H]1CC[C@@]2(C)C(=CC[C@H]3[C@H]2CC[C@@]2(C)[C@H]3CC[C@]32SCCCS3)C1") -smiles(R"CC(=O)O[C@@H]1CC[C@@]2(C)[C@@H](CC[C@H]3[C@H]2CC[C@@]2(C)[C@H]3CC[C@]32SCCCS3)C1") -smiles(R"CC(=O)O[C@H]1CCCCCCCCCC[C@@]21OCCO2") -smiles(R"CC(=O)O[C@@H]1C[C@](C)(C)C[C@@H](OC(=O)C)[C@@]1(C)C") -smiles(R"CC(=O)O[C@@H]1[C@](C)(C)[C@@H](OC(=O)C)[C@]1(C)C") -smiles(R"CC(=O)O[C@@H]1[C@@](C)(C)[C@@H](OC(=O)C)[C@]1(C)C") -smiles(R"CC(=O)O[C@H]1CC[C@H]2[C@H]3CC[C@H]4C[C@@]5(SCCS5)CC[C@]4(C)[C@H]3CC[C@]12C") -smiles(R"CC(=O)O[C@H]1CC[C@@H](CC1)CC1CCCCC1") -smiles(R"CC(=O)O[C@H]1C=C[C@H](S[C@]23C[C@@H]4C[C@@H](C[C@@H](C4)C3)C2)N(C(=O)C)[C@@H]1S[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"CC(=O)O[C@@H]1C[C@@H]2N[Pt@@](Cl)(Cl)N[C@H]2C[C@@H]1OC(=O)C") -smiles(R"CC(=O)O[C@H]1CCN(Cc2ccccc2)C[C@H]1CN(C(=O)C)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"CC(=O)O[C@@H]1C=CN(C(=O)C)[C@H](S[C@]23C[C@@H]4C[C@@H](C[C@@H](C4)C3)C2)[C@H]1O") -smiles(R"CC(=O)O[C@H]1C=CN(C(=O)C)[C@@H](S[C@]23C[C@@H]4C[C@@H](C[C@@H](C4)C3)C2)[C@H]1OC(=O)C") -smiles(R"CC(=O)O[C@H]1[C@H]2CC[C@@H]1[C@H]1[C@@H]2[C@@]2(Cl)C(=C(Cl)[C@]1(Cl)[C@]2(Cl)Cl)Cl") -smiles(R"CC(=O)O[C@H]1[C@H]2[C@@H]3[C@H]2[C@@H]2[C@H]1[C@H]32") -smiles(R"CC(=O)O[C@H]1[C@H](CCC[C@@H]1C(C)C)C(C)C") -smiles(R"CC(=O)O[C@H]1[C@H](OC(=O)C)[C@H](OC(=O)C)[C@H]2O[C@](C)(C)O[C@H]2[C@H]1OC(=O)C") -smiles(R"CC(=O)O[C@H]1[C@H](OC(=O)C)[C@H](OC(=O)C)[C@H](OC(=O)C)[C@H](OC(=O)C)[C@H]1OC(=O)C") -smiles(R"CC(=O)O[C@@H]1[C@@H](OC(=O)C)CN(OCc2ccccc2)C[C@@H]1OC(=O)C") -smiles(R"CC(=O)O[C@H]1[C@@H](OC(=O)C)C(=O)OC(=O)[C@@H]1OC(=O)C") -smiles(R"CC(=O)O[C@@H]1[C@@H](ON(=C[C@@]21CCCCC2)O)O[C@@H]1CCCCC1(c1ccccc1)c1ccccc1") -smiles(R"CC(=O)O[C@@H]1C[N@+]2(CCc3ccccc3)CC[C@H]1CC2") -smiles(R"CC(=O)O[C@@H]1C[N@@+]2(C)CC[C@@]1(CC2)c1ccccc1") -smiles(R"CC(=O)O[C@@H]1CN(C[C@@H](OC(=O)C)CN(C1)c1ccccc1)c1ccccc1") -smiles(R"CC(=O)O[C@H]1CN(OC[C@H]2O[C@H](OC(=O)C)[C@H](OC(=O)C)[C@@H](OC(=O)C)[C@H]2OC(=O)C)C[C@H](OC(=O)C)[C@@H]1OC(=O)C") -smiles(R"CC(=O)O[C@@H]1CO[C@H]([C@@H](OC(=O)C)[C@H]1OC(=O)C)n1c2c(ccc3c4ccccc4[nH]c23)c2ccccc12") -smiles(R"CC(=O)O[C@H]1C(=[O+][Cu@@]2([O+]=C1C)[O+]=C(C)[C@@H](OC(=O)C)C(=[O+]2)C)C") -smiles(R"CC(=O)O[C@@H]1N(C(=O)C)[C@H](S[C@]23C[C@@H]4C[C@@H](C[C@@H](C4)C3)C2)C(=C[C@@]1(C)OC(=O)C)C") -smiles(R"CC(=O)O[C@H]1OC[C@@H]2O[C@]3(CCCCC3)O[C@H]2[C@@H]1SCc1ccccc1") -smiles(R"CC(=O)O[C@@H]1O[C@H](OC(=O)C)[C@H](OC(=O)C)[C@@H](OC(=O)C)O1") -smiles(R"CC(=O)O[C@@H](c1cnn(n1)c1ccccc1)[C@H](OC(=O)C)[C@@H](COC(=O)C)OC(=O)C") -smiles(R"CC(=O)O[C@@H](c1cnn(n1)c1ccccc1)[C@H](OC(=O)C)[C@H](OC(=O)C)[C@@H](COC(=O)C)OC(=O)C") -smiles(R"CC(=O)O[C@H](c1cnn(n1)c1ccccc1)[C@@H](OC(=O)C)[C@@H](OC(=O)C)[C@H](COC(=O)C)OC(=O)C") -smiles(R"CC(=O)O[C@@H](C)C1=C[C@@]2(C=C[C@H]3[C@@H](C=C[C@@H]23)C2OC[C@](C)(C)CO2)OC1=O") -smiles(R"CC(=O)O[C@@H](C)C1=C[C@@]2(C=C[C@H]3[C@@H](C=C[C@@H]23)C2OC[C@@](C)(C)CO2)OC1=O") -smiles(R"CC(=O)O[C@@H](C)[C@@H](OC(=O)C)[C@@H](OC(=O)C)c1cnn(n1)c1ccccc1") -smiles(R"CC(=O)O[C@@H](C)C(=O)O[C@@H](COC(=O)[C@H](C)OC(=O)C)COC(=O)[C@H](C)OC(=O)C") -smiles(R"CC(=O)O[C@H]([C@@H]1C[C@@H]2CCN1CC2)c1ccnc2ccccc12") -smiles(R"CC(=O)O[C@@H]([C@H](COC(=O)C)OC(=O)C)c1cnn(n1)c1ccccc1") -smiles(R"CC(=O)O[C@H]([C@@H](COC(=O)C)OC(=O)C)c1cnn(n1)c1ccccc1") -smiles(R"CC(=O)[OH+][Cu@@+2]12N(Cc3n(C)cc[n+]13)Cc1n(C)cc[n+]21") -smiles(R"CC(=O)[OH+][Cu@+2]12N(Cc3n(C)cc[n+]13)Cc1n(C)cc[n+]21") -smiles(R"CC(=O)[OH+][Hg][C@]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"CC(=O)[OH+][Hg][C@@]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"CC(=O)[OH+][Hg][C@]12C3=C4C5=C1[Fe+2]16782345C2=C7[C@@]8([Hg][OH+]C(=O)C)C6=C12") -smiles(R"CC(=O)O[Pb]([C@@]12C3=C4C5=C1[Fe]16782345[C@H]2C7=C6C1=C82)([C@]12C3=C4C5=C1[Fe]16782345[C@H]2C7=C6C1=C82)[C@@]12C3=C4C5=C1[Fe]16782345[C@H]2C7=C6C1=C82") -smiles(R"CCOP(=O)(CCl)N[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"CCOP(=O)(OCC)C[C@@H]1C[C@](O)(CNc2cc(Cl)nc(N)n2)C1") -smiles(R"CCOP(=O)(OCC)N[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"CCOP(=O)(OCC)NC(=S)N[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"CC(=O)S[C@H]1C[S@@](=O)(=O)C[C@@H]1SC(=O)C") -smiles(R"CCOS(=O)(=O)C/C(=N\N=C(\CS(=O)(=O)OCC)/c1ccccc1)/c1ccccc1") -smiles(R"CC(=O)SS[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"CCSc1n/c(=C/c2ccco2)/c2nncn12") -smiles(R"CCSc1n/c(=C/c2ccco2)/c2nnnn12") -smiles(R"CCSC1(SCC)[C@]2(CCCCC2)C(=O)[C@]21CCCCC2") -smiles(R"C=C[Si@]1(C)C[Si@@](C)(C=C)C1") -smiles(R"CC[Sn@](CC)(OC(=O)[C@@H](N)Cc1ccccc1)OC(=O)[C@@H](N)Cc1ccccc1") -smiles(R"CC[Sn@](CC)(OC(=O)[C@H](OC(=O)C)c1ccccc1)OC(=O)[C@H](OC(=O)C)c1ccccc1") -smiles(R"CC[Sn@](CC)(OS(=O)(=O)C[C@@]12CC[C@@H](CC1=O)C2(C)C)OS(=O)(=O)C[C@@]12CC[C@@H](CC1=O)C2(C)C") -smiles(R"CCS(=O)(=O)c1ccc2nnnn2n1") -smiles(R"CCS(=O)(=O)[O-]") -smiles(R"CCS(=O)(=O)O") -smiles(R"C[Ge](C)([C@@]12C3=C4C5=C1[Fe]16782345C2=C7C6=C1[C@H]82)[C@@]12C3=C4C5=C1[Fe]16782345C2=C7C6=C1[C@@H]82") -smiles(R"[C@@H]12C3=C4C5=C1[Fe]16782345C2=C7[C@@]8(C6=C12)[C@@]12C3=C4C5=C1[Fe]16782345C2=C7[C@]8(C6=C12)[C@]12C3=C4C5=C1[Fe]16782345C2=C7[C@]8(C6=C12)[C@@]12C3=C4C5=C1[Fe]16782345[C@H]2C7=C6C1=C82") -smiles(R"[C@@H]12C3=C4C5=C1[Fe]16782345C2=C7[C@]8(C6=C12)[C@]12C3=C4C5=C1[Fe]16782345C2=C7[C@@]8(C6=C12)[C@@]12C3=C4C5=C1[Fe]16782345[C@H]2C7=C6C1=C82") -smiles(R"[C@@H]12C3=C4C5=C1[Fe]16782345C2=C7[C@]8(C6=C12)C([C@@]12C3=C4C5=C1[Fe]16782345[C@@H]2C7=C6C1=C82)[C@@]12C3=C4C5=C1[Fe]16782345[C@H]2C7=C6C1=C82") -smiles(R"[CH-]1N=c2[nH]nnc2=C(N)[N+]1=O") -smiles(R"[Cl-]") -smiles(R"Cl") -smiles(R"Cl[Au](Cl)(Cl)Cl") -smiles(R"Cl[C@@]12c3ccccc3[C@@H](c3ccccc13)[C@@]1(Cl)c3ccccc3[C@@H]2c2ccccc12") -smiles(R"Cl[C@@]12[C@@]3(N)[C@]4(Cl)[C@]5(Cl)[C@@]3(Cl)[C@@]2(Cl)[C@](Cl)([C@]14Cl)C15OCCO1") -smiles(R"Cl[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"Cl[C@@]12[C@H]3CCC[C@H]1CCC[C@@H]2CCC3") -smiles(R"Cl[C@@]12[C@@H]([C@@H]3c4ccccc4[C@H]1c1ccccc31)[C@@H]1c3ccccc3[C@H]2c2ccccc12") -smiles(R"Cl[C@@]1(Br)[C@H]2c3ccccc3[C@H](c3ccccc23)[C@@H]1S(=O)(=O)c1ccccc1") -smiles(R"Clc1c2cc3c(nc4cccnc4n3C3CCCCC3)cc2c2ccccc2c1=O") -smiles(R"Cl[C@]1(c2ccccc2)[C@@H]2CCCC[C@@H]12") -smiles(R"Clc1c2nn3c(nnc3c3ccccc3O)sc2c(Cl)c2nn3c(nnc3c3ccccc3O)sc12") -smiles(R"Clc1c2sc3nnc(C)n3nc2c(Cl)c2sc3nnc(C)n3nc12") -smiles(R"Clc1cc2cc3c4cc5nc6cc(Cl)c(Cl)cc6n(C)c5cc4c(Cl)c(=O)c3cc2cc1Cl") -smiles(R"Clc1cc2c(cc1Cl)nc1cc3c(cc1n2C)c(Cl)c(=O)c1ccccc31") -smiles(R"ClC1=C(c2ccccc2)[C@@H](CC1=O)c1ccccc1") -smiles(R"Clc1ccc2c(c1)c(cc1nc3cc4nc5cc(c6ccccc6)c6cc(Cl)ccc6n5c(=O)c4cc3c(=O)n21)c1ccccc1") -smiles(R"Clc1ccc2c(c1)[C@@H]1[C@H]3c4ccccc4[C@H](c4ccccc34)[C@H]2c2ccccc12") -smiles(R"Clc1ccc2c(c1)[C@H](N[C@]13C[C@@H]4C[C@@H](C[C@@H](C4)C3)C1)c1cc(Cl)cc(Cl)c21") -smiles(R"Clc1ccc2c(c1)[C@H](NC(=O)[C@@]13C[C@H]4C[C@H](C[C@H](C4)C3)C1)c1cc(Cl)cc(Cl)c21") -smiles(R"Clc1ccc2c(c1)CN1Cc3cc(Cl)ccc3[C@H]2C1") -smiles(R"Clc1ccc2c(c1)[n+]([O-])c1c3oc4ccccc4c3ccc1[n+]2[O-]") -smiles(R"Clc1ccc2c(c1)[n+]([O-])c1c3oc4CCCCc4c3ccc1[n+]2[O-]") -smiles(R"Clc1ccc2cc3cc(C)[n+]([O-])nc3n2n1") -smiles(R"Clc1ccc2c(ccnc2c1)/C=C/1\N2CC[C@H](CC2)C1=O") -smiles(R"Clc1ccc2c(ccnc2c1)N[C@H]1CC[C@@H](CC1)N1CCCCC1") -smiles(R"Clc1ccc2c(ccnc2c1)N[C@H]1CC[C@@H](CC1)N1CCOCC1") -smiles(R"Clc1ccc2c(ccnc2c1)N[C@H]1CC[C@H](CC1)NC1CCCCC1") -smiles(R"Clc1ccc2c(cnc3ccccc23)n1") -smiles(R"Clc1ccc2CN3Cc4ccc(Cl)cc4[C@@H](C3)c2c1") -smiles(R"Clc1ccc2c(no[n+]2[O-])c1") -smiles(R"Clc1ccc2c(NO[N+]2[O-])c1") -smiles(R"Clc1ccc2c([N+](=O)[O-])c3cc(C)[n+]([O-])nc3n2n1") -smiles(R"Clc1ccc2c(n[se][n+]2C)c1") -smiles(R"Clc1ccc2nc3ccccc3c(=O)n2n1") -smiles(R"Clc1ccc2nc(Oc3ccccc3)nc(=O)n2n1") -smiles(R"Clc1ccc2[n+](C)[se][nH]c2c1") -smiles(R"Clc1ccc2[nH]cc(C(=O)C(=O)N[C@]34C[C@@H]5C[C@@H](C[C@@H](C5)C4)C3)c2c1") -smiles(R"Clc1ccc2[nH][se][n+](C)c2c1") -smiles(R"Clc1ccc2nncn2n1") -smiles(R"Clc1ccc2nnnn2n1") -smiles(R"Clc1ccc2n[se]nc2c1") -smiles(R"Clc1ccc2n[se]nc2n1") -smiles(R"Clc1ccc2n[se][n+](C)c2c1") -smiles(R"Clc1ccc2nsnc2c1") -smiles(R"Clc1ccc2nsnc2c1Cl") -smiles(R"Clc1ccc2nsnc2c1NC1=NCCN1") -smiles(R"Clc1ccc2nsnc2n1") -smiles(R"Clc1ccc2oc(=O)c(cc2c1)C(=O)Nc1scc(n1)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"Clc1ccc2Sc3ccccc3N([C@@H]3C[C@H](C3)N(C)C)c2c1") -smiles(R"Clc1cccc2c1[C@](O)(c1ccccc1)c1c(Cl)cccc1[C@@]2(O)c1ccccc1") -smiles(R"Clc1cc(C)c2nc(cn2n1)C(=O)O") -smiles(R"Clc1ccc(cc1)[B@-]12OCC[N@@+]2(CCO1)CNC(=O)C1=C(O)[C@H](N(C)C)[C@H]2C[C@H]3C(=C(O)[C@]2(O)C1=O)C(=O)c1c(O)cccc1[C@]3(C)O") -smiles(R"Clc1ccc(cc1)[B@@-]12OCC[N@+]2(CCO1)CNC(=O)C1=C(O)[C@H](N(C)C)[C@H]2C[C@H]3C(=C(O)[C@]2(O)C1=O)C(=O)c1c(O)cccc1[C@]3(C)O") -smiles(R"Clc1ccc(cc1)[C@@]1(c2ccccc2)[C@H]2C(=O)NC(=O)[C@@H]1C(=O)NC2=O") -smiles(R"Clc1ccc(cc1)C1CC/C(=C\2/C(=C(O)c3ccccc3C2=O)O)/CC1") -smiles(R"Clc1ccc(cc1)[C@@]1(C)[C@H]2C(=O)NC(=O)[C@@H]1C(=O)NC2=O") -smiles(R"Clc1ccc(cc1)[C@]1(C)O[C@@H](C)[C@H](C)O1") -smiles(R"Clc1ccc(cc1)[C@]1(C)OC(=O)/C(=C/c2ccc(s2)[N+](=O)[O-])/C(=O)O1") -smiles(R"Clc1ccc(cc1)[C@@]1(C)OC(=O)/C(=C\c2ccc(s2)[N+](=O)[O-])/C(=O)O1") -smiles(R"Clc1cccc(c1)c1nc2cccc3c4cccnc4Cn1c23") -smiles(R"Clc1ccc(cc1)c1nc2cc(ccc2[nH]1)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"Clc1ccc(cc1)c1nc2=C(N)N=[S@](=O)(O)N=c2nc1c1ccc(Cl)cc1") -smiles(R"Clc1ccccc1c1[nH]c2ccc(cc2n1)C12C[C@@H]3C[C@H](C[C@@H](C3)C2)C1") -smiles(R"Clc1ccc(cc1)c1nnc(o1)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"Clc1ccc(cc1)c1nnn(C)n1") -smiles(R"Clc1ccc(cc1)[C@@]1(O)CCN(CC1)C[C@@H]1N2CC[C@H](CC2)C1=O") -smiles(R"Clc1ccc(cc1)[C@@]1(O)CCN(CC1)[C@@H]1C[C@H]1c1ccccc1") -smiles(R"Clc1ccc(cc1)c1sc2nnc(n2n1)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"Clc1cc(ccc1c1sc2nnc(n2n1)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)[N+](=O)[O-]") -smiles(R"Clc1cc(ccc1c1sc2nnc(n2n1)C12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)[N+](=O)[O-]") -smiles(R"Clc1ccc(cc1)/C=c\1/sc2nc(nn2c1=O)c1ccccc1") -smiles(R"Clc1ccc(cc1)/C=c/1\sc2nnc(CCC(=O)Nc3c(C)cccc3C)n2c1=O") -smiles(R"Clc1ccccc1/C=C/CN1CC[C@](O)(CC1)c1ccccc1") -smiles(R"Clc1ccc(cc1)[C@H]1C[C@@]2(SS[C@]3(C[C@@H](c4ccc(Cl)cc4)N([C@@H](C3)c3ccc(Cl)cc3)C(=O)C(F)(F)F)S2)C[C@@H](c2ccc(Cl)cc2)N1C(=O)C(F)(F)F") -smiles(R"Clc1ccc(cc1)[C@H]1CC(=O)C[C@@H](c2ccc(Cl)cc2)[C@@]21C(=O)NC(=O)NC2=O") -smiles(R"Clc1ccc(cc1)[C@H]1N(CC/N=C\c2ccc(Cl)cc2)CCN1CC/N=C\c1ccc(Cl)cc1") -smiles(R"Clc1ccc(cc1)[C@@H]1N[C@@H](C[C@]2(SS[C@]3(C[C@@H](N[C@@H](C3)c3ccc(Cl)cc3)c3ccc(Cl)cc3)S2)C1)c1ccc(Cl)cc1") -smiles(R"Clc1ccc(cc1)[C@@H]1N[C@H](C[C@@](S)(S)C1)c1ccc(Cl)cc1") -smiles(R"Clc1ccc(cc1)[C@H]1O[C@H]1C(=O)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"Clc1ccc(cc1)[C@@H]1O[C@H](C)[C@@H](C)O1") -smiles(R"Clc1ccc(cc1)[C@@H]1ON=C(c2ccccc2)N1[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"Clc1ccccc1[C@@H](/N=C/c1ccccc1Cl)/N=C/c1ccccc1Cl") -smiles(R"Clc1ccc(cc1Cl)[C@@H]1OC[C@]2(CO1)CO[C@@H](OC2)c1ccc(Cl)c(Cl)c1") -smiles(R"Clc1cc(ccc1Cl)N1C(=O)[C@@H]2[C@H](C1=O)[C@]1(Cl)C(=C(Cl)[C@@]2(Cl)[C@]1(Cl)Cl)Cl") -smiles(R"Clc1ccc(cc1)Cn1c(NC(=O)C(=O)N[C@@]23C[C@H]4C[C@H](C[C@H](C4)C3)C2)nc2ccccc12") -smiles(R"Clc1ccc(cc1)Cn1c(NC(=O)NC23C[C@@H]4C[C@@H](C[C@@H](C4)C3)C2)nc2ccccc12") -smiles(R"Clc1ccc(cc1)Cn1c(=N)n(CC(=O)NC23C[C@H]4C[C@H](C[C@H](C4)C3)C2)c2ccccc12") -smiles(R"Clc1cc(ccc1C)N1C(=O)[C@@H]2[C@H](C1=O)[C@]1(Cl)C(=C(Cl)[C@@]2(Cl)[C@@]1(Cl)Cl)Cl") -smiles(R"Clc1ccc(cc1)CN[C@H](C)C[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"Clc1ccccc1/C=N/N/C(=N\N=C\c1ccccc1Cl)/N/N=C/c1ccccc1Cl") -smiles(R"Clc1ccc(cc1)C(=O)C[N@@+]12CN3CN(CN(C3)C2)C1") -smiles(R"Clc1ccc(cc1)C(=O)N/N=C/c1ccc(cc1Br)N1CC[C@]2(CCCCC2)CC1") -smiles(R"Clc1ccc(cc1)C(=O)N/N=C/c1ccc(cc1Cl)N1CC[C@@]2(CCCCC2)CC1") -smiles(R"Clc1ccc(cc1)C(=O)N/N=C/c1ccc(cc1)N1CC[C@]2(CCCCC2)CC1") -smiles(R"Clc1cccc(c1)C(=O)N/N=C/c1ccc(cc1)N1CC[C@]2(CCCCC2)CC1") -smiles(R"Clc1ccc(cc1)N1C(=O)[C@@H]2[C@H](C1=O)[C@]1(Cl)C(=C(Cl)[C@@]2(Cl)[C@]1(Cl)Cl)Cl") -smiles(R"Clc1ccc(cc1)n1c(=S)[nH]nc1[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"Clc1cccc(c1)N/C(=[N+]\1/[C@H](C)CCC[C@H]1C)/c1ccccc1") -smiles(R"Clc1cccc(c1)NC(=O)ON1C(=O)[C@@H]2[C@H](C1=O)[C@]1(Cl)[C@@H](Cl)[C@H](Cl)[C@@]2(Cl)[C@@]1(Cl)Cl") -smiles(R"Clc1ccc(cc1)N/N=C/1\C(=O)O[C@H](OC1=O)c1ccccc1") -smiles(R"Clc1ccc(cc1)/N=N/N1CN2CN(/N=N/c3ccc(Cl)cc3)CN(C2)C1") -smiles(R"Clc1ccccc1OP(=O)(Oc1ccccc1Cl)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"Clc1ccc(cc1)S(=O)(=O)[C@H](C)[C@@H]1OC[C@@]2(CO1)CO[C@@H](OC2)[C@H](C)S(=O)(=O)c1ccc(Cl)cc1") -smiles(R"Clc1ccc(cc1)S(=O)(=O)/N=C/1\C=C/C(=c\2/sc3ccccc3n2C)/C=C1") -smiles(R"Clc1ccc(cc1)S(=O)O[Sn@](C)(C)OS(=O)c1ccc(Cl)cc1") -smiles(R"Clc1ccc(/C=c\2/sc3nc4ccccc4n3c2=O)c(Cl)c1") -smiles(R"Clc1ccc(/C=c/2\sc3nnc(CCC(=O)Nc4cc(Cl)c(Cl)cc4Cl)n3c2=O)c(Cl)c1") -smiles(R"Clc1ccc(/C=C/C(=O)[C@-]23C4=C5C6=C2[Fe+2]27893456[C-]3C8=C7C2=C93)c(Cl)c1") -smiles(R"Clc1ccc(/C=C/C(=O)[C@@-]23C4=C5C6=C2[Fe+2]27893456[C-]3C8=C7C2=C93)c(Cl)c1") -smiles(R"Clc1cccc(Cl)c1C[N@+]12CN3CN(CN(C3)C2)C1") -smiles(R"Clc1ccc(c(Cl)c1)C(=O)C[N@@+]12CN3CN(CN(C3)C2)C1") -smiles(R"Clc1cc(cc(C(=O)O)c1O)C(=CCC12C[C@H]3C[C@H](C[C@H](C3)C2)C1)c1cc(Cl)c(O)c(c1)C(=O)O") -smiles(R"Clc1ccc([C@@H]2O[C@@H](C)[C@H](C)O2)c(Cl)c1") -smiles(R"Clc1cccc(/N=C/c2ccc(cc2)N2CC[C@@]3(CCCCC3)CC2)c1") -smiles(R"Clc1ccc(/C=N\N=C\c2ccc(Cl)cc2)cc1") -smiles(R"Clc1ccc(/C=N/N/C(=N\N=C\c2ccc(Cl)cc2Cl)/N/N=C/c2ccc(Cl)cc2Cl)c(Cl)c1") -smiles(R"Clc1ccc(/C=N/NC(=S)N[C@]23C[C@@H]4C[C@@H](C[C@@H](C4)C3)C2)c(Cl)c1") -smiles(R"Clc1ccc(/C=N/NC(=S)N[C@]23C[C@@H]4C[C@@H](C[C@@H](C4)C3)C2)s1") -smiles(R"Clc1ccc(/C=N\NC(=S)N[C@@H]2CN3CC[C@@H]2CC3)cc1") -smiles(R"Clc1cc(Cl)c2n[se]nc2c1") -smiles(R"Clc1cc(Cl)c2n[se]nc2n1") -smiles(R"Clc1cc(Cl)c2nsnc2c1N") -smiles(R"Clc1cc(Cl)cc(c1)Nc1nc(N[C@H]2CC[C@@H](CC2)N(C)C)c2ccccc2n1") -smiles(R"Clc1cc(Cl)c(Cl)cc1C[N@+]12CN3CN(CN(C3)C2)C1") -smiles(R"Clc1cc(Cl)cc(/N=C/c2ccc(cc2)N2CC[C@]3(CCCCC3)CC2)c1") -smiles(R"Clc1cc(Cl)c(OCc2ccccc2)c(c1)S(=O)O[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"Clc1cc(/C=N/C23C[C@H]4C[C@H](C[C@H](C4)C3)C2)cc(Cl)c1") -smiles(R"Clc1cc(/C=N\C[C@H]2CC[C@@H](C/N=C\c3cc(Cl)cc(Cl)c3O)CC2)c(O)c(Cl)c1") -smiles(R"Clc1cc(/C=N/NC(=S)N[C@]23C[C@@H]4C[C@@H](C[C@@H](C4)C3)C2)cc(Cl)c1") -smiles(R"Clc1cc(/C=N/NC(=S)N[C@]23C[C@@H]4C[C@@H](C[C@@H](C4)C3)C2)c(O)c(Cl)c1") -smiles(R"Clc1ccc([N+](=O)[O-])c(/C=N/NC(=S)N[C@]23C[C@@H]4C[C@@H](C[C@@H](C4)C3)C2)c1") -smiles(R"Clc1ccc([N+](=O)[O-])c(/C=N/NC(=S)NC23C[C@@H]4C[C@@H](C[C@@H](C4)C3)C2)c1") -smiles(R"Clc1ccc(O)c(/C=N/NC(=S)N[C@]23C[C@@H]4C[C@@H](C[C@@H](C4)C3)C2)c1") -smiles(R"Clc1ccc(OCC(=O)O[C@@H]2CN3CC[C@@H]2CC3)cc1") -smiles(R"ClC1=C[C@@H]2c3ccccc3[C@H]1c1ccccc21") -smiles(R"ClC1=C(Cl)[C@]2(Cl)[C@@]3(Cl)C(=C(Cl)[C@](Cl)([C@]43OCCO4)[C@]2(Cl)C21OCCO2)Cl") -smiles(R"ClC1=C(Cl)[C@@]2(Cl)C[C@]1(Cl)[C@H]1[C@H]3C[C@H]([C@H]4O[C@](C)(C)O[C@@H]34)[C@@H]21") -smiles(R"ClC1=C(Cl)[C@@]2(Cl)C=C[C@]1(Cl)[C@@]2(Cl)Cl") -smiles(R"ClC1=C(Cl)[C@@]2(Cl)CC[C@]1(Cl)[C@@]2(Cl)Cl") -smiles(R"ClC1=C(Cl)[C@@]2(Cl)[C@H]3[C@H]4C=C[C@H](C4)[C@H]3[C@]1(Cl)[C@]2(Cl)Cl") -smiles(R"ClC1=C(Cl)[C@@]2(Cl)[C@H]3[C@H]4CC[C@H](C4)[C@H]3[C@]1(Cl)[C@]2(Cl)Cl") -smiles(R"ClC1=C(Cl)[C@@]2(Cl)[C@H]3[C@H]4C[C@H]([C@H]5[C@@H]6C[C@@H]([C@@H]7O[C@H]67)[C@@H]45)[C@H]3[C@]1(Cl)[C@]2(Cl)Cl") -smiles(R"ClC1=C(Cl)[C@@]2(Cl)[C@H]3[C@H]4C[C@H]([C@H]5O[C@@H]45)[C@H]3[C@]1(Cl)[C@]2(Cl)Cl") -smiles(R"ClC1=C(Cl)[C@@]2(Cl)[C@H]3[C@H]4O[C@H]([C@H]5O[C@@H]45)[C@H]3[C@]1(Cl)[C@]2(Cl)Cl") -smiles(R"ClC1=C(Cl)[C@]2(Cl)[C@H]3COC[C@H]3[C@@]1(Cl)[C@@]2(Cl)Cl") -smiles(R"ClC1=C(Cl)[C@]2(Cl)[C@H]3O[C@H]3[C@@]1(Cl)[C@]2(Cl)Cl") -smiles(R"ClC1=C(Cl)[C@@H]2c3ccccc3[C@H]1c1ccccc21") -smiles(R"Clc1cc(N)c2nnc(c3ccccc3)n2n1") -smiles(R"Clc1cc(N)c2nncn2n1") -smiles(R"Clc1cc(N)c2nnnn2n1") -smiles(R"Clc1cc(NC(=O)c2ccccc2)c2nnc(c3ccccc3)n2n1") -smiles(R"Clc1cc(OC[C@@]23C[C@H]4C[C@H](C[C@H](C4)C3)C2)nc(OC[C@@]23C[C@H]4C[C@H](C[C@H](C4)C3)C2)n1") -smiles(R"Cl[C@]1(Cl)[C@@H](c2ccccc2)[C@H]1c1ccccc1") -smiles(R"Clc1cnn2cnnc2c1N") -smiles(R"Clc1cnn2nnnc2c1N") -smiles(R"Cl[C-]1C(=[O+][Ru+3]23([O+]=C1C)([O+]=C(C)[C-](Cl)C(=[O+]2)C)[O+]=C(C)[C-](Cl)C(=[O+]3)C)C") -smiles(R"Clc1nc2cc3c(oc4ccccc34)cc2n2cccc12") -smiles(R"Clc1nc2cn[nH]c2c(n1)N(C)C") -smiles(R"Clc1nc(Cl)c2n[se]nc2c1Cl") -smiles(R"Clc1nc(Cl)c2nsnc2c1") -smiles(R"Clc1nc(Cl)nc(c1)O[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"Clc1nc(Cl)nc(c1)O[C@@H]1[C@H]2C[C@@H]3C[C@H](C2)C[C@H]1C3") -smiles(R"Clc1nc(Cl)nc(n1)N[C@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"Clc1nc(nc(n1)N[C@@]12C[C@H]3C[C@@H](C[C@H](C3)C2)C1)N[C@@]12C[C@H]3C[C@@H](C[C@H](C3)C2)C1") -smiles(R"Clc1nc(N)nc(c1)N[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"Clc1nnn(n1)c1ccccc1") -smiles(R"ClC[C@]12[C@@H]3C(=O)[C@H]1[C@]23CCl") -smiles(R"ClCC1=N[C@@H](c2ccc(cc2)[C@@H]2N=C(CCl)OP2(=O)N[C@]23C[C@@H]4C[C@@H](C[C@@H](C4)C3)C2)P(=O)(O1)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"ClC(=C1OC(=O)[C@@H]2[C@H]3c4ccccc4[C@@H]([C@H]12)c1ccccc31)Cl") -smiles(R"ClCCc1nnn(C)n1") -smiles(R"ClC/C=C/C[N@@+]12CN3CN(CN(C3)C2)C1") -smiles(R"ClC(=C(Cl)/C(=C(/N[C@@H](C)[C@@]12C[C@@H]3C[C@H](C[C@@H](C3)C2)C1)\N[C@H](C)[C@@]12C[C@@H]3C[C@H](C[C@H](C3)C2)C1)/[N+](=O)[O-])Cl") -smiles(R"Cl/C=C/C[N@+]12CN3CN(CN(C3)C2)C1") -smiles(R"ClC(=C)C[N@+]12CN3CN(CN(C3)C2)C1") -smiles(R"ClC[C@@H]1C[C@@H]2c3ccccc3[C@H]1c1ccccc21") -smiles(R"ClC[C@H]1[C@@H](CCl)[C@]2(Cl)C(=C(Cl)[C@@]1(Cl)[C@]2(Cl)Cl)Cl") -smiles(R"ClC[C@@H]1CO[C@@]2(CCCC2)O1") -smiles(R"ClC[C@H]1OC(C)(C)O[C@](C#N)(C1)C[C@@H]1C[C@H](C[C@@]2(C#N)C[C@@H](CCl)OC(C)(C)O2)O[C@](C)(C)O1") -smiles(R"ClC[C@@H](Cl)[C@@H]1CCC[C@H](Cl)C1") -smiles(R"ClC[C@@H](Cl)[C@@H]1CC[C@@H](Cl)CC1") -smiles(R"ClC[C@@H](O)CN1CC[N@+]2(CC1)CC[N@+]1(CCN(CC1)C[C@H](O)CCl)CC2") -smiles(R"ClC[C@H](OS(=O)(=O)C)[C@@H]1O[C@](C)(C)O[C@H]1[C@H](CCl)OS(=O)(=O)C") -smiles(R"ClC(Cl)C(=O)N1C[C@H]2CC[C@H](CC2)C1") -smiles(R"ClC(Cl)C(=O)N[C@@H]1CC[C@H](CC1)C(C)(C)C") -smiles(R"ClC(Cl)C(=O)N[C@H]1CC[C@@H](CC1)C(C)(C)C") -smiles(R"ClCC[N@@+]12CC[N@@+](CCCl)(CC1)C2") -smiles(R"ClCC[N@+]12CC[N@+](CCCl)(CC1)C2") -smiles(R"ClCCN1CC[C@@]2(CC1)SS[C@]1(CCN(CCCl)CC1)S2") -smiles(R"ClC/C(=N\C[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1)/NS(=O)(=O)c1ccc(C)cc1") -smiles(R"ClCCN(Cc1ccccc1)C(=O)[C@@H]1[C@@H](c2ccccc2)[C@@H]1c1ccccc1") -smiles(R"ClCCN(CCCl)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"ClCCN(CCCl)c1ccc(cc1)/C=c\1/sc2nc3nc(C)nc(O)c3n2c1=O") -smiles(R"ClCCN(CCCl)c1ccc(cc1)[C@H]1N(CCCN1[C@H](C#N)c1ccccc1)[C@H](C#N)c1ccccc1") -smiles(R"ClCCN(CCCl)c1ccc(cc1)/C=N/[C@H]1C(C)(C)[C@@H](/N=C/c2ccc(cc2)N(CCCl)CCCl)[C@@]1(C)C") -smiles(R"ClCCN(CCCl)c1ccc(c(C)c1)[C@@H]1N(CCCN1[C@H](C#N)c1ccccc1)[C@H](C#N)c1ccccc1") -smiles(R"ClCCN(CCCl)c1ccc(/C=N/NC(=O)[C@-]23C4=C5C6=C2[Fe+2]27893456C3=C8C7=C2[C-]93)c(C)c1") -smiles(R"ClCCN(CCCl)c1ccc(/C=N/NC(=O)[C@@-]23C4=C5C6=C2[Fe+2]27893456C3=C8C7=C2[C-]93)c(C)c1") -smiles(R"ClCCN(CCCl)C[C@@H]1C(=O)C[C@@H](CC1=O)c1ccc(O)cc1") -smiles(R"ClCCN(CCCl)[C@@H]([C@@H]1CCC=CC1)[C@@H]1C(=O)C[C@@H](CC1=O)c1ccc(O)cc1") -smiles(R"ClCCN(CCCl)[C@@H]([C@H](O)[C@H](O)[C@H](O)CO)[C@H]1C(=O)[C@@H](C(=O)OCC)[C@H](c2ccc(O)cc2)[C@@H](C(=O)OCC)C1=O") -smiles(R"ClCCN(CCCl)COc1ccc(cc1)[C@H]1CC(=O)[C@@H](CN(CCCl)CCCl)C(=O)C1") -smiles(R"ClCCN(CCCl)/N=C\C=N\N(CCCl)CCCl") -smiles(R"ClCCN(CCCl)P(=O)(N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"ClCCN(CCCl)P(=O)(N)O[C@H](c1ccccc1)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"ClCCN(C[C@@H]1[C@H](c2ccccc2)[C@H]1c1ccccc1)C1CCCCC1") -smiles(R"ClCCNCCNc1ccnc2ccc3nn(C)nc3c12") -smiles(R"ClCCNC(=O)[C@-]12C3=C4C5=C1[Fe+2]16782345C2=C7[C@-]8(C(=O)NCCCl)C6=C12") -smiles(R"ClCCNC(=O)[C@@-]12C3=C4C5=C1[Fe+2]16782345C2=C7[C@@-]8(C(=O)NCCCl)C6=C12") -smiles(R"ClCCNC(=O)[C@@H]1CC[C@H](CC1)C(=O)NCCCl") -smiles(R"ClCCNC(=O)N[C@@]12C[C@@]3(C)C[C@](C)(C[C@](C)(C3)C2)C1") -smiles(R"ClCCNC(=O)N[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"ClCCNC(=O)N[C@@H]1CC[C@H](CC1)C[C@H]1CC[C@@H](CC1)NC(=O)NCCCl") -smiles(R"ClCCNC(=O)N[C@@H]1CC[C@H](CC1)NC(=O)NCCCl") -smiles(R"ClCCNC(=O)N[C@H]1C[C@@H](NC(=O)NCCCl)C[C@](C)(C)C1") -smiles(R"ClCCNC(=O)N[C@H]1[C@@H](O)[C@@H](O)[C@@H](O)[C@H](O)[C@@H]1O") -smiles(R"ClCCNC(=O)N[C@@H]1CS(=O)(=O)[C@H](C)S(=O)(=O)C1") -smiles(R"ClCCNC(=O)N(O)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"ClC/C(=N/NC1=N[C@@](C)(CC[C@]2(C)N=C(N/N=C(\C)/CCl)SP2(=O)N[C@]23C[C@@H]4C[C@@H](C[C@@H](C4)C3)C2)P(=O)(S1)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)/C") -smiles(R"ClCC(=N)NC[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"ClCC(=N)NCCO[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"ClCCN(N=O)C(=O)N[C@@]12C[C@@]3(C)C[C@](C)(C[C@](C)(C3)C2)C1") -smiles(R"ClCCN(N=O)C(=O)N[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"ClCCN(N=O)C(=O)NC[C@H]1CC[C@@H](CC1)CNC(=O)N(N=O)CCCl") -smiles(R"ClCCN(N=O)C(=O)N[C@@H]1CC[C@H](CC1)C[C@H]1CC[C@H](CC1)NC(=O)N(N=O)CCCl") -smiles(R"ClCCN(N=O)C(=O)N[C@@H]1CC[C@@H](CC1)NC(=O)N(N=O)CCCl") -smiles(R"ClCCN(N=O)C(=O)N[C@H]1CC[C@H](CCl)CC1") -smiles(R"ClCCN(N=O)C(=O)N[C@@H]1CC[C@@H](OC)CC1") -smiles(R"ClCCN(N=O)C(=O)N[C@@H]1CC[C@H](OC)CC1") -smiles(R"ClCCN(N=O)C(=O)N[C@H]1[C@@H](O)C[C@H](C)C[C@@H]1O") -smiles(R"ClCCN(N=O)C(=O)N[C@H]1[C@@H](O)[C@@H](O)[C@@H](O)[C@H](O)[C@@H]1O") -smiles(R"ClCCN(N=O)C(=O)N[C@H]1[C@@H](OC(=O)C)[C@H](OC(=O)C)[C@H](NC(=O)N(N=O)CCCl)[C@H](OC(=O)C)[C@@H]1OC(=O)C") -smiles(R"ClCCN(N=O)C(=O)N[C@@H]1CS(=O)(=O)[C@@H](C)S(=O)(=O)C1") -smiles(R"ClCC(=O)[C@H](OC(=O)C)[C@@H](OC(=O)C)[C@@H](OC(=O)C)C(=O)CCl") -smiles(R"ClCCOC(=O)[C@@H]1[C@@H](C(=O)OCCCl)[C@]2(Cl)C(=C(Cl)[C@@]1(Cl)[C@]2(Cl)Cl)Cl") -smiles(R"ClCC(=O)N1CC[C@]2(CC1)SS[C@]1(CCN(CC1)C(=O)CCl)S2") -smiles(R"ClCC(=O)N1C[C@H]2CC[C@H](CC2)C1") -smiles(R"ClCC(=O)NC[C@]1(S[C@@](CNC(=O)CCl)(S1)c1ccc(Cl)cc1)c1ccc(Cl)cc1") -smiles(R"Cl[C@@H]1c2ccccc2c2ccccc2[C@H](Cl)[S@]1(=O)=O") -smiles(R"Cl[C@H]1CCC[C@@]2(Cl)C(=O)N[C@@]3(CCCCC3)N=C12") -smiles(R"Cl[C@@H]1CCCC[C@@]21OCCO2") -smiles(R"Cl[C@@H]1CC[C@@H](CC1)CN1Cc2c(C1)nc(N)nc2N") -smiles(R"Cl[C@@H]1[C@@H]2C=C[C@@H](C2)[C@@]21OCCO2") -smiles(R"Cl[C@@H]1[C@@H](Cl)[C@@H](Cl)[C@H](Cl)[C@@H](Cl)[C@H]1Cl") -smiles(R"Cl[C@@H]1O[C@H](Cl)[C@H](Cl)[S@](=O)(=O)[C@@H]1Cl") -smiles(R"Cl[C@H]1S(=O)(=O)C[C@]21OCCO2") -smiles(R"Cl[C@H](COc1ccccc1)Cn1cc/c(=N)/cc1") -smiles(R"Cl[Co@]1([Cl][Co@]2([Cl]1)[Cl][Co@@](Cl)([Cl]2)[n+]1ccccc1)[n+]1ccccc1") -smiles(R"Cl[Co@]1([Cl][Co@](Cl)([Cl]1)[n+]1ccccc1)[n+]1ccccc1") -smiles(R"ClC(=O)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"ClC(=O)[C@H]1CC[C@@H]2c3ccccc3[C@@](C1)([N+](=O)[O-])c1ccccc21") -smiles(R"ClC(=O)[C@H]1CC[C@H]2c3ccccc3[C@](C1)([N+](=O)[O-])c1ccccc21") -smiles(R"ClC(=O)O[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"ClCP(=O)(Cl)N[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"ClCP(=O)(N[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1)N1CC1") -smiles(R"ClCP(=O)(N)N[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"Cl[Cu+]12[n+]3ccccc3c3cccc(c4cccc[n+]14)[n+]23") -smiles(R"Cl[Cu+]12[n+]3c(cccc3=c3cccc[n+]23)c2cccc[n+]12") -smiles(R"Cl[Fe]12([Cl-][Fe]3(Cl)([Cl-]1)[S-]1CC[N@@+]45CCC[N@+]6(CCC4)CC[S@@H]3[Ni@@+2]156)[S-]1CC[N@+]34CCC[N@@+]5(CCC3)CC[S@@H]2[Ni@@+2]145") -smiles(R"Cl[Fe]12([Cl-][Fe]3(Cl)([Cl-]1)[S-]1CC[N@+]45CCC[N@@+]6(CCC4)CC[S@@H]3[Ni@@+2]156)[S-]1CC[N@@+]34CCC[N@+]5(CCC3)CC[S@@H]2[Ni@@+2]145") -smiles(R"[Cl-][Fe](Cl)(Cl)Cl") -smiles(R"Cl[Fe](Cl)(Cl)Cl") -smiles(R"Cl[Fe@@](Cl)(N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"[ClH+][Co+2]12([ClH+])([O+]=C3NCNC4[N-][NH+]1CC34)[O+]=C1NCNC3[N-][NH+]2CC13") -smiles(R"[ClH+][Co+2]12([ClH+])([O+]=c3nc[nH]c4[n-][n+]1cc34)[O+]=c1nc[nH]c3[n-][n+]2cc13") -smiles(R"Cl[Hf]12345678(Cl)(C9=C3C2=C1[C@H]49)C1=C6C7=C5[C@@H]81") -smiles(R"Cl[Hf]12345678(Cl)(C9=C4[C@]7(C3=C19)C(C)(C)C)C1=C6[C@]8(C5=C21)C(C)(C)C") -smiles(R"[Cl-][Hg][C@]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"[Cl-][Hg][C@@]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"[Cl-][Hg][C@]12C3=C4C5=C1[Fe+2]16782345C2=C7[C@@-]8(Cl)C6=C12") -smiles(R"[Cl-][Hg][C@@]12C3=C4C5=C1[Fe+2]16782345C2=C7[C@@-]8(Cl)C6=C12") -smiles(R"Cl[Hg][C@-]12C3=C4C5=C1[Fe+2]16782345C2=C7[C@@]8([Hg][Cl-])C6=C12") -smiles(R"Cl[Hg][C@@-]12C3=C4C5=C1[Fe+2]16782345C2=C7[C@@]8([Hg][Cl-])C6=C12") -smiles(R"Cl[Hg](Cl)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"Cl[La](Cl)(Cl)(N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"Cl[Mn@](Cl)(/[S+]=c/1\nc[nH]c2[nH]cnc12)/[S+]=c/1\nc[nH]c2[nH]cnc12") -smiles(R"[Cl-][Nb]12345678([Cl-])(C9=C4[C@-]7(C3=C19)[Si](C)(C)C)C1=C6[C@-]8(C5=C21)[Si](C)(C)C") -smiles(R"[Cl-][Nb]12345678([Cl-])(C9=C4[C@@-]7(C3=C19)[Si](C)(C)C)C1=C6[C@-]8(C5=C21)[Si](C)(C)C") -smiles(R"Clp1[nH]c2ncncc2[nH]1") -smiles(R"Cl[Pd]12[n+]3ccccc3c3cccc(c4cccc[n+]14)[n+]23") -smiles(R"Cl[Pd]1(Cl)P(c2ccccc2)(c2ccccc2)[C@@-]23C4=C5C6=C2[Fe+2]27893456C3=C8[C@@-]9(C7=C23)P1(c1ccccc1)c1ccccc1") -smiles(R"Cl[Pd@@]1(Cl)P(c2ccccc2)(c2ccccc2)[C@@-]23C4=C5C6=C2[Fe+2]27893456C3=C8[C@-]9(C7=C23)P1(c1ccccc1)c1ccccc1") -smiles(R"Cl[Pd]Cl") -smiles(R"Cl[Pd@](Cl)(N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"Cl[Pd@](Cl)(Nc1ccc(cc1)/C=C/1\C=Cc2ccccc12)Nc1ccc(cc1)/C=C/1\C=Cc2ccccc12") -smiles(R"Cl[Pd@@](Cl)(/[S+]=C\1/NCCS1)/[S+]=C\1/NCCS1") -smiles(R"Cl[Pd@](Cl)(/[S+]=c/1\sc2ccccc2[nH]1)/[S+]=c/1\sc2ccccc2[nH]1") -smiles(R"Cl[Pd@@](Cl)(/[S+]=c/1\scc[nH]1)/[S+]=c/1\scc[nH]1") -smiles(R"ClP(=O)(Cl)N[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"ClP(=O)(N[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1)c1ccccc1") -smiles(R"ClP(=O)(Oc1ccccc1)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"Cl[Pt]12[n+]3ccccc3c3cccc(c4cccc[n+]14)[n+]23") -smiles(R"Cl[Pt@@+]12[N+](C)(C)CC[N@@+]2(C)CC[N+]1(C)C") -smiles(R"Cl[Pt@+]12[N+](C)(C)CC[N@+]2(C)CC[N+]1(C)C") -smiles(R"Cl[Pt]1(Cl)N(CCN1C[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82)C[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"Cl[Pt@@]1(Cl)N(CCN1C[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82)C[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"Cl[Pt@]1(Cl)N[C@@H]2CCC[C@@H](C2)N1") -smiles(R"Cl[Pt@@]1([Cl][Pt@@](Cl)([Cl]1)P(C1CCCCC1)(c1ccccc1)c1ccccc1)P(C1CCCCC1)(c1ccccc1)c1ccccc1") -smiles(R"Cl[Pt](Cl)(Cl)Cl") -smiles(R"Cl[Pt](Cl)(Cl)[N@+]12CN3CN(CN(C3)C2)C1") -smiles(R"Cl[Pt](Cl)[N@+]12CN3CN(CN(C3)C2)C1") -smiles(R"Cl[Pt@](Cl)(Nc1ccc(cc1)/C=C/1\C=Cc2ccccc12)Nc1ccc(cc1)/C=C/1\C=Cc2ccccc12") -smiles(R"Cl[Pt@@](Cl)(/[S+]=C\1/NCCS1)/[S+]=C\1/NCCS1") -smiles(R"Cl[Pt@](Cl)(/[S+]=c/1\sc2ccccc2[nH]1)/[S+]=c/1\sc2ccccc2[nH]1") -smiles(R"Cl[Pt@@](Cl)(/[S+]=c/1\scc[nH]1)/[S+]=c/1\scc[nH]1") -smiles(R"Cl[Ru](Cl)Cl") -smiles(R"[Cl-][Ru](Cl)(Cl)(Cl)(/[O+]=S/1\CCCC1)[n+]1ccc2ccccc2c1") -smiles(R"[Cl-][Ru](Cl)(Cl)(Cl)(/[O+]=S\1/CCCC1)[n+]1ccc2ccccc2c1") -smiles(R"Cl[Sn](Cl)([C@@]12C3=C4C5=C1[Fe]16782345C2=C7C6=C1[C@H]82)[C@@]12C3=C4C5=C1[Fe]16782345C2=C7C6=C1[C@@H]82") -smiles(R"Cl[Ti]12345678(Cl)(C9=C3C2=C1[C@H]49)C1=C6C7=C5[C@@H]81") -smiles(R"[Cl-][Zr]12345678([Cl-])(C9=C2C3=C1[C-]49)C1(=C7(C)C6(=C5(C)[C@-]81C)C)C") -smiles(R"[Cl-][Zr]12345678([Cl-])(C9=C2C3=C1[C-]49)C1(=C7(C)C6(=C5(C)[C@@-]81C)C)C") -smiles(R"Cl[Zr]12345678(Cl)(C9=C3C2=C1[C@H]49)C1=C6C7=C5[C@@H]81") -smiles(R"Cl[Zr]12345678(Cl)(C9=C4[C@@]7(Cc4ccccc4)C3=C19)C1=C6[C@@]8(Cc3ccccc3)C5=C21") -smiles(R"Cl[ZrH]12345678(C9=C3C2=C1[C@H]49)C1=C6C7=C5[C@@H]81") -smiles(R"CN") -smiles(R"C[N@@+]12C[C@H]3C[C@@H](C1)C[N@+](C)(C3)[BH2+]2") -smiles(R"C[N@+]12C[C@@H]3C[C@H](C1)C[N@@+](C)(C3)[BH2+]2") -smiles(R"C[N@+]12C[C@@H]3O[C@H](C1)C[N@@+](C)(C3)C2") -smiles(R"C[N@+]12CN3CN(CN(C3)C2)C1") -smiles(R"C[N+]12CN3CN(CN(C3)C2)C1") -smiles(R"C[N@+]12CN3CN(CP(C3)C2)C1") -smiles(R"Cn1c2cc3ccccc3cc2n(C)c2cc3ccccc3cc12") -smiles(R"Cn1c2cc3c(Cl)c(=O)c4ccccc4c3cc2nc2cc3ccccc3cc12") -smiles(R"CN1c2ccccc2[C@]23CCN4CC=C[C@]5(CC[C@]13CC5)[C@H]24") -smiles(R"Cn1c2ccccc2c2c3sc4c5c(sc4c3sc2c1=O)c(=O)n(C)c1ccccc51") -smiles(R"Cn1c2ccccc2c2cnn3cnnc3c12") -smiles(R"Cn1c2ccccc2c2cnn3c(nnc3c12)c1ccccc1") -smiles(R"Cn1c2c(nc3sc4ccccc4c(=N)n23)c(=O)n(C)c1=O") -smiles(R"Cn1ccc2c(c1)c(C)c1c3c(ccc(O)c3OCC(F)(F)F)[nH]c1c2C") -smiles(R"CN1CC[C@@]2(CC1)[C@H](c1ccccc1)C(=O)N(C[C@@H]1COc3ccccc3O1)C2=O") -smiles(R"CN1CC[C@]2(CC1)C(=O)N(c1ccccc1)C(=O)[C@H]2c1ccccc1") -smiles(R"CN1CC[C@@]2(CC1)C(=O)N(Cc1ccccc1)C(=O)[C@@H]2c1ccccc1") -smiles(R"CN1CC[C@@]2(CC1)C(=O)N(Nc1ccccc1)C(=O)[C@@H]2c1ccccc1") -smiles(R"CN1CC[C@]2(CC1)N[C@@H]1CCN(C)C[C@H]1S2") -smiles(R"CN1CC[C@@]2(CC1)N[C@@H]1CCN(C)C[C@H]1S2") -smiles(R"CN1CC[C@@]2(CC1)O[C@H](c1ccccc1)[C@@H](O2)c1ccccc1") -smiles(R"CN1CC[C@]2(CC1)SS[C@]1(CCN(C)CC1)S2") -smiles(R"Cn1ccc2c(C)c3[nH]c4ccc(cc4c3c(C)c2c1)OC(C)(C)C") -smiles(R"Cn1ccc2c(C)c3[nH]c4ccc(Oc5ccccc5)cc4c3c(C)c2c1") -smiles(R"Cn1ccc2c(C)c3[nH]c4ccc(OCC(F)(F)F)cc4c3c(C)c2c1") -smiles(R"CN1C=Cc2ccccc2[C@@H]1[C@@H]([N+](=O)[O-])[C@@H]1N(C)C=Cc2ccccc12") -smiles(R"CN1C=Cc2ccccc2[C@@H]1[C@H]([N+](=O)[O-])[C@@H]1N(C)C=Cc2ccccc12") -smiles(R"CN1C/C(=C/c2cccs2)/[C@H](O)/C(=C\c2cccs2)/C1") -smiles(R"Cn1ccccc1") -smiles(R"C[n+]1ccccc1S[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"C[n+]1ccc(CCN[C@@H]2CC[C@H](CC2)/N=N/[C@H]2CC[C@@H](CC2)[N+](=O)[O-])cc1") -smiles(R"C[n+]1ccc(CCN[C@H]2CC[C@@H](CC2)/N=N/[C@@H]2CC[C@H](CC2)[N+](=O)[O-])cc1") -smiles(R"CN1CCC[C@H](C1)CN(C(=O)C)C12C[C@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"CN1CCC[C@@H](CNC23C[C@H]4C[C@@H](C[C@@H](C4)C3)C2)C1") -smiles(R"Cn1cccc(O)c1") -smiles(R"CN1CC[C@H](O)[C@H](CN[C@]23C[C@@H]4C[C@H](C[C@H](C4)C3)C2)C1") -smiles(R"CN1CC[C@H](O)[C@H](CN[C@@]23C[C@@H]4C[C@@H](C[C@H](C4)C3)C2)C1") -smiles(R"CN1CC[C@H](O)[C@H](CN[C@@]23C[C@H]4C[C@H](C[C@H](C4)C3)C2)C1") -smiles(R"C[N+]1(C)CC[S+]2CC[N+](C)(C)[Pt@@+]12Cl") -smiles(R"C[N+]1(C)CC[S+]2CC[N+](C)(C)[Pt@+]12Cl") -smiles(R"CN1C[C@H]2CN(C)C[C@@H](C1)C2") -smiles(R"CN1C[C@@H]2CN(C)C[C@H](C1)[C@@]2(O)c1ccccc1") -smiles(R"CN1C[C@@H](c2ccccc2)[C@@](Cl)([C@@H](C1)c1ccccc1)[C@@]1(CN(C)C[C@@H](c2ccccc2)C1=O)c1ccccc1") -smiles(R"CN1C[C@@H](c2ccccc2)[C@@H](OC(=O)C)[C@@H](C1)c1ccccc1") -smiles(R"Cn1cc[n+](c1)[Pt+2]12[n+]3ccccc3c3cccc(=c4cccc[n+]14)[n+]23") -smiles(R"Cn1cc[n+](c1)[Pt+2]12[n+]3ccccc3c3cccc(c4cccc[n+]14)[n+]23") -smiles(R"CN1CCN(CC1)c1ccc2nnc(Cl)n2n1") -smiles(R"CN1[C@@H]2CC[C@H]1C[C@]1(SCCS1)C2") -smiles(R"CN1[C@@H]2CC[C@H]1CC1(SCCS1)C2") -smiles(R"CN1[C@H](C)C[C@](C[C@H]1C)(c1ccccc1)c1ccccc1") -smiles(R"CN1CN(c2ccccc2)[C@]2(CCN(CCC[C@H]3Cc4ccccc4O3)CC2)C1=O") -smiles(R"C[n+]1cnn(C)n1") -smiles(R"CN1C(=O)/C(=c/2\sc3nc4ccccc4n3c2=O)/c2ccccc12") -smiles(R"CN1C(=O)[C@H]2[C@@H](C1=O)[C@@]1(O)c3ccccc3[C@]2(N)c2ccccc12") -smiles(R"CN1C(=O)[C@@H]2S/C(=N/Nc3ccccc3)/S[C@H]1C(=O)N2C") -smiles(R"Cn1c(=O)n2n(c1=O)[C@H]1[C@H]3[C@H]4[C@@H]2[C@]25COC[C@@]15[C@@H]3[C@@H]42") -smiles(R"Cn1c(=O)n(C)c(=O)c2c1nc1sc3ncccc3c(=O)n21") -smiles(R"CN1C(=S)[C@@]2([C@@H]1c1ccccc1)C(C)(C)CCCC2(C)C") -smiles(R"CN1NC=[N+](C)N1") -smiles(R"Cn1nnc(n1)c1nnn(C)n1") -smiles(R"CN[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"CN(c1ccccc1)[C@H]1C2=C(CCCC2)OC(=O)[C@@]21SCCCS2") -smiles(R"CN(c1ccccc1)C(=S)S(=O)(=O)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"CN(C)[C@]12CC[C@H](c3ccccc13)c1ccccc21") -smiles(R"CN(C)c1ccc(cc1)/C=c/1\c2ccccc2n2c1cc([n+]2C)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"CN(C)c1ccc(cc1)/C=c/1\c2ccccc2n2c1cc([n+]2C)C12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"CN(C)c1ccc(cc1)/C=C/1\CN(C/C(=C/c2ccc(cc2)N(C)C)/C1=O)C(=O)C") -smiles(R"CN(C)c1ccc(cc1)/C=C\1/C(=O)/C(=C\c2ccc(cc2)N(C)C)/c2ccccc12") -smiles(R"CN(C)c1ccc(cc1)/C=c/1\sc2nc3ccccc3n2c1=O") -smiles(R"CN(C)c1ccc(cc1)/C=c/1\sc2nc(=O)c(nn2c1=O)c1ccccc1NC(=O)C(F)(F)F") -smiles(R"CN(C)c1ccc(cc1)/C=c/1\sc2nnc(c3cccnc3)n2c1=O") -smiles(R"CN(C)c1ccc(cc1)/C=c/1\sc2nnc(c3ccco3)n2c1=O") -smiles(R"CN(C)c1ccc(cc1)/C=c/1\sc2nnc(Cc3ccccc3)n2c1=O") -smiles(R"CN(C)c1ccc(cc1)C[C@@H]1CC[C@H]2CCCC[C@H]12") -smiles(R"CN(Cc1ccccc1)[C@@H]1CC[C@H](CC1)C(=O)O") -smiles(R"CN(C)c1ccc(cc1)[C@@H]1O[C@]2(CCCCC2)C[N@@+]21CCCC2") -smiles(R"CN(C)c1ccc(cc1)[C@@H]1O[C@]2(CCCCC2)C[N@+]21CCCC2") -smiles(R"CN(C)c1ccc(cc1)[C@@H]1ON=C(c2ccccc2)N1[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"CN(C)c1ccc(cc1)/C=N/[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"CN(C)c1nc(nc(n1)N(C)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1)N(C)C") -smiles(R"CN(C)c1nc(nc(n1)N(C)C)N[C@@]12C[C@@H]3C[C@H](C[C@@H](C3)C2)C1") -smiles(R"CN(C)c1nnn(Cc2ccccc2)n1") -smiles(R"CN(C)C1=[S+][Cu@@]2(I)S3=C(SC(=[S+][Cu@@]3(I)S2=C(S1)N(C)C)N(C)C)N(C)C") -smiles(R"CN(C)C[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"CN(C)C[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"CN(C)CC12=C3C4=C5[C@-]61SSS[C@-]17C8=C9C%10=C1[Fe+2]23456789%10") -smiles(R"CN(C)CC12=C3C4=C5[C@-]61SSS[C@@-]17C8=C9C%10=C1[Fe+2]23456789%10") -smiles(R"CN(C)Cc1cc(cc(c2ccccc2)c1O)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"C[N+](C)(C)C[C@@]12C3=C4C5=C1[Fe]16782345[C@H]2C7=C6C1=C82") -smiles(R"CNCCC[C@]12C[C@H](c3ccccc13)c1ccccc21") -smiles(R"C[N+](C)(C)CCC[N@+]12CN3CN(CN(C3)C2)C1") -smiles(R"C[N+](C)(C)CCC[N+]1(C)CC[C@@]2(CCC[C@@H](C2)C(F)(F)F)CC1") -smiles(R"CN(C)CCCN1CC[C@@]2(CCC[C@@H](C2)C(F)(F)F)CC1") -smiles(R"CN(C)CCCN1CC[C@@]2(CCC[C@H](C)C2)CC1") -smiles(R"CN(C)CCCNc1ccc2nnn3c2c1c(=O)c1cc(ccc31)[N+](=O)[O-]") -smiles(R"CN(C)CCCNc1ccc2NNn3c2c1c(=O)c1cc(ccc31)[N+](=O)[O-]") -smiles(R"CN(C)CCCNc1ccc2nnn3c2c1c(=O)c1cc(O)ccc31") -smiles(R"CN(C)CCCNc1ccc2nnn3c4ccc(OC(=O)c5ccccc5)cc4c(=O)c1c23") -smiles(R"CN(C)CCCNc1ccc2nnn3c4ccc(OC(=O)c5ccc(cc5)[N+](=O)[O-])cc4c(=O)c1c23") -smiles(R"CN(C)CCCNc1ccc2NNn3c4ccc(OC(=O)c5ccc(cc5)[N+](=O)[O-])cc4c(=O)c1c23") -smiles(R"CN(C)C[C@@H]1C[C@@]2(OCCO2)C[C@H](CN(C)C)C1=O") -smiles(R"CN(C)C[C@@H]1CCC[C@]21OCCO2") -smiles(R"CN(C)C[C@@H]1CCCC[C@@]21OCCO2") -smiles(R"CN(C)C[C@@H]1CCC[C@@H](CN(C)C)/C/1=N\OC(=O)c1ccccc1") -smiles(R"CN(C)CC[N@@+]12CCC[N+]3=C(C)c4cccc5C(=[N+](CCC1)[Ni@+2]23[n+]45)C") -smiles(R"CN(C)CC[N@+]12CCC[N+]3=C(C)c4cccc5C(=[N+](CCC1)[Ni@@+2]23[n+]45)C") -smiles(R"CN(C)CC[N@@+]12CCCN3[C@H](C)c4cccc5[C@@H](C)N(CCC1)[Ni@@+3]23[n+]45") -smiles(R"CN(C)CC[N@+]12CCCN3[C@H](C)c4cccc5[C@@H](C)N(CCC1)[Ni@+3]23[n+]45") -smiles(R"CN(C)CCNc1ccc2ncnc3c4ccccc4C(=O)c1c23") -smiles(R"CN(C)CCNc1ccc2nnn3c2c1c(=O)c1ccccc31") -smiles(R"CN(C)CCNc1ccc2nnn3c2c1c(=O)c1cc(C)ccc31") -smiles(R"CN(C)CCNc1ccc2nnn3c2c1c(=O)c1cc(Cl)ccc31") -smiles(R"CN(C)CCNc1ccc2nnn3c2c1c(=O)c1cc(O)ccc31") -smiles(R"CN(C)CC/[N+](=C(/c1ccccc1)\[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)/[O-]") -smiles(R"CN(C)CC/[N+](=C(/c1ccccc1)\C12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)/[O-]") -smiles(R"CN(C)CCNC(=O)c1cccc2c(N[C@H](CCCNC(=N)N)C(=O)O)c3ccccc3n(C)c12") -smiles(R"CN(C)CCNC(=O)c1cccc2nc3c(nc12)c1ccccc1c1ccccc31") -smiles(R"CN(C)CCO[C@]1(CC[C@@H](CC1)C(C)(C)C)Cc1ccc(C)cc1") -smiles(R"CN(C)CCO[C@@]1(CC[C@H](CC1)C(C)(C)C)Cc1ccc(C)cc1") -smiles(R"CN(C)CCO[C@@]1(CC[C@H](CC1)C(C)(C)C)Cc1ccc(Cl)cc1Cl") -smiles(R"CN(C)CCO[C@]1(CC[C@@H](CC1)C(C)(C)C)Cc1ccc(F)cc1") -smiles(R"CN(C)CCO[C@@]1(CC[C@H](CC1)C(C)(C)C)Cc1ccc(F)cc1") -smiles(R"CN(C)CC(=O)C[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"CN(C)CCOC(=O)[C@@H]1C[C@]2(C1)C[C@@H](C2)C(=O)OCCN(C)C") -smiles(R"CNCCC(=O)NC[C@H]1[C@H](c2ccccc2)[C@H]1c1ccccc1") -smiles(R"CN(C)CCONC(=O)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"CN(C)[C@H]1C(C)(C)[C@@H](OC(=O)C(O)(c2ccccc2)c2ccccc2)C1(C)C") -smiles(R"CN(C)[C@H]1CC[C@@H](CC1)C[C@@H]1CCc2ccccc12") -smiles(R"CN(C)[C@H]1CC[C@@H](CC1)NC1=CC(=O)C(=CC1=O)N[C@H]1CC[C@@H](CC1)N(C)C") -smiles(R"CN(C)[C@H]1C(=C(C(=O)NC[N@@+]23CCO[B@-]3(OCC2)c2ccccc2C)C(=O)[C@]2(O)[C@@H]1C[C@H]1C(=C2O)C(=O)c2c(O)cccc2[C@]1(C)O)O") -smiles(R"CN(C)[C@H]1C(=C(C(=O)NC[N@+]23CCO[B@@-]3(OCC2)c2ccccc2C)C(=O)[C@]2(O)[C@@H]1C[C@H]1C(=C2O)C(=O)c2c(O)cccc2[C@]1(C)O)O") -smiles(R"CN(C)[C@H]1CS(=O)(=O)[C@@]21C[C@H]1c3ccccc3[C@@H]2c2ccccc12") -smiles(R"CNC[C@H](O)C[C@]12CC[C@H](c3ccccc13)c1ccccc21") -smiles(R"CN(C)/C=N/c1ccc2nonc2c1") -smiles(R"CN(C)/C(=N\c1ccccc1)/OC1=NC(=C/C/1=C/1\C=C(O/C(=N\c2ccccc2)/N(C)C)N=C1O/C(=N/c1ccccc1)/N(C)C)O/C(=N/c1ccccc1)/N(C)C") -smiles(R"CN(C)/C=N/[C@@H]1CC[C@H](CC1)CC1CCCCC1") -smiles(R"CN(C)/C=N/[C@H]1CC[C@@H](CC1)CC1CCCCC1") -smiles(R"CN(C)C(=O)[C@@H]1C[C@@]2(C1)C[C@H](C2)C(=O)N(C)C") -smiles(R"CN(C)C(=O)[C@@H]1CC[C@H](CC1)CC1CCCCC1") -smiles(R"CN(C)C(=O)[C@@H](c1ccccc1)[C@@H](c1ccccc1)[C@H](c1ccccc1)C(=O)N(C)C") -smiles(R"CN(C)C(=O)N1CN(c2ccccc2)[C@]2(CCN(CC2)C[C@H]2COc3ccccc3O2)C1=O") -smiles(R"CN(C)C(=O)O[C@@H]1[C@@](C)(C)[C@@H](OC(=O)N(C)C)[C@]1(C)C") -smiles(R"CN(C)C(=S)Nc1nnc(s1)N[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"CN(C)C(=S)S[C@@-]12C3=C4C5=C1[Fe+2]16782345C2=C7[C@-]8(SC(=S)N(C)C)C6=C12") # smiles(R"CN(C)C1=NC(=C2C=CC=C12)N(C)C") -smiles(R"CN(C)N1CC[C@@]2(CCC[C@@H](C2)C(F)(F)F)CC1") -smiles(R"CN(C(=O)[C@]12[C@H]3[C@H]4[C@]2(C(=O)O)[C@H]2[C@@H]1[C@]3(C(=O)O)[C@@]42C(=O)N(C)C(C)(C)C)C(C)(C)C") -smiles(R"CN(C(=O)[C@]12[C@@H]3[C@@H]4[C@H]1[C@H]1[C@@]4([C@@H]3[C@@]21C)C(=O)[C@]12[C@@H]3[C@@H]4[C@H]1[C@@H]1[C@H]2[C@H]3[C@]41C)C(C)(C)C") -smiles(R"CN(C(=O)[C@@]12[C@@H]3[C@@H]4[C@H]2[C@@H]2[C@H]1[C@H]3[C@]42C(=O)C(C)(C)C)C(C)(C)C") -smiles(R"CN(C(=O)[C@@]12[C@@H]3[C@@H]4[C@H]2[C@@H]2[C@H]1[C@H]3[C@]42C(=O)N)C(C)(C)C") -smiles(R"CN(C(=O)[C@]12[C@@H]3[C@H]4[C@@H]5[C@H]([C@@H]14)[C@]2([C@H]35)C(=O)[C@@]12[C@H]3[C@@H]4[C@@H]5[C@H]3[C@H]2[C@@H]5[C@H]14)C(C)(C)C") -smiles(R"CNC(=O)[C@]12C(=O)NC(=O)[C@@]1(C(=O)O)[C@@]12CCCC1") -smiles(R"CNC(=O)[C@@]1(C#N)[C@H](c2ccccc2)[C@](C#N)(C(=O)NC)[C@@H]1c1ccccc1") -smiles(R"CNC(=O)[C@@H]1CC[C@H](CC1)CC1CCCCC1") -smiles(R"CNC(=O)[C@H]1CC[C@@H](CC1)CC1CCCCC1") -smiles(R"CNC(=O)NCCN1C[C@@H]2CC[C@@H](CC2)C1") -smiles(R"CNC(=O)N(C)/N=N/C[C@H]1CC[C@H](C/N=N/N(C)C(=O)NC)CC1") -smiles(R"CNC(=O)O/N=C\1/CC[C@@H](CC1)CC1CCCCC1") -smiles(R"CN(C)S(=O)(=O)/N=C/1\C=C/C(=N\S(=O)(=O)N(C)C)/C=C1") -smiles(R"CN/C(=[S+]\[Rh@@](Cl)(C#[O+])/[S+]=C(\NC)/P(c1ccccc1)c1ccccc1)/P(c1ccccc1)c1ccccc1") -smiles(R"CN(/N=C/c1ccccc1)[C@@H](N(C)/N=C\c1ccccc1)c1ccccc1") -smiles(R"CN(/N=C/c1ccccc1Cl)[C@H](N(C)/N=C\c1ccccc1Cl)c1ccccc1Cl") -smiles(R"CN(/N=C\C=N\N(C)CCc1nnnn1C)CCc1nnnn1C") -smiles(R"CO[C@@]1(c2ccccc2)c2cc3ccccc3cc2[C@@](OC)(c2ccccc2)c2cc3ccccc3cc12") -smiles(R"COC1=c2ccccc2=c2ccccc2=c2ccccc2=N1") -smiles(R"COc1cc2c(c3c1c(=O)c1ccccc1n3C)c(=O)c1ccccc1n2C") -smiles(R"COc1cc2cc(ccc2cc1OC)/C(=N\N=C(/C)\c1ccc2cc(OC)c(OC)cc2c1)/C") -smiles(R"COc1cc2c(cc[n+]3cc4c(ccc5ccccc45)cc23)cc1OC") -smiles(R"COc1cc2c(CN3Cc4cc(O)c(OC)cc4[C@H]2C3)cc1O") -smiles(R"COc1cc2c(oc(=O)c3c2c(OC)cc2ccoc32)c2cccc(O)c12") -smiles(R"COc1cc2c(oc(=O)c3c2c(OC)cc2ccoc32)c2cccc(OCc3ccccc3)c12") -smiles(R"COc1cc2c(oc(=O)c3c2c(OC)cc2cc(oc32)[Si](C)(C)C)c2cccc(OCc3ccccc3)c12") -smiles(R"COc1cc(Br)c2nsnc2c1") -smiles(R"COc1ccc2c(c1)[C@]13CCCC[C@@H]3[C@H](N(C)CC1)[C@@]12CC1") -smiles(R"COc1ccc2c(c1)c(=O)c1c(NCCN(C)C)ccc3nnn2c13") -smiles(R"COc1ccc2c(c1)nc1c(c3cccc4ccc(OC)c1c34)/n/2=N\C(=O)CBr") -smiles(R"COc1ccc2c(c1)[n+]([O-])c(C(=O)C/C(=N/OCCCc1ccccc1)/C(=O)N[C@]13C[C@@H]4C[C@@H](C[C@@H](C4)C3)C1)c(C)[n+]2[O-]") -smiles(R"COc1ccc2c(c1)[n+]([O-])c(C(=O)C/C(=N/OCCCc1ccccc1)/C(=O)NC13C[C@@H]4C[C@@H](C[C@@H](C4)C3)C1)c(C)[n+]2[O-]") -smiles(R"COc1ccc2c(CCC3=C2CC[C@H]2[C@@H]3C(=O)CC[C@]32OCCCO3)c1") -smiles(R"COc1ccc2C[C@H]3N(C)CC[C@@]4(C[C@]5(OCCO5)CC[C@H]34)c2c1Oc1ccc(cc1[N+](=O)[O-])[N+](=O)[O-]") -smiles(R"COc1ccc2C[C@H]3N(C)CC[C@@]4(C[C@@]5(OCCO5)CC[C@H]34)c2c1Oc1ccc(cc1[N+](=O)[O-])[N+](=O)[O-]") -smiles(R"COc1ccc2c(no[n+]2[O-])c1") -smiles(R"COc1ccc2nc3cc(Cl)ccc3c(NCCCN3CCN(CCCNc4ccc5nnn6c7ccccc7c(=O)c4c56)CC3)c2c1") -smiles(R"COc1ccc2nc3C(=O)c4cccnc4c4nccc(c34)c2c1") -smiles(R"COc1ccc2nccc(/C=C\3/N4CC[C@@H](CC4)[C@@H]3OC(=O)c3ccc(cc3)[N+](=O)[O-])c2c1") -smiles(R"COc1ccc2nccc(/C=C\3/N4CC[C@H](CC4)[C@@H]3OC(=O)c3ccc(cc3)[N+](=O)[O-])c2c1") -smiles(R"COc1ccc2nccc([C@H](O)[C@@H]3C[C@@H]4CCN3C[C@@H]4C=C)c2c1") -smiles(R"COc1ccc2nc(O)cc(/C=C/3\N4CC[C@H](CC4)C3=O)c2c1") -smiles(R"COc1ccc2[nH]c3cc4c(cc3c(=O)c2c1)[nH]c1ccc(OC)cc1c4=O") -smiles(R"COc1ccc2[nH]c3c(C)c4ccn5c(cc6ccccc6c5=O)c4c(C)c3c2c1") -smiles(R"COc1ccc2[nH]c3c(C)c4ccnc(NCCCN(C)CCCNc5ccc6nnn7c8ccccc8c(=O)c5c67)c4c(C)c3c2c1") -smiles(R"COc1ccc2[nH]c3c(C)c4ccn(COC(=O)c5ccccc5)cc4c(C)c3c2c1") -smiles(R"COc1ccc2[nH]cc(C(=O)C(=O)N[C@@]34C[C@H]5C[C@H](C[C@H](C5)C4)C3)c2c1") -smiles(R"COc1ccc2nonc2c1") -smiles(R"COc1ccc2[N+]([O-])ONc2c1") -smiles(R"COc1ccc2n[se]nc2c1") -smiles(R"COc1ccc2O[C@@H](CN3CC[C@]4(CC3)C(=O)NCN4c3ccccc3)Cc2c1") -smiles(R"COc1cccc2C(=O)c3c(O)c4C[C@](O)(C[C@H](O[C@H]5C[C@H](N)[C@H](O)[C@H](C)O5)c4c(O)c3C(=O)c12)C1(C)OC[C@](C)(C)CO1") -smiles(R"COc1ccc(cc1)[B@-]12OCC[N@@+]2(CCO1)CNC(=O)c1ccccc1O") -smiles(R"COc1ccc(cc1)[B@@-]12OCC[N@+]2(CCO1)CNC(=O)c1ccccc1O") -smiles(R"COc1cccc(c1)[B@-]12OCC[N@@+]2(CCO1)CNC(=O)c1ccccc1O") -smiles(R"COc1cccc(c1)[B@@-]12OCC[N@+]2(CCO1)CNC(=O)c1ccccc1O") -smiles(R"COc1cccc(c1)[B@-]12OCC[N@@+]2(CCO1)CNC(=O)C1=C(O)[C@H](N(C)C)[C@H]2C[C@H]3C(=C(O)[C@]2(O)C1=O)C(=O)c1c(O)cccc1[C@]3(C)O") -smiles(R"COc1cccc(c1)[B@@-]12OCC[N@+]2(CCO1)CNC(=O)C1=C(O)[C@H](N(C)C)[C@H]2C[C@H]3C(=C(O)[C@]2(O)C1=O)C(=O)c1c(O)cccc1[C@]3(C)O") -smiles(R"COc1ccccc1[B@-]12OCC[N@@+]2(CCO1)CNC(=O)C1=C(O)[C@H](N(C)C)[C@H]2C[C@H]3C(=C(O)[C@]2(O)C1=O)C(=O)c1c(O)cccc1[C@]3(C)O") -smiles(R"COc1ccccc1[B@@-]12OCC[N@+]2(CCO1)CNC(=O)C1=C(O)[C@H](N(C)C)[C@H]2C[C@H]3C(=C(O)[C@]2(O)C1=O)C(=O)c1c(O)cccc1[C@]3(C)O") -smiles(R"COc1ccccc1[C@@]12c3ccccc3[C@@]2(O)c2ccccc12") -smiles(R"COc1ccc(cc1)[C@@]12c3ccccc3[C@H]2c2ccccc12") -smiles(R"COc1ccc(cc1)[C@]12c3ccc(OC)cc3C[C@]2(Cc2cc(OC)ccc12)c1ccc(cc1)[N+](=O)[O-]") -smiles(R"COc1ccc(cc1)[C@@]12c3ccc(OC)cc3C[C@@]2(Cc2cc(OC)ccc12)c1ccc(cc1)[N+](=O)[O-]") -smiles(R"COc1ccc(cc1)[C@]1(Cl)[C@@](Cl)(C(F)(F)F)[C@]1(Cl)C(F)(F)F") -smiles(R"COc1ccc(cc1)c1nnn(n1)/C(=N/O)/c1c(C)cc(OC)cc1C") -smiles(R"COc1cccc(c1)[C@@]1(O)CCCC[C@H]1[N@@H+]1CC[C@@]2(CC1)C(=O)NC[C@H]2c1ccccc1") -smiles(R"COc1ccc(cc1)Cc1nnc2nc(OC)c(c3ccc(OC)cc3)n2n1") -smiles(R"COc1ccc(cc1)/C=c\1/sc2nc(nn2c1=O)c1ccccc1") -smiles(R"COc1ccc(cc1)/C=c/1\sc2=NN[C@@]3(CC[C@H](C)CC3)Nn2c1=O") -smiles(R"COc1ccc(cc1)/C=c/1\sc2nnc(CCC(=O)Nc3cccc(c3)C(F)(F)F)n2c1=O") -smiles(R"COc1ccc(cc1)CC[C@@]1(C)OC[C@@](C)(CC)CO1") -smiles(R"COc1ccc(cc1)C#C[C@]1(O)c2ccccc2[C@](O)(C#Cc2ccc(OC)cc2)c2ccccc12") -smiles(R"COc1ccc(cc1)/C=C/C(=O)[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"COc1ccc(cc1)/C=C/C(=O)[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"COc1ccc(cc1)[C@@H]1C2=C(C[C@@H](CC2=O)c2ccccc2)NC2=C1C(=O)C[C@H](C2)c1ccccc1") -smiles(R"COc1cccc(c1)[C@@H]1C[C@]21C(=O)NC(=O)NC2=O") -smiles(R"COc1cccc(c1)[C@@H]1C[C@@H]([NH2+]CC2CC2)C1") -smiles(R"COc1ccccc1[C@@H]1CC(=O)C[C@@H](c2ccccc2OC)[C@@]21C(=O)NC(=S)NC2=O") -smiles(R"COc1ccc(cc1)[C@@H]1CC(=O)C[C@@H](c2ccc(OC)cc2)[C@@]21C(=O)c1ccccc1C2=O") -smiles(R"COc1ccc(cc1)[C@H]1CC(=O)C[C@H](c2ccc(OC)cc2)[C@]21C(=O)CCCC2=O") -smiles(R"COc1ccc(cc1)[C@H]1CC(=O)C[C@@H](c2ccc(OC)cc2)[C@@]21C(=O)NC(=O)NC2=O") -smiles(R"COc1ccc(cc1)[C@H]1CC(=O)C[C@@H](c2ccc(OC)cc2)[C@@]21C(=O)NC(=S)NC2=O") -smiles(R"COc1cccc(c1)[C@@H]1[C@H](C#N)C(=O)NC(=O)[C@H]1C#N") -smiles(R"COc1ccc(cc1)[C@H]1OC[C@@](C)(CC)CO1") -smiles(R"COc1ccc(cc1)[C@H]1O[C@H]1C(=O)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"COc1ccccc1[C@@H]1O[C@H](C[C@]2(CC(=C)C(=O)O2)C1)c1ccccc1OC") -smiles(R"COc1ccc(cc1)[C@H]1O[C@H](C)[C@@H](C)O1") -smiles(R"COc1ccccc1[C@@H]1O[C@@H](C)[C@H](C)O1") -smiles(R"COc1cccc(c1)[C@@H]1ON=C(c2ccccc2)N1[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"COc1ccccc1[C@@H](C#N)N1CCCN([C@@H]1c1ccccc1)[C@H](C#N)c1ccccc1OC") -smiles(R"COc1ccccc1[C@@H](C#N)N1CCCN([C@H](C#N)c2ccccc2OC)[C@@H]1c1cccc(OC)c1O") -smiles(R"COc1ccc(cc1)[C@@H](C#N)N1CCCN([C@H](C#N)c2ccc(OC)cc2)[C@H]1c1ccccc1OC") -smiles(R"COc1ccc(cc1)[C@@H](C#N)N1CCCN([C@H](C#N)c2ccc(OC)cc2)[C@@H]1c1cccc(OC)c1O") -smiles(R"COc1ccccc1[C@H](C(=O)N[C@@H]1CN2CC[C@H]1CC2)c1ccsc1") -smiles(R"COc1ccc(cc1)[C@H](/N=C/c1ccc(OC)cc1)/N=C/c1ccc(OC)cc1") -smiles(R"COc1ccc(cc1)[C@H](OC/C=C(/C)\CCC=C(C)C)OC/C=C(/C)\CCC=C(C)C") -smiles(R"COc1ccc(cc1)[C@H](OC[C@@H]1C[C@H]2CC[C@@H]1C2)OC[C@@H]1C[C@H]2CC[C@@H]1C2") -smiles(R"COc1ccc(cc1)[C@H](OC[C@H]1C[C@@H]2C=C[C@H]1C2)OC[C@H]1C[C@@H]2C=C[C@H]1C2") -smiles(R"COc1ccc(cc1)Cn1cccc(O)c1") -smiles(R"COc1ccc(cc1)/C=N/[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"COc1ccccc1/C=N/[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"COc1ccc(cc1)CN(CCCCCCN(Cc1ccc(OC)cc1)C[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1)C[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"COc1ccc(cc1)CN[C@H](C)C[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"COc1ccc(cc1)/C=N/N(C)CN(C)/N=C\c1ccc(OC)cc1") -smiles(R"COc1ccccc1/C=N/N/C(=N/N=C/c1ccccc1OC)/N/N=C/c1ccccc1OC") -smiles(R"COc1ccccc1/C=N/N/C(=N)/N/N=C\c1ccccc1OC") -smiles(R"COc1ccccc1/C=N/NC(=S)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"COc1ccc(cc1)C(=O)/C=C/[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"COc1ccc(cc1)C(=O)/C=C/[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"COc1cccc(c1)C(=O)/C=C/[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"COc1cccc(c1)C(=O)/C=C/[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"COc1ccc(cc1)C(=O)C[N@@+]12CN3CN(CN(C3)C2)C1") -smiles(R"COc1ccccc1N1C(=O)[C@H]2[C@@H]3c4ccccc4[C@](OC(=O)C)([C@H]2C1=O)c1ccccc31") -smiles(R"COc1cccc(c1)N1C(=O)[C@@H]2[C@H](C1=O)[C@]1(Cl)C(=C(Cl)[C@@]2(Cl)[C@@]1(Cl)Cl)Cl") -smiles(R"COc1ccccc1N1C(=O)[C@@H]2[C@H](C1=O)[C@@]1(Cl)C(=C(Cl)[C@]2(Cl)[C@@]1(Cl)Cl)Cl") -smiles(R"COc1ccc(cc1/N=C/c1ccc(cc1)N1CC[C@]2(CCCCC2)CC1)c1csc(Cc2ccccc2)n1") -smiles(R"COc1ccccc1N/C(=C/C(=O)C(=O)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)/c1ccccc1") -smiles(R"COc1cccc(c1)NC(=O)CC(=O)N1N=C(C)[C@@H](/N=N/c2ccc(cc2)[S@@](=O)(=O)c2ccc(/N=N/[C@@H]3C(=NN(C(=O)CC(=O)Nc4cccc(OC)c4)C3=O)C)cc2)C1=O") -smiles(R"COc1ccccc1NC(=O)[C@@H](C(=O)C)[C@@H](c1cccc(c1)[N+](=O)[O-])[C@H](C(=O)C)C(=O)Nc1ccccc1OC") -smiles(R"COc1ccccc1NC(=O)[C@@H](C(=O)C)[C@H](c1cccc(c1)[N+](=O)[O-])[C@H](C(=O)C)C(=O)Nc1ccccc1OC") -smiles(R"COc1ccc(cc1)NC(=O)N1C[C@H]2CCN1CC2") -smiles(R"COc1ccccc1NC(=O)OC[C@@]12COCN2COC1") -smiles(R"COc1ccc(cc1)[NH+]1CCN(CC1)C[C@@H](O)COCC[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"COc1cc(ccc1OC)[C@]12CCN([C@@H]2[C@@H](CO)C2(OC[C@](C)(C)CO2)CC1)S(=O)(=O)c1ccc(C)cc1") -smiles(R"COc1cc(ccc1OC)[C@]1(CCC2(C=C)OC[C@](C)(C)CO2)CN(=O)O[C@@H](O[C@H]2CCCC[C@H]2C(C)(C)c2ccccc2)C1") -smiles(R"COc1c(cccc1OC)/C=C/1\COC/C(=C/c2cccc(OC)c2OC)/C1=O") -smiles(R"COc1cc(ccc1OC)/C=C\1/C(=O)OC(=O)/C1=C\c1ccc(OC)c(OC)c1") -smiles(R"COc1cc(ccc1OC)/C=C/C(=O)[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"COc1cc(ccc1OC)/C=C/C(=O)[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"COc1ccc(cc1OC)[C@@H]1[C@@H]2C(=O)NC(=O)[C@H]1C(=O)NC2=O") -smiles(R"COc1cc(ccc1OC)[C@@H]1OC[C@@]2(CO)CO[C@@H](c3ccc(OC)c(OC)c3)N12") -smiles(R"COc1ccc(cc1OC)[C@@H](/N=C/c1ccc(OC)c(OC)c1)/N=C/c1ccc(OC)c(OC)c1") -smiles(R"COc1cc(ccc1OC)C(=O)/C=C/[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"COc1cc(ccc1OC)C(=O)/C=C/[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"COc1cc(ccc1O)[C@@H]1OC[C@]2(CO)CO[C@@H](c3ccc(O)c(OC)c3)N12") -smiles(R"COc1cc(ccc1O)[C@@H]1SCCCCCCCCCCS[C@H](SCCCCCCCCCCS1)c1ccc(O)c(OC)c1") -smiles(R"COc1cc(ccc1O)[C@H](/N=C/c1ccc(O)c(OC)c1)/N=C/c1ccc(O)c(OC)c1") -smiles(R"COc1cc(ccc1OC)Nc1c2ccccc2n2c(c1C#N)n(C)c1ccccc21") -smiles(R"COc1cc(ccc1O)C(=O)/C=C/[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"COc1cc(ccc1O)C(=O)/C=C/[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"COc1ccc(cc1)P1(=[S+][Ni]2(S1)(SP(=[S+]2)(c1ccc(OC)cc1)c1ccc(OC)cc1)(N1CC[C@@H](C)CC1)N1CC[C@H](C)CC1)c1ccc(OC)cc1") -smiles(R"COc1ccc(cc1)S(=O)(=O)NC(=O)N[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"COc1cccc(CCNc2c3cccnc3n3c(c2C#N)n(C)c2ccccc32)c1") -smiles(R"COc1cccc([C@@H](/N=C/c2cccc(OC)c2O)/N=C/c2cccc(OC)c2O)c1O") -smiles(R"COc1cccc(/C=N/[C@]23C[C@@H]4C[C@@H](C[C@@H](C4)C3)C2)c1") -smiles(R"COc1cccc(/C=N/NC(=O)[C@@H]2CCN(CC2)C(=S)N[C@@H]2C[C@@H]3C=C[C@H]2C3)c1O") -smiles(R"COc1cccc(/C=N/NC(=S)N[C@@H]2CN3CC[C@@H]2CC3)c1OC") -smiles(R"COc1ccc(Cl)cc1N1C(=O)[C@H]2[C@@H](C1=O)[C@@]1(Cl)C(=C(Cl)[C@]2(Cl)[C@]1(Cl)Cl)Cl") -smiles(R"COc1ccc(/C=N/N2CN(B(NC2=N)N[C@@]23C[C@H]4C[C@H](C[C@H](C4)C3)C2)[C@@H](C)C(=O)O)cc1OC") -smiles(R"COc1ccc(/C=N/N/C(=N)/N/N=C\c2ccc(OC)cc2)cc1") -smiles(R"COc1ccc(/C=N/NC(=S)N[C@]23C[C@@H]4C[C@@H](C[C@@H](C4)C3)C2)cc1OC") -smiles(R"COc1ccc(c(OC)c1)[C@H]1CC(=O)C[C@@H](c2ccc(OC)cc2OC)[C@]21C(=O)c1ccccc1C2=O") -smiles(R"COc1ccc(c(OC)c1)N1C(=O)[C@@H]2[C@H](C1=O)[C@@]1(Cl)C(=C(Cl)[C@]2(Cl)[C@@]1(Cl)Cl)Cl") -smiles(R"COc1cc(cc(OC)c1OC)[C@H]1[C@H](C(=O)OC/C=C/c2ccc3OCOc3c2)[C@@H](c2cc(OC)c(OC)c(OC)c2)[C@H]1C(=O)OC/C=C/c1ccc2OCOc2c1") -smiles(R"COc1cc(cc(OC)c1OC)[C@H]1N2CCCN1CC2") -smiles(R"COC1=CC(=C(C(=O)[C@@H]2[C@H](c3ccccc3)[C@H]([C@H]2c2ccccc2)C(=O)C2=C(O)C=C(OC)C(C)(C)C2=O)C(=O)C1(C)C)O") -smiles(R"COc1cc(/C=N/c2ccc(cc2)c2csc(n2)c2ccc(Cl)cc2)ccc1N1CC[C@@]2(CCCCC2)CC1") -smiles(R"COc1ccc(NC(=O)C)c2c1[nH]c1c(c(=O)c3[nH]c4c(OC)ccc(NC(=O)C)c4c(=O)c3c1=O)c2=O") -smiles(R"COc1cc(/C=N/N=C\c2ccc(OC)c(OC)c2)ccc1OC") -smiles(R"COc1cc(/C=N\NC(=S)N[C@H]2CN3CC[C@@H]2CC3)ccc1OC") -smiles(R"COc1ccc(OC)c2c(cc(nc12)c1ccc(Cl)cc1)[C@@H](O)CN[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"COc1ccnc2c1C(=O)c1nc3ccccc3c3ccnc2c13") -smiles(R"COc1cc(N[C@H](C)CCCN[C@@H]2CN3CC[C@H]2CC3)c2ncccc2c1") -smiles(R"COc1cc(O)c2c(=O)cc(oc2c1)[C@]1(C=C[C@H](C=C1)O[C@@H]1O[C@@H](CO)[C@H](O)[C@H](O)[C@@H]1O)OC(=O)C") -smiles(R"COc1cc(OC)c2ssc3c(OC)cc(OC)c4ssc1c2c34") -smiles(R"COc1cc(OC)cc(c1)C[N@@+]12CC[N@+](CC1)(Cc1cc(OC)cc(OC)c1)C2") -smiles(R"C/[O+]=C/1\C=C(OC)/C(=C\c2c(OC)cc(OC)cc2OC)/C(=C1)OC") -smiles(R"COc1cc(OC)c(/C=N/NC(=S)N[C@]23C[C@@H]4C[C@@H](C[C@@H](C4)C3)C2)c(OC)c1") -smiles(R"COc1cc(O)c(/C=N/NC(=S)N[C@]23C[C@@H]4C[C@@H](C[C@@H](C4)C3)C2)c(OC)c1") -smiles(R"COC1[CH]C(/N=N/C2[CH][CH][CH]C([CH]2)S(=O)(=O)O)[CH][CH]C1/N=N/C1[CH][CH]C(/C=C\C2[CH][CH]C([CH]C2S(=O)(=O)O)N2ON2C2[CH][CH]C(/C=C/C3[CH][CH]C(/N=N/C4[CH][CH]C(/N=N/C5[CH][CH][CH]C([CH]5)S(=O)(=O)O)[CH]C4OC)[CH]C3S(=O)(=O)O)C([CH]2)S(=O)(=O)O)C([CH]1)S(=O)(=O)O") -smiles(R"COc1c(N2CCCCC2)c2c(=O)c3ccccc3oc2c2c3ccccc3n(C)c12") -smiles(R"COc1c(OC)cc2CCN[C@H]3C[C@]4(C=CC(=O)C=C4)c1c23") -smiles(R"COc1c(OC)cc2CCN(C(=O)C)[C@H]3C[C@]4(C=CC(=O)C=C4)c1c23") -smiles(R"COc1c(OC)cc(cc1OC)[C@H]1CC(=O)C[C@@H](c2cc(OC)c(OC)c(OC)c2)[C@]21C(=O)c1ccccc1C2=O") -smiles(R"COc1c(OC)cc(cc1OC)C(=O)N1C[C@H]2CC[C@H](CC2)C1") -smiles(R"COc1c(OC)cc(/C=C/2\N3CC[C@H](CC3)C2=O)cc1OC") -smiles(R"COc1c(OC)cc(C[C@@H]2N3CC[C@H](CC3)[C@@H]2O)cc1OC") -smiles(R"COc1nc2cc3c(oc4ccccc34)cc2n2cccc12") -smiles(R"CO[C@]1(N/C(=N)/N[C@@]1(OC)c1ccccc1)c1ccccc1") -smiles(R"CO[C@]1(O[C@]21CCCC2)c1ccc(Cl)cc1") -smiles(R"CO[C@@]1(O[C@@]21CCN(C)CC2)c1ccc(C)cc1") -smiles(R"CO[C@]1(OC)[C@@]2(Cl)C3=CCCC=C3[C@]1(Cl)C(=C2Cl)Cl") -smiles(R"CO[C@]1(OC)[C@]2(Cl)[C@@H]3CCCC[C@@H]3[C@@]1(Cl)C(=C2Cl)Cl") -smiles(R"CO[C@]1(OC)[C@@]2(Cl)[C@@H]3C=CC=C[C@H]3[C@]1(Cl)C(=C2Cl)Cl") -smiles(R"CO[C@]1(OC)[C@@]2(Cl)[C@H]3[C@@H]4[C@@]5(OC(=O)C)[C@@H]6[C@H]([C@]3(OC(=O)C)C5=O)[C@@]2(Cl)[C@]6(Cl)[C@]14Cl") -smiles(R"CO[C@]1(OC)[C@@]2(Cl)[C@H]3COC[C@@H]3[C@]1(Cl)C(=C2Cl)Cl") -smiles(R"CO[C@@]1(OC)[C@]2(Cl)[C@H]3C(=O)[C@@H]4[C@@H]5C(=O)[C@H]3[C@@]1(Cl)[C@]5(Cl)[C@]24Cl") -smiles(R"CO[C@@]1(OC)[C@@H]2C=C[C@H]1[C@H]1[C@@H]2[C@@H]2[C@H]1[C@@H]1C=C[C@H]2C1(OC)OC") -smiles(R"COC[C@]1(COC)CCN(CC1)[C@H]1C[C@@H](O[C@@H](C)[C@H]1O)O[C@H]1C[C@@](O)(Cc2c1c(O)c1c(c2O)C(=O)c2cccc(OC)c2C1=O)C(=O)C") -smiles(R"COCCc1nnn(C)n1") -smiles(R"COCCC[Ti]12345678(Cl)(C9=C3C2=C1[C@H]49)C1=C6C7=C5[C@@H]81") -smiles(R"COC[C@H]1C(=O)c2cc3OCOc3cc2[C@@]21C=C[C@]1(OCCO1)C=C2") -smiles(R"COCCN(CCOC)C(=O)c1ccc2c(no[n+]2[O-])c1") -smiles(R"COCCN(CCOC)C(=O)c1ccc2c(NO[N+]2[O-])c1") -smiles(R"COCCN[C@@H]1CC[C@@]2(SCCS2)c2[nH]c3ccccc3c12") -smiles(R"COCCNC(=O)c1ccc2c(no[n+]2[O-])c1") -smiles(R"COCCNC(=O)c1ccc2c(NO[N+]2[O-])c1") -smiles(R"COCCN(C(=O)c1ccccc1)[C@@H]1CC[C@]2(SCCS2)c2[nH]c3ccccc3c12") -smiles(R"COCCN(C(=O)C)[C@@H]1CC[C@]2(SCCS2)c2[nH]c3ccccc3c12") -smiles(R"COCC(=O)[C@@H](C(=O)C)[C@@H](c1ccc2OCOc2c1)[C@H](C(=O)C)C(=O)COC") -smiles(R"COCC(=O)[C@@H](C(=O)C)[C@@H](c1ccc(cc1)N(C)C)[C@H](C(=O)C)C(=O)COC") -smiles(R"COCC(=O)[C@H](C(=O)C)[C@@H](c1ccccn1)[C@@H](C(=O)C)C(=O)COC") -smiles(R"COCC(=O)[C@H](C(=O)C)[C@@H](c1ccc(OC)cc1)[C@@H](C(=O)C)C(=O)COC") -smiles(R"COCC(=O)[C@@H](C(=O)C)[C@@H](c1ccncc1)[C@H](C(=O)C)C(=O)COC") -smiles(R"COC(F)(F)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"CO[C@H]1CC[C@@]2(CC1)CN(O)[C@@]1(CC[C@@H](OC)C=C1)/C/2=N\O") -smiles(R"CO[C@H]1CCC[C@@]2(CN/C(=N)/NC2)C(=O)OC1") -smiles(R"CO[C@@H]1CCCC/C(=N\NC(=O)N)/CCCC1") -smiles(R"CO[C@@H]1CC[C@@H]2C[C@@]3(OCCO3)CC[C@]2(C)[C@@H]1O") -smiles(R"CO[C@H]1CC[C@H](CC1)/C(=C/[C@H]1CC[C@@H](CC1)N(C)C)/C#N") -smiles(R"CO[C@@H]1CC[C@@H](CC1)/C(=C/[C@H]1CC[C@H](CC1)NC(=O)C)/C#N") -smiles(R"CO[C@H]1CC[C@@H](CC1)/C(=C/[C@@H]1CC[C@@H](OC)[C@H](OC)C1)/C#N") -smiles(R"CO[C@@H]1CC[C@H](CC1)/C=C(\C#N)/[C@H]1CC[C@H](CC1)[N+](=O)[O-]") -smiles(R"CO[C@H]1CC[C@@H](CC1)/C=C(\C#N)/[C@H]1CC[C@H](CC1)[N+](=O)[O-]") -smiles(R"CO[C@H]1CC[C@@H](CC1)/C=C(\C#N)/[C@@H]1CC[C@H](C)CC1") -smiles(R"CO[C@@H]1CC[C@@H](CC1)/C=C(\C#N)/[C@@H]1CC[C@@H](OC)CC1") -smiles(R"CO[C@H]1CC[C@@H](CC1)[C@@H]1CCCC[C@@]1(O)CC(=O)OC") -smiles(R"CO[C@H]1CC[C@@H](CC1)[C@](O)(C(=O)O)C1CCCCC1") -smiles(R"CO[C@@H]1CC[C@@H](CC1)NC(=O)N(N=O)[C@H]1CC[C@H](OC)CC1") -smiles(R"CO[C@@H]1CC[C@@H](C=O)CC1") -smiles(R"CO[C@@H]1CC[C@@H](OC)[C@@H](C1)[C@]1(OC(=O)c2ccccc12)[C@@H]1C[C@H](OC)CC[C@H]1OC") -smiles(R"CO[C@H]1C[C@@H](O)O[C@H]1[C@H](NC(=O)C)S[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"CO[C@H]1CCN(CC1)[C@H]1C[C@H](O[C@@H](C)[C@H]1O)O[C@@H]1C[C@@](O)(Cc2c1c(O)c1c(c2O)C(=O)c2cccc(OC)c2C1=O)C(=O)CO") -smiles(R"CO[C@@H]1C=CO[C@]2(C)Oc3c(C)c(O)c4c(O)c(NC(=O)C(=CC=C[C@@H](C)[C@H](O)[C@H](C)[C@H](O)[C@H](C)[C@H](OC(=O)C)[C@H]1C)C)cc(N1CC[C@@H](C)CC1)c4c3C2=O") -smiles(R"CO[C@@H]1C=CO[C@]2(C)Oc3c(C)c(O)c4c(O)c(NC(=O)C(=CC=C[C@@H](C)[C@H](O)[C@H](C)[C@H](O)[C@H](C)[C@H](OC(=O)C)[C@H]1C)C)c(CN1CC[C@H](C)CC1)c(O)c4c3C2=O") -smiles(R"CO[C@@H]1C=CO[C@]2(C)Oc3c(C)c(O)c4c(O)c(NC(=O)C(=CC=C[C@@H](C)[C@H](O)[C@H](C)[C@H](O)[C@H](C)[C@H](OC(=O)C)[C@H]1C)C)c(/C=N/N1CC[C@H](CC1)N1CCCCC1)c(O)c4c3C2=O") -smiles(R"CO[C@@H]1C=CO[C@]2(C)Oc3c(C)c(O)c4c(O)c(NC(=O)C(=CC=C[C@@H](C)[C@@H](O)[C@@H](C)[C@@H](O)[C@H](C)[C@@H](OC(=O)C)[C@@H]1C)C)c(/C=N/N(C)[C@]15C[C@@H]6C[C@@H](C[C@@H](C6)C5)C1)c(O)c4c3C2=O") -smiles(R"CO[C@@H]1C=CO[C@]2(C)Oc3c(C)c(O)c4c(O)c(NC(=O)C(=CC=C[C@@H](C)[C@@H](O)[C@@H](C)[C@@H](O)[C@H](C)[C@@H](OC(=O)C)[C@@H]1C)C)c(/C=N/N(Cc1ccccc1)[C@]15C[C@@H]6C[C@@H](C[C@@H](C6)C5)C1)c(O)c4c3C2=O") -smiles(R"CO[C@@H]1C=CO[C@]2(C)Oc3c(C)c(O)c4c(O)c(NC(=O)C(=CC=C[C@@H](C)[C@H](O)[C@H](C)[C@H](O)[C@H](C)[C@H](OC(=O)C)[C@H]1C)C)cc(OCC(=O)N1CC[C@](O)(CC1)Cc1ccccc1)c4c3C2=O") -smiles(R"CO[C@@H]1[C@H]2O[C@@H](O[C@@H]2[C@@H](OC)[C@H]2[C@H]1[C@@H]1c3ccccc3[C@H]2c2ccccc12)c1ccccc1") -smiles(R"CO[C@@H]1[C@H](Cl)C[C@@H](C[C@H]1Cl)/C(=C/C1CCCCC1)/C(=O)O") -smiles(R"CO[C@@H]1[C@H](CN[C@]23C[C@@H]4C[C@@H](C[C@@H](C4)C3)C2)O[C@@H]2OC(C)(C)O[C@H]12") -smiles(R"CO[C@H]1[C@@H](OC)[C@H](OC)[C@H](OC)[C@@H](OC)[C@H]1OC") -smiles(R"CO[C@@H]1O[C@@H]2CO[C@@](C)(O[C@@H]2[C@@H](O)[C@H]1N[Pt@@](Cl)(Cl)N[C@H]1[C@H](OC)O[C@@H]2CO[C@](C)(O[C@@H]2[C@H]1O)c1ccccc1)c1ccccc1") -smiles(R"CO[C@@H](C)C[S@@](=O)(=O)C[C@@H](C)OC") -smiles(R"COC(=N)c1nnn(n1)c1ccccc1") -smiles(R"COC(=O)[C@]12C3=C4C5=C1[Fe]16782345C2=C7[C@@]8(C(=O)OC)C6=C12") -smiles(R"COC(=O)[C@-]12C3=C4C5=C1[Fe+2]16782345C2=C6[C@-]7(Cl)C8(=C12)C(=O)OC") -smiles(R"COC(=O)[C@@-]12C3=C4C5=C1[Fe+2]16782345C2=C6[C@-]7(Cl)C8(=C12)C(=O)OC") -smiles(R"COC(=O)[C@@]12CC=C3O[C@H]4O[C@@]5(CCCCC5)O[C@H]4[C@H]3[C@H]2C(=O)C=CC1=O") -smiles(R"COC(=O)[C@]12CC=CC[C@]2(CC=CC1)C(=O)OC") -smiles(R"COC(=O)[C@@]12C[C@@H](C[C@]3(CC)CO[C@@]4(CCCCC4)O3)C(=O)N1CCc1c3ccccc3[nH]c21") -smiles(R"COC(=O)[C@@]12C[C@@H](C[C@@]3(CC)CO[C@]4(CCCCC4)O3)C(=S)N1CCc1c3ccccc3[nH]c21") -smiles(R"COC(=O)[C@@]12C[C@H](CC[C@@H]2[C@]23COC(=O)[C@@H]3C(C)(C)[C@@]3(OCCO3)CC2)[C@H](C)[C@H]1O") -smiles(R"COC(=O)[C@@]12[C@@H]3[C@@H]4[C@@]2(C(=O)N(C(C)C)C(C)C)[C@@H]2[C@H]1[C@@]3(C(=O)N(C(C)C)C(C)C)[C@]42C(=O)OC") -smiles(R"COC(=O)[C@@]12[C@H]3[C@H]4[C@@H]1[C@H]1[C@@H]2[C@@H]3[C@@]41C(=O)N(C(C)C)C(C)C") -smiles(R"COC(=O)[C@]12[C@@H]3[C@@H]4[C@H]1[C@@H]1[C@H]2[C@H]3[C@]41C(=O)NC(C)(C)CC(=O)O") -smiles(R"COC(=O)[C@]12[C@@H]3[C@@H]4[C@H]1[C@@H]1[C@H]2[C@H]3[C@]41C(=O)OC(C)(C)C") -smiles(R"COC(=O)[C@]12[C@H]3[C@H]4[C@@H]2[C@H]2[C@@H]1[C@@H]3[C@@]42C(=O)O") -smiles(R"COC(=O)[C@]12[C@H]3[C@H]4[C@@H]2[C@H]2[C@@H]1[C@@H]3[C@@]42I") -smiles(R"COC(=O)[C@]12[C@H]3O[C@H]([C@H]4O[C@@H]34)[C@]2(C(=O)OC)[C@@H]2O[C@H]1[C@@H]1O[C@H]21") -smiles(R"COC(=O)[C@]12[C@H](C)C=C3O[C@H]4O[C@@]5(CCCCC5)O[C@H]4[C@H]3[C@H]2C(=O)C=CC1=O") -smiles(R"COC(=O)[C@]12[C@H](COC(=O)C)C=C3O[C@H]4O[C@@]5(CCCCC5)O[C@H]4[C@H]3[C@H]2C(=O)C=CC1=O") -smiles(R"COC(=O)[C@@]12C(=O)NC(=O)[C@]1(C(=O)OC)[C@@]2(C)C") -smiles(R"COC(=O)[C@]12OC[C@]34[C@@H](OC(=O)[C@H](OC(=O)/C=C(/C)\C(C)C)[C@H]24)C[C@@H]2C(=C(OC(=O)CC(=O)OC4=C(C)[C@H]5C[C@@H]6OC(=O)[C@H](OC(=O)/C=C(\C)/C(C)C)[C@@H]7[C@]8(OC[C@@]67[C@@H]([C@@H](O)[C@@H]8O)[C@@]5(C)CC4=O)C(=O)OC)C(=O)C[C@]2(C)[C@@H]3[C@@H](O)[C@@H]1O)C") -smiles(R"COC(=O)[C@]1(Br)C[C@@]21c1ccccc1c1ccccc21") -smiles(R"COC(=O)[C@]1(C)C[C@@]21c1ccccc1C(=O)c1ccccc21") -smiles(R"COC(=O)c1ccc2cc1nc1c(C#N)c[nH]c(=S)n21") -smiles(R"COC(=O)c1ccc2c(no[n+]2[O-])c1") -smiles(R"COC(=O)c1ccc2c(NO[N+]2[O-])c1") -smiles(R"COC(=O)c1ccc2n[se]nc2c1") -smiles(R"COC(=O)c1cccc2c3cccc(C(=O)OC)c3c12") -smiles(R"COC(=O)c1cccc2[C@H]3CC[C@@H](c12)c1c(cccc31)C(=O)OC") -smiles(R"COC(=O)c1ccc(cc1)[C@@H]1CC[C@H](CC1)OC(c1ccccc1)c1ccccc1") -smiles(R"COC(=O)C1=CCCCC[C@H](N2C[C@H]3O[C@@H]2O3)[C@@H]1C(=O)OC") -smiles(R"COC(=O)c1cc(cc(Cl)c1OC)C(=CC[C@]12C[C@@H]3C[C@@H](C[C@H](C3)C2)C1)c1cc(Cl)c(OC)c(c1)C(=O)OC") -smiles(R"COC(=O)c1cc(C(=O)OC)c(C/C(=N/Nc2ccc(cc2[N+](=O)[O-])[N+](=O)[O-])/C(=O)Nc2cccc(c2)C(F)(F)F)nc1C/C(=N\Nc1ccc(cc1[N+](=O)[O-])[N+](=O)[O-])/C(=O)Nc1cccc(c1)C(F)(F)F") -smiles(R"COC(=O)c1cc(C(=O)OC)c(C/C(=N\Nc2ccc(cc2[N+](=O)[O-])[N+](=O)[O-])/C(=O)Nc2cccc(c2)C(F)(F)F)nc1C/C(=N/Nc1ccc(cc1[N+](=O)[O-])[N+](=O)[O-])/C(=O)Nc1cccc(c1)C(F)(F)F") -smiles(R"COC(=O)c1cc(C(=O)OC)c(CC(=O)C(=O)N[C@@H]2[C@@H]3C[C@H]4C[C@@H](C3)C[C@@H]2C4)nc1CC(=O)C(=O)N[C@H]1[C@@H]2C[C@H]3C[C@@H](C2)C[C@@H]1C3") -smiles(R"COC(=O)C1=C[C@H]2c3ccccc3[C@@H]1c1ccccc21") -smiles(R"COC(=O)c1c(C(=O)OC)c2c3ccccc3n(C)c2c2n(C)c3ccccc3c12") -smiles(R"COC(=O)C1=C(C(=O)OC)[C@]2([C@H]3C=CC=CN13)c1ccccc1c1ccccc21") -smiles(R"COC(=O)C1=C(C(=O)OC)[C@@]2([C@@H]3C=CC=NN13)c1ccccc1c1ccccc21") -smiles(R"COC(=O)C1=C(C(=O)OC)[C@]2(Cl)C(=C(Cl)[C@@]1(Cl)[C@]2(Cl)Cl)Cl") -smiles(R"COC(=O)C1=C(C(=O)OC)[C@@]2(C)O[C@@H]1C(=O)[C@@]12CC1") -smiles(R"COC(=O)C1=C(C(=O)OC)[C@]2(O)c3ccccc3[C@H]1c1ccccc21") -smiles(R"COC(=O)C1=C(C(=O)OC)[C@H]2c3ccccc3[C@@H]1c1ccccc21") -smiles(R"COC(=O)C1=C(C(=O)OC)[C@H]2[C@H]3O[C@H]3[C@@H]1[C@]2(c1ccccc1)c1ccccc1") -smiles(R"COC(=O)[C@@]1(C)COP(=O)(OC1)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"COC(=O)[C@@]1(C#N)C(C)(C)N=C(c2ccccc2)[C@@]21CCCCC2") -smiles(R"COC(=O)c1cn(c(=O)cc1C(=O)OC)c1ccc2nn(C)nc2c1") -smiles(R"COC(=O)c1c[nH]n2c1n[n+]([O-])c1ccccc21") -smiles(R"COC(=O)c1cnn2c1n[n+]([O-])c1ccccc21") -smiles(R"COC(=O)C1(C(=O)OC)[C@@H]2[C@@H](Cl)[C@@H]3[C@H]([C@H]12)C3(C(=O)OC)C(=O)OC") -smiles(R"COC(=O)C1=N/C(=N)/N=C(C(=O)OC)[C@]1(CC)C(=O)c1ccccc1") -smiles(R"COC(=O)C1=N/C(=N)/N=C(C(=O)OC)[C@]1(C)C(=O)c1ccccc1") -smiles(R"COC(=O)C1=N/C(=N)/N=C(C(=O)OC)[C@]1(C)C(=O)c1ccc(Cl)cc1") -smiles(R"COC(=O)C1=N/C(=N)/N=C(C(=O)OC)[C@@]21C(=O)Cc1ccccc21") -smiles(R"COC(=O)C1=NN[C@]2([C@@H]1C(=O)OC)c1ccccc1Sc1ccccc21") -smiles(R"COC(=O)c1n[nH]c(C)c1/N=N/N1CC[C@@H](CC1)C(=O)N") -smiles(R"COC(=O)c1nnn(n1)c1ccccc1") -smiles(R"COC(=O)C[C@@]1(C)[C@H](O)[C@@H]2O[C@@](C)(C)O[C@@H]2[C@H]1O") -smiles(R"COC(=O)CCC[C@H]1CC[C@@H](CCCC(=O)OC)CC1") -smiles(R"COC(=O)CCC[C@H]1CC/C(=N/Nc2ccccc2)/CC1") -smiles(R"COC(=O)CCC[C@@H]1CC/C(=N\Nc2ccc(cc2[N+](=O)[O-])[N+](=O)[O-])/CC1") -smiles(R"COC(=O)CCC[C@H]1CC/C(=N/Nc2ccc(cc2[N+](=O)[O-])[N+](=O)[O-])/CC1") -smiles(R"COC(=O)CC[C@H]1CC[C@H](CC1)C[C@@H]1CC[C@H](CC1)CCC(=O)OC") -smiles(R"COC(=O)CC[N@+]12CN3CN(CN(C3)C2)C1") -smiles(R"COC(=O)CC[N+]12CN3CN(CN(C3)C2)C1") -smiles(R"COC(OC)CNC(=O)c1ccc2c(no[n+]2[O-])c1") -smiles(R"COC(OC)CNC(=O)c1ccc2c(NO[N+]2[O-])c1") -smiles(R"COC(OC)CN(C(=O)c1ccccc1)[C@H]1CC[C@]2(SCCS2)c2[nH]c3ccccc3c12") -smiles(R"COC(OC)CN(C(=O)C)[C@@H]1CC[C@]2(SCCS2)c2[nH]c3ccccc3c12") -smiles(R"COC(=O)[C@H]1CC[C@]2(OCCO2)C1") -smiles(R"COC(=O)[C@H]1CCC[C@]2(OCCO2)C1") -smiles(R"COC(=O)[C@H]1CCCCCCCCCC[C@]21SCCCS2") -smiles(R"COC(=O)[C@@H]1CC[C@H]2c3ccccc3[C@@H](C1)c1ccccc21") -smiles(R"COC(=O)[C@H]1CC[C@H](CC1)N(C)S(=O)(=O)c1ccc(C)cc1") -smiles(R"COC(=O)[C@@H]1C[C@@H]2c3ccccc3[C@H]1c1ccccc21") -smiles(R"COC(=O)[C@H]1C[C@H]2c3ccccc3[C@@H]1c1ccccc21") -smiles(R"COC(=O)[C@@H]1CC(=O)C[C@H](CC(=O)C1)C(=O)OC") -smiles(R"COC(=O)[C@H]1[C@@H]2C[S@@](=O)(=O)C[C@H]2[C@H]1C(=O)OC") -smiles(R"COC(=O)[C@@H]1[C@H](c2ccccc2)[C@@H](C(=O)OC)[C@@H]1c1ccccc1") -smiles(R"COC(=O)[C@H]1[C@@H](C(=O)OC)[C@@]1(c1ccccc1)c1ccccc1") -smiles(R"COC(=O)[C@H]1[C@H](C(=O)OC)[C@]21C=Cc1ccccc1C=C2") -smiles(R"COC(=O)[C@@H]1[C@H](C(=O)OC)[C@]2(Cl)C(=C(Cl)[C@@]1(Cl)[C@]2(Br)Br)Cl") -smiles(R"COC(=O)[C@@H]1[C@@H](C(=O)OC)[C@]2(Cl)C(=C(Cl)[C@@]1(Cl)[C@]2(Cl)Cl)Cl") -smiles(R"COC(=O)[C@@H]1[C@@H](C(=O)OC)[C@@H]2c3ccccc3[C@H]1c1ccccc21") -smiles(R"COC(=O)[C@H]1[C@H](C(=O)OC)[C@@H](C(=O)OC)[C@H]1C(=O)OC") -smiles(R"COC(=O)[C@H]1[C@H](C(=O)OC)[C@H](C(=O)OC)[C@@H]1C(=O)OC") -smiles(R"COC(=O)[C@@H]1C(=O)[C@H](C(=O)OC)[C@]2(C)[C@@H](C(=O)OC)C(=O)[C@H](C(=O)OC)[C@]12C") -smiles(R"COC(=O)[C@@H]1C(=O)[C@@H](C(=O)OC)[C@H]2CCC[C@H]3CCC[C@H]1N23") -smiles(R"COC(=O)[C@@H]1O[C@@]2(CCCC2)O[C@H]1C(=O)OC") -smiles(R"COC(=O)[C@@H]1OC[C@@]2(CO1)CO[C@@H](OC2)C(=O)OC") -smiles(R"COC(=O)[C@@H]1O[C@@](C)(C)O[C@H]1C(=O)OC") -smiles(R"COC(=O)[C@H](c1ccccc1)[C@]1(O)CCN(CC1)C[C@H]1COc2ccccc2O1") -smiles(R"COC(=O)[C@@H](N[Pd@](Cl)(Cl)N[C@@H](C(=O)OC)c1ccccc1)c1ccccc1") -smiles(R"COC(=O)[C@@H](N[Pt@](Cl)(Cl)N[C@@H](C(=O)OC)c1ccccc1)c1ccccc1") -smiles(R"COC(=O)C[N@+]12CN3CN(CN(C3)C2)C1") -smiles(R"COC(=O)C(=O)c1c2c3[nH]c4ccccc4c3ccn2c2ccccc12") -smiles(R"COC(=O)N1CC(=O)[C@@H](C1)C(=O)N[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"COC(=O)N1[C@@H]2c3ccccc3[C@H](N1C(=O)OC)c1ccccc21") -smiles(R"COC(=O)N/N=C\1/C(C)(C)/C(=N/NC(=O)OC)/C1(C)C") -smiles(R"COC(=S)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"CON1C(=O)[C@@]2(CCCCC2)C(=O)[C@]21CCCC=C2") -smiles(R"CO/N=C(\C=C\c1ccccc1)/C=C/c1ccccc1") -smiles(R"CO[Ni]12(OC)([O+]=C(C)[C@@H](Cl)C(=[O+]1)C)[O+]=C(C)[C@@H](Cl)C(=[O+]2)C") -smiles(R"COP(OC)[C@@H]1CC[C@@H](C)CC1") -smiles(R"COP(=O)(OC)N[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"COS(=O)(=O)O") -smiles(R"CP1CC[C@](O)(CC1)C(C)(C)C") -smiles(R"CP(=S)(C)[C@@H]1CC[C@H](CC1)C(C)(C)C") -smiles(R"CSc1c2cccnc2n2c(c1C#N)n(C)c1ccccc21") -smiles(R"CSc1cc2c3cccc[n+]3[Co+2]345([n+]6ccccc6c6cc(SC)cc(=c7cccc[n+]37)[n+]56)[n+]3ccccc3=c(c1)[n+]24") -smiles(R"CSc1cc2c3cccc[n+]3[Co+2]345([n+]6ccccc6c(c1)[n+]24)[n+]1ccccc1c1cc(SC)cc(c2cccc[n+]32)[n+]51") -smiles(R"CSc1cc2c3cccc[n+]3[Cu+2]345([n+]6ccccc6c6cc(SC)cc(=c7cccc[n+]37)[n+]56)[n+]3ccccc3=c(c1)[n+]24") -smiles(R"CSc1cc2c3cccc[n+]3[Cu+2]345([n+]6ccccc6c(c1)[n+]24)[n+]1ccccc1c1cc(SC)cc(c2cccc[n+]32)[n+]51") -smiles(R"CSc1cc2c3cccc[n+]3[Cu]3(Br)(Br)[n+]2c(c1)c1cccc[n+]31") -smiles(R"CSc1cc2c3cccc[n+]3[Mn+2]345([n+]6ccccc6c6cc(SC)cc(=c7cccc[n+]37)[n+]56)[n+]3ccccc3=c(c1)[n+]24") -smiles(R"CSc1cc2c3cccc[n+]3[Mn+2]345([n+]6ccccc6c(c1)[n+]24)[n+]1ccccc1c1cc(SC)cc(c2cccc[n+]32)[n+]51") -smiles(R"CSc1cc2c3cccc[n+]3[Ni+2]345([n+]6ccccc6c6cc(SC)cc(=c7cccc[n+]37)[n+]56)[n+]3ccccc3=c(c1)[n+]24") -smiles(R"CSc1cc2c3cccc[n+]3[Ni+2]345([n+]6ccccc6c(c1)[n+]24)[n+]1ccccc1c1cc(SC)cc(c2cccc[n+]32)[n+]51") -smiles(R"CSc1cc2c3cccc[n+]3[Zn+2]345([n+]6ccccc6c6cc(SC)cc(=c7cccc[n+]37)[n+]56)[n+]3ccccc3=c(c1)[n+]24") -smiles(R"CSc1cc2c3cccc[n+]3[Zn+2]345([n+]6ccccc6c(c1)[n+]24)[n+]1ccccc1c1cc(SC)cc(c2cccc[n+]32)[n+]51") -smiles(R"CSc1ccc(cc1)N1C(=O)[C@@H]2[C@H](C1=O)[C@]1(Cl)C(=C(Cl)[C@@]2(Cl)[C@@]1(Cl)Cl)Cl") -smiles(R"CSc1cnn(CCC#N)c(=O)n1") -smiles(R"CSc1nc2cn[nH]c2c(n1)N(C)C") -smiles(R"CSc1nc2=NC=N[S@@](=O)(=c2c(N)n1)O") -smiles(R"CSc1nnn(n1)C(C)(C)C") -smiles(R"CSc1sc(C#N)c2nc3c4cccc5cccc(c3nc12)c45") -smiles(R"CSC[C@]12CCCC=C2C[C@@]2(OCCO2)CC1") -smiles(R"C[S+](C)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") # smiles(R"C[SH+][Pt@@+]1(P234N5CCN2CC[N@@+]14CCN3CC5)P(c1ccccc1)(c1ccccc1)c1ccccc1") -smiles(R"CSC[C@H]1CCCC[C@@]21OCCO2") -smiles(R"CS[C@H]1NN[C@]2(C(=O)N1)c1ccccc1c1ccccc21") -smiles(R"CSC(=S)C[C@H](O)[C@@H]1C[C@H]2c3ccccc3[C@@H]1c1ccccc21") -smiles(R"CSC(=S)S(=O)(=O)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"C[SH+][Pt@@+]1(P234N5CCN2CC[N@@+]14CCN3CC5)P(c1ccccc1)(c1ccccc1)c1ccccc1") -smiles(R"C[Si]1(C)O[Si](C)(C)[C@@]23C4=C5C6=C2[Fe]27893456C3=C8[C@@]19C7=C23") -smiles(R"C[Si@@]1(C)O[Si](C)(C)[C@@]23C4=C5C6=C2[Fe]27893456C3=C8[C@@]9(C7=C23)[Si](C)(C)O1") -smiles(R"C[Si](C)([C@@]12C3=C4C5=C1[Fe]16782345C2=C7C6=C1[C@H]82)[C@@]12C3=C4C5=C1[Fe]16782345C2=C7C6=C1[C@@H]82") -smiles(R"C[Si](C)(C)C12#C3([Si](C)(C)C)[Ni]45671([C@H]1C6=C5C4=C71)[Ni]145623[C@H]2C5=C4C1=C62") -smiles(R"C[Si](C)(C)CC[Si@]12OCCN(CCO1)CC(C)(C)O2") -smiles(R"C[Si](C)(C)CC[Si@@]12OCCN([C@H]3CCCC[C@H]3O1)[C@H]1CCCC[C@H]1O2") -smiles(R"C[Si@@H]1O[Si@H](C)[C@]23C4=C5C6=C2[Fe]27893456C3=C8[C@@]9([Si@H](C)O[Si@@H](C)[C@@]45C6=C8C9=C4[Fe]4%10%11%125689C5=C%11[C@]1%12C%10=C45)C7=C23") -smiles(R"C[Sn](C)([C@@]12C3=C4C5=C1[Fe]16782345C2=C7C6=C1[C@H]82)[C@@]12C3=C4C5=C1[Fe]16782345C2=C7C6=C1[C@@H]82") -smiles(R"CS(=O)C") -smiles(R"CS(=O)(=O)c1ccc2nnnn2n1") -smiles(R"CS(=O)(=O)c1ccc(cc1)C[N@@+]12CN3CN(CN(C3)C2)C1") -smiles(R"CS(=O)(=O)N[C@]12CC[C@H](c3ccccc13)c1ccccc21") -smiles(R"CS(=O)(=O)O") -smiles(R"CS(=O)(=O)O[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"CS(=O)(=O)OC[C@H]1CCCCCCCCCC[C@]21SCCCS2") -smiles(R"CS(=O)(=O)OC[C@H]1C[C@@H](COS(=O)(=O)C)C[C@@H](COS(=O)(=O)C)C1") -smiles(R"CS(=O)(=O)OC[C@H]1[C@H]2c3ccccc3[C@@H]([C@H]1COS(=O)(=O)C)c1ccccc21") -smiles(R"CS(=O)(=O)OC[C@H]1O[C@@H](Cc2ccccc2)O[C@@H]1COS(=O)(=O)C") -smiles(R"CS(=O)(=O)OC[C@H]1O[C@@H](O[C@@H]1COS(=O)(=O)C)C(Br)(Br)Br") -smiles(R"CS(=O)(=O)OC[C@@H]1O[C@H](O[C@H]1COS(=O)(=O)C)C(Cl)(Cl)Cl") -smiles(R"CS(=O)(=O)OCCN1CC[C@@]2(CC1)SS[C@]1(CCN(CCOS(=O)(=O)C)CC1)S2") -smiles(R"CS(=O)(=O)O[C@@H]1CC[C@H](CC1)OS(=O)(=O)C") -smiles(R"CS(=O)(=O)O[C@H]1CC[C@@H](CC1)OS(=O)(=O)C") -smiles(R"C[Zr]12345678(I)(C9=C3C2=C1[C@H]49)C1=C6C7=C5[C@@H]81") -smiles(R"[F-]B(F)(F)F") -smiles(R"F[B-](F)(F)F") -smiles(R"FC1=[C-]([Au+][NH+]2P([Au+]P(c3ccccc3)(c3ccccc3)[NH+]([Au+][C-]3=C(F)C(=C(F)C(=C3F)F)F)P([Au+]P2(c2ccccc2)c2ccccc2)(c2ccccc2)c2ccccc2)(c2ccccc2)c2ccccc2)C(=C(F)C(=C1F)F)F") -smiles(R"Fc1ccc(cc1)[C@@]1(C)[C@H]2C(=O)NC(=O)[C@@H]1C(=O)NC2=O") -smiles(R"Fc1ccc(cc1)c1[nH]c(cc1c1ccncc1)[C@H]1CC[NH+](CC1)C[C@H]1[NH2+]C[C@H](O)C1") -smiles(R"Fc1cccc(c1)c1nnn(C)n1") -smiles(R"Fc1ccccc1c1sc2nnc(n2n1)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"Fc1ccccc1/C=c\1/sc2nc3ccccc3n2c1=O") -smiles(R"Fc1ccc(cc1)[C@@](C)(CN1CC[C@]2(CC1)N(CN(CC(C)C)C2=O)c1ccccc1)C1OCCO1") -smiles(R"Fc1ccc(cc1)/C=C/C(=O)N1CC[C@@]2(CC1)N(CN(C)C2=O)c1ccccc1") -smiles(R"Fc1ccc(cc1)C(C(=O)N[C@H]1CN2CC[C@@H]1CC2)c1ccc(F)cc1") -smiles(R"Fc1ccc(cc1)[C@H]1O[C@H]1C(=O)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"Fc1cccc(c1)[C@@H]1ON=C(c2ccccc2)N1[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"Fc1ccc(cc1)/C=N/[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"Fc1ccccc1/C=N/[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"Fc1ccc(cc1)C(=O)CCCN1CC[C@]2(CC1)C[C@H](OC2=O)c1ccccc1") -smiles(R"Fc1ccc(cc1)C(=O)C[N@+]12CN3CN(CN(C3)C2)C1") -smiles(R"Fc1ccc(cc1)C(=O)N[C@H]1CCN(CC1)C(=O)[C@H](C)Sc1ccc(Cl)cc1") -smiles(R"Fc1ccc(cc1)CSc1nnc(n1C)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"Fc1ccc(cc1)N(CCNC(=O)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)C(=O)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"Fc1ccc(cc1)NC(=O)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"Fc1ccccc1NC(=O)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"Fc1ccc(cc1)NNC(=O)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"Fc1ccc(cc1)O/C=C\1/N2CC[C@@H](CC2)C1=O") -smiles(R"Fc1ccc(/C=C/C(=O)Nc2cccc(NC(=O)/C=C\c3ccc(F)cc3)n2)cc1") -smiles(R"Fc1cccc(/C=N/[C@]23C[C@@H]4C[C@@H](C[C@@H](C4)C3)C2)c1") -smiles(R"Fc1cccc(/N=C/c2ccc(cc2)N2CC[C@@]3(CCCCC3)CC2)c1") -smiles(R"Fc1ccc(F)c(/C=C/C(=O)N2CC[C@H](CC2)[C@@H](Cc2ccccc2)N(C)C(=O)C(C)C)c1") -smiles(R"Fc1ccc(NCCNC(=O)[C@@]23C[C@H]4C[C@H](C[C@H](C4)C3)C2)cc1") -smiles(R"FC1=C(F)C(=C(F)C(=[C-]1[Au+][NH+]1P([Au+]P(c2ccccc2)(c2ccccc2)[NH+]([Au+][C-]2=C(F)C(=C(F)C(=C2F)F)F)P([Au+]P1(c1ccccc1)c1ccccc1)(c1ccccc1)c1ccccc1)(c1ccccc1)c1ccccc1)F)F") -smiles(R"Fc1c(F)c(c(F)c(F)c1[C@@]12C3=C4C5=C1[Fe]16782345[C@@H]2C7=C6C1=C82)[C@]12C3=C4C5=C1[Fe]16782345[C@@H]2C7=C6C1=C82") -smiles(R"Fc1c(F)c(F)c(c(F)c1F)[C@]1(O)[C@@H]2CC[C@H]1CC2") -smiles(R"F[C@]1(C(F)(F)F)C(F)(F)[C@](F)(F)C(F)(F)[C@@](F)(C(F)(F)F)[C@@]1(F)F") -smiles(R"Fc1cnc(nc1O[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)O[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"F/C(=C(\F)/[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82)/C(F)(F)C(F)(F)C(F)(F)C(F)(F)C(F)(F)F") -smiles(R"F/C(=C(\F)/[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82)/C(F)(F)C(F)(F)C(F)(F)C(F)(F)C(F)(F)F") -smiles(R"FCCNC(=O)N[C@@]12C[C@@]3(C)C[C@](C)(C[C@](C)(C3)C2)C1") -smiles(R"FCCNC(=O)N[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"FCCNC(=O)N[C@H]1CC[C@@H](CC1)NC(=O)NCCF") -smiles(R"FCCN(N=O)C(=O)N[C@@]12C[C@@]3(C)C[C@](C)(C[C@](C)(C3)C2)C1") -smiles(R"FCCN(N=O)C(=O)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"FCCN(N=O)C(=O)N[C@@H]1CC[C@@H](CC)CC1") -smiles(R"FC(F)(Cl)C(O)([C@@H]1CCC/C/1=N/N=C/1\CCC[C@H]1C(O)(C(F)(F)Cl)C(F)(F)Cl)C(F)(F)Cl") -smiles(R"FC(F)([Co]12345(n6cccn6[BH+3][n+]6cccn16)C1=C3C4=C2C51)C(F)(F)F") -smiles(R"FC(F)(F)c1ccc2[C@@H]3c4ccccc4[C@H](c2c1)c1ccccc31") -smiles(R"FC(F)(F)c1cccc(c1)[C@@]1(O)CCN(CC1)[C@@H]1C[C@H]1c1ccccc1") -smiles(R"FC(F)(F)c1ccc(cc1)[C@H]1ON=C(c2ccccc2)N1[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"FC(F)(F)c1ccc(cc1)/C=N/[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"FC(F)(F)c1ccccc1/C=N/[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"FC(F)(F)c1cccc(/C=N/[C@]23C[C@@H]4C[C@@H](C[C@@H](C4)C3)C2)c1") -smiles(R"FC(F)(F)C1=C([S+]2[Co]34(SC(=C([S+]4[Co]42(S1)SC(=C(S4)C(F)(F)F)C(F)(F)F)C(F)(F)F)C(F)(F)F)SC(=C(S3)C(F)(F)F)C(F)(F)F)C(F)(F)F") -smiles(R"FC(F)(F)C1=C([S+]2[Fe]34(SC(=C([S+]4[Fe]42(S1)SC(=C(S4)C(F)(F)F)C(F)(F)F)C(F)(F)F)C(F)(F)F)SC(=C(S3)C(F)(F)F)C(F)(F)F)C(F)(F)F") -smiles(R"FC(F)(F)c1nnn(n1)[Au]P(c1ccccc1)(c1ccccc1)c1ccccc1") -smiles(R"FC(F)(F)C(F)(F)/C(=N/Nc1ccccc1)/SS/C(=N/Nc1ccccc1)/C(F)(F)C(F)(F)F") -smiles(R"FC(F)(F)[C@@H]1CC[C@@H](CC1)[C@@]1(O)[C@@H]2CC[C@H]1C=C2") -smiles(R"FC(F)(F)/C(=N\Nc1ccccc1)/SS/C(=N\Nc1ccccc1)/C(F)(F)F") -smiles(R"FC(F)(F)[Co]12345(n6cccn6[B+3]([n+]6[n-]ccc6)[n+]6cccn16)C1=C3C4=C2C51") -smiles(R"FC(F)(F)[Co]12345(N6CCCN6[B+3]([n+]6[n-]ccc6)[n+]6cccn16)C1C4=C3C2=C51") -smiles(R"FC(F)(F)[S@@](=O)(=[OH+])[O-]") -smiles(R"FC(F)(F)[S@@](=O)(=[OH+])[O-]") # smiles(R"CC12=C3(C)[Ru+]456789%101(C1=C5C8(=C6C4=C71N)N)C2(C)C%10(=C39C)C") # smiles(R"CC12=C3(C)[Ru+]456789%101(C1=C7(N)C4=C6C8(=C51)N)C2(C)C%10(=C39C)C") -smiles(R"FC(F)(F)[S@@](=O)(=[OH+])[O-]") # smiles(R"NC1=C(/N=N/c2ccc(cc2)[N+](=O)[O-])C(=N[S@](=O)(=N1)O)N") # smiles(R"NC1=N[S@](=O)(=NC(=C1/N=N/c1ccc(cc1)[N+](=O)[O-])N)O") -smiles(R"FC(F)(F)S(=O)(=O)[O-]") -smiles(R"FC(F)(F)S(=O)(=O)[O-]") # smiles(R"c1ccc(cc1)C1=C2C=CC3=C(c4ccccc4)C4=[N+]5C(=C(c6ccccc6)C6=CC=C7C(=C8C=CC1=[N+]8[Zn@@+2]5([NH+]67)[NH+]23)c1cc[n+](cc1)[Pt@@+2]([n+]1ccc(cc1)C1=C2C=CC3=[N+]2[Zn@@+2]25[NH+]6C1=CC=C6C(=C1C=CC(=[N+]51)C(=C1C=CC(=C3c3ccccc3)[NH+]21)c1ccccc1)c1ccccc1)([n+]1ccc(cc1)C1=C2C=CC3=C(c5ccccc5)C5=[N+]6C(=C(c7ccccc7)C7=CC=C8C(=C9C=CC1=[N+]9[Zn@+2]6([NH+]23)[NH+]78)c1ccccc1)C=C5)[n+]1ccc(cc1)C1=C2C=CC3=C(c5ccccc5)C5=[N+]6C(=C(c7ccccc7)C7=CC=C8C(=C9C=CC1=[N+]9[Zn@+2]6([NH+]23)[NH+]78)c1ccccc1)C=C5)C=C4") -smiles(R"FC(F)(F)S(=O)(=O)[O-]") # smiles(R"c1ccc(cc1)C1=C2C=CC3=C(c4ccccc4)C4=[N+]5C(=C(c6ccccc6)C6=CC=C7C(=C8C=CC1=[N+]8[Zn@@+2]5([NH+]67)[NH+]23)c1cc[n+](cc1)[Pt+2]([n+]1ccc(cc1)C1=C2C=CC3=[N+]2[Zn@@+2]25[NH+]6C1=CC=C6C(=C1C=CC(=[N+]51)C(=C1C=CC(=C3c3ccccc3)[NH+]21)c1ccccc1)c1ccccc1)([n+]1ccc(cc1)C1=C2C=CC3=C(c5ccccc5)C5=[N+]6C(=C(c7ccccc7)C7=CC=C8C(=C9C=CC1=[N+]9[Zn@+2]6([NH+]23)[NH+]78)c1ccccc1)C=C5)[n+]1ccc(cc1)C1=C2C=CC3=C(c5ccccc5)C5=[N+]6C(=C(c7ccccc7)C7=CC=C8C(=C9C=CC1=[N+]9[Zn@+2]6([NH+]23)[NH+]78)c1ccccc1)C=C5)C=C4") -smiles(R"FC(F)Oc1ccccc1[C@H]1C(=C(C)NC(=C1C(=O)O[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1)C)C(=O)O[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"F[C@@H]1O[C@]1(F)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"[F-]P(F)(F)(F)(F)F") -smiles(R"F[P-](F)(F)(F)(F)F") -smiles(R"FP(F)(F)(F)(F)F") -smiles(R"FS(=O)(=O)[C@H]1C[C@H]2c3ccccc3[C@@H]1c1ccccc21") -smiles(R"[Hg]([C@@]12C3=C4C5=C1[Fe]16782345C2=C7C6=C1[C@@H]82)[C@]12C3=C4C5=C1[Fe]16782345C2=C7C6=C1[C@H]82") -smiles(R"[I-]") -smiles(R"I") -smiles(R"IC") -smiles(R"I[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"I[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"I[C@-]12C3=C4C5=C1[Fe+2]16782345C2=C7[C@-]8(I)C6=C12") -smiles(R"I[C@@-]12C3=C4C5=C1[Fe+2]16782345C2=C7[C@-]8(I)C6=C12") -smiles(R"I[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"Ic1ccc2c(c1)[C@@H]1c3ccccc3[C@H]2c2ccccc12") -smiles(R"Ic1ccccc1C[N@+]12CN3CN(CN(C3)C2)C1") -smiles(R"Ic1ccc(cc1)C(=O)C[N@@+]12CN3CN(CN(C3)C2)C1") -smiles(R"Ic1cccc(/C=N/NC(=S)N[C@]23C[C@@H]4C[C@@H](C[C@@H](C4)C3)C2)c1") -smiles(R"Ic1ccc(/C=N/NC(=S)N[C@]23C[C@@H]4C[C@@H](C[C@@H](C4)C3)C2)cc1") -smiles(R"Ic1ccc(/C=N\NC(=S)N[C@@H]2CN3CC[C@@H]2CC3)cc1") -smiles(R"Ic1cc(/C=N/NC(=S)N[C@]23C[C@@H]4C[C@@H](C[C@@H](C4)C3)C2)c(O)c(I)c1") -smiles(R"I[C-]1C(=[O+][Ru+3]23([O+]=C1C)([O+]=C(C)[C-](I)C(=[O+]2)C)[O+]=C(C)[C-](I)C(=[O+]3)C)C") -smiles(R"IC[C@@]1(C)CO[C@@](OC1)(C1CCCCC1)c1ccccc1") -smiles(R"IC[C@@H]1O[C@H](CI)C[S@@](=O)(=O)C1") -smiles(R"IC[C@@H]1OC(=O)C[C@]2(CC=CC[C@@]32OCCO3)C1") -smiles(R"I[C@@H]1[C@@H](I)[C@@H]2C[C@H]1[C@@H]1[C@H]2[C@@]2(Cl)C(=C(Cl)[C@]1(Cl)[C@@]2(Cl)Cl)Cl") -smiles(R"IP1P2P(c3ccccc13)P(I)c1ccccc21") -smiles(R"N") -smiles(R"n1ccc(cc1)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"n1ccn(c1)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"n1ccn(c1)[C@@]12[C@H]3[C@@H]4[C@@H]5[C@H]3[C@H]2[C@@H]5[C@H]14") -smiles(R"N1=C[NH+]2[Cu+2]3456N7CCN3CN(CN5CCN4CN(C7)C2=N1)C1=NN=C[NH+]61") -smiles(R"n1nc2sc1[SH+][Cu+2]1345[SH+]c6nnc(s6)N6CN3CCN1CN2CN4CCN5C6") -smiles(R"n1nc2sc1[SH+][Ni+2]1345[SH+]c6nnc(s6)N6CN3CCN1CN2CN4CCN5C6") -smiles(R"n1ncn(c1)[C@@]12[C@H]3[C@@H]4[C@@H]5[C@H]3[C@H]2[C@@H]5[C@H]14") -smiles(R"[Na+]") -smiles(R"[NaH]") -smiles(R"NC12=C3C4=C5[Ru+]6789%10234(C1=C56N)C1(C)C9(=C8(C)C7(=C%101C)C)C") -smiles(R"NC12=C3[Ru+]456789%102(C(=C14)C5=C36N)C1(C)C9(=C8(C)C7(=C%101C)C)C") -smiles(R"N[C@]12CC[C@](c3ccccc13)(c1ccccc21)[N+](C)(C)C") -smiles(R"N[C@@]12CC[C@@](c3ccccc13)(c1ccccc21)[N+](C)(C)C") -smiles(R"N[C@@]12CC[C@@H](c3ccccc13)c1ccccc21") -smiles(R"N[C@]12CC[C@](N)(c3ccccc13)c1ccccc21") -smiles(R"N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"N[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"Nc1c2nc3ccccc3n2c2nc3ccccc3nc2c1S(=O)(=O)c1ccccc1") -smiles(R"NC1=c2nc(c3ccccc3)c(nc2=N[S@@](=O)(=N1)O)c1ccccc1") -smiles(R"Nc1cc2c(nc3c4ccccc4ccc3[n+]2c2cccc3ccccc23)c2ccccc12") -smiles(R"Nc1cc2c(nc3c4ccccc4c(N)cc3[n+]2c2cccc3ccccc23)c2ccccc12") -smiles(R"Nc1ccc2c(c1)[C@@H](N1C[C@@H]3CC[C@@H](CC3)C1)c1ccccc21") -smiles(R"Nc1ccc2C[C@@H]3c4ccccc4[C@H](Cc2c1)c1ccccc31") -smiles(R"Nc1ccc2[nH]/c(=[S+]/[Pt@](Cl)(Cl)/[S+]=c\3/[nH]c4ccc(N)cc4s3)/sc2c1") -smiles(R"Nc1ccc2n[se]nc2c1") -smiles(R"Nc1ccc2nsnc2c1") -smiles(R"Nc1cccc(c1)[C@]1(C)[C@@H]2C(=O)NC(=O)[C@H]1C(=O)NC2=O") -smiles(R"Nc1ccc(cc1)C(=O)N/N=C/c1ccc(cc1Br)N1CC[C@]2(CCCCC2)CC1") -smiles(R"Nc1ccc(cc1)S[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"Nc1ccc(cc1)S(=O)(=O)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"Nc1ccc(cc1)S(=O)(=O)N[C@@H]1CC[C@@H](CC1)NS(=O)(=O)c1ccc(N)cc1") -smiles(R"Nc1ccc(cc1)S(=O)(=O)N[C@@H]1CC[C@H](CC1)NS(=O)(=O)c1ccc(N)cc1") -smiles(R"N=C\1/C=C/C(=C(/c2ccc(N)cc2)\c2ccc(N)c(C)c2)/C=C1") -smiles(R"N=C\1/C=C/C(=C(\c2ccc(N)cc2)/c2ccc(N)c(C)c2)/C=C1") -smiles(R"Nc1ccccn1N") -smiles(R"N=C\1/C=C/C(=N\Cc2ccc(N)cc2)/C=C1") -smiles(R"N=c1ccn2c(n1)O[C@H]1[C@H](OC(=O)[C@]34C[C@@H]5C[C@@H](C[C@@H](C5)C4)C3)[C@@H](COC(=O)[C@]34C[C@@H]5C[C@@H](C[C@@H](C5)C4)C3)O[C@@H]21") -smiles(R"N=c1ccn(CC(=O)N2CC[C@@]3(CC2)SS[C@]2(CCN(CC2)C(=O)Cn2ccc(=N)[nH]c2=O)S3)c(=O)[nH]1") -smiles(R"N=c1ccn(c(=O)[nH]1)[C@H]1O[C@H](COC(=O)[C@]23C[C@@H]4C[C@@H](C[C@@H](C4)C3)C2)[C@@H](O)[C@@H]1O") -smiles(R"Nc1cnn2cnnc2c1Cl") -smiles(R"Nc1cnn2nnnc2c1") -smiles(R"Nc1cnn2nnnc2c1Cl") -smiles(R"Nc1c(/N=N/c2ccc(cc2)c2ccc(cc2)/N=N/c2cc(c3ccccc3c2N)[S@](=O)(=[OH+])[O-])cc(c2ccccc12)[S@@](=O)(=[OH+])[O-]") -smiles(R"Nc1c(/N=N/c2ccc(cc2)[S@@](=O)(=O)c2ccc(/N=N/c3c4ccc(cc4cc(c3N)S(=O)(=O)O)S(=O)(=O)O)cc2)c2ccc(cc2cc1S(=O)(=O)O)S(=O)(=O)O") -smiles(R"Nc1c(/N=N/c2ccc(cc2)[S@@](=O)(=O)c2ccc(/N=N/c3cc(c4cccc(c4c3N)S(=O)(=O)O)S(=O)(=O)O)cc2)cc(c2cccc(c12)S(=O)(=O)O)S(=O)(=O)O") -smiles(R"Nc1nc(Cl)c(N)c(n1)N[C@@]12C[C@H]3C[C@@H](C[C@H](C3)C2)C1") -smiles(R"N=C1N=C(CS(=O)C)C(=N1)CS(=O)C") -smiles(R"Nc1nc(N)c2c(ccc3nc(c4ccccc4)c(nc23)c2ccccc2)n1") -smiles(R"Nc1nc(N)c2c(ccc3nc(C)c(C)nc23)n1") -smiles(R"Nc1nc(N)c2=C(N)[N+](=O)[C-]3C=CC=CC3=c2n1") -smiles(R"NC1NC(N)C2=C(N)[N+](=O)[C-]3C=CC=CC3=C2N1") -smiles(R"Nc1nc(nc2nc3c4cccc5cccc(c3nc12)c45)c1ccccc1") -smiles(R"Nc1ncnc2=NC=N[S@@](=O)(=c12)O") -smiles(R"Nc1nc(N)c2nc(S[C@]34C[C@@H]5C[C@@H](C[C@@H](C5)C4)C3)c(N)nc2n1") -smiles(R"N[C@@]1(N[C@](N)(C(F)(F)F)C(F)(F)[C@](F)(F)C1(F)F)C(F)(F)F") -smiles(R"N=C1NC(=N)N(c2ccc(OC[C@@H]3CC[C@H](CC3)COc3ccc(cc3)S(=O)(=O)F)c(Cl)c2)C(C)(C)N1") -smiles(R"N=C\1/N[C@](O)(c2ccccc2)[C@](O)(N1)c1ccccc1") -smiles(R"Nc1nc(O)c2c(n1)n(c[n+]2[Cu@@+2]1(NCCN1)[n+]1cn([C@@H]2O[C@@H](COP(=[OH+])([O-])[O-])[C@H](O)[C@@H]2O)c2nc(N)nc(O)c12)[C@@H]1O[C@@H](COP(=[OH+])([O-])[O-])[C@H](O)[C@@H]1O") -smiles(R"Nc1nc(O)c2c(n1)n(c[n+]2[Cu@+2]1(NCCN1)[n+]1cn([C@@H]2O[C@@H](COP(=[OH+])([O-])[O-])[C@H](O)[C@@H]2O)c2nc(N)nc(O)c12)[C@@H]1O[C@@H](COP(=[OH+])([O-])[O-])[C@H](O)[C@@H]1O") -smiles(R"N=C\1/NC(=O)[C@@H](C(=O)N1)c1ccccc1") -smiles(R"Nc1nc(S)nc(c1)C(=O)N[C@H]1[C@H]2C[C@@H]3C[C@H](C2)C[C@H]1C3") -smiles(R"N=c1[nH]c2n(c(=O)nc3sc(Nc4ccccc4)nc23)c2sc(Nc3ccccc3)nc12") -smiles(R"N=c1[nH]c2n(c(=S)nc3sc(Nc4ccccc4)nc23)c2sc(Nc3ccccc3)nc12") -smiles(R"N=c1[nH]c2[nH]c[n+]3c2c(=[S+][Hg]3[C@@]23C4=C5C6=C2[Fe]27893456[C@@H]3C8=C7C2=C93)[nH]1") -smiles(R"N=c1[nH]c(=N)c2c([nH]o[n+]2[O-])n1") -smiles(R"N=c1[nH]n2c(nnc(c3ccccc3)c2c2ccccc2)n1") -smiles(R"N=c1[nH]nc2c3ccccc3n3c4ccccc4n(C)c3c12") -smiles(R"N=c1[nH][nH]/c(=S\2/[Pt@@](Cl)(Cl)/S(=c\3/[nH][nH]c(=N)s3)/[Pt@@]2(Cl)Cl)/s1") -smiles(R"N=c1[nH]onc1c1n(O)onc1c1no[nH]c1=N") -smiles(R"N=C\1/S[C@]23CCCN3C(=O)[C@@]3(CCCN3C2=O)S1") -smiles(R"N=c1sc2c([nH]1)c1cccc3cccc2c13") -smiles(R"NC1=[S+][Fe+2]234([S+]=C(N)c5cccc(c6cccc[n+]26)[n+]45)[n+]2ccccc2c2cccc1[n+]32") -smiles(R"NC1=[S+][Fe+2]234([S+]=C(N)c5cccc(=c6cccc[n+]36)[n+]45)[n+]3ccccc3c3cccc1[n+]23") -smiles(R"NC1=[S+][Fe]234([S+]=C(N)c5cccc(c6cccc[n+]26)[n+]35)[n+]2cccc(c2)c2cccc1[n+]42") -smiles(R"N#CBn1ccc(cc1)C(=O)NNCc1ccccc1") -smiles(R"N#CBn1ccc(cc1)C(=O)NNCc1cccc(c1)C(F)(F)F") -smiles(R"N#CBn1ccc(cc1)C(=O)NNCc1ccc(F)cc1") -smiles(R"N#CBn1ccc(cc1)C(=O)NNCc1ccc(OC)c(OC)c1") -smiles(R"N#CBn1cccc(c1)C(=O)NN[C@H](C)c1ccccc1") -smiles(R"N#CBn1ccc(cc1)C(=O)NN[C@H](C)c1ccccc1F") -smiles(R"N#CBn1ccc(cc1)C(=O)NN[C@H](C)c1cccc(F)c1") -smiles(R"N#CBn1ccc(cc1)C(=O)NN[C@H](C)c1ccc(Cl)cc1Cl") -smiles(R"N#CBn1ccc(cc1)C(=O)NN[C@H](C)c1ccc(OC)cc1OC") -smiles(R"N#C[C@]12CCCC[C@H]2CC[C@]2(OCCO2)C1") -smiles(R"N#C[C@]12CC[C@H](c3ccccc13)c1ccccc21") -smiles(R"N#C[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"NC[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"N#C[C@@]12[C@H]3[C@]4([C@@H]1[C@@]1(C(=O)C(C)(C)C)[C@@H]2[C@]3(C(=O)C(C)(C)C)[C@@]41C(=O)N(C)C(C)(C)C)C(=O)C(C)(C)C") -smiles(R"N#C[C@]12[C@@H]3[C@@H]4[C@H]1[C@@H]1[C@H]2[C@H]3[C@]41C(=O)N(C)C(C)(C)C") -smiles(R"N#C[C@@]12[C@@H]3[C@@H]4[C@H]2[C@@H]2[C@H]1[C@H]3[C@]42C(=O)N(C)C(C)C") -smiles(R"N#C[C@]12[C@H]3[C@H]4[C@@H]2[C@H]2[C@@H]1[C@@H]3[C@@]42C(=O)N(C(C)C)C(C)C") -smiles(R"NC[C@@]12[C@@H]3[C@H]4[C@H]5[C@@H]3[C@@H]1[C@H]5[C@@H]24") -smiles(R"N#C[C@]12[C@H]3C(=O)C=CC(=O)[C@H]3[C@H](c3ccccc13)c1ccccc21") -smiles(R"N#C[C@]12C(=O)N(C)C(=O)[C@@]1(C#N)[C@]12CCCC1") -smiles(R"N#C[C@]12C(=O)N(C)C(=O)[C@]2(C#N)[C@@]1(C)C") -smiles(R"N#C[C@]12C(=O)NC(=O)[C@]2(C#N)[C@]1(C)C") -smiles(R"N#C[C@]12C(=O)NC(=O)[C@]2(C#N)[C@]21CCCC2") -smiles(R"N#C[C@]12C(=O)NC(=O)[C@]2(C#N)[C@]21CCCCC2") -smiles(R"N#Cc1c2c3ccccc3ccn2c2nc3ccccc3nc12") -smiles(R"N#C[C@]1(c2oc3ccccc3n2)C(=O)C(=O)N([C@H]2[C@H]3C[C@@H]4C[C@H](C3)C[C@H]2C4)C(=O)C1=O") -smiles(R"N#Cc1ccc2c(ccc3ncccc23)n1") -smiles(R"N#C[C@@]1(C)C[C@]2(OCCO2)CC(C)(C)C1") -smiles(R"NC[C@]1(C)C[C@]2(OCCO2)CC(C)(C)C1") -smiles(R"N#CC1=C(C)/C(=c\2/o/c(=C\3/C(=O)N(/N=C/c4ccc(Cl)cc4)C(=O)C(=C3C)C#N)/c3nccnc23)/C(=O)N(/N=C/c2ccc(Cl)cc2)C1=O") -smiles(R"N#Cc1ccccc1c1nc2ccc(N)c3C(=O)c4ccccc4c(n1)c23") -smiles(R"N#Cc1ccc(cc1)[C@@H]1ON=C(c2ccccc2)N1[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"N#Cc1ccc(cc1)/C=N/[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"N#Cc1cccc(c1)N1C(=O)[C@H]2[C@H]3C=C[C@@H]([C@H]2C1=O)[C@H]1C(=O)N(c2cccc(C#N)c2)C(=O)[C@@H]31") -smiles(R"N#Cc1ccccc1/N=C(\CC[C@](C#N)(C#N)CC/C(=N\c1ccccc1C#N)/NC(C)(C)C)/NC(C)(C)C") -smiles(R"N#Cc1cccc(/C=N/[C@]23C[C@@H]4C[C@@H](C[C@@H](C4)C3)C2)c1") -smiles(R"N#Cc1c(C)cc(C)n(/N=C/[C@-]23C4=C5C6=C2[Fe+2]27893456[C-]3C8=C7C2=C93)c1=O") -smiles(R"N#Cc1c(C)cc(C)n(/N=C/[C@@-]23C4=C5C6=C2[Fe+2]27893456[C-]3C8=C7C2=C93)c1=O") -smiles(R"N(=C\c1ccc(/C=N\Nc2nc3ccccc3s2)cc1)/Nc1nc2ccccc2s1") -smiles(R"N(=C\c1ccco1)\C[C@H]1CC[C@@H](C/N=C\c2ccco2)CC1") -smiles(R"N#Cc1c(Cl)cc(cc1Cl)[C@@]1(OS(=O)(=O)c2ccc(C)cc2)[C@@H]2CC[C@H]1CC2") -smiles(R"N#CC1=C(C#N)[C@H]2CC[C@@H]1CC2") -smiles(R"N#Cc1c(C)nn2c1nnc1c(=O)[nH][nH]c(=N)sc21") -smiles(R"N#Cc1c(NCc2ccco2)c2ccccc2n2c1n(C)c1ccccc21") -smiles(R"N#Cc1c(NCCc2ccccn2)c2ccccc2n2c1n(C)c1ccccc21") -smiles(R"N#CC1(C#N)C(C)(C)[C@@H](C[Fe]2345(C#[O+])(C#[O+])[C@H]6C4=C3C2=C56)C1(C#N)C#N") -smiles(R"N#Cc1c(NCCCN2CCOCC2)c2ccccc2n2c1n(C)c1ccccc21") -smiles(R"N#Cc1c(NCCCn2cncc2)c2ccccc2n2c1n(C)c1ccccc21") -smiles(R"N#CC1(C#N)C(C#N)(C#N)[C@@]21CCCC[C@@H]2C") -smiles(R"N#CC1(C#N)C(C#N)(C#N)[C@]21CCCC[C@@H]2Cl") -smiles(R"N#CC1(C#N)[C@H]2c3ccccc3[C@H](c3ccccc23)C1(C#N)C#N") -smiles(R"N#CC1(C#N)[C@@H]2CC[C@@H](CC2)C1(C#N)C#N") -smiles(R"N#CC1(C#N)[C@H](C=C[C@@]21OCCCO2)c1ccccc1") -smiles(R"N#Cc1cnc(N)nc1NC[C@]1(COC(=O)C)C[C@@H](CCc2ccccc2)C1") -smiles(R"N#Cc1c[nH]n2c1n[n+]([O-])c1ccc(Cl)cc21") -smiles(R"N#Cc1cnn2c1n[n+]([O-])c1ccc(Cl)cc21") -smiles(R"N#Cc1c(=O)nc2[nH]n3c(nnc4c3ccc3ccccc43)c2c1c1ccc(Cl)cc1") -smiles(R"N#Cc1c(sc2c1c1ccccc1oc1=c2c(=O)c2ccccc2c1=O)NC(=O)C(F)(F)F") -smiles(R"NC[C@@]1(N2CCCC2)[C@H]2CCCC[C@H]12") -smiles(R"N#C[C@]1(/N=N/c2ccccc2)CC[C@@H](CC1)C(C)(C)C") -smiles(R"N#C[C@@]1(NNc2ccccc2)CC[C@@H](CC1)C(C)(C)C") -smiles(R"N#Cc1nnn(n1)c1ccccc1") -smiles(R"N#C[C@]1(O)C(C)(C)[C@](O)(C#N)[C@@]1(C)C") -smiles(R"N#CC[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"N#CC[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"NCC[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"NCC[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"N#CC(=c1c2nsnc2c(=C(C#N)C#N)c2nsnc12)C#N") -smiles(R"N#CC(=c1cc/c(=c\2/ccc(=C(C#N)C#N)s2)/s1)C#N") -smiles(R"N#CC(=c1ccc(=C2N3CCC[C@H]3CN2[C@]23C[C@@H]4C[C@@H](C[C@@H](C4)C3)C2)cc1)C#N") -smiles(R"N#C[C@](c1ccccc1)([C@H](CC(=O)c1ccccc1)c1ccccc1)[C@H](CC(=O)c1ccccc1)c1ccccc1") -smiles(R"N#CC(=c1ccc(=C(C#N)C#N)c2nsnc12)C#N") -smiles(R"N#C/C(=C/1\C=C/C(=N\OC(=O)c2ccccc2)/C=C1)/c1ccccc1") -smiles(R"N#C/C(=C/1\C=C/C(=N\OC(=O)Nc2ccccc2)/C=C1)/c1ccccc1") -smiles(R"N#C/C(=C\1/[SH+][Cu+2]2([SH+]1)[SH+]/C(=C(/C#N)\C(=O)c1ccccc1)/[SH+]2)/C(=O)c1ccccc1") -smiles(R"N#C/C(=C\1/[SH+][Ni+2]2([SH+]1)[SH+]/C(=C(\C#N)/c1ccccc1)/[SH+]2)/c1ccccc1") -smiles(R"N#C/C(=C\1/[SH+][Pt+2]2([SH+]1)[SH+]/C(=C(\C#N)/c1ccccc1)/[SH+]2)/c1ccccc1") -smiles(R"NCC(C)C") -smiles(R"N#C/C(=C\c1cc(Cl)cc(Cl)c1O)/[C@@H](c1ccc2OCOc2c1)/C(=C/c1cc(Cl)cc(Cl)c1O)/C#N") -smiles(R"N#C/C(=C\c1ccc(O)c(O)c1)/C(=O)N[C@H]1CC[C@@H](CC1)C[C@H]1CC[C@@H](CC1)NC(=O)/C(=C/c1ccc(O)c(O)c1)/C#N") -smiles(R"N#C/C=C\c1cn(cc1/C=C/C#N)S(=O)(=O)c1ccc(C)cc1") -smiles(R"N#CC(C)(C)[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"N#CC(C)(C)[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"N#C/C(=C\C=C\C1CCCCC1)/[C@@H]1CC[C@H](CC1)[N+](=O)[O-]") -smiles(R"N#C/C(=C\C=C\C1CCCCC1)/[C@H]1CC[C@@H](CC1)[N+](=O)[O-]") -smiles(R"N#CCCCC[N@@+]12CN3CN(CN(C3)C2)C1") -smiles(R"N#C[C@@](CCC(=O)/C=C/c1ccccc1)(CCC(=O)/C=C/c1ccccc1)S(=O)(=O)c1ccc(C)cc1") -smiles(R"N#CCCCCS[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"N#C/C(=C\[C@H]1CC[C@H](CC1)C(C)C)/[C@@H]1CC[C@H](CC1)[N+](=O)[O-]") -smiles(R"N#C/C(=C\[C@H]1CC[C@H](CC1)C(C)C)/[C@H]1CC[C@@H](CC1)[N+](=O)[O-]") -smiles(R"N#C/C(=C\[C@@H]1CC[C@H](CC1)N(C)C)/[C@@H]1CC[C@H](CC1)[N+](=O)[O-]") -smiles(R"N#C/C(=C\[C@@H]1CC[C@H](CC1)N(C)C)/[C@H]1CC[C@@H](CC1)[N+](=O)[O-]") -smiles(R"N#C/C(=C\[C@@H]1CC[C@H](CC1)NC(=O)C)/[C@@H]1CC[C@@H](CC1)[N+](=O)[O-]") -smiles(R"N#C/C(=C\[C@@H]1CC[C@H](CC1)NC(=O)C)/[C@H]1CC[C@H](CC1)[N+](=O)[O-]") -smiles(R"N#C/C(=C\[C@@H]1CC[C@@H](CC1)NC(=O)C)/[C@H]1CC[C@@H](C)CC1") -smiles(R"N#C/C(=C\[C@@H]1C[C@@H](Br)CC[C@@H]1O)/[C@@H]1CC[C@H](CC1)[N+](=O)[O-]") -smiles(R"N#C/C(=C\[C@@H]1C[C@@H](Br)CC[C@@H]1O)/[C@H]1CC[C@@H](CC1)[N+](=O)[O-]") -smiles(R"N#C/C(=C\[C@@H]1C[C@H](Br)C[C@H](Br)[C@H]1O)/[C@@H]1CC[C@H](CC1)[N+](=O)[O-]") -smiles(R"N#C/C(=C\[C@@H]1C[C@H](Br)C[C@H](Br)[C@H]1O)/[C@H]1CC[C@@H](CC1)[N+](=O)[O-]") -smiles(R"N#C/C(=C\[C@@H]1C[C@H](Cl)C[C@H](Cl)[C@H]1O)/[C@@H]1CC[C@H](CC1)[N+](=O)[O-]") -smiles(R"N#C/C(=C\[C@@H]1C[C@H](Cl)C[C@H](Cl)[C@H]1O)/[C@H]1CC[C@@H](CC1)[N+](=O)[O-]") -smiles(R"N#C/C(=C\[C@@H]1[C@H](Cl)CCC[C@H]1Cl)/[C@@H]1CC[C@H](CC1)[N+](=O)[O-]") -smiles(R"N#C/C(=C\[C@H]1[C@H](Cl)CCC[C@H]1Cl)/[C@@H]1CC[C@H](CC1)[N+](=O)[O-]") -smiles(R"N#CCC[C@H]1C(=[O+][Cu@]2([O+]=C1C)[O+]=C(C)[C@H](CCC#N)C(=[O+]2)C)C") -smiles(R"NCCCCNCCCC[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"NCCCCNCCCC[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"N#CCCN1C[C@H]2CC[C@H](CC2)C1") -smiles(R"NCCCN1CCN(CCCNc2ccc3nnn4c3c2c(=O)c2ccccc42)CC1") -smiles(R"N#CCC/N=C/1\C=C/C(=C(/c2ccccc2)\c2ccc(NCCC#N)cc2)/C=C1") -smiles(R"N#CCC/[N+](=C/1\C=C/C(=C(/c2ccc(cc2)Nc2ccc(cc2)NC(=O)C)\c2ccc(cc2)N(C)CCC#N)/C=C1)/C") -smiles(R"N#CCC/[N+](=C/1\C=C/C(=C(/c2ccc(cc2)N(C)CCC#N)\c2ccc(Nc3ccccc3)c3ccccc23)/C=C1)/C") -smiles(R"N#CCC/N=C\1/C=C/C(=C(/c2ccc(NCCC#N)cc2)\c2ccccc2Cl)/C=C1") -smiles(R"N#CCC/N=C\1/C=C/C(=C(/c2ccc(NCCC#N)cc2)\c2ccc(Cl)cc2Cl)/C=C1") -smiles(R"NCCCNCCCC[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"NCCCNCCCC[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"NCCCNCCCCNCCCC[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"NCCCNCCCCNCCCC[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"NCCCNCCCCNCCCNCCCC[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"NCCCNCCCCNCCCNCCCC[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"N#C[C@](C#N)(CC/C(=N\c1ccc(cc1)[N+](=O)[O-])/NC(C)(C)C)CC/C(=N\c1ccc(cc1)[N+](=O)[O-])/NC(C)(C)C") -smiles(R"N#CC(C#N)(CC/C(=N\c1ccc(cc1)[N+](=O)[O-])/NC(C)(C)C)CC/C(=N\c1ccc(cc1)[N+](=O)[O-])/NC(C)(C)C") -smiles(R"N#C[C@](C#N)(CC/C(=N\c1c(Cl)cccc1Cl)/NC(C)(C)C)CC/C(=N\c1c(Cl)cccc1Cl)/NC(C)(C)C") -smiles(R"N#CC(C#N)[C@@H]1c2ccccc2[C@H]([N+](=O)[O-])c2ccccc12") -smiles(R"N#CC(C#N)[C@H]1c2ccccc2[C@@H]([N+](=O)[O-])c2ccccc12") -smiles(R"N#C/C(=C(/N)\C#N)/N=C/[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"N#C/C(=C(/N)\C#N)/N=C/[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"N#C/C(=C(\N)/C#N)/N=C/C=N/C(=C(\N)/C#N)/C#N") -smiles(R"NCCCO[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"N#CCCO[C@@H]1[C@@H](OCCC#N)[C@@H](OCCC#N)[C@H](OCCC#N)[C@H](OCCC#N)[C@@H]1OCCC#N") -smiles(R"N#CCC(=O)N/N=C/1\CCC/C(=N\NC(=O)CC#N)/[C@H]1C(=O)CCCC(=O)Nc1c(C)cccc1C") -smiles(R"N#C[C@H]1C[C@@]21c1ccccc1C(=O)c1ccccc21") -smiles(R"N#C[C@@H]1C[C@]2(CC/C/1=N\NC(=O)N)c1ccccc1c1ccccc21") -smiles(R"N#C[C@@H]1C[C@@]2(CCC1=O)c1ccccc1c1ccccc21") -smiles(R"N#C[C@@H]1C[C@@]2(C(=O)C1=O)c1ccccc1c1ccccc21") -smiles(R"N#C[C@H]1C[C@]2([N+](=O)[O-])c3ccccc3[C@H]1c1ccccc21") -smiles(R"N#C[C@H]1C[C@@]2([N+](=O)[O-])c3ccccc3[C@@H]1c1ccccc21") -smiles(R"N#C[C@H]1C[C@@]2(OCCO2)CCN1C(=O)c1ccccc1") -smiles(R"NC[C@@H]1CCC[C@@]2(OCCO2)C1") -smiles(R"NC[C@@H]1CC[C@@H]1CN") -smiles(R"N#C[C@@H]1C[C@H]2c3ccccc3[C@@H]1c1ccccc21") -smiles(R"NC[C@H]1C[C@@H]2c3ccccc3[C@H]1c1ccccc21") -smiles(R"NC[C@@H]1C[C@H]2CC[C@@H]1CC2") -smiles(R"N#C[C@H]1[C@@H]2CC[C@]3(OCCO3)C[C@@H]2CCN1C(=O)c1ccccc1") -smiles(R"N#C[C@@H]1[C@H](C#N)[C@H]1C#N") -smiles(R"N#C[C@H]1[C@H](C#N)[C@H]1C#N") -smiles(R"N#C[C@H]1C(=[O+][Mn@@]2([O+]=C1C)[O+]=C(C)[C@H](C#N)C(=[O+]2)C)C") -smiles(R"N#C[C@@H]1C(=O)NC(=O)[C@@H](C#N)[C@]1(CC)c1ccccc1") -smiles(R"N#C[C@@H]1C(=O)NC(=O)[C@@H](C#N)[C@]1(C)CC(C)C") -smiles(R"N#C[C@H]1C(=O)NC(=O)[C@H](C#N)[C@]21c1ccccc1Oc1ccccc21") -smiles(R"N#C[C@@H]1C(=O)NC(=O)[C@H](C#N)[C@@]21CCCC2") -smiles(R"N#C[C@@H]1C(=O)NC(=O)[C@H](C#N)[C@]21CCCCC2") -smiles(R"N#C[C@@H]1C(=O)NC(=O)[C@H](C#N)[C@@]21CCN(CC2)Cc1ccccc1") -smiles(R"N#C[C@@H]1C(=O)NC(=O)[C@H](C#N)[C@]21CCN(C)CC2") -smiles(R"N#C[C@@H]1C(=O)NC(=O)[C@@H](C#N)[C@H]1c1ccc(cc1)[C@@H]1[C@H](C#N)C(=O)NC(=O)[C@H]1C#N") -smiles(R"N#C[C@H]1C(=O)NC(=O)[C@H](C#N)[C@@H]1c1ccc(Cl)cc1Cl") -smiles(R"N#C[C@@H]1C(=O)NC(=O)[C@@H](C#N)[C@H]1c1ccc(Cl)c(Cl)c1") -smiles(R"N#C[C@@H]1C(=O)NC(=O)[C@@H](C#N)[C@H]1CCc1ccccc1") -smiles(R"NC[C@@H]1O[Mo]234O[C@@H](CN)O[Mo]4(O1)(O[C@H](CN)O2)O[C@@H](CN)O3") -smiles(R"N#C[C@H](c1ccccc1)/C(=N\NC(=O)C(=O)NN)/C(=O)N[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"N#C[C@H](c1ccccc1)N1CCCN([C@H](C#N)c2ccccc2)[C@H]1c1ccc(cc1)N(C)C") -smiles(R"N#C[C@H](c1ccc(cc1)N(C)C)N1CCCN([C@H](C#N)c2ccc(cc2)N(C)C)[C@@H]1c1ccc(cc1)N(C)C") -smiles(R"NC[C@@H](C)O[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"N#C[C@H](NC12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)c1ccccc1") -smiles(R"N#C[C@@H](N[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1)c1ccccc1C(F)(F)F") -smiles(R"N#C[C@@H](NC12C[C@H]3C[C@H](C[C@H](C3)C2)C1)c1ccc(OC)c(OC)c1") -smiles(R"N#C[C@H](N[C@H](C)c1ccccc1)C[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"NC[C@@H](O)[C@@H]1O[C@@](C)(C)O[C@@H]1[C@H](O)CN") -smiles(R"NC[C@H](O)CN1C[C@H](O)CN[Pt@]21OC(=O)CC(=O)O2") -smiles(R"NC[C@H](O)C[N+]1(C[C@@H](O)CN[Pt@@]21OC(=O)CC(=O)O2)Cc1ccccc1") -smiles(R"NC[C@@H](O)C[N+]1(C[C@H](O)CN[Pt@@+2]21[OH+]C(=O)CC(=O)[OH+]2)Cc1ccccc1") -smiles(R"NCCN1C[C@@H]2CC[C@@H](CC2)C1") -smiles(R"NCCN1C(=O)[C@@H]2[C@H]3c4ccccc4[C@H](c4ccccc34)[C@@H]2C1=O") -smiles(R"NCCN[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"N#CC(=N)N[C@H]1CC[C@@H](CC1)[C@@H]1CC[C@@H](N)CC1") -smiles(R"N#CC(=N)N[C@@H]1CC[C@@H](CC1)[C@H]1CC[C@@H](O)CC1") -smiles(R"N#C[C@@](OC/C=C/c1ccccc1)(OC/C=C/c1ccccc1)c1cc2Cc3cc(cc(Cc4cc(cc(Cc5cc(cc(Cc(c1)c2OC/C=C/c1ccccc1)c5OC/C=C/c1ccccc1)C(C)(C)C)c4OC/C=C/c1ccccc1)[C@@](C#N)(OC/C=C/c1ccccc1)OC/C=C/c1ccccc1)c3OC/C=C/c1ccccc1)C(C)(C)C") -smiles(R"NCCS[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"N/C(=C\S(=O)(=O)c1ccccc1)/[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"N=C(CSSc1ccccc1)NC[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"N=C(CSSCC(=N)N[C@@]1(C)CC[C@H](CC1)C(C)(C)C)N[C@@]1(C)CC[C@@H](CC1)C(C)(C)C") -smiles(R"N=C(CSSCC(=N)NC[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)NC[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"N[C@@H]1CC[C@H](CC1)C[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"N[C@@H]1CC[C@H](CC1)CC1CCCCCC1") -smiles(R"N[C@H]1CC[C@@H](CC1)C[C@@H]1C[C@H]2CC[C@@H]1C2") -smiles(R"N[C@H]1CC[C@H](CC1)[C@@H]1CC[C@H](CC1)NC(=N)C(=N)N[C@H]1CC[C@H](CC1)[C@@H]1CC[C@@H](N)CC1") -smiles(R"N[C@H]1CC[C@@H](CC1)C(=O)[C@@H]1CC[C@@H](O)C[C@@H]1O") -smiles(R"N[C@@H]1CC[C@H](CC1)N(C)C") -smiles(R"N[C@H]1CC[C@@H](CC1)N(C)C") -smiles(R"N[C@@H]1CC[C@H](CC1)OC(=O)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"N[C@@H]1CC[C@H](CCCC2CCCC2)CC1") -smiles(R"N[C@@H]1C[C@H]2c3ccccc3[C@@H]1c1ccccc21") -smiles(R"N[C@@H]1CC(=O)[C@@H](C[C@@H]2C(=O)C[C@H](N)CC2=O)C(=O)C1") -smiles(R"N[C@H](C[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1)C(=O)N") -smiles(R"N#CN1CC[C@H]2C[C@]3(OCCO3)CC[C@H]2C1") -smiles(R"NC(=N)c1ccc(cc1)/N=N/c1c(C)nc2ccc3c4c(ccc3c2c1O)nc(C)c(/N=N\c1ccc(cc1)C(=N)N)c4O") -smiles(R"N#CNc1nc(CCC)c(C)c(n1)C(=O)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"N#C/N=C\1/[SH+][Co+2]2([SH+]1)[SH+]/C(=N/C#N)/[SH+]2") -smiles(R"N#C/N=C\1/[SH+][Pt+2]2([SH+]1)[SH+]/C(=N/C#N)/[SH+]2") -smiles(R"N=C(NC[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1)CS(=O)(=O)O") -smiles(R"N=C(NC[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)CSP(=O)(O)O") -smiles(R"N=C(NC[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)CSS(=O)(=O)O") -smiles(R"N=C(NCCCCCS[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)CSSCC(=N)NCCCCCS[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"N=C(NC[C@@H](C)O[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1)CSS(=O)(=O)O") -smiles(R"N#C/N=C\N1CC[C@@H](CC1)Cc1ccccc1") -smiles(R"N#C/N=C\N1C[C@H]2CC[C@H](CC2)C1") -smiles(R"N#CN/C(=N/[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)/Nc1ccncc1") -smiles(R"N=C(\N(C)/N=C/c1ccccc1)/N(C)/N=C\c1ccccc1") -smiles(R"NC(=N)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"NC(=N)NC12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"N=C(\N/N=C/c1cc(Br)cc(Br)c1O)/N/N=C\c1cc(Br)cc(Br)c1O") -smiles(R"N=C(\N/N=C/c1ccc2OCOc2c1)/N/N=C\c1ccc2OCOc2c1") -smiles(R"N=C(\N/N=C/c1cccc2ccccc12)/N/N=C/c1cccc2ccccc12") -smiles(R"N=C(\N/N=C/c1ccc(cc1)c1cn2cc(C)ccc2[n+]1C)/N/N=C/c1ccc(cc1)c1cn2cc(C)ccc2[n+]1C") -smiles(R"N=C(N/N=C/c1ccc(cc1)c1cn2cc(C)ccc2[n+]1C)N/N=C/c1ccc(cc1)c1cn2cc(C)ccc2[n+]1C") -smiles(R"N=C(\N/N=C/c1ccc(cc1)c1cn2ccsc2[n+]1C)/N/N=C/c1ccc(cc1)c1cn2ccsc2[n+]1C") -smiles(R"N=C(\N/N=C\c1ccc(cc1)c1cn2ccsc2[n+]1C)/N/N=C\c1ccc(cc1)c1cn2ccsc2[n+]1C") -smiles(R"N=C(N/N=C/c1ccc(cc1)c1cn2ccsc2[n+]1C)N/N=C/c1ccc(cc1)c1cn2ccsc2[n+]1C") -smiles(R"N=C(\N/N=C\c1ccccc1Cl)/N/N=C\c1ccccc1Cl") -smiles(R"N=C(\N/N=C/c1ccccc1)/N/N=C\c1ccccc1") -smiles(R"N=C(N/N=C/c1cccc(c1)[N+](=O)[O-])C(=N)N/N=C\c1cccc(c1)[N+](=O)[O-]") -smiles(R"N=C(N/N=C/c1ccccc1[N+](=O)[O-])C(=N)N/N=C\c1ccccc1[N+](=O)[O-]") -smiles(R"N=C(N/N=C\c1cccc(c1)[N+](=O)[O-])C(=N)N/N=C/c1cccc(c1)[N+](=O)[O-]") -smiles(R"N=C(N/N=C\c1ccccc1[N+](=O)[O-])C(=N)N/N=C/c1ccccc1[N+](=O)[O-]") -smiles(R"N=C(\N/N=C/c1ccc(cc1)OCc1cn2ccccc2[n+]1C)/N/N=C\c1ccc(cc1)OCc1cn2ccccc2[n+]1C") -smiles(R"N=C(\N/N=C/c1ccccc1O)/N/N=C\c1ccccc1O") -smiles(R"N=C(\N/N=C/c1ccc(C)cc1)/N/N=C\c1ccc(C)cc1") -smiles(R"N=C(\N/N=C/c1cc(Cl)ccc1O)/N/N=C\c1cc(Cl)ccc1O") -smiles(R"N=C(\N/N=C/c1ccncc1)/N/N=C\c1ccncc1") -smiles(R"NC(=N)NCCC[C@H](NC(=O)c1c2ccccc2n(C)c2ccccc12)C(=O)O") -smiles(R"NC(=N)NCCN1C[C@@H]2CC[C@@H](CC2)C1") -smiles(R"NC(=N)N/N=C\1/C(C)(C)/C(=N\NC(=N)N)/[C@@]1(C)C") -smiles(R"NC(=N)N/N=C/1\CC[C@@H](CC1)C1CCCCC1") -smiles(R"NC(=N)N/N=c/1\c(=N/NC(=N)N)\c2cc3ccccc3cc2\c1=N\NC(=N)N") -smiles(R"NC(=N)N/N=c/1\c(=N\NC(=N)N)\c2ccccc2\c1=N\NC(=N)N") -smiles(R"NC(=N)N/N=C(/C=C/c1ccccc1O)\C=C\c1ccccc1O") -smiles(R"NC(=N)N/N=C(\C=C\c1ccccc1O)/C=C/c1ccccc1O") -smiles(R"NC(=N)N/N=C(\C(=O)O)/C(=N\NC(=N)N)/C(=O)O") -smiles(R"NC(=N)NS(=O)(=O)c1ccc(cc1)NC(=O)c1c2ccccc2n(C)c2ccccc12") -smiles(R"NC(=N)S[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"NC(=N)SCc1ccc2nsnc2c1") -smiles(R"NC(=O)[C@@]12O[C@H]3C[C@H](C[C@H](C3)O2)O1") -smiles(R"NC(=O)c1nnn(n1)c1ccccc1") -smiles(R"NC(=O)[C@H]1C[C@]21c1ccccc1c1ccccc21") -smiles(R"NC(=O)[C@H]1C[C@]2(c3ccccn3)c3ccccc3[C@H]1c1ccccc21") -smiles(R"NC(=O)[C@@H]1CC[C@H](CC1)C(C)(C)C") -smiles(R"NC(=O)[C@@H]1C[C@@H](C[C@@H](C1)C(=O)N)C(=O)N") -smiles(R"NC(=O)[C@@H]1CCN(CC1)/N=N/c1c(C)n[nH]c1C(F)(F)F") -smiles(R"NC(=O)[C@@H]1C(=O)NC(=O)[C@H](C(=O)N)[C@@]1(C)C") -smiles(R"NC(=O)[C@H]1O[C@]21CCCC2") -smiles(R"NC(=O)[C@H](OC(=O)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1)c1ccccc1") -smiles(R"NC(=O)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"NC(=O)N/N=C\1/C(C)(C)/C(=N\NC(=O)N)/C1(C)C") -smiles(R"NC(=O)N/N=C/1\CC[C@@H](CC1)c1ccccc1") -smiles(R"NC(=O)N/N=C/1\CC[C@@H](CC1)C1CCCCC1") -smiles(R"NC(=O)N/N=C\1/CC[C@@H](CC1)CC1CCCCC1") -smiles(R"NC(=O)N/N=C/1\CC[C@H](CCOC(=O)c2ccccc2)CC1") -smiles(R"NC(=O)N/N=C/1\C[C@@H](C/C(=N\NC(=O)N)/C[C@H](C1)C(=O)O)C(=O)O") -smiles(R"NC(=O)N/N=C(\C)/[C@@H]1CC[C@H](CC1)c1ccccc1") -smiles(R"NC(=O)NOC(=O)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"NC(=O)Oc1ccc(cc1)[C@H]1CC(=O)[C@@H](C(=O)N)C(=O)C1") -smiles(R"N#CS[Co]1234([S+]=C([N-][N+]3=C(C)c3cccc[n+]13)N1C[C@@H]3CC[C@@H](CC3)C1)[S+]=C([N-][N+]4=C(C)c1cccc[n+]21)N1C[C@H]2CC[C@H](CC2)C1") -smiles(R"N#CS[Co]1234([S+]=C([N-][N+]3=C(C)c3cccc[n+]13)N1C[C@H]3CC[C@H](CC3)C1)[S+]=C([N-][N+]4=C(C)c1cccc[n+]21)N1C[C@H]2CC[C@H](CC2)C1") -smiles(R"NC(=S)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"NC(=S)NC[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"NC(=S)N/N=C/1\CC[C@@H](CC1)C1CCCCC1") -smiles(R"NC(=S)N/N=C/[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"NC(=S)N/N=C/c1ccc(cn1)OC(=O)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"NC(=S)N/N=C/c1nc2ncnc3ccn1c23") -smiles(R"[nH]1ncc(c1)[C@@]12[C@H]3[C@@H]4[C@@H]5[C@H]3[C@H]2[C@@H]5[C@H]14") -smiles(R"[NH-]=[N+]=CC(=O)[C@@H](OC(=O)C)[C@@H](OC(=O)C)[C@H](OC(=O)C)C(=O)C=[N+]=[NH-]") -smiles(R"[NH-]=[N+]=CC(=O)[C@@H](OC(=O)C)[C@H](OC(=O)C)[C@H](OC(=O)C)C(=O)C=[N+]=[NH-]") -smiles(R"[NH-]=[N+]=N[C@@]12C[C@@]3(C)C[C@](C)(C[C@](C)(C3)C2)C1") -smiles(R"[NH-]=[N+]=NC12C[C@]3(C)C[C@@](C)(C[C@@](C)(C3)C2)C1") -smiles(R"[NH-]=[N+]=N[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"[NH-]=[N+]=NC12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"[NH-]=[N+]=NC12C[C@H]3[C@@H]4CC5C[C@H]3[C@H](C2)[C@@H](C5)[C@@H]4C1") -smiles(R"[NH-]=[N+]=N[C@]12C[C@@H]3[C@H]4C[C@@H]5C[C@H]([C@H]4C1)[C@H](C2)[C@H]3C5") -smiles(R"[NH-]=[N+]=Nc1cc2c(no[n+]2[O-])cc1[N+](=O)[O-]") -smiles(R"[NH-]=[N+]=Nc1cc2c(NO[N+]2[O-])cc1[N+](=O)[O-]") -smiles(R"[NH-]=[N+]=Nc1ccc(cc1)/C=C/1\C[C@@H](C/C(=C\c2ccc(N=[N+]=[NH-])cc2)/C1=O)C(C)(C)C") -smiles(R"[NH-]=[N+]=Nc1ccc(cc1)/C=C/1\C[C@H](C/C(=C\c2ccc(N=[N+]=[NH-])cc2)/C1=O)C(C)(C)C") -smiles(R"[NH-]=[N+]=Nc1cc(N)c2nn[nH]n2[nH]1") -smiles(R"[NH-]=[N+]=Nc1cc(N)c2nnnn2n1") -smiles(R"[NH-]=[N+]=NC(=O)[C@@]1(Br)CC[C@@H]2c3ccccc3[C@@](C1)([N+](=O)[O-])c1ccccc21") -smiles(R"[NH-]=[N+]=NC(=O)[C@@]1(Br)CC[C@H]2c3ccccc3[C@](C1)([N+](=O)[O-])c1ccccc21") -smiles(R"Nn1c2ccccc2nc2c1c1cccc3cccc2c13") -smiles(R"Nn1cccc2ccccc12") -smiles(R"Nn1ccccc1") -smiles(R"NN1C(=N[NH+]2C1=[S+][Fe@@+2]12[Cl-][Fe@+2]2([S+]=C3N(N)C(=N[NH+]23)c2ccccc2)[Cl-]1)c1ccccc1") -smiles(R"NN1C(=N[NH+]2C1=[S+][Fe@+2]12[Cl-][Fe@@+2]2([S+]=C3N(N)C(=N[NH+]23)c2ccccc2)[Cl-]1)c1ccccc1") -smiles(R"NN[C@@]12CC[C@@H](c3ccccc13)c1ccccc21") -smiles(R"NN[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"N/N=c/1\c2ccccc2c2cc3c(cc12)/c(=N\N)/c1ccccc31") -smiles(R"N/N=C/1\C(=C\c2ccccc2)\CCC\C1=C/c1ccccc1") -smiles(R"NNc1ccc2nccn2n1") -smiles(R"NNc1ccc2nnc(Cl)n2n1") -smiles(R"N/N=C/1\[C@@H]2CN3CCN(C2)C[C@@]1(C3)c1ccc(cc1)[N+](=O)[O-]") -smiles(R"N/N=C/1\[C@H]2CN3CCN(C2)C[C@]1(C3)c1ccc(cc1)[N+](=O)[O-]") -smiles(R"N/N=C/1\C(=N/N)\C(C)(C)C[S@](=O)(=O)CC1(C)C") -smiles(R"NNc1nnc2c3ccccc3CCc3cc4cc(C)oc4c1c23") -smiles(R"N/N=C/c1nc2ncnc3ccn1c23") -smiles(R"N/N=C(\C)/C(=N\N)/C") -smiles(R"N/N=C\C=N\N") -smiles(R"NN[C@H](C)C[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"NNC(=O)[C@-]12C3=C4C5=C1[Fe+2]16782345C2=C7[C@-]8(C(=O)NN)C6=C12") -smiles(R"NNC(=O)[C@@-]12C3=C4C5=C1[Fe+2]16782345C2=C7[C@-]8(C(=O)NN)C6=C12") -smiles(R"NNC(=O)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"NNC(=O)[C@@H]1CC2=C(C1)C[C@@H](C2)C(=O)NN") -smiles(R"NNC(=O)[C@@H]1C[C@@H]2c3ccccc3[C@H]1c1ccccc21") -smiles(R"NNC(=O)[C@H]1[C@@H]2CCCC[C@@H]12") -smiles(R"NNC(=O)[C@H]1[C@@H](C(=O)NN)[C@@H]1C(=O)NN") -smiles(R"NNC(=O)[C@@H]1[C@@H](C(=O)NN)[C@@H]2c3ccccc3[C@H]1c1ccccc21") -smiles(R"NNC(=O)[C@@H]1[C@@H](C(=O)O)[C@@H]2c3ccccc3[C@H]1c1ccccc21") -smiles(R"NNC(=O)CSc1n[nH]c(n1)c1c(C)no[n+]1[O-]") -smiles(R"NNC(=O)CSc1n[nH]c(n1)C1=C(C)NO[N+]1[O-]") -smiles(R"NNC(=O)O[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"NNC(=S)N/N=C\1/C(C)(C)/C(=N/NC(=S)NN)/C1(C)C") -smiles(R"N[Pt](Cl)(Cl)(Cl)(Cl)n1cccc2ccccc12") -smiles(R"N[Pt](Cl)(Cl)(Cl)(Cl)n1csc2ccccc12") -smiles(R"N[Pt](Cl)(Cl)(Cl)(Cl)n1cscc1") -smiles(R"N[Pt](Cl)(Cl)n1csc2ccccc12") -smiles(R"N[Pt](Cl)(Cl)n1cscc1") -smiles(R"O1C[C@@H]1C[N@@+]12CN3CN(CN(C3)C2)C1") -smiles(R"O1C[C@H]1CN1CC[C@@H](CC1)[C@@H]1CCN(CC1)C[C@H]1OC1") -smiles(R"O1CC[N+]2(CC1)Cc1c(ccc3ccccc13)[OH+][Cu@@+2]12[Cl-][Cu@+2]2([OH+]c3ccc4ccccc4c3C[N+]32CCOCC3)[Cl-]1") -smiles(R"O1CC[N+]2(CC1)Cc1c(ccc3ccccc13)[OH+][Cu@+2]12[Cl-][Cu@@+2]2([OH+]c3ccc4ccccc4c3C[N+]32CCOCC3)[Cl-]1") -smiles(R"O1CCN(CC1)[C@@]12O[C@@]3(N4CCOCC4)[C@@H]4[C@H]5C[C@H]([C@@H]6[C@H]5[C@H]3[C@H]26)[C@H]14") -smiles(R"O1CCN(CC1)c1n2ccccc2c2n1c1ccccc1n1c2c2ccccn2c1N1CCOCC1") -smiles(R"O1CC/S(=[O+]\[Hg+2](/[O+]=S\2/CCOCC2)(/[O+]=S/2\CCOCC2)(/[O+]=S\2/CCOCC2)(/[O+]=S/2\CCOCC2)/[O+]=S/2\CCOCC2)/CC1") -smiles(R"O1CC/S(=[O+]\[Hg+2](/[O+]=S\2/CCOCC2)(/[O+]=S\2/CCOCC2)(/[O+]=S\2/CCOCC2)(/[O+]=S\2/CCOCC2)/[O+]=S\2/CCOCC2)/CC1") -smiles(R"O1[C@H]2[C@@H]1[C@@H]1C[C@H]2[C@@]23O[C@]13[C@@H]1C[C@H]2[C@H]2O[C@@H]12") -smiles(R"O1[C@@H]2[C@@H]1[C@@H]1O[C@H]1[C@H]1O[C@H]1[C@@H]1O[C@@H]21") -smiles(R"O1[C@@H]2[C@H]3O[C@H]3[C@@H]3O[C@@H]3[C@H]12") -smiles(R"O1CN2c3nonc3N3COCN4[C@@H]3[C@@H]2N(C1)c1nonc41") -smiles(R"O1NC2=N[C@H]3N=C4NONC4=N[C@@H]3N=C2N1") -smiles(R"O1[Si@@H]2[Si@H]3O[Si@H]3[Si@@H]3O[Si@@H]3[Si@H]12") -smiles(R"OB1O[C@H](C)[C@@H](C)[C@@H](C)O1") -smiles(R"OB(O)[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"OB(O)[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"OB(O)[C@-]12C3=C4C5=C1[Fe+2]16782345C2=C7[C@@-]8(B(O)O)C6=C12") -smiles(R"O[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"O[C@]12[C@H]3CCC[C@H]1CCC[C@@H]2CCC3") -smiles(R"O=c1c2c3sc4ccccc4[nH]c3ccc2c(=O)c2ccccc12") -smiles(R"O=c1c2cc3ccccc3cc2oc2cc3ccccc3cc12") -smiles(R"O=C1c2cc3nc4c(nc3cc2C(=O)c2ccccc12)c1ccccc1c1ccccc41") -smiles(R"O=c1c2cc3[nH]c4ccccc4c(=O)c3cc2[nH]c2ccccc12") -smiles(R"O=C1[C@]2(CCC[C@@]31CO[C@]1(CCCCC1)OC3)CO[C@@]1(CCCCC1)OC2") -smiles(R"O=c1c2cccc3c4ccccc4c4sc5ccccc5n1c4c23") -smiles(R"O=c1c2cccc3cccc(c23)/c/1=c\1/c(=O)c2cccc3cccc1c23") -smiles(R"O=c1c2c(ccc3ccccc23)oc2ccc3ccccc3c12") -smiles(R"O=c1c2ccccc2c2c1c1c3ccccc3c(=O)c1c1c2c(=O)c2ccccc12") -smiles(R"O=C1c2ccccc2c2ccc(cc12)NC(=O)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"O=C1c2ccccc2c2nc3ccc4C(=O)c5ccccc5c5nc6ccc1c2c6c3c45") -smiles(R"O=C1c2ccccc2c2nccc3c2c1nc1ccccc31") -smiles(R"O=C1c2ccccc2c2nc(cc3c2c1nc1ccccc31)c1cccnc1") -smiles(R"O=C1c2ccccc2c2nc(cc3c2c1nc1ccccc31)c1cccs1") -smiles(R"O=C1c2ccccc2c2nc(cc3c2c1nc1ccccc31)c1ccncc1") -smiles(R"O=C1c2ccccc2c2nc(cc3c4ccccc4nc1c23)c1ccccc1") -smiles(R"O=C1c2ccccc2c2nccc3ccnc1c23") -smiles(R"O=C1c2ccccc2c2nc(/C=C/c3ccccc3)cc3c4ccccc4nc1c23") -smiles(R"O=C1c2ccccc2C(=O)c2c1c1c(c3c2c2ccccc2n3C)n(C)c2ccccc12") -smiles(R"O=c1c2ccccc2c(=O)c2c1c1c(=O)c3ccccc3c(=O)c1c1c2c(=O)c2ccccc2c1=O") -smiles(R"O=c1c2ccccc2c(=O)c2c1c(c1ccccc1)c1c(c2c2ccccc2)c(=O)c2ccccc2c1=O") -smiles(R"O=C1c2ccccc2C(=O)c2c1ccc1nc3c4cccc5cc6ccccc6c(c3nc21)c45") -smiles(R"O=C1c2ccccc2C(=O)C2=C1[C@H]1c3ccccc3[C@@H]2c2ccccc12") -smiles(R"O=C1c2ccccc2C(=O)c2c1sc1nc3c(=O)n(C)c(=O)n(C)c3n21") -smiles(R"O=c1c2ccccc2c(=O)c2c(cc3sc4c(ccc5c4c(=O)c4ccccc4c5=O)[nH]c3c12)NC(=O)c1ccc2C(=O)c3ccccc3c3nsc1c23") -smiles(R"O=C1c2ccccc2C(=O)[C@H]2[C@@H]1[C@H]1c3ccccc3[C@@H]2c2ccccc12") -smiles(R"O=C1c2ccccc2C(=O)[C@@H]2[C@H]1[C@H]1[C@@H]2C(=O)c2ccccc2C1=O") -smiles(R"O=C1c2ccccc2C(=O)[C@@H]2[C@@H]1C(=O)c1ccccc1C2=O") -smiles(R"O=c1c2ccccc2c(=O)n2n1[C@H](c1ccccc1)N(O[C@@]12CCCCC1)C(C)(C)C") -smiles(R"O=c1c2ccccc2n2nnc3cccc1c23") -smiles(R"O=c1c2ccccc2n2nnc3ccc(NCCCNCCNCCCNc4ccc5nnn6c5c4c(=O)c4ccccc64)c1c23") -smiles(R"O=c1c2ccccc2nc2sc3nc4ccccc4c(=O)n3n12") -smiles(R"O=c1c2ccccc2ncn1[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"O=C1c2cccc(NC(=O)c3ccc4C(=O)c5ccccc5c5ncnc3c45)c2C(=O)c2ccccc12") -smiles(R"O=C1c2cccnc2c2nccc3c2c1nc1ccccc31") -smiles(R"O=C1c2cccnc2c2nc(cc3c2c1nc1ccccc31)c1ccccc1") -smiles(R"O=C1c2cccnc2c2nc(cc3c2c1nc1ccccc31)c1cccnc1") -smiles(R"O=C1c2cccnc2c2nc(cc3c2c1nc1ccccc31)c1ccncc1") -smiles(R"O=C1c2cccnc2c2nccc3c4CCCCc4nc1c23") -smiles(R"O=C1c2cccnc2c2nc(cc3c4ccccc4nc1c23)c1ccccn1") -smiles(R"O=C1c2cccnc2c2nccc3ccnc1c23") -smiles(R"O=C1c2cccnc2c2nc(/C=C/c3ccccc3)cc3c2c1nc1ccccc31") -smiles(R"O=C1c2cccnc2C(=O)c2c1nc1ccccc1c2c1ccc2c3c(nc4ccccc24)C(=O)c2cccnc2c13") -smiles(R"O=C1[C@@]2(C[C@@H]3C=C[C@H]2C3)C(=O)[C@]21C[C@@H]1C=C[C@H]2C1") -smiles(R"O=C1[C@]2(C)CN3C[C@@]1(C)C(=O)[C@@](C)(C3)C2=O") -smiles(R"O=c1c2ccncc2cc2c3[nH]c4ccccc4c3ccn12") -smiles(R"O=C1[C@@]2(Cl)[C@]3(Cl)[C@]4(Cl)[C@@]2(Cl)[C@]2(Cl)[C@@]1(Cl)[C@@]3(Cl)[C@]2(Cl)[C@]4(Cl)Cl") -smiles(R"O=C1[C@@]2(Cl)[C@]3(Cl)[C@]4(Cl)[C@@]2(Cl)[C@]2(Cl)[C@@]1(Cl)[C@@]3(Cl)[C@]2(Cl)[C@@]4(Cl)Cl") -smiles(R"O=C1[C@]2(Cl)[C@H]3CC[C@@H]4[C@@H]5CC[C@H]3[C@@]1(Cl)[C@]5(Cl)[C@]24Cl") -smiles(R"O=c1c2c(nc3sc4ccccc4c(=O)n23)n(C)c(=O)n1C") -smiles(R"O=c1c2c(nc3sc4nc5ccccc5nc4n23)n(C)c(=O)n1C") -smiles(R"O=C1c2cn(C)c(=O)cc2c2nc3ccccc3c3ccnc1c23") -smiles(R"O=C1[C@@]2(CO[C@@]3(CCCCC3)OC2)CC[C@]21CO[C@@]1(CCCCC1)OC2") -smiles(R"O=c1c2c(sc3CCCCc23)nc2sn3c(=O)c4c(sc5CCCCc45)nc3n12") -smiles(R"O=C1c2nc(C)c(C)nc2C(=O)C2=C1[C@H]1c3ccccc3[C@@H]2c2ccccc12") -smiles(R"Oc1c2OCN(Cc2c(C(=O)O)c2CN(COc12)C1CCCCC1)C1CCCCC1") -smiles(R"O=C1c2scnc2c2nccc3c2c1nc1ccccc31") -smiles(R"O=C1C[C@]23CCC[C@]3(C1)CC(=O)C2") -smiles(R"O=C1C[C@]23CCCCCCCCCC[C@]3(C1)CC(=O)C2") -smiles(R"Oc1cc2c(cc1O)[C@]1(C)CC[C@@]2(C)c2cc(O)c(O)cc12") -smiles(R"O=C1C[C@]2(C)C[C@]3(OC[C@](C)(C)CO3)C[C@@]2(C)C1") -smiles(R"O=C1Cc2ccccn2[Pt@](N)(Cl)O1") -smiles(R"O=C1C[C@@]2(C)[C@@H](CC[C@@H]2C2(C)OCCO2)[C@H]2CC[C@H]3C[C@]4(OCCO4)CC[C@]3(C)[C@@H]12") -smiles(R"O=C1C[C@@]2(CCN(CC2)C[C@@H]2COc3ccccc3O2)C(=O)N1N1CCCCCC1") -smiles(R"O=C1C=C2[C@H](C)CC[C@]3(OCCO3)[C@]2(C)C[C@@H]1O") -smiles(R"Oc1cc2[nH]c3cccc(C)c3c(=O)c2c2[nH]c3cccc(C)c3c(=O)c12") -smiles(R"O=C1CC[C@-]23C4=C5C6=C2[Fe+2]27893456C3=C8[C@@-]19C7=C23") -smiles(R"O=C1CC[C@@-]23C4=C5C6=C2[Fe+2]27893456C3=C8[C@@-]19C7=C23") -smiles(R"O=C1/C(=C\[C@-]23C4=C5C6=C2[Fe+2]27893456[C-]3C8=C7C2=C93)/CCC/C/1=C/[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"O=C1/C(=C\[C@-]23C4=C5C6=C2[Fe+2]27893456[C-]3C8=C7C2=C93)/CCC/C/1=C/[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"O=C1/C(=C\[C@-]23C4=C5C6=C2[Fe+2]27893456[C-]3C8=C7C2=C93)/COC/C/1=C/[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"O=C1/C(=C\[C@-]23C4=C5C6=C2[Fe+2]27893456[C-]3C8=C7C2=C93)/COC/C/1=C/[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"Oc1ccc2c3c1c(O)nnc3c1cccc3cccc2c13") -smiles(R"Oc1ccc2c(c1)[C@]13CCCC[C@@H]3[C@H](N(C)CC1)[C@@]12CC1") -smiles(R"O=C1C=C[C@]2(C=C1)C[C@@H](NC(=O)C(F)(F)F)C(=O)O2") -smiles(R"O=C1C=C[C@]2(C=C1)C[C@@H](NC(=O)OCc1ccccc1)C(=O)O2") -smiles(R"O=C1CC[C@]2(CC1)[C@@H](O)c1ccccc1C2(C)C") -smiles(R"O=C1CC[C@]2(C)C(=C1C)CCC[C@@]12OCCO1") -smiles(R"O=C1CC[C@@]2(C)C(=C1)CC[C@H]1[C@@H]2CC[C@]2(C)[C@H](CC[C@@H]12)O[Si@](O[C@H]1CC[C@H]2[C@H]3CCC4=CC(=O)CC[C@]4(C)[C@H]3CC[C@]12C)(O[C@H]1CC[C@H]2[C@H]3CCC4=CC(=O)CC[C@]4(C)[C@H]3CC[C@]12C)c1ccccc1") -smiles(R"O=C1CC[C@@]2(C)C(=C1)CC[C@@H]1[C@@H]3CC[C@H](O[Si@](C)(C)O[C@H]4CC[C@H]5[C@H]6CCC7=CC(=O)CC[C@]7(C)[C@H]6CC[C@]45C)[C@@]3(C)CC[C@H]21") -smiles(R"O=c1/c(=C/c2ccc3OCOc3c2)/sc2nnc(c3ccco3)n12") -smiles(R"O=c1/c(=C/c2ccc3OCOc3c2)/sc2nnc(Cc3ccccc3)n12") -smiles(R"O=c1/c(=C/c2cccc3ccccc23)/sc2nc3ccccc3n12") -smiles(R"O=C1CC[C@@]2(CCC[C@@]3(CCC(=O)CC3)C2=O)CC1") -smiles(R"Oc1ccc2ccccc2c1/C=c/1\sc2nc3ccccc3n2c1=O") -smiles(R"Oc1ccc2ccccc2c1/C=N/C[C@H]1CC[C@@H](C/N=C/c2c(O)ccc3ccccc23)CC1") -smiles(R"O[C@]1(C#Cc2ccccc2)c2ccccc2[C@@](O)(C#Cc2ccccc2)c2ccccc12") -smiles(R"O=c1/c(=C\c2ccc(cc2)/C=c\2/sc3nc4ccccc4n3c2=O)/sc2nc3ccccc3n12") -smiles(R"O=C1/C(=C/c2ccc(cc2)N(C)C)/CC/C/1=C/c1ccc(cc1)N(C)C") -smiles(R"O=c1/c(=C/c2ccccc2[N+](=O)[O-])/sc2nc3ccccc3n12") -smiles(R"O=c1/c(=C/c2ccccc2[N+](=O)[O-])/sc2[nH]c3ccccc3n12") -smiles(R"O=c1/c(=C\c2ccccc2[N+](=O)[O-])/sc2[nH]nc(c3cccnc3)n12") -smiles(R"O=c1/c(=C/c2ccccc2[N+](=O)[O-])/sc2[nH]nc(c3ccco3)n12") -smiles(R"O=c1/c(=C\c2ccccc2[N+](=O)[O-])/sc2nnc(c3cccnc3)n12") -smiles(R"O=c1/c(=C/c2ccccc2[N+](=O)[O-])/sc2nnc(c3ccco3)n12") -smiles(R"O=c1/c(=C\c2ccccc2)/sc2nc(nn12)c1ccccc1") -smiles(R"O=c1/c(=C/c2ccccn2)/sc2nc3cc4OCCOc4cc3n12") -smiles(R"O=C1/C(=C\c2ccco2)/CC[C@@H]2C[C@@]3(OCCO3)CC[C@@]12C") -smiles(R"O=c1/c(=C/c2ccco2)/sc2nc3ccccc3n12") -smiles(R"Oc1ccc2cc(C(=O)Nc3scc(n3)[C@]34C[C@@H]5C[C@@H](C[C@@H](C5)C4)C3)c(=O)oc2c1") -smiles(R"O=C1CC[C@@]2(C[C@@H]1N)c1ccccc1c1ccccc21") -smiles(R"O=C1C=C[C@]2(OCCO2)CC[C@@H]1c1cccc(c1)C1(C)OCCO1") -smiles(R"O=C1CC[C@]2(OCCO2)C[C@@H]1C") -smiles(R"O=C1CC[C@]2(OCCO2)C[C@H]1CCSc1ccccc1") -smiles(R"O=C1CC[C@@]2(OCCO2)C[C@H]1CCS(=O)c1ccccc1") -smiles(R"O=C1CC[C@]2(OCCO2)C[C@H]1[C@H]1C=CCC1") -smiles(R"O=C1CC[C@]2(OCCO2)[C@@H](C)c2cc(N)c(C)cc2N1Cc1ccccc1") -smiles(R"O=C1CCC[C@]23[C@@H]4CCC[C@@H]4[C@@]13[C@H]1CCC[C@@H]21") -smiles(R"O=C1CCCC2=C1[C@@]1(O[C@@H]3C=CC=CN23)C(=O)c2ccccc2C1=O") -smiles(R"Oc1cc(cc2cc(cc(NS(=O)(=O)c3ccc4[OH+][Pt@@+2]5(N[C@@H]6CCCC[C@H]6N5)[OH+]C(=O)c4c3)c12)[S@](=O)(=[OH+])[O-])[S@](=O)(=[OH+])[O-]") -smiles(R"Oc1cc(cc2cc(cc(NS(=O)(=O)c3ccc4[OH+][Pt@+2]5(N[C@@H]6CCCC[C@H]6N5)[OH+]C(=O)c4c3)c12)[S@](=O)(=[OH+])[O-])[S@](=O)(=[OH+])[O-]") -smiles(R"Oc1ccc(cc1)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"Oc1ccc(cc1)[C@@]1(Cl)[C@](Cl)(C(F)(F)F)[C@@]1(Cl)C(F)(F)F") -smiles(R"Oc1ccc(cc1)[C@@]1(N=C(Nc2ccc(cc2)[S@](=O)(=O)c2ccc(cc2)NC2=N[C@@](c3ccc(O)cc3)(c3ccccc23)c2ccccc2O)c2ccccc12)c1ccccc1O") -smiles(R"Oc1ccccc1/C=c\1/sc2nc3ccccc3n2c1=O") -smiles(R"Oc1ccc(cc1)[C@@H]1CC(=O)[C@H](C(=O)Nc2ccccc2)C(=O)C1") -smiles(R"Oc1ccccc1[C@H]1[N+]2=Cc3ccccc3[OH+][Zr]34562([OH+]c2ccccc2C=[N+]14)[OH+]c1ccccc1C=[N+]5[C@H](c1ccccc1O)[N+]6=Cc1ccccc1[OH+]3") -smiles(R"Oc1ccc(cc1)[C@H]1N(C2CCCCC2)[C@H](c2ccc(O)cc2)N(C2CCCCC2)[C@H](c2ccc(O)cc2)N1C1CCCCC1") -smiles(R"Oc1ccccc1[C@H]1N(CC/N=C\c2ccccc2O)CCN1CC/N=C\c1ccccc1O") -smiles(R"Oc1cccc(c1)[C@@H]1N[Pt@](Cl)(Cl)N[C@@H]1c1cccc(O)c1") -smiles(R"Oc1cccc(c1)[C@@H]1N[Pt@](Cl)(Cl)N[C@H]1c1cccc(O)c1") -smiles(R"Oc1cccc(c1)[C@@H]1N[Pt@@](Cl)(Cl)N[C@H]1c1cccc(O)c1") -smiles(R"Oc1ccc(cc1)[C@@H]1N[Pt@](Cl)(Cl)N[C@@H]1c1ccc(O)cc1") -smiles(R"Oc1ccc(cc1)[C@@H]1N[Pt@@](Cl)(Cl)N[C@H]1c1ccc(O)cc1") -smiles(R"Oc1ccc(cc1)[C@H]1O[C@H]1C(=O)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"Oc1ccccc1[C@H](/N=C/c1ccccc1O)/N=C/c1ccccc1O") -smiles(R"Oc1ccccc1[C@@H](N(C)/N=C\c1ccccc1O)N(C)/N=C\c1ccccc1O") -smiles(R"Oc1ccc(cc1CN[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)c1ccccc1") -smiles(R"Oc1cc(ccc1/C=N/c1ccccc1)[S@](=O)(=O)c1ccc(/C=N/c2ccccc2)c(O)c1") -smiles(R"Oc1ccccc1/C(=N\CC/N=C(\C)/c1ccccc1O)/C") -smiles(R"Oc1ccccc1/C=N/[C@@H]1CC[C@@H](CC1)C[C@H]1CC[C@H](CC1)/N=C/c1ccccc1O") -smiles(R"Oc1ccccc1/C=N/N1/C(=N\c2ccccc2)/C(=N\c2ccccc2)/N(C1=S)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"Oc1ccccc1/C=N/N/C(=N/N=C/c1ccccc1O)/N/N=C/c1ccccc1O") -smiles(R"Oc1ccccc1C(=O)[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"Oc1ccccc1C(=O)[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"Oc1ccc(cc1)C(=O)CN[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"Oc1ccc(cc1)C(=O)O[C@@H]1CN2CC[C@H]1CC2") -smiles(R"Oc1ccccc1[Hg]N1C(=O)[C@@H]2[C@H](C1=O)[C@]1(Cl)C(=C(Cl)[C@@]2(Cl)[C@@]1(Cl)Cl)Cl") -smiles(R"Oc1ccc(cc1)N1C(=O)[C@@H]2[C@H](C1=O)[C@]1(Cl)C(=C(Cl)[C@@]2(Cl)[C@]1(Cl)Cl)Cl") -smiles(R"Oc1ccc(cc1)/N=C/1\CC/C(=C(\c2ccccc2)/c2ccc(cc2)Nc2ccc(O)cc2)/CC1") -smiles(R"Oc1ccc(cc1/N=N/c1ccc(cc1)[S@@](=O)(=O)c1ccc(/N=N/c2cc(ccc2O)S(=O)(=O)O)cc1)S(=O)(=O)O") -smiles(R"O=c1/c(=C\C=C\c2ccccc2)/sc2nc3ccccc3n12") -smiles(R"O[C@]1(CCCCCCCC[C@](O)(CCCCCCCC1)c1ccccc1)c1ccccc1") -smiles(R"O=C1CC(C)(C)C[C@@H]2C[C@@]3(OCCO3)CC[C@]12C") -smiles(R"O=C1C[C@@](C)(C)CC(=O)C1C(CC[C@@H]1CCCCC1=O)C1C(=O)C[C@@](C)(C)CC1=O") -smiles(R"O=C1CCC[C@H]2[C@H]1CCC[C@]12OCCO1") -smiles(R"Oc1cc(CCNC(=O)[C@]23C[C@@H]4C[C@@H](C[C@@H](C4)C3)C2)ccc1O") -smiles(R"Oc1ccc(c(O)c1)/C(=N/N=C(/C)\c1ccc(O)cc1O)/C") -smiles(R"O[C@]1(CC[C@@H](CC1)C(C)(C)C)Cc1ccccc1") -smiles(R"O[C@]1(CC[C@H](CC1)C(C)(C)C)C#C[C@]1(O)CC[C@@H](CC1)C(C)(C)C") -smiles(R"O=C1CC[C@H](C[C@@]21CCCC2)C(C)(C)C") -smiles(R"O=C1CC[C@H](C(=O)N1)N1C(=O)[C@H]2[C@H]3c4ccccc4[C@H](c4ccccc34)[C@H]2C1=O") -smiles(R"O=C1CC[C@@H](C(=O)N1)N1C(=O)[C@H]2[C@@H]3CC[C@@H](CC3)[C@H]2C1=O") -smiles(R"O=C1CC[C@H](C(=O)N1)N1C(=O)[C@@H]2[C@H](C1=O)[C@]1(Cl)C(=C(Cl)[C@@]2(Cl)[C@@]1(Cl)Cl)Cl") -smiles(R"O=C1CC[C@@H](C(=O)O[C@@H]2CN3CC[C@@H]2CC3)C(=O)N1") -smiles(R"O=C1CCCN1c1ccc(Cl)c(c1)NC(=O)C(=O)N[C@H]1CC[N@@H+](CC1)C1CC1") -smiles(R"O=C1CCCN1[C@H]1C[C@H](C[C@H](C[C@H](C[C@H](C[C@@H](C[C@H](C[C@H](C[C@H](C1)N1CCCC1=O)N1CCCC1=O)N1CCCC1=O)N1CCCC1=O)N1CCCC1=O)N1CCCC1=O)N1CCCC1=O)N1CCCC1=O") -smiles(R"Oc1cc(CN[C@@]23C[C@H]4C[C@H](C[C@H](C4)C3)C2)nc(O)n1") -smiles(R"Oc1cccn(Cc2ccccc2)c1") -smiles(R"Oc1ccc(O)c2c1[C@]1(Cl)C(=C(Cl)[C@@]2(Cl)[C@]1(Cl)Cl)Cl") -smiles(R"O=C1C=CC(=O)C2=C1[C@]1(Cl)C(=C(Cl)[C@@]2(Cl)[C@]1(Cl)Cl)Cl") -smiles(R"O=C1C=CC(=O)C2=C1[C@@H]1c3ccccc3[C@@]2([N+](=O)[O-])c2ccccc12") -smiles(R"O=C1C=CC(=O)C2=C1[C@H]1c3ccccc3[C@]2([N+](=O)[O-])c2ccccc12") -smiles(R"Oc1ccc(O)c2c1C(=O)c1sc3nc4c(c(=O)n(C)c(=O)n4C)n3c1C2=O") -smiles(R"O=C1C=CC(=O)c2c3c([C@H]4c5ccccc5[C@@H]3c3ccccc43)c3[C@@H]4c5ccccc5[C@@H](c5ccccc45)c3c12") -smiles(R"O=C1C=CC(=O)C(=C1)CNc1ccc(cc1)C(=O)O[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"Oc1ccc(O)c(CNc2ccc(cc2)C(=O)O[C@@]23C[C@H]4C[C@H](C[C@H](C4)C3)C2)c1") -smiles(R"Oc1ccc(O)c(CNc2ccc(cc2)C(=O)OC[C@]23C[C@H]4C[C@@H](C[C@H](C4)C3)C2)c1") -smiles(R"O=C1C=CC(=O)[C@H]2[C@@H]1[C@]1(Cl)C(=C(Cl)[C@@]2(Cl)[C@]1(Cl)Cl)Cl") -smiles(R"O=C1C=CC(=O)[C@H]2[C@@H]1[C@]1(Cl)C(=C(Cl)[C@@]2(Cl)[C@@]1(Cl)Cl)Cl") -smiles(R"O=C1C=CC(=O)[C@@H]2[C@H]1[C@@H]1c3ccccc3[C@H]2c2ccccc12") -smiles(R"O=C1C=CC(=O)[C@H]2[C@H]1[C@@H]1C=C[C@H]2[C@H]2[C@@H]1[C@]1(Cl)C(=C(Cl)[C@@]2(Cl)[C@]1(Cl)Cl)Cl") -smiles(R"O=C1C=CC(=O)N1[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"O=C1C[C@H]2c3ccccc3[C@@H]1c1ccccc21") -smiles(R"O=C1C[C@H]2CC[C@]1(CS(=O)(=O)O)C2(C)C") -smiles(R"O=C1C[C@@H]2CCCC[C@@H]2[C@@]21SCCS2") -smiles(R"O=C1C[C@H]2[C@H]3C[C@]4(OCCO4)[C@@H]4[C@H]3C[C@H]2[C@H]14") -smiles(R"O=C1C[C@H]2[C@H]3C[C@H](C3)[C@@H](C1)N2C") -smiles(R"O=C1C[C@@H]2[C@H](CC[C@]32OCCO3)c2ccc3ccccc3c12") -smiles(R"O=C1C[C@@H](c2ccccc2)[C@]2([C@@H](C1)c1ccccc1)C(=O)c1ccccc1C2=O") -smiles(R"O=C1C[C@H](c2ccco2)[C@]2(C(=O)CCCC2=O)[C@@H](C1)c1ccco1") -smiles(R"O=C1C[C@@H](C(=O)O)[C@@]2(CCCCCC2)O1") -smiles(R"O=C1C[C@H](O)C(=O)[OH+][Pt@+2]2(NCCN2)[OH+]1") -smiles(R"O=C1C[C@@H](Sc2ccccc2)[C@@]2(OCCO2)[C@@H](C1)Sc1ccccc1") -smiles(R"O=c1c(Cl)c2cc3c(cc2c2ccccc12)nc1ccccc1n3c1ccccc1") -smiles(R"O=c1c(Cl)c2cc3c(cc2c2ccccc12)nc1ccccc1n3C1CCCCC1") -smiles(R"Oc1ccnc2c1C(=O)c1nc3ccccc3c3ccnc2c13") -smiles(R"Oc1cc(Nc2ccc3nn(C)nc3c2)c2c(ccc3nn(C)nc23)n1") -smiles(R"O[C@@]1(CCN(CC1)C1CC1)c1cccc(c1)C(F)(F)F") -smiles(R"Oc1ccn(CC(=O)N2CC[C@@]3(CC2)SS[C@]2(CCN(CC2)C(=O)Cn2ccc(O)cc2=O)S3)c(=O)c1") -smiles(R"O=c1ccn(CC(=O)N2CC[C@]3(CC2)SS[C@@]2(CCN(CC2)C(=O)Cn2ccc(=O)[nH]c2=O)S3)c(=O)[nH]1") -smiles(R"O=c1cc[nH]c(C)c1OC(=O)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"O=C1CC(=O)N([C@H]2CC[C@@H](CC2)C2CCCCC2)C(=O)N1") -smiles(R"O=C1CC(=O)O[Pt@@]2(O1)N[C@H]1CCCC[C@@H]1[C@H]1CCCC[C@@H]1N2") -smiles(R"O=C1CC(=O)O[Pt@]2(O1)N[C@H]1CCCC[C@@H]1N2") -smiles(R"O=C1CC(=O)O[Pt@@]2(OC(=O)C1)N[C@@H]1CCCC[C@H]1N2") -smiles(R"O=C1CC(=O)O[Ti]23456789(O1)([C@@H]1C4=C3C2=C51)[C@H]1C8=C7C6=C91") -smiles(R"O=C1[C@H]2C[C@]3(OCCO3)C[C@@H](C1=O)N2Cc1ccccc1") -smiles(R"O=C1[C@H]2CC=CC[C@@H]2C(=O)[C@]21CCc1ccccc21") -smiles(R"O=C1[C@H]2CCC[C@H]1[C@@]1(O)CCCC[C@@H]1[C@H]2[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"O=C1[C@H]2CCC[C@H]1[C@@]1(O)CCCC[C@@H]1[C@H]2[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"O=C1[C@@H]2CCN(CC2)/C/1=C\c1ccc(OCc2ccccc2)c(OCc2ccccc2)c1") -smiles(R"O=C1[C@H]2CCN(CC2)[C@@H]1CN1CC[C@]2(CC1)C(=O)NCN2c1ccccc1") -smiles(R"O[C@]1([C@H]2CCN(CC2)[C@H]1CN1CCOCC1)c1ccccc1") -smiles(R"O=C1[C@H]2[C@H]3CC[C@H](C3)[C@@H]2[C@@H](O)[C@H]2[C@H]3CC[C@H](CC3)[C@@H]12") -smiles(R"O=C1[C@H]2[C@H]3C=C[C@H](C3)[C@H]2C(=O)[C@@]1(Br)Br") -smiles(R"O=C1[C@H]2[C@H]3CC[C@H](C3)[C@H]2C(=O)[C@H]2[C@H]3CC[C@H](CC3)[C@@H]12") -smiles(R"O=C1[C@H]2[C@H](C[C@@]32SCCS3)[C@@]2(C)OC[C@H](c3ccccc3)N12") -smiles(R"O=C1[C@H]2[C@@H](N[C@@H](c3ccccc3)[C@@H]1[C@@H](N[C@H]2c1ccccc1)c1ccccc1)c1ccccc1") -smiles(R"O=C1[C@@H](C)[N@+]2(CCCCCC2)[C@@H](C)CC1(c1ccccc1)c1ccccc1") -smiles(R"O=C1[C@@H](Sc2ccccc2)[C@@H](c2ccccc2)[C@@H]1Sc1ccccc1") -smiles(R"O=C1C[N@@+]23CC[N@@+]45CC(=O)O[Al]35(O1)(OC(=O)C2)OC(=O)C4") -smiles(R"O=C1C[N@@+]23CC[N@@+]45CC(=O)O[Ba]35(O1)(OC(=O)C2)OC(=O)C4") -smiles(R"O=C1C[N@@+]23CC[N@@+]45CC(=O)O[Ca]35(O1)(OC(=O)C2)OC(=O)C4") -smiles(R"O=C1C[N@@+]23CC[N@@+]45CC(=O)O[Cd]35(O1)(OC(=O)C2)OC(=O)C4") -smiles(R"O=C1C[N@@+]23CC[N@@+]45CC(=O)O[Co]35(O1)(OC(=O)C2)OC(=O)C4") -smiles(R"O=C1C[N@@+]23CC[N@@+]45CC(=O)O[Cu]35(O1)(OC(=O)C2)OC(=O)C4") -smiles(R"O=C1C[N@@+]23CC[N@@+]45CC(=O)O[Fe]35(O1)(OC(=O)C2)OC(=O)C4") -smiles(R"O=C1C[N@@+]23CC[N@@+]45CC(=O)O[Mg]35(O1)(OC(=O)C2)OC(=O)C4") -smiles(R"O=C1C[N@@+]23CC[N@@+]45CC(=O)O[Mn]35(O1)(OC(=O)C2)OC(=O)C4") -smiles(R"O=C1C[N@@+]23CC[N@+]45CC(=O)O[Mo]675(=O)(OC(=O)C4)O[Mo]37(=O)(O1)(OC(=O)C2)O6") -smiles(R"O=C1C[N@@+]23CC[N@@+]45CC(=O)O[Ni]35(O1)(OC(=O)C2)OC(=O)C4") -smiles(R"O=C1C[N@@+]23CC[N@@+]45CC(=O)O[Pb]35(O1)(OC(=O)C2)OC(=O)C4") -smiles(R"O=C1C[N@@+]23CC[N@@+]45CC(=O)O[Zn]35(O1)(OC(=O)C2)OC(=O)C4") -smiles(R"O=C1C[N@+]23CCO[Fe]453(O1)OC(=O)C[N@+]5(CC2)CC(=O)O4") -smiles(R"O=C1C[N@+]23CC(=O)[OH+][Mn+2]453([OH+]1)[OH+]C(=O)C[N@@+]5(CC(=O)[OH+]4)[C@H](C)C2") -smiles(R"O=C1CN2CCN3CC(=O)NC(=O)[C@H]3[C@H]2C(=O)N1") -smiles(R"O=C1CN2C(=O)CN3C4=[S+][Cu@]56OC(=O)CN5C(=O)CN6C4=[S+][Cu@@]23O1") -smiles(R"O=C1CN(c2ccccc2)C(=O)CN1/N=C/[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"O=C1CN(C(=O)CN1c1ccccc1)N1C(=O)CS[C@@H]1[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"Oc1c(/N=N/c2ccc(C(=O)Nc3ccc(cc3)[S@@](=O)(=O)c3ccc(cc3)NC(=O)c3ccc(/N=N/c4cc(c5cccnc5c4O)S(=O)(=O)O)cc3S(=O)(=O)O)c(c2)S(=O)(=O)O)cc(c2cccnc12)S(=O)(=O)O") -smiles(R"O=C1C(=O)[C@@H]2c3ccccc3[C@H]1c1ccccc21") -smiles(R"O[C@@]1(CSC[C@@]1(O)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"O=C1CS[C@@H](N1c1nccs1)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"O=C1N2Cc3c4OCCOCCNCCOCCOc5ccc6OCCOCCNCCOCCOc(cc4)c3CN3C(=O)N4Cc6c5CN1[C@]4(c1ccccc1)[C@]23c1ccccc1") -smiles(R"O=c1n2c(cc3ccccc23)c(=O)n2c1cc1ccccc21") -smiles(R"O=c1n2c(nc3ccccc23)c(=O)n2c1nc1ccccc21") -smiles(R"O=C1N2O[C@@H]3CCC[C@]2(C3)C(=O)[C@]21CCCCC2") -smiles(R"Oc1nc2cc3cn[nH]c3cc2c(O)n1") -smiles(R"O=C1N(c2ccc3c(Cc4ccccc34)c2)C(=O)[C@H]2[C@@H]1[C@@]1(Cl)C(=C(Cl)[C@]2(Cl)[C@]1(Cl)Cl)Cl") -smiles(R"O=C1N[C@@]2(CCCC2)[C@H]2CCCC[C@@]12O") -smiles(R"O=C1N[C@]2(CCCC2)C(=O)[C@]21CCCC2") -smiles(R"O=C1N[C@]2(CCCC2)[C@](O)(CCc2ccccc2)[C@@]21CCCC2") -smiles(R"O=C1N[C@@]2(CCCC2)C(=O)N[C@@H]1Cc1ccccc1") -smiles(R"O=C1N(c2cccc3ccccc23)C(=O)[C@H]2[C@@H]1[C@@]1(Cl)C(=C(Cl)[C@]2(Cl)[C@@]1(Cl)Cl)Cl") -smiles(R"O=C1Nc2ccccc2/C/1=c/1\sc2nc3ccccc3n2c1=O") -smiles(R"O=C1Nc2ccccc2[C@@]1(O)CC(=O)[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"O=C1Nc2ccccc2[C@@]1(O)CC(=O)[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"O=C1Nc2ccccc2[C@@]1(O)CC(=O)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"Oc1nc2ccccc2c2ccccc2nc(O)c2ccccc12") -smiles(R"O=C1N[C@]2(CCCC=C2)[C@](C)(O)[C@]21CCCCC2") -smiles(R"O=C1N[C@@]2(CCCCC2)[C@@H](C)[C@@]21CCCCC2") -smiles(R"O=C1N[C@@]2(CCCCC2)[C@H](N)[C@@]21CCCCC2") -smiles(R"O=C1N[C@@]2(CCCCC2)[C@H]([N+](C)(C)C)[C@]21CCCCC2") -smiles(R"O=C1N[C@]2(CCCC=C2)[C@H](O)[C@@]21CCCCC2") -smiles(R"O=C1N[C@@]2(CCCCC2)[C@H](O)[C@@]21CCCCC2") -smiles(R"O=C1N[C@]2(CCC=CC2)C(=O)[C@@]21CCCCC2") -smiles(R"O=C1N[C@@]2(CCCC=C2)[C@](O)(c2ccccc2)[C@]21CCCCC2") -smiles(R"O=C1N[C@]2(CCCC=C2)[C@](O)(C#Cc2ccccc2)[C@]21CCCCC2") -smiles(R"O=C1N(c2ccccc2)C(=O)[C@@H]2[C@@H]1[C@]1(C=C3c4ccccc4N(C(=O)c4ccccc4)[C@@]23[C@@H]2C(=O)N(c3ccccc3)C(=O)[C@@H]12)[N+](=O)[O-]") -smiles(R"O=C1N(c2ccccc2)C(=O)[C@@H]2[C@@H]1[C@@]1(C=C3c4ccccc4N(C(=O)c4ccccc4)[C@]23[C@@H]2C(=O)N(c3ccccc3)C(=O)[C@@H]12)[N+](=O)[O-]") -smiles(R"O=C1N(c2ccccc2)C(=O)[C@H]2[C@@H]1[C@@]1(Cl)C(=C(Cl)[C@]2(Cl)[C@@]1(Cl)Cl)Cl") -smiles(R"O=C1N(c2ccccc2)C(=O)[C@H]2[C@@H]1[C@H]1c3ccccc3[C@@H]2[S@]1(=O)=O") -smiles(R"O=c1n(c2ccccc2)c(=O)n2[C@H]3CC[C@H](CC3)n12") -smiles(R"O=c1n(c2ccccc2)c(=O)n2[C@H]3[C@H]4[C@@H]5[C@H]4[C@H]4[C@H]([C@@H]34)[C@@H]5n12") -smiles(R"O=c1n(c2ccccc2)c(=O)n2n1[C@](C)(C13C[C@H]4C[C@H](C[C@H](C4)C3)C1)[C@@]2(C)C12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"O=c1n(c2ccccc2)c(=O)n2n1[C@H]1C[C@@H]3c4ccccc4[C@H]1[C@H]2[C@@]13CC1") -smiles(R"O=C1N(c2ccc(cc2)S(=O)(=O)N)C(=O)[C@H]2[C@@H]1[C@@]1(Cl)C(=C(Cl)[C@]2(Cl)[C@@]1(Cl)Cl)Cl") -smiles(R"O=C1N[C@@]2(CCCCCC2)[C@@H]2CCCCCC[C@]12O") -smiles(R"Oc1nc2c(nc1N[C@@]13C[C@H]4C[C@H](C[C@H](C4)C3)C1)c(=O)oc1ccccc21") -smiles(R"Oc1nc2nc3c(nc2c(N)n1)c1cccc2cccc3c12") -smiles(R"Oc1nc2nc3c(nc2c(O)n1)c1cccc2cccc3c12") -smiles(R"O=C1N[C@@]2(NC(=O)N[C@@]2(N1)c1ccccc1)c1ccccc1") -smiles(R"O=C1N(Cc2ccccc2)[C@@H]2C[S@@](=O)(=O)C[C@@H]2N1Cc1ccccc1") -smiles(R"O=C1N[C@](C)(C2CC2)C(=O)N1C[NH+]1CC[C@H](CC1)c1nc2ccccc2o1") -smiles(R"Oc1ncccc1OC(=O)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"O=C1NCCCC[C@H]1NC(=O)[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"O=C1NCCCC[C@H]1NC(=O)[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"O=C1NCCCC[C@H]1NC(=O)[C@-]12C3=C4C5=C1[Fe+2]16782345C2=C7[C@-]8(C(=O)N[C@@H]3CCCCNC3=O)C6=C12") -smiles(R"O=C1NCCCC[C@H]1NC(=O)[C@@-]12C3=C4C5=C1[Fe+2]16782345C2=C7[C@@-]8(C(=O)N[C@@H]3CCCCNC3=O)C6=C12") -smiles(R"Oc1nccc(CN[C@@]23C[C@H]4C[C@H](C[C@H](C4)C3)C2)c1O") -smiles(R"O=C1NC[C@H]2CC[C@]3(OCCO3)C[C@H]2C1") -smiles(R"O=c1n(C)c(=O)n2[C@H]3CC[C@H](CC3)n12") -smiles(R"O=C1N[C@@H]2C[C@@H]3CCC[C@H](c4ccccc4)[C@H]3[C@@]2(O)[C@]21CCCCC2") -smiles(R"O=C1N[C@H]2C[S@](=O)(=O)C[C@H]2N1") -smiles(R"O=C1N[C@@H]2NC(=O)N[C@@H]2N1") -smiles(R"O=C1N[C@@H](c2ccco2)N(C)[C@@]21CCN(CC2)Cc1ccccc1") -smiles(R"O=C1N[C@@H](C)[C@]2(O1)c1ccccc1c1ccccc21") -smiles(R"O=C1N(Cl)[C@@H]2N(Cl)C(=O)N(Cl)[C@@H]2N1Cl") -smiles(R"O=c1n(cnc2ccccc12)/N=C/[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"O=c1n(cnc2ccccc12)/N=C/[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"O=C1NCN(c2ccccc2)[C@@]21CCN(CC2)C[C@H]1COc2ccccc2O1") -smiles(R"O=C1N=C(NC2CCCCC2)[C@]2(CCN(CC2)C[C@H]2COc3ccccc3O2)N1c1ccccc1") -smiles(R"Oc1nc(N)c2nc3c4cccc5cccc(c3nc2n1)c45") -smiles(R"Oc1nc(N)c2nc3c(nc2n1)c1cccc2cccc3c12") -smiles(R"O=C1NC(=O)[C@]23[C@H]4CC[C@H](C=C4)[C@@]13C(=O)NC2=O") -smiles(R"O=C1NC(=O)C2=C1[C@]1(Cl)C(=C(Cl)[C@@]2(Cl)[C@@]1(Cl)Cl)Cl") -smiles(R"O=C1NC(=O)[C@@]2(C[C@@]2(C)c2ccccc2)C(=O)N1") -smiles(R"O=C1NC(=O)[C@]2(CC(=C(C)C[C@@H]2C)C)C(=O)N1") -smiles(R"O=C1NC(=O)[C@@]2(CC=CC[C@@H]2C(C)C)C(=O)N1") -smiles(R"O=C1NC(=O)[C@]2(CC[C@@H](CC2)C2CCCCC2)N1") -smiles(R"O=C1NC(=O)[C@@]2(CC[C@@H](CC2)C2CCCCC2)N1") -smiles(R"O=C1NC(=O)[C@]2(C[C@@H]3CC[C@H]2C3)C(=O)N1") -smiles(R"O=C1NC(=O)[C@]2(CCN(CC2)C[C@H]2COc3ccccc3O2)C(=O)N1") -smiles(R"O=C1NC(=O)[C@@]2(C(=O)N1)[C@@H](CC(=O)C[C@H]2c1ccc(cc1)N(C)C)c1ccc(cc1)N(C)C") -smiles(R"O=C1NC(=O)[C@@]2(C[Si](C)(C)CC[C@@H]2C)C(=O)N1") -smiles(R"Oc1nc(O)c2nc3c4cccc5cccc(c3nc2n1)c45") -smiles(R"O=C1NC(=O)[C@]2(Nc3cc(Cl)c(Cl)cc3N(C)[C@@H]2O)C(=O)N1") -smiles(R"O=C1NC(=O)[C@]2(O[C@@H]3c4ccccc4C=NN3C3=C2C(=O)CCC3)C(=O)N1") -smiles(R"O=C1NC(=O)[C@H]2[C@@H]1[C@]1(Cl)C(=C(Cl)[C@@]2(Cl)[C@@]1(Cl)Cl)Cl") -smiles(R"O=C1NC(=O)[C@H]2C(=O)NC(=O)[C@@H]1[C@@]12CCc2ccccc12") -smiles(R"O=C1NC(=O)[C@@H]2C(=O)NC(=O)[C@H]1[C@@H]2c1c(Cl)cccc1Cl") -smiles(R"O=C1NC(=O)[C@H](C1)N1C(=O)[C@H]2[C@@H]3CC[C@@H](CC3)[C@H]2C1=O") -smiles(R"Oc1nc(S)nc(c1)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"O=c1[nH]c2cc3c(oc4ccccc34)cc2n2cccc12") -smiles(R"O=c1[nH]c2cccc3CCCn(c23)c(c1)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"O=c1[nH]c2ccccc2[nH]c(c1)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"O=c1[nH]c(=O)c2c(n1)n(CC(O)C(O)C(O)COP(=O)(O)O)c1cc(C)c(C)cc1[n+]2S(=O)(=O)[O-]") -smiles(R"O=c1[nH]c(=O)c2c([nH]1)n(CC(O)C(O)C(O)COP(=O)(O)O)c1cc(C)c(C)cc1[n+]2S(=O)(=O)[O-]") -smiles(R"O=c1[nH]c(=O)n(cc1C)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"O=c1[nH]c(=O)n(cc1C)C(=O)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"O=c1[nH]c(=O)n(cc1F)CC(=O)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"O=c1[nH]c(=O)n(cc1F)NC(=O)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"O=C1N([Hg]c2ccccc2)C(=O)[C@@H]2[C@H]1[C@@]1(Cl)C(=C(Cl)[C@]2(Cl)[C@]1(Cl)Cl)Cl") -smiles(R"O=C1N([Hg]c2ccco2)C(=O)[C@@H]2[C@H]1[C@@]1(Cl)C(=C(Cl)[C@]2(Cl)[C@@]1(Cl)Cl)Cl") -smiles(R"O=C1N([Hg]c2cccs2)C(=O)[C@@H]2[C@H]1[C@@]1(Cl)C(=C(Cl)[C@]2(Cl)[C@]1(Cl)Cl)Cl") -smiles(R"O=c1[nH][nH]c(=O)n2c3cc(oc3cc12)c1ccccc1") -smiles(R"O=C1NN[C@H]2NC(=O)[C@@]3(NN2C1=O)c1ccccc1c1ccccc31") -smiles(R"Oc1nnc(O)c2nc3c(nc12)c1nc2c(O)nnc(O)c2nc1c1nc2c(O)nnc(O)c2nc31") -smiles(R"O=C1NNC(=O)[C@@H]2[C@H]1[C@@H]1c3ccccc3[C@H]2c2ccccc12") -smiles(R"O=C1N(NC(=O)[C@H]2[C@@H]3c4ccccc4[C@H]([C@@H]12)c1ccccc31)c1ccccc1") -smiles(R"O=C1N(O)[C@@]2(CCCC=C2)C(=O)N[C@]21CCCCC2") -smiles(R"O=c1oc2c3ccccc3c3ccccc3c2c2oc3c(c12)c1ccccc1c1ccccc31") -smiles(R"O=C1Oc2c(=C1C(C)(C)C)n1nnnc1c2C(C)(C)C") -smiles(R"O=c1oc2cc3ccccc3cc2c2c3ccccc3ccc12") -smiles(R"O=C1O[C@]2(CC[C@@]3(CC2)OC(=O)C(=C)C3)CC1=C") -smiles(R"O=C1O[C@]2(CCCC2)O[C@H]1c1ccccc1") -smiles(R"O=C1O[C@]2(CCCC2)OC(=O)/C/1=C\C=C\c1ccc(o1)[N+](=O)[O-]") -smiles(R"O=C1O[C@@]2(CCCC2)OC(=O)/C/1=C\C=C\c1ccc(o1)[N+](=O)[O-]") -smiles(R"O=C1OC2=C(CCCC2)[C@H](N2CCCCC2)[C@]21SCCCS2") -smiles(R"O=c1oc2ccccc2c(O)c1C(c1c(=O)oc2ccccc2c1O)[C@-]12C3=C4C5=C1[Fe+2]16782345C2=C7C6=C1[C-]82") -smiles(R"O=c1oc2ccccc2c(O)c1C(c1c(=O)oc2ccccc2c1O)[C@@-]12C3=C4C5=C1[Fe+2]16782345C2=C7C6=C1[C-]82") -smiles(R"O=C1OC[C@]2(CO1)C[C@H]1C=C[C@@H]2C1") -smiles(R"O=C1OCC[C@]21CCCC[C@]12OCCO1") -smiles(R"O=C1OC[C@@H]2C[C@@H]3c4ccccc4[C@]12c1ccccc31") -smiles(R"O=C1O[C@H]2CC[C@@H]3[C@@H](O)C[C@H](O)[C@H]3C[C@H]2[C@@H]1CNC[C@H]1CC[C@@H](CC1)C(=O)O") -smiles(R"O=C1O[C@@H]2[C@H](O1)[C@@]1(Cl)C(=C(Cl)[C@]2(Cl)[C@]1(Cl)Cl)Cl") -smiles(R"O=C1O[C@H]2[C@@H](O1)[C@@H]1c3ccccc3[C@H]2c2ccccc12") -smiles(R"O=C1OC(=O)[C@]23CC[C@H](CC2)[C@H]2CC[C@@]13CC2") -smiles(R"O=c1oc(=O)c2c1c1c(=O)oc(=O)c1c1c(=O)oc(=O)c21") -smiles(R"O=C1OC(=O)[C@]2(C)c3ccccc3[C@H]1c1ccccc21") -smiles(R"O=C1OC(=O)[C@@]2(C)[C@H]1[C@@H]1c3ccccc3[C@H]2c2ccccc12") -smiles(R"O=C1OC(=O)[C@H]2C[C@@H]3[C@H](C[C@H]12)[C@]1(Cl)C(=C(Cl)[C@@]3(Cl)[C@@]1(Cl)Cl)Cl") -smiles(R"O=C1OC(=O)[C@H]2[C@@H]1[C@]1(Cl)C(=C(Cl)[C@@]2(Cl)[C@@]1(Cl)Cl)Cl") -smiles(R"O=C1OC(=O)[C@@H]2[C@H]1[C@@H]1c3ccccc3[C@@]2(Br)c2ccccc12") -smiles(R"O=C1OC(=O)[C@H]2[C@@H]1[C@H]1c3ccccc3[C@]2(C)c2ccccc12") -smiles(R"O=C1OC(=O)[C@@H]2[C@H]1[C@@H]1c3ccccc3[C@@]2(O)c2ccccc12") -smiles(R"O=C1OC(=O)[C@@H]2[C@H]1[C@@H]1c3ccccc3[C@H]2c2ccccc12") -smiles(R"O=C1OC(=O)[C@H]2[C@@H]1[C@H]1C=C[C@@H]2[C@]1(c1ccccc1)c1ccccc1") -smiles(R"O=C1OC(=O)[C@H]2[C@H]1[C@H]1C=C[C@@H]2[C@@]1(c1ccccc1)c1ccccc1") -smiles(R"O=C1OC(=O)[C@H]2[C@H]1[C@H]1CC[C@@H]2[C@]1(c1ccccc1)c1ccccc1") -smiles(R"O=C1OC(=O)[C@H]2[C@@H]1[C@@H]1[C@@H]3C(=O)OC(=O)[C@@H]3[C@H]2C(=C1c1ccccc1)c1ccccc1") -smiles(R"O=C1[OH+][Pt@@+2]2(N[C@@H]3CCCC[C@@H]3N2)[OH+]C(=O)[C@H]1N") -smiles(R"O=C1[OH+][Pt@@+2]2(N[C@@H]3CCCC[C@H]3N2)[OH+]P1(=O)[O-]") -smiles(R"O=C1[OH+][Pt@+2]2(N[C@@H]3CCCC[C@H]3N2)[OH+]P1(=O)[O-]") -smiles(R"O=C1O[Mn]2345OC(=O)C[N@@+]4(C1)C[C@@H](C)[N@@+]5(CC(=O)O2)CC(=O)O3") -smiles(R"O=C1O[Mo]23(=O)(OC(=O)C[C@@](O)(C1)C(=O)O2)O[Mo]12(=O)(OC(=O)C[C@](O)(CC(=O)O1)C(=O)O2)O3") -smiles(R"Oc1on[n+](c1)[C@]12CC[C@H](c3ccccc13)c1ccccc21") -smiles(R"O=C1O[Pd@]23OC(=O)[C@H](Cc4nc[nH]c4)N3CN2[C@H]1Cc1nc[nH]c1") -smiles(R"O=C1O[Pt@]2(NC[C@H]3CCCC[C@H]3N2)OC1=O") -smiles(R"O=C1O[Pt@@]2(N[C@@H]3CCCC[C@@H]3N2)OC1=O") -smiles(R"O=C1O[Pt@]2(N[C@H]3CCCC[C@@H]3N2)OC(=O)c2cc(ccc12)[N+](=O)[O-]") -smiles(R"O=C1O[Pt@@]2(N[C@H]3CCCC[C@@H]3N2)OC(=O)c2cc(ccc12)[N+](=O)[O-]") -smiles(R"O=C1O[Pt@@]2(N[C@H]3CCCC[C@@H]3N2)OC(=O)C(=C1O)O") -smiles(R"O=C1O[Pt@]2(N[C@@H]3CCCC[C@H]3N2)OC(=O)[C@@H]1C") -smiles(R"O=C1O[Pt@]2(OC1=O)N[C@H](c1ccccc1)[C@H](N2)c1ccccc1") -smiles(R"O=C1O[Pt@](N)(NC2CCC2)OC(=O)[C@H]2CCCC[C@H]12") -smiles(R"O=C1O[Ti]23456789(OC1=O)([C@@H]1C4=C3C2=C51)[C@@H]1C8=C7C6=C91") -smiles(R"O=C1P2(=O)[OH+][Pt@@+2]3(N[C@H]4CCCC[C@H]4N3)[OH+]P1(=O)[OH+][Pt@@+2]1(N[C@H]3CCCC[C@@H]3N1)[OH+]2") -smiles(R"O=C([C@]12C3=C4C5=C1[Fe]16782345C2=C7C6=C1[C@@H]82)[C@@]12C3=C4C5=C1[Fe]16782345C2=C7C6=C1[C@H]82") -smiles(R"OC[C@]12C3=C4C5=C1[Fe]16782345C2=C7[C@@]8(C6=C12)[C@@]12C3=C4C5=C1[Fe]16782345C2=C7[C@]8(C6=C12)[C@@]12C3=C4C5=C1[Fe]16782345[C@H]2C7=C6C1=C82") -smiles(R"O=C[C@@]12C3=C4C5=C1[Fe]16782345[C@H]2C7=C6C1=C82") -smiles(R"OC[C@@]12C3=C4C5=C1[Fe]16782345[C@H]2C7=C6C1=C82") -smiles(R"OC[C@-]12C3=C4C5=C1[Fe+2]16782345C2=C7[C@@-]8(CO)C6=C12") -smiles(R"OC[C@@-]12C3=C4C5=C1[Fe+2]16782345C2=C7[C@@-]8(CO)C6=C12") -smiles(R"OC[C@@]12C[C@@]3(OCCO3)CC[C@H]2[C@H](C)C=C[C@H]1O") -smiles(R"O=C[C@@]12CC=C3O[C@H]4O[C@]5(CCCCC5)O[C@H]4[C@H]3[C@H]2C(=O)C=CC1=O") -smiles(R"OC[C@@]12CCCC[C@H]2C[C@@]2(OCCO2)CC1") -smiles(R"OC[C@@]12[C@@H]3[C@H]4[C@H]5[C@@H]3[C@@H]1[C@H]5[C@@H]24") -smiles(R"O=C[C@]12[C@H]3C(=O)NC(=O)[C@H]3[C@H](c3ccccc13)c1ccccc21") -smiles(R"OC[C@@]12CO[C@H](c3ccc(cc3)NC(=O)C)N2[C@H](OC1)c1ccc(cc1)NC(=O)C") -smiles(R"O=Cc1c2c3[nH]c4ccccc4c3ccn2c2ccccc12") -smiles(R"O/C=c\1/cc2cc(/C(=N\N)/c3ccccc3)c3nnc(c4ccccc4)c3cc2c1") -smiles(R"OC[C@]1(C)C=C2C(=C(C)[C@@]3(CC3)[C@@](C)(O)C2=O)[C@H]1O") -smiles(R"OC[C@@]1(C)C=C2C(=C(C)[C@]3(CC3)[C@](C)(O)C2=O)[C@H]1O") -smiles(R"OC[C@]1(C)C=C2C(=C(C)[C@@]3(CC3)[C@](C)(O)[C@@H]2O)[C@H]1O") -smiles(R"OC[C@@]1(C)C=C2C(=C(C)[C@@]3(CC3)C(=O)[C@]2(C)O)[C@H]1O") -smiles(R"O=Cc1ccc2c(no[n+]2[O-])c1") -smiles(R"O=Cc1ccc2[N+]([O-])ONc2c1") -smiles(R"O=C(c1ccccc1)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"O=C(c1ccccc1)[C@-]12[Fe+2]3456789(C(=C26)C3=C15)C1=C8[C@-]9(C(=O)c2ccccc2)C7=C41") -smiles(R"O=C(c1ccccc1)[C@-]12[Fe+2]3456789(C(=C26)C3=C15)C1=C8[C@@-]9(C(=O)c2ccccc2)C7=C41") -smiles(R"O=C(c1ccccc1)[C@-]12[Ru+2]3456789(C(=C26)C3=C15)C1=C8[C@@-]9(C(=O)c2ccccc2)C7=C41") -smiles(R"O=C(c1ccccc1)[C@@-]12[Ru+2]3456789(C(=C26)C3=C15)C1=C8[C@-]9(C(=O)c2ccccc2)C7=C41") -smiles(R"O=C(c1ccccc1)c1ccc2c(n[se][n+]2C)c1") -smiles(R"O=C(c1ccccc1)c1ccc2[n+](C)[se][nH]c2c1") -smiles(R"O=C(c1ccccc1)c1ccc2[nH]c(=O)c3ccccc3ssc3ccccc3c(=O)[nH]c2c1") -smiles(R"O=C(c1ccccc1)c1ccc2[nH][se][n+](C)c2c1") -smiles(R"O=C(c1ccccc1)c1ccc2n[se]nc2c1") -smiles(R"O=C(c1ccccc1)c1ccc2n[se][n+](C)c2c1") -smiles(R"OC(c1ccccc1)(c1ccccc1)[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"OC(c1ccccc1)(c1ccccc1)[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"OC(c1ccccc1)(c1ccccc1)[C@@H]1C[C@]2(C1)C[C@H](C2)C(O)(c1ccccc1)c1ccccc1") -smiles(R"OC(c1ccccc1)(c1ccccc1)[C@@H]1CC[C@@H](C(O)(c2ccccc2)c2ccccc2)[S@]1(=O)=O") -smiles(R"OC(c1ccccc1)(c1ccccc1)[C@@H]1C[C@@H]2CC[C@H]1CC2") -smiles(R"O=C(c1ccccc1)c1ccccc1NC(=O)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"O=Cc1ccc(cc1)c1nnc2n[nH]c(=S)n2n1") -smiles(R"O=C(c1ccccc1)[C@H]1[C@H](/C=C/c2ccccc2)[C@@H](C(=O)c2ccccc2)[C@H]1/C=C/c1ccccc1") -smiles(R"O=C(c1ccccc1)[C@@H]1[C@@H](N=N[C@@]21c1ccccc1Oc1ccccc21)c1ccccc1") -smiles(R"O=C(c1ccccc1)[C@@H]1C(=[O+][Cu@@]2([O+]=C1c1ccccc1)[O+]=C(c1ccccc1)[C@@H](C(=O)c1ccccc1)C(=[O+]2)c1ccccc1)c1ccccc1") -smiles(R"O=C(c1ccccc1)n1c(Cc2ccccc2)nc2cc(ccc12)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"O=C(c1ccccc1)N1S[C@]2(c3ccccc3c3ccccc23)C(C)(C)[C@H]1N1CCCC1") -smiles(R"O=C(c1ccccc1)N1S(=O)[C@@]2(c3ccccc3c3ccccc23)C(C)(C)[C@H]1N1CCCC1") -smiles(R"OC[C@]1(C)CCC[C@@]21OCCO2") -smiles(R"O=C(c1ccccn1)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"O=C[C@@]1(CC[C@@H](CC1)C(C)(C)C)NS(=O)(=O)c1ccc(C)cc1") -smiles(R"OC[C@]1(C[C@H](Cc2ccccc2)C1)Cn1ccc(=O)[nH]c1=O") -smiles(R"OC[C@@]1(C)[C@H](CC[C@]21OCCO2)C=C(C)C") -smiles(R"O=C(c1ccncc1)N1C[C@H](C(=O)NCC(C)(C)N2CCOCC2)[C@]2(CC[NH2+]CC2)C1") -smiles(R"OCC1=C(CO)[C@]2(Cl)C(=C(Cl)[C@@]1(Cl)[C@@]2(Cl)Cl)Cl") -smiles(R"OC[C@@]1(CNc2cc(Cl)nc(N)n2)C[C@H](Cc2ccccc2)C1") -smiles(R"OC[C@@]1(CNc2cc(Cl)nc(N)n2)C[C@H](CCCCc2ccccc2)C1") -smiles(R"OC[C@@]1(CNc2nc(N)ncc2Cl)C[C@H](CCc2ccccc2)C1") -smiles(R"OC[C@@]1(CNc2nc(N)ncc2N)C[C@@H](CCc2ccccc2)C1") -smiles(R"OC[C@@]1(CNc2nc(N)nc(Cl)c2N)C[C@@H](Cc2ccccc2)C1") -smiles(R"OC[C@@]1(CNc2nc(N)nc(Cl)c2N)C[C@H](CCc2ccccc2)C1") -smiles(R"OC[C@@]1(CNc2nc(N)nc(Cl)c2N)C[C@@H](CCCc2ccccc2)C1") -smiles(R"OC[C@@]1(CNc2nc(N)nc(Cl)c2N)C[C@@H](CCCCc2ccccc2)C1") -smiles(R"OC[C@]1(CNc2nc(N)nc(Cl)c2N)C[C@@H](OCc2ccccc2)C1") -smiles(R"OC[C@]1(CNc2nc(N)nc(Cl)c2/N=N/c2ccc(Cl)cc2)C[C@H](OCc2ccccc2)C1") -smiles(R"OC[C@@]1(CNc2nc(N)nc(Cl)c2/N=N/c2ccc(Cl)cc2)C[C@@H](OCc2ccccc2)C1") -smiles(R"O=Cc1cnn(n1)c1ccccc1") -smiles(R"O=Cc1nc2ccccc2cc1C[N@+]12CN3CN(CN(C3)C2)C1") -smiles(R"O=Cc1nc2ncnc3ccn1c23") -smiles(R"O=C(c1nccc2ccccc12)[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"O=C(c1nccc2ccccc12)[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"O=Cc1nnc2n[nH]c(=S)n2n1") -smiles(R"OC[C@@]1(O)C[C@@H](CNc2cc(Cl)nc(N)n2)C1") -smiles(R"OC[C@]1(O)C[C@H](COc2cc(Cl)nc(N)n2)C1") -smiles(R"OCC[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"OCC[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"O=C(/C=C\1/[C@@]2(CCCC=C2)NC(=O)[C@@]21CCCCC2)c1ccccc1") -smiles(R"O=C(Cc1ccccc1)C/C(=N/CC/N=C(/C)\CC(=O)Cc1ccccc1)/C") -smiles(R"O=C(Cc1ccccc1)O[C@@H]1CN2CC[C@@H]1CC2") -smiles(R"OCC[C@]1(CCC(C)C)C(=O)N/C(=N)/NC1=O") -smiles(R"OCC[C@@]1(C)C(=O)N/C(=N)/NC1=O") -smiles(R"O=C(Cc1nc2nncn2/c/1=C/C(=O)C(c1ccccc1)c1ccccc1)C(c1ccccc1)c1ccccc1") -smiles(R"O=C(/C=c/1\[nH]c2ccc(cc2nc1N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)[N+](=O)[O-])c1ccccc1") -smiles(R"O=C(/C=c/1\[nH]c2ccc(cc2nc1NC12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)[N+](=O)[O-])c1ccccc1") -smiles(R"OCCc1nnn(C)n1") -smiles(R"OCCc1nnn(n1)C[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"OCCc1nnnn1C[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"OCCc1nnnn1C[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"OCCC1=NNN(N1)C[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"O=C(Cc1sc2ccccc2n1)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"O=C(/C=c/1\s/c(=C/C(=O)c2ccccc2)/s1)c1ccccc1") -smiles(R"O=C(/C=C/[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82)[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"O=C(/C=C/[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82)[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"O=C(/C=C/[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82)c1ccco1") -smiles(R"O=C(/C=C/[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82)c1ccco1") -smiles(R"O=C(/C=C/[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82)c1cccs1") -smiles(R"O=C(/C=C/[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82)c1cccs1") -smiles(R"O=C(/C=C/c1ccccc1)[C@@]12C3=C4C5=C1[Fe]16782345[C@@H]2C7=C6C1=C82") -smiles(R"O=C(C(Cc1ccccc1)Cc1ccccc1)[C@-]12C3=C4C5=C1[Fe+2]16782345C2=C7C6=C1[C-]82") -smiles(R"O=C(C(Cc1ccccc1)Cc1ccccc1)[C@@-]12C3=C4C5=C1[Fe+2]16782345C2=C7C6=C1[C-]82") -smiles(R"O=C(/C=C/c1ccccc1)N[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"O=C(/C=C/c1ccccc1)Nc1ccccc1SCCCN1CC[C@]2(CC1)C(=O)N(C)CN2c1ccccc1") -smiles(R"O=C(CCc1ccccc1)N[C@@H]1CC[C@@H](CC1)c1ccc(O)c(C)c1") -smiles(R"O=C(CCC1CCCCC1)O[C@H]1CC[C@H](CC1)C(C)C") -smiles(R"O=C(/C=C/c1ccccc1)O[C@@H](COC(=O)/C=C/c1ccccc1)COC(=O)/C=C/c1ccccc1") -smiles(R"O=C(/C=C/c1cccnc1)[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"O=C(/C=C/c1cccnc1)[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"O=C(/C=C/c1ccco1)[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"O=C(/C=C/c1ccco1)[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"O=C(/C=C/c1cccs1)[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"O=C(/C=C/c1cccs1)[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"O=C(CCc1nnc2s/c(=C\c3ccc4OCOc4c3)/c(=O)n12)Nc1cc(Cl)ccc1Cl") -smiles(R"O=C(CCc1nnc2s/c(=C\c3ccccc3Cl)/c(=O)n12)Nc1cc(Cl)ccc1Cl") -smiles(R"O=C(CCc1nnc2s/c(=C\c3ccccc3)/c(=O)n12)Nc1cc(Cl)ccc1Cl") -smiles(R"O=C(CCc1nnc2s/c(=C\c3ccc(cc3)N(C)C)/c(=O)n12)Nc1c(C)cccc1C") -smiles(R"O=C(CCc1nnc2s/c(=C\c3cccc(c3)[N+](=O)[O-])/c(=O)n12)Nc1ccc(C)cc1") -smiles(R"O=C(CCc1nnc2s/c(=C\c3ccc(cc3)[N+](=O)[O-])/c(=O)n12)Nc1ccc(Cl)c(Cl)c1") -smiles(R"O=C(CCc1nnc2s/c(=C/c3ccccc3[N+](=O)[O-])/c(=O)n12)Nc1cc(Cl)c(Cl)cc1Cl") -smiles(R"O=C(CCc1nnc2s/c(=C\c3ccc(Cl)c(Cl)c3)/c(=O)n12)Nc1ccc(Cl)c(Cl)c1") -smiles(R"O=C(CCc1nnc2s/c(=C\C=C\c3ccccc3)/c(=O)n12)Nc1ccc(C)cc1") -smiles(R"O=C(CCc1n[nH]c2s/c(=C\c3cccc(c3)[N+](=O)[O-])/c(=O)n12)Nc1ccc(C)cc1") -smiles(R"O=C(CCc1n[nH]c2s/c(=C\c3ccc(cc3)[N+](=O)[O-])/c(=O)n12)Nc1ccc(Cl)c(Cl)c1") -smiles(R"O=C(CCc1n[nH]c2s/c(=C/c3ccccc3[N+](=O)[O-])/c(=O)n12)Nc1cc(Cl)c(Cl)cc1Cl") -smiles(R"OCCC[C@@]1(O)C[C@@H](CC[C@@]21OCCO2)C(C)(C)C") -smiles(R"O=C(CCCCCCCCc1ccn2c(=c3cc(C)ccn3[Ru+2]342(n2ccccc2=c2ccccn32)n2ccccc2=c2ccccn42)c1)NC1C2CC3CC(C2)CC1C3") -smiles(R"OCCCCCCCCCCCOc1ccc(cc1)[C@H]1OC[C@@]2(CO1)CO[C@@H](OC2)c1ccc(OCCCCCCCCCCCO)cc1") -smiles(R"O=C(CCCCCCC(=O)C[N@+]12CC[C@H](CC1)[C@@H](O)C2)C[N@+]12CC[C@H](CC1)[C@@H](O)C2") -smiles(R"O=CC/C=C/C=C(\NC(=O)C)/S[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"O=C(CCCCC(=O)N/N=C(/C)\c1ccc(C)cc1)N/N=C(\C)/c1ccc(C)cc1") -smiles(R"O=C(CCCCC(=O)O[C@H](CC[C@@H]1CCCO1)CC[C@H]1CCCO1)O[C@@H](CC[C@@H]1CCCO1)CC[C@@H]1CCCO1") -smiles(R"OCCCC[C@H]1CO[C@@]2(CCCC2)O1") -smiles(R"OCCCC[C@@H]([C@@H](C(=O)C)C(=O)OCC)[C@@H](C(=O)C)C(=O)OCC") -smiles(R"O=CC/C=C/[C@@H](OC(=O)C)[C@@H](NC(=O)C)S[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"O=C(CCCCn1ccccc1)Sc1ccccc1C(=O)Nc1ccc(cc1)S(=O)(=O)c1ccc(cc1)N(=O)O") -smiles(R"O=C(CCCCn1ccccc1)Sc1ccccc1C(=O)Nc1ccc(cc1)S(=O)(=O)c1ccc(cc1)NS(=O)(=O)Cc1ccccc1N(=O)O") -smiles(R"O=C(CCCCn1ccccc1)Sc1ccccc1C(=O)Nc1ccc(cc1)S(=O)(=O)NC(=O)C") -smiles(R"O=C(CCCCn1ccccc1)Sc1ccccc1C(=O)NCc1ccc(cc1)S(=O)(=O)N") -smiles(R"O=C(CCCC(=O)N/N=C(\C)/c1ccccc1)N/N=C(/C)\c1ccccc1") -smiles(R"O=C(CC[C@@H](C)[C@H]1CC[C@@H]2[C@@H]3CC[C@@H]4C[C@@H](O)CC[C@@]4(C)[C@@H]3C[C@@H](O)[C@@]12C)Nc1ccc(cc1)[S@](=O)(=O)c1ccc(cc1)NC(=O)CC[C@H](C)[C@@H]1CC[C@@H]2[C@@H]3CC[C@@H]4C[C@@H](O)CC[C@@]4(C)[C@@H]3C[C@@H](O)[C@@]12C") -smiles(R"OCC(C)(CO)N1C(=O)[C@H]2[C@@H]3c4ccccc4[C@@H](c4ccccc34)[C@H]2C1=O") -smiles(R"OCC[C@H]1CCN(CC/C=C/2\c3cc(ccc3Sc3cc(F)ccc23)C(F)(F)F)CC1") -smiles(R"OCCCN1CC[C@@]2(CC1)SS[C@]1(CCN(CCCO)CC1)S2") -smiles(R"O=C(CCN1C[C@H]2CC[C@H](CC2)C1)c1ccccc1") -smiles(R"O[C@](CCN1C[C@@H]2CC[C@@H](CC2)C1)(c1ccccc1)c1cccs1") -smiles(R"O=C(CCN1C[C@@H]2CC[C@@H](CC2)C1)c1ccccc1O") -smiles(R"O=C(CCN1C[C@H]2CC[C@H](CC2)C1)c1ccco1") -smiles(R"O=C(CCN1C[C@H]2CC[C@H](CC2)C1)c1cccs1") -smiles(R"O[C@](CCN1C[C@@H]2CC[C@@H](CC2)C1)(Cc1ccccc1)c1cccc2ccccc12") -smiles(R"O[C@@](CCN1C[C@@H]2CC[C@@H](CC2)C1)(Cc1ccccc1)c1ccccc1") -smiles(R"O[C@](CCN1C[C@@H]2CC[C@@H](CC2)C1)(Cc1ccccc1)c1ccco1") -smiles(R"O[C@@](CCN1C[C@@H]2CC[C@@H](CC2)C1)(Cc1ccccc1)c1cccs1") -smiles(R"O=C/C=C(/N(C)C)\[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"O=C/C=C(/N(C)C)\[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"O=C(CCN(C(C)C)C(C)C)C[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"O=C(CC(=O)c1ccccc1)C(=O)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"O=C(CC(=O)c1sc(Nc2ccccc2)nc1C)C(=O)N[C@@H]1[C@H]2C[C@@H]3C[C@H](C2)C[C@H]1C3") -smiles(R"O=C(C[C@](O)(CCc1ccccc1)c1ccccc1)N1CC[C@@](O)(CC1)c1ccccc1") -smiles(R"O=C(CC(=O)N1N=C(C)[C@H](/N=N/c2ccc(cc2)[S@](=O)(=O)c2ccc(/N=N/[C@H]3C(=NN(C(=O)CC(=O)Nc4ccccc4Cl)C3=O)C)cc2)C1=O)Nc1ccccc1Cl") -smiles(R"O=C(CCSCCC(=O)N/N=C(/C)\c1ccccc1)N/N=C(\C)/c1ccccc1") -smiles(R"O=C(CCSCCC(=O)N/N=C(/C)\c1ccc(cc1)OC(=O)C)N/N=C(\C)/c1ccc(cc1)OC(=O)C") -smiles(R"O=C(CCSCCC(=O)N/N=C(/C)\c1ccccc1O)N/N=C(\C)/c1ccccc1O") -smiles(R"O=C(CCSCCC(=O)N/N=C(/C)\c1ccc(cc1)OS(=O)(=O)C)N/N=C(\C)/c1ccc(cc1)OS(=O)(=O)C") -smiles(R"OC[C@@H]1C[C@@]21c1ccccc1c1ccccc21") -smiles(R"O=C([C@H]1CC[C@@H](CC1)c1ccccc1)c1ccccc1") -smiles(R"OC[C@@H]1CC/C(=N\Nc2ccc(cc2[N+](=O)[O-])[N+](=O)[O-])/CC1") -smiles(R"OC[C@H]1CC/C(=N/Nc2ccc(cc2[N+](=O)[O-])[N+](=O)[O-])/CC1") -smiles(R"O=C[C@@H]1C[C@H]2c3ccccc3[C@@H]1c1ccccc21") -smiles(R"OC[C@H]1C[C@H]2c3ccccc3[C@@H]1c1ccccc21") -smiles(R"OC[C@@H]1C[C@H]2C[C@@H]1[C@]1(OCCO1)C2") -smiles(R"OC[C@@H]1C[C@H](C[C@H]1CO)n1ccc(=N)[nH]c1=O") -smiles(R"OC[C@@H]1C[C@H](C[C@H]1CO)n1ccc(=O)[nH]c1=O") -smiles(R"OC[C@H]1C[C@](O)(CNc2cc(Cl)nc(N)n2)C1") -smiles(R"OC[C@H]1[C@@H](CO)[C@]1(c1ccccc1)c1ccccc1") -smiles(R"OC[C@@H]1[C@@H](CO)[C@]2(Cl)C(=C(Cl)[C@@]1(Cl)[C@@]2(Cl)Cl)Cl") -smiles(R"OC[C@H]1[C@@H](CO)[C@H]2c3ccccc3[C@@H]1c1ccccc21") -smiles(R"OC[C@@H]1[C@@H](CO)[C@@H]2CC[C@H]1[C@]2(c1ccccc1)c1ccccc1") -smiles(R"OC[C@@H]1[C@H](CO)[C@@H]2CC[C@H]1[C@@]2(Cc1ccccc1)Cc1ccccc1") -smiles(R"OC[C@@H]1CO[C@H](O1)c1ccccc1") -smiles(R"OC[C@@H]1CO[C@H](O1)C(CC)CC") -smiles(R"OC[C@H]1N[Pt@](Cl)(Cl)N[C@H]1CO") -smiles(R"OC[C@H]1O[C@H]1CC[C@H]1O[C@](C)(C)O[C@H]1CC[C@@H]1O[C@@H]1CO") -smiles(R"OC[C@@H]1O[C@@H](c2cnn(n2)c2ccccc2)[C@H](O)[C@H]1O") -smiles(R"OC[C@H]1O[C@@H](C[C@@H]1O)n1cc(C)c(NC[C@]23C[C@@H]4C[C@@H](C[C@@H](C4)C3)C2)nc1=O") -smiles(R"OC[C@@H]1O[C@H](C[C@@H]1O)n1c(=O)[nH]c(=O)c2nc3c(ccc4cc5ccccc5cc34)nc12") -smiles(R"OC[C@@H]1O[C@H]([C@@H]2OP(=O)(O[C@H]12)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)n1cc(Br)c(=O)[nH]c1=O") -smiles(R"OC[C@@H]1O[C@H]([C@@H]2OP(=O)(O[C@H]12)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)n1cc(F)c(=O)[nH]c1=O") -smiles(R"OC[C@@H]1O[C@H]([C@@H]2OP(=O)(O[C@H]12)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)n1ncc(=O)[nH]c1=O") -smiles(R"OC[C@@H]1O[C@@H]([C@H](O)[C@@H]1O)c1cnn2c(=O)[nH]ncc12") -smiles(R"OC[C@H]1O[C@@H]([C@@H](O)[C@@H]1O)n1ccc(cc1=O)OC(=O)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"OC[C@H]1O[C@@H]([C@@H](O)[C@@H]1O)n1ccc(NC[C@]23C[C@@H]4C[C@@H](C[C@@H](C4)C3)C2)nc1=O") -smiles(R"OC[C@H]1O[C@@H]([C@H](O)[C@H]1O)n1ccc(N)[n+](c1=O)[Pt@](I)(I)[n+]1c(N)ccn([C@H]2O[C@H](CO)[C@H](O)[C@H]2O)c1=O") -smiles(R"OC[C@H]1O[C@@H]([C@H](O)[C@H]1O)n1c[n+](c2c(O)ncnc12)[Pt@@](N)(N)[n+]1cn([C@H]2O[C@H](CO)[C@H](O)[C@H]2O)c2ncnc(O)c12") -smiles(R"OC[C@@H]1O[C@H]([C@@H](O)[C@H]1O)n1c(=O)[nH]/c(=N)/[nH]c1=O") -smiles(R"OC[C@@H]1O[C@H](OC[C@@H](O)[C@@H](O)[C@@H](O)c2cnn(n2)c2ccccc2)[C@@H](O)[C@H](O)[C@H]1O") -smiles(R"OC[C@H]1O[C@H](OC[C@H](O)[C@H](O)[C@H](O)c2cnn(n2)c2ccccc2)[C@H](O)[C@H](O)[C@H]1O") -smiles(R"OC[C@@H]1O[C@H](O[C@@H](CO)[C@H]2O[C@@H](O[C@H]12)c1ccccc1)c1ccccc1") -smiles(R"OC[C@H]1O[C@H](O)[C@H](N[Pt@](Cl)(Cl)N[C@@H]2[C@@H](O)O[C@H](CO)[C@H](O)[C@H]2O)[C@@H](O)[C@@H]1O") -smiles(R"OC[C@@H]1O[C@H](O)[C@@H](O)[C@H](O)[C@@H]1O") -smiles(R"OC[C@@H](C)CCC(=O)[C@H](C)[C@@H]1[C@]2(SCCS2)C[C@@H]2[C@H]3CC[C@@H]4C[C@@H](O)CC[C@@]4(C)[C@@H]3CC[C@]12C") -smiles(R"OC[C@H](/N=C/[C@-]12[Fe+2]3456789([C-]%10C5=C4C3=C6%10)C(=C29)C7=C18)[C@@H](O)c1ccc(cc1)[N+](=O)[O-]") -smiles(R"OC[C@H](/N=C/[C@@-]12[Fe+2]3456789([C-]%10C5=C4C3=C6%10)C(=C29)C7=C18)[C@@H](O)c1ccc(cc1)[N+](=O)[O-]") -smiles(R"OC[C@@H](O)[C@@H]1O[C@@](C)(C)O[C@@H]1[C@H](O)CO") -smiles(R"OC[C@@H](O)[C@H]1OC(=O)C(=C1O)Nc1ccc(cc1)[S@](=O)(=O)c1ccc(cc1)NC1=C(O)[C@H](OC1=O)[C@@H](O)CO") -smiles(R"OC[C@@H](O)[C@@H]1OC(=O)C(=C1O)[O-]") -smiles(R"OC[C@@H](O)[C@@H](O)c1cnn(n1)c1ccccc1") -smiles(R"OC[C@H](O)[C@H](O)c1cnn(n1)c1ccccc1") -smiles(R"OC[C@@H](O)[C@H](O[C@H]1O[C@@H](CO)[C@H](O)[C@@H](O)[C@@H]1O)[C@@H](O)c1cnn(n1)c1ccccc1") -smiles(R"OC[C@H](O)[C@H](O)[C@H](O)c1cnn(n1)c1ccc(Br)cc1") -smiles(R"OC[C@@H](O)[C@@H](O)[C@@H](O)c1cnn(n1)c1ccccc1") -smiles(R"OC[C@H](O)[C@H](O)[C@H](O)c1cnn(n1)c1ccccc1") -smiles(R"OC[C@H](O)[C@H](O)[C@@H](O)c1nnc2n[nH]c(=S)n2n1") -smiles(R"OC[C@@H](O)[C@@H](O)[C@@H](O)[C@@H](N)c1nnc2n[nH]c(=S)n2n1") -smiles(R"OC[C@@H](O)[C@@H](O)[C@@H](O)[C@@H](O)c1cnn(n1)c1ccccc1") -smiles(R"OC[C@H](O)[C@H](O)[C@H](O)[C@@H](O)c1nnc2n[nH]c(=S)n2n1") -smiles(R"OC[C@@H](O)[C@@H](O)[C@@H](O)[C@@H](O)[C@@H]1N[C@H]2C[S+]1[Pd@+2]1([OH+]C(=O)[C@H]3C[S+]1[C@@H](N3)[C@@H](O)[C@@H](O)[C@@H](O)[C@@H](O)CO)[OH+]C2=O") -smiles(R"OC[C@@H](O)[C@@H](O)[C@@H](O)[C@@H](O)[C@@H]1N[C@H]2C[S+]1[Pd@+2]1([OH+]C(=O)[C@@H]3N[C@@H]([C@@H](O)[C@@H](O)[C@@H](O)[C@@H](O)CO)[S+]1C3)[OH+]C2=O") -smiles(R"OC[C@@H](O)[C@@H](O)[C@@H](O)[C@@H](O)[C@H](Nc1ccc(cc1)[S@@](=O)(=O)c1ccc(cc1)N[C@@H]([C@@H](O)[C@@H](O)[C@@H](O)[C@@H](O)CO)S(=O)(=O)O)S(=O)(=O)O") -smiles(R"O=C[C@H](O)[C@@H](O)[C@@H](O)[C@H](O)CON1C[C@H](O)[C@H](O)[C@@H](O)C1") -smiles(R"OC[C@@H](O)[C@@H](O)[C@@H](O)[C@@H](O)C(=O)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"OC[C@@H](O)[C@@H](O)[C@@H](O)[C@@H](O)C(=O)O[Pt@]1(NC[C@H](C)N1)OC(=O)[C@H](O)[C@H](O)[C@H](O)[C@H](O)CO") -smiles(R"OC[C@H](O)[C@H](O)[C@@H](O)CO") -smiles(R"OC[C@@H](O)COc1ccc2c(no[n+]2[O-])c1") -smiles(R"OC[C@@H](O)COc1ccc2c(NO[N+]2[O-])c1") -smiles(R"OC[C@@H](O)C(=O)O[Pt@]1(N[C@@H]2CCCC[C@@H]2N1)OC(=O)[C@H](O)CO") -smiles(R"OC[C@H](O)COP1(=O)O[Pt@@]2(N[C@H]3CCCC[C@@H]3N2)O1") -smiles(R"OCC[N@@+]12CCO[Ni+2]342(OCC1)OCC[N@+]4(CCO)CCO3") -smiles(R"OCC[N@+]12CCO[Ni+2]342(OCC1)OCC[N@@+]4(CCO)CCO3") -smiles(R"OCC[N@+]12CN3CN(CN(C3)C2)C1") -smiles(R"O=C(C[N@@+]12CN3CN(CN(C3)C2)C1)c1ccc2ccccc2c1") -smiles(R"O=C(C[N@@+]12CN3CN(CN(C3)C2)C1)c1ccc2CCCCc2c1") -smiles(R"O=C(C[N@+]12CN3CN(CN(C3)C2)C1)c1cccc2ccccc12") -smiles(R"O=C(C[N@@+]12CN3CN(CN(C3)C2)C1)c1ccccc1") -smiles(R"O=C(C[N@@+]12CN3CN(CN(C3)C2)C1)c1ccc(cc1)c1ccccc1") -smiles(R"O=C(C[N@+]12CN3CN(CN(C3)C2)C1)c1cccc(c1)[N+](=O)[O-]") -smiles(R"O=C(C[N+]12CN3CN(CN(C3)C2)C1)c1cccc(c1)[N+](=O)[O-]") -smiles(R"O=C(C[N@@+]12CN3CN(CN(C3)C2)C1)c1ccc(O)c(O)c1") -smiles(R"O=C(Cn1c2ccccc2n(CC(=O)NC23C[C@@H]4C[C@@H](C[C@@H](C4)C3)C2)c1=N)NC12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"OCCN1CC[C@]2(CC1)SS[C@]1(CCN(CCO)CC1)S2") -smiles(R"O=C(Cn1cc(F)c(=O)[nH]c1=O)N1CC[C@]2(CC1)SS[C@@]1(CCN(CC1)C(=O)Cn1cc(F)c(=O)[nH]c1=O)S2") -smiles(R"O=C(CN1C[C@@H]2CC[C@@H](CC2)C1)N1c2ccccc2NC(=O)C1(C)C") -smiles(R"OCCN1CCN(CC1)c1ccc2nonc2c1[N+](=O)[O-]") -smiles(R"OCCN1CCN(CC1)c1ccc2NONc2c1[N+](=O)[O-]") -smiles(R"O=C(CN1CCN(CC1)c1ccccn1)O[C@H]1[C@@H](OC(=O)CN2CCN(CC2)c2ccccn2)[C@H](OC(=O)CN2CCN(CC2)c2ccccn2)[C@H](OC(=O)CN2CCN(CC2)c2ccccn2)[C@@H](OC(=O)CN2CCN(CC2)c2ccccn2)[C@H]1OC(=O)CN1CCN(CC1)c1ccccn1") -smiles(R"OCCN1CCN(CC1)c1ccnc2ccc3nn(C)nc3c12") -smiles(R"O=C(Cn1cnc2n(C)c(=O)n(C)c(=O)c12)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"O=C(Cn1c(=N)[nH]c2ccccc12)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"OCCN1NC(C)C(C1C1[CH][CH][CH][CH][CH]1)N1ON1C1C(C)NN(CCO)C1C1[CH][CH][CH][CH][CH]1") -smiles(R"OCCN1N=C(C[C@H]1[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82)[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"OCCN1N=C(C[C@H]1[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82)[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"OCCN[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"OCCN(C[C@@H]1[C@H](c2ccccc2)[C@H]1c1ccccc1)C1CCCCC1") -smiles(R"OCCNCCNc1ccc2nnn3c2c1c(=O)c1ccccc31") -smiles(R"OCCNCCNc1ccc2nnn3c2c1c(=O)c1cc(Cl)ccc31") -smiles(R"OCCNCCNc1ccc2nnn3c2c1c(=O)c1cc(O)ccc31") -smiles(R"OCCNCC/N=C\1/CC/C(=N/CCNCCO)/CC1") -smiles(R"OCCNCCNc1ccnc2ccc3nn(C)nc3c12") -smiles(R"OCCN(CCO)c1ccnc2ccc3nn(C)nc3c12") -smiles(R"OCCN(CCO)C(=O)c1ccc2c(no[n+]2[O-])c1") -smiles(R"OCCN(CCO)C(=O)c1ccc2[N+]([O-])ONc2c1") -smiles(R"O=C(CNC(=O)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1)NC[C@H]1CC1(Cl)Cl") -smiles(R"OCCNC(=O)c1ccc2c(no[n+]2[O-])c1") -smiles(R"OCCNC(=O)c1ccc2c(NO[N+]2[O-])c1") -smiles(R"OCCNC(=O)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"O=CC(=O)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"O=C(COc1ccc(Cl)cc1Cl)O[C@H]1[C@H](OC(=O)COc2ccc(Cl)cc2Cl)[C@@H](OC(=O)COc2ccc(Cl)cc2Cl)[C@H](OC(=O)COc2ccc(Cl)cc2Cl)[C@@H](OC(=O)COc2ccc(Cl)cc2Cl)[C@@H]1OC(=O)COc1ccc(Cl)cc1Cl") -smiles(R"OCCOc1nc(nc(NS(=O)(=O)c2ccc(cn2)C(C)C)c1Oc1ccccc1OC)c1ccnc(c1)c1nn[nH]n1") -smiles(R"OCCOC[C@H]1O[C@@](C)(C)O[C@H]1COCCO") -smiles(R"OCCO[C@H]1[C@]2(CCCCC2)NC(=O)[C@@]21CCCCC2") -smiles(R"OCCO[C@H]1[C@@]2(CCCCC2)NC(=O)[C@@]21CCCCC2") -smiles(R"O=C(COC(=O)c1ccc2c(c1)C(=O)N(c1ccc(Cl)cc1)C2=O)N[C@H]1CC[N@@H+](CC1)C1CC1") -smiles(R"OCCOC(=O)[C@H]1C[C@@H]2C[C@H]1[C@@]1(OCCO1)C2") -smiles(R"O=C(C(=O)NC12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)c1c[nH]c2ccc(cc12)[N+](=O)[O-]") -smiles(R"O=C(C(=O)NC12C[C@H]3C[C@H](C[C@H](C3)C2)C1)c1c[nH]c2ccc(cc12)[N+](=O)[O-]") -smiles(R"O=C(C=P(c1ccccc1)(c1ccccc1)c1ccccc1)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"[O+]#C[Cr]12345(C#[O+])(C#[O+])C6=C1C3=C5(NC(C)(C)C)C4=C26") -smiles(R"[O+]#C[Cr]12345(C#[O+])(C#[O+])C6=C2C4=C5(N(C)C)C3=C16") -smiles(R"[O+]#C[Cr]12345(C#[O+])(C#[O+])C6=C2C5(=C3C1=C46/C=C/c1ccc(cc1)[N+](=O)[O-])C(F)(F)F") -smiles(R"[O+]#C[Cr]12345(C#[O+])(C#[O+])C6=C4(/C=C/c4ccc(cc4)[N+](=O)[O-])C1=C3C5(=C26)C(F)(F)F") -smiles(R"[O+]#C[Cr](C#[O+])(C#[O+])(C#[O+])(C#[O+])/[S+]=C\1/[C@H]2C[C@@H]3C[C@H](C2)C[C@H]1C3") # smiles(R"[O+]#C[Cr]12345(C#[O+])(C#[O+])C6=C1C3(=C5(N)C4(=C26)C)C") -smiles(R"OCC[S@@]1(=O)CC[S@@](=O)(CCO)[Pd@@]1(Cl)Cl") -smiles(R"O=C(CSCC(=O)N/N=C(\C)/c1ccccc1)N/N=C(/C)\c1ccccc1") -smiles(R"[O+]#C[Fe]12345(C#[O+])(C6=C2C3=C1[C@@H]46)C1=C5(C)[C@H]2[C@@H](CC3=C4C5=C2[Fe+]345(C#[O+])(C#[O+])C#[O+])C1") -smiles(R"[O+]#C[Fe]12345(C#[O+])(C6=C2C3=C1[C@H]46)C1=C5(C)[C@H]2[C@@H](CC3=C4C5=C2[Fe+]345(C#[O+])(C#[O+])C#[O+])C1") -smiles(R"[O+]#C[Fe]1234([C@@H]5C3=C2C1=C45)([C@@H]1CNC(=O)C1(C)C)P(c1ccccc1)(c1ccccc1)c1ccccc1") -smiles(R"[O+]#C[Fe]1234(C#[O+])(C5=C2C3=C1[C@H]45)[C@@H]1COC(C(F)(F)F)(C(F)(F)F)C1(C)C") -smiles(R"[O+]#C[Fe]1234(C#[O+])(C[C@]56CC[C@@H](CC6=O)C5)[C@H]5C3=C2C1=C45") -smiles(R"[O+]#C[Fe+]1234(C#[O+])(/C=C/CCCC/C=C/[Fe+]5678(C#[O+])(C#[O+])C9=C6C7=C5[C@@H]89)C5=C3C2=C1[C@H]45") -smiles(R"[O+]#C[Fe+]1234(C#[O+])(/C=C/CCCC/C=C/[Fe+]5678(C#[O+])(C#[O+])C9=C6C7=C5[C@H]89)C5=C3C2=C1[C@H]45") -smiles(R"[O+]#C[Fe+]1234(C#[O+])(/C=C/CCC/C=C/[Fe+]5678(C#[O+])(C#[O+])[C@H]9C7=C6C5=C89)[C@@H]5C3=C2C1=C45") -smiles(R"[O+]#C[Fe+]1234(C#[O+])(/C=C/CCC/C=C/[Fe+]5678(C#[O+])(C#[O+])[C@H]9C7=C6C5=C89)[C@H]5C3=C2C1=C45") -smiles(R"[O+]#C[Fe]123(C#[O+])(C#[O+])C4=C2C3(=C14)S(=O)(=O)Cl") -smiles(R"O[C@H]1[C@]2(CCCC2)[C@@H](O)[C@@]21CCCC2") -smiles(R"O[C@H]1[C@@]2(SCCS2)CC[C@]2(C)CCCC[C@@]12C") -smiles(R"O[C@H]1C[C@@]2(SCCS2)CC2(SCCS2)C1") -smiles(R"O[C@@H]1CC[C@]23C4=C5C6=C2[Fe]27893456C3=C8[C@]19C7=C23") -smiles(R"O[C@@H]1CC[C@]2(CC1)NC(=O)[C@@]1(CCCCC1)[C@]2(O)c1ccccc1") -smiles(R"O[C@H]1/C(=C/c2ccccc2)/CNC/C/1=C\c1ccccc1") -smiles(R"O[C@@H]1CC[C@]2(C)C(=CCC[C@@]32OCCO3)C1(C)C") -smiles(R"O[C@@H]1CC[C@@]2(OCCO2)C[C@H]1C") -smiles(R"O[C@@H]1CCC[C@@]21CCCC2") -smiles(R"O[C@H]1CCCCCCCCCC[C@@]21OCCO2") -smiles(R"O[C@@H]1C[C@](C)(C)C[C@H](O)C1(C)C") -smiles(R"O[C@@H]1CCCC[C@@H]2[C@@H]1C(=O)N[C@@]12CCCCC1") -smiles(R"O[C@@H]1CCCC[C@@H]2[C@@H]1NC(=O)[C@]12CCCCC1") -smiles(R"O[C@@H]1C(C)(C)[C@H](O)[C@]1(C)C") -smiles(R"O[C@H]1CC(=C[C@@H](O)[C@H]1O)C(=O)[OH+][Pt@@+2]1(N[C@@H]2CCCC[C@@H]2N1)[OH+]C(=O)C1=C[C@@H](O)[C@@H](O)[C@@H](O)C1") -smiles(R"O[C@H]1CC[C@@H]2[C@@H]3CC[C@@H]4Cc5nc6C[C@@]7(C)[C@@H](CC[C@@H]8[C@@H]9CC[C@H](O)[C@@]9(C)CC[C@H]78)Cc6nc5C[C@@]4(C)[C@@H]3CC[C@@]12C") -smiles(R"O[C@@H]1CC[C@H](CC1)C(C)C") -smiles(R"O[C@@H]1CC[C@@H](CC1)C(C)(C)[C@@H]1CC[C@H](O)CC1") -smiles(R"O[C@H]1CC[C@H](CC1)C(C)(C)[C@@H]1CC[C@H](O)CC1") -smiles(R"O[C@H]1CC[C@@H](CC1)[C@H]1[C@H]([C@H]2CC[C@@H](O)CC2)[C@H]2CCCC[C@@H]2[C@@H]2CCCC[C@H]12") -smiles(R"O[C@H]1CC[C@@H](CC1)N1C(=O)c2ccccc2C1=O") -smiles(R"O[C@H]1CC[C@H](CC1)NS(=O)(=O)c1ccc(N)cc1") -smiles(R"O[C@@H]1CCCN(C)[C@@H]1CN[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"O[C@@H]1CCCN[C@@H]1CN(C)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"O[C@@H]1C[C@@H]2c3ccccc3[C@H]1c1ccccc21") -smiles(R"O[C@@H]1C[C@@H]2CC[C@H]1[C@]12OCCO1") -smiles(R"O[C@H]1C[C@@H]2N[Pt@@](Cl)(Cl)N[C@H]2C[C@H]1O") -smiles(R"O[C@H]1C[C@H](c2ccccc2)[C@@]2([C@H](O)c3ccccc3[C@H]2O)[C@@H](C1)c1ccccc1") -smiles(R"O[C@@H]1C[C@@H](c2ccccc2)N(C)[C@@H](C1)c1ccccc1") -smiles(R"O[C@@H]1C[C@@H](C[Hg]OC(=O)c2ccccc2)O[C@H](C[Hg]OC(=O)c2ccccc2)C1") -smiles(R"O[C@H]1CCN(CC1)C1(CCCCC1)c1ccccc1") -smiles(R"O[C@@H]1CCN(CC1)C[C@@H]1NC(=O)[C@H](CN2CC[C@H](O)CC2)NC1=O") -smiles(R"O[C@@H]1CCN(Cc2ccccc2)C[C@@H]1CN[C@@]12C[C@@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"O[C@@H]1CCN(Cc2ccccc2)C[C@H]1CN[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"O[C@H]1CCN(Cc2ccccc2)C[C@@H]1CN(C(=O)C)[C@@]12C[C@@H]3C[C@@H](C[C@H](C3)C2)C1") -smiles(R"O[C@@H]1CCNC[C@@H]1CNC12C[C@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"O[C@@H]1CCN(C[C@H]1CN[C@@]12C[C@@H]3C[C@H](C[C@H](C3)C2)C1)C(=O)OCc1ccccc1") -smiles(R"O[C@@H]1[C@@H]2[C@]3(C)O[C@]4(C)[C@H]1[C@]1(C)O[C@@]2(C)[C@H]3[C@@H](O)[C@H]41") -smiles(R"O[C@H]1[C@@H]2[C@]3(C)O[C@@]4(C)[C@H]5C[C@@H]3[C@]2(C)O[C@@]5(C)[C@@H]14") -smiles(R"O[C@@H]1[C@@H]2CCC[C@H]1[C@@]1(O)CCCC[C@@H]1[C@]12CCCCC1") -smiles(R"O[C@H]1[C@H]2CCN(CC2)[C@H]1CN1CCC(=CC1)c1ccccc1") -smiles(R"O[C@H]1[C@@H]2CCN(CC2)[C@@H]1CN[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"O[C@@H]1[C@H]2[C@@H]3CC[C@@H](C3)[C@@H]2[C@@H](C2OCCO2)[C@@H]2[C@H]3CC[C@H](CC3)[C@H]12") -smiles(R"O[C@H]1[C@@H]2CN3CCN(C2)C[C@@]1(C3)c1ccccc1") -smiles(R"O[C@@H]1[C@@H](C)[C@H](N[C@H](c2ccccc2)[C@@H]1C)c1ccccc1") -smiles(R"O[C@@H]1[C@@H](COC(=O)[C@]23C[C@@H]4C[C@@H](C[C@@H](C4)C3)C2)O[C@@H]([C@H]1O)n1cnc2c(N)ncnc12") -smiles(R"O[C@@H]1[C@@H](COC(=O)[C@]23C[C@@H]4C[C@@H](C[C@@H](C4)C3)C2)O[C@@H]([C@H]1O)n1cnc2c(S)ncnc12") -smiles(R"O[C@H]1[C@@H](COP2(=O)O[Pt@]3(N[C@H]4CCCC[C@H]4N3)O2)O[C@@H]([C@@H]1O)n1cnc2c(N)ncnc12") -smiles(R"O[C@@H]1[C@@H](O)[C@@H]2c3ccccc3[C@H]1c1ccccc21") -smiles(R"O[C@@H]1[C@@H](O)[C@@H]2C[C@H]1[C@@H]1[C@H]2[C@@]2(Cl)C(=C(Cl)[C@]1(Cl)[C@@]2(Cl)Cl)Cl") -smiles(R"O[C@H]1[C@@H](O)[C@@H](O)[C@H](O)[C@@H](O)[C@@H]1O") -smiles(R"O[C@H]1[C@H](O)[C@H](O)[C@H](O)[C@H](O)[C@H]1O") -smiles(R"O[C@@H]1[C@H](O)[C@H](O)[C@](O)(CNCc2ccccc2)[C@@H](O)[C@H]1O") -smiles(R"O[C@H]1[C@H](O)CN(OC/C=C/c2ccccc2)C[C@H]1O") -smiles(R"O[C@@H]1[C@@H](SCc2ccccc2)OC[C@H]2O[C@]3(CCCCC3)O[C@@H]12") -smiles(R"O[C@@H]1C/[N+](=C\c2ccccc2)/[Pt@]2(OC(=O)CC(=O)O2)/[N+](=C/c2ccccc2)/C1") -smiles(R"O[C@H]1CNC[C@H](O)CNC1") -smiles(R"O[C@H]1CN/C(=N)/NC1") -smiles(R"O[C@H]1CO[C@@H](c2cnn(n2)c2ccccc2)[C@@H]1O") -smiles(R"O[C@@H]1CO[C@H](OC1)c1ccccc1") -smiles(R"O[C@H]1C(=O)O[Pt@]2(N[C@@H]3CCCC[C@@H]3N2)OC1=O") -smiles(R"O[C@@H]([C@]12C3=C4C5=C1[Fe]16782345C2=C7C6=C1[C@@H]82)[C@@]12C3=C4C5=C1[Fe]16782345C2=C7C6=C1[C@H]82") -smiles(R"O[C@@H](c1ccccc1)[C@-]12[Fe+2]3456789(C(=C26)C3=C15)C1=C8[C@-]9([C@@H](O)c2ccccc2)C7=C41") -smiles(R"O[C@@H](c1ccccc1)[C@-]12[Fe+2]3456789(C(=C26)C3=C15)C1=C8[C@@-]9([C@@H](O)c2ccccc2)C7=C41") -smiles(R"O[C@H](c1ccccc1)[C@@H](C)C(=O)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"O[C@H](c1nccc2ccccc12)[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"O[C@H](c1nccc2ccccc12)[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"O[C@@H](C(C)(C)C)[C@]12[C@@H]3[C@@H]4[C@H]1[C@@H]1[C@H]2[C@H]3[C@]41C(=O)N(C)C(C)(C)C") -smiles(R"O[C@@H](C/C=C(\[C@@H](O)S(=O)(=O)O)/[C@@H](O)S(=O)(=O)O)S(=O)(=O)O") -smiles(R"O[C@H](CCCN[Pt](Cl)(Cl)NCCC[C@H](O)Cn1ccnc1[N+](=O)[O-])Cn1ccnc1[N+](=O)[O-]") -smiles(R"O[C@H](CCCN[Pt@@](Cl)(Cl)NCCC[C@H](O)Cn1ccnc1[N+](=O)[O-])Cn1ccnc1[N+](=O)[O-]") -smiles(R"O[C@H](CCN[Pt](Cl)(Cl)NCC[C@H](O)Cn1ccnc1[N+](=O)[O-])Cn1ccnc1[N+](=O)[O-]") -smiles(R"O[C@H](CCN[Pt@@](Cl)(Cl)NCC[C@H](O)Cn1ccnc1[N+](=O)[O-])Cn1ccnc1[N+](=O)[O-]") -smiles(R"O[C@H]([C@H]1CCCCN1)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"O[C@@H]([C@@H]1CC[C@H]([C@@H](O)C(C)(C)C)[S@@]1(=O)=O)C(C)(C)C") -smiles(R"O[C@@H](CN1CC[C@H](CC1)c1ccccc1)Cc1ccc(Br)cc1") -smiles(R"O[C@H](C/N=C(/C)\CC(=O)c1ccccc1)C/N=C(/C)\CC(=O)c1ccccc1") -smiles(R"O[C@@H](C/N=C(\CC(=O)c1ccccc1)/c1ccccc1)C/N=C(\CC(=O)c1ccccc1)/c1ccccc1") -smiles(R"O[C@H](CNC(=O)/C=C/c1ccccc1)CNC(=O)/C=C/c1ccccc1") -smiles(R"O[C@@H](CNC(=O)/C=C/c1cccc(c1)[N+](=O)[O-])CNC(=O)/C=C/c1cccc(c1)[N+](=O)[O-]") -smiles(R"O[C@H](CNC(=O)/C=C/c1cccc(c1)[N+](=O)[O-])CNC(=O)/C=C/c1cccc(c1)[N+](=O)[O-]") -smiles(R"O[C@H](CN[Pt](Cl)(Cl)NC[C@H](O)Cn1ccnc1[N+](=O)[O-])Cn1ccnc1[N+](=O)[O-]") -smiles(R"O[C@H](CN[Pt@@](Cl)(Cl)NC[C@H](O)Cn1ccnc1[N+](=O)[O-])Cn1ccnc1[N+](=O)[O-]") -smiles(R"O[C@@H](COc1ccc2c(C)cc(=O)oc2c1C(=O)C)CN1CC[C@@](O)(CC1)c1ccccc1") -smiles(R"O[C@H](COc1ccccc1)Cn1cc/c(=N)/cc1") -smiles(R"O[C@H](COC(=O)c1ccccc1)[C@H]1O[C@@H](O[C@@H]1[C@H](O)COC(=O)c1ccccc1)c1ccccc1") -smiles(R"O[C@H](COC(=O)c1ccccc1)[C@H](O)[C@H](O)COC(=O)c1ccccc1") -smiles(R"O[C@H](C[S@@](=O)(=O)C[C@H](O)c1ccccc1)c1ccccc1") -smiles(R"[O-][Cl](=O)(=O)=O") -smiles(R"O[Cl](=O)(=O)=O") -smiles(R"O=[Cl](=O)(=O)O[Cu@@](/[S+]=c\1/cccc[nH]1)(/[S+]=c\1/cccc[nH]1)O[Cl](=O)(=O)=O") -smiles(R"[O-][Cl](=O)(=O)=[OH+]") -smiles(R"[O+]#C[MnH+]12(C#[O+])(C#[O+])[H-][MnH+]2(C#[O+])(C#[O+])(C#[O+])[P-]1(Br)N(C(C)C)C(C)C") -smiles(R"[O+]#C[MnH2+]12(C#[O+])(C#[O+])[H-][MnH2+]2(C#[O+])(C#[O+])(C#[O+])[P-]1(Br)N(C(C)C)C(C)C") -smiles(R"[O+]#C[Mo]1234(C#[O+])(C#[O+])(c5ccs(=O)c5C)[C@@H]5C3=C2C1=C45") -smiles(R"[O+]#C[Mo]1234(C#[O+])(/N=N/c5ccc(cc5)[N+](=O)[O-])[C@@H]5C3=C2C1=C45") -smiles(R"[O+]#C[Mo]1234(C#[O+])(/N=N/c5ccc(cc5)[N+](=O)[O-])[C@H]5C3=C2C1=C45") -smiles(R"[O+]#C[Mo]1234(C#[O+])(/N=N/c5ccc(C)cc5)[C@H]5C3=C2C1=C45") -smiles(R"[O+]#C[Mo]1234(/N=N/c5ccc(C)cc5)([C@H]5C3=C2C1=C45)P(c1ccccc1)(c1ccccc1)c1ccccc1") -smiles(R"O=C(N1CC[C@]2(CC1)SS[C@@]1(CCN(CC1)C(=O)C(F)(F)F)S2)C(F)(F)F") -smiles(R"O=C(N1CCCCC1)[C@@H]1[C@H]2CC[C@H](CC2)[C@H]1C(=O)N1CCCCC1") -smiles(R"O=C(N1C(C)(C)C(C)(C)C(C)(C)C(C)(C)C1(C)C)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"O=C(N1CCN(CC1)C(=O)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"O=C(N1CCN(CC1)C(=O)[C@@H]1C[C@@H]2CCN1CC2)[C@@H]1C[C@H]2CCN1CC2") -smiles(R"O=C(N1CCN(CC1)C(=O)[C@@H]1C[C@H]2CCN1CC2)[C@@H]1C[C@@H]2CCN1CC2") -smiles(R"O=C(N1CCOCC1)[C@]12O[C@@H]3C[C@@H](C[C@@H](C3)O2)O1") -smiles(R"O=C(N1CCOCC1)[C@@H]1[C@H]2CC[C@H](CC2)[C@H]1C(=O)N1CCOCC1") -smiles(R"OCN1C(=O)N(CO)[C@H]2N(CO)C(=O)N(CO)[C@@H]12") -smiles(R"O=C(N[C@]12CC[C@H](CC1)C2)[C@@]12CC[C@@H](CC1)C2") -smiles(R"O=C(N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)c1c(O)c2ccccc2n(C)c1=O") -smiles(R"O=C(N[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1)c1[n+]([O-])c2ccccc2[n+]([O-])c1N") -smiles(R"O=C(N[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1)C(F)(F)F") -smiles(R"O=C(N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)C(=O)c1c[nH]c2ccccc12") -smiles(R"O=C(N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)C(=O)/C=C(/Nc1ccccc1O)\c1ccccc1") -smiles(R"O=C(N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)C(=O)Nc1nc2ccccc2n1Cc1ccccc1") -smiles(R"O=C(N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)n1cnc2c(N)ncnc12") -smiles(R"O=CN[C@]12C(=O)NC(=O)[C@@]1(C(=O)O)[C@]12CCCCC1") -smiles(R"O=C(N[C@]12O[C@@H]3C[C@@H](C[C@@H](C3)O2)O1)N[C@]12O[C@@H]3C[C@@H](C[C@@H](C3)O2)O1") -smiles(R"O=C(Nc1ccc2c(c1)Cc1cc(ccc21)NC(=O)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"O=C(Nc1ccc2c(O)cc(cc2c1)S(=O)(=O)[OH+][Pt@+2]1(N[C@@H]2CCCC[C@H]2N1)[OH+]S(=O)(=O)c1cc(O)c2ccc(NC(=O)c3ccccc3)cc2c1)c1ccccc1") -smiles(R"O=C=Nc1ccc2n(CC)c3ccc4n5cccc5c(=O)[nH]c4c3c2c1") -smiles(R"O=C(Nc1cccc2ccccc12)[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"O=C(Nc1cccc2ccccc12)[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"O=C(Nc1cccc2cccnc12)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"O=C(Nc1ccc(cc1)[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82)C1CCCCC1") -smiles(R"O=C(Nc1ccc(cc1)[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82)C1CCCCC1") -smiles(R"O=C(Nc1ccccc1)[C@@]1(Br)C[C@]2(C[C@](Br)(C2)C(=O)Nc2ccccc2)C1") -smiles(R"O=C(Nc1ccc(cc1)c1ccccc1)[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"O=C(Nc1ccc(cc1)c1ccccc1)[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"O=C(Nc1ccc(cc1)c1ccc(cc1)NC(=O)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"O=C(Nc1ccc(cc1)C1=NCCN1)[C@H]1CC[C@@H](CC1)C(=O)Nc1ccc(cc1)C1=NCCN1") -smiles(R"O=C(Nc1ccccc1)c1n[n+](c2cc(c(cc2Cl)[N+](=O)[O-])S(=O)(=O)O)n(n1)c1cc(c(cc1Cl)[N+](=O)[O-])S(=O)(=O)[O-]") -smiles(R"O=C(Nc1ccccc1)c1n[n+](c2cc(c(cc2Cl)[N+](=O)[O-])S(=O)(=O)O)n([nH]1)c1cc(c(cc1Cl)[N+](=O)[O-])S(=O)(=O)[O-]") -smiles(R"O=C(Nc1ccccc1)c1n[n+](c2cc(ccc2Cl)S(=O)(=O)[O-])n(n1)c1ccccc1Cl") -smiles(R"O=C(Nc1ccccc1)c1n[n+](c2cc(ccc2Cl)S(=O)(=O)[O-])n([nH]1)c1ccccc1Cl") -smiles(R"O=C(Nc1ccc(cc1)Cc1ccc(cc1)NC(=O)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"O=C(Nc1cccc(c1)C(F)(F)F)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"O=C(NC1CCCCC1)N(O)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"O=C(Nc1ccc(cc1)S(=O)(=O)c1ccc(cc1)NC(=O)c1cc(ccc1O)S(=O)(=O)O)c1cc(ccc1O)S(=O)(=O)O") -smiles(R"O=C(Nc1ccc(cc1)S(=O)(=O)Nc1ccnn1c1ccccc1)c1c2ccccc2n(C)c2ccccc12") -smiles(R"O=C(Nc1ccc(cc1)S(=O)(=O)Nc1ncccn1)c1c2ccccc2n(C)c2ccccc12") -smiles(R"O=C(Nc1ccc(CCc2ccc(cc2)NC(=O)[C@]23C[C@@H]4C[C@@H](C[C@@H](C4)C3)C2)cc1)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"O=C(/N=C\1/C(=O)[C@@]2(CCCCC2)[C@@]2(N=C(OC2=O)c2ccccc2)[C@]21CCCCC2)c1ccccc1") -smiles(R"O=C(Nc1nc2ccccc2n1C)C(=O)N[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"O=C(Nc1ncccn1)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"[O-]/C(=N\c1nccs1)/[C@H](C)[NH+]1CC[C@@H](CC1)n1c(=O)[nH]c2ccccc12") -smiles(R"[O-]/C(=N\c1nccs1)/[C@H](C)[NH+]1CC[C@H](CC1)n1c(=O)[nH]c2ccccc12") -smiles(R"O=C(Nc1[nH]c2ccccc2n1)C(=O)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"O=C(Nc1nnc(s1)S(=O)(=O)N)C12C[C@H]3C[C@@H](C[C@H](C3)C2)C1") -smiles(R"O=C(Nc1scc(n1)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)c1cc2c(ccc3ccccc23)oc1=O") -smiles(R"O=C(Nc1scc(n1)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)c1cc2ccccc2oc1=O") -smiles(R"O=C(Nc1scc(n1)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)c1cc2cc(ccc2oc1=O)[N+](=O)[O-]") -smiles(R"O=C(Nc1scc(n1)C12C[C@H]3C[C@H](C[C@H](C3)C2)C1)c1cc2cc(ccc2oc1=O)[N+](=O)[O-]") -smiles(R"O=C(Nc1scc(n1)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)c1c(O)c2ccccc2n(C)c1=O") -smiles(R"O=C(Nc1scc(n1)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)c1c(O)nc2ccccc2c1O") -smiles(R"O=C(Nc1scc(n1)[C@@]12C[C@H]3C[C@H](C[C@@H](C3)C2)C1)[C@@H]1C(=O)N[C@]2(C)Oc3ccccc3[C@@H]1C2") -smiles(R"O=CN(C)C") -smiles(R"O=C(NCC1CC1)[C@@H]1[C@@H]2c3ccccc3[C@H]([C@H]1C(=O)O)c1ccccc21") -smiles(R"O=C(N(C)c1ccccc1)[C@H]1[C@@H]2c3ccccc3[C@@H](c3ccccc23)[C@@H]1C(=O)N(C)c1ccccc1") -smiles(R"O=C(NCc1ccccc1)[C@@H](C[C@@H](C(=O)NCc1ccccc1)/C(=N/Nc1ccc(cc1[N+](=O)[O-])[N+](=O)[O-])/C)/C(=N\Nc1ccc(cc1[N+](=O)[O-])[N+](=O)[O-])/C") -smiles(R"O=C(NCc1ccccc1)[C@H](C[C@H](C(=O)NCc1ccccc1)/C(=N\Nc1ccc(cc1[N+](=O)[O-])[N+](=O)[O-])/C)/C(=N/Nc1ccc(cc1[N+](=O)[O-])[N+](=O)[O-])/C") -smiles(R"O=C(N(C)C(C)(C)C)[C@]12[C@@H]3[C@@H]4[C@H]1[C@@H]1[C@H]2[C@H]3[C@]41C(=O)N(C)C(C)(C)C") -smiles(R"O=C(NCCCCCCCCCCNC(=O)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"O=C(NCCCCCCCCCNC(=O)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"O=C(NC(C)(C)CCC(C)(C)NC(=O)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"O=C(NCCCCCCCCNC(=O)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"O=C(NCCCCCCCNC(=O)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"O=C(NCCCCCCNC(=O)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"O=C(NCCCCCCNC(=O)N(O)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)N(O)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"O=C(NCCCCCNC(=O)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"O=C(NCCCCCNC(=O)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"O=C(NC(C)(C)[C@H]1CC[C@@](C)(CC1)NC(=O)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"O=C(NCC(C)(C)NC(=O)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"O=C(NCCCCNC(=O)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"O=C(NCCCC(=O)N)CCC[C@]12C3=C4C5=C1[Fe]16782345[C@H]2C7=C6C1=C82") -smiles(R"O=C(NCCCC(=O)NCCC(=O)N)CCNC(=O)CCC[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"O=C(NCCCC(=O)NCCC(=O)N)CCNC(=O)CCC[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"O=C(NCCCNC(=O)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"O=C(NCCC(=O)N)CCC[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"O=C(NCCC(=O)N)CCC[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"O=C(NC[C@H]1[C@H](c2ccccc2)[C@H]1c1ccccc1)CN1[C@@H]2CC[C@H]1C[C@H](O)C2") -smiles(R"O=C(NCCNc1ccccc1)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"O=C(NCC[N+](C)(C)C)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"O=C(NCCN(C)C(=O)[C@H]1[C@H](c2ccccc2)[C@H]1c1ccccc1)[C@H]1[C@@H](c2ccccc2)[C@@H]1c1ccccc1") -smiles(R"O=C(NCCNC(=O)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"O=C(NCCNC(=O)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"O=C(N[C@H]1C[C@@]2(OC1=O)C=C(Cl)C(=O)C(=C2)Cl)OC(C)(C)C") -smiles(R"O=C(N[C@H]1CC[C@@]21CC2)c1ccc2ccccc2c1") -smiles(R"O=C(N[C@@H]1CCCC[C@@H]1NC(=O)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"O=C(N[C@@H]1CC[C@H](CC1)CC1CCCCC1)c1ccccc1") -smiles(R"O=C(N[C@H]1CC[C@@H](CC1)CC1CCCCC1)c1ccccc1") -smiles(R"O=C(N[C@@H]1CC[C@H](CC1)CC1CCCCC1)C(Cl)Cl") -smiles(R"O=C(N[C@H]1CC[C@@H](CC1)CC1CCCCC1)C(Cl)Cl") -smiles(R"O=C(N[C@@H]1CC[C@H](CC1)CC1CCCCC1)NC1CCCCC1") -smiles(R"O=C(N[C@H]1CC[C@@H](CC1)CC1CCCCC1)NC1CCCCC1") -smiles(R"O=C(N[C@@H]1CC[C@H](CC1)CC1CCCCC1)Nc1cccc(Cl)c1") -smiles(R"O=C(N[C@@H]1CC[C@H](CC1)C(C)(C)C)c1ccccc1") -smiles(R"O=C(N[C@@H]1CC[C@H](CC1)C(C)(C)C)C(Cl)(Cl)Cl") -smiles(R"O=C(N[C@H]1CC[C@@H](CC1)C(C)(C)C)C(Cl)(Cl)Cl") -smiles(R"O=C(N[C@@H]1CC[C@@H](CC1)C(C)C)Nc1ccccc1") -smiles(R"O=C(N[C@@H]1CC[C@H](CC1)C(C)C)Nc1ccccc1") -smiles(R"O=C(N[C@H]1CC[C@@H](CC1)C(C)C)Nc1ccccc1") -smiles(R"O=C(N[C@@H]1CC[C@H](CC1)C[C@@H]1CC[C@H](CC1)NC(=O)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"O=C(N[C@@H]1CC[C@@H](CC1)C[C@@H]1CC[C@H](CC1)NC(=O)c1cc(O)c(O)c(O)c1)c1cc(O)c(O)c(O)c1") -smiles(R"O=C(N[C@@H]1C[C@@H]2c3ccccc3[C@H]1c1ccccc21)N[C@@H]1C[C@H]2c3ccccc3[C@@H]1c1ccccc21") -smiles(R"O=C(N[C@H]1[C@H]2C[C@@H]3C[C@H](C2)C[C@H]1C3)c1ccncn1") -smiles(R"O=C(N[C@@H]1[C@@H]2C[C@H]3C[C@@H](C2)C[C@@H]1C3)C(=O)CC(=O)c1c(C)[n+]([O-])c2ccccc2[n+]1[O-]") -smiles(R"O=C(N[C@H]1[C@H]2C[C@@H]3C[C@H](C2)C[C@H]1C3)C(=O)CC(=O)c1c(C)[n+]([O-])c2ccccc2[n+]1[O-]") -smiles(R"O=C(N[C@H]1[C@@H](c2ccccc2)[C@@H]1c1ccccc1)[C@H]1[C@H](c2ccccc2)[C@H]1c1ccccc1") -smiles(R"O=CNNc1ccc2nnc(Cl)n2n1") -smiles(R"O=C(NNc1ccccc1)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"O=C(N/N=C/1\[C@](C)(C)/C(=N\NC(=O)C[N+](C)(C)C)/[C@@]1(C)C)C[N+](C)(C)C") -smiles(R"O=C(N/N=C\1/[C@](C)(C)/C(=N/NC(=O)C[N+](C)(C)C)/[C@]1(C)C)C[N+](C)(C)C") -smiles(R"O=C(N/N=C/[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82)c1ccccn1") -smiles(R"O=C(N/N=C/[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82)c1ccccn1") -smiles(R"O=C(N/N=C/[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82)OC(C)(C)C") -smiles(R"O=C(N/N=C/[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82)OC(C)(C)C") -smiles(R"O=C(N/N=C/[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1)c1ccncc1") -smiles(R"O=C(N/N=C\c1ccc(cc1)c1cn2ccccc2[n+]1C)C(=O)N/N=C/c1ccc(cc1)c1cn2ccccc2[n+]1C") -smiles(R"O=C(N/N=C/c1ccc(cc1)N1CC[C@@]2(CCCCC2)CC1)c1ccccc1") -smiles(R"O=C(N/N=C/c1ccc(cc1)N1CC[C@]2(CCCCC2)CC1)c1ccccc1O") -smiles(R"O=C(N/N=C/c1ccc(cc1)N1CC[C@]2(CCCCC2)CC1)c1ccc(Cl)c(Cl)c1") -smiles(R"O=C(N/N=C/c1ccc(cc1)N1CC[C@@]2(CCCCC2)CC1)c1cccnc1") -smiles(R"O=C(N/N=C/c1ccc(cc1)N(C)C)C(=O)N/N=C\c1ccc(cc1)N(C)C") -smiles(R"O=C(N/N=C/c1ccc(cc1)[N+](=O)[O-])C(=O)N/N=C\c1ccc(cc1)[N+](=O)[O-]") -smiles(R"O=C(N/N=C/c1ccccc1[N+](=O)[O-])C(=O)N/N=C\c1ccccc1[N+](=O)[O-]") -smiles(R"O=C(N/N=C\c1ccc(cc1)[N+](=O)[O-])C(=O)N/N=C/c1ccc(cc1)[N+](=O)[O-]") -smiles(R"O=C(N/N=C\c1ccccc1[N+](=O)[O-])C(=O)N/N=C/c1ccccc1[N+](=O)[O-]") -smiles(R"O=C(NNC(=O)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"O=C(NNC(=O)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1)c1ccncc1") -smiles(R"O=C(NNC(=O)[C@H]1[C@H]2CCCC[C@H]12)[C@H]1[C@H]2CCCC[C@H]12") -smiles(R"O=C(NOC(C)(C)C)N1[C@H]2c3ccccc3[C@@H]1c1ccccc21") -smiles(R"O=C(/N=S/1\CCCC1)C(Cl)(Cl)Cl") -smiles(R"OC=O") -smiles(R"[O-]C(=O)[C@-]12C3=C4C5=C1[Co+3]16782345C2=C7[C@-]8(C(=O)[O-])C6=C12") -smiles(R"[O-]C(=O)[C@@-]12C3=C4C5=C1[Co+3]16782345C2=C7[C@@-]8(C(=O)[O-])C6=C12") -smiles(R"OC(=O)[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"OC(=O)[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"O=C(O[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82)C(O)(c1ccccc1)c1ccccc1") -smiles(R"O=C(O[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82)C(O)(c1ccccc1)c1ccccc1") -smiles(R"[O-]C(=O)[C@-]12C3=C4C5=C1[Fe+2]16782345C2=C7[C@-]8(C(=[OH+])O)C6=C12") -smiles(R"[O-]C(=O)[C@@-]12C3=C4C5=C1[Fe+2]16782345C2=C7[C@-]8(C(=[OH+])O)C6=C12") -smiles(R"O=CO[C@]12c3ccccc3[C@](C)(c3ccccc13)[C@@]1(OC=O)c3ccccc3[C@]2(C)c2ccccc12") -smiles(R"OC(=O)[C@@]12CC=CC[C@]2(CC=CC1)C(=O)O") -smiles(R"O=C(O[C@]12CCCC[C@@H]2[C@@]2(CCCCC2)N=N1)c1ccccc1") -smiles(R"OC(=O)[C@]12CC[C@H](c3ccccc13)c1ccccc21") -smiles(R"OC(=O)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"O=C(OC12C[C@@H]3C[C@H](C[C@@H](C3)C2)C1)c1ccc(cc1)NCC1=C(Br)C(=O)C=CC1=O") -smiles(R"O=C(O[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)NC(C)(C)C(=O)O") -smiles(R"OC(=O)[C@]12[C@@H]3CC[C@@H](CC3)[C@]2(C(=O)O)[C@@H]2CC[C@H]1C2") -smiles(R"OC(=O)[C@]12[C@@H]3CC[C@@H](O3)[C@]2(C(=O)O)[C@H]2CC[C@@H]1O2") -smiles(R"OC(=O)[C@]12[C@H]3[C@H]4[C@@H]2[C@H]2[C@@H]1[C@@H]3[C@@]42C(=O)O") -smiles(R"OC(=O)[C@]12[C@H]3[C@H]4[C@@H]2[C@H]2[C@@H]1[C@@H]3[C@@]42I") -smiles(R"OC(=O)[C@]12C(=O)NC(=O)[C@@]1(C(=O)O)[C@@]12CCCCC1") -smiles(R"OC(=O)[C@]12C(=O)NC(=O)[C@]2(C(=O)O)[C@@]1(C)C") -smiles(R"OC(=O)[C@@]1(Br)C[C@@]21c1ccccc1c1ccccc21") -smiles(R"O=C(OC1=C2CC[C@@]3(OCCO3)[C@@]2(C)CCC21OCCO2)c1ccccc1") -smiles(R"OC(=O)[C@]1(c2ccccc2)[C@H](C)[C@H]1C") -smiles(R"OC(=O)c1c(Br)cc(/N=C/c2ccc(cc2)N2CC[C@]3(CCCCC3)CC2)cc1Br") -smiles(R"OC(=O)C1(C[C@@]23CC[C@@]3(C1)C[C@](C2)(C(=O)O)C(=O)O)C(=O)O") -smiles(R"OC(=O)[C@]1(C)C[C@]21c1ccccc1c1ccccc21") -smiles(R"OC(=O)c1ccc2c(no[n+]2[O-])c1") -smiles(R"OC(=O)c1ccc2C(=O)c3ccccc3c3ncnc1c23") -smiles(R"OCOc1ccc2[nH]c3cc4c([nH]c5ccc(OCO)cc5c4=O)cc3c(=O)c2c1") -smiles(R"OC(=O)c1ccc2[N+]([O-])ONc2c1") -smiles(R"OC(=O)c1ccc2n[se]nc2c1") -smiles(R"OC(=O)c1cccc2[C@@H]3CC[C@H](c12)c1c3cccc1C(=O)O") -smiles(R"OC(=O)c1ccccc1") -smiles(R"OC(=O)c1ccccc1c1c2ccc3ccccc3c2cc2ccc3ccccc3c12") -smiles(R"OC(=O)c1ccccc1c1ccccc1C(=O)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"OC(=O)c1ccc(cc1)C[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"OC(=O)c1cc(ccc1Cl)/N=C/1\C=C/C(=C(\c2ccccc2)/c2ccc(cc2)Nc2ccc(Cl)c(c2)C(=O)O)/C=C1") -smiles(R"O=C(Oc1ccccc1)N[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"O=C(Oc1ccc(cc1)[N+](=O)[O-])CN(C(=O)O[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1)C(=O)O[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"O=C(Oc1ccc(cc1)[N+](=O)[O-])CN(C(=O)OC12C[C@H]3C[C@H](C[C@H](C3)C2)C1)C(=O)OC12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"OC(=O)c1ccccc1O") -smiles(R"OC(=O)C1=C(C(=O)O)[C@]2(Cl)C(=C(Cl)[C@@]1(Cl)[C@@]2(Cl)Cl)Cl") -smiles(R"OC(=O)c1cnccc1[C@@]12[C@@H](C(=N)NN1c1ccccc1)C(=N)NN2c1ccccc1") -smiles(R"OC(=O)[C@@]1(N)C[C@@](O)(c2ccccc2)[C@@](O)(C1)c1ccccc1") -smiles(R"[O-]C(=O)C1([NH2+]C[C@@H]2COCC2)CC[S@](=O)(=O)CC1") -smiles(R"[O-]C(=O)C1([NH2+]C[C@@H]2COCC2)CC[S@@](=O)(=O)CC1") -smiles(R"OC(=O)c1nnn(Cc2ccccc2)n1") -smiles(R"OC(=O)c1nnn(n1)c1ccccc1") -smiles(R"[O-]C(=O)C[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"[O-]C(=O)C[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"OC(=O)C[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"OC(=O)C[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"OC(=O)C[C@@]12C[C@@]3(C)C[C@](Br)(C1)C[C@@](Br)(C2)C3") -smiles(R"OC(=O)C[C@]12C[C@@H]3C[C@](CC(=O)O)(C1)C[C@](C3)(CC(=O)O)C2") -smiles(R"OC(=O)C[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"OC(=O)C[C@]12[C@H]3[C@@H]4[C@H]5[C@H]([C@@H]1[C@@H]35)[C@H]24") -smiles(R"O=C(OC[C@]12CO[C@]3(C)CC[C@@](C)(OC1)N23)C(C)(C)C") -smiles(R"O=C(OC[C@@]12CO[C@@]3(C)CC[C@](C)(OC1)N23)C(O)(c1ccccc1)c1ccccc1") -smiles(R"O=C(OC[C@]12COCN2COC1)Nc1ccc(Cl)cc1") -smiles(R"O=C(OCc1ccccc1)[C@@H](N[Pd@](Cl)(Cl)N[C@H](C(=O)OCc1ccccc1)c1ccccc1)c1ccccc1") -smiles(R"O=C(OCc1ccccc1)[C@@H](N[Pt@](Cl)(Cl)N[C@H](C(=O)OCc1ccccc1)c1ccccc1)c1ccccc1") -smiles(R"O=C(OCc1ccccc1)/N=C/1\C=C/C(=N\C(=O)OCc2ccccc2)/C=C1") -smiles(R"O=C(OCc1ccccc1)Nc1c(C)no[n+]1[O-]") -smiles(R"O=C(OCc1ccccc1)NC1=C(C)NO[N+]1[O-]") -smiles(R"O=C(OCc1ccccc1)N[C@H]1C[C@@]2(OC1=O)C=C(I)C(=O)C(=C2)I") -smiles(R"O=C(OCc1ccccc1)N[C@@H]1CC[C@@H](CC1)C(=O)O") -smiles(R"O=C(OCc1ccccc1)N[C@H]1C(=O)N[C@@H](CCc2ccccc2)NC1=O") -smiles(R"OC(=O)Cc1ccccn1[Pt](N)(Cl)Cl") -smiles(R"OC(=O)C[C@]1(CC[C@@H](OCc2ccccc2)CC1)C(=O)O") -smiles(R"OC(=O)Cc1nnn(C)n1") -smiles(R"[O-]C(=O)CC[C@]12C3=C4C5=C1[Fe+]16782345[C@H]2C7=C6C1=C82") -smiles(R"[O-]C(=O)CC[C@@]12C3=C4C5=C1[Fe+]16782345[C@@H]2C7=C6C1=C82") -smiles(R"[O-]C(=O)/C=C/[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"[O-]C(=O)/C=C/[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"[O-]C(=O)CC[C-]1C2=C3C4=C1[Fe+]1567234[C@@H]2C6=C5C1=C72") -smiles(R"[O-]C(=O)CC[C-]1C2=C3C4=C1[Fe+]1567234[C@H]2C6=C5C1=C72") -smiles(R"O=C(OC/C=C/1\CN2CC[C@@H]1CC2)[C@](O)(C1CCCC1)c1ccccc1") -smiles(R"OC(=O)/C=C(\C)/[As]12(O[C@@](C)(O1)[C@H]1CC[C@H]3CCC[C@H]13)O[C@@](C)(O2)[C@@]12CCC[C@H]2CCC1") -smiles(R"[O-]C(=O)C(C)(C)C[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"[O-]C(=O)C(C)(C)C[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"OC(=O)CC[C@@](C)(c1ccc(cc1)OC(=O)Nc1ccc(cc1)/N=N/c1ccccc1)c1ccc(cc1)OC(=O)Nc1ccc(cc1)/N=N/c1ccccc1") -smiles(R"OC(=O)CCCCCCCn1ccccc1") -smiles(R"O=C(OC(C)(C)C)[C@@H]1C(=O)[C@@H](C(=O)OC(C)(C)C)[C@@]23CCCC[C@]13[C@@H](C(=O)OC(C)(C)C)C(=O)[C@H]2C(=O)OC(C)(C)C") -smiles(R"OC(=O)CCCCCn1ccccc1") -smiles(R"[O-]C(=O)CCCCC(=O)[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"[O-]C(=O)CCCCC(=O)[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"OC(=O)CCCCn1ccccc1") -smiles(R"O=C(OC(C)(C)C)N[C@]12[C@@H]3[C@@H]4[C@H]1[C@@H]1[C@H]2[C@H]3[C@]41NC(=O)OC(C)(C)C") -smiles(R"OC(=O)CCCC(=O)N[C@H]1C[C@H]2c3ccccc3[C@@H]1c1ccccc21") -smiles(R"OC(=O)CC[C@H](NC(=O)c1ccc(NCc2ccc3nc4nnnn4c(N)c3n2)cc1)C(=O)O") -smiles(R"O=C(OCC(Cl)(Cl)Cl)N1[C@@H]2[C@H]3O[C@H]3[C@@H]([C@@H]3O[C@H]23)N1C(=O)OCC(Cl)(Cl)Cl") -smiles(R"OC(=O)CCC/N=C(\c1ccccc1)/C(=N\CCCC(=O)O)/c1ccccc1") -smiles(R"OC(=O)/C=C/C(=O)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"OC(=O)/C=C/C(=O)O") -smiles(R"O=C(OC[C@@H]1C[C@@]2(Cl)C(=C(Cl)[C@]1(Cl)C2(Cl)Cl)Cl)[C@H]1[C@@]2(Cl)C(=C(Cl)[C@@](Cl)([C@H]1C(=O)OC[C@@H]1C[C@@]3(Cl)C(=C(Cl)[C@]1(Cl)C3(Cl)Cl)Cl)[C@@]2(Cl)Cl)Cl") -smiles(R"OC(=O)C[C@H]1CCC[C@@H](CC(=O)O)[C@]1(C)C") -smiles(R"OC(=O)C[C@H]1CC[C@@H](CC1)/C(=C\[C@H]1CC[C@@H](CC1)N(C)C)/[C@H]1CC[C@@H](CC1)CC(=O)O") -smiles(R"OC(=O)C[C@@H]1NCC[C@]21OCCO2") -smiles(R"O=C(OC[C@H]1OCO[C@@H](COC(=O)c2ccccc2)[C@H]2O[C@@](C)(C)O[C@@H]12)c1ccccc1") -smiles(R"[O-]C(=O)C(Cl)(Cl)Cl") -smiles(R"OC(=O)C(Cl)(Cl)Cl") -smiles(R"OC(=O)CCn1ccccc1") -smiles(R"O=C(OCCN1CCN(CCCN2c3ccccc3Sc3ccc(cc23)C(F)(F)F)CC1)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"O=C(OCCN1CCN(CCCN2c3ccccc3Sc3ccc(cc23)C(F)(F)F)CC1)N[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"OC(=O)CCN1C(=O)[C@@]2(Cl)[C@@]3(Cl)C=C[C@@](Cl)([C@@]2(Cl)C1=O)[C@@]3(Cl)Cl") -smiles(R"OC(=O)CC(O)(CC(=O)O)C(=O)O") -smiles(R"OC(=O)CC(=O)[C@@H](C(=O)O)[C@H](CCc1ccccc1)[C@H](C(=O)O)C(=O)CC(=O)O") -smiles(R"OC(=O)CCON1C(=O)[C@]2(CCCCC2)C[C@]21CCCCC2") -smiles(R"OC(=O)[C@@H]1[C@@](Br)(c2ccccc2)[C@]1(Br)c1ccccc1") -smiles(R"OC(=O)[C@@H]1C[C@@]21c1ccccc1c1ccccc21") -smiles(R"OC(=O)[C@H]1C[C@]2(SCCS2)CC[C@@H]1c1ccccc1") -smiles(R"O=CO[C@@H]1CC[C@@]2(C)[C@H](C1)C[C@@H](OC=O)[C@H]1[C@H]3CC[C@@H]([C@H](C)CCC(=O)N[C@]45C[C@@H]6C[C@@H](C[C@@H](C6)C5)C4)[C@]3(C)[C@H](OC=O)C[C@H]21") -smiles(R"O=CO[C@@H]1CC[C@@]2(C)[C@@H](CC[C@@H]3[C@H]4CC[C@H]([C@H](C)CCC(=O)N[C@]56C[C@@H]7C[C@@H](C[C@@H](C7)C6)C5)[C@]4(C)CC[C@@H]23)C1") -smiles(R"O=CO[C@@H]1CC[C@@]2(C)[C@@H](CC[C@@H]3[C@H]4CC[C@H]([C@H](C)CCC(=O)N[C@]56C[C@@H]7C[C@@H](C[C@@H](C7)C6)C5)[C@]4(C)[C@@H](OC=O)C[C@@H]23)C1") -smiles(R"OC(=O)[C@H]1CCCC[C@]21OCCO2") -smiles(R"O=C(O[C@@H]1CCC=C(C)[C@]21CCCC2)c1cc(cc(c1)[N+](=O)[O-])[N+](=O)[O-]") -smiles(R"O=C(O[C@@H]1CCC=C(C)[C@@]21CCCC2)c1cc(cc(c1)[N+](=O)[O-])[N+](=O)[O-]") -smiles(R"OC(=O)[C@@H]1[C@](C)(C)[C@H](C(=O)O)[C@]1(C)C") -smiles(R"O=CO[C@@H]1[C@](C)(C)[C@@H](OC=O)[C@@]1(C)C") -smiles(R"O=CO[C@H]1[C@](C)(C)[C@H](OC=O)[C@@]1(C)C") -smiles(R"O=C(O[C@@H]1C(C)(C)[C@H](OC(=O)C(Cl)(Cl)Cl)[C@@]1(C)C)C(Cl)(Cl)Cl") -smiles(R"OC(=O)[C@H]1CC[C@@H](CC1)C[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"OC(=O)[C@@H]1CC[C@H](CC1)CC1CCC1") -smiles(R"O=C(O[C@@H]1CC[C@H](CC1)C(C)(C)C)c1ccccc1") -smiles(R"O=C(O[C@@H]1CC[C@H](CC1)C(C)(C)C)c1ccc(cc1)[N+](=O)[O-]") -smiles(R"O=C(O[C@H]1CC[C@@H](CC1)C(C)(C)C)c1ccc(cc1)[N+](=O)[O-]") -smiles(R"O=C(O[C@@H]1CC[C@@H](CC1)C(C)(C)C)[C@H]1CC[C@H](CC1)C(C)(C)C") -smiles(R"O=C(O[C@@H]1CC[C@H](CC1)[Si](C)(C)C)c1ccccc1") -smiles(R"OC(=O)[C@H]1CC[C@@H](NCc2ccccc2)CC1") -smiles(R"O=C(O[C@@H]1C(C)(C)OC(=O)[C@]21c1ccccc1c1ccccc21)c1ccc(cc1)[N+](=O)[O-]") -smiles(R"O=C(O[C@@H]1C(C)(C)OC(=O)[C@@]21c1ccccc1c1ccccc21)c1ccc(cc1)[N+](=O)[O-]") -smiles(R"OC(=O)[C@@H]1C[C@@H]2c3ccccc3[C@H]1c1ccccc21") -smiles(R"OC(=O)[C@H]1C[C@H]2c3ccccc3[C@@H]1c1ccccc21") -smiles(R"O=C(O[C@@H]1C[C@H]2C=C[C@@H]1[C@@]12CC1)c1ccccc1C(=O)O") -smiles(R"OC(=O)[C@@H]1C[C@H]2CC[C@@H]1CC2") -smiles(R"OC(=O)[C@@H]1C[C@@H](C[C@@H](C1)C(=O)O)C(=O)O") -smiles(R"OC(=O)[C@@H]1CCN1[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"OC(=O)[C@H]1[C@H]2c3ccccc3[C@@H]([C@@H]1Br)c1ccccc21") -smiles(R"OC(=O)[C@H]1[C@@H]2c3ccccc3[C@H]([C@H]1C)c1ccccc21") -smiles(R"OC(=O)[C@H]1[C@@H]2C=CC=CC=C[C@@H]12") -smiles(R"OC(=O)[C@@H]1[C@@H]2C[C@H]3C[C@@H]2C[C@@H]13") -smiles(R"OC(=O)[C@@H]1[C@@H]2C[C@H]([C@@H]1C(=O)O)[C@H](C(=O)O)[C@H]2C(=O)O") -smiles(R"O=C(O[C@H]1[C@H]2CCN(CC2)[C@H]1CN1CCC(=CC1)c1ccccc1)C(O)(c1ccccc1)c1ccccc1") -smiles(R"OC(=O)[C@@H]1[C@@H](Br)[C@]2(C)c3ccccc3[C@@]1(C)c1ccccc21") -smiles(R"OC(=O)[C@@H]1[C@H](c2ccccc2)[C@H](C(=O)O)[C@H]1c1ccccc1") -smiles(R"O=C(O[C@H]1[C@H](COC(=O)c2ccccc2)O[C@@H](c2nn[nH]n2)[C@@H]1OC(=O)c1ccccc1)c1ccccc1") -smiles(R"OC(=O)[C@H]1[C@H](C(=O)O)[C@]1(C)C") -smiles(R"OC(=O)[C@@H]1[C@@H](C(=O)O)[C@]2(Cl)C(=C(Cl)[C@@]1(Cl)[C@@]2(Cl)Cl)Cl") -smiles(R"OC(=O)[C@@H]1[C@@H](C(=O)O)[C@@H]2c3ccccc3[C@H]1c1ccccc21") -smiles(R"OC(=O)[C@@H]1[C@@H](C(=O)O)[C@H]2c3ccccc3[C@@H]1c1ccccc21") -smiles(R"OC(=O)[C@@H]1[C@@H](C(=O)O)[C@@H](C(=O)O)[C@H]1C(=O)O") -smiles(R"OC(=O)[C@H]1[C@@H](C(=O)O)[C@H](C(=O)O)[C@H]1C(=O)O") -smiles(R"O=C(O[C@@H]1[C@@H](OC(=O)C(Cl)Cl)[C@H](OC(=O)C(Cl)Cl)[C@@H](OC(=O)C(Cl)Cl)[C@H](OC(=O)C(Cl)Cl)[C@H]1OC(=O)C(Cl)Cl)C(Cl)Cl") -smiles(R"O=C(O[C@@H]1CN2CC[C@H]1CC2)C1CC(=O)N(C)C(=O)C1") -smiles(R"O=C(O[C@@H]1CN2CC[C@@H]1CC2)CC(=O)c1ccccc1") -smiles(R"O=C(O[C@H]1CN2CC[C@@H]1CC2)[C@H](c1ccccc1)C1(O)CCCC1") -smiles(R"O=C(O[C@H]1CN2CC[C@H]1CC2)[C@@](O)(c1ccccc1)c1cccc2CC(C)(C)Oc12") -smiles(R"O=C(O[C@@H]1CN2CC[C@H]1CC2)[C@@](O)(Cc1ccccc1)C1CC1") -smiles(R"OC(=O)[C@@H]1CS[C@]2(CCCC2)N1") -smiles(R"OC(=O)[C@@H]1N[Pt@@](Cl)(Cl)N[C@@H]1C(=O)O") -smiles(R"OC(=O)[C@H](c1ccccc1)[S@@](=O)(=O)[C@H](C(=O)O)c1ccccc1") -smiles(R"O=C(O[C@@H]([C@@H]1O[C@@H](OC[C@H]1OC(=O)c1ccccc1)c1ccccc1)[C@@H]1O[C@@H](OC[C@H]1OC(=O)c1ccccc1)c1ccccc1)c1ccccc1") -smiles(R"OC(=O)[C@@H]([C@@H](C)[C@H](C(=O)O)S(=O)(=O)O)S(=O)(=O)O") -smiles(R"O=C(O[C@@H]([C@H](COC(=O)c1ccccc1)OC(=O)c1ccccc1)[C@H](OC(=O)c1ccccc1)c1cnn(n1)c1ccccc1)c1ccccc1") -smiles(R"O=C(O[C@H]([C@H](COC(=O)c1ccccc1)OC(=O)c1ccccc1)[C@@H](OC(=O)c1ccccc1)c1cnn(n1)c1ccccc1)c1ccccc1") -smiles(R"O=C(O[C@@H]([C@H](COC(=O)c1ccccc1)OC(=O)c1ccccc1)[C@H](OC(=O)c1ccccc1)[C@H](OC(=O)c1ccccc1)c1cnn(n1)c1ccccc1)c1ccccc1") -smiles(R"OC(=O)[C@@H](Cl)C12C[C@]3(C)C[C@@](C)(C[C@@](C)(C3)C2)C1") -smiles(R"OC(=O)[C@@H](C)O") -smiles(R"O=C(O[C@@H](COC(c1ccccc1)(c1ccccc1)c1ccccc1)[C@@H]1O[C@@](C)(C)O[C@H]1[C@H](COC(c1ccccc1)(c1ccccc1)c1ccccc1)OC(=O)c1ccccc1)c1ccccc1") -smiles(R"O=C(O[C@@H](CO[C@H]1O[C@@H](COC(=O)c2ccccc2)[C@H](OC(=O)c2ccccc2)[C@@H](OC(=O)c2ccccc2)[C@H]1OC(=O)c1ccccc1)[C@H](OC(=O)c1ccccc1)[C@@H](OC(=O)c1ccccc1)c1cnn(n1)c1ccccc1)c1ccccc1") -smiles(R"O=C(O[C@@H](COC(=O)c1ccccc1)[C@@H](OC(=O)c1ccccc1)c1cnn(n1)c1ccccc1)c1ccccc1") -smiles(R"OC(=O)[C@@H](C)[S@](=O)(=O)[C@@H](C)C(=O)O") -smiles(R"OC(=O)[C@@H](C)[S@@](=O)(=O)[C@H](C)C(=O)O") -smiles(R"OC(=O)[C@@H](NC(C)(C)C)[C@]12C[C@]3(C)C[C@@](C)(C[C@@](C)(C3)C2)C1") -smiles(R"OC(=O)[C@H](N)CSC[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"OC(=O)[C@H](N)CSC[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82") -smiles(R"[O-]C(=O)[C@H]([NH2+]C(C)(C)C)[C@]12C[C@]3(C)C[C@@](C)(C[C@@](C)(C3)C2)C1") -smiles(R"[O-]C(=O)[C@H]([NH2+]C(C)(C)C)C12C[C@@]3(C)C[C@](C)(C[C@](C)(C3)C2)C1") -smiles(R"OC(=O)[C@@H](N[Pd@](Cl)(Cl)N[C@@H](C(=O)O)c1ccccc1)c1ccccc1") -smiles(R"OC(=O)[C@@H](N[Pt@](Cl)(Cl)N[C@@H](C(=O)O)c1ccccc1)c1ccccc1") -smiles(R"OC(=O)[C@@H](O)[C@H](O)C(=O)O") -smiles(R"OC(=O)C[N@@+]12CC[N@@+]34CC(=O)O[Rh]24([O-])(OC(=O)C1)OC(=O)C3") -smiles(R"OC(=O)C[N@@+]12CC[N@+]34CC(=O)O[Rh]24([O-])(OC(=O)C1)OC(=O)C3") -smiles(R"OC(=O)C[N@@+]12CC(=O)O[Rh]342([O-])OC(=O)C[N@@+]4(CC(=O)O3)[C@H](C)C1") -smiles(R"OC(=O)C[N@@+]12CC(=O)O[Rh]342([O-])OC(=O)C[N@+]4(CC(=O)O3)[C@H](C)C1") -smiles(R"O=C(OCn1ccc2c(c1)c(C)c1c([nH]c3ccccc13)c2C)c1ccccc1") -smiles(R"OC(=O)Cn1ccccc1") -smiles(R"OC(=O)C[N+]1(CC(=O)O)[C@H]2CCCC[C@H]2[N+](CC(=O)O)(CC(=O)O)[Pd@@]1(Cl)Cl") -smiles(R"OC(=O)C[N+]1(CC(=O)O)[C@@H]2CCCC[C@H]2[N+](CC(=O)O)(CC(=O)O)[Pt@]1(Cl)Cl") -smiles(R"OC(=O)CN1C(=O)[C@@H]2[C@H]3c4ccccc4[C@H](c4ccccc34)[C@@H]2C1=O") -smiles(R"OC(=O)C/N=C(\c1ccccc1)/C(=N\CC(=O)O)/c1ccccc1") -smiles(R"OC(=O)COc1c(Cl)cc(/N=C/c2ccc(cc2)N2CC[C@@]3(CCCCC3)CC2)cc1Cl") -smiles(R"OC(=O)C(=O)O") -smiles(R"OC(=O)CP(=O)([O-])[O-]") -smiles(R"O=C([OH+][Ti]12345678([OH+]C(=O)C(F)(F)C(F)(F)F)(C9=C3C2=C1[C@H+]49)C1=C6C7=C5[C@@H+]81)C(F)(F)C(F)(F)F") -smiles(R"O=C(O/N=C/1\c2ccccc2[C@H](Br)[C@@H](Br)c2ccccc12)c1cc(cc(c1)[N+](=O)[O-])[N+](=O)[O-]") -smiles(R"O=C(O/N=C\1/c2ccccc2[C@H](Br)[C@@H](Br)c2ccccc12)c1cc(cc(c1)[N+](=O)[O-])[N+](=O)[O-]") -smiles(R"O=C(ON[C@@H]1CC[C@H](CC1)CC1CCCCC1)c1ccccc1") -smiles(R"OC(=O)P(=O)([O-])[O-]") -smiles(R"O=C(O[Sn@@](OC(=O)[C@@]12C3=C4C5=C1[Fe]16782345C2=C7C6=C1[C@H]82)(c1ccccc1)c1ccccc1)[C@@]12C3=C4C5=C1[Fe]16782345C2=C7C6=C1[C@@H]82") -smiles(R"OC[P+](CO)(CO)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"OC[P+](CO)(CO)C12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"[O+]#C[Rh@@]1(Cl)[AsH](C[AsH](c2ccccc2)(c2ccccc2)[Rh@](Cl)(C#[O+])[AsH](C[AsH]1(c1ccccc1)c1ccccc1)(c1ccccc1)c1ccccc1)(c1ccccc1)c1ccccc1") -smiles(R"O=C(Sc1ccccc1)[C@H]1O[C@@]21CCCCC2") -smiles(R"O[Cu+2](O)(N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)(N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)(N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"O[Cu+2](O)(NC12C[C@H]3C[C@H](C[C@H](C3)C2)C1)(NC12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)(NC12C[C@H]3C[C@H](C[C@H](C3)C2)C1)NC12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"[O+]#C[W+]12345(C#[O+])([OH+]/[N+]/1=C(\C)/C=C(C)C)[C@@H]1C4=C3C2=C51") -smiles(R"[OH2-][H+]([OH2-])[OH2-]") -smiles(R"[OH]#C[Ru]123456([C@@H]7C3=C2C1=C47)C(=O)[Ru]12346(C#[OH])([C@H]6C3=C2C1=C46)C5=O") -smiles(R"[OH]#C[Ru]123456(C(=O)[Ru]789%102(C#[OH])(C1=O)C1(=C9(C)C8(=C7(C)[C@]%101C)C)C)[C@]1(C)C5(=C4(C)C3(=C61C)C)C") -smiles(R"[OH-][H+]([OH-])[OH-]") -smiles(R"O[Mg+2](O)(N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)(N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"O[Mg+2](O)(NC12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)(NC12C[C@H]3C[C@H](C[C@H](C3)C2)C1)NC12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"ON1C(C)(C)CC(/N=C\C=N\C2CC(C)(C)N(O)C(C)(C)C2)CC1(C)C") -smiles(R"O=[N+]1[C@@H]2[C@H]3CC[C@H](C3)[C@H]2[N+](=O)[Co]23451[C@H]1C4=C3C2=C51") -smiles(R"O=[N+]1[CH-]N=C2NNNC2=C1N") -smiles(R"[O-][n+]1c(N)c(C(=O)NC23C[C@@H]4C[C@@H](C[C@@H](C4)C3)C2)[n+]([O-])c2ccccc12") -smiles(R"[O-][n+]1c([nH]n(C)c2[nH]c(=O)n(C)c(=O)c12)c1ccc2OCOc2c1") -smiles(R"[O-][n+]1c([nH]n(C)c2[nH]c(=O)n(C)c(=O)c12)c1cccnc1") -smiles(R"[O-][n+]1c(nn(C)c2nc(=O)n(C)c(=O)c12)c1ccc2OCOc2c1") -smiles(R"[O-][n+]1c(nn(C)c2nc(=O)n(C)c(=O)c12)c1cccnc1") -smiles(R"ON1C(=O)[C@@]2(CCCCC2)C(=N)[C@@]21CCCCC2") -smiles(R"ON1C(=O)C[C@@H]2[C@H]1C=C[C@]12CCCC1") -smiles(R"[O-][n+]1nc2c(cc3ccc(Cl)[nH]n23)cc1C") -smiles(R"[O-][N+]1ONc2cc(ccc12)[N+](=O)[O-]") -smiles(R"[O-][N+]1ONc2[nH]c(=N)[nH]c(=N)c12") -smiles(R"ON[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"O/N=C/1\[C@@]2(CCCC=C2)NC(=O)[C@@]21CCCCC2") -smiles(R"O/N=C/1\[C@]2(CCCCC2)N(O)C(=O)[C@@]21CCCCC2") -smiles(R"O/N=C/1\[C@@]2(CCCC=C2)N(O)C(=O)[C@@]21CCCCC2") -smiles(R"O/N=C/1\C[C@]2(CC[C@@]1(CC2)c1ccccc1)N1CCOCC1") -smiles(R"O/N=C/1\C[C@@]2(CC[C@]1(CC2)Cc1ccccc1)N1CCOCC1") -smiles(R"O=Nc1cc2nc3c(nc2cc1N=O)c1ccccc1c1ccccc31") -smiles(R"O/N=C\1/C=C/C(=C(/C#N)\c2cccc3ccccc23)/C=C1") -smiles(R"O/N=C/1\C=C/C(=C(\C#N)/c2ccc(Cl)cc2)/C=C1") -smiles(R"O/N=C/1\[C@](C)(C)/C(=N/O)/[C@@]1(C)C") -smiles(R"O/N=C/1\C=C/C(=N\O)/C2=C1[C@@H]1c3ccccc3[C@@]2(C(=O)OC)c2ccccc12") -smiles(R"O/N=C/1\C=C/C(=N\O)/C2=C1[C@@H]1c3ccccc3[C@H]2c2ccccc12") -smiles(R"O/N=C\1/C[C@H]2CCCC[C@H]2C/C1=N\O") -smiles(R"O/N=C/1\C[C@@H](c2ccccc2)N(C)[C@@H](C1)c1ccccc1") -smiles(R"O/N=C/1\C[C@@H](c2ccccc2)N(N=O)[C@@H](C1)c1ccccc1") -smiles(R"[O-]/N(=C/1\C=C([N+](=O)[O-])C2(OC3C(O2)C(COP(=O)(O)OP(=O)(O)OP(=O)(O)O)OC3n2cnc3c(N)ncnc23)C(=C1)[N+](=O)[O-])/O") -smiles(R"O/N=C\1/[C@@H](CCC[C@H]1CN(C)C)CN(C)C") -smiles(R"O/N=C\1/[C@H](CC[C@@H]1CN(C)C)CN(C)C") -smiles(R"O=Nc1c(N)nc(n(C)c1=O)[S+](C)[Pd@@](Cl)(Cl)[S+](C)c1nc(N)c(N=O)c(=O)n1C") -smiles(R"O/N=C/1\C(=N\NC(=S)N)\CC(C)(C)C\C1=N/NC(=S)N") -smiles(R"O/N=C/1\C(=O)N/C(=N)/NC1=O") -smiles(R"O/N=C(\c1ccccc1)/[C@@H]1[C@H](c2ccccc2)[C@H]1/C(=N/O)/c1ccccc1") -smiles(R"O/N=C/c1cnn(n1)c1ccccc1") -smiles(R"O/N=C/c1nc2ncnc3ccn1c23") -smiles(R"O/N=C/c1[nH]c(Cc2[nH]c(/C=N\O)c(C)c2C(=O)OCC)c(C(=O)OCC)c1C") -smiles(R"O/N=C(/C)\[C@@]12C3=C4C5=C1[Fe]16782345[C@H]2C7=C6C1=C82") -smiles(R"[O-][N+](C)(C)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"[O-][N+](C)(C)C12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"O/N=C(\C)/C(=N\O)/C") -smiles(R"O/N=C(/C[N@@+]12CN3CN(CN(C3)C2)C1)\c1ccccc1") -smiles(R"O/N=C(/C[N@@+]12CN3CN(CN(C3)C2)C1)\c1ccc(I)cc1") -smiles(R"O/N=C(/C(=N/NC(=O)c1ccccc1)/C)\C(=N\NC(=O)c1ccccc1)\C") -smiles(R"O/N=C(/C(=N/NC(=O)Cc1ccccc1)/C)\C(=N\NC(=O)Cc1ccccc1)\C") -smiles(R"O/N=C(\C(=N\O)\[C@H](C#N)c1ccc(Cl)cc1)/[C@H](C#N)c1ccc(Cl)cc1") -smiles(R"O=N[C@H]1C(=O)N/C(=N)/NC1=O") -smiles(R"ONC(=O)[C@]12[C@H]3[C@H]4[C@@H]2[C@H]2[C@@H]1[C@@H]3[C@@]42C(=O)NO") -smiles(R"ONC(=O)C[C@@]12[C@H]3[C@H]4[C@@H]1[C@H]1[C@@H]2[C@@H]3[C@@]41CC(=O)NO") -smiles(R"ONC(=O)[C@@H]1CCCC[C@@]21OCCO2") -smiles(R"O[Ni](O)(N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)(N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)(N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"[O+]#[N+][Mn]123456([C@@H]7C3=C2C1=C47)C(=O)[Mn]12346([N+]#[O+])([C@H]6C3=C2C1=C46)C5=O") -smiles(R"O=NN1[C@H]2c3ccccc3[C@@H]1c1ccccc21") -smiles(R"O=NN1CN2CN(N=O)CN(C2)C1") -smiles(R"O=NN(C)C(=O)N[C@H]1CC[C@H](CC1)NC(=O)N(C)N=O") -smiles(R"O=NN([C@H]1CC[C@@H](CC1)C(=O)O)C(=O)N[C@@H]1CC[C@H](CC1)C(=O)O") -smiles(R"O=NN([C@H]1CC[C@@H](O)CC1)C(=O)N[C@@H]1CC[C@H](O)CC1") -smiles(R"[O-][N+](=O)[C@]12c3ccccc3[C@@H](C[C@]2(Br)C(=O)Cl)c2ccccc12") -smiles(R"[O-][N+](=O)[C@@]12c3ccccc3[C@H](C[C@]2(Br)C(=O)Cl)c2ccccc12") -smiles(R"[O-][N+](=O)[C@]12CC[C@H](c3ccccc13)c1ccccc21") -smiles(R"[O-][N+](=O)[C@@]12CC[C@@H](c3ccccc13)c1ccccc21") -smiles(R"[O-][N+](=O)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"[O-][N+](=O)C12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"[O-][N+](=O)[C@]1(Br)CC[C@@](Br)(CC1)[N+](=O)[O-]") -smiles(R"[O-][N+](=O)[C@@]1(Br)CC[C@](Br)(CC1)[N+](=O)[O-]") -smiles(R"[O-][N+](=O)c1c2ccc(Cl)[nH]n2c2n[n+]([O-])c(C)cc12") -smiles(R"[O-][N+](=O)c1c2nn(nc2c2nonc2c1O)c1ccccc1") -smiles(R"[O-][N+](=O)C1=C[C-]2C(=[N+]([O-])[C@]3(CCCCC3)[N+]2=O)C=C1") -smiles(R"[O-][N+](=O)C1=C[C-]2C(=[N+]([O-])[C@@]3(CCCCC3)[N+]2=O)C=C1") -smiles(R"[O-][N+](=O)c1cc2n[nH][nH]c2c2[nH]onc12") -smiles(R"[O-][N+](=O)c1cc2nn[nH]c2c2nonc12") -smiles(R"[O-][N+](=O)c1cc(Br)c2c(c1)C(=O)c1cc(cc([N+](=O)[O-])c21)[N+](=O)[O-]") -smiles(R"[O-][N+](=O)c1ccc2c3ccccc3[C@H](N3C[C@@H]4CC[C@@H](CC4)C3)c2c1") -smiles(R"[O-][N+](=O)c1ccc2c(c1)[C@@H](N1C[C@@H]3CC[C@@H](CC3)C1)c1ccccc21") -smiles(R"ON(=O)c1ccc2c(c1)n1c(N3CCCC3)n3ccccc3c1c1c3ccccn3c(N3CCCC3)n21") -smiles(R"[O-][N+](=O)c1ccc2c(c1)n1c(N(C)C)[n+]3ccccc3c1c1c3ccccn3c(N(C)C)[n+]21") -smiles(R"[O-][N+](=O)c1ccc2c(no[n+]2[O-])c1") -smiles(R"[O-][N+](=O)c1ccc2[n+]3C(N(C)C)N4CCCCC4c3c3n(c2c1)c(N(C)C)[n+]1ccccc31") -smiles(R"[O-][N+](=O)c1ccc2nc3c4cccc5cc6ccccc6c(c3nc2c1)c45") -smiles(R"[O-][N+](=O)c1ccc2nc3c(nc2c1)c1cccc2cccc3c12") -smiles(R"[O-][N+](=O)c1ccc2[nH]c3c4cccc5cc6ccccc6c(c3[nH]c2c1)c45") -smiles(R"[O-][N+](=O)c1ccc2[nH]c3c([nH]c2c1)c1cccc2cccc3c12") -smiles(R"[O-][N+](=O)c1ccc2[nH][se][nH]c2c1") -smiles(R"[O-][N+](=O)c1ccc2[nH]s[nH]c2c1") -smiles(R"[O-][N+](=O)c1ccc2n[se]nc2c1") -smiles(R"[O-][N+](=O)c1ccc2nsnc2c1") -smiles(R"[O-][N+](=O)c1cccc2c1[C@@H]1c3ccccc3[C@H]2c2ccccc12") -smiles(R"[O-][N+](=O)c1cccc2c1[C@H]1c3ccccc3[C@@H]2c2ccccc12") -smiles(R"[O-][N+](=O)c1cccc2c3nonc3ccc12") -smiles(R"[O-][N+](=O)c1cccc2c3NONc3ccc12") -smiles(R"[O-][N+](=O)[C@]1(C)C=C[C@@]2(C=C1)OC(=O)C(C)(C)O2") -smiles(R"[O-][N+](=O)[C@@]1(C)C=C[C@]2(C=C1)OC(=O)C(C)(C)O2") -smiles(R"[O-][N+](=O)c1ccccc1[C@@]12C3=C4C5=C1[Fe]16782345C2=C7[C@]8(c3ccccc3[N+](=O)[O-])C6=C12") -smiles(R"[O-][N+](=O)c1ccccc1[C@@]12C3=C4C5=C1[Fe]16782345C2=C7[C@@]8(c3ccccc3[N+](=O)[O-])C6=C12") -smiles(R"[O-][N+](=O)c1ccc(cc1)[C@]12CCCC(=O)[C@H]1[C@H]1C(=O)CCC[C@@]21c1ccc(cc1)[N+](=O)[O-]") -smiles(R"[O-][N+](=O)c1ccc(cc1)[C@@]12CCCC(=O)[C@@H]1[C@@H]1C(=O)CCC[C@]21c1ccc(cc1)[N+](=O)[O-]") -smiles(R"[O-][N+](=O)c1ccc(cc1)C1=C(N=c2ccccc2=c2ccccc2=N1)c1ccc(cc1)[N+](=O)[O-]") -smiles(R"[O-][N+](=O)C1CCC(CC1)C1=C(N=C2CCCCC2C2CCCCC2=N1)c1ccc(cc1)[N+](=O)[O-]") -smiles(R"[O-][N+](=O)c1cccc(c1)c1n[n+](c2ccc(cc2)c2ccc(cc2)[n+]2nc(nn2c2ccccc2)c2cccc(c2)[N+](=O)[O-])n(n1)c1ccccc1") -smiles(R"[O-][N+](=O)c1cccc(c1)c1nn(c2ccccc2)[n+](n1)c1ccc(cc1)c1ccc(cc1)[n+]1nc([nH]n1c1ccccc1)c1cccc(c1)[N+](=O)[O-]") -smiles(R"[O-][N+](=O)c1ccc(cc1)c1nnc(o1)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"[O-][N+](=O)c1ccc(cc1)c1nnc(o1)C12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"[O-][N+](=O)c1ccc(cc1)[C@@H]1N2CCCC[C@@H]2[C@@H]2CCCCN12") -smiles(R"[O-][N+](=O)c1ccc(cc1)[C@H]1N2CCCC[C@H]2[C@H]2CCCCN12") -smiles(R"[O-][N+](=O)c1cccc(c1)[C@@H]1OC[C@]2(CO1)CO[C@@H](OC2)c1cccc(c1)[N+](=O)[O-]") -smiles(R"[O-][N+](=O)c1cccc(c1)[C@@H]1OC[C@@]2(CO1)CO[C@H](OC2)c1cccc(c1)[N+](=O)[O-]") -smiles(R"[O-][N+](=O)c1ccc(cc1)[C@H]1O[C@H]1C(=O)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"[O-][N+](=O)c1ccc(cc1)[C@H]1O[C@H]1C(=O)C12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"[O-][N+](=O)c1cccc(c1)[C@H]1O[C@H]1C(=O)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"[O-][N+](=O)c1cccc(c1)[C@H]1O[C@H]1C(=O)C12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"[O-][N+](=O)c1ccc(cc1)[C@@H]1ON=C(c2ccccc2)N1[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"[O-][N+](=O)c1ccc(cc1)[C@@H]1ON=C(c2ccccc2)N1C12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"[O-][N+](=O)c1ccc(cc1)[C@@H](/N=C/c1ccc(cc1)[N+](=O)[O-])/N=C/c1ccc(cc1)[N+](=O)[O-]") -smiles(R"[O-][N+](=O)c1ccc(cc1)[C@H](/N=C/c1ccc(cc1)[N+](=O)[O-])/N=C/c1ccc(cc1)[N+](=O)[O-]") -smiles(R"[O-][N+](=O)c1ccc(cc1)Cn1c2cc3c(Cl)c(=O)c4ccccc4c3cc2nc2ccccc12") -smiles(R"[O-][N+](=O)c1ccc(cc1)Cn1c2cc3c(Cl)c(=O)c4CCCCc4c3cc2nc2ccccc12") -smiles(R"[O-][N+](=O)c1ccc(cc1)/C=N/[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"[O-][N+](=O)c1ccc(cc1)/C=N/C12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"[O-][N+](=O)c1ccccc1/C=N/[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"[O-][N+](=O)c1ccccc1/C=N/C12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"[O-][N+](=O)c1ccc(cc1)CSc1nnc(n1C)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"[O-][N+](=O)c1ccc(cc1)CSc1nnc(n1C)C12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"[O-][N+](=O)c1cc(ccc1F)N1C(=O)[C@@H]2[C@H](C1=O)[C@]1(Cl)C(=C(Cl)[C@@]2(Cl)[C@]1(Cl)Cl)Cl") -smiles(R"[O-][N+](=O)c1cc(ccc1F)N1C(=O)[C@@H]2[C@H](C1=O)[C@]1(Cl)C(=C(Cl)[C@@]2(Cl)C1(Cl)Cl)Cl") -smiles(R"[O-][N+](=O)c1ccc(cc1)n1nc2c(ccc3[n+]([O-])onc23)n1") -smiles(R"[O-][N+](=O)c1ccc(cc1)n1[nH]c2ccc3[n+]([O-])onc3c2n1") -smiles(R"[O-][N+](=O)c1cc(ccc1N/N=C/1\C=C[C@](C)(C=C1)C(C)(Cl)Cl)[N+](=O)[O-]") -smiles(R"[O-][N+](=O)c1cc(ccc1N/N=C\1/C=C[C@@](C)(C=C1)C(C)(Cl)Cl)[N+](=O)[O-]") -smiles(R"[O-][N+](=O)c1cc(ccc1N/N=C/1\C=C[C@](C)(C=C1)C(Cl)(Cl)Cl)[N+](=O)[O-]") -smiles(R"[O-][N+](=O)c1cc(ccc1N/N=C\1/C=C[C@@](C)(C=C1)C(Cl)(Cl)Cl)[N+](=O)[O-]") -smiles(R"[O-][N+](=O)c1cc(ccc1N/N=C/1\[C@@H]2CC[C@H]1CC2)[N+](=O)[O-]") -smiles(R"[O-][N+](=O)c1cc(ccc1N/N=C/1\[C@H]2CC[C@@H]1CC2)[N+](=O)[O-]") -smiles(R"[O-][N+](=O)c1cc(ccc1N/N=C/[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)[N+](=O)[O-]") -smiles(R"[O-][N+](=O)c1cc(ccc1N/N=C/C12C[C@H]3C[C@H](C[C@H](C3)C2)C1)[N+](=O)[O-]") -smiles(R"[O-][N+](=O)c1cc(ccc1N/N=C(/c1ccccc1)\C(=N\Nc1ccc(cc1[N+](=O)[O-])[N+](=O)[O-])\c1ccccc1)[N+](=O)[O-]") -smiles(R"[O-][N+](=O)c1cc(ccc1N/N=C(\c1ccccc1)/C(=N\Nc1ccc(cc1[N+](=O)[O-])[N+](=O)[O-])/c1ccccc1)[N+](=O)[O-]") -smiles(R"[O-][N+](=O)c1cc(cc(c1)[N+](=O)[O-])c1nnc(o1)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"[O-][N+](=O)c1cc(cc(c1)[N+](=O)[O-])c1nnc(o1)C12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"[O-][N+](=O)c1cccc(/C=c/2\sc3nc4ccccc4n3c2=O)c1") -smiles(R"[O-][N+](=O)c1cccc(/C=c/2\sc3[nH]c4ccccc4n3c2=O)c1") -smiles(R"[O-][N+](=O)c1cccc(/C=C/C(=O)[C@-]23C4=C5C6=C2[Fe+2]27893456[C-]3C8=C7C2=C93)c1") -smiles(R"[O-][N+](=O)c1cccc(/C=C/C(=O)[C@@-]23C4=C5C6=C2[Fe+2]27893456[C-]3C8=C7C2=C93)c1") -smiles(R"[O-][N+](=O)c1cccc(/C=N/[C@]23C[C@@H]4C[C@@H](C[C@@H](C4)C3)C2)c1") -smiles(R"[O-][N+](=O)c1cccc(/C=N/C23C[C@@H]4C[C@@H](C[C@@H](C4)C3)C2)c1") -smiles(R"[O-][N+](=O)c1cccc(/N=N/c2ccc(c(O)c2)C(=O)[OH+][Pt@@+2]2(N[C@@H]3CCCC[C@@H]3N2)[OH+]C(=O)c2ccc(/N=N/c3cccc(c3)[N+](=O)[O-])cc2O)c1") -smiles(R"[O-][N+](=O)c1cccc(/N=N/c2ccc(c(O)c2)C(=O)[OH+][Pt@+2]2(N[C@@H]3CCCC[C@@H]3N2)[OH+]C(=O)c2ccc(/N=N/c3cccc(c3)[N+](=O)[O-])cc2O)c1") -smiles(R"[O-][N+](=O)c1c(C)no[n+]1[O-]") -smiles(R"[O-][N+](=O)c1cc([N+](=O)[O-])c2[nH]n(c3ccccc3)[n+]([O-])c2c1") -smiles(R"[O-][N+](=O)c1cc([N+](=O)[O-])c2nn(c3ccccc3)[n+]([O-])c2c1") -smiles(R"[O-][N+](=O)c1cc([N+](=O)[O-])c2nonc2c1O") -smiles(R"[O-][N+](=O)c1cc([N+](=O)[O-])c2NONc2c1O") -smiles(R"[O-][N+](=O)c1cc([N+](=O)[O-])c2no[n+]([O-])c2c1Nc1ccccc1") -smiles(R"[O-][N+](=O)c1cc([N+](=O)[O-])c2NO[N+]([O-])c2c1Nc1ccccc1") -smiles(R"[O-]/N(/O)=C\1/C=C([N+](=O)[O-])C2(OC3C(O2)C(COP(=O)(O)OP(=O)(O)OP(=O)(O)O)OC3n2cnc3c(N)ncnc23)C(=C1)[N+](=O)[O-]") -smiles(R"[O-][N+](=O)c1cc([N+](=O)[O-])c(O)c(c1)[N+](=O)[O-]") -smiles(R"[O-][N+](=O)[C@]1(C)CO[C@]2(OC1)C(C)(C)[C@@]1(OC[C@](C)(CO1)[N+](=O)[O-])C2(C)C") -smiles(R"[O-][N+](=O)[C@@]1(C)CO[C@]2(OC1)C(C)(C)[C@@]1(OC[C@@](C)(CO1)[N+](=O)[O-])C2(C)C") -smiles(R"[O-][N+](=O)[C@]1(C)CO[C@H](/C=C/c2ccccc2)OC1") -smiles(R"[O-][N+](=O)[C@]1(C)CO[C@H](CCc2ccccc2)OC1") -smiles(R"[O-][N+](=O)[C@@]1(C)CO[C@@H](/C=C/c2ccccc2)OC1") -smiles(R"[O-][N+](=O)[C@@]1(C)CO[C@@H](CCc2ccccc2)OC1") -smiles(R"[O-][N+](=O)[C@]1(C)CO[C@H](OC1)Cc1ccccc1") -smiles(R"[O-][N+](=O)[C@@]1(C)CO[C@@H](OC1)Cc1ccccc1") -smiles(R"[O-][N+](=O)[C@]1(Cl)CC[C@@](Cl)(CC1)[N+](=O)[O-]") -smiles(R"[O-][N+](=O)[C@@]1(Cl)CC[C@](Cl)(CC1)[N+](=O)[O-]") -smiles(R"[O-][N+](=O)c1cnc2[nH]s[nH]c2c1N") -smiles(R"[O-][N+](=O)c1cnc2nsnc2c1N") -smiles(R"[O-][N+](=O)c1cnc(c2scc(/C=N/N3CC[S@](=O)(=O)CC3)n2)n1C") -smiles(R"[O-][N+](=O)c1cnc(c2scc(/C=N/N3CC[S@@](=O)(=O)CC3)n2)n1C") -smiles(R"[O-][N+](=O)c1c[nH]n([nH]1)c1ccccc1") -smiles(R"[O-][N+](=O)c1cnn(n1)c1ccccc1") -smiles(R"[O-][N+](=O)c1c(O)c2[nH]onc2c2nn([nH]c12)c1ccccc1") -smiles(R"[O-][N+](=O)[C@]1(C[Se]c2ccccc2)CC[C@@H](CC1)C(C)(C)C") -smiles(R"[O-][N+](=O)[C@@]1(C[Se]c2ccccc2)CC[C@H](CC1)C(C)(C)C") -smiles(R"[O-][N+](=O)Cc1cnc2[nH]ncn2[nH]1") -smiles(R"[O-][N+](=O)Cc1cnc2nncn2n1") -smiles(R"[O-][N+](=O)/C=C/1\[SH+][Co+3]2([SH+]1)[SH+]/C(=C/[N+](=O)[O-])/[SH+]2") -smiles(R"[O-][N+](=O)/C=C\1/[SH+][Co+3]2([SH+]1)[SH+]/C(=C/[N+](=O)[O-])/[SH+]2") -smiles(R"[O-][N+](=O)/C=C/1\[SH+][Ni+2]2([SH+]1)[SH+]/C(=C/[N+](=O)[O-])/[SH+]2") -smiles(R"[O-][N+](=O)/C=C\1/[SH+][Ni+2]2([SH+]1)[SH+]/C(=C/[N+](=O)[O-])/[SH+]2") -smiles(R"[O-][N+](=O)/C=C/1\[SH+][Pt+2]2([SH+]1)[SH+]/C(=C/[N+](=O)[O-])/[SH+]2") -smiles(R"[O-][N+](=O)/C=C\1/[SH+][Pt+2]2([SH+]1)[SH+]/C(=C/[N+](=O)[O-])/[SH+]2") -smiles(R"[O-][N+](=O)/C(=C(/N[C@H](C)C12C[C@H]3C[C@@H](C[C@H](C3)C2)C1)\N[C@@H](C)C12C[C@H]3C[C@H](C[C@@H](C3)C2)C1)/C(=C(Cl)Cl)Cl") -smiles(R"[O-][N+](=O)[C@H]1C[C@]21c1ccccc1c1ccccc21") -smiles(R"[O-][N+](=O)[C@H]1C[C@@]21c1ccccc1c1ccccc21") -smiles(R"[O-][N+](=O)[C@@H]1CC[C@@H](CC1)C1=CS[C@H]2CCCC[C@@H]2N1") -smiles(R"[O-][N+](=O)[C@H]1CC[C@H](CC1)C1=CS[C@H]2CCCC[C@@H]2N1") -smiles(R"[O-][N+](=O)[C@H]1[C@@H](c2ccccc2)[C@]21c1ccccc1c1ccccc21") -smiles(R"[O-][N+](=O)[C@H]1[C@@H](c2ccccc2)[C@@]21c1ccccc1c1ccccc21") -smiles(R"[O-][N+](=O)[C@@H]1C(=[O+][Cu@]2([O+]=C1C)[O+]=C(C)[C@H]([N+](=O)[O-])C(=[O+]2)C)C") -smiles(R"[O-][N+](=O)[C@@H]1C(=[O+][Cu@@]2([O+]=C1C)[O+]=C(C)[C@@H]([N+](=O)[O-])C(=[O+]2)C)C") -smiles(R"[O-][N+](=O)[C@@H]([C@H](CC(=O)c1ccccc1)c1ccccc1)[C@H](CC(=O)c1ccccc1)c1ccccc1") -smiles(R"[O-][N+](=O)[C@H]([C@H](CC(=O)c1ccccc1)c1ccccc1)[C@H](CC(=O)c1ccccc1)c1ccccc1") -smiles(R"[O-][N+](=O)[C@@H](/C=N/c1ccccc1)/C=N/c1ccccc1") -smiles(R"[O-][N+](=O)[C@H](/C=N/c1ccccc1)/C=N/c1ccccc1") -smiles(R"[O-][N+](=O)[O-]") -smiles(R"[O-][N+](=O)O") -smiles(R"ON(=O)O") -smiles(R"[O-][N+](=O)O[Ca](O[N+](=O)[O-])(N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"[O-][N+](=O)O[Ca](O[N+](=O)[O-])(NC12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)NC12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"[O-][N+](=O)O[Co]1234([S+]=C([N-][N+]3=C(C)c3cccc[n+]13)N1C[C@H]3CC[C@H](CC3)C1)[S+]=C([N-][N+]4=C(C)c1cccc[n+]21)N1C[C@@H]2CC[C@@H](CC2)C1") -smiles(R"[O-][N+](=O)O[Co]1234([S+]=C([N-][N+]3=C(C)c3cccc[n+]13)N1C[C@H]3CC[C@H](CC3)C1)[S+]=C([N-][N+]4=C(C)c1cccc[n+]21)N1C[C@H]2CC[C@H](CC2)C1") -smiles(R"[O-][N+](=O)O[Co]123(O[N+](=O)[O-])[N@+]4(CC[N@@+]1(CC[N@+]2(CC[N@+]3(CC4)Cc1ccccc1)Cc1ccccc1)Cc1ccccc1)Cc1ccccc1") -smiles(R"[O-][N+](=O)O[Co]123(O[N+](=O)[O-])[N@+]4(CC[N@+]1(CC[N@+]3(CC[N@@+]2(CC4)Cc1ccccc1)Cc1ccccc1)Cc1ccccc1)Cc1ccccc1") -smiles(R"[O-][N+](=O)O[Cu]123(O[N+](=O)[O-])[N@+]4(CC[N@@+]1(CC[N@+]2(CC[N@+]3(CC4)Cc1ccccc1)Cc1ccccc1)Cc1ccccc1)Cc1ccccc1") -smiles(R"[O-][N+](=O)O[Cu]123(O[N+](=O)[O-])[N@+]4(CC[N@+]1(CC[N@+]3(CC[N@@+]2(CC4)Cc1ccccc1)Cc1ccccc1)Cc1ccccc1)Cc1ccccc1") -smiles(R"[O-][N+](=O)O[Pd](O[N+](=O)[O-])(NC12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)NC12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"[O-][N+](=O)O[Pd@@](O[N+](=O)[O-])(N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"[O-][N+](=O)O[Pt@]1(O)N[C@@H]2CCCC[C@H]2N1") -smiles(R"[O-][N+](=O)O[Pt@@]1(O)N[C@@H]2CCCC[C@H]2N1") -smiles(R"[O-][N+](=O)O[Zn]123(O[N+](=O)[O-])[N@+]4(CC[N@@+]1(CC[N@+]2(CC[N@+]3(CC4)Cc1ccccc1)Cc1ccccc1)Cc1ccccc1)Cc1ccccc1") -smiles(R"[O-][N+](=O)O[Zn]123(O[N+](=O)[O-])[N@+]4(CC[N@+]1(CC[N@+]3(CC[N@@+]2(CC4)Cc1ccccc1)Cc1ccccc1)Cc1ccccc1)Cc1ccccc1") -smiles(R"O=NO[Pd@]1(Cl)N[C@@H]2CCCC[C@H]2N1") -smiles(R"O=P12CN3CN(C1)C[N@@+](C)(C3)C2") -smiles(R"O=P1(OCC2(CO1)COP(=O)(OC2)N1C[C@H]2CC[C@H](CC2)C1)N1C[C@@H]2CC[C@@H](CC2)C1") -smiles(R"O=P(c1ccccc1)([C@@]12C3=C4C5=C1[Fe]16782345C2=C7C6=C1[C@H]82)[C@]12C3=C4C5=C1[Fe]16782345C2=C7C6=C1[C@H]82") -smiles(R"O/[P@@H](=N/[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1)/c1ccccc1") -smiles(R"O/[P@@H](=N/[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)/OCC(C)(C)N") -smiles(R"O/[P@H](=N/[N+]1(C)CCCCC1)/NN1CCCCC1") -smiles(R"O=P(N1CC1)(N1CC1)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"O=P(N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)(N1CC1)c1ccccc1") -smiles(R"O=P(N[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1)(N1CC1)N1CC1") -smiles(R"O=P(Oc1ccccc1)(N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)N1CC1") -smiles(R"O=P(Oc1ccccc1)(Oc1ccccc1)N[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"O=P(OCc1ccccc1)(OCc1ccccc1)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"[O-]P(=O)([O-])O") -smiles(R"OP(=O)(O)O") -smiles(R"OP(=O)(O)O[C@@H]1[C@@H](OP(=O)(O)O)[C@@H](OP(=O)(O)O)[C@H](OP(=O)(O)O)[C@H](OP(=O)(O)O)[C@@H]1OP(=O)(O)O") -smiles(R"OP(=O)(O)O[C@H]1[C@H](OP(=O)(O)O)[C@@H](OP(=O)(O)O)[C@@H](OP(=O)(O)O)[C@@H](OP(=O)(O)O)[C@@H]1OP(=O)(O)O") -smiles(R"OP(=O)(O)O[Pt@]1(O)N[C@@H]2CCCC[C@H]2N1") -smiles(R"[O-][Pt@@+2]1([O-])N[C@@H]2CCCC[C@H]2N1") -smiles(R"[O-][Pt+2]1([O-])N[C@@H]2CCCC[C@H]2N1") -smiles(R"O=[S@]1(CC[S@](=O)(c2ccccc2)[Pt@]1(Cl)Cl)c1ccccc1") -smiles(R"O=S1(=O)c2ccccc2c2nccc3ccnc1c23") -smiles(R"O=S1(=O)C[C@@]2(N3CCCC3)[C@H]3c4ccccc4[C@H](c4ccccc34)[C@@H]12") -smiles(R"O=[S@@]1(=O)CC(C1)[C@H]1CCS1(=O)=O") -smiles(R"O=S1(=O)C=C[C@@]21C[C@H]1c3ccccc3[C@@H]2c2ccccc12") -smiles(R"O=S1(=O)CC[C@@]21C[C@@H]1c3ccccc3[C@H]2c2ccccc12") -smiles(R"O=S1(=O)C(=C[C@@]21C[C@H]1c3ccccc3[C@@H]2c2ccccc12)c1ccccc1") -smiles(R"O=[S@@]1(=O)C[C@@](C)(Br)[C@@](C)(Br)C1") -smiles(R"O=[S@]1(=O)C[C@@H]2[C@H](C1)[C@@]1(O[C@@]2(c2ccccc2)c2ccccc12)c1ccccc1") -smiles(R"O=S1OC[C@@H](CO1)n1cnc2c1n(C)c(=O)n(C)c2=O") -smiles(R"O=S1(=O)C[C@@H](N2CCCCC2)[C@]21C[C@H]1c3ccccc3[C@@H]2c2ccccc12") -smiles(R"O=[S@@]1(=O)C[C@@H](NCc2ccccc2)[C@H](NCc2ccccc2)C1") -smiles(R"O=S1(=O)CC[N@+]23CCC[N@@+]4(CCC2)CC[SH+][Ni@@+]134") -smiles(R"O=[S@@]1(=O)CCN(CC1)[C@H]1CCS(=O)(=O)C1") -smiles(R"O=[S@@]1(=O)[C@H](c2ccccc2)c2c(sc(c3ccccc3)c2[C@@H]1c1ccccc1)c1ccccc1") -smiles(R"O=[S@@]1(=O)[C@@H](CC[C@H]1Cc1ccccc1)Cc1ccccc1") -smiles(R"O=S1(=O)N[C@H](c2ccccc2)[C@@H]2N3CC[C@@H](CC3)C2=N1") -smiles(R"O=S1(=O)O[C@H]2OS(=O)(=O)O[C@H]2O1") -smiles(R"O=S1(=O)[OH+][Pt@@+2]2(N[C@@H]3CCCC[C@H]3N2)[OH+]S(=O)(=O)c2cccc1c2") -smiles(R"O=S1(=O)[OH+][Pt@+2]2(N[C@@H]3CCCC[C@@H]3N2)[OH+]S(=O)(=O)c2ccccc12") -smiles(R"O=S1(=O)O[Pt@@]2(N[C@@H]3CCCCC[C@H]3N2)O1") -smiles(R"O=S1(=O)O[Pt@]2(N[C@H]3CCC[C@@H]3N2)O1") -smiles(R"O=[Se]1[OH+][Pt@+2]2([OH+]1)N[C@H]1CCCC[C@@H]1N2") -smiles(R"O=[Se]1O[Pt@@]2(O1)N[C@H]1CCCC[C@@H]1N2") -smiles(R"O[Se](=O)(=O)O[Pt@]1(O)N[C@@H]2CCCC[C@H]2N1") -smiles(R"O=[Se](O[Sn@@](O[Se](=O)c1ccccc1)(O[Se](=O)c1ccccc1)c1ccccc1)c1ccccc1") -smiles(R"O=[Sn]([C@-]12C3=C4C5=C1[Fe+2]16782345C2=C7C6=C1[C-]82)[C@-]12C3=C4C5=C1[Fe+2]16782345C2=C7C6=C1[C-]82") -smiles(R"O=[Sn]([C@@-]12C3=C4C5=C1[Fe+2]16782345C2=C7C6=C1[C-]82)[C@-]12C3=C4C5=C1[Fe+2]16782345C2=C7C6=C1[C-]82") -smiles(R"O=[Sn](c1ccccc1)c1ccccc1") -smiles(R"O=S=N[C@@H]1CC[C@@H](C)CC1") -smiles(R"O=S(O[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1)C(C)(C)C") -smiles(R"O=S(=O)(c1ccccc1)[C@@H]1CN2O[C@@]1(C[C@]12CCCCC1)S(=O)(=O)c1ccccc1") -smiles(R"O=S(=O)(c1ccccc1)N1[C@@H]2[C@H]3CC[C@H](CC3)[C@H]12") -smiles(R"O=[S@@](=O)(/C=C/c1cccnc1)/C=C/c1cccnc1") -smiles(R"O=S(=O)(CCCN1CCOCC1)[OH+][Pt@+2]1(N[C@@H]2CCCC[C@@H]2N1)[OH+]S(=O)(=O)CCCN1CCOCC1") -smiles(R"O=S(=O)(CCCNC1CCCCC1)[OH+][Pt@@+2]1(N[C@H]2CCCC[C@H]2N1)[OH+]S(=O)(=O)CCCNC1CCCCC1") -smiles(R"O=S(=O)(/N=C/1\C=C/C(=N\S(=O)(=O)c2ccccc2)/C=C1)c1ccccc1") -smiles(R"O=S(=O)(N[C@@H]1CC[C@@H](CC1)CC1CCCCC1)c1ccccc1") -smiles(R"O=S(=O)(N[C@@H]1C[C@@H]2CC[C@H]1CC2)c1ccccc1") -smiles(R"OS(=O)(=O)c1ccc2cc3nn(nc3cc2c1)c1ccc(/C=C/c2ccc(cc2S(=O)(=O)O)n2nc3cc4cc(ccc4cc3n2)S(=O)(=O)O)c(c1)S(=O)(=O)O") -smiles(R"OS(=O)(=O)c1cccc2c1cccc2S(=O)(=O)O") -smiles(R"OS(=O)(=O)c1cc(/N=N/c2ccc(cc2)[S@](=O)(=O)c2ccc(/N=N/c3cc(c4cccnc4c3O)S(=O)(=O)O)cc2)c(O)c2ncccc12") -smiles(R"OS(=O)(=O)[C@@]1(F)C(F)(F)C(F)(F)[C@](F)(C(F)(F)C1(F)F)C(F)(F)C(F)(F)C(F)(F)C(F)(F)F") -smiles(R"O=S(=O)(OCC1(COS(=O)(=O)c2ccccc2)C[C@H]2c3ccccc3[C@@H]1c1ccccc21)c1ccccc1") -smiles(R"[O-]S(=O)(=O)C(F)(F)F") -smiles(R"[O-][S@](=O)(=[OH+])[C@-]12C3=C4C5=C1[Fe+2]16782345C2=C7[C@-]8(C6=C12)[S@](=O)(=[OH+])[O-]") -smiles(R"[O-][S@](=O)(=[OH+])[C@@-]12C3=C4C5=C1[Fe+2]16782345C2=C7[C@-]8(C6=C12)[S@](=O)(=[OH+])[O-]") -smiles(R"[O-][S@](=O)(=[OH+])C(F)(F)F") -smiles(R"[O-][S@](=O)(=[OH+])C(F)(F)F") # smiles(R"C1C23=C4(C5=C6C7=C2[Ru+2]34567)C23=C4C5=C6C7=C13[Ru+2]24567") -smiles(R"[O-][S@](=O)(=[OH+])C(F)(F)F") # smiles(R"C1C23=C4C5=C6C7=C3([Ru+2]24567)C23=C41C1=C5C6=C2[Ru+2]34156") -smiles(R"[O-]S(=O)(=O)[O-]") -smiles(R"[O-]S(=O)(=O)O") -smiles(R"OS(=O)(=O)O") -smiles(R"OS(=O)(=O)O[Pt@@]1(O)N[C@@H]2CCC[C@H]2N1") -smiles(R"OS(=O)(=O)SCCN[C@H]1CC[C@H](NCCSS(=O)(=O)O)CC1") -smiles(R"O=S(=O)(S[C@@H](S(=O)(=O)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)S(=O)(=O)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"O=S(O[Sn@@](C)(C)OS(=O)c1ccc(cc1)C(C)(C)C)c1ccc(cc1)C(C)(C)C") -smiles(R"O[Zn+2](O)(N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)(N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)(N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"O[Zn+2](O)(NC12C[C@H]3C[C@H](C[C@H](C3)C2)C1)(NC12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)(NC12C[C@H]3C[C@H](C[C@H](C3)C2)C1)NC12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"S1C[C@@]23CSC[C@@]3(C1)CC2") -smiles(R"s1ccc(c1)C[N@+]12CN3CN(CN(C3)C2)C1") -smiles(R"S[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"Sc1nc2nc3c(nc2c(O)n1)c1ccccc1c1ncccc31") -smiles(R"Sc1ncc2[C@H]3c4ccccc4[C@@H](c2n1)c1ccccc31") -smiles(R"S=C1NC/C(=C\[C@-]23C4=C5C6=C2[Fe+2]27893456[C-]3C8=C7C2=C93)/N1") -smiles(R"S=C1NC/C(=C\[C@@-]23C4=C5C6=C2[Fe+2]27893456[C-]3C8=C7C2=C93)/N1") -smiles(R"S=C1NC(=O)[C@]2(CC(=C(C)C[C@@H]2C)C)C(=O)N1") -smiles(R"Sc1nc(O)c2nc([nH]c2n1)/C(=C/c1ccc(cc1)/C=C(/NC(=O)c1ccccc1)\c1nc2c(O)nc(S)nc2[nH]1)/NC(=O)c1ccccc1") -smiles(R"S=C1NC(=O)/C(=C\c2cccc(n2)/C=C/2\SC(=S)NC2=O)/S1") -smiles(R"S=c1[nH]nc2nnc(CCCc3nnc4n[nH]c(=S)n4n3)nn12") -smiles(R"S=c1[nH]nc2nnc(nn12)c1cccc(c1)c1nnc2n[nH]c(=S)n2n1") -smiles(R"S=c1[nH]nc2nnc(nn12)c1nnc2n[nH]c(=S)n2n1") -smiles(R"S=c1[nH]nc(n1N)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"S=c1[nH][nH]c(CCC(=O)N[C@@]23C[C@H]4C[C@H](C[C@H](C4)C3)C2)n1") -smiles(R"S=c1sc2c(s1)c(OCc1cc(cc(c1)C(C)(C)C)C(C)(C)C)c1sc(=S)sc1c2OCc1cc(cc(c1)C(C)(C)C)C(C)(C)C") -smiles(R"S=c1sc2n[nH]c(=S)n2[nH]1") -smiles(R"S=c1sc2sc(=S)sc2s1") -smiles(R"S=c1s/c(=C/c2ccccc2)/c2nc3ccccc3n12") -smiles(R"S=c1sc(=S)c2c([nH]1)n(C)c(=O)n(C)c2=O") -smiles(R"SC[C@@H](Nc1c2cccc(C(=O)NCCN(C)C)c2n(C)c2ccccc12)C(=O)O") -smiles(R"SCC(=N)NC[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"SC#N") -smiles(R"S=C=N[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"S=C(N[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1)NP(=O)(Oc1ccccc1)Oc1ccccc1") -smiles(R"S=C(N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)N[Sn](c1ccccc1)(c1ccccc1)c1ccccc1") -smiles(R"S=C(Nc1ccc(cc1)S(=O)(=O)N1CCCCC1)N[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"S=C(NCc1ccccc1)NNC(=O)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"S=C(NCCCNC(=S)N/N=C(\C)/c1ccccn1)N/N=C(/C)\c1ccccn1") -smiles(R"S=C(N/N=C/1\C(=O)N(C)c2ccccc12)NC(=O)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"S=C(NNC1=Nc2ccccc2/C/1=N/NC(=S)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"S=C(N/N=C/c1c2ccccc2cc2ccccc12)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"S=C(N/N=C/c1cc2OCOc2cc1[N+](=O)[O-])N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"S=C(N/N=C/c1cc2OCOc2cc1[N+](=O)[O-])NC12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"S=C(N/N=C/c1cc(Br)ccc1O)N[C@@H]1CN2CC[C@H]1CC2") -smiles(R"S=C(N/N=C/c1ccc2ccc3cccc4ccc1c2c34)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"S=C(N/N=C/c1ccc2OCOc2c1)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"S=C(N/N=C\c1ccc2OCOc2c1)N[C@@H]1CN2CC[C@@H]1CC2") -smiles(R"S=C(N/N=C/c1cccc2ccccc12)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"S=C(N/N=C/c1ccccc1Cl)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"S=C(N/N=C/c1ccc(cc1Cl)N(C)C)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"S=C(N/N=C/c1ccccc1C)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"S=C(N/N=C/c1ccc(cc1)C(=O)O)N[C@@H]1CN2CC[C@H]1CC2") -smiles(R"S=C(N/N=C/c1ccccc1C(=O)O)N[C@@H]1CN2CC[C@@H]1CC2") -smiles(R"S=C(N/N=C/c1ccc(cc1)N(C)C)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"S=C(N/N=C/c1ccc(cc1)N(C)C)N[C@@H]1CN2CC[C@H]1CC2") -smiles(R"S=C(N/N=C/c1ccc(cc1)[N+](=O)[O-])N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"S=C(N/N=C/c1ccc(cc1)[N+](=O)[O-])NC12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"S=C(N/N=C/c1cccc(c1)[N+](=O)[O-])N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"S=C(N/N=C/c1cccc(c1)[N+](=O)[O-])NC12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"S=C(N/N=C\c1cccc(c1)[N+](=O)[O-])N[C@@H]1CN2CC[C@@H]1CC2") -smiles(R"S=C(N/N=C\c1cccc(c1)[N+](=O)[O-])N[C@@H]1CN2CC[C@H]1CC2") -smiles(R"S=C(N/N=C\c1ccccc1[N+](=O)[O-])N[C@H]1CN2CC[C@@H]1CC2") -smiles(R"S=C(N/N=C\c1ccccc1[N+](=O)[O-])N[C@H]1CN2CC[C@H]1CC2") -smiles(R"S=C(N/N=C/c1ccc(cc1)OCc1ccccc1)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"S=C(N/N=C/c1ccccc1O)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"S=C(N/N=C/c1cc(ccc1O)[N+](=O)[O-])N[C@@H]1CN2CC[C@@H]1CC2") -smiles(R"S=C(N/N=C/c1cc(ccc1O)[N+](=O)[O-])N[C@@H]1CN2CC[C@H]1CC2") -smiles(R"S=C(N/N=C\c1cccc(I)c1)N[C@@H]1CN2CC[C@@H]1CC2") -smiles(R"S=C(N/N=C/c1ccc(Cl)cc1Cl)N[C@@H]1CN2CC[C@H]1CC2") -smiles(R"S=C(N/N=C/c1ccc(Cl)c(c1)[N+](=O)[O-])N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"S=C(N/N=C/c1ccc(Cl)c(c1)[N+](=O)[O-])NC12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"S=C(N/N=C\c1ccc(Cl)c(c1)[N+](=O)[O-])N[C@@H]1CN2CC[C@@H]1CC2") -smiles(R"S=C(N/N=C\c1ccc(Cl)c(c1)[N+](=O)[O-])N[C@@H]1CN2CC[C@H]1CC2") -smiles(R"S=C(N/N=C/c1ccc(Cl)c(Cl)c1)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"S=C(N/N=C\c1cccc(O)c1)N[C@@H]1CN2CC[C@H]1CC2") -smiles(R"S=C(N/N=C/c1cccc(OCc2ccccc2)c1)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"S=C(N/N=C\c1cc(Cl)ccc1[N+](=O)[O-])N[C@@H]1CN2CC[C@@H]1CC2") -smiles(R"S=C(N/N=C\c1cc(Cl)ccc1[N+](=O)[O-])N[C@@H]1CN2CC[C@H]1CC2") -smiles(R"S=C(N/N=C/c1cc(Cl)ccc1O)N[C@@H]1CN2CC[C@H]1CC2") -smiles(R"S=C(N/N=C/c1ccc(o1)[N+](=O)[O-])N[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"S=C(N/N=C/c1ccc(o1)[N+](=O)[O-])NC12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"S=C(N/N=C/c1c(F)cccc1Cl)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"S=C(N/N=C/c1c(F)c(F)c(F)c(F)c1F)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"S=C(N/N=C/c1c[nH]c2ccccc12)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"S=C(N/N=C/c1c(O)ccc2ccccc12)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"S=C(N/N=C/c1c(O)ccc2ccccc12)N[C@@H]1CN2CC[C@@H]1CC2") -smiles(R"S=C(N/N=C(\C)/c1cccc(n1)/C(=N\NC(=S)N1CCCC1)/C)N1CCCC1") -smiles(R"S=C(N/N=C(/C)\c1ccccn1)N1CC[C@@H](CC1)[C@@H]1CCN(CC1)C(=S)N/N=C(/C)\c1ccccn1") -smiles(R"S=C(N/N=C(\C)/c1ccccn1)N1C[C@@H]2CC[C@@H](CC2)C1") -smiles(R"S=C(N/N=C(\C)/c1ccccn1)N[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1") -smiles(R"S=C(N/N=C(\C)/c1ccncn1)N1C[C@H]2CC[C@H](CC2)C1") -smiles(R"S=C(N/N=C(\C)/c1cnccn1)N1C[C@@H]2CC[C@@H](CC2)C1") -smiles(R"S=C(N/N=C(/C)\c1nccnc1C)N1CC[C@@H](CC1)c1ccccc1") -smiles(R"S=C(N/N=C/C=C/c1ccccc1)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"S=C(N/N=C/C=C/c1ccc(cc1)N(C)C)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"S=C(N/N=C/C=C/c1ccccc1[N+](=O)[O-])N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"S=C(N/N=C/C=C/c1ccccc1[N+](=O)[O-])NC12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1") -smiles(R"S=C(NN[C@@H](C)c1ncc2ccccc2c1)N1C[C@@H]2CC[C@@H](CC2)C1") -smiles(R"S=C(NNC(=O)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1)Nc1ccccc1") -smiles(R"S=C(NNC(=O)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1)NC1CCCCC1") -smiles(R"S=C(NNC(=O)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1)Nc1ccc(Cl)cc1") -smiles(R"S=C(S[C@@-]12C3=C4C5=C1[Fe+2]16782345C2=C7[C@-]8(SC(=S)N(C)C)C6=C12)N(C)C") -smiles(R"[Se]1CCCS[C@-]23C4=C5C6=C2[Fe+2]27893456C3=C8[C@@-]9(SCCC1)C7=C23") -smiles(R"[Se]1CCCS[C@@-]23C4=C5C6=C2[Fe+2]27893456C3=C8[C@@-]9(SCCC1)C7=C23") -smiles(R"[se]1nc2cc(ccc2n1)c1ccc2n[se]nc2c1") -smiles(R"[SeH]=C(N/N=C(\C)/c1ccccn1)N1C[C@H]2CC[C@H](CC2)C1") -smiles(R"SP1(=[O+][Ti]23456789([O+]=P(S)(SS1)c1ccccc1)(C1=C4C3=C2[C@@H]51)C1=C7C8=C6[C@H]91)c1ccccc1") +smiles(R"[B@]123[C@@]45[B@]67[B@@]89[C@]1(B2468)B3579", printStereoWarnings=False) +smiles(R"[BH3-][N@+]12CN3CN(CN(C3)C2)C1", printStereoWarnings=False) +smiles(R"[BH3-][N+]12CN3CN(CN(C3)C2)C1", printStereoWarnings=False) +smiles(R"[Br-]", printStereoWarnings=False) +smiles(R"Br[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"Br[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"Br[C@-]12C3=C4C5=C1[Fe+2]16782345C2=C7[C@@-]8(Br)C6=C12", printStereoWarnings=False) +smiles(R"Br[C@@-]12C3=C4C5=C1[Fe+2]16782345C2=C7[C@@-]8(Br)C6=C12", printStereoWarnings=False) +smiles(R"Br[C@]12CC[C@H](CC1)[C@]1(Br)CC[C@H]2CC1", printStereoWarnings=False) +smiles(R"Br[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"Br[C@]1(Br)[C@]23CCCC[C@@]13CC=CC2", printStereoWarnings=False) +smiles(R"Br[C@]1(Br)[C@@H]2CCC=CCC[C@H]12", printStereoWarnings=False) +smiles(R"Br[C@]1(Br)[C@@H]2CCCCCC[C@H]12", printStereoWarnings=False) +smiles(R"Br[C@@]1(Br)[C@H]2CCCC[C@@H]12", printStereoWarnings=False) +smiles(R"Br[C@]1(Br)[C@@H]2C[C@H]3[C@H](C[C@H]12)[C@H]1C[C@H]2[C@H](C[C@H]31)[C@]2(Br)Br", printStereoWarnings=False) +smiles(R"Br[C@]1(Br)[C@H]2COCOC[C@@H]12", printStereoWarnings=False) +smiles(R"Brc1c2c3ccccc3ccn2c2nc3ccccc3nc12", printStereoWarnings=False) +smiles(R"Brc1c2nsnc2c(Br)c2nsnc12", printStereoWarnings=False) +smiles(R"BrC1=C(Br)[C@@]2(Br)CC[C@]1(Br)[C@@]2(Br)Br", printStereoWarnings=False) +smiles(R"Brc1cc2ccccc2c2c3c4ccccc4cc(Br)c3c3c(Br)cc4ccccc4c3c3c(c(Br)cc4ccccc34)c12", printStereoWarnings=False) +smiles(R"Brc1cc2cc(C(=O)Nc3scc(n3)[C@@]34C[C@H]5C[C@H](C[C@H](C5)C4)C3)c(=O)oc2c(Br)c1", printStereoWarnings=False) +smiles(R"Brc1cc(Br)cc(/N=C/c2ccc(cc2)N2CC[C@]3(CCCCC3)CC2)c1", printStereoWarnings=False) +smiles(R"Brc1ccc2c3nc4cc(ccc4nc3c3cccc1c23)C(F)(F)F", printStereoWarnings=False) +smiles(R"Brc1ccc2c(c1)nc1C(=O)c3cccnc3c3nccc2c13", printStereoWarnings=False) +smiles(R"Brc1ccc2nc3C(=O)c4cccnc4c4nccc(c34)c2c1", printStereoWarnings=False) +smiles(R"Brc1ccc2N(C)C(=O)/C(=c/3\sc4nc5ccccc5n4c3=O)/c2c1", printStereoWarnings=False) +smiles(R"Brc1ccc2NC(=O)/C(=c\3/sc4nc5ccccc5n4c3=O)/c2c1", printStereoWarnings=False) +smiles(R"Brc1ccc2[nH]cc(/C=N/NC(=S)N[C@]34C[C@@H]5C[C@@H](C[C@@H](C5)C4)C3)c2c1", printStereoWarnings=False) +smiles(R"Brc1cc(cc2c1c1c(cc(cc1C2=O)[N+](=O)[O-])[N+](=O)[O-])[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"Brc1cccc(c1)[C@@H]1ON=C(c2ccccc2)N1[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"Brc1ccc(cc1)C[N@+]12CN3CN(CN(C3)C2)C1", printStereoWarnings=False) +smiles(R"Brc1ccc(cc1)/C=N/[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"Brc1ccccc1/C=N/[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"Brc1ccc(cc1)C(=O)[C@-]12C3=C4C5=C1[Fe+2]16782345C2=C7[C@-]8(C(=O)c3ccc(Br)cc3)C6=C12", printStereoWarnings=False) +smiles(R"Brc1ccc(cc1)C(=O)[C@-]12C3=C4C5=C1[Fe+2]16782345C2=C7[C@@-]8(C(=O)c3ccc(Br)cc3)C6=C12", printStereoWarnings=False) +smiles(R"Brc1ccc(cc1)C(=O)[C@@]12S[C@H](C(=O)c3ccc(Br)cc3)[C@@H](S[C@]2(S[C@@H](C(=O)c2ccc(Br)cc2)[C@H](S1)C(=O)c1ccc(Br)cc1)C(=O)c1ccc(Br)cc1)C(=O)c1ccc(Br)cc1", printStereoWarnings=False) +smiles(R"Brc1ccc(cc1)C(=O)/C=c/1\[nH]c2ccccc2nc1N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"Brc1cccc(c1)C(=O)CCN1C[C@@H]2CC[C@@H](CC2)C1", printStereoWarnings=False) +smiles(R"Brc1ccc(cc1)C(=O)C[N@@+]12CN3CN(CN(C3)C2)C1", printStereoWarnings=False) +smiles(R"Brc1ccc(cc1)N1C[C@H](O)CN(C[C@H](O)C1)c1ccc(Br)cc1", printStereoWarnings=False) +smiles(R"Brc1ccc(cc1)N1C[C@@H](OC(=O)C)CN(C[C@@H](OC(=O)C)C1)c1ccc(Br)cc1", printStereoWarnings=False) +smiles(R"Brc1ccc(cc1)N1C(=O)[C@@H]2[C@H](C1=O)[C@]1(Cl)C(=C(Cl)[C@@]2(Cl)[C@]1(Cl)Cl)Cl", printStereoWarnings=False) +smiles(R"Brc1ccc(cc1)/N=C\1/C(C)(C)/C(=N\c2ccc(Br)cc2)/[C@]1(C)C", printStereoWarnings=False) +smiles(R"Brc1ccc(cc1)S(=O)(=O)OC[C@H]1C[C@@H]2CC[C@H]1CC2", printStereoWarnings=False) +smiles(R"Brc1cccc(/C=N/[C@]23C[C@@H]4C[C@@H](C[C@@H](C4)C3)C2)c1", printStereoWarnings=False) +smiles(R"Brc1cccc(/N=C/c2ccc(cc2)N2CC[C@]3(CCCCC3)CC2)c1", printStereoWarnings=False) +smiles(R"Brc1ccc(c(O)c1)[C@H]1O[C@H]1C(=O)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"Brc1ccc(nc1)NC(=S)N[C@@]12C[C@@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"Brc1cc(/C=N\C[C@@H]2CC[C@@H](C/N=C\c3cc(Br)cc(Br)c3O)CC2)c(O)c(Br)c1", printStereoWarnings=False) +smiles(R"Brc1ccc(N/N=C/c2ccc(cc2)N2CC[C@]3(CCCCC3)CC2)cc1", printStereoWarnings=False) +smiles(R"Brc1cc(/C=N/NC(=S)N[C@]23C[C@@H]4C[C@@H](C[C@@H](C4)C3)C2)c(O)c(Br)c1", printStereoWarnings=False) +smiles(R"Brc1ccc(O)c(/C=N/NC(=S)N[C@]23C[C@@H]4C[C@@H](C[C@@H](C4)C3)C2)c1", printStereoWarnings=False) +smiles(R"Brc1ccc(s1)c1ccc2nnnn2n1", printStereoWarnings=False) +smiles(R"BrC1=C[C@@H]2[C@H](C1=O)[C@H]1[C@H]3CC[C@H]3[C@]2(Br)[C@]21OCCO2", printStereoWarnings=False) +smiles(R"BrC1=C(N2CC2)C(=O)C2=C(C1=O)[C@H]1c3ccccc3[C@@H]2c2ccccc12", printStereoWarnings=False) +smiles(R"Br[C-]1C(=[O+][Ru+3]23([O+]=C1C)([O+]=C(C)[C-](Br)C(=[O+]2)C)[O+]=C(C)[C-](Br)C(=[O+]3)C)C", printStereoWarnings=False) +smiles(R"Brc1sc(N2CC[C@@H](CC2)c2ccccc2)c2C(=O)C[C@H](NC(=O)C(F)(F)F)c12", printStereoWarnings=False) +smiles(R"BrC[C@]1(C)CO[C@](OC1)(C1CCCCC1)c1ccccc1", printStereoWarnings=False) +smiles(R"BrC[C@]1(C)CO[C@@](OC1)(c1ccccc1)c1cccs1", printStereoWarnings=False) +smiles(R"Br/C=C(\Br)/C(=C\Br)/Br", printStereoWarnings=False) +smiles(R"Br/C=C(\Br)/C[N@+]12CN3CN(CN(C3)C2)C1", printStereoWarnings=False) +smiles(R"BrCC[C@@H]1CC/C(=N\Nc2ccc(cc2[N+](=O)[O-])[N+](=O)[O-])/CC1", printStereoWarnings=False) +smiles(R"BrCC[C@H]1CC/C(=N/Nc2ccc(cc2[N+](=O)[O-])[N+](=O)[O-])/CC1", printStereoWarnings=False) +smiles(R"Br/C=C/C[N@+]12CN3CN(CN(C3)C2)C1", printStereoWarnings=False) +smiles(R"BrC(=C)C[N@@+]12CN3CN(CN(C3)C2)C1", printStereoWarnings=False) +smiles(R"BrC(=C)C[N+]12CN3CN(CN(C3)C2)C1", printStereoWarnings=False) +smiles(R"BrCC[N@@+]12CC[N@@+](CCBr)(CC1)C2", printStereoWarnings=False) +smiles(R"BrCC[N@+]12CC[N@+](CCBr)(CC1)C2", printStereoWarnings=False) +smiles(R"BrCC(=O)[C@H](OC(=O)C)[C@@H](OC(=O)C)[C@@H](OC(=O)C)C(=O)CBr", printStereoWarnings=False) +smiles(R"BrCC(=O)N1CC[C@]2(CC1)SS[C@@]1(CCN(CC1)C(=O)CBr)S2", printStereoWarnings=False) +smiles(R"BrCC(=O)/N=n\1/c2ccccc2nc2c1c1cccc3cccc2c13", printStereoWarnings=False) +smiles(R"BrCC(=O)/N=n\1/c2ccc(cc2nc2c1c1cccc3cccc2c13)C(F)(F)F", printStereoWarnings=False) +smiles(R"BrCC(=O)/N=n\1/c2ccc(cc2nc2c1c1cccc3ccc(OC)c2c13)C(F)(F)F", printStereoWarnings=False) +smiles(R"BrCC(=O)/N=n\1/c2ccccc2nc2c3c(OC)ccc4cccc(c34)c12", printStereoWarnings=False) +smiles(R"BrCC(=O)/N=n\1/c2ccc(C)cc2nc2c1c1cccc3cccc2c13", printStereoWarnings=False) +smiles(R"BrCC(=O)/N=n\1/c2ccc(C)cc2nc2c3c(OC)ccc4cccc(c34)c12", printStereoWarnings=False) +smiles(R"BrCC(=O)/N=n\1/c2ccc(Cl)cc2nc2c1c1cccc3cccc2c13", printStereoWarnings=False) +smiles(R"BrCC(=O)/N=n\1/c2ccc(Cl)cc2nc2c3c(OC)ccc4cccc(c34)c12", printStereoWarnings=False) +smiles(R"BrCC(=O)/N=n\1/c2ccc(OC)cc2nc2c1c1cccc3cccc2c13", printStereoWarnings=False) +smiles(R"Br[C@@H]1CC2(OCCO2)[C@@H](Br)C[C@]21OCCO2", printStereoWarnings=False) +smiles(R"Br[C@H]1CCCCC[C@@]21OCCO2", printStereoWarnings=False) +smiles(R"Br[C@@H]1CCCCC[C@H](Br)[C@]21OCCO2", printStereoWarnings=False) +smiles(R"Br[C@@H]1CCCCC[C@H](Br)[C@@]21OCCO2", printStereoWarnings=False) +smiles(R"Br[C@@H]1CCCC[C@H](Br)[C@]21OCCO2", printStereoWarnings=False) +smiles(R"Br[C@@H]1CC[C@@H]2[C@H](CC[C@H](Br)[C@]32OCCO3)[C@@]21OCCO2", printStereoWarnings=False) +smiles(R"Br[C@@H]1C[C@@H]2c3ccccc3[C@H]1c1ccccc21", printStereoWarnings=False) +smiles(R"Br[C@H]1C[C@@H](Br)[C@@H]2O[C@@](C)(C)O[C@H]12", printStereoWarnings=False) +smiles(R"Br[C@H]1C[C@@](Sc2ccccc2)(C[C@@H]1Br)S(=O)(=O)c1ccccc1", printStereoWarnings=False) +smiles(R"Br[C@H]1[C@@H]2CC[C@@H](CC2)[C@H]1Br", printStereoWarnings=False) +smiles(R"Br[C@@H]1[C@H](Br)[C@@]2(Cl)C(=C(Cl)[C@]1(Cl)[C@]2(Cl)Cl)Cl", printStereoWarnings=False) +smiles(R"Br[C@@H]1[C@H](Br)[C@@H](Br)[C@H](Br)[C@H](Br)[C@H]1Br", printStereoWarnings=False) +smiles(R"Br[C@H]1CN2C[C@@H](Br)CN2C1", printStereoWarnings=False) +smiles(R"Br[C@@H](C(=O)/C(=N/Nc1ccc(cc1[N+](=O)[O-])[N+](=O)[O-])/N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)C(=O)c1ccccc1", printStereoWarnings=False) +smiles(R"Br[C@@H](C(=O)/C(=N/Nc1ccc(cc1[N+](=O)[O-])[N+](=O)[O-])/NC12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)C(=O)c1ccccc1", printStereoWarnings=False) +smiles(R"Br[C@H](C[S@@](=O)(=O)C[C@H](Br)c1ccccc1)c1ccccc1", printStereoWarnings=False) +smiles(R"Br[Co@@](Br)(/[O+]=C\1/CCCN1)/[O+]=C\1/CCCN1", printStereoWarnings=False) +smiles(R"Br[N@+]12CN3CN(CN(C3)C2)C1", printStereoWarnings=False) +smiles(R"Br[Ni]123(Br)[N@+]4(CC[N@+]1(CC[N@+]3(CC[N@@+]2(CC4)Cc1ccccc1)Cc1ccccc1)Cc1ccccc1)Cc1ccccc1", printStereoWarnings=False) +smiles(R"[C-]12C3=C4C5=C1[Fe+2]16782345C2=C7[C@-]8(B([C@@-]34C5=C7C8=C3[Fe+2]39%10%114578[C-]4C%10=C9C3=C%114)[C@@-]34C5=C7C8=C3[Fe+2]39%10%114578[C-]4C%10=C9C3=C%114)C6=C12", printStereoWarnings=False) +smiles(R"[C-]12C3=C4C5=C1[Fe+2]16782345C2=C7[C@@-]8(C6=C12)B([C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82)[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"[C-]12C3=C4C5=C1[Fe+2]16782345C2=C7[C@@-]8(C6=C12)B([C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82)[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"[C-]12C3=C4C5=C1[Fe+2]16782345C2=C7[C@-]8(C6=C12)[C@H+]([C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82)[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"[C-]12C3=C4C5=C1[Fe+2]16782345C2=C7[C@-]8(C6=C12)[CH+]([C@@-]12[Fe+2]3456789([C-]%10C5=C4C3=C6%10)C(=C29)C7=C18)[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"C12=C3C4=C5[C@@H]1[Co]16782345C2=C6C7=C1[C@@H]82", printStereoWarnings=False) +smiles(R"C12=C3C4=C5[C@@H]1[Fe]16782345C2=C6C7=C1[C@@H]82", printStereoWarnings=False) +smiles(R"C12=C3C4=C5[C@@H]1[Fe+]16782345C2=C6C7=C1[C@@H]82", printStereoWarnings=False) +smiles(R"C12=C3C4=C5[C@@H]1[Fe+]16782345C2=C6C7=C1[C@H]82", printStereoWarnings=False) +smiles(R"C12=C3C4=C5[C@H]1[Fe+]16782345C2=C6C7=C1[C@H]82", printStereoWarnings=False) +smiles(R"C12=C3C4=C5[C@@H]1[Fe]16782345C2=C7[C@]8(C6=C12)[C@@]12C3=C4C5=C1[Fe]16782345C2=C7C6=C1[C@@H]82", printStereoWarnings=False) +smiles(R"C12=C3C4=C5[C@@H]1[Fe]16782345C2=C7[C@@]8(C6=C12)[Ge]([C@]12C3=C4C5=C1[Fe]16782345C2=C7C6=C1[C@H]82)([C@@]12C3=C4C5=C1[Fe]16782345C2=C7C6=C1[C@H]82)[C@]12C3=C4C5=C1[Fe]16782345C2=C7C6=C1[C@H]82", printStereoWarnings=False) +smiles(R"C12=C3C4=C5[C@@H]1[Fe]16782345C2=C7[C@@]8(C6=C12)[Pb]([C@]12C3=C4C5=C1[Fe]16782345C2=C7C6=C1[C@H]82)([C@]12C3=C4C5=C1[Fe]16782345C2=C7C6=C1[C@H]82)[C@@]12C3=C4C5=C1[Fe]16782345C2=C7C6=C1[C@H]82", printStereoWarnings=False) +smiles(R"C12=C3C4=C5[C@@H]1[Fe]16782345C2=C7[C@@]8(C6=C12)[Si]([C@]12C3=C4C5=C1[Fe]16782345C2=C7C6=C1[C@H]82)([C@@]12C3=C4C5=C1[Fe]16782345C2=C7C6=C1[C@H]82)[C@]12C3=C4C5=C1[Fe]16782345C2=C7C6=C1[C@H]82", printStereoWarnings=False) +smiles(R"C12=C3C4=C5[C@@H]1[Mn]16782345C2=C6C7=C1[C@@H]82", printStereoWarnings=False) +smiles(R"C12=C3C4=C5[C@@H]1[Ni]16782345C2=C6C7=C1[C@@H]82", printStereoWarnings=False) +smiles(R"C12=C3C4=C5[C@@H]1[Ru]16782345C2=C6C7=C1[C@@H]82", printStereoWarnings=False) +smiles(R"c1cc2cccc3[C@H]4[C@@H](c(c1)c23)[C@H]1c2cccc3cccc([C@@H]41)c23", printStereoWarnings=False) +smiles(R"C1C[C@]2(CC[C@@H]1C2)[N+]#[C-][Mn+]([C-]#[N+][C@]12CC[C@H](CC1)C2)([C-]#[N+][C@]12CC[C@H](CC1)C2)([C-]#[N+][C@@]12CC[C@@H](CC1)C2)([C-]#[N+][C@@]12CC[C@@H](CC1)C2)[C-]#[N+][C@@]12CC[C@@H](CC1)C2", printStereoWarnings=False) +smiles(R"C1C[C@@]2(CC[C@H]1C2)[N+]#[C-][Mn+]([C-]#[N+][C@@]12CC[C@@H](CC1)C2)([C-]#[N+][C@@]12CC[C@@H](CC1)C2)([C-]#[N+][C@]12CC[C@H](CC1)C2)([C-]#[N+][C@@]12CC[C@@H](CC1)C2)[C-]#[N+][C@@]12CC[C@@H](CC1)C2", printStereoWarnings=False) +smiles(R"C1C[C@]2(CO2)CC[C@]21CO2", printStereoWarnings=False) +smiles(R"c1cc2ncc3cccc4ncc(c1)c2c34", printStereoWarnings=False) +smiles(R"c1cc2nnc3cccc4nnc(c1)c2c34", printStereoWarnings=False) +smiles(R"c1cc2onc3c4cccc5onc(c(c1)c23)c45", printStereoWarnings=False) +smiles(R"C1CC[C@]23CCCC[C@]3(C1)O2", printStereoWarnings=False) +smiles(R"C1=CC=C23[C@H]4C5=C6[Fe]789%10245([C@H]2C9=C8C7=C%102)C36=C1", printStereoWarnings=False) +smiles(R"c1ccc2=c3ccc4c5c3c(=c2c1)ccc5c1ccc2=c3ccccc3=c3ccc4c1c23", printStereoWarnings=False) +smiles(R"c1ccc2=c3ccccc3=c2c1", printStereoWarnings=False) # smiles(R"c1ccc2C3=NC4=NC(=NC5=NC(=NC6=NC(=NC(=N3)c2c1)c1ccccc61)c1ccccc51)c1ccccc41", printStereoWarnings=False) +smiles(R"c1ccc2c(c1)c1nc3cc4nc5c(nc4cc3nc1c1ccccc21)c1ccccc1c1ccccc51", printStereoWarnings=False) +smiles(R"c1ccc2c(c1)c1oc3cccc4c3c3c1c1c(cccc21)oc3c1ccccc41", printStereoWarnings=False) +smiles(R"c1ccc2c(c1)cc1ccc3cc4ccccc4c4nnc2c1c34", printStereoWarnings=False) +smiles(R"c1ccc2c(c1)ccc1cc3cc4cc5c(ccc6ccccc56)cc4cc3cc21", printStereoWarnings=False) +smiles(R"c1ccc2c(c1)ccc1cc3c(cc21)c1ccccc1c1ccccc31", printStereoWarnings=False) +smiles(R"c1ccc2c(c1)ccc1ccc3ccc4ccc5ccccc5c4c3c21", printStereoWarnings=False) +smiles(R"c1ccc2c(c1)ccc1c[n+]3c(ccc4ccccc34)cc21", printStereoWarnings=False) +smiles(R"c1ccc2c(c1)ccc1nc3c4cccc5cccc(c3nc21)c45", printStereoWarnings=False) +smiles(R"c1ccc2c(c1)ccc1nc3c(nc21)c1ccccc1c1ccccc31", printStereoWarnings=False) +smiles(R"c1ccc2c(c1)ccc1OCN(Cc21)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"C1CC[C@@]2(CC1)CCN(CC2)c1ccc(/C=N/c2ccc3ccccc3c2)cc1", printStereoWarnings=False) +smiles(R"c1ccc2c(c1)[C@@H]1CCCC[C@H]2c2ccccc12", printStereoWarnings=False) +smiles(R"c1ccc2c(c1)[C@H]1CCC[C@@H]2c2ccccc12", printStereoWarnings=False) +smiles(R"c1ccc2c(c1)[C@@H]1[C@H]3c4ccccc4[C@H](c4ccccc34)[C@H]2c2ccccc12", printStereoWarnings=False) +smiles(R"c1ccc2c(c1)[C@@H]1[C@@H]3COC[C@@H]3[C@H]2c2ccccc12", printStereoWarnings=False) +smiles(R"c1ccc2c(c1)[C@H]1[C@@H]3O[C@@H]3[C@@H]2c2ccccc12", printStereoWarnings=False) +smiles(R"c1ccc2c(c1)[C@@H]1N[C@H]2c2ccccc12", printStereoWarnings=False) +smiles(R"c1ccc2c(c1)[C@@H]1O[C@H]2c2ccccc12", printStereoWarnings=False) +smiles(R"c1ccc2c(c1)CN1Cc3ccccc3[C@@H]2C1", printStereoWarnings=False) +smiles(R"c1ccc2c(c1)[nH]c1cc3c(cc21)[nH]c1ccccc31", printStereoWarnings=False) +smiles(R"c1ccc2c(c1)[nH]c1c[n+]3c(c[n+]21)[nH]c1ccccc31", printStereoWarnings=False) +smiles(R"c1ccc2c(c1)oc1ccc3nsnc3c21", printStereoWarnings=False) +smiles(R"c1ccc2c(c1)Oc1ccccc1[C@]12S[C@@]21c1ccccc1Oc1ccccc21", printStereoWarnings=False) +smiles(R"c1ccc2c(c1)OC[C@@]12CC[C@]2(OCCO2)C=C1", printStereoWarnings=False) +smiles(R"C1CC[C@@]2(CC1)O[C@@H]1[C@@H](O[C@H]3O[C@H]4CO[C@]5(CCCCC5)O[C@H]4[C@H]4O[C@]5(CCCCC5)O[C@H]34)O[C@H]3CO[C@@]4(CCCCC4)O[C@H]3[C@H]1O2", printStereoWarnings=False) +smiles(R"c1ccc2c(c1)Sc1nccc3ccnc2c13", printStereoWarnings=False) +smiles(R"C1=CC=c2cc3C=c4ccccc4=c3cc2C1", printStereoWarnings=False) +smiles(R"c1ccc2cc3c(ccc4c3ccc3ccccc43)cc2c1", printStereoWarnings=False) +smiles(R"c1ccc2cc3c(ccc4c[n+]5ccccc5cc34)c[n+]2c1", printStereoWarnings=False) +smiles(R"c1ccc2Cc3cc(ccc3c2c1)/N=C\1/CC/C(=N\c2ccc3c(c2)Cc2ccccc32)/CC1", printStereoWarnings=False) +smiles(R"c1ccc2Cc3ccccc3C(=C[C@-]34C5=C6C7=C3[Fe+2]389%104567[C-]4C9=C8C3=C%104)c2c1", printStereoWarnings=False) +smiles(R"c1ccc2Cc3ccccc3C(=C[C@@-]34C5=C6C7=C3[Fe+2]389%104567[C-]4C9=C8C3=C%104)c2c1", printStereoWarnings=False) +smiles(R"c1ccc2cc3[nH]c4cc5ccccc5cc4[nH]c3cc2c1", printStereoWarnings=False) +smiles(R"c1ccc2cc3n[se]nc3cc2c1", printStereoWarnings=False) +smiles(R"c1ccc2cc3oc4cc5ccccc5cc4c3cc2c1", printStereoWarnings=False) +smiles(R"c1ccc2ccc3c4ccc5ccccc5c4ccc3c2c1", printStereoWarnings=False) +smiles(R"c1ccc2ccc3cc4c(ccc5ccccc45)cc3c2c1", printStereoWarnings=False) +smiles(R"C1CCc2ccc3cc4c(ccc5ccccc45)cc3c2C1", printStereoWarnings=False) +smiles(R"c1ccc2ccc3c(ccc4sc5ccccc5[n+]34)c2c1", printStereoWarnings=False) +smiles(R"C1CCc2ccc3c[n+]4c(ccc5ccccc45)n3c2C1", printStereoWarnings=False) +smiles(R"c1ccc2ccc3n4c(ccc5ccccc45)c[n+]3c2c1", printStereoWarnings=False) +smiles(R"c1ccc2C=C/C(=C\[C@-]34C5=C6C7=C3[Fe+2]389%104567[C-]4C9=C8C3=C%104)/c2c1", printStereoWarnings=False) +smiles(R"c1ccc2C=C/C(=C\[C@@-]34C5=C6C7=C3[Fe+2]389%104567[C-]4C9=C8C3=C%104)/c2c1", printStereoWarnings=False) +smiles(R"C1CC[C@]2(CCCC[C@H]2C1)CC[C@]12CCCC[C@@H]2CCCC1", printStereoWarnings=False) +smiles(R"c1ccc2ccc(/N=C/[C@-]34C5=C6C7=C3[Fe+2]389%104567[C-]4C9=C8C3=C%104)cc2c1", printStereoWarnings=False) +smiles(R"c1ccc2ccc(/N=C/[C@@-]34C5=C6C7=C3[Fe+2]389%104567[C-]4C9=C8C3=C%104)cc2c1", printStereoWarnings=False) +smiles(R"c1ccc2ccc(N/N=C/[C@-]34C5=C6C7=C3[Fe+2]389%104567[C-]4C9=C8C3=C%104)nc2c1", printStereoWarnings=False) +smiles(R"c1ccc2ccc(N/N=C/[C@@-]34C5=C6C7=C3[Fe+2]389%104567[C-]4C9=C8C3=C%104)nc2c1", printStereoWarnings=False) +smiles(R"c1ccc2C[C@H]3[C@@H](Cc2c1)[C@H]1c2ccccc2[C@@H]3c2ccccc12", printStereoWarnings=False) +smiles(R"c1ccc2c(n1)ccc1nc3c(ccc4ncccc34)nc21", printStereoWarnings=False) +smiles(R"c1ccc2C=[N+]3CCC[O+]4[Cu@@]3(Oc2c1)[O+]1CCC[N+]2=Cc3ccccc3O[Cu@]412", printStereoWarnings=False) +smiles(R"c1ccc2cnc3cc4c(ncc5ccccc45)cc3c2c1", printStereoWarnings=False) +smiles(R"c1ccc2nc3c(nc2c1)c1cccc2cccc3c12", printStereoWarnings=False) +smiles(R"c1ccc2nc3c(sc4nc5ccccc5n34)nc2c1", printStereoWarnings=False) +smiles(R"c1ccc2ncc3cc4c(cc3c2c1)[nH]c1ccccc41", printStereoWarnings=False) +smiles(R"c1ccc2ncn(C[C@-]34C5=C6C7=C3[Fe+2]389%104567[C-]4C9=C8C3=C%104)c2c1", printStereoWarnings=False) +smiles(R"c1ccc2ncn(C[C@@-]34C5=C6C7=C3[Fe+2]389%104567[C-]4C9=C8C3=C%104)c2c1", printStereoWarnings=False) +smiles(R"c1ccc2nc(sc2c1)NC(Nc1nc2ccccc2s1)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"c1ccc2nc(SSN3C[C@@H]4CC[C@@H](CC4)C3)sc2c1", printStereoWarnings=False) +smiles(R"c1ccc2[nH]c3c4cc5ccccc5n4ccc3c2c1", printStereoWarnings=False) +smiles(R"c1ccc2[nH]/c(=c\3/[nH]c4ccccc4[se]3)/[se]c2c1", printStereoWarnings=False) +smiles(R"c1ccc2[nH]cc(CC/N=C/[C@]34C5=C6C7=C3[Fe]389%104567[C@H]4C9=C8C3=C%104)c2c1", printStereoWarnings=False) +smiles(R"c1ccc2[n-]n3c4ccc5[nH]onc5c4n[n+]3c2c1", printStereoWarnings=False) +smiles(R"c1ccc2[n-]n3c4ccc5nonc5c4n[n+]3c2c1", printStereoWarnings=False) +smiles(R"c1ccc2nnn(C[C@@]34C5=C6C7=C3[Fe]389%104567[C@H]4C9=C8C3=C%104)c2c1", printStereoWarnings=False) +smiles(R"c1ccc2n[se]nc2c1", printStereoWarnings=False) +smiles(R"c1ccc2nsnc2c1", printStereoWarnings=False) +smiles(R"c1ccc2oc3cc4c(cc3c2c1)n1nnnc1c1cccn41", printStereoWarnings=False) +smiles(R"c1ccc2oc3cc4c(ncc5cccn45)cc3c2c1", printStereoWarnings=False) +smiles(R"c1ccc2oc3cc4c(nnc5cccn45)cc3c2c1", printStereoWarnings=False) +smiles(R"c1ccc2Sc3ccccc3N(C[C@H]3CN4CC[C@@H]3CC4)c2c1", printStereoWarnings=False) +smiles(R"c1ccc2Sc3ccccc3N([C@H]3CN4CC[C@H]3CC4)c2c1", printStereoWarnings=False) +smiles(R"C1CCC(C1)CC[N@@+]12CC[N@@+](CCC3CCCC3)(CC1)C2", printStereoWarnings=False) +smiles(R"c1ccc(cc1)[AsH](c1ccccc1)(c1ccccc1)c1ccccc1", printStereoWarnings=False) +smiles(R"c1ccc(cc1)[C@@]12c3ccccc3[C@H]2c2ccccc12", printStereoWarnings=False) +smiles(R"c1ccc(cc1)[C@]12CN(Cc3ccccc13)Cc1ccccc21", printStereoWarnings=False) +smiles(R"c1ccc(cc1)c1c2ccc3ccccc3c2cc2ccc3ccccc3c12", printStereoWarnings=False) +smiles(R"c1ccc(cc1)c1ccc2c(c1)c1nc3ccccc3nc1c1ccccc21", printStereoWarnings=False) +smiles(R"c1ccc(cc1)c1ccc(c2ccccc2)p1c1ccccc1", printStereoWarnings=False) +smiles(R"c1ccc(cc1)C1=C(N=c2ccccc2=c2ccccc2=N1)c1ccccc1", printStereoWarnings=False) +smiles(R"c1ccc(cc1)c1cnn2nnnc2n1", printStereoWarnings=False) +smiles(R"c1ccc(cc1)c1cnnc2c3c(nnc(c4ccccc4)c3c3ccccc3)nn12", printStereoWarnings=False) +smiles(R"c1ccc(cc1)c1c(nn(c2ccccc2)c2=c3ccccc3=CSc12)c1ccccc1", printStereoWarnings=False) +smiles(R"c1ccc(cc1)c1nc2cc3c(cc2n2cccc12)oc1ccccc31", printStereoWarnings=False) +smiles(R"c1ccc(cc1)c1n[n+](c2ccccc2c2ccccc2)n(n1)c1ccccc1", printStereoWarnings=False) +smiles(R"c1ccc(cc1)c1nnn(CCn2nnc(n2)c2ccccc2)n1", printStereoWarnings=False) +smiles(R"c1ccc(cc1)c1nnnn1[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"c1ccc(cc1)c1nnn(n1)c1ccccc1", printStereoWarnings=False) +smiles(R"c1ccc(cc1)c1nnn(n1)C[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"c1ccc(cc1)C1=NNN(N1)C[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"C1CCC(CC1)c1nnnn1C[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"C1CCC(CC1)c1nnnn1C[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"c1ccc(cc1)c1nnn(n1)n1nnc(n1)c1ccccc1", printStereoWarnings=False) +smiles(R"c1ccc(cc1)c1sc(c2ccccc2)c2c1nn1ccc3ccccc3c21", printStereoWarnings=False) +smiles(R"c1ccc(cc1)c1sc(c2ccccc2)c2[C@@H](c3ccccc3)c3c(sc(c4ccccc4)c3[C@@H](c3ccccc3)c12)c1ccccc1", printStereoWarnings=False) +smiles(R"c1ccc(cc1)C[C@@]12N=N[C@@](Cc3ccccc3)([C@@H]3C=C[C@H]13)[C@@H]1C=C[C@H]21", printStereoWarnings=False) +smiles(R"c1cc(ccc1/C=C/[C@@]12C3=C4C5=C1[Fe]16782345C2=C7C6=C1[C@H]82)/C=C/[C@]12C3=C4C5=C1[Fe]16782345C2=C7C6=C1[C@H]82", printStereoWarnings=False) +smiles(R"c1ccc(cc1)C#Cc1c2ccccc2c(C#Cc2ccccc2)c2oc3c(ccc4ccccc34)c12", printStereoWarnings=False) +smiles(R"c1ccc(cc1)/C=C/c1nnnn1[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"c1ccc(cc1)C[C@H]1N[C@H](Cc2ccccc2)N2[C@H](Cc3ccccc3)N12", printStereoWarnings=False) +smiles(R"c1ccc(cc1)CC[N@@+]12CC[N@@+](CCc3ccccc3)(CC1)C2", printStereoWarnings=False) +smiles(R"c1ccc(cc1)CC[N@+]12CC[N@+](CCc3ccccc3)(CC1)C2", printStereoWarnings=False) +smiles(R"c1ccc(cc1)CC[N@+]12CN3CN(CN(C3)C2)C1", printStereoWarnings=False) +smiles(R"c1ccc(cc1)/C(=C(\N=N\C(c1ccccc1)(c1ccccc1)c1ccccc1)/c1ccccc1)/N=N\C(c1ccccc1)(c1ccccc1)c1ccccc1", printStereoWarnings=False) +smiles(R"c1ccc(cc1)C#C[Ti]12345678(C#Cc9ccccc9)(C9=C3C2=C1[C@H]49)C1=C6C7=C5[C@H]81", printStereoWarnings=False) +smiles(R"c1ccc(cc1)[C@@H]1c2cccc3[C@@H](c4ccccc4)c4cccc5c4[C@@H](c23)c2c1cccc2[C@H]5c1ccccc1", printStereoWarnings=False) +smiles(R"C1CCC(CC1)[C@@H]1CC[C@H](CC1)C1CCCCC1", printStereoWarnings=False) +smiles(R"C1CCC(CC1)[C@H]1CC[C@@H](CC1)N1CCCCC1", printStereoWarnings=False) +smiles(R"c1ccc(cc1)[C@@H]1[C@@H](c2ccccc2)[C@H](c2ccccc2)[C@H]1c1ccccc1", printStereoWarnings=False) +smiles(R"c1ccc(cc1)[C@@H]1[C@@H](c2ccccc2)N1[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"c1ccc(cc1)[C@@H]1[C@H](c2ccnc3c4ccccc4ccc23)[C@@H](c2ccccc2)[C@H]1c1ccnc2c1ccc1ccccc21", printStereoWarnings=False) +smiles(R"c1ccc(cc1)[C@H]1[C@@H](c2nc3ccccc3o2)[C@H](c2ccccc2)[C@H]1c1nc2ccccc2o1", printStereoWarnings=False) +smiles(R"c1ccc(cc1)[C@H]1C[N@@+]2(CCCC2)CC2(CCCCC2)O1", printStereoWarnings=False) +smiles(R"c1ccc(cc1)[C@H]1C[N@+]2(CCCC2)CC2(CCCCC2)O1", printStereoWarnings=False) +smiles(R"c1ccc(cc1)[C@H]1CO[C@]2(CCCC2)O1", printStereoWarnings=False) +smiles(R"C1CCC(CC1)[C@@H]1O[C@@]21C=C[C@@]1(CC[C@]3(CC1)O[C@@]13C=CC=C1)C2", printStereoWarnings=False) +smiles(R"c1ccc(cc1)[C@@H]1Oc2ccccc2[C@@]2(SCCS2)C1", printStereoWarnings=False) +smiles(R"c1ccc(cc1)[C@@H]1O[C@]2(CCCCC2)C[N@@+]21CCCC2", printStereoWarnings=False) +smiles(R"c1ccc(cc1)[C@@H]1O[C@@]2(CCCCC2)C[N@@+]21CCCC2", printStereoWarnings=False) +smiles(R"c1ccc(cc1)[C@@H]1OC[C@@]2(CO1)CO[C@H](OC2)c1ccccc1", printStereoWarnings=False) +smiles(R"c1ccc(cc1)[C@H]1ON=C(c2ccccc2)N1[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"c1ccc(cc1)[C@H]1SC[C@H]2CO[C@@]3(CCCCC3)N12", printStereoWarnings=False) +smiles(R"c1ccc(cc1)[C@@H]([C@H](c1ccccc1)[C@]12C3=C4C5=C1[Fe]16782345[C@H]2C7=C6C1=C82)[C@@]12C3=C4C5=C1[Fe]16782345[C@@H]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"c1ccc(cc1)C[N@@+]12CC[N@+](CC1)(Cc1ccccc1)C2", printStereoWarnings=False) +smiles(R"c1ccc(cc1)C[N@+]12CC[N@@+](CC1)(Cc1ccccc1)C2", printStereoWarnings=False) +smiles(R"c1ccc(cc1)C[N@@+]12CN3CN(CN(C3)C2)C1", printStereoWarnings=False) +smiles(R"c1ccc(cc1)CN1CC[C@@]2(CC1)SS[C@]1(CCN(CC1)Cc1ccccc1)S2", printStereoWarnings=False) +smiles(R"c1ccc(cc1)CN1[C@@H]2c3ccccc3[C@H]1c1ccccc21", printStereoWarnings=False) +smiles(R"c1ccc(cc1)Cn1cnc2nnn3ncnc3c12", printStereoWarnings=False) +smiles(R"c1ccc(cc1)Cn1cnc2nnn3nnnc3c12", printStereoWarnings=False) +smiles(R"c1ccc(cc1)/C=N/[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"C1CCC(CC1)/C=N/[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"c1ccc(cc1)CN(CCCCCCN(Cc1ccccc1)C[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1)C[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"c1ccc(cc1)/C=N/CC/N=C\c1ccccc1", printStereoWarnings=False) +smiles(R"c1ccc(cc1)/C=N/C/N=C\c1ccccc1", printStereoWarnings=False) +smiles(R"c1ccc(cc1)/C=N/Nc1nnn(n1)Cc1ccccc1", printStereoWarnings=False) +smiles(R"c1ccc(cc1)/C=N\N=C\c1ccccc1", printStereoWarnings=False) +smiles(R"c1ccc(cc1)/C(=N\N=C(\c1ccccc1)/c1cccs1)/c1cccs1", printStereoWarnings=False) +smiles(R"c1ccc(cc1)COc1ccc2[nH]c3c(ncc4[nH]c5ccccc5c34)c2c1", printStereoWarnings=False) +smiles(R"c1ccc(cc1)COc1nc2cc(ccc2[nH]1)C12C[C@@H]3C[C@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"c1ccc(cc1)CP(c1ccccc1)([C@@]12C3=C4C5=C1[Fe]16782345[C@H]2C7=C6C1=C82)[C@]12C3=C4C5=C1[Fe]16782345[C@H]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"c1ccc(cc1)CP(c1ccccc1)(c1ccccc1)c1ccccc1", printStereoWarnings=False) +smiles(R"c1ccc(cc1)CSc1nc2nn[nH]c2c(n1)N1CCCCC1", printStereoWarnings=False) +smiles(R"c1cc(ccc1CSP123N4CCN1CCN3CCN2CC4)CSP123N4CCN1CCN3CCN2CC4", printStereoWarnings=False) +smiles(R"c1ccc(cc1)[Ge@@](c1ccccc1)([C@]12C3=C4C5=C1[Fe]16782345C2=C7C6=C1[C@H]82)[C@]12C3=C4C5=C1[Fe]16782345C2=C7C6=C1[C@@H]82", printStereoWarnings=False) +smiles(R"c1ccc(cc1)N[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"c1ccc(cc1)N=c1c2c(ccc3ccccc23)oc2ccc3ccccc3c12", printStereoWarnings=False) +smiles(R"c1ccc(cc1)/N=C\1/c2sccc2/C(=N/c2ccccc2)/c2sccc12", printStereoWarnings=False) +smiles(R"c1ccc(cc1)/N=C/1\[C@H]2CCN(CC2)[C@H]1C(c1ccccc1)c1ccccc1", printStereoWarnings=False) +smiles(R"C1CCC(CC1)/N=C\1/N(C2CCCCC2)/C(=N\C2CCCCC2)/N1C1CCCCC1", printStereoWarnings=False) +smiles(R"c1ccc(cc1)/N=C/1\[SH+][Ni+2]2([SH+]1)[SH+]/C(=N/c1ccccc1)/[SH+]2", printStereoWarnings=False) +smiles(R"c1cc(ccc1/N=C/[C@@]12C3=C4C5=C1[Fe]16782345C2=C7C6=C1[C@H]82)c1ccc(cc1)/N=C/[C@@]12C3=C4C5=C1[Fe]16782345C2=C7C6=C1[C@@H]82", printStereoWarnings=False) +smiles(R"c1cc(ccc1/N=C/[C@@]12C3=C4C5=C1[Fe]16782345C2=C7C6=C1[C@H]82)/N=C/[C@]12C3=C4C5=C1[Fe]16782345C2=C7C6=C1[C@H]82", printStereoWarnings=False) +smiles(R"c1ccc(cc1)/N=C/c1nc2ncnc3ccn1c23", printStereoWarnings=False) +smiles(R"c1ccc(cc1)N[C@H]1CC[C@@H](CC1)/C(=C/1\C=C/C(=N\c2ccccc2)/C=C1)/[C@H]1CC[C@@H](CC1)Nc1ccccc1", printStereoWarnings=False) +smiles(R"c1ccc(cc1)N[C@H]1CCN(CC1)C1(CCCCC1)c1ccccc1", printStereoWarnings=False) +smiles(R"c1ccc(cc1)N/N=C\1/C(=C/c2ccccc2)/CCC/C1=C\c1ccccc1", printStereoWarnings=False) +smiles(R"c1ccc(cc1)/N=N/c1ccc(cc1)/N=C/[C@-]12[Fe+2]3456789([C-]%10C5=C4C3=C6%10)C(=C29)C7=C18", printStereoWarnings=False) +smiles(R"c1ccc(cc1)/N=N/c1ccc(cc1)/N=C/[C@@-]12[Fe+2]3456789([C-]%10C5=C4C3=C6%10)C(=C29)C7=C18", printStereoWarnings=False) +smiles(R"c1ccc(cc1)N/N=C\1/S/C(=N/c2ccccc2)/C(=N/c2ccccc2)/S1", printStereoWarnings=False) +smiles(R"c1ccc(cc1)N/N=C/c1nc2ncnc3ccn1c23", printStereoWarnings=False) +smiles(R"c1ccc(cc1)O[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"c1ccc(cc1)p1c2ccccc2c2ccccc12", printStereoWarnings=False) +smiles(R"c1ccc(cc1)[Pb@@](c1ccccc1)([C@]12C3=C4C5=C1[Fe]16782345C2=C7C6=C1[C@H]82)[C@]12C3=C4C5=C1[Fe]16782345C2=C7C6=C1[C@@H]82", printStereoWarnings=False) +smiles(R"c1ccc(cc1)P([C@]12C3=C4C5=C1[Fe]16782345C2=C7C6=C1[C@@H]82)[C@]12C3=C4C5=C1[Fe]16782345C2=C7C6=C1[C@H]82", printStereoWarnings=False) +smiles(R"c1ccc(cc1)P(c1ccccc1)[C@@]12C3=C4C5=C1[Fe]16782345C2=C7[C@]8(P(c3ccccc3)c3ccccc3)C6=C12", printStereoWarnings=False) +smiles(R"c1ccc(cc1)P(c1ccccc1)(c1ccccc1)[Pd@]12SCC[S+]2[Pd@@]2(SCC[S+]12)P(c1ccccc1)(c1ccccc1)c1ccccc1", printStereoWarnings=False) +smiles(R"c1ccc(cc1)[P+](C[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82)(c1ccccc1)c1ccccc1", printStereoWarnings=False) +smiles(R"c1ccc(cc1)[P+](C[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82)(c1ccccc1)c1ccccc1", printStereoWarnings=False) +smiles(R"c1ccc(cc1)[Si@@](c1ccccc1)([C@]12C3=C4C5=C1[Fe]16782345C2=C7C6=C1[C@H]82)[C@]12C3=C4C5=C1[Fe]16782345C2=C7C6=C1[C@@H]82", printStereoWarnings=False) +smiles(R"c1ccc(cc1)[Sn](S[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1)(c1ccccc1)c1ccccc1", printStereoWarnings=False) +smiles(R"c1ccc(/C=C/C=C(\C=C\c2ccccc2)/C=C/c2ccccc2)cc1", printStereoWarnings=False) +smiles(R"c1ccc(cn1)S[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"c1ccc(/C=N\N=C\c2ccccn2)nc1", printStereoWarnings=False) +smiles(R"c1ccc(CSP234N5CCN2CCN4CCN3CC5)c(c1)CSP123N4CCN1CCN3CCN2CC4", printStereoWarnings=False) +smiles(R"C1CC[C@@H]2CCCCN2C1", printStereoWarnings=False) +smiles(R"C1CC[C@H]2CCCCN2C1", printStereoWarnings=False) +smiles(R"C1CC[C@H]2[C@H](C1)C[C@@H]1CCCC[C@@H]1[C@@H]2[C@@H]1[C@H]2CCCC[C@@H]2C[C@@H]2CCCC[C@H]12", printStereoWarnings=False) +smiles(R"C1CC[C@H]2N[Au@]3(N[C@@H]2C1)N[C@@H]1CCCC[C@H]1N3", printStereoWarnings=False) +smiles(R"C1CC[C@H]2N(C1)[C@H]1CCCCN1[C@@H]1CCCCN21", printStereoWarnings=False) +smiles(R"C1CC[C@H]2N[Cu@@+2]3(N[C@@H]2C1)N[C@@H]1CCCC[C@H]1N3", printStereoWarnings=False) +smiles(R"C1CC[C@H]2N[Cu@+2]3(N[C@@H]2C1)N[C@@H]1CCCC[C@H]1N3", printStereoWarnings=False) +smiles(R"C1CC[C@H]2N[Cu@]3(N[C@@H]2C1)N[C@@H]1CCCC[C@H]1N3", printStereoWarnings=False) +smiles(R"C1CC[C@H]2N[Ni@@+2]3(N[C@@H]2C1)N[C@@H]1CCCC[C@H]1N3", printStereoWarnings=False) +smiles(R"C1CC[C@H]2N[Ni@+2]3(N[C@@H]2C1)N[C@@H]1CCCC[C@H]1N3", printStereoWarnings=False) +smiles(R"C1CC[C@H]2N[Ni@]3(N[C@@H]2C1)N[C@@H]1CCCC[C@H]1N3", printStereoWarnings=False) +smiles(R"C1CC[C@H]2N[Pt@@+2]3(N[C@@H]2C1)[OH+][Pt@+2]1(N[C@@H]2CCCC[C@H]2N1)[OH+][Pt@@+2]1(N[C@@H]2CCCC[C@H]2N1)[OH+]3", printStereoWarnings=False) +smiles(R"C1CC[C@H]2N[Pt@+2]3(N[C@@H]2C1)[OH+][Pt@@+2]1(N[C@@H]2CCCC[C@H]2N1)[OH+][Pt@@+2]1(N[C@@H]2CCCC[C@H]2N1)[OH+]3", printStereoWarnings=False) +smiles(R"C1=CC[C@@H](CC1)[C@@H]1OC[C@]2(CO1)CO[C@H](OC2)[C@H]1CCC=CC1", printStereoWarnings=False) +smiles(R"C1CC[C@H](OC1)OC[C@@]1(CCCCO1)CO[C@@H]1CCCCO1", printStereoWarnings=False) +smiles(R"c1cccnc1", printStereoWarnings=False) +smiles(R"C1CCCNC1", printStereoWarnings=False) +smiles(R"c1ccc(nc1)[C@]12c3ccccc3[C@@H]2c2ccccc12", printStereoWarnings=False) +smiles(R"c1ccc(nc1)C1=C(N=c2ccccc2=c2ccccc2=N1)c1ccccn1", printStereoWarnings=False) +smiles(R"c1ccc(nc1)[C@H]1[C@@H](c2ccccn2)[C@H](c2ccccn2)[C@@H]1c1ccccn1", printStereoWarnings=False) +smiles(R"c1ccc(nc1)S[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"c1ccc(nc1)S[C@@]12[C@H]3[C@@H]4[C@H]5[C@@H]([C@H]14)[C@@H]2[C@@H]35", printStereoWarnings=False) +smiles(R"c1cc(CSP234N5CCN2CCN4CCN3CC5)cc(c1)CSP123N4CCN1CCN3CCN2CC4", printStereoWarnings=False) +smiles(R"C1=C[C@@H]2C[C@]3(OCCO3)[C@@H]2C1", printStereoWarnings=False) +smiles(R"C1C[C@@H]2CCCc3c4CCC[C@H]5CCCc(c(C1)c23)c45", printStereoWarnings=False) +smiles(R"C1C[C@@H]2CCC[C@@H]2C1", printStereoWarnings=False) +smiles(R"C1C[C@H]2CCC[C@@H]3[C@@H]2[C@@H](C1)[C@H]1CCC[C@@H]2CCC[C@H]3[C@H]12", printStereoWarnings=False) +smiles(R"C1C[C@H]2CCC[C@@H]3[C@H]4CCCC[C@@H]4[C@@H](C1)[C@@H]23", printStereoWarnings=False) +smiles(R"C1=C[C@@H]2C=C[C@H]12", printStereoWarnings=False) +smiles(R"C1=C[C@H]2C=C[C@@H]1C2", printStereoWarnings=False) +smiles(R"C1C[C@H]2CC[C@@H]1C2", printStereoWarnings=False) +smiles(R"C1C[C@@H]2CC[C@H]1CN(C2)[C@H]1CO[C@@H](CO1)N1C[C@H]2CC[C@H](CC2)C1", printStereoWarnings=False) +smiles(R"C1C[C@H]2CC[C@@H]1O2", printStereoWarnings=False) +smiles(R"C1C[C@H]2CC[C@H]3CC[C@@H]1[C@@H]23", printStereoWarnings=False) +smiles(R"C1=C[C@H]2CC[C@@H](C1)[C@@]12OCCO1", printStereoWarnings=False) +smiles(R"C1C[C@H]2C[C@@H]1[C@]13O[C@H]1[C@]1(CC1)[C@H]1O[C@@]231", printStereoWarnings=False) +smiles(R"C1C[C@@H]2CCN1C[C@@]12SS[C@@]2(CN3CC[C@H]2CC3)S1", printStereoWarnings=False) +smiles(R"C1=C[C@@H]2[C@@H]3C=C[C@H]1C=C[C@H]23", printStereoWarnings=False) +smiles(R"C1C[C@@H]2[C@H](CCC[C@]32OCCO3)[C@]2(C1)OCCO2", printStereoWarnings=False) +smiles(R"C1C[C@@H]2[C@H](CCC[C@@]32OCCO3)[C@]2(C1)OCCO2", printStereoWarnings=False) +smiles(R"C1CC[N@@+]2(CC1)C[C@]12Cc2ccccc2C1", printStereoWarnings=False) +smiles(R"C1CC[N@+]2(CC1)C[C@]12Cc2ccccc2C1", printStereoWarnings=False) +smiles(R"C1CC[N@@+]2(CC1)C[C@]12Cc2ccccc2c2ccccc2C1", printStereoWarnings=False) +smiles(R"C1CC[N@+]2(CC1)C[C@@]12Cc2ccccc2c2ccccc2C1", printStereoWarnings=False) +smiles(R"C1CC[N+]2(CC1)Cc1c(ccc3ccccc13)[OH+][Cu@@+2]12[Cl-][Cu@+2]2([OH+]c3ccc4ccccc4c3C[N+]32CCCCC3)[Cl-]1", printStereoWarnings=False) +smiles(R"C1CC[N+]2(CC1)Cc1c(ccc3ccccc13)[OH+][Cu@+2]12[Cl-][Cu@@+2]2([OH+]c3ccc4ccccc4c3C[N+]32CCCCC3)[Cl-]1", printStereoWarnings=False) +smiles(R"c1cc[n+]2cc3ccc4cc5cccc[n+]5cc4c3cc2c1", printStereoWarnings=False) +smiles(R"c1cc[n+]2cc3c(ccc4cc5cccc[n+]5cc34)cc2c1", printStereoWarnings=False) +smiles(R"C1CCN2C[C@@H]3C[C@@H](CN4CCCC[C@@H]34)[C@H]2C1", printStereoWarnings=False) +smiles(R"C1CCN(C1)c1ccc2nnnn2n1", printStereoWarnings=False) +smiles(R"C1CCN(C1)c1n2ccccc2c2n1c1ccccc1n1c(N3CCCC3)n3ccccc3c21", printStereoWarnings=False) +smiles(R"c1ccncc1", printStereoWarnings=False) +smiles(R"C1CCNCC1", printStereoWarnings=False) +smiles(R"C1CCN(CC1)c1cc2nc3c(cc(N4CCCCC4)c4ccccc34)nc2c2ccccc12", printStereoWarnings=False) +smiles(R"c1cc[n+](cc1)[C@@H]1c2ccccc2[C@@H]([n+]2ccccc2)c2ccccc12", printStereoWarnings=False) +smiles(R"C1CCN(CC1)[C@H]1C[C@@H]2c3ccccc3[C@H]1c1ccccc21", printStereoWarnings=False) +smiles(R"c1cc(/N=C/[C@@]23C4=C5C6=C2[Fe]27893456[C@@H]3C8=C7C2=C93)c2cccc(/N=C/[C@@]34C5=C6C7=C3[Fe]389%104567[C@H]4C9=C8C3=C%104)c2c1", printStereoWarnings=False) +smiles(R"C1[C@H]2C[C@@H]3C[C@H]1CC(C2)(C3)C1=[O+][Rh]234OC(=[O+][Rh]4([O+]=C(O2)C24C[C@@H]5C[C@@H](C[C@H](C5)C4)C2)(O1)OC(=[O+]3)C12C[C@H]3C[C@@H](C[C@@H](C3)C2)C1)C12C[C@H]3C[C@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"C1[C@H]2C[C@H]3C[C@@H]1C[C@@](C2)(C3)c1sc2nnc(n2n1)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"C1[C@@H]2C[C@H]3C[C@@H]1CC(C2)(C3)Nc1nc(nc(n1)N[C@@]12C[C@@H]3C[C@@H](C[C@H](C3)C2)C1)N[C@@]12C[C@H]3C[C@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"C1[C@@H]2C[C@@H]3C[C@H]1C[C@](C2)(C3)N[Cd@@+2](N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)(N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"C1[C@@H]2C[C@@H]3C[C@H]1CC(C2)(C3)N[Cd+2](NC12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)(NC12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)NC12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"C1[C@@H]2C[C@@H]3C[C@H]1C[C@](C#C[C@]14C[C@@H]5C[C@@H](C[C@@H](C5)C4)C1)(C2)C3", printStereoWarnings=False) +smiles(R"C1[C@@H]2C[C@@H]3C[C@H]1C[C@](/C=N/[C@]14C[C@@H]5C[C@@H](C[C@@H](C5)C4)C1)(C2)C3", printStereoWarnings=False) +smiles(R"C1[C@@H]2C[C@@H]3C[C@H]1C[C@H](C2)[C@@]13OO[C@]21[C@@H]1C[C@H]3C[C@@H](C1)C[C@@H]2C3", printStereoWarnings=False) +smiles(R"C1[C@H]2C[C@@H]3[C@H](C2)[C@H]13", printStereoWarnings=False) +smiles(R"C1[C@H]2O[C@H]3CN1C[C@@H](O2)O3", printStereoWarnings=False) +smiles(R"C1CN1[C@H]1CC[C@@H](CC1)N1CC1", printStereoWarnings=False) +smiles(R"C1C[N@@+]23CCC[N@+]4(CCC2)CC[SH+][Ni@@+2]34[SH+]1", printStereoWarnings=False) +smiles(R"C1C[N@@+]23CCC[N@+]4(CCC2)CC[SH+][Pd@@+2]34[SH+]1", printStereoWarnings=False) +smiles(R"C1CN2CCC[C@@H]2C1", printStereoWarnings=False) +smiles(R"C1CN2CCC[C@H]2C1", printStereoWarnings=False) +smiles(R"C1CN2CCN1[Co@]12N2CCN1CC2", printStereoWarnings=False) +smiles(R"C1CN2CCN1[Cu@+2]12N2CCN1CC2", printStereoWarnings=False) +smiles(R"C1CN2CCN1[Hg@]12N2CCN1CC2", printStereoWarnings=False) +smiles(R"C1CN2CCN1[Ni@+2]12N2CCN1CC2", printStereoWarnings=False) +smiles(R"C1CN2CCN1[Zn@]12N2CCN1CC2", printStereoWarnings=False) +smiles(R"C1CN2CCN3CCCN4CCN(C1)[C@H]2[C@H]34", printStereoWarnings=False) +smiles(R"c1cnc2c(c1)ccc1CN(COc21)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"c1cnc2n[se]nc2c1", printStereoWarnings=False) +smiles(R"c1cnc2nsnc2c1", printStereoWarnings=False) +smiles(R"C1CN(CCN1C[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)C[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"C1CN=C(N1)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"C1CN=C(O1)N1C[C@@H]2CC[C@@H](CC2)C1", printStereoWarnings=False) +smiles(R"c1c[nH]c(n1)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"c1c[nH]c(n1)[C@@]12[C@H]3[C@@H]4[C@@H]5[C@H]3[C@H]2[C@@H]5[C@H]14", printStereoWarnings=False) +smiles(R"c1cnn(c1)[C@@]12[C@H]3[C@@H]4[C@@H]5[C@H]3[C@H]2[C@@H]5[C@H]14", printStereoWarnings=False) +smiles(R"C1COB(O1)[C@]12[C@@H]3CCC[C@H]1CCC[C@H]2CCC3", printStereoWarnings=False) +smiles(R"C1COB(O1)[C@@H]1C[C@H]2CCC[C@H]3CCC[C@@H](C1)[C@@H]23", printStereoWarnings=False) +smiles(R"c1coc2=c(o1)occo2", printStereoWarnings=False) +smiles(R"C1C[S+]2[Ni@]3(N1)NCC[S+]3[Ni@]12[S+]2CCN[Ni@@]32NCC[S+]13", printStereoWarnings=False) +smiles(R"C1CS[C@]2(SC1)SCS[C@@]12SCCCS1", printStereoWarnings=False) +smiles(R"c1csc(c1)c1nnc(o1)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"c1csc(c1)c1sc2nnc(n2n1)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"c1csc(c1)C[N@@+]12CN3CN(CN(C3)C2)C1", printStereoWarnings=False) +smiles(R"c1csc(c1)C[N@+]12CN3CN(CN(C3)C2)C1", printStereoWarnings=False) +smiles(R"c1csc(n1)NC(Nc1nccs1)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"c1nc2[nH]c[n+]3c2c(=[S+][Hg+]3[C@-]23C4=C5C6=C2[Fe+2]27893456[C-]3C8=C7C2=C93)[n-]1", printStereoWarnings=False) +smiles(R"c1nc2[nH]c[n+]3c2c(=[S+][Hg+]3[C@@-]23C4=C5C6=C2[Fe+2]27893456[C-]3C8=C7C2=C93)[n-]1", printStereoWarnings=False) +smiles(R"c1ncc([nH]1)[C@@]12[C@H]3[C@@H]4[C@@H]5[C@H]3[C@H]2[C@@H]5[C@H]14", printStereoWarnings=False) +smiles(R"c1ncn(n1)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"c1ncn(n1)[C@@]12[C@H]3[C@@H]4[C@@H]5[C@H]3[C@H]2[C@@H]5[C@H]14", printStereoWarnings=False) +smiles(R"C1Oc2cc(/C=C/c3nc4ccccc4nc3/C=C\c3ccc4OCOc4c3)ccc2O1", printStereoWarnings=False) +smiles(R"C1OCOCO1", printStereoWarnings=False) +smiles(R"C1O[Cu+2]234[OH+]CC[N@@+]4(C1)CC[O-]2[Cu+2]124OCC[N@@+]4(CC[OH+]1)CC[O-]2[Cu+2]124OCC[N@+]4(CC[OH+]1)CC[O-]2[Cu+2]124OCC[N@+]2(CC[OH+]1)CC[O-]34", printStereoWarnings=False) +smiles(R"C1O[Cu+2]234[OH+]CC[N@+]4(C1)CC[O-]3[Cu+2]134OCC[N@+]4(CC[OH+]1)CC[O-]3[Cu+2]134OCC[N@+]4(CC[OH+]1)CC[O-]3[Cu+2]134OCC[N@+]4(CC[OH+]1)CC[O-]23", printStereoWarnings=False) +smiles(R"[Ca+2]", printStereoWarnings=False) +smiles(R"C[C@-]12C3=C4C5=C1[Co+3]16782345C2=C7[C@@-]8(C)C6=C12", printStereoWarnings=False) +smiles(R"C[C@@-]12C3=C4C5=C1[Co+3]16782345C2=C7[C@-]8(C)C6=C12", printStereoWarnings=False) +smiles(R"CC12=C3(C)C4(=C5(C)[C@]1(C)[Ru+]167892345C2=C1C7=C9(/C=C/C13=C4C5=C7C9=C1[Ru+]1%10%11%1234579C3(=C1(C)[C@]%11(C)C%10(=C%123C)C)C)C8=C62)C", printStereoWarnings=False) +smiles(R"CC12=C3(C)C4(=C5(C)C1(C)[Ru+]167892345C2=C1C7=C9(C#CC13=C4C5=C7C9=C1[Ru+]1%10%11%1234579C3(=C1(C)C%11(C)C%10(=C%123C)C)C)C8=C62)C", printStereoWarnings=False) +smiles(R"CC12=C3(C)C4(=C5(C)C1(C)[Ru+]167892345C2=C6C8=C9(C#CC34=C5C6=C8C9=C3[Ru+]3%10%11%1245689C4(=C3(C)C%11(C)C%10(=C%124C)C)C)C7=C12)C", printStereoWarnings=False) +smiles(R"CC12=C3(C)C4(=C5(C)[C@@]1(C)[Ru+]167892345C2=C6C8=C9(/N=N/C34=C5C6=C8C9=C3[Ru+]3%10%11%1245689C4(=C3(C)[C@@]%11(C)C%10(=C%124C)C)C)C7=C12)C", printStereoWarnings=False) +smiles(R"C[C@@]12C[C@@]2(C)[C@@]1(C)C", printStereoWarnings=False) +smiles(R"C[C@@]12C[C@@]3(C)C[C@@](C)(C1)CC(Br)(C2)C3", printStereoWarnings=False) +smiles(R"C[C@@]12CC[C@@]3(OCCO3)C[C@@H]1CC[C@H]1O[C@@H]21", printStereoWarnings=False) +smiles(R"C[C@]12CCCC=C2C[C@]2(OCCO2)CC1", printStereoWarnings=False) +smiles(R"C[C@@]12C[C@@](C)(C[C@@](C)(C1)C(=O)NCCN(CCNC(=O)[C@]1(C)C[C@]3(C)C[C@](C)(C1)C(=O)NC3=O)CCNC(=O)[C@@]1(C)C[C@]3(C)C[C@](C)(C1)C(=O)NC3=O)C(=O)NC2=O", printStereoWarnings=False) +smiles(R"C[C@]12C=C[C@H](c3ccccc13)c1ccccc21", printStereoWarnings=False) +smiles(R"C[C@@]12[C@@H]([C@@H]3c4ccccc4[C@H]1c1ccccc31)[C@@H]1c3ccccc3[C@H]2c2ccccc12", printStereoWarnings=False) +smiles(R"C[C@]12Oc3ccc4ccccc4c3C[C@H]2Cc2c(ccc3ccccc23)O1", printStereoWarnings=False) +smiles(R"C[C@]12Oc3ccc4ccccc4c3[C@H]2c2c(ccc3ccccc23)O1", printStereoWarnings=False) +smiles(R"C[C@@]12[Ru+]3456789%10(C%11=C4C6=C8(/C=C/C46=C8C%12=C%13C%14=C4[Ru+]4%15%16%1768%12%13%14C6(=C%16(C)C%15(=C4(C)[C@]%176C)C)C)C5=C3%11)C(=C2%10C)(C)C7(=C19C)C", printStereoWarnings=False) +smiles(R"C[C@@]12[Ru+]3456789%10(C%11=C4C6=C8(/N=N/C46=C8C%12=C%13C%14=C4[Ru+]4%15%16%1768%12%13%14C6(=C%16(C)C%15(=C4(C)[C@]%176C)C)C)C5=C3%11)C(=C2%10C)(C)C7(=C19C)C", printStereoWarnings=False) +smiles(R"C[C@]1(Br)[C@@](C)(Br)[C@@](C)(Br)[C@@](C)(Br)[C@@](C)(Br)[C@]1(C)Br", printStereoWarnings=False) +smiles(R"Cc1c2ccncc2c(C)c2c1n(C)c1c(C)c3ccncc3c(C)c21", printStereoWarnings=False) +smiles(R"Cc1c2nc3cc4ccccc4cc3n2c(C)c2ccccc12", printStereoWarnings=False) +smiles(R"Cc1c2[nH]c3c(ccc4ccccc34)c2cc2c(C)nccc12", printStereoWarnings=False) +smiles(R"Cc1c2sc3ccccc3[nH]c2nc2[nH]c3ccccc3sc12", printStereoWarnings=False) +smiles(R"Cc1cc2cc3CCc4ccccc4c4nn5cnnc5c(c34)c2o1", printStereoWarnings=False) +smiles(R"Cc1cc2cc3CCc4ccccc4c4nn5nnnc5c(c34)c2o1", printStereoWarnings=False) +smiles(R"Cc1cc2c(ccc3c2ccc2ccccc32)c2ccccc12", printStereoWarnings=False) +smiles(R"C=C1C[C@]2(CCC[C@@]3(OCCO3)C2)OC1=O", printStereoWarnings=False) +smiles(R"C[C@@]1(Cc2ccccc2)C[N@@+]21CCCCC2", printStereoWarnings=False) +smiles(R"C[C@@]1(Cc2ccccc2)C[N@+]21CCCCC2", printStereoWarnings=False) +smiles(R"Cc1cc2[n+]3c(N(C)C)n4ccccc4c3c3n(c2cc1C)c(N(C)C)[n+]1ccccc31", printStereoWarnings=False) +smiles(R"Cc1cc2[n+]3C(N(C)C)N4CCCCC4c3c3n(c2cc1C)c(N(C)C)[n+]1ccccc31", printStereoWarnings=False) +smiles(R"Cc1cc2nnc3cc(C)cc4nnc(c1)c2c34", printStereoWarnings=False) +smiles(R"Cc1cc2nnc(N)c(N)nnc1cc2C(C)C", printStereoWarnings=False) +smiles(R"Cc1ccc2c(c1)nc1cc3c(cc1n2C1CCCCC1)c(Cl)c(=O)c1ccccc31", printStereoWarnings=False) +smiles(R"Cc1ccc2ccc3c4C(=O)OC(=O)c4c4ccc5ccc(C)cc5c4c3c2c1", printStereoWarnings=False) +smiles(R"Cc1ccc2ccc3c(ccc4c3ccc3c(C)cccc43)c2c1", printStereoWarnings=False) +smiles(R"CC1=C(C)[C@]2(Cl)C(=C(Cl)[C@@]1(Cl)[C@@]2(Cl)Cl)Cl", printStereoWarnings=False) # smiles(R"CC1=C(CC2=C(C)N=S(=O)(O)N=C2C)C(=NS(=O)(=N1)O)C", printStereoWarnings=False) +smiles(R"Cc1c(C)c2c(n1C)C(=O)[C@@H]1[C@H](C2=O)[C@@]2(C)c3ccccc3[C@]1(C)c1ccccc21", printStereoWarnings=False) +smiles(R"Cc1ccc2C(=[N+]3[N-]C(=[S+][Cu+]3[n+]2n1)N1C[C@H]2CC[C@H](CC2)C1)C", printStereoWarnings=False) +smiles(R"Cc1ccc2C(=[N+]3[N-]C(=[S+][Fe+]3[n+]2n1)N1C[C@H]2CC[C@H](CC2)C1)C", printStereoWarnings=False) +smiles(R"Cc1ccc2c(no[n+]2[O-])c1", printStereoWarnings=False) +smiles(R"Cc1ccc2c(NO[N+]2[O-])c1", printStereoWarnings=False) +smiles(R"Cc1ccc2nc3c4cccc5cccc(c3nc2c1)c45", printStereoWarnings=False) +smiles(R"Cc1ccc2[nH]c3c(ncc4[nH]c5ccccc5c34)c2c1", printStereoWarnings=False) +smiles(R"Cc1ccc2[n+](n1)[Cu+]1[S+]=C([N-][N+]1=C2C)N1C[C@H]2CC[C@H](CC2)C1", printStereoWarnings=False) +smiles(R"Cc1ccc2[n+](n1)[Fe+]1[S+]=C([N-][N+]1=C2C)N1C[C@H]2CC[C@H](CC2)C1", printStereoWarnings=False) +smiles(R"Cc1ccc2nnc(NS(=O)(=O)c3cc(C)c(Cl)cc3S)n2n1", printStereoWarnings=False) +smiles(R"Cc1ccc2n[se]nc2c1", printStereoWarnings=False) +smiles(R"Cc1ccc2OCN(Cc2c1)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"Cc1ccc2oc(=O)c(cc2c1)C(=O)Nc1scc(n1)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"Cc1ccc2s/c(=[S+]\[Pd@](Cl)(Cl)/[S+]=c/3\sc4ccc(C)cc4s3)/sc2c1", printStereoWarnings=False) +smiles(R"Cc1cccc2CC[C@H]3CCc4cccc(C)c4[C@H]3c12", printStereoWarnings=False) +smiles(R"Cc1cc(C)c2cnnn2n1", printStereoWarnings=False) +smiles(R"Cc1ccc(cc1)[B@-]12OCC[N@@+]2(CCO1)CNC(=O)C1=C(O)[C@H](N(C)C)[C@H]2C[C@H]3C(=C(O)[C@]2(O)C1=O)C(=O)c1c(O)cccc1[C@]3(C)O", printStereoWarnings=False) +smiles(R"Cc1ccc(cc1)[B@@-]12OCC[N@+]2(CCO1)CNC(=O)C1=C(O)[C@H](N(C)C)[C@H]2C[C@H]3C(=C(O)[C@]2(O)C1=O)C(=O)c1c(O)cccc1[C@]3(C)O", printStereoWarnings=False) +smiles(R"Cc1cccc(c1)[B@-]12OCC[N@@+]2(CCO1)CNC(=O)C1=C(O)[C@H](N(C)C)[C@H]2C[C@H]3C(=C(O)[C@]2(O)C1=O)C(=O)c1c(O)cccc1[C@]3(C)O", printStereoWarnings=False) +smiles(R"Cc1cccc(c1)[B@@-]12OCC[N@+]2(CCO1)CNC(=O)C1=C(O)[C@H](N(C)C)[C@H]2C[C@H]3C(=C(O)[C@]2(O)C1=O)C(=O)c1c(O)cccc1[C@]3(C)O", printStereoWarnings=False) +smiles(R"Cc1ccc(cc1)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"Cc1ccc(cc1)[C@]1(C)O[C@@H](C)[C@H](C)O1", printStereoWarnings=False) +smiles(R"Cc1cccc(c1)c1nnc2s/c(=C\c3ccc4OCOc4c3)/c(=O)n12", printStereoWarnings=False) +smiles(R"Cc1ccc(cc1)c1nnc2s/c(=C\c3ccc(cc3)N(C)C)/c(=O)n12", printStereoWarnings=False) +smiles(R"Cc1cccc(c1)c1nnc2s/c(=C\c3ccc(cc3)N(C)C)/c(=O)n12", printStereoWarnings=False) +smiles(R"Cc1ccc(cc1)[C@@]1(O)CS/C(=N/[C@]23C[C@@H]4C[C@@H](C[C@H](C4)C3)C2)/N1C(P(=O)(O)O)P(=O)(O)O", printStereoWarnings=False) +smiles(R"Cc1cccc(c1)C[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"Cc1ccc(cc1)/C(=C/C(=O)C(=O)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)/Sc1ccccc1", printStereoWarnings=False) +smiles(R"Cc1ccc(cc1)[C@H]1CC(=O)C[C@H](c2ccc(C)cc2)[C@@]21C(=O)c1ccccc1C2=O", printStereoWarnings=False) +smiles(R"Cc1ccc(cc1)[C@H]1CC(=O)C[C@@H](c2ccc(C)cc2)[C@@]21C(=O)NC(=O)NC2=O", printStereoWarnings=False) +smiles(R"Cc1cccc(c1)[C@@H]1ON=C(c2ccccc2)N1[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"Cc1cccc(c1C)N1C(=O)[C@H]2[C@H](C1=O)[C@]1(Cl)C(=C(Cl)[C@@]2(Cl)[C@]1(Cl)Cl)Cl", printStereoWarnings=False) +smiles(R"Cc1ccc(cc1)/C=N/[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"Cc1ccccc1/C=N/[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"Cc1ccc(cc1)C(=O)/C=c\1/[nH]c2ccccc2nc1N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"Cc1ccc(cc1)C(=O)/C=c\1/[nH]c2c(nc1NC13C[C@H]4C[C@H](C[C@H](C4)C3)C1)c(=O)oc1ccccc21", printStereoWarnings=False) +smiles(R"Cc1ccc(cc1)C(=O)/C=C(\O)/C(=O)N[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"Cc1cccc(c1)CP(Cc1cccc(C)c1)CC1(COC1)Cp1c2ccccc2c2ccccc12", printStereoWarnings=False) +smiles(R"Cc1ccc(cc1)N1C[C@H](O)CN(C[C@H](O)C1)c1ccc(C)cc1", printStereoWarnings=False) +smiles(R"Cc1cccc(c1)N1CCN(CC1)c1ccc2nonc2c1[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"Cc1cccc(c1)N1CCN(CC1)c1ccc2NONc2c1[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"Cc1ccccc1n1c(=O)sc2c(=O)n(c3ccccc3)c(=S)[nH]c12", printStereoWarnings=False) +smiles(R"Cc1cccc(c1)n1c(=S)[nH]c2c(sc(=O)n2c2ccccc2C)c1=O", printStereoWarnings=False) +smiles(R"Cc1ccccc1n1c(=S)[nH]c2n(c(=O)sc2c1=O)c1ccccc1C", printStereoWarnings=False) +smiles(R"Cc1ccc(cc1)/N=C/c1ccc(cc1O)[S@@](=O)(=O)c1ccc(/C=N/c2ccc(C)cc2)c(O)c1", printStereoWarnings=False) +smiles(R"Cc1cc(ccc1N)/C(=C/1\C=C/C(=N\c2ccccc2)/C=C1)/c1ccc(cc1)Nc1ccccc1", printStereoWarnings=False) +smiles(R"Cc1cccc(c1)NC(=O)[C@@H]1CC[C@H](CC1)CC1CCCCC1", printStereoWarnings=False) +smiles(R"Cc1ccc(cc1)N/N=C\1/C(=O)O[C@H](OC1=O)c1ccccc1", printStereoWarnings=False) +smiles(R"Cc1cc(cc(c1N)S(=O)(=O)O)/C(=C\1/C=C/C(=N\c2ccc(cc2)S(=O)(=O)O)/C=C1)/c1ccc(cc1)Nc1ccc(cc1)S(=O)(=O)O", printStereoWarnings=False) +smiles(R"Cc1ccc(cc1)Oc1nc2nc3c(cc2c2ccccc12)n(C(=O)C)c1ccccc31", printStereoWarnings=False) +smiles(R"Cc1ccc(cc1)P(c1ccc(C)cc1)(c1ccc(C)cc1)[Pt@@]1(Cl)[Cl][Pt@@](Cl)([Cl]1)P(c1ccc(C)cc1)(c1ccc(C)cc1)c1ccc(C)cc1", printStereoWarnings=False) +smiles(R"Cc1ccc(cc1)[Si@]12O[C@H](C)CN(C[C@H](C)O1)C[C@H](C)O2", printStereoWarnings=False) +smiles(R"Cc1ccc(cc1)S(=O)O[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"Cc1ccc(cc1)S(=O)(=O)c1c(N)c2nc3ccccc3n2c2nc3ccccc3nc12", printStereoWarnings=False) +smiles(R"Cc1ccc(cc1)S(=O)OC[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"Cc1ccc(cc1)S(=O)(=O)C[C@H]1[C@H]2c3ccccc3[C@@H]([C@H]1C)c1ccccc21", printStereoWarnings=False) +smiles(R"Cc1ccc(cc1)S(=O)(=O)C(=S=N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)Sc1ccccc1", printStereoWarnings=False) +smiles(R"Cc1ccc(cc1)[S@](=O)(=[OH+])[O-]", printStereoWarnings=False) +smiles(R"Cc1ccc(cc1)S(=O)(=O)N1C[C@@]2(O)CN(C[C@@](O)(C1)O2)S(=O)(=O)c1ccc(C)cc1", printStereoWarnings=False) +smiles(R"Cc1ccc(cc1)S(=O)(=O)N1C[C@@H](Cl)CN(C[C@H](Cl)C1)S(=O)(=O)c1ccc(C)cc1", printStereoWarnings=False) +smiles(R"Cc1ccc(cc1)S(=O)(=O)N1C(=O)O[C@@]2(CCCCC2)[C@H]1C", printStereoWarnings=False) +smiles(R"Cc1ccc(cc1)S(=O)(=O)N[C@@H]1CC[C@@H](CC1)C(=O)O", printStereoWarnings=False) +smiles(R"Cc1ccc(cc1)S(=O)(=O)NC(=O)O[C@]12COCN2COC1", printStereoWarnings=False) +smiles(R"Cc1ccc(cc1)S(=O)(=O)N/N=C\1/C=C2C/C(=N/NS(=O)(=O)c3ccc(C)cc3)/C=C2C1", printStereoWarnings=False) +smiles(R"Cc1ccc(cc1)S(=O)(=O)N/N=C/1\[C@@](C)(C)/C(=N\NS(=O)(=O)c2ccc(C)cc2)/[C@@]1(C)C", printStereoWarnings=False) +smiles(R"Cc1ccc(cc1)S(=O)(=O)N/N=C\1/[C@H]2CC=CC[C@@H]2/C(=N\NS(=O)(=O)c2ccc(C)cc2)/[C@H]2CC=CC[C@H]12", printStereoWarnings=False) +smiles(R"Cc1ccc(cc1)S(=O)(=O)N/N=C\1/[C@H]2CC[C@@H]1CC2", printStereoWarnings=False) +smiles(R"Cc1ccc(cc1)S(=O)(=O)N/N=C/1\CN2CC[C@H]1CC2", printStereoWarnings=False) +smiles(R"Cc1ccc(cc1)S(=O)(=O)N/N=C\1/C(=N\NS(=O)(=O)c2ccc(C)cc2)/[C@H]2c3ccccc3[C@@H]1c1ccccc21", printStereoWarnings=False) +smiles(R"Cc1ccc(cc1)S(=O)(=O)N/N=C(\C=C\c1ccccc1)/C=C/c1ccccc1", printStereoWarnings=False) +smiles(R"Cc1ccc(cc1)S(=O)(=O)NNC(=O)[C@]12CC[C@H](CC1)C2", printStereoWarnings=False) +smiles(R"Cc1ccc(cc1)S(=O)(=O)/N=S/1\CCCC1", printStereoWarnings=False) +smiles(R"Cc1ccc(cc1)S(=O)(=O)[O-]", printStereoWarnings=False) +smiles(R"Cc1ccc(cc1)S(=O)(=O)O", printStereoWarnings=False) +smiles(R"Cc1ccc(cc1)S(=O)(=O)O[C@@]12CC[C@@](C)(CC1)[C@@]1(OCCO1)C2", printStereoWarnings=False) +smiles(R"Cc1ccc(cc1)S(=O)(=O)O[C@]12CC[C@](C)(CC1)C(=O)C2", printStereoWarnings=False) +smiles(R"Cc1ccc(cc1)S(=O)(=O)O[C@@]1([C@@H]2CC[C@H]1CC2)c1ccc(cc1)C(F)(F)F", printStereoWarnings=False) +smiles(R"Cc1ccc(cc1)S(=O)(=O)OC[C@]12CC[C@H](CC1)[C@H]1C[C@@H]21", printStereoWarnings=False) +smiles(R"Cc1ccc(cc1)S(=O)(=O)OC[C@]12CC[C@H]([C@H]3C[C@@H]13)[C@H]1C[C@@H]21", printStereoWarnings=False) +smiles(R"Cc1ccc(cc1)S(=O)(=O)OC[C@H]1O[C@@](C)(C)O[C@H]1COS(=O)(=O)c1ccc(C)cc1", printStereoWarnings=False) +smiles(R"Cc1ccc(cc1)S(=O)(=O)O[C@H]1[C@@](C)(C)[C@H](OS(=O)(=O)c2ccc(C)cc2)C1(C)C", printStereoWarnings=False) +smiles(R"Cc1ccc(cc1)S(=O)(=O)O[C@@H]1CC[C@H](CC1)N1C(=O)c2ccccc2C1=O", printStereoWarnings=False) +smiles(R"Cc1ccc(cc1)S(=O)(=O)O[C@H]1CC[C@@H](CC1)OS(=O)(=O)c1ccc(C)cc1", printStereoWarnings=False) +smiles(R"Cc1ccc(cc1)S(=O)(=O)O[C@@H]1[C@H](O)[C@H](O)[C@H](O)[C@@H](O)[C@H]1O", printStereoWarnings=False) +smiles(R"Cc1ccc(cc1)S(=O)(=O)[OH+][Pd@@+2]12[N+](C)(C)CC[N@+]2(C)CC[N+]1(C)C", printStereoWarnings=False) +smiles(R"Cc1ccc(cc1)S(=O)(=O)[OH+][Pd@+2]12[N+](C)(C)CC[N@@+]2(C)CC[N+]1(C)C", printStereoWarnings=False) +smiles(R"CC1=C(C)CC[C@@]2(C1)C(=O)[C@@]1(CCC(=C(C)C1)C)C2=O", printStereoWarnings=False) +smiles(R"Cc1ccc(C)c2c1[C@](O)(C#Cc1ccccc1)c1c(C)ccc(C)c1[C@]2(O)C#Cc1ccccc1", printStereoWarnings=False) +smiles(R"Cc1c(C)ccc2nc3c(nc12)c1ccccc1c1ccccc31", printStereoWarnings=False) +smiles(R"Cc1cccc(C)c1N1C(=O)[C@@H]2[C@H](C1=O)[C@]1(Cl)C(=C(Cl)[C@@]2(Cl)[C@]1(Cl)Cl)Cl", printStereoWarnings=False) +smiles(R"Cc1cc(C)c(c(C)c1)S(=O)(=O)O", printStereoWarnings=False) +smiles(R"Cc1ccc(C(C)C)c(OC[C@@H]2N3CC[C@@H](CC3)C2=O)c1", printStereoWarnings=False) +smiles(R"Cc1cccc(C)n1N", printStereoWarnings=False) +smiles(R"Cc1cccc(/C=N/[C@]23C[C@@H]4C[C@@H](C[C@@H](C4)C3)C2)c1", printStereoWarnings=False) +smiles(R"Cc1ccccn1N", printStereoWarnings=False) +smiles(R"Cc1cccc(N)n1N", printStereoWarnings=False) +smiles(R"Cc1ccc(/C=N/N(C)CN(C)/N=C\c2ccc(C)cc2)cc1", printStereoWarnings=False) +smiles(R"CC1(C)C[C@H]2c3ccccc3[C@@H]1c1ccccc21", printStereoWarnings=False) +smiles(R"CC1=C(C)[C@@H]2[C@H]3C(=O)OC(=O)[C@H]3[C@H]1[C@@H]1C(=O)OC(=O)[C@H]21", printStereoWarnings=False) +smiles(R"CC1=CC[C@H](C/C=N\N=C\C[C@H]2CC=C(C)C2(C)C)C1(C)C", printStereoWarnings=False) +smiles(R"Cc1cc(C)n2n1[B+3]1[NH+]3C(=CC(=[N+]3[Re+]2(=O)(=O)(=O)[NH+]2C(=CC(=[N+]12)C)C)C)C", printStereoWarnings=False) +smiles(R"Cc1cc(C)n2n1[B+3]1[NH+]3C(=CC(=[N+]3[Re+3]32(=O)([OH+]CC[OH+]3)[NH+]2C(=CC(=[N+]12)C)C)C)C", printStereoWarnings=False) +smiles(R"Cc1cc(C)n2n1[B+3]1[NH+]3C(=CC(=[N+]3[Re+3]32(=O)([OH+][C@@H]2CCCCCC[C@H]2[OH+]3)[NH+]2C(=CC(=[N+]12)C)C)C)C", printStereoWarnings=False) +smiles(R"Cc1cccn(N)c1N", printStereoWarnings=False) +smiles(R"Cc1ccc(N)n(N)c1", printStereoWarnings=False) +smiles(R"C[C@]1(C=C[C@@](O)(C#C[C@]2(O)C=C[C@](C)(C=C2)C(Cl)(Cl)Cl)C=C1)C(Cl)(Cl)Cl", printStereoWarnings=False) +smiles(R"CC1(C)[C@@H]2CC[C@@]1(C)[C@@]1(OCCO1)C2", printStereoWarnings=False) +smiles(R"CC1(C)[C@@H]2CC[C@]3(OCCO3)[C@H]1[C@@H]1O[C@@H]21", printStereoWarnings=False) +smiles(R"CC1CCN2C(C1)C1CC(CCN1[Ru+2]132(n2ccccc2=c2ccccn12)n1ccccc1=c1ccccn31)Cc1c(F)c(F)c(c(F)c1F)c1c(F)c(F)c(NC2C3CC4CC(C3)CC2C4)c(F)c1F", printStereoWarnings=False) +smiles(R"CC1=CC(=[N+]2C(=S3[Pt@+2]42N1C(=S4[Pt@@+2]13S2=C(c3ccccc3)N3C(=CC(=[N+]4C(=S1[Pt@+2]234)c1ccccc1)C)C)c1ccccc1)c1ccccc1)C", printStereoWarnings=False) +smiles(R"CC1=CC(=[N+]2C(=S3[Pt@@+2]4(S5=C(c6ccccc6)N6C(=CC(=[N+]7C(=S4[Pt@@+2]567)c4ccccc4)C)C)S4=C(c5ccccc5)N1[Pt@+2]234)c1ccccc1)C", printStereoWarnings=False) +smiles(R"C[C@@]1(C)/C(=N\c2ccccc2)/[C@@](C)(C)/C/1=N/c1ccccc1", printStereoWarnings=False) +smiles(R"C[C@@]1(C)/C(=N\C2CCCCC2)/[C@@](C)(C)/C/1=N/C1CCCCC1", printStereoWarnings=False) +smiles(R"Cc1cc(N)c2nsnc2c1", printStereoWarnings=False) +smiles(R"Cc1cc[n+](cc1)[Pt+2]12[n+]3ccccc3c3cccc(=c4cccc[n+]14)[n+]23", printStereoWarnings=False) +smiles(R"Cc1cc[n+](cc1)[Pt+2]12[n+]3ccccc3c3cccc(c4cccc[n+]14)[n+]23", printStereoWarnings=False) +smiles(R"Cc1ccn(cc1)[Pt](ON(=O)O)(ON(=O)O)n1ccc(C)cc1", printStereoWarnings=False) +smiles(R"Cc1cc[n+](c(C)c1)C1=C(O)C(=O)C2=C([C@@H]3c4ccccc4[C@H]2c2ccccc32)C1=O", printStereoWarnings=False) +smiles(R"CC1(C)CNC(=NC1)N/N=C(\C=C\c1ccc(cc1)C(F)(F)F)/C=C/c1ccc(cc1)C(F)(F)F", printStereoWarnings=False) +smiles(R"CC1(C)/C(=N\Nc2ccccc2)/C(C)(C)/C/1=N\Nc1ccccc1", printStereoWarnings=False) +smiles(R"CC1=C/C(=N\N=C\2/C=C[C@](C)(C=C2)C(Cl)(Cl)Cl)/C=C[C@]1(C)C(Cl)(Cl)Cl", printStereoWarnings=False) +smiles(R"Cc1cc(O)c2c(c1)C(=O)[C@@]13C(=C(O)[C@@H]4[C@@H](O)[C@H]3[C@H]3[C@H](O)[C@@H]1C(=C1C(=O)c5c(O)cc(C)cc5C(=O)[C@]431)O)C2=O", printStereoWarnings=False) +smiles(R"Cc1cc(O)c2cc3ccc4c5c(ccc(c35)c2n1)cc1c(O)cc(C)nc41", printStereoWarnings=False) +smiles(R"Cc1cc(Oc2ccccc2)c2c(ccc3nc(C)cc(Oc4ccccc4)c23)n1", printStereoWarnings=False) +smiles(R"C[C@@]1(C)[C@@](O)(c2ccccc2)c2ccccc2[C@@]1(O)c1ccccc1", printStereoWarnings=False) +smiles(R"C[C@@]1(C)COC2(OC1)[C@H]1CC[C@]3(CS(=O)(=O)N=C23)C1(C)C", printStereoWarnings=False) +smiles(R"Cc1cc(O[C@H](C)C(=O)N[C@@]23C[C@H]4C[C@H](C[C@H](C4)C3)C2)c(C)c(C)c1", printStereoWarnings=False) +smiles(R"CC1(C)COC(=N1)[C@]12[C@@H]3[C@@H]4[C@H]1[C@@H]1[C@H]2[C@H]3[C@]41I", printStereoWarnings=False) +smiles(R"CC1[CH][CH]C2NC(SC2[CH]1)C1[CH][CH]C([CH][CH]1)N1ON1C1[CH][CH]C(/C=C/C2[CH][CH]C([CH]C2S(=O)(=O)O)N2ON2C2[CH][CH]C([CH][CH]2)C2NC3[CH][CH]C(C)[CH]C3S2)C([CH]1)S(=O)(=O)O", printStereoWarnings=False) +smiles(R"C[C@@]1(Cl)[C@H]2c3ccccc3[C@H](c3ccccc23)[C@]1(C)Cl", printStereoWarnings=False) +smiles(R"Cc1c(nn2cc(nnc12)c1ccccc1)c1ccccc1", printStereoWarnings=False) +smiles(R"CC1=C([N+](=O)[O-])[N+]([O-])ON1", printStereoWarnings=False) +smiles(R"CC1(C)O[C@@H]2[C@H]3O[C@](C)(C)O[C@@H]3[C@H]3OC(C)(C)O[C@H]3[C@H]2O1", printStereoWarnings=False) +smiles(R"C[C@]1(C)O[C@H]2CS(=O)(=O)C[C@H]2O1", printStereoWarnings=False) +smiles(R"C[C@]1(C)O[C@@H](CP(c2ccc3ccccc3c2)c2ccc3ccccc3c2)[C@H](CP(c2ccc3ccccc3c2)c2ccc3ccccc3c2)O1", printStereoWarnings=False) +smiles(R"C[C@@]1(C)O[C@H](CP(c2cccc3ccccc23)c2cccc3ccccc23)[C@H](CP(c2cccc3ccccc23)c2cccc3ccccc23)O1", printStereoWarnings=False) +smiles(R"C[C@]1(C)O[C@@H](CP(c2ccccc2)c2ccccc2)[C@@H](CP(c2ccccc2)c2ccccc2)O1", printStereoWarnings=False) +smiles(R"C[C@]1(C)O[C@@H](CP(c2ccccc2)c2ccccc2)[C@H](CP(c2ccccc2)c2ccccc2)O1", printStereoWarnings=False) +smiles(R"C[C@@]1(C)O[C@@H](CP(=O)(c2ccccc2)c2ccccc2)[C@@H](O1)CP(=O)(c1ccccc1)c1ccccc1", printStereoWarnings=False) +smiles(R"C[C-]1C(=[O+][Ru+3]23([O+]=C1C)([O+]=C(C)[C-](C)C(=[O+]2)C)[O+]=C(C)[C-](C)C(=[O+]3)C)C", printStereoWarnings=False) +smiles(R"Cc1cp(Cc2ccccc2)cc1C", printStereoWarnings=False) +smiles(R"Cc1cs/c(=N\C23C[C@H]4C[C@H](C[C@H](C4)C3)C2)/n1C(P(=O)(O)O)P(=O)(O)O", printStereoWarnings=False) +smiles(R"CC1(C)[SH+][Ni@@+2]23[SH+]C(C)(C)C[N@@+]43CCC[N@+]2(CCC4)C1", printStereoWarnings=False) +smiles(R"CC1=[N+]2[N-]C(=[S+][Ni]342([S+]=C([N-][N+]4=C(C)c2cccc[n+]32)N2C[C@@H]3CC[C@@H](CC3)C2)[n+]2ccccc12)N1C[C@@H]2CC[C@@H](CC2)C1", printStereoWarnings=False) +smiles(R"CC1=[N+]2[N-]C(=[S+][Ni]342([S+]=C([N-][N+]4=C(C)c2cccc[n+]32)N2C[C@@H]3CC[C@@H](CC3)C2)[n+]2ccccc12)N1C[C@H]2CC[C@H](CC2)C1", printStereoWarnings=False) +smiles(R"Cc1nc2c3ccccc3C(=O)c3nc4ccccc4c(c1)c23", printStereoWarnings=False) +smiles(R"Cc1nc2c3ncccc3C(=O)c3nc4ccccc4c(c1)c23", printStereoWarnings=False) +smiles(R"Cc1nc2cc3c(oc4ccccc34)cc2n2cccc12", printStereoWarnings=False) +smiles(R"Cc1nc2CCC=c3nc(C)c1n23", printStereoWarnings=False) +smiles(R"Cc1nc2ccccc2cc1C[N@@+]12CN3CN(CN(C3)C2)C1", printStereoWarnings=False) +smiles(R"Cc1nc2c(o1)/C(=N\c1ccccc1)/c1nc(C)oc1/C/2=N/c1ccccc1", printStereoWarnings=False) +smiles(R"Cc1nc(C)c2CCC(=O)N(Cc3ccc(cc3)c3ccccc3c3nn[nH]n3)c2n1", printStereoWarnings=False) +smiles(R"Cc1[nH]c(c2ccccc2)c(O)c1C(=O)O[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"Cc1nn(c(C)c1)c1ccc2nnnn2n1", printStereoWarnings=False) +smiles(R"Cc1nn(c(C(Cl)Cl)c1Cl)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"Cc1nnc(o1)C(CCN1[C@@H]2CC[C@H]1CC2)(c1ccccc1)c1ccccc1", printStereoWarnings=False) +smiles(R"Cc1n[nH]c2c(ncnc12)NC[C@@]12C3=C4C5=C1[Fe]16782345[C@H]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"Cc1nnnn1[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"CC1=NP(=NC(=C1)O)(O)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"C[C@@]1(O)c2cccc3c2C2(O)c4c1cccc4[C@](C)(O)c1cccc(c21)[C@]3(C)O", printStereoWarnings=False) +smiles(R"C[C@]1(O)[C@@](C)(O)[C@](C)(O)[C@]1(C)O", printStereoWarnings=False) +smiles(R"CC1=[O+][Co]23([O+]=C(C)[C@H]1I)([O+]=C(C)[C@@H](I)C(=[O+]2)C)[O+]=C(C)[C@@H](I)C(=[O+]3)C", printStereoWarnings=False) +smiles(R"CC1=[O+][Eu+3]234([O+]=C(C)[C-]1c1ccccc1)([O+]=C(C)[C-](c1ccccc1)C(=[O+]2)C)([O+]=C(C)[C-](c1ccccc1)C(=[O+]3)C)[O+]=C(C)[C-](c1ccccc1)C(=[O+]4)C", printStereoWarnings=False) +smiles(R"Cc1onc(C)c1/N=N/c1ccc2nonc2c1N", printStereoWarnings=False) +smiles(R"CC1=[O+][Pt@@+2]2([O+]=C(C)[CH-]1)N[C@@H]1CCCC[C@H]1N2", printStereoWarnings=False) +smiles(R"CC1=[O+][Pt@+2]2([O+]=C(C)[CH-]1)N[C@@H]1CCCC[C@H]1N2", printStereoWarnings=False) +smiles(R"CC1=[O+][Pt](Cl)([O+]=C(C)C1)[C@@H]1C(=[O+][Ga]23([O+]=C1C)([O+]=C(C)[C@H](C(=[O+]2)C)[Pt]1(Cl)[O+]=C(C)CC(=[O+]1)C)[O+]=C(C)[C@@H](C(=[O+]3)C)[Pt]1(Cl)[O+]=C(C)CC(=[O+]1)C)C", printStereoWarnings=False) +smiles(R"CC1=[O+][Rh]23([O+]=C(C)C1)([O+]=C(C)[C@H](Cl)C(=[O+]2)C)[O+]=C(C)[C@H](Cl)C(=[O+]3)C", printStereoWarnings=False) +smiles(R"CC1=[O+][Rh]23([O+]=C(C)[C@H]1Br)([O+]=C(C)[C@@H](Br)C(=[O+]2)C)[O+]=C(C)[C@@H](Br)C(=[O+]3)C", printStereoWarnings=False) +smiles(R"CC1=[O+][Ru+3]23([O+]=C(C)[C-]1Br)([O+]=C(C)[C-](Br)C(=[O+]2)C)[O+]=C(C)[C-](Br)C(=[O+]3)C", printStereoWarnings=False) +smiles(R"CC1=[O+][Ru+3]23([O+]=C(C)[C-]1Cl)([O+]=C(C)[C-](Cl)C(=[O+]2)C)[O+]=C(C)[C-](Cl)C(=[O+]3)C", printStereoWarnings=False) +smiles(R"CC1=[O+][Ru+3]23([O+]=C(C)[C-]1C)([O+]=C(C)[C-](C)C(=[O+]2)C)[O+]=C(C)[C-](C)C(=[O+]3)C", printStereoWarnings=False) +smiles(R"CC1=[O+][Ru+3]23([O+]=C(C)[C-]1I)([O+]=C(C)[C-](I)C(=[O+]2)C)[O+]=C(C)[C-](I)C(=[O+]3)C", printStereoWarnings=False) +smiles(R"Cc1sc2nc3sn4c(=O)c5c(nc4n3c(=O)c2c1C)sc(C)c5C", printStereoWarnings=False) +smiles(R"C[C@]1(S[C@@](S[C@@](C)(S1)c1ccccc1)(c1ccccc1)c1ccccc1)c1ccccc1", printStereoWarnings=False) +smiles(R"C(C[C@]12C3=C4C5=C1[Fe]16782345[C@@H]2C7=C6C1=C82)[C@@]12C3=C4C5=C1[Fe]16782345[C@H]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"C=C[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"C=C[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"C=C[C@]12CC(=O)N3CCc4ccccc4[C@@]3(C1)C2", printStereoWarnings=False) +smiles(R"CC[C@@]12O[C@]3(CC)[C@@H]4OC(=O)[C@H]2[C@@]2(CC)O[C@]4(CC)[C@@H]3OC(=O)[C@@H]12", printStereoWarnings=False) +smiles(R"CC[C@@]1(c2ccccc2)[C@H]2C(=O)NC(=O)[C@@H]1C(=O)NC2=O", printStereoWarnings=False) +smiles(R"CCc1ccccc1[C@H](C(=O)N[C@H]1CN2CC[C@H]1CC2)c1ccsc1", printStereoWarnings=False) +smiles(R"C#Cc1cccc(c1)N1C(=O)[C@H]2[C@H]3C=C[C@@H]([C@H]2C1=O)[C@H]1C(=O)N(c2cccc(C#C)c2)C(=O)[C@@H]31", printStereoWarnings=False) +smiles(R"CCc1cccc(C)c1NC(=O)CCc1nnc2s/c(=C/c3cccc4ccccc34)/c(=O)n12", printStereoWarnings=False) +smiles(R"CCc1cccc(CC)c1N1C(=O)[C@H]2[C@H](C1=O)[C@]1(Cl)C(=C(Cl)[C@@]2(Cl)[C@]1(Cl)Cl)Cl", printStereoWarnings=False) +smiles(R"CC[C@]1(CCC(C)C)C(=O)N(c2ccccc2)/C(=N)/N(c2ccccc2)C1=O", printStereoWarnings=False) +smiles(R"CCc1ccccn1N", printStereoWarnings=False) +smiles(R"CCc1ccc(C)n(N)c1", printStereoWarnings=False) +smiles(R"C=C[C@@]1(CC[C@H](CC1)C(C)(C)C)NS(=O)(=O)c1ccc(C)cc1", printStereoWarnings=False) +smiles(R"CC[C@@]1(C)CC(=O)N(C/C=C(/C)\CCC=C(C)C)C(=O)C1", printStereoWarnings=False) +smiles(R"CC[C@@]1(C)CC(=O)N(C/C=C(/C)\CCC(=O)O)C(=O)C1", printStereoWarnings=False) +smiles(R"CC[C@]1(CC)COP(=O)(OCCN2C(=O)[C@@H]3[C@@H]4C=C[C@@H](C4)[C@H]3C2=O)OC1", printStereoWarnings=False) +smiles(R"CC[C@@]1(C)CO[C@@](C)(OC1)Cc1ccccc1", printStereoWarnings=False) +smiles(R"CC[C@]1(C)CO[C@@H](/C=C/c2ccccc2)OC1", printStereoWarnings=False) +smiles(R"CC[C@@]1(CC)O[C@@H]([C@H](O)CCc2ccccc2O)[C@@H](O1)[C@H](O)CCc1ccccc1O", printStereoWarnings=False) +smiles(R"CC(=C1[C@H]2CC[C@H](CC2)[C@]21CCC1=C(C2)[C@@H]2CC[C@H]1CC2)C", printStereoWarnings=False) +smiles(R"C/C=C\1/[C@@H](C(=O)O)[C@@H]1C(=O)O", printStereoWarnings=False) +smiles(R"CC[C@]1(C)O[C@@H](C)[C@H](C)O1", printStereoWarnings=False) +smiles(R"CCc1nnc2sc3c(nn12)c(Cl)c1sc2nnc(CC)n2nc1c3Cl", printStereoWarnings=False) +smiles(R"C=Cc1nnnn1[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"CCc1nnnn1[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"CC[C@]1(O)[C@]2(CCCC=C2)NC(=O)[C@@]21CCCCC2", printStereoWarnings=False) +smiles(R"C#C[C@@]1(O)CCCC2=C[C@]3(SCCS3)CC[C@]12C", printStereoWarnings=False) +smiles(R"C#C[C@]1(O)CCC[C@@H]2C[C@]3(OCCO3)CC[C@@]12C", printStereoWarnings=False) +smiles(R"C#C[C@@]1(O)C[C@@H](c2ccccc2)N(C)[C@@H](C1)c1ccccc1", printStereoWarnings=False) +smiles(R"CC[C@@]1(O)C[C@@H](c2ccccc2)N(C)[C@@H](C1)c1ccccc1", printStereoWarnings=False) +smiles(R"CC[C@]1(O[C@@H](C)[C@H](C)O1)c1ccccc1", printStereoWarnings=False) +smiles(R"CC(=C)[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"CC(=C)[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"CCC[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"CCC[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"CC(C)[C@@]12C3=C4C5=C1[Zr]16782345(Cl)(Cl)C2=C7[C@]8(C(C)C)C6=C12", printStereoWarnings=False) +smiles(R"CC(C)C12=C3C4=C5C6=C1[Cr]1789%1023456C2=C7C9=C%10(C(C)C)C8=C12", printStereoWarnings=False) +smiles(R"CC(C)[C@]12Cc3c(ccc4ccccc34)O[C@@]2(C)Oc2ccc3ccccc3c2C1", printStereoWarnings=False) +smiles(R"C=CC[C@@]12C[C@H](C=C[C@]32OCCO3)O[C@@H](O)[C@H]1C", printStereoWarnings=False) +smiles(R"C=CC[C@@]12C[C@H](C=C[C@]32OCCO3)OC(=O)[C@H]1C", printStereoWarnings=False) +smiles(R"CCC[C@@]1(c2ccccc2)[C@H]2C(=O)NC(=O)[C@@H]1C(=O)NC2=O", printStereoWarnings=False) +smiles(R"CCC[C@@]1(c2ccccc2)[C@H](C#N)C(=O)NC(=O)[C@H]1C#N", printStereoWarnings=False) +smiles(R"C=CCc1cccc2cc(C(=O)Nc3scc(n3)[C@]34C[C@@H]5C[C@@H](C[C@@H](C5)C4)C3)c(=O)oc12", printStereoWarnings=False) +smiles(R"CC(C)c1ccc(cc1)/C=C(\SS/C(=C/c1ccc(cc1)C(C)C)/C(=O)N)/C(=O)N", printStereoWarnings=False) +smiles(R"CC(C)c1ccc(cc1)[C@@H]1[C@H]2CCN1CC2", printStereoWarnings=False) +smiles(R"C/C(=C\c1ccccc1)/C=N/NC(=S)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"C=CC[C@@]1(CC=CC[C@]21OCCO2)CC(=O)O", printStereoWarnings=False) +smiles(R"CC(C)c1ccc(C)c(c1)N1C(=O)[C@@H]2[C@@H](C1=O)[C@]1(Cl)C(=C(Cl)[C@@]2(Cl)[C@@]1(Cl)Cl)Cl", printStereoWarnings=False) +smiles(R"CC(C)c1ccc(/C=C/CN2CC[C@@](O)(CC2)c2ccccc2)cc1", printStereoWarnings=False) +smiles(R"C/C=C/[C@@]1(/C=C\C)C(=O)OC(=O)[C@]1(/C=C/C)/C=C/C", printStereoWarnings=False) +smiles(R"CC(C)c1cc([C@@H]2O[Cu+2]34([O-])O[C@H](O[Cu+2]([O-])(O2)([OH+][C@@H]([OH+]3)c2cc(cc(C(C)C)c2O)C(C)C)[OH+][C@H]([OH+]4)c2cc(cc(C(C)C)c2O)C(C)C)c2cc(cc(C(C)C)c2O)C(C)C)c(O)c(c1)C(C)C", printStereoWarnings=False) +smiles(R"CC(C)c1cc([C@H]2O[Cu+2]34([O-])O[C@@H](O[Cu+2]([O-])(O2)([OH+][C@@H]([OH+]3)c2cc(cc(C(C)C)c2O)C(C)C)[OH+][C@H]([OH+]4)c2cc(cc(C(C)C)c2O)C(C)C)c2cc(cc(C(C)C)c2O)C(C)C)c(O)c(c1)C(C)C", printStereoWarnings=False) +smiles(R"CCC[C@]1(CC)C(=O)N/C(=N)/NC1=O", printStereoWarnings=False) +smiles(R"CCC[C@@]1(C)CO[C@](C)(OC1)c1ccc(Cl)cc1", printStereoWarnings=False) +smiles(R"CCC[C@]1(C)CO[C@@H](/C=C/c2ccccc2)OC1", printStereoWarnings=False) +smiles(R"CCC[C@]1(C)CO[C@@H](OC1)c1ccc(Cl)cc1", printStereoWarnings=False) +smiles(R"CCC[C@]1(C)CO[C@@H](OC1)Cc1ccccc1", printStereoWarnings=False) +smiles(R"CCCC1(CN[C@]23C[C@@H]4C[C@@H](C[C@@H](C4)C3)C2)C(=O)N(c2ccccc2)N(c2ccccc2)C1=O", printStereoWarnings=False) +smiles(R"CC(C)c1nnnn1[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"CCCc1nnnn1[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"CC(C)(C)[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"CC(C)(C)[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"CC(C)Cc1ccc(cc1)C[N@+]12CN3CN(CN(C3)C2)C1", printStereoWarnings=False) +smiles(R"C/C=C/C[C@]1(C/C=C/C)C(=O)NC(=O)NC1=O", printStereoWarnings=False) +smiles(R"CCCC[C@]1(CC)CO[C@@](C)(CCc2ccc(OC)cc2)OC1", printStereoWarnings=False) +smiles(R"CCCC[C@]1(CC)CO[C@](CC)(OC1)c1ccccc1", printStereoWarnings=False) +smiles(R"CCCC[C@]1(CC)CO[C@@](C)(OC1)c1ccccc1", printStereoWarnings=False) +smiles(R"CCCC[C@@]1(CC)CO[C@](C)(OC1)Cc1ccccc1", printStereoWarnings=False) +smiles(R"CCCC[C@@]1(CC)CO[C@H](/C=C/c2ccccc2)OC1", printStereoWarnings=False) +smiles(R"CCCC[C@]1(CC)CO[C@H](OC1)c1ccc2OCOc2c1", printStereoWarnings=False) +smiles(R"CCCC[C@@]1(CC)CO[C@H](OC1)c1ccccc1", printStereoWarnings=False) +smiles(R"CCCC[C@]1(CC)CO[C@H](OC1)c1ccc(O)c(OC)c1", printStereoWarnings=False) +smiles(R"CCCC[C@@]1(CC)CO[C@H](OC1)[C@@H]1CCC=CC1", printStereoWarnings=False) +smiles(R"CCCC[C@]1(CC)CO[C@H](OC1)[C@H](C)c1ccccc1", printStereoWarnings=False) +smiles(R"CCCC[C@]1(CCO)C(=O)N/C(=N)/NC1=O", printStereoWarnings=False) +smiles(R"CCCCC1=C(C(=O)N2CCOCC2)[C@@]2(OCCO2)[C@@H]1Cl", printStereoWarnings=False) +smiles(R"C=CCC[C@]1(C)O[C@H](C)[C@@H](C)O1", printStereoWarnings=False) +smiles(R"CC(C)(C)c1nc2ccccc2p1c1ccccc1", printStereoWarnings=False) +smiles(R"CCCC[C@@]1(O)[C@@]2(CCCCC2)NC(=O)[C@@]21CCCCC2", printStereoWarnings=False) +smiles(R"CC/C=C(\C)/[C@@]1(CC)C(=O)N/C(=N)/NC1=O", printStereoWarnings=False) +smiles(R"CCCCC[C@@]1(CCO)C(=O)N/C(=N)/NC1=O", printStereoWarnings=False) +smiles(R"CCCCC[C@]1(C)OC[C@](CC)(CCCC)CO1", printStereoWarnings=False) +smiles(R"CCCCC[C@]1(C)O[C@@H](C)[C@H](C)O1", printStereoWarnings=False) +smiles(R"CC(C)(C(C)(C)[C@]12C3=C4C5=C1[Fe]16782345C2=C7C6=C1[C@@H]82)[C@]12C3=C4C5=C1[Fe]16782345C2=C7C6=C1[C@H]82", printStereoWarnings=False) +smiles(R"C/C=C/C(C)(C)[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"C/C=C/C(C)(C)[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"CC(C)C(C)(C)[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"CC(C)C(C)(C)[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"CCCCCCc1cc2cc(C(=O)Nc3scc(n3)[C@]34C[C@@H]5C[C@@H](C[C@@H](C5)C4)C3)c(=O)oc2cc1O", printStereoWarnings=False) +smiles(R"CCCCCCC1(/C=C/c2ccc(Cl)c(Cl)c2)OC[C@](C)(C)CO1", printStereoWarnings=False) +smiles(R"CCCCCC[C@]1(C)OC[C@@](CC)(CCCC)CO1", printStereoWarnings=False) +smiles(R"CCCCCC[C@]1(C)O[C@@H](C)[C@H](C)O1", printStereoWarnings=False) +smiles(R"CCCCC/C(=C\c1ccccc1)/C=N/NC(=S)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"CCC/C=C/C=C\[C@]1(CC[C@H](CC1)C(C)(C)C)NS(=O)(=O)c1ccc(C)cc1", printStereoWarnings=False) +smiles(R"CCCCCCC[C@]1(C)O[C@@H](C)[C@H](C)O1", printStereoWarnings=False) +smiles(R"CC(=CCC/C(=C\c1nnc2n[nH]c(=S)n2n1)/C)C", printStereoWarnings=False) +smiles(R"CCCCCCCCCc1ccc(OCCOCCOCCOCCOCCOCCOCCCS(=O)(=O)[OH+][Pt@+2]2(N[C@@H]3CCCC[C@@H]3N2)[OH+]S(=O)(=O)CCCOCCOCCOCCOCCOCCOCCOc2ccc(CCCCCCCCC)cc2)cc1", printStereoWarnings=False) +smiles(R"CCCCCCCCCc1cc[n+](cc1)C1=C(O)C(=O)C2=C([C@H]3c4ccccc4[C@@H]2c2ccccc32)C1=O", printStereoWarnings=False) +smiles(R"CC/C=C(\CC)/C(=C\CC)/CC", printStereoWarnings=False) +smiles(R"CCCCCCCCCCCc1c2[nH]c3cc(C)ccc3oc2cc2[nH]c3cc(C)ccc3oc12", printStereoWarnings=False) +smiles(R"CCCCCCCCCCCc1c(=O)c2oc3c(=O)c(CCCCCCCCCCC)c(O)c(=O)c3n(c3ccc(cc3)N(C)C)c2c(=O)c1O", printStereoWarnings=False) +smiles(R"C/C(=C\C(C)(C)C)/C(=C\C(C)(C)C)/C", printStereoWarnings=False) +smiles(R"CCCCCCCCCCCCCCCC[C@-]12C3=C4C5=C1[Fe+2]16782345C2=C7[C@@-]8(CCCCCCCCCCCCCCCC)C6=C12", printStereoWarnings=False) +smiles(R"CCCCCCCCCCCCCCCC[C@@-]12C3=C4C5=C1[Fe+2]16782345C2=C7[C@@-]8(CCCCCCCCCCCCCCCC)C6=C12", printStereoWarnings=False) +smiles(R"CCCCCCCCCCCCCCCCCCN1C(=O)[C@H]2[C@H](C1=O)[C@]1(Cl)C(=C(Cl)[C@@]2(Cl)[C@@]1(Cl)Cl)Cl", printStereoWarnings=False) +smiles(R"CCCCCCCCCCCCCCCCCCNC(=O)[C@-]12C3=C4C5=C1[Fe+2]16782345C2=C7C6=C1[C-]82", printStereoWarnings=False) +smiles(R"CCCCCCCCCCCCCCCCCCNC(=O)[C@@-]12C3=C4C5=C1[Fe+2]16782345C2=C7C6=C1[C-]82", printStereoWarnings=False) +smiles(R"CCCCCCCCCCCCCCCCCCOC(=O)[C@H](C(=O)C)[C@@H](c1cccc(c1)[N+](=O)[O-])[C@@H](C(=O)C)C(=O)OCCCCCCCCCCCCCCCCCC", printStereoWarnings=False) +smiles(R"CCCCCCCCCCCCCCCCCCOC(=O)[C@H](C(=O)C)[C@H](c1cccc(c1)[N+](=O)[O-])[C@@H](C(=O)C)C(=O)OCCCCCCCCCCCCCCCCCC", printStereoWarnings=False) # smiles(R"CCCCCCCCCCCCCCCCCCOc1ccc2C3=NC4=NC(=NC5=NC(=NC6=NC(=NC(=N3)c2c1)c1cc(OCCCCCCCCCCCCCCCCCC)ccc61)c1ccc(OCCCCCCCCCCCCCCCCCC)cc51)c1cc(OCCCCCCCCCCCCCCCCCC)ccc41", printStereoWarnings=False) +smiles(R"CCCCCCCC/C=C/CCCCCCCC(=O)N1CC[C@@H](CCCc2ccccc2)CC1", printStereoWarnings=False) +smiles(R"CCCCCCCC/C=C/CCCCCCCC(=O)OC[C@H](COC(=O)CCCCCCC/C=C/CCCCCCCC)OC(=O)N(CCCl)CCCl", printStereoWarnings=False) +smiles(R"CCCC/C=C/C=C/C=C/CCCCCCCC(=O)O[C@H](COC(=O)CCCCCCC/C=C/[C@@H]1C=C[C@@H](CCCC)[C@H](C(=O)O)[C@H]1C(=O)O)COC(=O)CCCCCCC/C=C/[C@@H]1C=C[C@@H](CCCC)[C@H](C(=O)O)[C@H]1C(=O)O", printStereoWarnings=False) +smiles(R"CCCCCCCCCCCCCCCCCCSC[C@@]12[C@H](COS(=O)(=O)O)[C@@H](COS(=O)(=O)O)[C@@H](c3ccccc13)c1ccccc21", printStereoWarnings=False) +smiles(R"CCCCCCCCCCCCCCCC[C@H]1CCC[C@@]2(CCCC2)C1", printStereoWarnings=False) +smiles(R"CCCCCCCCCCCCCCCC[C@@H]1C[C@@H]2CCCC[C@H]2C1", printStereoWarnings=False) +smiles(R"CCCCCCCCCCCCCCCCN1C(=O)[C@@H]2[C@H](C1=O)[C@@]1(Cl)C(=C(Cl)[C@]2(Cl)[C@@]1(Cl)Cl)Cl", printStereoWarnings=False) +smiles(R"CCCCCCCCCCCCCCCC(=O)[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"CCCCCCCCCCCCCCCC(=O)[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"CCCCCCCCCCCCCCCC(=O)[C@@-]12C3=C4C5=C1[Fe+2]16782345C2=C7[C@-]8(C(=O)CCCCCCCCCCCCCCC)C6=C12", printStereoWarnings=False) +smiles(R"CCCCCCCCCCCCCCCC(=O)[C@@-]12C3=C4C5=C1[Fe+2]16782345C2=C7[C@@-]8(C(=O)CCCCCCCCCCCCCCC)C6=C12", printStereoWarnings=False) +smiles(R"CCCCCCCCCCCCCCCC(=O)N(CCCN(C)C)[C@@H]1CC[C@H](CC1)N(CCCN(C)C)C(=O)CCCCCCCCCCCCCCC", printStereoWarnings=False) +smiles(R"CCCCCCCCCCCCCCCC(=O)N(CCCN(C)C)[C@H]1CC[C@@H](CC1)N(CCCN(C)C)C(=O)CCCCCCCCCCCCCCC", printStereoWarnings=False) +smiles(R"CC(C)CCCCCCCCCCCCC(=O)NCC(=O)N[C@H]1[C@H](O)[C@H](O)[C@@H](Nc2ncnc3[nH]cnc23)[C@@H](O)[C@H]1O", printStereoWarnings=False) +smiles(R"CCCCCCCCCCCCCCCCS(=O)C[C@@H](O)COC(=O)c1ccc(cc1)C(=O)OC[C@@H](O)CS(=O)CCCCCCCCCCCCCCCC", printStereoWarnings=False) +smiles(R"CCCCCCCCCCCCC[C@H]1O[C@@H](CCCCCCCCCCCCC)O[C@@H](CCCCCCCCCCCCC)O1", printStereoWarnings=False) +smiles(R"C/C(=C\C=C\C=C(\C)/C=C\C=C(/C)\C(=O)O)/C=C/C=C(\C)/C(=O)O", printStereoWarnings=False) +smiles(R"CCCCCCCCCCCCC(=O)[C@@-]12C3=C4C5=C1[Fe+2]16782345C2=C7[C@-]8(C(=O)CCCCCCCCCCCC)C6=C12", printStereoWarnings=False) +smiles(R"CCCCCCCCCCCCC(=O)[C@@-]12C3=C4C5=C1[Fe+2]16782345C2=C7[C@@-]8(C(=O)CCCCCCCCCCCC)C6=C12", printStereoWarnings=False) +smiles(R"CCCCCCCCCCC[C@H]([C@H]1CC[C@H](C)CC1)[C@H]1CC[C@H](C)CC1", printStereoWarnings=False) +smiles(R"CCCCCCCCCCCCN1C(=O)[C@@H]2[C@H](C1=O)[C@@]1(Cl)C(=C(Cl)[C@]2(Cl)[C@@]1(Cl)Cl)Cl", printStereoWarnings=False) +smiles(R"CCCCCCCCCCCC(=O)[C@-]12C3=C4C5=C1[Fe+2]16782345C2=C7[C@-]8(C(=O)CCCCCCCCCCC)C6=C12", printStereoWarnings=False) +smiles(R"CCCCCCCCCCCC(=O)[C@-]12C3=C4C5=C1[Fe+2]16782345C2=C7[C@@-]8(C(=O)CCCCCCCCCCC)C6=C12", printStereoWarnings=False) +smiles(R"CCCCCCCCCCCC[Si](CCCCCCCCCCCC)(CCCCCCCCCCCC)[C@-]12C3=C4C5=C1[Fe+2]16782345C2=C7[C@-]8(C6=C12)[Si](CCCCCCCCCCCC)(CCCCCCCCCCCC)CCCCCCCCCCCC", printStereoWarnings=False) +smiles(R"CCCCCCCCCCCC[Si](CCCCCCCCCCCC)(CCCCCCCCCCCC)[C@@-]12C3=C4C5=C1[Fe+2]16782345C2=C7[C@@-]8(C6=C12)[Si](CCCCCCCCCCCC)(CCCCCCCCCCCC)CCCCCCCCCCCC", printStereoWarnings=False) +smiles(R"CCCCCCCCCC[C@@H]1CC[C@@H](CCCCCCCCCC)CC1", printStereoWarnings=False) +smiles(R"C=CCCCCCCCC[C@@H]1OC[C@@](CC)(CCCC)CO1", printStereoWarnings=False) +smiles(R"CCCCCCCCCC[C@@H]1OC[C@](CC)(CCCC)CO1", printStereoWarnings=False) +smiles(R"C=CCCCCCCCC[C@H]1O[C@H](C)C[C@@H](C)O1", printStereoWarnings=False) +smiles(R"CCCCCCCCCC[C@H]1O[C@@H](C)C[C@H](C)O1", printStereoWarnings=False) +smiles(R"CCCCCCCCC[C@@H]1OC[C@@](CC)(CCCC)CO1", printStereoWarnings=False) +smiles(R"CCCCCCCCC[C@H]1OC[C@@](C)(CCC)CO1", printStereoWarnings=False) +smiles(R"CCCCCCCCC[C@@H]1OC[C@@](C)(CC)CO1", printStereoWarnings=False) +smiles(R"CCCCCCCCC[C@H]1O[C@H](CCCCCCCCC)O[C@@H](CCCCCCCCC)O1", printStereoWarnings=False) +smiles(R"CCCCCCCCCC(=O)NNC(=O)[C@@H](C)[C@@H](O)[C@H](C)C(=O)NNC(=O)CCCCCCCCC", printStereoWarnings=False) +smiles(R"CCCCCCCCCC(=O)O[C@@H](CC[C@@H]1CCCO1)CC[C@@H]1CCCO1", printStereoWarnings=False) +smiles(R"CCCCCCCC[C@@H]1[C@H](CCCCCCCC(=O)N2C[C@@H]3CC[C@@H](CC3)C2)[C@]2(Cl)C(=C(Cl)[C@@]1(Cl)C2(Cl)Cl)Cl", printStereoWarnings=False) +smiles(R"CCCCCCCC[C@H]1OC[C@](CC)(CCCC)CO1", printStereoWarnings=False) +smiles(R"CCCCCCCC[C@@H]1OC[C@](C)(CCC)CO1", printStereoWarnings=False) +smiles(R"CCCCCCCC[C@H]1OC[C@@](C)(CC)CO1", printStereoWarnings=False) +smiles(R"CCCCCCCC[C@H]1O[C@@H](C)[C@H](C)O1", printStereoWarnings=False) +smiles(R"CCCCCCCCCN1C(=O)[C@@H]2[C@H](C1=O)[C@@]1(Cl)C(=C(Cl)[C@]2(Cl)[C@@]1(Cl)Cl)Cl", printStereoWarnings=False) +smiles(R"CC(=CCC/C(=C\[C@H]1O[C@H](C)[C@@H](C)O1)/C)C", printStereoWarnings=False) +smiles(R"CCCCCCCC[N@@+]12CN3CN(CN(C3)C2)C1", printStereoWarnings=False) +smiles(R"CCCCCCCCN1C(=O)[C@@H]2[C@H](C1=O)[C@@]1(Cl)C(=C(Cl)[C@]2(Cl)[C@@]1(Cl)Cl)Cl", printStereoWarnings=False) +smiles(R"CCCCCCCCn1nnnc1c1nnn(C)n1", printStereoWarnings=False) +smiles(R"CCCCCCCCN[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"CCCCCCCCN(N)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"CCCCCCCCN(/N=C/c1c2NC(=O)C(=CC=C[C@@H](C)[C@@H](O)[C@H](C)[C@@H](O)[C@H](C)[C@H](OC(=O)C)[C@H](C)[C@H](OC)C=CO[C@]3(C)Oc4c(C)c(O)c(c2O)c(c1O)c4C3=O)C)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"CCCCCC(C)(C)N/[P@@H](/O)=N\C(C)(C)CCCCC", printStereoWarnings=False) +smiles(R"CCCCCCCC(=O)N[C@H]1CC[C@@H](CC1)C(C)(C)C", printStereoWarnings=False) +smiles(R"C/C=C/[C@@](/C=C/C)(C(=O)OCCN(CC)CC)[C@@](/C=C/C)(/C=C/C)C(=O)OCCN(CC)CC", printStereoWarnings=False) +smiles(R"C/C=C/[C@@](/C=C\C)(C(=O)OCCN(C)C)[C@@](/C=C/C)(/C=C/C)C(=O)OCCN(C)C", printStereoWarnings=False) +smiles(R"CCCCCCCC(=O)O[C@H]1CC[C@H](CC1)C1CCCCC1", printStereoWarnings=False) +smiles(R"C/C=C/[C@@](/C=C\C)(C(=O)O[C@H](C)CN(C)C)[C@@](/C=C/C)(/C=C/C)C(=O)O[C@H](C)CN(C)C", printStereoWarnings=False) +smiles(R"CCCCCCCC(=O)OCn1ccc(cc1)c1c(COC(=O)NC(C)C)c(COC(=O)NC(C)C)c2CCCn12", printStereoWarnings=False) +smiles(R"CCCCCCCC(=O)OCn1cccc(c1)c1c(COC(=O)NC(C)C)c(COC(=O)NC(C)C)c2CCCn12", printStereoWarnings=False) +smiles(R"CCCCCCCC[S+](c1ncnc2[nH]cnc12)[Pd@@](Cl)([S+](CCCCCCCC)c1ncnc2[nH]cnc12)[S+](CCCCCCCC)c1ncnc2[nH]cnc12", printStereoWarnings=False) +smiles(R"CCCCCC[C@@H]1[C@@H](C#N)C(=O)NC(=O)[C@@H]1C#N", printStereoWarnings=False) +smiles(R"CCCCCC[C@@H]1N(CCCN1[C@H](C#N)c1ccccc1)[C@H](C#N)c1ccccc1", printStereoWarnings=False) +smiles(R"CCCCCC[C@@H]1OC[C@](CC)(CCCC)CO1", printStereoWarnings=False) +smiles(R"CC(C)CCC[C@@H](C)[C@@H]1CC[C@@H]2[C@@H]3CC[C@@H]4Cc5nc6C[C@@]7(C)[C@@H](CC[C@H]8[C@@H]7CC[C@]7(C)[C@H](CC[C@@H]87)[C@H](C)CCCC(C)C)Cc6nc5C[C@@]4(C)[C@@H]3CC[C@@]12C", printStereoWarnings=False) +smiles(R"CCCCCCCN1C(=O)[C@@H]2[C@H](C1=O)[C@]1(Cl)C(=C(Cl)[C@@]2(Cl)[C@]1(Cl)Cl)Cl", printStereoWarnings=False) +smiles(R"CCCCCCC(=O)C/C(=N\NC(=S)N)/C(=O)N[C@@H]1[C@H]2C[C@@H]3C[C@H](C2)C[C@H]1C3", printStereoWarnings=False) +smiles(R"CCCC/C=C/[C@@](O)(C(=O)O[C@H]1CN2CC[C@@H]1CC2)c1ccccc1", printStereoWarnings=False) +smiles(R"CCCCCCC(=O)OCn1ccc2c(C)c3[nH]c4ccccc4c3c(C)c2c1", printStereoWarnings=False) +smiles(R"CCCCCCC(=O)OCn1ccc2c(C)c3[nH]c4ccc(OC)cc4c3c(C)c2c1", printStereoWarnings=False) +smiles(R"CCCCCCC(=O)OCn1ccc(cc1)c1c(COC(=O)NC(C)C)c(COC(=O)NC(C)C)c2CCCn12", printStereoWarnings=False) +smiles(R"CCCCCCC(=O)OCn1cccc(c1)c1c(COC(=O)NC(C)C)c(COC(=O)NC(C)C)c2CCCn12", printStereoWarnings=False) +smiles(R"CCCCC[C@@H]1CC[C@H](CC1)OC(=O)C", printStereoWarnings=False) +smiles(R"CCCCC[C@H]1CC[C@@H](CC1)OC(=O)C", printStereoWarnings=False) +smiles(R"CCCCC[C@H]1CC[C@@H](CC1)OC(=O)NC", printStereoWarnings=False) +smiles(R"CCC(CC)([C@@H]1CC[C@@H](O)CC1)[C@@H]1CC[C@@H](O)CC1", printStereoWarnings=False) +smiles(R"CCCCC[C@H]1[C@@H]2C(=O)NC(=O)[C@H]1C(=O)NC2=O", printStereoWarnings=False) +smiles(R"CCC(CC)[C@H]1N[C@@H](C(CC)CC)N2N1[C@@H]2C(CC)CC", printStereoWarnings=False) +smiles(R"CCC(CC)[C@H]1OC[C@H](O)CO1", printStereoWarnings=False) +smiles(R"CCCCC[C@H]1O[C@@H](CCCCC)O[C@@H](CCCCC)O1", printStereoWarnings=False) +smiles(R"CCCCC[C@H]([C@@H]1SC(=S)NC1=O)[C@@H]1SC(=S)NC1=O", printStereoWarnings=False) +smiles(R"C/C=C/C=C/[C@H](O)CC(=O)N1O[C@@]2(C)c3ccccc3[C@]1(C)c1ccccc21", printStereoWarnings=False) +smiles(R"CCCCCCN(C)[C@@]12CN3CN(CN(C3)C2)C1", printStereoWarnings=False) +smiles(R"CCCCCC(=O)[C@-]12C3=C4C5=C1[Fe+2]16782345C2=C7[C@-]8(C(=O)CCCCC)C6=C12", printStereoWarnings=False) +smiles(R"CCCCCC(=O)[C@@-]12C3=C4C5=C1[Fe+2]16782345C2=C7[C@-]8(C(=O)CCCCC)C6=C12", printStereoWarnings=False) +smiles(R"CCCCCCOc1ccc2c(no[n+]2[O-])c1", printStereoWarnings=False) +smiles(R"CCCCCCOc1ccc2c(NO[N+]2[O-])c1", printStereoWarnings=False) +smiles(R"CC(C)C#C[C@@](O)(C1CCCC1)C(=O)O[C@@H]1[C@@H]2CCN(CC2)[C@H]1C", printStereoWarnings=False) +smiles(R"CC(C)/C=C\[C@](O)(C1CCCC1)C(=O)O[C@@H]1CN2CC[C@@H]1CC2", printStereoWarnings=False) +smiles(R"CCCC#C[C@@](O)(C1CCCC1)C(=O)O[C@@H]1CN2CC[C@H]1CC2", printStereoWarnings=False) +smiles(R"CC(=C)C#C[C@@](O)(C1CCCCC1)C(=O)O[C@H]1CN2CC[C@H]1CC2", printStereoWarnings=False) +smiles(R"CCCC#C[C@@](O)(C1CCCCC1)C(=O)O[C@H]1CN2CC[C@@H]1CC2", printStereoWarnings=False) +smiles(R"CC(=C)C#C[C@@](O)(C(C)C)C(=O)O[C@@H]1CN2CC[C@@H]1CC2", printStereoWarnings=False) +smiles(R"CC(=C)C#C[C@](O)(C(=O)O[C@H]1[C@@H]2CCN(CC2)[C@H]1C)c1ccccc1", printStereoWarnings=False) +smiles(R"CCCCCC(=O)O[C@@H]1CC[C@H](CC1)C1CCCCC1", printStereoWarnings=False) +smiles(R"CCCCCC(=O)O[C@H](CC[C@@H]1CCCO1)CC[C@@H]1CCCO1", printStereoWarnings=False) +smiles(R"CCCCCC(=O)OCn1ccc2c(C)c3[nH]c4ccccc4c3c(C)c2c1", printStereoWarnings=False) +smiles(R"CCCCCC(=O)OCn1ccc2c(C)c3[nH]c4ccc(OC)cc4c3c(C)c2c1", printStereoWarnings=False) +smiles(R"CCCCCC(=O)OCn1ccc(cc1)c1c(COC(=O)NC(C)C)c(COC(=O)NC(C)C)c2CCCn12", printStereoWarnings=False) +smiles(R"CCCCCC(=O)OCn1cccc(c1)c1c(COC(=O)NC(C)C)c(COC(=O)NC(C)C)c2CCCn12", printStereoWarnings=False) +smiles(R"CCC(CC)C(=O)OCn1ccc(cc1)c1n2CCCc2c(COC(=O)NC(C)C)c1COC(=O)NC(C)C", printStereoWarnings=False) +smiles(R"CCC(CC)C(=O)OCn1cccc(c1)c1n2CCCc2c(COC(=O)NC(C)C)c1COC(=O)NC(C)C", printStereoWarnings=False) +smiles(R"CCCCCC[Si](CCCCCC)(CCCCCC)[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"CCCCCC[Si](CCCCCC)(CCCCCC)[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"CCCCCC[Si](CCCCCC)(CCCCCC)[C@@-]12C3=C4C5=C1[Fe+2]16782345C2=C7[C@-]8(C6=C12)[Si](CCCCCC)(CCCCCC)CCCCCC", printStereoWarnings=False) +smiles(R"CCCCCC[Si](CCCCCC)(CCCCCC)[C@@-]12C3=C4C5=C1[Fe+2]16782345C2=C7[C@@-]8(C6=C12)[Si](CCCCCC)(CCCCCC)CCCCCC", printStereoWarnings=False) +smiles(R"CC(C)(C)[C@@H]1CC[C@@]2(CC1)c1[nH]c3ccccc3c1[C@]1(CC[C@@H](CC1)C(C)(C)C)c1[nH]c3ccccc3c21", printStereoWarnings=False) +smiles(R"CC(C)(C)[C@@H]1CC[C@]2(OC[C@H]3CCCN23)CC1", printStereoWarnings=False) +smiles(R"CC(C)(C)[C@@H]1CC[C@H](CC1)NC1=NCCO1", printStereoWarnings=False) +smiles(R"CCCC[C@@H]1CC[C@H](CC1)NC(=O)Nc1ccccc1", printStereoWarnings=False) +smiles(R"CCCC[C@H]1CC[C@@H](CC1)NC(=O)Nc1ccccc1", printStereoWarnings=False) +smiles(R"CC(C)(C)[C@@H]1CC[C@H](CC1)P(=S)(C)C", printStereoWarnings=False) +smiles(R"CCCC[C@@H]1CC[C@@H](NCC(=C)Br)CC1", printStereoWarnings=False) +smiles(R"CC[C@](C)([C@@H]1CC[C@H](O)CC1)[C@H]1CC[C@H](O)CC1", printStereoWarnings=False) +smiles(R"CC(C)(C)[C@H]1CC/C(=N/SC(c2ccccc2)(c2ccccc2)c2ccccc2)/CC1", printStereoWarnings=False) +smiles(R"C=CCC[C@@H]1C[C@@H](C[C@@]2(OCCO2)C1)C(C)C", printStereoWarnings=False) +smiles(R"CCCC[C@@H]1CC(=O)[Pd@]2([O+]=C(C)CC(=[O+]2)C)[N+]1(CC)CC", printStereoWarnings=False) +smiles(R"CCCC[C@H]1O[C@@H](CCCC)O[C@@H](CCCC)O1", printStereoWarnings=False) +smiles(R"C/C=C/C[C@H](C/C=C/C)c1cc[n+](cc1)[Pt](Cl)(Cl)(Cl)(Cl)[n+]1ccc(cc1)[C@H](C/C=C/C)C/C=C/C", printStereoWarnings=False) +smiles(R"CCCC[C@@H](CC)CN1C(=O)[C@@H]2[C@H](C1=O)[C@]1(Cl)C(=C(Cl)[C@@]2(Cl)[C@@]1(Cl)Cl)Cl", printStereoWarnings=False) +smiles(R"CCCC[C@@H](CC)CO[C@@H](OC[C@@H](CC)CCCC)[C@H](OC[C@H](CC)CCCC)OC[C@H](CC)CCCC", printStereoWarnings=False) +smiles(R"CCCC[C@@H](CC)COC(=O)CC[S@](=O)(=O)CCC(=O)OC[C@@H](CC)CCCC", printStereoWarnings=False) +smiles(R"CCCC[C@@H](CC)COC(=O)[C@H]1[C@H](C(=O)OC[C@H](CC)CCCC)[C@]2(Cl)C(=C(Cl)[C@@]1(Cl)[C@@]2(Cl)Cl)Cl", printStereoWarnings=False) +smiles(R"CCCC[C@@H](CC)COC(=O)[C@H](CCC(=O)OC[C@H](CC)CCCC)CCC(=O)OC[C@H](CC)CCCC", printStereoWarnings=False) +smiles(R"CCCC[C@@H](CC)C(=O)O[Ge@](CCCC)(CCCC)OC(=O)[C@@H](CC)CCCC", printStereoWarnings=False) +smiles(R"CCCC[C@@H](CC)C(=O)O[Sn@](Cc1ccccc1)(Cc1ccccc1)OC(=O)[C@H](CC)CCCC", printStereoWarnings=False) +smiles(R"CCCC[C@@H](CC)C(=O)O[Sn@](CCCC)(CCCC)OC(=O)[C@@H](CC)CCCC", printStereoWarnings=False) +smiles(R"CCCC[C@H](C(=O)C(=O)N[C@H]1[C@H]2C[C@@H]3C[C@H](C2)C[C@H]1C3)C(=O)C(C)C", printStereoWarnings=False) +smiles(R"C=CCCCN1C(=O)[C@H]2[C@@H]3c4ccccc4[C@](C=O)([C@@H]2C1=O)c1ccccc31", printStereoWarnings=False) +smiles(R"CCCCCN1C(=O)[C@@H]2[C@H](C1=O)[C@@]1(Cl)C(=C(Cl)[C@]2(Cl)[C@@]1(Cl)Cl)Cl", printStereoWarnings=False) +smiles(R"CCCCCN(C)[C@]12CN3CN(CN(C3)C2)C1", printStereoWarnings=False) +smiles(R"C#CC(C)(C)NC(=O)N[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"CC/C=C\[C@](O)(C1CCCC1)C(=O)O[C@@H]1CN2CC[C@@H]1CC2", printStereoWarnings=False) +smiles(R"CCC#C[C@@](O)(C1CCCC1)C(=O)O[C@H]1CN2CC[C@H]1CC2", printStereoWarnings=False) +smiles(R"CC(C)(C)CO[C@@H]1[C@@]2(OCCO2)[C@@H]2CC[C@@]1(C)C2(C)C", printStereoWarnings=False) +smiles(R"CCCCCOC(=O)N1CCN(CC1)C(=O)[C@H](CCC(=O)[O-])NC(=O)c1cc(cc(n1)c1ccccc1)N1CC[C@@H](COC)CC1", printStereoWarnings=False) +smiles(R"CCCCCOC(=O)N1CCN(CC1)C(=O)[C@H](CCC(=O)[O-])NC(=O)c1cc(cc(n1)c1ccccc1)N1CC[C@H](COC)CC1", printStereoWarnings=False) +smiles(R"CCC#C[C@@](O)(C(=O)O[C@H]1[C@@H]2CCN(CC2)[C@@H]1C)c1ccccc1", printStereoWarnings=False) +smiles(R"CC(C)CC(=O)O[C@@H]1CC[C@@H](CC1)C1CCCCC1", printStereoWarnings=False) +smiles(R"CCCCC(=O)O[C@@H]1CC[C@H](CC1)C1CCCCC1", printStereoWarnings=False) +smiles(R"CCCCC(=O)OCn1ccc2c(C)c3[nH]c4ccccc4c3c(C)c2c1", printStereoWarnings=False) +smiles(R"CCCCC(=O)OCn1ccc2c(C)c3[nH]c4ccc(OC)cc4c3c(C)c2c1", printStereoWarnings=False) +smiles(R"CCCCC(=O)OCn1ccc(cc1)c1n2CCCc2c(COC(=O)NC(C)C)c1COC(=O)NC(C)C", printStereoWarnings=False) +smiles(R"CCCCC(=O)OCn1cccc(c1)c1n2CCCc2c(COC(=O)NC(C)C)c1COC(=O)NC(C)C", printStereoWarnings=False) +smiles(R"CC(=C[C@H]1CC[C@]2(OCCO2)[C@]1(C)COCc1ccccc1)C", printStereoWarnings=False) +smiles(R"CCC[C@@H]1CC=CC[C@]21C(=O)NC(=O)NC2=O", printStereoWarnings=False) +smiles(R"CCC[C@@H]1CCCC[C@]21C(=O)NC(=O)NC2=O", printStereoWarnings=False) +smiles(R"C=CC[C@@H]1CCCC[C@@]21OCCO2", printStereoWarnings=False) +smiles(R"C/C=C\[C@@H]1[C@H]2C(=O)[C@]3(Cl)[C@@H](/C=C/C)[C@H]3C(=O)[C@]12Cl", printStereoWarnings=False) +smiles(R"C=CC[C@H]1C(=[O+][Cu@@]2([O+]=C1C)[O+]=C(C)[C@@H](CC=C)C(=[O+]2)C)C", printStereoWarnings=False) +smiles(R"CCC[C@H]1C(=O)N/C(=N)/NC1=O", printStereoWarnings=False) +smiles(R"CC(C)[C@H]1O[C@@]2(CCCC2)OCC1(C)C", printStereoWarnings=False) +smiles(R"CCC[C@H]1O[C@]2(CCCC2)OC[C@H]1CC", printStereoWarnings=False) +smiles(R"CCC[C@H]1OC[C@]2(CO1)CO[C@@H](CCC)OC2", printStereoWarnings=False) +smiles(R"C/C=C\[C@H]1O[C@H](C)[C@@H](C)O1", printStereoWarnings=False) +smiles(R"CCC[C@@H]1O[C@H](C)[C@@H](C)O1", printStereoWarnings=False) +smiles(R"CC(C)[C@H]1O[C@H](O[C@@H](O1)C(C)C)C(C)C", printStereoWarnings=False) +smiles(R"CCC[C@H](C1=C(O)C[C@@H](C)CC1=O)C1=C(O)C[C@@H](C)CC1=O", printStereoWarnings=False) +smiles(R"CCC[C@@H](C)[C@H]1CC[C@@H](CC1)N[C@H]1CC[C@@H](CC1)[C@@H](C)CCC", printStereoWarnings=False) +smiles(R"CC(C)[C@H](SC[C@H](N)C(=O)O)SC[C@H](N)C(=O)O", printStereoWarnings=False) +smiles(R"CC(=CC[N@+]12CN3CN(CN(C3)C2)C1)C", printStereoWarnings=False) +smiles(R"CCCCN1C[C@H](O)CN[Pt@@]21OC(=O)CC(=O)O2", printStereoWarnings=False) +smiles(R"CCCC[N+]1(C[C@@H](O)CN[Pt@@]21OC(=O)CC(=O)O2)Cc1ccccc1", printStereoWarnings=False) +smiles(R"CCCCN1CCN/C/1=[S+]\[Cu@@]1(/[S+]=C/2\NCCN2CCCC)O[S@@](=O)(=O)O1", printStereoWarnings=False) +smiles(R"CCCCN1[C@H](CO)[C@H](O)[C@H](O)[C@@H](O)[C@H]1CO", printStereoWarnings=False) +smiles(R"CCCCN1C(=O)[C@@H]2[C@H](C1=O)[C@@]1(Cl)C(=C(Cl)[C@]2(Cl)[C@@]1(Cl)Cl)Cl", printStereoWarnings=False) +smiles(R"CCCCN1C(=O)[C@H](c2ccccc2)[C@@]2(CCN(C)CC2)C1=O", printStereoWarnings=False) +smiles(R"CC(=CCN[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)C", printStereoWarnings=False) +smiles(R"CC(C)CN[C@]12CN3CN(CN(C3)C2)C1", printStereoWarnings=False) +smiles(R"CCCCNc1ccc2nnc(C)n2n1", printStereoWarnings=False) +smiles(R"CCCCN(C)[C@]12CN3CN(CN(C3)C2)C1", printStereoWarnings=False) +smiles(R"CCCCNC(C)(C)[C@]1(SS[C@](SS1)(c1ccc(Cl)cc1)C(C)(C)NCCCC)c1ccc(Cl)cc1", printStereoWarnings=False) +smiles(R"CCCCN(CCCC)[C@@H]1CC[C@H](CC1)Nc1ccnc2cc(Cl)ccc12", printStereoWarnings=False) +smiles(R"CCCCN[C@@H]1CC[C@]2(SCCS2)c2[nH]c3ccccc3c12", printStereoWarnings=False) +smiles(R"CC(C)(C)/N=C/N1CC[C@H](CC1)C(c1ccccc1)c1ccccc1", printStereoWarnings=False) +smiles(R"CCCCN/C(=[N+]\1/[C@H](C)CCC[C@H]1C)/c1ccccc1", printStereoWarnings=False) +smiles(R"CC(C)CNC(=O)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"CCCCNC(=O)[C@H]1CC[C@H](CC1)CC1CCCCC1", printStereoWarnings=False) +smiles(R"CC(C)(C)N/N=C/1\C(C)(C)/C(=N\NC(C)(C)C)/C1(C)C", printStereoWarnings=False) +smiles(R"CC#C[C@](O)(C1CC1)C(=O)O[C@@H]1CN2CC[C@H]1CC2", printStereoWarnings=False) +smiles(R"C/C=C\[C@@](O)(C1CCCC1)C(=O)O[C@@H]1[C@@H]2CCN(CC2)[C@@H]1C", printStereoWarnings=False) +smiles(R"CC#C[C@@](O)(C1CCCC1)C(=O)O[C@@H]1[C@H]2CCN(CC2)[C@H]1C", printStereoWarnings=False) +smiles(R"CC#C[C@@](O)(C1CCCC1)C(=O)O[C@H]1[C@@H]2CCN(CC2)[C@H]1CC", printStereoWarnings=False) +smiles(R"C/C=C\[C@](O)(C1CCCC1)C(=O)O[C@@H]1CN2CC[C@H]1CC2", printStereoWarnings=False) +smiles(R"C/C=C\[C@@](O)(C1CCCCC1)C(=O)O[C@@H]1CN2CC[C@H]1CC2", printStereoWarnings=False) +smiles(R"CC(=C)[C@@](O)(C1CCCCC1)C(=O)O[C@@H]1CN2CC[C@H]1CC2", printStereoWarnings=False) +smiles(R"CCCC(=O)C[C@@H](C)C(=O)C(=O)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"CCCCOCN(COCCCC)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"CCCCOC(=O)[C@@H]1[C@@H](C(=O)OCCCC)[C@]2(Cl)C(=C(Cl)[C@@]1(Cl)[C@@]2(Cl)Cl)Cl", printStereoWarnings=False) +smiles(R"CCCCOC(=O)[C@@H]1[C@H](N[C@H](c2ccc(Cl)cc2)[C@@H](C(=O)OCCCC)[S@@]1(=O)=O)c1ccc(Cl)cc1", printStereoWarnings=False) +smiles(R"CCCCOC(=O)[C@@H]1O[C@@]2(CCCC2)O[C@@H]1C(=O)OCCCC", printStereoWarnings=False) +smiles(R"CCCCOC(=O)Nc1ccc2c(c1)c1c(ccc3c1[nH]c(=O)c1cccn31)n2CC", printStereoWarnings=False) +smiles(R"CC(C)[C@](O)(C(=O)O/C=C/1\C[C@@H]2CCN1CC2)c1ccccc1", printStereoWarnings=False) +smiles(R"CC(C)[C@@](O)(C(=O)OCC1=C[C@@H]2CCN1CC2)c1ccccc1", printStereoWarnings=False) +smiles(R"CC#C[C@@](O)(C(=O)O[C@@H]1[C@@H]2CCN(CC2)[C@H]1C)C1=CCCC1", printStereoWarnings=False) +smiles(R"C/C=C/[C@@](O)(C(=O)O[C@@H]1CN2CC[C@H]1CC2)c1ccccc1", printStereoWarnings=False) +smiles(R"CC(=C)[C@@](O)(C(=O)O[C@H]1CN2CC[C@H]1CC2)c1ccccc1", printStereoWarnings=False) +smiles(R"CC(=C)[C@@](O)(C(=O)O[C@H]1CN2CC[C@@H]1CC2)c1cccs1", printStereoWarnings=False) +smiles(R"CCCCON1C[C@H](OC(=O)C)[C@H](OC(=O)C)[C@H](C1)OC(=O)C", printStereoWarnings=False) +smiles(R"CC(=C)C(=O)Nc1ccc2nn(nc2c1)c1ccccc1O", printStereoWarnings=False) +smiles(R"CCCC(=O)OC[C@H]1CC[C@H](CC1)COC(=O)CCC", printStereoWarnings=False) +smiles(R"CCCC(=O)O[C@@H]1[C@](C)(C)[C@@H](OC(=O)CCC)[C@]1(C)C", printStereoWarnings=False) +smiles(R"CCCC(=O)O[C@H]1[C@@](C)(C)[C@H](OC(=O)CCC)[C@]1(C)C", printStereoWarnings=False) +smiles(R"CCCC(=O)O[C@H]1[C@@H](OC(=O)CCC)[C@H](OC(=O)CCC)[C@H](OC(=O)CCC)[C@@H](OC(=O)CCC)[C@H]1OC(=O)CCC", printStereoWarnings=False) +smiles(R"CCCC(=O)O[C@@H](CC[C@@H]1CCCO1)CC[C@@H]1CCCO1", printStereoWarnings=False) +smiles(R"CCCC(=O)OCn1ccc2c(C)c3[nH]c4ccccc4c3c(C)c2c1", printStereoWarnings=False) +smiles(R"CCCC(=O)OCn1ccc2c(C)c3[nH]c4ccc(OC)cc4c3c(C)c2c1", printStereoWarnings=False) +smiles(R"CCCC(=O)OCn1ccc(cc1)c1n2CCCc2c(COC(=O)NC(C)C)c1COC(=O)NC(C)C", printStereoWarnings=False) +smiles(R"CCCC(=O)OCn1cccc(c1)c1n2CCCc2c(COC(=O)NC(C)C)c1COC(=O)NC(C)C", printStereoWarnings=False) +smiles(R"CCCCOP(=O)(OCCCC)N[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"CCCC[Pb]([C@@]12C3=C4C5=C1[Fe]16782345[C@@H]2C7=C6C1=C82)([C@@]12C3=C4C5=C1[Fe]16782345[C@@H]2C7=C6C1=C82)[C@]12C3=C4C5=C1[Fe]16782345[C@@H]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"CCCCP(CCCC)(CCCC)[Pd@]1(Cl)[Cl][Pd@](Cl)([Cl]1)P(CCCC)(CCCC)CCCC", printStereoWarnings=False) +smiles(R"CCCCP(CCCC)(CCCC)[Pt@]1(Cl)[Cl][Pt@](Cl)([Cl]1)P(CCCC)(CCCC)CCCC", printStereoWarnings=False) +smiles(R"CCCC[Sn@@]1(CCCC)OCCN2CCN(CCO1)CC2", printStereoWarnings=False) +smiles(R"CCCC[Sn](CCCC)(CCCC)NC(=S)N[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"CCCC[Sn](CCCC)(CCCC)S[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"CCCC[Sn@](CCCC)(OC(=O)/C=C/c1ccccc1F)OC(=O)/C=C/c1ccccc1F", printStereoWarnings=False) +smiles(R"CCCC[Sn@](CCCC)(OC(=O)[C@H](OC)c1ccccc1)OC(=O)[C@H](OC)c1ccccc1", printStereoWarnings=False) +smiles(R"CCCC[Sn@@](CCCC)(OC(=O)[C@H](OC(=O)C)c1ccccc1)OC(=O)[C@H](OC(=O)C)c1ccccc1", printStereoWarnings=False) +smiles(R"CCCC[Sn@@](CCCC)(OS(=O)c1ccccc1)OS(=O)c1ccccc1", printStereoWarnings=False) +smiles(R"CC[C@@H]1CC[C@H](CC1)NC(=O)c1ccccc1", printStereoWarnings=False) +smiles(R"CC[C@H]1CC[C@@H](CC1)NC(=O)c1ccccc1", printStereoWarnings=False) +smiles(R"CC[C@H]1CC[C@@H](CC1)NC(=O)NC", printStereoWarnings=False) +smiles(R"C#C[C@H]1CC[C@@H](CC1)NC(=O)NCCCCCCNC(=O)N[C@H]1CC[C@@H](C#C)CC1", printStereoWarnings=False) +smiles(R"CC[C@@H]1CC[Si](C)(C)C[C@]21C(=O)NC(=O)NC2=O", printStereoWarnings=False) +smiles(R"C=C[C@H]1CN2CC[C@H]1C[C@H]2[C@H](O)c1ccnc2ccccc12", printStereoWarnings=False) +smiles(R"CC[C@H]1C(=[O+][Cu@]2([O+]=C1C)[O+]=C(C)[C@H](CC)C(=[O+]2)C)C", printStereoWarnings=False) +smiles(R"CC[C@@H]1C(=O)[OH+][Pt@@+2](N)(NCCCCCCN[Pt@+2]2(N)[OH+]C(=O)[C@@H](CC)C(=O)[OH+]2)[OH+]C1=O", printStereoWarnings=False) +smiles(R"CC[C@H]1C(=O)[OH+][Pt@+2](N)(NCCCCCN[Pt@+2]2(N)[OH+]C(=O)[C@@H](CC)C(=O)[OH+]2)[OH+]C1=O", printStereoWarnings=False) +smiles(R"CC[C@@H]1C(=O)O[Pt@@]2(NCc3cccc[n+]23)OC1=O", printStereoWarnings=False) +smiles(R"CC[C@H]1N2CC[C@@H](CC2)[C@@H]1OC(=O)CC(O)(c1ccccc1)c1ccccc1", printStereoWarnings=False) +smiles(R"CC[C@@H]1N2CC[C@@H](CC2)[C@H]1OC(=O)C(O)(c1ccccc1)c1ccccc1", printStereoWarnings=False) +smiles(R"C=C[C@@H](C)[C@@]1(CCC[C@@]21OCCO2)C(=O)OC", printStereoWarnings=False) +smiles(R"CC[C@@H](C)C[C@]12C3=C4C5=C1[Zr]16782345(Cl)(Cl)C2=C7[C@@]8(C[C@H](C)CC)C6=C12", printStereoWarnings=False) +smiles(R"CC[C@H](CC[C@H](C)[C@@H]1CC[C@H]2[C@H]3CC=C4C[C@@H](CC[C@]4(C)[C@@H]3CC[C@]12C)[OH+][Ti@]([Cl-])([OH+][C@@H]1CC[C@@]2(C)C(=CC[C@@H]3[C@@H]4CC[C@@H]([C@@H](C)CC[C@@H](CC)C(C)C)[C@@]4(C)CC[C@@H]23)C1)[OH+][C@@H]1CC[C@@]2(C)C(=CC[C@@H]3[C@@H]4CC[C@@H]([C@@H](C)CC[C@@H](CC)C(C)C)[C@@]4(C)CC[C@@H]23)C1)C(C)C", printStereoWarnings=False) +smiles(R"CC[C@H](CC[C@H](C)[C@@H]1CC[C@H]2[C@H]3CC=C4C[C@@H](CC[C@]4(C)[C@@H]3CC[C@]12C)[OH+][Ti@@]([Cl-])([OH+][C@@H]1CC[C@@]2(C)C(=CC[C@@H]3[C@@H]4CC[C@@H]([C@@H](C)CC[C@@H](CC)C(C)C)[C@@]4(C)CC[C@@H]23)C1)[OH+][C@@H]1CC[C@@]2(C)C(=CC[C@@H]3[C@@H]4CC[C@@H]([C@@H](C)CC[C@@H](CC)C(C)C)[C@@]4(C)CC[C@@H]23)C1)C(C)C", printStereoWarnings=False) +smiles(R"CC[C@H](C)[C@H]1CC[C@H]2/C(=C/C=C\3/C[C@@H](O)C(=C)[C@H](O)C3)/CCC[C@]12C", printStereoWarnings=False) +smiles(R"CC[C@H](C)[C@@H]1CC[C@H](CC1)OC(=O)c1ccccc1", printStereoWarnings=False) +smiles(R"CC[C@H](C)[C@H](C)CN[C@]12CN3CN(CN(C3)C2)C1", printStereoWarnings=False) +smiles(R"CC[C@@H](C/C=N/Nc1ccc(cc1[N+](=O)[O-])[N+](=O)[O-])C/C=N/Nc1ccc(cc1[N+](=O)[O-])[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"CC[C@H](C/C=N/Nc1ccc(cc1[N+](=O)[O-])[N+](=O)[O-])C/C=N/Nc1ccc(cc1[N+](=O)[O-])[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"CC[C@H](C)[C@](O)(C#C)C(=O)O[C@@H]1[C@H]2CCN(CC2)[C@H]1C", printStereoWarnings=False) +smiles(R"C#C[C@H](C)N1CC[C@]2(CC1)C(=O)NCN2c1ccccc1", printStereoWarnings=False) +smiles(R"CC[C@H](C)N1CN(c2ccccc2)[C@@]2(CCN(CC2)C[C@@H]2COc3ccccc3O2)C1=O", printStereoWarnings=False) +smiles(R"CC[C@H](CO)N1CCN([C@H](CC)CO)[Pt@@]1(Cl)Cl", printStereoWarnings=False) +smiles(R"CC[C@H](C(=O)N[C@H]1CN2CC[C@@H]1CC2)c1ccccc1", printStereoWarnings=False) +smiles(R"C=C[C@@H](C)S(=O)(=O)[Fe]1234(C#[O+])(C#[O+])C5(=C3(C)C2(=C1(C)[C@]45C)C)C", printStereoWarnings=False) +smiles(R"CC[C@H](NC(=O)CCNC(=O)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)c1ccccc1OC", printStereoWarnings=False) +smiles(R"CC(C)[N@@+]12CC[N@+]3(CC[N@+](CC1)(C(C)C)[Mo]23(=O)(=O)=O)C(C)C", printStereoWarnings=False) +smiles(R"C=CC[N@+]12CN3CN(CN(C3)C2)C1", printStereoWarnings=False) +smiles(R"C#CC[N@+]12CN3CN(CN(C3)C2)C1", printStereoWarnings=False) +smiles(R"CCCn1c2[nH]c(=N)sc2c(=O)n(CC)c1=O", printStereoWarnings=False) +smiles(R"CC(C)N1CNC(=O)[C@@]21CCN(CC2)C[C@H]1COc2ccccc2O1", printStereoWarnings=False) +smiles(R"C=CCn1c(=O)c(C(=O)Nc2scc(n2)[C@@]23C[C@H]4C[C@H](C[C@H](C4)C3)C2)c(O)c2ccccc12", printStereoWarnings=False) +smiles(R"C=CCN1C(=O)[C@H](c2ccccc2)[C@@]2(CCN(C)CC2)C1=O", printStereoWarnings=False) +smiles(R"C#CCN1C(=O)[C@@H](c2ccccc2)[C@]2(CCN(C)CC2)C1=O", printStereoWarnings=False) +smiles(R"CCCn1c(=O)[nH]c(=O)c2sc(=N)[nH]c12", printStereoWarnings=False) +smiles(R"C=CCn1c(=S)[nH]nc1[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"C=C/C(=[N+]\1/[OH+][W+]23451(C#[O+])(C#[O+])[C@H]1C4=C3C2=C51)/C", printStereoWarnings=False) +smiles(R"CCCN[C@@]12CN3CN(CN(C3)C2)C1", printStereoWarnings=False) +smiles(R"CCCN(C)[C@@]12CN3CN(CN(C3)C2)C1", printStereoWarnings=False) +smiles(R"CCC[N+](CCC)(CCC)CCC", printStereoWarnings=False) +smiles(R"CC(C)NCCC[C@H](C)Nc1ccnc2ccc3nn(C)nc3c12", printStereoWarnings=False) +smiles(R"CCC[N+](C)(C)CCn1c2[nH]c(=N)sc2c(=O)n(CC)c1=O", printStereoWarnings=False) +smiles(R"CC(C)N(C(C)C)C(=O)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"CC(C)N(C(C)C)C(=O)[C@]12[C@@H]3[C@@H]4[C@H]1[C@@H]1[C@H]2[C@H]3[C@]41C(=O)N(C(C)C)C(C)C", printStereoWarnings=False) +smiles(R"CC(C)N(C(C)C)C(=O)[C@]12[C@H]3[C@H]4[C@@H]2[C@H]2[C@@H]1[C@@H]3[C@@]42[C@@H](O)C(C)(C)C", printStereoWarnings=False) +smiles(R"CC(C)N(C(C)C)C(=O)[C@]12[C@H]3[C@H]4[C@@H]2[C@H]2[C@@H]1[C@@H]3[C@@]42C(=O)C(C)(C)C", printStereoWarnings=False) +smiles(R"CC(C)N(C(C)C)C(=O)[C@]12[C@H]3[C@H]4[C@@H]2[C@H]2[C@@H]1[C@@H]3[C@@]42C(=O)N", printStereoWarnings=False) +smiles(R"CC(C)N(C(C)C)C(=O)[C@]12[C@H]3[C@H]4[C@@H]2[C@H]2[C@@H]1[C@@H]3[C@@]42C(=O)O", printStereoWarnings=False) +smiles(R"CC(C)N(C(C)C)C(=O)[C@]12[C@H]3[C@H]4[C@@H]2[C@H]2[C@@H]1[C@@H]3[C@@]42I", printStereoWarnings=False) +smiles(R"CC(C)N(C(C)C)p1n(nnn1C(C)(C)C)C(C)(C)C", printStereoWarnings=False) +smiles(R"CC(C)N(CCn1c2c(oc(=O)c3ccccc23)c2ccc3ccccc3c12)C(C)C", printStereoWarnings=False) +smiles(R"CCCN/C(=[N+]\1/[C@@H](C)CCC[C@@H]1C)/c1ccccc1", printStereoWarnings=False) +smiles(R"C=CCNC(=O)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"CC(C)NC(=O)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"CCCNC(=O)[C@H]1[C@@H]2CC[C@@H](CC2)[C@@H]1C(=O)NCCC", printStereoWarnings=False) +smiles(R"CC(C)NC(=O)OCc1c(c2cccn(COC(=O)C3CC3)c2)n2CCCc2c1COC(=O)NC(C)C", printStereoWarnings=False) +smiles(R"CC(C)NC(=O)OCc1c(c2cccn(COC(=O)Cc3ccccc3)c2)n2CCCc2c1COC(=O)NC(C)C", printStereoWarnings=False) +smiles(R"CC(C)NC(=O)OCc1c(c2cccn(COC(=O)C(C)(C)C)c2)n2CCCc2c1COC(=O)NC(C)C", printStereoWarnings=False) +smiles(R"CC(C)NC(=O)OCc1c(c2ccn(cc2)COC(=O)C(C)(C)C)n2CCCc2c1COC(=O)NC(C)C", printStereoWarnings=False) +smiles(R"CC(C)NC(=O)OCc1c(c2ccn(COC(=O)C3CC3)cc2)n2CCCc2c1COC(=O)NC(C)C", printStereoWarnings=False) +smiles(R"CC(C)NC(=O)OCc1c(c2ccn(COC(=O)Cc3ccccc3)cc2)n2CCCc2c1COC(=O)NC(C)C", printStereoWarnings=False) +smiles(R"CC(C)NC(=O)OCc1c(COC(=O)NC(C)C)c2CCCn2c1c1cccn(COC(=O)C2CCCCC2)c1", printStereoWarnings=False) +smiles(R"CC(C)NC(=O)OCc1c(COC(=O)NC(C)C)c2CCCn2c1c1cccn(COC(=O)C(C)C)c1", printStereoWarnings=False) +smiles(R"CC(C)NC(=O)OCc1c(COC(=O)NC(C)C)c2CCCn2c1c1cccn(COC(=O)CC(C)C)c1", printStereoWarnings=False) +smiles(R"CC(C)NC(=O)OCc1c(COC(=O)NC(C)C)c2CCCn2c1c1cccn(COC(=O)CC(C)(C)C)c1", printStereoWarnings=False) +smiles(R"CC(C)NC(=O)OCc1c(COC(=O)NC(C)C)c2CCCn2c1c1ccn(COC(=O)C2CCCCC2)cc1", printStereoWarnings=False) +smiles(R"CC(C)NC(=O)OCc1c(COC(=O)NC(C)C)c2CCCn2c1c1ccn(COC(=O)C(C)C)cc1", printStereoWarnings=False) +smiles(R"CC(C)NC(=O)OCc1c(COC(=O)NC(C)C)c2CCCn2c1c1ccn(COC(=O)CC(C)C)cc1", printStereoWarnings=False) +smiles(R"CC(C)NC(=O)OCc1c(COC(=O)NC(C)C)c2CCCn2c1c1ccn(COC(=O)CC(C)(C)C)cc1", printStereoWarnings=False) +smiles(R"CC(C)(O)[C@-]12C3=C4C5=C1[Fe+2]16782345C2=C7[C@@-]8(C6=C12)C(C)(C)O", printStereoWarnings=False) +smiles(R"CC(C)(O)[C@@-]12C3=C4C5=C1[Fe+2]16782345C2=C7[C@-]8(C6=C12)C(C)(C)O", printStereoWarnings=False) +smiles(R"CC(C)(O)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"CC(C)(O)c1cc2c3ccccc3c2cc1C(C)(C)O", printStereoWarnings=False) +smiles(R"C=CCOc1ccc2c(no[n+]2[O-])c1", printStereoWarnings=False) +smiles(R"C=CCOc1ccc2c(NO[N+]2[O-])c1", printStereoWarnings=False) +smiles(R"CC(C)Oc1ccc2[nH]c3c(C)c4ccn(C)cc4c(C)c3c2c1", printStereoWarnings=False) +smiles(R"C=CCOc1ccccc1c1nnn(C)n1", printStereoWarnings=False) +smiles(R"CCCOc1ccc(cc1OC)[C@H]([C@H](C(=O)C)C(=O)OCC)[C@H](C(=O)C)C(=O)OCC", printStereoWarnings=False) +smiles(R"CCC(=O)c1ccc(OC[C@H](O)CN2CC[C@](O)(CC2)c2ccccc2)cc1", printStereoWarnings=False) +smiles(R"CC(C)O/C=C\1/[C@H]2CCCC[C@H]2[C@]2(SCCS2)C1=O", printStereoWarnings=False) +smiles(R"CC(C)(O)CCC[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"CC(C)(O)CCC[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"CC[C@](O)([C@H](c1ccccc1)c1ccccn1)[C@H](c1ccccc1)c1ccccn1", printStereoWarnings=False) +smiles(R"C=CCOC(=O)[C@@H]1[C@@H](C(=O)OCC=C)[C@]2(Cl)C(=C(Cl)[C@@]1(Cl)[C@]2(Cl)Cl)Cl", printStereoWarnings=False) +smiles(R"CCCOC(=O)[C@@H]1[C@H](N[C@@H](c2ccc(OC)cc2)[C@H](C(=O)OCCC)[S@@]1(=O)=O)c1ccc(OC)cc1", printStereoWarnings=False) +smiles(R"C=CCOC(=O)[C@@H](C)O[C@@H](C)O[C@H](C)C(=O)OCC=C", printStereoWarnings=False) +smiles(R"CCCOC(=O)Nc1ccc2c(c1)c1c(ccc3c1[nH]c(=O)c1cccn31)n2CC", printStereoWarnings=False) +smiles(R"C#C[C@](O)(C(=O)O[C@H]1CN2CC[C@H]1CC2)c1ccccc1", printStereoWarnings=False) +smiles(R"C=CC(=O)N[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"C=CC(=O)N[C@@]1(CN2CC[C@H]1CC2)c1ccccc1", printStereoWarnings=False) +smiles(R"CCC(=O)N[C@@H]1c2ccccc2[C@@]2(CCN(CC2)C(=O)c2cccc(Cl)c2F)[C@H]1OC", printStereoWarnings=False) +smiles(R"CCC(=O)N([C@@H]1CCN(CC1)[C@H](C)Cc1ccccc1)c1ccccc1", printStereoWarnings=False) +smiles(R"CCC(=O)Oc1ccc2c(c1)c(=O)c1c(NCCCN(C)C)ccc3nnn2c13", printStereoWarnings=False) +smiles(R"CCC(=O)O[C@]1(CCN(C/C=C/c2cccc3ccccc23)CC1)c1ccccc1", printStereoWarnings=False) +smiles(R"CCC(=O)O[C@@]1(CCN(C/C=C/c2ccc(F)cc2)CC1)c1ccccc1", printStereoWarnings=False) +smiles(R"CCC(=O)O[C@@]1([C@@H]2CCN(CC2)C1=C)c1ccccc1", printStereoWarnings=False) +smiles(R"C=CC(=O)OCCCS(=O)(=O)[OH+][Pt@+2]1(N[C@H]2CCCC[C@@H]2N1)[OH+]S(=O)(=O)CCCOC(=O)C=C", printStereoWarnings=False) +smiles(R"CCC(=O)OC[C@H]1CC[C@H](CC1)COC(=O)CC", printStereoWarnings=False) +smiles(R"CCC(=O)O[C@H]1[C@@](C)(C)[C@@H](OC(=O)CC)C1(C)C", printStereoWarnings=False) +smiles(R"CCC(=O)O[C@H](CC[C@H]1CCCO1)CC[C@H]1CCCO1", printStereoWarnings=False) +smiles(R"CCC(=O)OCn1ccc2c(C)c3[nH]c4ccccc4c3c(C)c2c1", printStereoWarnings=False) +smiles(R"CCC(=O)OCn1ccc2c(C)c3[nH]c4ccc(OC)cc4c3c(C)c2c1", printStereoWarnings=False) +smiles(R"CC(C)OP(=O)(OC(C)C)N[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"CCC[S@@]1(=O)CC[S@@](=O)(CCC)[Pd@@]1(Br)Br", printStereoWarnings=False) +smiles(R"CCC[S@@]1(=O)CC[S@@](=O)(CCC)[Pd@@]1(Cl)Cl", printStereoWarnings=False) +smiles(R"CCC[S@@]1(=O)CC[S@@](=O)(CCC)[Pt@@]1(Br)Br", printStereoWarnings=False) +smiles(R"CCC[S@@]1(=O)CC[S@@](=O)(CCC)[Pt@@]1(Cl)Cl", printStereoWarnings=False) +smiles(R"CCC[S@@]1(=O)CC[S@@](=O)(CCC)[Pt@@]1(I)I", printStereoWarnings=False) +smiles(R"CCC[S+]1[Rh](C#[O+])(C#[O+])[S+](CCC)[Rh@@]1(C#[O+])C#[O+]", printStereoWarnings=False) +smiles(R"CC(C)[Si](OC[C@H]1C[C@@H](C[C@H]2C[C@@H](C[C@@H]3C[C@H](CO[Si](C(C)C)(C(C)C)C(C)C)OC(C)(C)O3)O[C@](C)(C)O2)OC(C)(C)O1)(C(C)C)C(C)C", printStereoWarnings=False) +smiles(R"CC#C[Ti]12345678(C#CC)([C@@H]9C3=C2C1=C49)[C@H]1C7=C6C5=C81", printStereoWarnings=False) +smiles(R"CC[Ge@@]1(CC)CC[C@@]2(CC1)NC(=O)N(CCCN(C)C)[C@@H]2O", printStereoWarnings=False) +smiles(R"C[C@@H]1[C@]2(C=CC=C2)C1(C)C", printStereoWarnings=False) +smiles(R"C[C@@H]1[C@]2(CCCCC2)[N@@+]21CCCC2", printStereoWarnings=False) +smiles(R"C[C@@H]1[C@@]2(CCCCC2)[N@+]21CCCC2", printStereoWarnings=False) +smiles(R"C[C@@H]1C[As@@+](C[C@H](C)N1C)(c1ccccc1)c1ccccc1", printStereoWarnings=False) +smiles(R"C[C@@H]1C[As+](C[C@H](C)N1C)(c1ccccc1)c1ccccc1", printStereoWarnings=False) +smiles(R"C[C@H]1C[C@]2(OCCO2)CC[C@@H]1OCc1ccccc1", printStereoWarnings=False) +smiles(R"C[C@@H]1CC[C@@]2(CC1)CC(=O)N(N1CCCCC1)C2=O", printStereoWarnings=False) +smiles(R"C[C@@H]1CC[C@]2(CC1)N=C1CC[C@@H](C)C[C@H]1[C@]1(CC[C@@H](C)CC1)N2", printStereoWarnings=False) +smiles(R"C[C@H]1CC[C@@]2(CC1)NC(=O)N(CNc1ccccc1)C2=O", printStereoWarnings=False) +smiles(R"C[C@H]1C/C(=C\c2ccc(cc2)OC(=O)C(C)(C)C)/C(=O)/C(=C/c2ccc(cc2)OC(=O)C(C)(C)C)/C1", printStereoWarnings=False) +smiles(R"C[C@H]1C/C(=C\c2ccc(O)c(O)c2)/C(=O)/C(=C/c2ccc(O)c(O)c2)/C1", printStereoWarnings=False) +smiles(R"C[C@@H]1CC/C(=C\2/C(=O)N=C3S[Cu@]4(SC5=NC(=O)/C(=C/6\CC[C@@H](C)CC6)/[S+]45)[S+]23)/CC1", printStereoWarnings=False) +smiles(R"C[C@@H]1CCCC[C@@]21OCCO2", printStereoWarnings=False) +smiles(R"C[C@H]1CCCCCCCCCC[C@]21OCCO2", printStereoWarnings=False) +smiles(R"C[C@H]1CC=CC[C@H]1[C@H](OC[C@@H]1CC=CC[C@@H]1C)OC[C@@H]1CC=CC[C@@H]1C", printStereoWarnings=False) +smiles(R"C[C@H]1CCCC[C@H]1[C@@](O)(C(=O)O)[C@@H]1CCCC[C@@H]1C", printStereoWarnings=False) +smiles(R"C[C@@H]1CCCCC[N@+]21CCCC2", printStereoWarnings=False) +smiles(R"C[C@@H]1CCCCC[N@+]21CC[N@@+]1(CCCCC[C@@H]1C)CC2", printStereoWarnings=False) +smiles(R"C[C@H]1CCCCN1/C=C/1\C(=O)O[C@@](C)(C)OC1=O", printStereoWarnings=False) +smiles(R"C[C@H]1CCCC[N@+]21CCCC2", printStereoWarnings=False) +smiles(R"C[C@@H]1CC(C)(C)N[C@@]2(CCCC2)N1", printStereoWarnings=False) +smiles(R"C[C@H]1CC(C)(C)O[C@]2(CCCC2)O1", printStereoWarnings=False) +smiles(R"C[C@@H]1CC[C@H](CC1)c1cc(c2ccccc2)n(n1)c1ccccc1", printStereoWarnings=False) +smiles(R"C[C@H]1CC[C@H](CC1)C(C)(C)c1ccc(O)cc1", printStereoWarnings=False) +smiles(R"C[C@@H]1CC[C@H](CC1)C(C)(C)OCCN(C)C", printStereoWarnings=False) +smiles(R"C[C@H]1CC[C@H](CC1)C(C)(C)OC(=O)COC(=O)C", printStereoWarnings=False) +smiles(R"C[C@@H]1CC[C@@H](CC1)C(=O)[C@H]1CCCC[C@H]1CC1CCCCC1", printStereoWarnings=False) +smiles(R"C[C@@H]1CC[C@H](CC1)[C@@](O)(C(=O)O)[C@@H]1CC[C@@H](C)CC1", printStereoWarnings=False) +smiles(R"C[C@H]1CC[C@@H](CC1)C(=O)O[C@H]1CC[C@H](CC1)C(C)(C)C", printStereoWarnings=False) +smiles(R"C[C@@H]1CC[C@H](CC1)NC(=O)C", printStereoWarnings=False) +smiles(R"C[C@H]1CC[C@@H](CC1)NC(=O)C", printStereoWarnings=False) +smiles(R"C[C@@H]1CC[C@H](CC1)NC(=O)[C@]1(C)Cn2c3ccccc3nc2C(=O)N1Cc1ccccc1Cl", printStereoWarnings=False) +smiles(R"C[C@@H]1CC[C@H](CC1)Oc1ccc(cc1[N+](=O)[O-])[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"C[C@H]1CC[C@@H](CC1)Oc1ccc(cc1[N+](=O)[O-])[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"C[C@@H]1CC[C@H](CC1)O[C@H](C[N+](=O)[O-])C(Cl)(Cl)Cl", printStereoWarnings=False) +smiles(R"C[C@H]1CC[C@@H](CC1)O[C@H](C[N+](=O)[O-])C(Cl)(Cl)Cl", printStereoWarnings=False) +smiles(R"C[C@@H]1CC[C@@H](CC1)OS(=O)(=O)c1ccc(C)cc1", printStereoWarnings=False) +smiles(R"C[C@H]1CC[C@H](C(C)C)[C@@]2(OC[C@](C)(C)CO2)C1", printStereoWarnings=False) +smiles(R"C[C@H]1CC[C@H](C(C)C)[C@@H](C1)[C@@]12C3=C4C5=C1[Zr]16782345(Cl)(Cl)C2=C7[C@]8([C@@H]3C[C@@H](C)CC[C@@H]3C(C)C)C6=C12", printStereoWarnings=False) +smiles(R"C[C@@H]1CC[C@@H](NCCOC(=O)c2ccc(cc2)[N+](=O)[O-])CC1", printStereoWarnings=False) +smiles(R"C[C@H]1CC[C@H](NCCOC(=O)c2ccc(cc2)[N+](=O)[O-])CC1", printStereoWarnings=False) +smiles(R"C[C@@H]1CCC[N@+]2(CCCC2)C1", printStereoWarnings=False) +smiles(R"C[C@H]1CCC[NH+](CCNC(=O)N[C@@]23C[C@H]4C[C@H](C[C@H](C4)C3)C2)C1", printStereoWarnings=False) +smiles(R"C[C@@H]1CC/C(=N/Nc2ccc(cc2)[N+](=O)[O-])/CC1", printStereoWarnings=False) +smiles(R"C[C@H]1CC/C(=N\Nc2ccc(cc2)[N+](=O)[O-])/CC1", printStereoWarnings=False) +smiles(R"C[C@@H]1CC/C(=N/Nc2ccc(cc2[N+](=O)[O-])[N+](=O)[O-])/CC1", printStereoWarnings=False) +smiles(R"C[C@@H]1CC/C(=N\Nc2ccc(cc2[N+](=O)[O-])[N+](=O)[O-])/CC1", printStereoWarnings=False) +smiles(R"C[C@H]1CC/C(=N/Nc2ccc(cc2[N+](=O)[O-])[N+](=O)[O-])/CC1", printStereoWarnings=False) +smiles(R"C[C@H]1CC/C(=N\Nc2ccc(cc2[N+](=O)[O-])[N+](=O)[O-])/CC1", printStereoWarnings=False) +smiles(R"C[C@H]1CC/C(=N/NS(=O)(=O)c2ccc(cc2)NC(=O)C)/CC1", printStereoWarnings=False) +smiles(R"C[C@@H]1CC/C(=N\NS(=O)(=O)c2ccc(cc2)[N+](=O)[O-])/CC1", printStereoWarnings=False) +smiles(R"C[C@H]1CC/C(=N/NS(=O)(=O)c2ccc(cc2)[N+](=O)[O-])/CC1", printStereoWarnings=False) +smiles(R"C[C@H]1CC[C@](O)(CC1)[C@](C)(C(=O)O)c1ccccc1", printStereoWarnings=False) +smiles(R"C[C@H]1C[C@H](C)[C@@H](C)C1", printStereoWarnings=False) +smiles(R"C[C@H]1C[C@H](C[N+](=O)[O-])C[C@]2(OCCO2)C1", printStereoWarnings=False) +smiles(R"C[C@H]1C[C@H](C[N+](=O)[O-])C[C@@]2(OCCO2)C1", printStereoWarnings=False) +smiles(R"C[C@@H]1C[C@H](C)N[Pt@]2(N1)OC(=O)C(=O)O2", printStereoWarnings=False) +smiles(R"C[C@H]1C[C@H](C)O[C@]2(CCCC2)O1", printStereoWarnings=False) +smiles(R"C[C@H]1C[C@@H](O[Ti@@](O[C@@H]2C[C@H](C)CC(C)(C)C2)(O[C@@H]2C[C@H](C)CC(C)(C)C2)O[C@H]2C[C@@H](C)CC(C)(C)C2)CC(C)(C)C1", printStereoWarnings=False) +smiles(R"C[C@@H]1CCN(CC1)CCC(=O)C[C@H](c1ccccc1)c1c(=O)oc2ccccc2c1O", printStereoWarnings=False) +smiles(R"C[C@H]1CCN(CC1)[C@@H](c1ccccc1)[C@H](O)c1ccccc1", printStereoWarnings=False) +smiles(R"C[C@H]1CCN(CC1)[C@@H](c1ccccc1)C(=O)c1ccccc1", printStereoWarnings=False) +smiles(R"C[C@H]1CCN(CC1)[C@H](Cc1ccccc1Cl)c1ccccc1", printStereoWarnings=False) +smiles(R"C[C@@H]1CCN(CC1)C(=S)N/N=C(\C)/c1cccc[n+]1[O-]", printStereoWarnings=False) +smiles(R"C[C@H]1CCN(CC1)C(=S)N/N=C(\C)/c1cccc[n+]1[O-]", printStereoWarnings=False) +smiles(R"C[C@H]1CCN(CC1)C(=S)N/N=C(\C)/c1nccnc1C", printStereoWarnings=False) +smiles(R"C[C@H]1CCN(CC1)/N=N/c1nc2c([nH]1)n(C)c(=O)n(C)c2=O", printStereoWarnings=False) +smiles(R"C[C@H]1CCN(CC1)S(=O)(=O)c1cc(cc(C)c1C)C(=O)OCC(=O)N[C@H](C)c1ccco1", printStereoWarnings=False) +smiles(R"C[C@H]1CCN[Pt@@]2(N1)OC(=O)C(=O)O2", printStereoWarnings=False) +smiles(R"C[C@@H]1CCO[C@]2(CCCC2)O1", printStereoWarnings=False) +smiles(R"C[C@H]1[C@@H]2O[C@@H]2[C@@H](C)[S@]1(=O)=O", printStereoWarnings=False) +smiles(R"C[C@@H]1[C@@H](C)[C@]1(F)c1ccccc1", printStereoWarnings=False) +smiles(R"C[C@@H]1[C@@H](C)[C@@]1(F)c1ccccc1", printStereoWarnings=False) +smiles(R"C[C@@H]1[C@H](C)[C@@H]2c3ccccc3[C@H]1c1ccccc21", printStereoWarnings=False) +smiles(R"C[C@H]1CN1C1=CC(=O)C2=C(C1=O)[C@H]1c3ccccc3[C@@H]2c2ccccc12", printStereoWarnings=False) +smiles(R"C[C@H]1CN1P1(=NP(=NP(=N1)(N1C[C@@H]1C)N1C[C@H]1C)(N1C[C@H]1C)N1C[C@@H]1C)N1C[C@@H]1C", printStereoWarnings=False) +smiles(R"C[C@@H]1CN1P(=[O+][Cu@@+2]([O+]=P(N1C[C@H]1C)(N1C[C@H]1C)N1C[C@H]1C)([O+]=P(N1C[C@H]1C)(N1C[C@H]1C)N1C[C@H]1C)[O+]=P(N1C[C@H]1C)(N1C[C@H]1C)N1C[C@H]1C)(N1C[C@H]1C)N1C[C@H]1C", printStereoWarnings=False) +smiles(R"C[C@@H]1CN1P(=[O+][Cu@+2]([O+]=P(N1C[C@H]1C)(N1C[C@H]1C)N1C[C@H]1C)([O+]=P(N1C[C@H]1C)(N1C[C@H]1C)N1C[C@H]1C)[O+]=P(N1C[C@H]1C)(N1C[C@H]1C)N1C[C@H]1C)(N1C[C@H]1C)N1C[C@H]1C", printStereoWarnings=False) +smiles(R"C[C@@H]1CN2C[C@H](C)O[Si@](CCCCCC[Si@]34O[C@H](C)CN(C[C@H](C)O3)C[C@H](C)O4)(O1)O[C@@H](C)C2", printStereoWarnings=False) +smiles(R"C[C@@H]1CN2C[C@H](C)O[Si@](CC[Si@]34O[C@H](C)CN(C[C@H](C)O3)C[C@H](C)O4)(O1)O[C@@H](C)C2", printStereoWarnings=False) +smiles(R"C[C@H]1CN2C[C@H](C)O[Si@](CC[Si](C)(C)C)(O1)O[C@@H](C)C2", printStereoWarnings=False) +smiles(R"C[C@H]1CN(CC[C@@]21OCCO2)C1(CCCCC1)c1ccccc1", printStereoWarnings=False) +smiles(R"C[C@@H]1CN=C(N1)c1ccc(cc1)NC(=O)[C@@H]1CC[C@@H](CC1)C(=O)Nc1ccc(cc1)C1=N[C@H](C)CN1", printStereoWarnings=False) +smiles(R"C[C@@H]1CN[Pt@]2(N1)OC(=O)C(=O)O2", printStereoWarnings=False) +smiles(R"C[C@@H]1COC2=[N+]1[Pd@+]([CH2-])(Cl)[N+]1=C(OC[C@@H]1C)[C@]2(C)C", printStereoWarnings=False) +smiles(R"C[C@@H]1COC2=[N+]1[Pd@+]([CH2-])(Cl)[N+]1=C(OC[C@@H]1C)C2(C)C", printStereoWarnings=False) +smiles(R"C[C@@H]1C(=O)C(c2ccccc2)(c2ccccc2)[C@@H](C)C[N@@+]21CCCCCC2", printStereoWarnings=False) +smiles(R"C[C@@H]1N2CCc3ccccc3[C@H]2[C@@H]2c3ccccc3CCN12", printStereoWarnings=False) +smiles(R"C[C@H]1N2CC[C@@H](CC2)[C@H]1OC(=O)C(O)(c1ccccc1)c1ccccc1", printStereoWarnings=False) +smiles(R"C[C@@H]1NC(=S)N(c2ccc(cc2)[S@@](=O)(=O)c2ccc(cc2)N2C(=S)N[C@H](C)C2=O)C1=O", printStereoWarnings=False) +smiles(R"C[C@H]1O[C@@]2(CCCC2)OCC1(C)C", printStereoWarnings=False) +smiles(R"C[C@H]1O[C@]2(CCCC2)O[C@H]1C", printStereoWarnings=False) +smiles(R"C[C@@H]1O[C@]2(OCCO2)C[C@H](OCc2ccccc2)[C@H]1OCc1ccccc1", printStereoWarnings=False) +smiles(R"C[C@@H]1O[C@](C)(Cc2ccccc2)O[C@H]1C", printStereoWarnings=False) +smiles(R"C[C@H]1O[C@@](C)(CCc2ccccc2)O[C@@H]1C", printStereoWarnings=False) +smiles(R"C[C@@H]1O[C@](C)(O[C@H]1C)c1ccc2ccccc2c1", printStereoWarnings=False) +smiles(R"C[C@@H]1O[C@](C)(O[C@H]1C)c1ccccc1", printStereoWarnings=False) +smiles(R"C[C@@H]1O[C@](C)(O[C@H]1C)c1ccc(Cl)c(O)c1", printStereoWarnings=False) +smiles(R"C[C@@H]1O[C@@H](c2cnn(n2)c2ccccc2)[C@@H](O)[C@H]1O", printStereoWarnings=False) +smiles(R"C[C@H]1O[C@H](Cc2ccccc2)O[C@@H]1C", printStereoWarnings=False) +smiles(R"C[C@H]1O[C@H](C)C[C@]2(CCCC2)C1", printStereoWarnings=False) +smiles(R"C[C@@H]1O[C@@H](CCc2ccccc2)O[C@H]1C", printStereoWarnings=False) +smiles(R"C[C@H]1O[C@H](O[C@@H]1C)c1cc2OCOc2cc1Br", printStereoWarnings=False) +smiles(R"C[C@H]1O[C@H](O[C@@H]1C)c1ccc2OCOc2c1", printStereoWarnings=False) +smiles(R"C[C@H]1O[C@H](O[C@@H]1C)c1ccccc1", printStereoWarnings=False) +smiles(R"C[C@@H]1O[C@H](O[C@H]1C)c1ccc(cc1)C(C)C", printStereoWarnings=False) +smiles(R"C[C@@H]1O[C@H](O[C@H]1C)c1ccccc1Cl", printStereoWarnings=False) +smiles(R"C[C@H]1O[C@@H](O[C@@H]1C)c1cccc(c1)[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"C[C@H]1O[C@H](O[C@@H]1C)c1cccc(c1)[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"C[C@@H]1O[C@@H](O[C@H]1C)c1ccc(Cl)c(Cl)c1", printStereoWarnings=False) +smiles(R"C[C@@H]1O[C@@H](O[C@H]1C)c1ccco1", printStereoWarnings=False) +smiles(R"C[C@@H]1O[C@@H](O[C@H]1C)c1c(Cl)cccc1[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"C[C@@H]1O[C@H](O[C@H]1C)c1c(Cl)cccc1[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"C[C@@H]1O[C@H](O[C@H]1C)[C@H]1CCC=CC1", printStereoWarnings=False) +smiles(R"C[C@@H]1OC(=O)[C@@H](c2ccccc2)[C@]2(CCCC2)O1", printStereoWarnings=False) +smiles(R"C[C@@H]1S[C@@H](C)[C@]23C4=C5C6=C2[Fe]27893456C3=C8[C@]19C7=C23", printStereoWarnings=False) +smiles(R"C[C@@H](c1ccccc1)[C@]12C3=C4C5=C1[Hf]16782345(Cl)(Cl)[C@@H]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"C[C@@H](c1ccccc1)[C@]12C3=C4C5=C1[Zr]16782345(Cl)(Cl)[C@@H]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"C[C@H](Cc1ccccc1)N[Pt@](Cl)(Cl)N[C@H](C)Cc1ccccc1", printStereoWarnings=False) +smiles(R"C[C@@H](CC[C@@H](CCCC[C@@H](CC[C@H](C)CC(C)(C)C)CC[C@H](C)CC(C)(C)C)CC[C@@H](C)CC(C)(C)C)CC(C)(C)C", printStereoWarnings=False) +smiles(R"C[C@H](CC[C@@H](CC[C@H](C)CC(C)(C)C)CC[C@H](C)CC(C)(C)C)CC(C)(C)C", printStereoWarnings=False) +smiles(R"C[C@H](CC[Si@](F)(CC[C@H](C)CC(C)(C)C)CC[C@H](C)CC(C)(C)C)CC(C)(C)C", printStereoWarnings=False) +smiles(R"C[C@H]([C@H]1CCC[C@H]2CCCC[C@H]12)[C@H]1CCC[C@H]2CCCC[C@H]12", printStereoWarnings=False) +smiles(R"C[C@H]([C@H]1CC[C@H]2CC[C@H]3CCC[C@H]1[C@@H]23)[C@H]1CC[C@H]2CC[C@H]3CCC[C@H]1[C@@H]23", printStereoWarnings=False) +smiles(R"C[C@@H](CN1C[C@@H]2CC[C@@H](CC2)C1)C(=O)c1cccs1", printStereoWarnings=False) +smiles(R"C[C@@H](CNC(=O)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)NC(=O)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"CC[Hg]N1C(=O)[C@@H]2[C@H](C1=O)[C@@]1(Cl)C(=C(Cl)[C@]2(Cl)[C@@]1(Cl)Cl)Cl", printStereoWarnings=False) +smiles(R"C[C@@H](N)[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"C[C@@H](N)[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"C[C@H](N)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"C[C@H](N)C[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"C[C@@H](NCc1ccccc1)C[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"C[C@@H]([N+](C)(C)C)[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"C[C@@H]([N+](C)(C)C)[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"C[C@@H](N[C@H](C[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1)C(=O)N)c1ccccc1", printStereoWarnings=False) +smiles(R"C[C@H](O)[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"C[C@H](O)[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"C[C@@H](O)C1=C[C@@]2(C=C[C@H]3[C@@H](C=C[C@@H]23)C2OC[C@](C)(C)CO2)OC1=O", printStereoWarnings=False) +smiles(R"C[C@@H](O)C1=C[C@@]2(C=C[C@H]3[C@@H](C=C[C@@H]23)C2OC[C@@](C)(C)CO2)OC1=O", printStereoWarnings=False) +smiles(R"C[C@H](O)C[C@@H]1CCCC[C@@]21OCCO2", printStereoWarnings=False) +smiles(R"C[C@@H](O)[C@@H](O)[C@@H](O)c1cnn(n1)c1ccccc1", printStereoWarnings=False) +smiles(R"C[C@H](O)C[N@@+]12CC[N@+](CC1)(C[C@H](C)O)[Pt@]2(Cl)Cl", printStereoWarnings=False) +smiles(R"C[C@H](O)C[N@+]12CC[N@@+](CC1)(C[C@H](C)O)[Pt@@]2(I)I", printStereoWarnings=False) +smiles(R"C[C@H](OC(=O)c1ccccc1)[C@H](OC(=O)c1ccccc1)[C@@H](OC(=O)c1ccccc1)c1cnn(n1)c1ccccc1", printStereoWarnings=False) +smiles(R"C[C@H](OC(=O)c1ccccc1)[C@H](OC(=O)c1ccccc1)[C@H](OC(=O)c1ccccc1)c1cnn(n1)c1ccccc1", printStereoWarnings=False) +smiles(R"C[C@H](S[C@@H](C)C(=O)N/N=C\c1ccccc1F)C(=O)N/N=C/c1ccccc1F", printStereoWarnings=False) +smiles(R"C[C@H](S[C@@H](C)C(=O)N/N=C(/C)\c1ccc(cc1)OS(=O)(=O)C)C(=O)N/N=C(\C)/c1ccc(cc1)OS(=O)(=O)C", printStereoWarnings=False) +smiles(R"CC[N@+]12CN3CN(CN(C3)C2)C1", printStereoWarnings=False) +smiles(R"CCn1c2cc3c(Cl)c(=O)c4ccccc4c3cc2nc2ccccc12", printStereoWarnings=False) +smiles(R"CCn1c2cc3c(Cl)c(=O)c4ccccc4c3cc2nc2cc(C)c(C)cc12", printStereoWarnings=False) +smiles(R"CCn1c2ccc3c(ncc4cccn34)c2c2ccccc12", printStereoWarnings=False) +smiles(R"CCn1c2ccc3c(ncc4cccn34)c2c2cc(N)ccc12", printStereoWarnings=False) +smiles(R"CCn1c2ccc3c([nH]c(=O)c4cccn34)c2c2cc(N)ccc12", printStereoWarnings=False) +smiles(R"CCn1c2ccc(NC(=O)OC(C)C)cc2c2c1ccc1c2[nH]c(=O)c2cccn12", printStereoWarnings=False) +smiles(R"CCn1c2nc3cc4ccccc4cc3c(=O)n2c2ccccc2c1=O", printStereoWarnings=False) +smiles(R"CCn1c2nc3ccccc3nc2n(CC)c2nc3ccccc3nc12", printStereoWarnings=False) +smiles(R"CCN1CC[C@@]2(CC1)O[C@H](c1ccccc1)[C@@H](O2)c1ccccc1", printStereoWarnings=False) +smiles(R"CCN1CCC[C@@H](C1)NP1(=O)OC[C@](C)(CO1)[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"CCN1CCC[C@@H](C1)NP1(=O)OC[C@@](C)(CO1)[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"CC[N+]1(CC)CCN2CC[N+](CC)(CC)[Pd@@+]12Cl", printStereoWarnings=False) +smiles(R"CC[N+]1(C)C[C@H]2CC[C@H](CC2)C1", printStereoWarnings=False) +smiles(R"CCN1CCN(CC1)c1ccc(cc1)Nc1ccnc2ccc3nn(C)nc3c12", printStereoWarnings=False) +smiles(R"CCN1CN(c2ccccc2)[C@@]2(CCN(CC2)C[C@@H]2COc3ccccc3O2)C1=O", printStereoWarnings=False) +smiles(R"CCn1cn(c2c(O)nc(N)nc12)[Pt@@](N)(Cl)n1cccc2ccccc12", printStereoWarnings=False) +smiles(R"CCn1cn(c2c(O)nc(N)nc12)[Pt](N)(N)Cl", printStereoWarnings=False) +smiles(R"CCn1c(=O)n(CC)c(=O)c2sc(=N)n(C)c12", printStereoWarnings=False) +smiles(R"CCn1nnc(/N=N/c2nnn(CC)n2)n1", printStereoWarnings=False) +smiles(R"CCN[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"CCN(c1ccccc1)c1cc2c(no[n+]2[O-])cc1[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"CCN(c1ccccc1)c1cc2c(NO[N+]2[O-])cc1[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"CCNc1ccc(cc1)/C(=C/1\C=C/C(=N)/C=C1)/c1ccc(N(CC)CC)c(C)c1", printStereoWarnings=False) +smiles(R"C/C(=N\c1ccccc1)/C(=N\c1ccccc1)/C", printStereoWarnings=False) +smiles(R"CC/[N+](=C/1\C=C/C(=C(/c2ccc(cc2)N(CC)Cc2cccc(c2)S(=O)(=O)[O-])\c2ccccc2Cl)/C=C1)/Cc1cccc(c1)S(=O)(=O)O", printStereoWarnings=False) +smiles(R"CC/[N+](=C\1/C=C/C(=C(\c2ccc(cc2)N(CC)Cc2cccc(c2)S(=O)(=O)[O-])/c2ccccc2Cl)/C=C1)/Cc1cccc(c1)S(=O)(=O)O", printStereoWarnings=False) +smiles(R"CC/[N+](=C/1\C=C/C(=C(/c2ccc(cc2)N(CC)Cc2cccc(c2)S(=O)(=O)O)\c2ccc(cc2)S(=O)(=O)[O-])/C=C1)/Cc1cccc(c1)S(=O)(=O)O", printStereoWarnings=False) +smiles(R"CC/[N+](=C\1/C=C/C(=C(\c2ccc(cc2)N(CC)Cc2cccc(c2)S(=O)(=O)O)/c2ccc(cc2)S(=O)(=O)[O-])/C=C1)/Cc1cccc(c1)S(=O)(=O)O", printStereoWarnings=False) +smiles(R"CC/[N+](=C/1\C=C/C(=C(\c2ccc(cc2)N(CC)Cc2cccc(c2)S(=O)(=O)O)/c2ccc(O)cc2S(=O)(=O)[O-])/C=C1)/Cc1cccc(c1)S(=O)(=O)O", printStereoWarnings=False) +smiles(R"CC/[N+](=C\1/C=C/C(=C(/c2ccc(cc2)N(CC)Cc2cccc(c2)S(=O)(=O)O)\c2ccc(O)cc2S(=O)(=O)[O-])/C=C1)/Cc1cccc(c1)S(=O)(=O)O", printStereoWarnings=False) +smiles(R"C/C(=N/c1ccncc1)/C(=N/c1ccncc1)/C", printStereoWarnings=False) +smiles(R"C/C(=N\c1n(C)c(=O)n(C)c(=O)c1N)/C/C(=N\c1n(C)c(=O)n(C)c(=O)c1N)/C", printStereoWarnings=False) +smiles(R"CC(=NC1=[O+][Mn]2(ON1)ONC(=[O+]2)N=C(C)C)C", printStereoWarnings=False) +smiles(R"CC/N=C\1/S[C@H]2N(C)C(=O)[C@@H](S1)N(C)C2=O", printStereoWarnings=False) +smiles(R"CCN(C)[C@]12CN3CN(CN(C3)C2)C1", printStereoWarnings=False) +smiles(R"CCN(Cc1ccccc1)c1ccc(cc1)/C(=C/1\C=C/C(=[N+](\CC)/Cc2ccccc2)/C=C1)/c1cc(O)c(cc1S(=O)(=O)[O-])S(=O)(=O)O", printStereoWarnings=False) +smiles(R"CCN(Cc1ccccc1)c1ccc(cc1)/C(=C\1/C=C/C(=[N+](/CC)\Cc2ccccc2)/C=C1)/c1cc(O)c(cc1S(=O)(=O)[O-])S(=O)(=O)O", printStereoWarnings=False) +smiles(R"CCN(CC)c1ccc2cc(C(=O)Nc3scc(n3)[C@]34C[C@@H]5C[C@@H](C[C@@H](C5)C4)C3)c(=O)oc2c1", printStereoWarnings=False) +smiles(R"CCN(CC)c1ccc(/C=N/NC(=S)N[C@]23C[C@@H]4C[C@@H](C[C@@H](C4)C3)C2)cc1", printStereoWarnings=False) +smiles(R"CCN(CC)c1c(C)nnc2c3c(nnc(c4ccccc4)c3c3ccccc3)nn12", printStereoWarnings=False) +smiles(R"CCN(CC)[C@]1(OC[C@@]2(CO1)CO[C@](OC2)(N(CC)CC)[C@H](F)C(F)(F)F)[C@H](F)C(F)(F)F", printStereoWarnings=False) +smiles(R"CCN(CC)C1=[S+][Ni@@]2(S1)[S+](Cc1ccccc1)[Ni@@]1(SC(=[S+]1)N(CC)CC)[S+]2Cc1ccccc1", printStereoWarnings=False) +smiles(R"CCN(CC)Cc1cc(ccc1OC)Nc1nc(N[C@@H]2CC[C@H](CC2)N(C)C)c2ccccc2n1", printStereoWarnings=False) +smiles(R"CCN(CC)Cc1cc(ccc1O)Nc1ccnc2ccc3nn(C)nc3c12", printStereoWarnings=False) +smiles(R"CC[N+](CC)(CC)CCCNC(=O)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"CCN(CC)CCC[C@H](C)Nc1ccnc2ccc3nn(C)nc3c12", printStereoWarnings=False) +smiles(R"CCN(CC)CCCNc1ccc2nnn3c2c1c(=O)c1cc(O)ccc31", printStereoWarnings=False) +smiles(R"CC[N+](C)(C)CCCNC(=O)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"CC[N+](C)(C)CCCOC(=O)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"CC[N+](C)(CC)CCOC(=O)[C@H](c1ccccc1)[C@@]1(O)CC[C@@H](C)CC1", printStereoWarnings=False) +smiles(R"CCN(CC)C[C@@H](O)[C@H]1CC[C@@H](CC1)c1ccccc1", printStereoWarnings=False) +smiles(R"CCN(CC)CCn1c(nc2cc(ccc12)[N+](=O)[O-])C[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"CCN(CC)CCn1c(nc2cc(ccc12)[N+](=O)[O-])CC12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"CCN(CC)CCNc1ccc2nnn3c2c1c(=O)c1ccccc31", printStereoWarnings=False) +smiles(R"CCN(CC)CCNc1ccc2nnn3c2c1c(=O)c1cc(ccc31)[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"CCN(CC)CCNc1ccc2NNn3c2c1c(=O)c1cc(ccc31)[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"CCN(CC)CCNc1ccc2nnn3c2c1c(=O)c1cc(ccc31)OC(=O)C", printStereoWarnings=False) +smiles(R"CCN(CC)CCNc1ccc2nnn3c2c1c(=O)c1cc(C)ccc31", printStereoWarnings=False) +smiles(R"CCN(CC)CCNc1ccc2nnn3c2c1c(=O)c1cc(O)ccc31", printStereoWarnings=False) +smiles(R"CCN(CC)CCNc1ccc2nnn3c2c1c(=O)c1cc(OC)ccc31", printStereoWarnings=False) +smiles(R"CCN(CC)CCNc1ccc2nnn3c4ccc(OCCN(CC)CC)cc4c(=O)c1c23", printStereoWarnings=False) +smiles(R"CCN(CC)CC(=O)C[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"CCN(CC)CCOC(=O)[C@H]1CC[C@@H](C)CC1", printStereoWarnings=False) +smiles(R"CCN(CC)CCOC(=O)[C@@H]1[C@H](c2ccccc2)[C@H]1c1ccccc1", printStereoWarnings=False) +smiles(R"CCN(CC)CCOC(=O)[C@](O)(C1CCCCC1)[C@@H]1CC[C@@H](C)CC1", printStereoWarnings=False) +smiles(R"CCN(CC)CCOC(=O)[C@](O)(C1CCCCC1)[C@H]1[C@@H](C)CCC[C@@H]1C", printStereoWarnings=False) +smiles(R"CCN(CC)CCOC(=O)[C@](O)([C@@H]1CC[C@H](CC1)C(C)C)[C@@H]1CC[C@H](CC1)C(C)C", printStereoWarnings=False) +smiles(R"CCN(CC)[C@H]1CC[C@@H](CC1)[C@@H]1[C@@H](C)[C@H](Oc2cc3OCOc3cc12)N1CCOCC1", printStereoWarnings=False) +smiles(R"CCN(CC)[C@@H]1CC[C@H](CC1)NS(=O)(=O)c1ccc(cc1)NC(=O)C", printStereoWarnings=False) +smiles(R"CC/N=C(/CC(=O)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1)\N(CC)CC", printStereoWarnings=False) +smiles(R"CCN(CC)C(=O)O[C@@H]1[C@@](C)(C)[C@@H](OC(=O)N(CC)CC)[C@]1(C)C", printStereoWarnings=False) +smiles(R"CCN(CC)C(=S)S[C@-]12[Fe+2]3456789(C(=C26)C3=C15)C1=C8[C@@-]9(SC(=S)N(CC)CC)C7=C41", printStereoWarnings=False) +smiles(R"CCN(CC)C(=S)S[C@@-]12[Fe+2]3456789(C(=C26)C3=C15)C1=C8[C@-]9(SC(=S)N(CC)CC)C7=C41", printStereoWarnings=False) +smiles(R"CCN[C@@H]1[C@]2(CCCCC2)NC(=O)[C@@]21CCCCC2", printStereoWarnings=False) +smiles(R"CCNC(=O)[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"CCNC(=O)[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"CCNC(=S)NNC(=O)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"CC(=NN1C(=O)[C@@H]2[C@@H]3c4ccccc4[C@](OC(=O)C)([C@H]2C1=O)c1ccccc31)C", printStereoWarnings=False) +smiles(R"C/C(=N\Nc1ccccc1)/CC(=O)NC1=CC=C(CC1)NC(=O)C/C(=N\Nc1ccccc1)/C", printStereoWarnings=False) +smiles(R"C/C(=N/N=C(/C)\C(=N/N=C/c1ccccn1)\C)/C(=N/N=C(/C)\C(=N/N=C\c1ccccn1)\C)/C", printStereoWarnings=False) +smiles(R"C/C(=N\NC(=N)N)/CC/C(=N\NC(=N)N)/C", printStereoWarnings=False) +smiles(R"C/C(=N\NC(=N)N)/C/C(=N\NC(=N)N)/C", printStereoWarnings=False) +smiles(R"C/C(=N\NC(=O)c1ccccc1)/C(=N\NC(=O)c1ccccc1)/C", printStereoWarnings=False) +smiles(R"C/C(=N\NC(=O)c1ccccc1O)/C1=C(C)NC(=C(/C(=N/NC(=O)c2ccccc2O)/C)[C@@H]1C)C", printStereoWarnings=False) +smiles(R"C/C(=N\NC(=O)C(=O)N/N=C(/C)\CCC(=O)O)/CCC(=O)O", printStereoWarnings=False) +smiles(R"C/C(=N\NC(=S)N1CCCCC1)/C(=N\NC(=S)N1CCCCC1)/C", printStereoWarnings=False) +smiles(R"CC(=NNC(=S)NC12C[C@H]3C[C@H](C[C@H](C3)C2)C1)C", printStereoWarnings=False) +smiles(R"CCN(N=O)[C@H]1[C@]2(CCCC2)NC(=O)[C@@]21CCCC2", printStereoWarnings=False) +smiles(R"CCNP(=O)(CCl)N[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"CC#[N+][Pt@@H+2]1([H-][MoH]2345(C#[O+])(C#[O+])(C6=C3C4=C2[C@H]56)P1(c1ccccc1)c1ccccc1)P(c1ccccc1)(c1ccccc1)c1ccccc1", printStereoWarnings=False) +smiles(R"CC#[N+][PtH2+2]1([H-][MoH2]2345(C#[O+])(C#[O+])(C6=C3C4=C2C56)P1(c1ccccc1)c1ccccc1)P(c1ccccc1)(c1ccccc1)c1ccccc1", printStereoWarnings=False) +smiles(R"CCO", printStereoWarnings=False) +smiles(R"CC(=O)C12=C3[C@-]45CCC(=O)[C@-]67C8=C9C%10=C6[Fe+2]6235789%10C4=C16", printStereoWarnings=False) +smiles(R"CC(=O)C12=C3[C@-]45CCC(=O)[C@@-]67C8=C9C%10=C6[Fe+2]6235789%10C4=C16", printStereoWarnings=False) +smiles(R"CC(=O)[C@@]12C3=C4C5=C1[Fe]16782345[C@H]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"CC(=O)[C@-]12C3=C4C5=C1[Fe+2]16782345C2=C7[C@-]8(C(=O)C)C6=C12", printStereoWarnings=False) +smiles(R"CC(=O)[C@-]12C3=C4C5=C1[Fe+2]16782345C2=C7[C@@-]8(C(=O)C)C6=C12", printStereoWarnings=False) +smiles(R"CC(=O)[C@@-]12C3=C4C5=C1[Fe+2]16782345C2=C7[C@-]8(C(=O)C)C6=C12", printStereoWarnings=False) +smiles(R"CC(=O)c1ccc2=c3cc(ccc3=c2c1)C(=O)C", printStereoWarnings=False) +smiles(R"CCOc1ccc2c(c1)c(=O)c1c(NCCN(CC)CC)ccc3nnn2c13", printStereoWarnings=False) +smiles(R"CCOc1ccc2[nH]c3c(C)c4ccn(C)cc4c(C)c3c2c1", printStereoWarnings=False) +smiles(R"CCOc1ccc2nnnn2n1", printStereoWarnings=False) +smiles(R"CCOc1cccc2OC[C@H](CN3CC[C@]4(CC3)C(=O)NCN4c3ccccc3)Oc12", printStereoWarnings=False) +smiles(R"CC(=O)c1ccc(cc1)C[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"CCOc1ccccc1/C=c/1\sc2nc(nn2c1=O)c1ccc(F)cc1", printStereoWarnings=False) +smiles(R"CCOc1ccccc1/C=N/N/C(=N/N=C/c1ccccc1OCC)/N/N=C/c1ccccc1OCC", printStereoWarnings=False) +smiles(R"CCOc1ccccc1/C=N/N/C(=N)/N/N=C\c1ccccc1OCC", printStereoWarnings=False) +smiles(R"CCOc1ccccc1/C=N/NC(=S)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"CCOc1ccc(cc1)C(=O)N1C[C@@H](C(=O)NCC(C)(C)[NH+]2CCOCC2)[C@]2(CC[NH2+]CC2)C1", printStereoWarnings=False) +smiles(R"CCOc1ccccc1C(=O)O[C@@H]1CC[C@@H](C)CC1", printStereoWarnings=False) +smiles(R"CCOc1ccc(cc1)N1C(=O)[C@@H]2[C@H]3c4ccccc4[C@H](c4ccccc34)[C@@H]2C1=O", printStereoWarnings=False) +smiles(R"CCOc1ccc(cc1)NC(=O)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"CCOc1ccccc1NC(=O)CCc1nnc2s/c(=C\CCc3ccccc3)/c(=O)n12", printStereoWarnings=False) +smiles(R"CC(=O)c1ccc(cc1)/N=N\c1ccc2nonc2c1N", printStereoWarnings=False) +smiles(R"CCOc1ccc(cc1OC)[C@H]1N2CCCN1CC2", printStereoWarnings=False) +smiles(R"CCOc1cc(/C=N/NC(=S)N[C@]23C[C@@H]4C[C@@H](C[C@@H](C4)C3)C2)ccc1O", printStereoWarnings=False) +smiles(R"CCOc1cc(/C=N/NC(=S)N[C@]23C[C@@H]4C[C@@H](C[C@@H](C4)C3)C2)ccc1OCC", printStereoWarnings=False) +smiles(R"CCOc1ccn(CC(=O)N2CC[C@]3(CC2)SS[C@@]2(CCN(CC2)C(=O)Cn2ccc(OCC)nc2=O)S3)c(=O)n1", printStereoWarnings=False) +smiles(R"CCOc1cc(OCC)c(OCC)cc1/C=N/NC(=S)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"CCOc1ncn(n1)c1ccc(cc1)NC(=S)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"CCO[C@@]1(NC(=O)N(C)C)[C@@H]2CCCC[C@@H]12", printStereoWarnings=False) +smiles(R"CC(=O)c1nnc2n[nH]c(=S)n2n1", printStereoWarnings=False) +smiles(R"CC(=O)c1nnn(n1)c1ccccc1", printStereoWarnings=False) +smiles(R"CCO[C@@]1(OCC)[C@@]2(Cl)[C@@H]3[C@H]4C[C@@H]([C@H]5[C@H]4[C@@]4(Cl)C(=C(Cl)[C@@]5(Cl)C4(OCC)OCC)Cl)[C@H]3[C@]1(Cl)C(=C2Cl)Cl", printStereoWarnings=False) +smiles(R"CCOC1=[O+][Ti]2([OH+]CC)([OH+]CC)([O+]=C(OCC)[CH-]C(=[O+]2)C23C[C@@H]4C[C@@H](C[C@@H](C4)C3)C2)[O+]=C([CH-]1)C12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"CCOC1=[O+][Ti]2([OH+]CC)([OH+]CC)([O+]=C(OCC)[CH-]C(=[O+]2)C23C[C@H]4C[C@H](C[C@H](C4)C3)C2)[O+]=C([CH-]1)C12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"CC(=O)CC1=C(OC(C)C)[C@]2(OCCO2)[C@@H]1O", printStereoWarnings=False) +smiles(R"CC(=O)C(C[C@H]1CC[C@H](CC1)CC(C(=O)C)C(=O)C)C(=O)C", printStereoWarnings=False) +smiles(R"CC(=O)C[C@H]1C[C@]2(OCCO2)CCC1=O", printStereoWarnings=False) +smiles(R"CCOC[C@@H]1CO[C@]2(CCCC2)O1", printStereoWarnings=False) +smiles(R"CCOCCN(CCOCC)C(=O)c1ccc2c(no[n+]2[O-])c1", printStereoWarnings=False) +smiles(R"CCOCCN(CCOCC)C(=O)c1ccc2[N+]([O-])ONc2c1", printStereoWarnings=False) +smiles(R"CC(=O)C(=CN[C@@H]1C[C@H](NC=C(C(=O)C)C(=O)C)C[C@@H](NC=C(C(=O)C)C(=O)C)C1)C(=O)C", printStereoWarnings=False) +smiles(R"CC(=O)CC(=O)[C@H]1CC[C@@H](CC1)C(=O)CC(=O)C", printStereoWarnings=False) +smiles(R"CC(=O)CC(=O)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"CC(=O)CC(=O)NC[C@@H]1CC[C@H](CC1)CNC(=O)CC(=O)C", printStereoWarnings=False) +smiles(R"CC(=O)[C@@H]1C[C@@]21c1ccccc1c1ccccc21", printStereoWarnings=False) +smiles(R"CC(=O)[C@@H]1C[C@@]21c1ccccc1Cc1ccccc21", printStereoWarnings=False) +smiles(R"CC(=O)[C@@H]1C[C@]2(C(=O)C1=O)c1ccccc1c1ccccc21", printStereoWarnings=False) +smiles(R"CCO[C@@H]1CC[C@@]23C4=C5C6=C2[Fe]27893456C3=C8[C@@]19C7=C23", printStereoWarnings=False) +smiles(R"CC(=O)[C@H]1CC[C@H]2[C@H]3C[C@H](C)[C@]4(O)CC5(OC[C@](C)(C)CO5)CC[C@]4(C)[C@H]3C(=O)C[C@]12C", printStereoWarnings=False) +smiles(R"CC(=O)[C@H]1C[C@H]2c3ccccc3[C@@H]1c1ccccc21", printStereoWarnings=False) +smiles(R"CC(=O)[C@H]1[C@H]2c3ccccc3[C@@H]([C@@H]1C)c1ccccc21", printStereoWarnings=False) +smiles(R"CC(=O)[C@@H]1[C@@H](N=N[C@@]21c1ccccc1Oc1ccccc21)c1ccccc1", printStereoWarnings=False) +smiles(R"CC(=O)[C@H]1C(=O)C[C@H](/C=C/c2ccccc2)CC1=O", printStereoWarnings=False) +smiles(R"CC(=O)[C@H]1C(=[O+][Cr]23([O+]=C1C)([O+]=C(C)[C@@H](C(=O)C)C(=[O+]2)C)[O+]=C(C)[C@@H](C(=O)C)C(=[O+]3)C)C", printStereoWarnings=False) +smiles(R"CC(=O)[C@H]1C(=[O+][Cu@]2([O+]=C1C)[O+]=C(C)[C@@H](C(=O)C)C(=[O+]2)C)C", printStereoWarnings=False) +smiles(R"CCO[C@@H]1O[C@H](OCC)C[S@](=O)(=O)C1", printStereoWarnings=False) +smiles(R"CCO[C@@H](C)C(=O)OC[C@]12CO[C@]3(C)CC[C@@](C)(OC1)N23", printStereoWarnings=False) +smiles(R"CC(=O)C[N@+]12CN3CN(CN(C3)C2)C1", printStereoWarnings=False) +smiles(R"CCO/C=N\Nc1ccc2nnc(Cl)n2n1", printStereoWarnings=False) +smiles(R"CCOC(=O)[C@@]12CC[C@@](CC32SCCS3)(C(=O)OCC)[C@]2(SCCS2)C1", printStereoWarnings=False) +smiles(R"CCOC(=O)[C@@]12CCC(=O)C[C@@]2(O)CC[C@]2(OCCCO2)C1", printStereoWarnings=False) +smiles(R"CCOC(=O)[C@]12C[C@H](COc3ccc(cc3)[N+](=O)[O-])ON2O[C@@H](COc2ccc(cc2)[N+](=O)[O-])C1", printStereoWarnings=False) +smiles(R"CCOC(=O)[C@@]12C[C@H](COc3ccc(cc3)[N+](=O)[O-])ON2O[C@@H](COc2ccc(cc2)[N+](=O)[O-])C1", printStereoWarnings=False) +smiles(R"CCOC(=O)[C@@]12N(O[C@@H]3C(=O)N(CC)C(=O)[C@@H]13)O[C@@H]1C(=O)N(CC)C(=O)[C@@H]21", printStereoWarnings=False) +smiles(R"CCOC(=O)c1c2ccc3nc4nonc4nc3c2oc1C(F)(F)F", printStereoWarnings=False) +smiles(R"CCOC(=O)c1ccc2n[se]nc2c1", printStereoWarnings=False) +smiles(R"CCOC(=O)c1cccc2c(=O)c3c(=O)c4[nH]c5c(cccc5c(=O)c4c(=O)c3[nH]c12)C(=O)OCC", printStereoWarnings=False) +smiles(R"CCOC(=O)c1ccc(cc1)/N=C\1/C(C)(C)/C(=N\c2ccc(cc2)C(=O)OCC)/[C@@]1(C)C", printStereoWarnings=False) +smiles(R"CCOC(=O)c1ccc(cc1)/N=C(\CC[C@](C#N)(C#N)CC/C(=N\c1ccc(cc1)C(=O)OCC)/NC(C)(C)C)/NC(C)(C)C", printStereoWarnings=False) +smiles(R"CCOC(=O)c1ccc(cc1)NC(=O)[C@-]12C3=C4C5=C1[Fe+2]16782345C2=C7[C@-]8(C(=O)Nc3ccc(cc3)C(=O)OCC)C6=C12", printStereoWarnings=False) +smiles(R"CCOC(=O)c1ccc(cc1)NC(=O)[C@-]12C3=C4C5=C1[Fe+2]16782345C2=C7[C@@-]8(C(=O)Nc3ccc(cc3)C(=O)OCC)C6=C12", printStereoWarnings=False) +smiles(R"CCOC(=O)c1ccccc1N(O)C(=O)N[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"CCOC(=O)C1=C(C)[C@@H]2[C@@H]3C(=O)NC(=O)[C@H]3[C@@]1(C)[C@@H]1C(=O)NC(=O)[C@@H]21", printStereoWarnings=False) +smiles(R"CCOC(=O)C1=C(C)[C@@H]2[C@@H]3C(=O)OC(=O)[C@H]3[C@@]1(C)[C@@H]1C(=O)OC(=O)[C@@H]21", printStereoWarnings=False) +smiles(R"CCOC(=O)c1cc(Cl)cc2c(=O)c3c(=O)c4[nH]c5c(cc(Cl)cc5c(=O)c4c(=O)c3[nH]c12)C(=O)OCC", printStereoWarnings=False) +smiles(R"CCOC(=O)c1cc(Cl)cc2c(=O)c3c(O)c4[nH]c5c(cc(Cl)cc5c(=O)c4c(O)c3[nH]c12)C(=O)OCC", printStereoWarnings=False) +smiles(R"CCOC(=O)c1ccc(/N=N/N2CN3CN(/N=N/c4ccc(cc4)C(=O)OCC)CN(C3)C2)cc1", printStereoWarnings=False) +smiles(R"CCOC(=O)c1ccc(OC)c2[nH]c3c(=O)c4c(=O)c5c(ccc(OC)c5[nH]c4c(=O)c3c(=O)c12)C(=O)OCC", printStereoWarnings=False) +smiles(R"CCOC(=O)C1=C(C#N)[C@]2(CC[C@@H](OCc3ccccc3)CC2)C(=O)O1", printStereoWarnings=False) +smiles(R"CCOC(=O)[C@@]1(C#N)[C@@]2(CCCCC2)C1(C#N)C#N", printStereoWarnings=False) +smiles(R"CCOC(=O)C1=C(OCC1=O)N[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"CCOC(=O)[C@]1(C)OC(=O)[C@]2(CCCC2)O1", printStereoWarnings=False) +smiles(R"CCOC(=O)[C@]1(C)OC(=O)[C@@]2(CCCCC2)O1", printStereoWarnings=False) +smiles(R"CCOC(=O)c1c(O)nc2cccc3Sc4ncccc4c1c23", printStereoWarnings=False) +smiles(R"CCOC(=O)C1(C(=O)OCC)[C@H](c2cc(OC)c(OC)c(OC)c2)[C@@](C(=O)OCC)(C(=O)OCC)[C@H]1c1cc(OC)c(OC)c(OC)c1", printStereoWarnings=False) +smiles(R"CCOC(=O)[C@]1(O)OC(=O)[C@]2(CC[C@@H](OCc3ccccc3)CC2)C1", printStereoWarnings=False) +smiles(R"CCOC(=O)[C@@]1(S[C@@](S1)(C(=O)OCC)c1ccccc1)c1ccccc1", printStereoWarnings=False) +smiles(R"CCOC(=O)C[C@]1(C)O[C@@H](C)[C@H](C)O1", printStereoWarnings=False) +smiles(R"CCOC(=O)Cc1nnn(C)n1", printStereoWarnings=False) +smiles(R"CCOC(=O)/C(=C/1\[SH+][Cu+2]2([SH+]1)[SH+]/C(=C(\C#N)/C(=O)OCC)/[SH+]2)/C#N", printStereoWarnings=False) +smiles(R"CCOC(=O)/C(=C\[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82)/C#N", printStereoWarnings=False) +smiles(R"CCOC(=O)/C(=C\[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82)/C#N", printStereoWarnings=False) +smiles(R"CCOC(=O)CC[C@]1(C)OC[C@@H](CO)O1", printStereoWarnings=False) +smiles(R"CCOC(=O)CC[C@@]1(C)OC[C@H](O)CO1", printStereoWarnings=False) +smiles(R"CCOC(=O)CC[C@]1(C)O[C@@H](C)[C@H](C)O1", printStereoWarnings=False) +smiles(R"CCOC(=O)/C(=C(\[C@H](C)CC)/[C@H](C)CC)/C#N", printStereoWarnings=False) +smiles(R"CCOC(=O)/C=C\[C@@H](O)[C@@H](O)/C=C/C(=O)OCC", printStereoWarnings=False) +smiles(R"CCOC(=O)CC[C@@](O)([C@H](C(=O)O)c1ccccc1)[C@H](C(=O)O)c1ccccc1", printStereoWarnings=False) +smiles(R"CCOC(=O)C[C@@H]1CC[C@H](CCCC[C@@H]2CC[C@H](CC2)CC(=O)OCC)CC1", printStereoWarnings=False) +smiles(R"CCOC(=O)C[C@@H]1CN(CC[C@]21OCCO2)C(=O)c1ccccc1", printStereoWarnings=False) +smiles(R"CCOC(=O)C[C@@H]1O[C@@H]2CCCC[C@H]2O1", printStereoWarnings=False) +smiles(R"CCOC(=O)C[C@H](SP1(=S)OC[C@]2(CCCCC2)CO1)C(=O)OCC", printStereoWarnings=False) +smiles(R"CCOC(=O)[C@](C#N)(CC/C(=N\c1ccccc1C#N)/NC(C)(C)C)CC/C(=N\c1ccccc1C#N)/NC(C)(C)C", printStereoWarnings=False) +smiles(R"CCOC(=O)[C@](C#N)([C@H]1C=CCC1)[C@H]1C=CCC1", printStereoWarnings=False) +smiles(R"CCOC(=O)/C(=C\N[C@@H]1C[C@H](N/C=C(\C(=O)C)/C(=O)OCC)C[C@@H](N/C=C(/C(=O)C)\C(=O)OCC)C1)/C(=O)C", printStereoWarnings=False) +smiles(R"CCOC(=O)[C@H]1C[C@]21c1ccccc1c1ccccc21", printStereoWarnings=False) +smiles(R"CCOC(=O)[C@H]1C[C@@]2(CC[C@H]1N)c1ccccc1c1ccccc21", printStereoWarnings=False) +smiles(R"CCOC(=O)[C@H]1C[C@@]2(OCCO2)c2c(OC)ccc(Cl)c2[C@@H]1C", printStereoWarnings=False) +smiles(R"CCOC(=O)[C@@H]1C[C@]2(OCCO2)C[C@@H](C)C1=O", printStereoWarnings=False) +smiles(R"CCOC(=O)[C@@H]1C=C2O[C@H]3O[C@@]4(CCCCC4)O[C@H]3[C@H]2[C@H]2C(=O)C=CC(=O)[C@]12C(=O)OC", printStereoWarnings=False) +smiles(R"CCOC(=O)[C@@H]1CC2(SCCS2)[C@H](C[C@@]21SCCS2)C(=O)O", printStereoWarnings=False) +smiles(R"CCOC(=O)[C@H]1CC[C@]2(OCCO2)C1", printStereoWarnings=False) +smiles(R"CCOC(=O)[C@H]1CCC[C@]21Nc1cccc3cccc(N2)c13", printStereoWarnings=False) +smiles(R"CCOC(=O)[C@H]1CCCC[C@]21Nc1cccc3cccc(N2)c13", printStereoWarnings=False) +smiles(R"CCOC(=O)[C@@H]1CCCC[C@@]21OCCO2", printStereoWarnings=False) +smiles(R"CCOC(=O)[C@H]1C(C)(C)/C(=N/NS(=O)(=O)c2ccc(C)cc2)/C1(C)C", printStereoWarnings=False) +smiles(R"CCOC(=O)[C@@H]1CC[C@@H](CC1)NC(=O)c1ccccc1", printStereoWarnings=False) +smiles(R"CCOC(=O)[C@H]1[C@@H]2CC[C@@H](CC2)[C@@H]1C(=O)OCC", printStereoWarnings=False) +smiles(R"CCOC(=O)[C@@H]1[C@@H](c2ccc(cc2)OC(=O)C)[C@H](C(=O)OCC)c2nnp(N(CCOS(=O)(=O)C)CCOS(=O)(=O)C)c2/C/1=N/N=C\1/c2c(nnp2N(CCOS(=O)(=O)C)CCOS(=O)(=O)C)[C@@H](C(=O)OCC)[C@@H](c2ccc(cc2)OC(=O)C)[C@@H]1C(=O)OCC", printStereoWarnings=False) +smiles(R"CCOC(=O)[C@H]1[C@H](c2ccc(O)cc2)[C@@H](C(=O)OCC)C(=O)[C@H](C1=O)[C@@H]([C@H](O)[C@H](O)[C@H](O)CO)[C@H]1C(=O)[C@@H](C(=O)OCC)[C@H](c2ccc(O)cc2)[C@@H](C(=O)OCC)C1=O", printStereoWarnings=False) +smiles(R"CCOC(=O)[C@H]1[C@H](c2ccc(O)cc2)[C@@H](C(=O)OCC)C(=O)[C@H](C1=O)[C@H]([C@H](O)[C@H](O)[C@H](O)CO)[C@H]1C(=O)[C@@H](C(=O)OCC)[C@H](c2ccc(O)cc2)[C@@H](C(=O)OCC)C1=O", printStereoWarnings=False) +smiles(R"CCOC(=O)[C@H]1[C@H](C(=O)OCC)[C@]2(Cl)C(=C(Cl)[C@@]1(Cl)[C@]2(Cl)Cl)Cl", printStereoWarnings=False) +smiles(R"CCOC(=O)[C@@H]1[C@@H](C(=O)OCC)[C@H]2c3ccccc3[C@@H]1c1ccccc21", printStereoWarnings=False) +smiles(R"CCOC(=O)[C@@H]1C(=O)[C@H]([C@@H](N(CCCl)CCCl)[C@H](O)[C@H](O)[C@H](O)CO)C(=O)[C@@H](C(=O)OCC)[C@@H]1c1ccc(O)cc1", printStereoWarnings=False) +smiles(R"CCOC(=O)[C@H]1CS[C@@]2(CCCC2)N1", printStereoWarnings=False) +smiles(R"CCOC(=O)[C@H]1N[Pt@@](Cl)(Cl)N[C@@H]1C(=O)OCC", printStereoWarnings=False) +smiles(R"CCOC(=O)[C@H]1NS(=O)(=O)N[C@@H](NS(=O)(=O)N1)C(=O)OCC", printStereoWarnings=False) +smiles(R"CCOC(=O)[C@H]1O[C@]21CCCC2", printStereoWarnings=False) +smiles(R"CCOC(=O)[C@@H]1O[C@]2(CCCCC2)O[C@@H]1C(=O)OCC", printStereoWarnings=False) +smiles(R"CCOC(=O)[C@H](Br)C#N", printStereoWarnings=False) +smiles(R"CCOC(=O)[C@@H](C#N)[C@]1(C(=O)Nc2ccccc12)[C@H](C#N)C(=O)OCC", printStereoWarnings=False) +smiles(R"CCOC(=O)[C@H](C)NC(=O)N(C)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"CCOC(=O)[C@H](C(=O)C)[C@@H](c1ccccc1)[C@@H](C(=O)C)C(=O)OCC", printStereoWarnings=False) +smiles(R"CCOC(=O)[C@@H](C(=O)C)[C@@H](c1ccc(cc1)N(C)C)[C@H](C(=O)C)C(=O)OCC", printStereoWarnings=False) +smiles(R"CCOC(=O)[C@@H](C(=O)C)[C@@H](c1ccc(cc1)[N+](=O)[O-])[C@H](C(=O)C)C(=O)OCC", printStereoWarnings=False) +smiles(R"CCOC(=O)[C@@H](C(=O)C)[C@H](c1ccc(cc1)[N+](=O)[O-])[C@H](C(=O)C)C(=O)OCC", printStereoWarnings=False) +smiles(R"CCOC(=O)[C@@H](C(=O)C)[C@@H](c1ccc(O)cc1)[C@H](C(=O)C)C(=O)OCC", printStereoWarnings=False) +smiles(R"CCOC(=O)[C@H](C(=O)C)[C@@H](c1ccc(OCc2ccccc2)c(C)c1)[C@@H](C(=O)C)C(=O)OCC", printStereoWarnings=False) +smiles(R"CCOC(=O)[C@@H](C(=O)C)[C@@H](c1ccc(OC)cc1)[C@H](C(=O)C)C(=O)OCC", printStereoWarnings=False) +smiles(R"CCOC(=O)[C@@H](C(=O)C)[C@H](CCc1cc(OC)ccc1OC)[C@H](C(=O)C)C(=O)OCC", printStereoWarnings=False) +smiles(R"CCOC(=O)[C@H](C(=O)C)[C@H](C)[C@@H](C(=O)C)C(=O)OCC", printStereoWarnings=False) +smiles(R"CCOC(=O)[C@H](/N=N/c1[nH]nnn1)/N=N/c1[nH]nnn1", printStereoWarnings=False) +smiles(R"CCOC(=O)C[n+]1ccc(cc1)C(=O)C[C@@]1(O)[C@]2(Cl)[C@]3(Cl)[C@]4(Cl)[C@@]1(Cl)[C@]1(Cl)[C@@]2(Cl)[C@@]3(Cl)[C@](Cl)(Cl)[C@]41Cl", printStereoWarnings=False) +smiles(R"CCOC(=O)C[n+]1cccc(c1)C(=O)C[C@@]1(O)[C@@]2(Cl)[C@@]3(Cl)[C@@]4(Cl)[C@]1(Cl)[C@@]1(Cl)[C@]2(Cl)[C@]3(Cl)[C@@](Cl)(Cl)[C@@]41Cl", printStereoWarnings=False) +smiles(R"CCOC(=O)CN1C(=O)[C@H]2[C@H]3c4ccccc4[C@H](c4ccccc34)[C@H]2C1=O", printStereoWarnings=False) +smiles(R"CCOC(=O)CN(CC)C(=O)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"CCOC(=O)CNC(=O)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"CCOC(=O)CNC(=O)N(CC)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"CCOC(=O)C(=O)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"CCOC(=O)N1CC[C@]2(CC1)O[C@@H](C)[C@](Sc1ccccc1)(C2)C(=O)C", printStereoWarnings=False) +smiles(R"CCOC(=O)N1CCC(=O)[C@H](CN[C@@]23C[C@H]4C[C@H](C[C@H](C4)C3)C2)C1", printStereoWarnings=False) +smiles(R"CCOC(=O)N1[C@@H]2C[S@@](=O)(=O)C[C@H]12", printStereoWarnings=False) +smiles(R"CCOC(=O)N1N(C(=O)OCC)[C@H]2c3ccccc3[C@@H]1c1ccccc21", printStereoWarnings=False) +smiles(R"CCOC(=O)N[C@@H]1C[C@@]2(CCCCC2)C=CN1C(=O)OCC", printStereoWarnings=False) +smiles(R"CCOC(=O)N[C@@H]1CC[C@@H]2c3ccccc3[C@@](C1)([N+](=O)[O-])c1ccccc21", printStereoWarnings=False) +smiles(R"CCOC(=O)N[C@@H]1CC[C@H]2c3ccccc3[C@](C1)([N+](=O)[O-])c1ccccc21", printStereoWarnings=False) +smiles(R"CCOC(=O)N[C@@H]1C[C@@H]2c3ccccc3[C@H]1c1ccccc21", printStereoWarnings=False) +smiles(R"CCOC(=O)N[C@H](P(=O)(O)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)c1ccc(cc1)[C@H](NC(=O)OCC)P(=O)(O)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"CCOC(=O)Oc1ccc2c(c1)c(=O)c1c(NCCCN(CC)CC)ccc3nnn2c13", printStereoWarnings=False) +smiles(R"CCOC(=O)Oc1ccc2c(c1)c(=O)c1c(NCCN(CC)CC)ccc3nnn2c13", printStereoWarnings=False) +smiles(R"CC[OH+][Ti]12([O+]=C(C)[CH-]C(=[O+]1)c1ccccc1)([O+]=C(C)[CH-]C(=[O+]2)c1ccccc1)[OH+]C12C[C@@]3(C)C[C@@](C)(C1)C[C@@](C)(C2)C3", printStereoWarnings=False) +smiles(R"CC[OH+][Ti]12([O+]=C(C)[CH-]C(=[O+]1)c1ccccc1)([O+]=C(C)[CH-]C(=[O+]2)c1ccccc1)[OH+]C12C[C@@]3(C)C[C@@](C)(C1)C[C@](C)(C3)C2", printStereoWarnings=False) +smiles(R"CC[OH+][Ti]([OH+]CC)([OH+]c1ccccc1/C=N/[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1)[OH+]c1ccccc1/C=N/[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"CC(=O)n1c2cc3ccccc3cc2n(C(=O)C)c2cc3ccccc3cc12", printStereoWarnings=False) +smiles(R"CC(=O)N1CC[C@]2(CC1)SS[C@]1(CCN(CC1)C(=O)C)S2", printStereoWarnings=False) +smiles(R"CC(=O)n1ccc(=c2ccn(cc2)C(=O)C)cc1", printStereoWarnings=False) +smiles(R"CC(=O)N1CCN(C(=O)C)[C@@H]2[C@H]1N(CCN2C(=O)C)C(=O)C", printStereoWarnings=False) +smiles(R"CCON1C(=O)[C@@]2(CCCCC2)C(=O)[C@]21CCCC=C2", printStereoWarnings=False) +smiles(R"CC(=O)N1O[C@]2(C)c3ccccc3[C@@]1(C)c1ccccc21", printStereoWarnings=False) +smiles(R"CC(=O)N[C@@]12CCCC[C@]2(CCCC1)NC(=O)C", printStereoWarnings=False) +smiles(R"CC(=O)N[C@]12CC[C@H](c3ccccc13)c1ccccc21", printStereoWarnings=False) +smiles(R"CC(=O)N[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"CC(=O)Nc1ccc2c3ccccc3[C@H](N3C[C@@H]4CC[C@@H](CC4)C3)c2c1", printStereoWarnings=False) +smiles(R"CC(=O)Nc1ccc(cc1)/C=c\1/sc2nnc(c3cccnc3)n2c1=O", printStereoWarnings=False) +smiles(R"CC(=O)Nc1ccc(cc1)/C=c/1\sc2nnc(/C=C/c3ccccc3)n2c1=O", printStereoWarnings=False) +smiles(R"CC(=O)Nc1ccc(cc1)/C=c/1\sc2nnc(CCC(=O)Nc3ccccc3Cl)n2c1=O", printStereoWarnings=False) +smiles(R"CC(=O)Nc1ccc(cc1)/N=C/1\C(=C(SC2=C(c3ccccc3)/C(=N/c3ccc(cc3)NC(=O)C)/c3ccccc23)c2ccccc12)c1ccccc1", printStereoWarnings=False) +smiles(R"CC(=O)Nc1ccc(cc1)S(=O)(=O)c1ccc(cc1)NC(=O)c1ccccc1SC(=O)CCCCn1ccccc1", printStereoWarnings=False) +smiles(R"CC(=O)Nc1cccc(c1)S(=O)(=O)c1cccc(NC(=O)c2ccccc2SC(=O)CCCCn2ccccc2)c1", printStereoWarnings=False) +smiles(R"CC(=O)Nc1ccc(/C=N/NC(=S)N[C@@H]2CN3CC[C@@H]2CC3)cc1", printStereoWarnings=False) +smiles(R"CC(=O)/N=c\1/nc(SCc2ccccc2)c2c([nH]o[n+]2[O-])n1", printStereoWarnings=False) +smiles(R"CC(=O)/N=c\1/nc(SCc2ccccc2)c2c(NO[N+]2[O-])[nH]1", printStereoWarnings=False) +smiles(R"CC(=O)Nc1n[nH]/c(=S\2/[Pt@@](Cl)(Cl)/S(=c\3/[nH]nc(NC(=O)C)s3)/[Pt@]2(Cl)Cl)/s1", printStereoWarnings=False) +smiles(R"CC(=O)Nc1nnn(C)n1", printStereoWarnings=False) +smiles(R"CC(=O)N[C@@H]1c2ccccc2C(C)(C)[C@@]21CC[C@]1(OCCO1)CC2", printStereoWarnings=False) +smiles(R"CC(=O)N[C@@H]1CC[C@H](CC1)Cc1ccccc1", printStereoWarnings=False) +smiles(R"CC(=O)N[C@H]1CC[C@@H](CC1)CC1CCCCC1", printStereoWarnings=False) +smiles(R"CC(=O)N[C@@H]1CC[C@H](CC1)C(C)(C)C", printStereoWarnings=False) +smiles(R"CC(=O)N[C@H]1CC[C@@H](CC1)C(C)(C)C", printStereoWarnings=False) +smiles(R"CC(=O)N[C@@H]1CC[C@H](CC1)C(F)(F)F", printStereoWarnings=False) +smiles(R"CC(=O)N[C@H]1CC[C@@H](CC1)C(F)(F)F", printStereoWarnings=False) +smiles(R"CC(=O)N[C@@H]1CC[C@H](CCC2CCCCC2)CC1", printStereoWarnings=False) +smiles(R"CC(=O)N[C@H]1C[C@@H]2c3ccccc3[C@@]1([N+](=O)[O-])c1ccccc21", printStereoWarnings=False) +smiles(R"CC(=O)N[C@H]1C[C@H]2c3ccccc3[C@]1([N+](=O)[O-])c1ccccc21", printStereoWarnings=False) +smiles(R"CC(=O)N[C@H]1C(=[O+][Cu@@]2([O+]=C1C)[O+]=C(C)[C@@H](NC(=O)C)C(=[O+]2)C)C", printStereoWarnings=False) +smiles(R"CC(=O)N[C@H](C(C)C)C(=O)O[Pt@]1(OC(=O)[C@H](NC(=O)C)C(C)C)N[C@H]2CCCC[C@H]2N1", printStereoWarnings=False) +smiles(R"CC(=O)N[C@@H](Cn1cc/c(=N)/cc1)C(=O)O", printStereoWarnings=False) +smiles(R"CC(=O)N[C@@H](C(=O)N/N=C(\C)/c1ccccc1)C(=O)N/N=C(\C)/c1ccccc1", printStereoWarnings=False) +smiles(R"CC(=O)O", printStereoWarnings=False) +smiles(R"CC(=O)O[C@@]12CCCC[C@H]2[C@@]2(CCCC2)NC1=O", printStereoWarnings=False) +smiles(R"CC(=O)O[C@]12[C@H]3CCC[C@H]1CCC[C@H]2CCC3", printStereoWarnings=False) +smiles(R"CC(=O)Oc1c2c(n(C(=O)C)c3ccccc3n2C(=O)C)c(OC(=O)C)c2c1n(C(=O)C)c1ccccc1n2C(=O)C", printStereoWarnings=False) +smiles(R"CC(=O)Oc1cc2c(cc1OC(=O)C)[C@@]1(C)CC[C@]2(C)c2cc(OC(=O)C)c(OC(=O)C)cc12", printStereoWarnings=False) +smiles(R"CC(=O)Oc1cc2nc3ccccc3nc2c2c1n(C)c1cc(ccc21)OC(=O)C", printStereoWarnings=False) +smiles(R"CC(=O)Oc1ccc(cc1)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"CC(=O)Oc1ccccc1[C@H]1CC(=O)C[C@@H](c2ccccc2OC(=O)C)[C@@]21C(=O)c1ccccc1C2=O", printStereoWarnings=False) +smiles(R"CC(=O)O[C@]1(C=C/C(=N/S(=O)(=O)c2ccccc2)/C=C1)[C@@]1(C=C/C(=N/S(=O)(=O)c2ccccc2)/C=C1)OC(=O)C", printStereoWarnings=False) +smiles(R"CC(=O)O[C@]1([C@@H]2CC[C@H]1CC2)c1cc(cc(c1)C(F)(F)F)C(F)(F)F", printStereoWarnings=False) +smiles(R"CC(=O)OCc1cnc2c3ncccc3C(=O)c3nc4ccccc4c1c23", printStereoWarnings=False) +smiles(R"CC(=O)OC[C@]1(C)OC(=O)[C@@]2(CCCCC2)O1", printStereoWarnings=False) +smiles(R"CC(=O)OC[C@@H]1CC/C(=C/2\C(=O)O[C@@](C)(C)OC2=O)/N1", printStereoWarnings=False) +smiles(R"CC(=O)OC[C@H]1CO[C@@]2(CCCC2)O1", printStereoWarnings=False) +smiles(R"CC(=O)OC[C@@H]1O[C@H](OC[C@H](OC(=O)C)[C@H](OC(=O)C)[C@@H](OC(=O)C)c2cnn(n2)c2ccccc2)[C@@H](OC(=O)C)[C@@H](OC(=O)C)[C@H]1OC(=O)C", printStereoWarnings=False) +smiles(R"CC(=O)OC[C@H]1O[C@H](OC(=O)C)[C@H](NC(=O)CN[Pt@](Cl)(Cl)NCC(=O)N[C@H]2[C@@H](OC(=O)C)O[C@H](COC(=O)C)[C@H](OC(=O)C)[C@H]2OC(=O)C)[C@@H](OC(=O)C)[C@H]1OC(=O)C", printStereoWarnings=False) +smiles(R"CC(=O)OC[C@H]1O[C@H](OC(=O)C)[C@H](N[Pt@](Cl)(Cl)N[C@H]2[C@@H](OC(=O)C)O[C@H](COC(=O)C)[C@H](OC(=O)C)[C@H]2OC(=O)C)[C@@H](OC(=O)C)[C@H]1OC(=O)C", printStereoWarnings=False) +smiles(R"CC(=O)OC[C@H](OC(=O)C)[C@H]1O[C@@H](O[C@H]([C@H](COC(=O)C)OC(=O)C)[C@H]1OC(=O)C)c1ccccc1", printStereoWarnings=False) +smiles(R"CC(=O)OC[C@@H](OC(=O)C)[C@@H](O[C@@H]1O[C@H](COC(=O)C)[C@@H](OC(=O)C)[C@H](OC(=O)C)[C@@H]1OC(=O)C)[C@@H](OC(=O)C)c1cnn(n1)c1ccccc1", printStereoWarnings=False) +smiles(R"CC(=O)OC[C@H](OC(=O)C)[C@H](OC(=O)C)[C@H](COC(=O)C)OC(=O)C", printStereoWarnings=False) +smiles(R"CC(=O)OCCn1c2cc3c(Cl)c(=O)c4ccccc4c3cc2nc2ccccc12", printStereoWarnings=False) +smiles(R"CC(=O)O[C@H]1c2ccccc2[C@@H](OC(=O)C)c2ccccc12", printStereoWarnings=False) +smiles(R"CC(=O)O[C@@H]1CC[C@@]2(C)C(=CC[C@H]3[C@H]2CC[C@@]2(C)[C@H]3CC[C@]32SCCCS3)C1", printStereoWarnings=False) +smiles(R"CC(=O)O[C@@H]1CC[C@@]2(C)[C@@H](CC[C@H]3[C@H]2CC[C@@]2(C)[C@H]3CC[C@]32SCCCS3)C1", printStereoWarnings=False) +smiles(R"CC(=O)O[C@H]1CCCCCCCCCC[C@@]21OCCO2", printStereoWarnings=False) +smiles(R"CC(=O)O[C@@H]1C[C@](C)(C)C[C@@H](OC(=O)C)[C@@]1(C)C", printStereoWarnings=False) +smiles(R"CC(=O)O[C@@H]1[C@](C)(C)[C@@H](OC(=O)C)[C@]1(C)C", printStereoWarnings=False) +smiles(R"CC(=O)O[C@@H]1[C@@](C)(C)[C@@H](OC(=O)C)[C@]1(C)C", printStereoWarnings=False) +smiles(R"CC(=O)O[C@H]1CC[C@H]2[C@H]3CC[C@H]4C[C@@]5(SCCS5)CC[C@]4(C)[C@H]3CC[C@]12C", printStereoWarnings=False) +smiles(R"CC(=O)O[C@H]1CC[C@@H](CC1)CC1CCCCC1", printStereoWarnings=False) +smiles(R"CC(=O)O[C@H]1C=C[C@H](S[C@]23C[C@@H]4C[C@@H](C[C@@H](C4)C3)C2)N(C(=O)C)[C@@H]1S[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"CC(=O)O[C@@H]1C[C@@H]2N[Pt@@](Cl)(Cl)N[C@H]2C[C@@H]1OC(=O)C", printStereoWarnings=False) +smiles(R"CC(=O)O[C@H]1CCN(Cc2ccccc2)C[C@H]1CN(C(=O)C)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"CC(=O)O[C@@H]1C=CN(C(=O)C)[C@H](S[C@]23C[C@@H]4C[C@@H](C[C@@H](C4)C3)C2)[C@H]1O", printStereoWarnings=False) +smiles(R"CC(=O)O[C@H]1C=CN(C(=O)C)[C@@H](S[C@]23C[C@@H]4C[C@@H](C[C@@H](C4)C3)C2)[C@H]1OC(=O)C", printStereoWarnings=False) +smiles(R"CC(=O)O[C@H]1[C@H]2CC[C@@H]1[C@H]1[C@@H]2[C@@]2(Cl)C(=C(Cl)[C@]1(Cl)[C@]2(Cl)Cl)Cl", printStereoWarnings=False) +smiles(R"CC(=O)O[C@H]1[C@H]2[C@@H]3[C@H]2[C@@H]2[C@H]1[C@H]32", printStereoWarnings=False) +smiles(R"CC(=O)O[C@H]1[C@H](CCC[C@@H]1C(C)C)C(C)C", printStereoWarnings=False) +smiles(R"CC(=O)O[C@H]1[C@H](OC(=O)C)[C@H](OC(=O)C)[C@H]2O[C@](C)(C)O[C@H]2[C@H]1OC(=O)C", printStereoWarnings=False) +smiles(R"CC(=O)O[C@H]1[C@H](OC(=O)C)[C@H](OC(=O)C)[C@H](OC(=O)C)[C@H](OC(=O)C)[C@H]1OC(=O)C", printStereoWarnings=False) +smiles(R"CC(=O)O[C@@H]1[C@@H](OC(=O)C)CN(OCc2ccccc2)C[C@@H]1OC(=O)C", printStereoWarnings=False) +smiles(R"CC(=O)O[C@H]1[C@@H](OC(=O)C)C(=O)OC(=O)[C@@H]1OC(=O)C", printStereoWarnings=False) +smiles(R"CC(=O)O[C@@H]1[C@@H](ON(=C[C@@]21CCCCC2)O)O[C@@H]1CCCCC1(c1ccccc1)c1ccccc1", printStereoWarnings=False) +smiles(R"CC(=O)O[C@@H]1C[N@+]2(CCc3ccccc3)CC[C@H]1CC2", printStereoWarnings=False) +smiles(R"CC(=O)O[C@@H]1C[N@@+]2(C)CC[C@@]1(CC2)c1ccccc1", printStereoWarnings=False) +smiles(R"CC(=O)O[C@@H]1CN(C[C@@H](OC(=O)C)CN(C1)c1ccccc1)c1ccccc1", printStereoWarnings=False) +smiles(R"CC(=O)O[C@H]1CN(OC[C@H]2O[C@H](OC(=O)C)[C@H](OC(=O)C)[C@@H](OC(=O)C)[C@H]2OC(=O)C)C[C@H](OC(=O)C)[C@@H]1OC(=O)C", printStereoWarnings=False) +smiles(R"CC(=O)O[C@@H]1CO[C@H]([C@@H](OC(=O)C)[C@H]1OC(=O)C)n1c2c(ccc3c4ccccc4[nH]c23)c2ccccc12", printStereoWarnings=False) +smiles(R"CC(=O)O[C@H]1C(=[O+][Cu@@]2([O+]=C1C)[O+]=C(C)[C@@H](OC(=O)C)C(=[O+]2)C)C", printStereoWarnings=False) +smiles(R"CC(=O)O[C@@H]1N(C(=O)C)[C@H](S[C@]23C[C@@H]4C[C@@H](C[C@@H](C4)C3)C2)C(=C[C@@]1(C)OC(=O)C)C", printStereoWarnings=False) +smiles(R"CC(=O)O[C@H]1OC[C@@H]2O[C@]3(CCCCC3)O[C@H]2[C@@H]1SCc1ccccc1", printStereoWarnings=False) +smiles(R"CC(=O)O[C@@H]1O[C@H](OC(=O)C)[C@H](OC(=O)C)[C@@H](OC(=O)C)O1", printStereoWarnings=False) +smiles(R"CC(=O)O[C@@H](c1cnn(n1)c1ccccc1)[C@H](OC(=O)C)[C@@H](COC(=O)C)OC(=O)C", printStereoWarnings=False) +smiles(R"CC(=O)O[C@@H](c1cnn(n1)c1ccccc1)[C@H](OC(=O)C)[C@H](OC(=O)C)[C@@H](COC(=O)C)OC(=O)C", printStereoWarnings=False) +smiles(R"CC(=O)O[C@H](c1cnn(n1)c1ccccc1)[C@@H](OC(=O)C)[C@@H](OC(=O)C)[C@H](COC(=O)C)OC(=O)C", printStereoWarnings=False) +smiles(R"CC(=O)O[C@@H](C)C1=C[C@@]2(C=C[C@H]3[C@@H](C=C[C@@H]23)C2OC[C@](C)(C)CO2)OC1=O", printStereoWarnings=False) +smiles(R"CC(=O)O[C@@H](C)C1=C[C@@]2(C=C[C@H]3[C@@H](C=C[C@@H]23)C2OC[C@@](C)(C)CO2)OC1=O", printStereoWarnings=False) +smiles(R"CC(=O)O[C@@H](C)[C@@H](OC(=O)C)[C@@H](OC(=O)C)c1cnn(n1)c1ccccc1", printStereoWarnings=False) +smiles(R"CC(=O)O[C@@H](C)C(=O)O[C@@H](COC(=O)[C@H](C)OC(=O)C)COC(=O)[C@H](C)OC(=O)C", printStereoWarnings=False) +smiles(R"CC(=O)O[C@H]([C@@H]1C[C@@H]2CCN1CC2)c1ccnc2ccccc12", printStereoWarnings=False) +smiles(R"CC(=O)O[C@@H]([C@H](COC(=O)C)OC(=O)C)c1cnn(n1)c1ccccc1", printStereoWarnings=False) +smiles(R"CC(=O)O[C@H]([C@@H](COC(=O)C)OC(=O)C)c1cnn(n1)c1ccccc1", printStereoWarnings=False) +smiles(R"CC(=O)[OH+][Cu@@+2]12N(Cc3n(C)cc[n+]13)Cc1n(C)cc[n+]21", printStereoWarnings=False) +smiles(R"CC(=O)[OH+][Cu@+2]12N(Cc3n(C)cc[n+]13)Cc1n(C)cc[n+]21", printStereoWarnings=False) +smiles(R"CC(=O)[OH+][Hg][C@]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"CC(=O)[OH+][Hg][C@@]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"CC(=O)[OH+][Hg][C@]12C3=C4C5=C1[Fe+2]16782345C2=C7[C@@]8([Hg][OH+]C(=O)C)C6=C12", printStereoWarnings=False) +smiles(R"CC(=O)O[Pb]([C@@]12C3=C4C5=C1[Fe]16782345[C@H]2C7=C6C1=C82)([C@]12C3=C4C5=C1[Fe]16782345[C@H]2C7=C6C1=C82)[C@@]12C3=C4C5=C1[Fe]16782345[C@H]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"CCOP(=O)(CCl)N[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"CCOP(=O)(OCC)C[C@@H]1C[C@](O)(CNc2cc(Cl)nc(N)n2)C1", printStereoWarnings=False) +smiles(R"CCOP(=O)(OCC)N[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"CCOP(=O)(OCC)NC(=S)N[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"CC(=O)S[C@H]1C[S@@](=O)(=O)C[C@@H]1SC(=O)C", printStereoWarnings=False) +smiles(R"CCOS(=O)(=O)C/C(=N\N=C(\CS(=O)(=O)OCC)/c1ccccc1)/c1ccccc1", printStereoWarnings=False) +smiles(R"CC(=O)SS[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"CCSc1n/c(=C/c2ccco2)/c2nncn12", printStereoWarnings=False) +smiles(R"CCSc1n/c(=C/c2ccco2)/c2nnnn12", printStereoWarnings=False) +smiles(R"CCSC1(SCC)[C@]2(CCCCC2)C(=O)[C@]21CCCCC2", printStereoWarnings=False) +smiles(R"C=C[Si@]1(C)C[Si@@](C)(C=C)C1", printStereoWarnings=False) +smiles(R"CC[Sn@](CC)(OC(=O)[C@@H](N)Cc1ccccc1)OC(=O)[C@@H](N)Cc1ccccc1", printStereoWarnings=False) +smiles(R"CC[Sn@](CC)(OC(=O)[C@H](OC(=O)C)c1ccccc1)OC(=O)[C@H](OC(=O)C)c1ccccc1", printStereoWarnings=False) +smiles(R"CC[Sn@](CC)(OS(=O)(=O)C[C@@]12CC[C@@H](CC1=O)C2(C)C)OS(=O)(=O)C[C@@]12CC[C@@H](CC1=O)C2(C)C", printStereoWarnings=False) +smiles(R"CCS(=O)(=O)c1ccc2nnnn2n1", printStereoWarnings=False) +smiles(R"CCS(=O)(=O)[O-]", printStereoWarnings=False) +smiles(R"CCS(=O)(=O)O", printStereoWarnings=False) +smiles(R"C[Ge](C)([C@@]12C3=C4C5=C1[Fe]16782345C2=C7C6=C1[C@H]82)[C@@]12C3=C4C5=C1[Fe]16782345C2=C7C6=C1[C@@H]82", printStereoWarnings=False) +smiles(R"[C@@H]12C3=C4C5=C1[Fe]16782345C2=C7[C@@]8(C6=C12)[C@@]12C3=C4C5=C1[Fe]16782345C2=C7[C@]8(C6=C12)[C@]12C3=C4C5=C1[Fe]16782345C2=C7[C@]8(C6=C12)[C@@]12C3=C4C5=C1[Fe]16782345[C@H]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"[C@@H]12C3=C4C5=C1[Fe]16782345C2=C7[C@]8(C6=C12)[C@]12C3=C4C5=C1[Fe]16782345C2=C7[C@@]8(C6=C12)[C@@]12C3=C4C5=C1[Fe]16782345[C@H]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"[C@@H]12C3=C4C5=C1[Fe]16782345C2=C7[C@]8(C6=C12)C([C@@]12C3=C4C5=C1[Fe]16782345[C@@H]2C7=C6C1=C82)[C@@]12C3=C4C5=C1[Fe]16782345[C@H]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"[CH-]1N=c2[nH]nnc2=C(N)[N+]1=O", printStereoWarnings=False) +smiles(R"[Cl-]", printStereoWarnings=False) +smiles(R"Cl", printStereoWarnings=False) +smiles(R"Cl[Au](Cl)(Cl)Cl", printStereoWarnings=False) +smiles(R"Cl[C@@]12c3ccccc3[C@@H](c3ccccc13)[C@@]1(Cl)c3ccccc3[C@@H]2c2ccccc12", printStereoWarnings=False) +smiles(R"Cl[C@@]12[C@@]3(N)[C@]4(Cl)[C@]5(Cl)[C@@]3(Cl)[C@@]2(Cl)[C@](Cl)([C@]14Cl)C15OCCO1", printStereoWarnings=False) +smiles(R"Cl[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"Cl[C@@]12[C@H]3CCC[C@H]1CCC[C@@H]2CCC3", printStereoWarnings=False) +smiles(R"Cl[C@@]12[C@@H]([C@@H]3c4ccccc4[C@H]1c1ccccc31)[C@@H]1c3ccccc3[C@H]2c2ccccc12", printStereoWarnings=False) +smiles(R"Cl[C@@]1(Br)[C@H]2c3ccccc3[C@H](c3ccccc23)[C@@H]1S(=O)(=O)c1ccccc1", printStereoWarnings=False) +smiles(R"Clc1c2cc3c(nc4cccnc4n3C3CCCCC3)cc2c2ccccc2c1=O", printStereoWarnings=False) +smiles(R"Cl[C@]1(c2ccccc2)[C@@H]2CCCC[C@@H]12", printStereoWarnings=False) +smiles(R"Clc1c2nn3c(nnc3c3ccccc3O)sc2c(Cl)c2nn3c(nnc3c3ccccc3O)sc12", printStereoWarnings=False) +smiles(R"Clc1c2sc3nnc(C)n3nc2c(Cl)c2sc3nnc(C)n3nc12", printStereoWarnings=False) +smiles(R"Clc1cc2cc3c4cc5nc6cc(Cl)c(Cl)cc6n(C)c5cc4c(Cl)c(=O)c3cc2cc1Cl", printStereoWarnings=False) +smiles(R"Clc1cc2c(cc1Cl)nc1cc3c(cc1n2C)c(Cl)c(=O)c1ccccc31", printStereoWarnings=False) +smiles(R"ClC1=C(c2ccccc2)[C@@H](CC1=O)c1ccccc1", printStereoWarnings=False) +smiles(R"Clc1ccc2c(c1)c(cc1nc3cc4nc5cc(c6ccccc6)c6cc(Cl)ccc6n5c(=O)c4cc3c(=O)n21)c1ccccc1", printStereoWarnings=False) +smiles(R"Clc1ccc2c(c1)[C@@H]1[C@H]3c4ccccc4[C@H](c4ccccc34)[C@H]2c2ccccc12", printStereoWarnings=False) +smiles(R"Clc1ccc2c(c1)[C@H](N[C@]13C[C@@H]4C[C@@H](C[C@@H](C4)C3)C1)c1cc(Cl)cc(Cl)c21", printStereoWarnings=False) +smiles(R"Clc1ccc2c(c1)[C@H](NC(=O)[C@@]13C[C@H]4C[C@H](C[C@H](C4)C3)C1)c1cc(Cl)cc(Cl)c21", printStereoWarnings=False) +smiles(R"Clc1ccc2c(c1)CN1Cc3cc(Cl)ccc3[C@H]2C1", printStereoWarnings=False) +smiles(R"Clc1ccc2c(c1)[n+]([O-])c1c3oc4ccccc4c3ccc1[n+]2[O-]", printStereoWarnings=False) +smiles(R"Clc1ccc2c(c1)[n+]([O-])c1c3oc4CCCCc4c3ccc1[n+]2[O-]", printStereoWarnings=False) +smiles(R"Clc1ccc2cc3cc(C)[n+]([O-])nc3n2n1", printStereoWarnings=False) +smiles(R"Clc1ccc2c(ccnc2c1)/C=C/1\N2CC[C@H](CC2)C1=O", printStereoWarnings=False) +smiles(R"Clc1ccc2c(ccnc2c1)N[C@H]1CC[C@@H](CC1)N1CCCCC1", printStereoWarnings=False) +smiles(R"Clc1ccc2c(ccnc2c1)N[C@H]1CC[C@@H](CC1)N1CCOCC1", printStereoWarnings=False) +smiles(R"Clc1ccc2c(ccnc2c1)N[C@H]1CC[C@H](CC1)NC1CCCCC1", printStereoWarnings=False) +smiles(R"Clc1ccc2c(cnc3ccccc23)n1", printStereoWarnings=False) +smiles(R"Clc1ccc2CN3Cc4ccc(Cl)cc4[C@@H](C3)c2c1", printStereoWarnings=False) +smiles(R"Clc1ccc2c(no[n+]2[O-])c1", printStereoWarnings=False) +smiles(R"Clc1ccc2c(NO[N+]2[O-])c1", printStereoWarnings=False) +smiles(R"Clc1ccc2c([N+](=O)[O-])c3cc(C)[n+]([O-])nc3n2n1", printStereoWarnings=False) +smiles(R"Clc1ccc2c(n[se][n+]2C)c1", printStereoWarnings=False) +smiles(R"Clc1ccc2nc3ccccc3c(=O)n2n1", printStereoWarnings=False) +smiles(R"Clc1ccc2nc(Oc3ccccc3)nc(=O)n2n1", printStereoWarnings=False) +smiles(R"Clc1ccc2[n+](C)[se][nH]c2c1", printStereoWarnings=False) +smiles(R"Clc1ccc2[nH]cc(C(=O)C(=O)N[C@]34C[C@@H]5C[C@@H](C[C@@H](C5)C4)C3)c2c1", printStereoWarnings=False) +smiles(R"Clc1ccc2[nH][se][n+](C)c2c1", printStereoWarnings=False) +smiles(R"Clc1ccc2nncn2n1", printStereoWarnings=False) +smiles(R"Clc1ccc2nnnn2n1", printStereoWarnings=False) +smiles(R"Clc1ccc2n[se]nc2c1", printStereoWarnings=False) +smiles(R"Clc1ccc2n[se]nc2n1", printStereoWarnings=False) +smiles(R"Clc1ccc2n[se][n+](C)c2c1", printStereoWarnings=False) +smiles(R"Clc1ccc2nsnc2c1", printStereoWarnings=False) +smiles(R"Clc1ccc2nsnc2c1Cl", printStereoWarnings=False) +smiles(R"Clc1ccc2nsnc2c1NC1=NCCN1", printStereoWarnings=False) +smiles(R"Clc1ccc2nsnc2n1", printStereoWarnings=False) +smiles(R"Clc1ccc2oc(=O)c(cc2c1)C(=O)Nc1scc(n1)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"Clc1ccc2Sc3ccccc3N([C@@H]3C[C@H](C3)N(C)C)c2c1", printStereoWarnings=False) +smiles(R"Clc1cccc2c1[C@](O)(c1ccccc1)c1c(Cl)cccc1[C@@]2(O)c1ccccc1", printStereoWarnings=False) +smiles(R"Clc1cc(C)c2nc(cn2n1)C(=O)O", printStereoWarnings=False) +smiles(R"Clc1ccc(cc1)[B@-]12OCC[N@@+]2(CCO1)CNC(=O)C1=C(O)[C@H](N(C)C)[C@H]2C[C@H]3C(=C(O)[C@]2(O)C1=O)C(=O)c1c(O)cccc1[C@]3(C)O", printStereoWarnings=False) +smiles(R"Clc1ccc(cc1)[B@@-]12OCC[N@+]2(CCO1)CNC(=O)C1=C(O)[C@H](N(C)C)[C@H]2C[C@H]3C(=C(O)[C@]2(O)C1=O)C(=O)c1c(O)cccc1[C@]3(C)O", printStereoWarnings=False) +smiles(R"Clc1ccc(cc1)[C@@]1(c2ccccc2)[C@H]2C(=O)NC(=O)[C@@H]1C(=O)NC2=O", printStereoWarnings=False) +smiles(R"Clc1ccc(cc1)C1CC/C(=C\2/C(=C(O)c3ccccc3C2=O)O)/CC1", printStereoWarnings=False) +smiles(R"Clc1ccc(cc1)[C@@]1(C)[C@H]2C(=O)NC(=O)[C@@H]1C(=O)NC2=O", printStereoWarnings=False) +smiles(R"Clc1ccc(cc1)[C@]1(C)O[C@@H](C)[C@H](C)O1", printStereoWarnings=False) +smiles(R"Clc1ccc(cc1)[C@]1(C)OC(=O)/C(=C/c2ccc(s2)[N+](=O)[O-])/C(=O)O1", printStereoWarnings=False) +smiles(R"Clc1ccc(cc1)[C@@]1(C)OC(=O)/C(=C\c2ccc(s2)[N+](=O)[O-])/C(=O)O1", printStereoWarnings=False) +smiles(R"Clc1cccc(c1)c1nc2cccc3c4cccnc4Cn1c23", printStereoWarnings=False) +smiles(R"Clc1ccc(cc1)c1nc2cc(ccc2[nH]1)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"Clc1ccc(cc1)c1nc2=C(N)N=[S@](=O)(O)N=c2nc1c1ccc(Cl)cc1", printStereoWarnings=False) +smiles(R"Clc1ccccc1c1[nH]c2ccc(cc2n1)C12C[C@@H]3C[C@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"Clc1ccc(cc1)c1nnc(o1)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"Clc1ccc(cc1)c1nnn(C)n1", printStereoWarnings=False) +smiles(R"Clc1ccc(cc1)[C@@]1(O)CCN(CC1)C[C@@H]1N2CC[C@H](CC2)C1=O", printStereoWarnings=False) +smiles(R"Clc1ccc(cc1)[C@@]1(O)CCN(CC1)[C@@H]1C[C@H]1c1ccccc1", printStereoWarnings=False) +smiles(R"Clc1ccc(cc1)c1sc2nnc(n2n1)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"Clc1cc(ccc1c1sc2nnc(n2n1)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"Clc1cc(ccc1c1sc2nnc(n2n1)C12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"Clc1ccc(cc1)/C=c\1/sc2nc(nn2c1=O)c1ccccc1", printStereoWarnings=False) +smiles(R"Clc1ccc(cc1)/C=c/1\sc2nnc(CCC(=O)Nc3c(C)cccc3C)n2c1=O", printStereoWarnings=False) +smiles(R"Clc1ccccc1/C=C/CN1CC[C@](O)(CC1)c1ccccc1", printStereoWarnings=False) +smiles(R"Clc1ccc(cc1)[C@H]1C[C@@]2(SS[C@]3(C[C@@H](c4ccc(Cl)cc4)N([C@@H](C3)c3ccc(Cl)cc3)C(=O)C(F)(F)F)S2)C[C@@H](c2ccc(Cl)cc2)N1C(=O)C(F)(F)F", printStereoWarnings=False) +smiles(R"Clc1ccc(cc1)[C@H]1CC(=O)C[C@@H](c2ccc(Cl)cc2)[C@@]21C(=O)NC(=O)NC2=O", printStereoWarnings=False) +smiles(R"Clc1ccc(cc1)[C@H]1N(CC/N=C\c2ccc(Cl)cc2)CCN1CC/N=C\c1ccc(Cl)cc1", printStereoWarnings=False) +smiles(R"Clc1ccc(cc1)[C@@H]1N[C@@H](C[C@]2(SS[C@]3(C[C@@H](N[C@@H](C3)c3ccc(Cl)cc3)c3ccc(Cl)cc3)S2)C1)c1ccc(Cl)cc1", printStereoWarnings=False) +smiles(R"Clc1ccc(cc1)[C@@H]1N[C@H](C[C@@](S)(S)C1)c1ccc(Cl)cc1", printStereoWarnings=False) +smiles(R"Clc1ccc(cc1)[C@H]1O[C@H]1C(=O)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"Clc1ccc(cc1)[C@@H]1O[C@H](C)[C@@H](C)O1", printStereoWarnings=False) +smiles(R"Clc1ccc(cc1)[C@@H]1ON=C(c2ccccc2)N1[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"Clc1ccccc1[C@@H](/N=C/c1ccccc1Cl)/N=C/c1ccccc1Cl", printStereoWarnings=False) +smiles(R"Clc1ccc(cc1Cl)[C@@H]1OC[C@]2(CO1)CO[C@@H](OC2)c1ccc(Cl)c(Cl)c1", printStereoWarnings=False) +smiles(R"Clc1cc(ccc1Cl)N1C(=O)[C@@H]2[C@H](C1=O)[C@]1(Cl)C(=C(Cl)[C@@]2(Cl)[C@]1(Cl)Cl)Cl", printStereoWarnings=False) +smiles(R"Clc1ccc(cc1)Cn1c(NC(=O)C(=O)N[C@@]23C[C@H]4C[C@H](C[C@H](C4)C3)C2)nc2ccccc12", printStereoWarnings=False) +smiles(R"Clc1ccc(cc1)Cn1c(NC(=O)NC23C[C@@H]4C[C@@H](C[C@@H](C4)C3)C2)nc2ccccc12", printStereoWarnings=False) +smiles(R"Clc1ccc(cc1)Cn1c(=N)n(CC(=O)NC23C[C@H]4C[C@H](C[C@H](C4)C3)C2)c2ccccc12", printStereoWarnings=False) +smiles(R"Clc1cc(ccc1C)N1C(=O)[C@@H]2[C@H](C1=O)[C@]1(Cl)C(=C(Cl)[C@@]2(Cl)[C@@]1(Cl)Cl)Cl", printStereoWarnings=False) +smiles(R"Clc1ccc(cc1)CN[C@H](C)C[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"Clc1ccccc1/C=N/N/C(=N\N=C\c1ccccc1Cl)/N/N=C/c1ccccc1Cl", printStereoWarnings=False) +smiles(R"Clc1ccc(cc1)C(=O)C[N@@+]12CN3CN(CN(C3)C2)C1", printStereoWarnings=False) +smiles(R"Clc1ccc(cc1)C(=O)N/N=C/c1ccc(cc1Br)N1CC[C@]2(CCCCC2)CC1", printStereoWarnings=False) +smiles(R"Clc1ccc(cc1)C(=O)N/N=C/c1ccc(cc1Cl)N1CC[C@@]2(CCCCC2)CC1", printStereoWarnings=False) +smiles(R"Clc1ccc(cc1)C(=O)N/N=C/c1ccc(cc1)N1CC[C@]2(CCCCC2)CC1", printStereoWarnings=False) +smiles(R"Clc1cccc(c1)C(=O)N/N=C/c1ccc(cc1)N1CC[C@]2(CCCCC2)CC1", printStereoWarnings=False) +smiles(R"Clc1ccc(cc1)N1C(=O)[C@@H]2[C@H](C1=O)[C@]1(Cl)C(=C(Cl)[C@@]2(Cl)[C@]1(Cl)Cl)Cl", printStereoWarnings=False) +smiles(R"Clc1ccc(cc1)n1c(=S)[nH]nc1[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"Clc1cccc(c1)N/C(=[N+]\1/[C@H](C)CCC[C@H]1C)/c1ccccc1", printStereoWarnings=False) +smiles(R"Clc1cccc(c1)NC(=O)ON1C(=O)[C@@H]2[C@H](C1=O)[C@]1(Cl)[C@@H](Cl)[C@H](Cl)[C@@]2(Cl)[C@@]1(Cl)Cl", printStereoWarnings=False) +smiles(R"Clc1ccc(cc1)N/N=C/1\C(=O)O[C@H](OC1=O)c1ccccc1", printStereoWarnings=False) +smiles(R"Clc1ccc(cc1)/N=N/N1CN2CN(/N=N/c3ccc(Cl)cc3)CN(C2)C1", printStereoWarnings=False) +smiles(R"Clc1ccccc1OP(=O)(Oc1ccccc1Cl)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"Clc1ccc(cc1)S(=O)(=O)[C@H](C)[C@@H]1OC[C@@]2(CO1)CO[C@@H](OC2)[C@H](C)S(=O)(=O)c1ccc(Cl)cc1", printStereoWarnings=False) +smiles(R"Clc1ccc(cc1)S(=O)(=O)/N=C/1\C=C/C(=c\2/sc3ccccc3n2C)/C=C1", printStereoWarnings=False) +smiles(R"Clc1ccc(cc1)S(=O)O[Sn@](C)(C)OS(=O)c1ccc(Cl)cc1", printStereoWarnings=False) +smiles(R"Clc1ccc(/C=c\2/sc3nc4ccccc4n3c2=O)c(Cl)c1", printStereoWarnings=False) +smiles(R"Clc1ccc(/C=c/2\sc3nnc(CCC(=O)Nc4cc(Cl)c(Cl)cc4Cl)n3c2=O)c(Cl)c1", printStereoWarnings=False) +smiles(R"Clc1ccc(/C=C/C(=O)[C@-]23C4=C5C6=C2[Fe+2]27893456[C-]3C8=C7C2=C93)c(Cl)c1", printStereoWarnings=False) +smiles(R"Clc1ccc(/C=C/C(=O)[C@@-]23C4=C5C6=C2[Fe+2]27893456[C-]3C8=C7C2=C93)c(Cl)c1", printStereoWarnings=False) +smiles(R"Clc1cccc(Cl)c1C[N@+]12CN3CN(CN(C3)C2)C1", printStereoWarnings=False) +smiles(R"Clc1ccc(c(Cl)c1)C(=O)C[N@@+]12CN3CN(CN(C3)C2)C1", printStereoWarnings=False) +smiles(R"Clc1cc(cc(C(=O)O)c1O)C(=CCC12C[C@H]3C[C@H](C[C@H](C3)C2)C1)c1cc(Cl)c(O)c(c1)C(=O)O", printStereoWarnings=False) +smiles(R"Clc1ccc([C@@H]2O[C@@H](C)[C@H](C)O2)c(Cl)c1", printStereoWarnings=False) +smiles(R"Clc1cccc(/N=C/c2ccc(cc2)N2CC[C@@]3(CCCCC3)CC2)c1", printStereoWarnings=False) +smiles(R"Clc1ccc(/C=N\N=C\c2ccc(Cl)cc2)cc1", printStereoWarnings=False) +smiles(R"Clc1ccc(/C=N/N/C(=N\N=C\c2ccc(Cl)cc2Cl)/N/N=C/c2ccc(Cl)cc2Cl)c(Cl)c1", printStereoWarnings=False) +smiles(R"Clc1ccc(/C=N/NC(=S)N[C@]23C[C@@H]4C[C@@H](C[C@@H](C4)C3)C2)c(Cl)c1", printStereoWarnings=False) +smiles(R"Clc1ccc(/C=N/NC(=S)N[C@]23C[C@@H]4C[C@@H](C[C@@H](C4)C3)C2)s1", printStereoWarnings=False) +smiles(R"Clc1ccc(/C=N\NC(=S)N[C@@H]2CN3CC[C@@H]2CC3)cc1", printStereoWarnings=False) +smiles(R"Clc1cc(Cl)c2n[se]nc2c1", printStereoWarnings=False) +smiles(R"Clc1cc(Cl)c2n[se]nc2n1", printStereoWarnings=False) +smiles(R"Clc1cc(Cl)c2nsnc2c1N", printStereoWarnings=False) +smiles(R"Clc1cc(Cl)cc(c1)Nc1nc(N[C@H]2CC[C@@H](CC2)N(C)C)c2ccccc2n1", printStereoWarnings=False) +smiles(R"Clc1cc(Cl)c(Cl)cc1C[N@+]12CN3CN(CN(C3)C2)C1", printStereoWarnings=False) +smiles(R"Clc1cc(Cl)cc(/N=C/c2ccc(cc2)N2CC[C@]3(CCCCC3)CC2)c1", printStereoWarnings=False) +smiles(R"Clc1cc(Cl)c(OCc2ccccc2)c(c1)S(=O)O[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"Clc1cc(/C=N/C23C[C@H]4C[C@H](C[C@H](C4)C3)C2)cc(Cl)c1", printStereoWarnings=False) +smiles(R"Clc1cc(/C=N\C[C@H]2CC[C@@H](C/N=C\c3cc(Cl)cc(Cl)c3O)CC2)c(O)c(Cl)c1", printStereoWarnings=False) +smiles(R"Clc1cc(/C=N/NC(=S)N[C@]23C[C@@H]4C[C@@H](C[C@@H](C4)C3)C2)cc(Cl)c1", printStereoWarnings=False) +smiles(R"Clc1cc(/C=N/NC(=S)N[C@]23C[C@@H]4C[C@@H](C[C@@H](C4)C3)C2)c(O)c(Cl)c1", printStereoWarnings=False) +smiles(R"Clc1ccc([N+](=O)[O-])c(/C=N/NC(=S)N[C@]23C[C@@H]4C[C@@H](C[C@@H](C4)C3)C2)c1", printStereoWarnings=False) +smiles(R"Clc1ccc([N+](=O)[O-])c(/C=N/NC(=S)NC23C[C@@H]4C[C@@H](C[C@@H](C4)C3)C2)c1", printStereoWarnings=False) +smiles(R"Clc1ccc(O)c(/C=N/NC(=S)N[C@]23C[C@@H]4C[C@@H](C[C@@H](C4)C3)C2)c1", printStereoWarnings=False) +smiles(R"Clc1ccc(OCC(=O)O[C@@H]2CN3CC[C@@H]2CC3)cc1", printStereoWarnings=False) +smiles(R"ClC1=C[C@@H]2c3ccccc3[C@H]1c1ccccc21", printStereoWarnings=False) +smiles(R"ClC1=C(Cl)[C@]2(Cl)[C@@]3(Cl)C(=C(Cl)[C@](Cl)([C@]43OCCO4)[C@]2(Cl)C21OCCO2)Cl", printStereoWarnings=False) +smiles(R"ClC1=C(Cl)[C@@]2(Cl)C[C@]1(Cl)[C@H]1[C@H]3C[C@H]([C@H]4O[C@](C)(C)O[C@@H]34)[C@@H]21", printStereoWarnings=False) +smiles(R"ClC1=C(Cl)[C@@]2(Cl)C=C[C@]1(Cl)[C@@]2(Cl)Cl", printStereoWarnings=False) +smiles(R"ClC1=C(Cl)[C@@]2(Cl)CC[C@]1(Cl)[C@@]2(Cl)Cl", printStereoWarnings=False) +smiles(R"ClC1=C(Cl)[C@@]2(Cl)[C@H]3[C@H]4C=C[C@H](C4)[C@H]3[C@]1(Cl)[C@]2(Cl)Cl", printStereoWarnings=False) +smiles(R"ClC1=C(Cl)[C@@]2(Cl)[C@H]3[C@H]4CC[C@H](C4)[C@H]3[C@]1(Cl)[C@]2(Cl)Cl", printStereoWarnings=False) +smiles(R"ClC1=C(Cl)[C@@]2(Cl)[C@H]3[C@H]4C[C@H]([C@H]5[C@@H]6C[C@@H]([C@@H]7O[C@H]67)[C@@H]45)[C@H]3[C@]1(Cl)[C@]2(Cl)Cl", printStereoWarnings=False) +smiles(R"ClC1=C(Cl)[C@@]2(Cl)[C@H]3[C@H]4C[C@H]([C@H]5O[C@@H]45)[C@H]3[C@]1(Cl)[C@]2(Cl)Cl", printStereoWarnings=False) +smiles(R"ClC1=C(Cl)[C@@]2(Cl)[C@H]3[C@H]4O[C@H]([C@H]5O[C@@H]45)[C@H]3[C@]1(Cl)[C@]2(Cl)Cl", printStereoWarnings=False) +smiles(R"ClC1=C(Cl)[C@]2(Cl)[C@H]3COC[C@H]3[C@@]1(Cl)[C@@]2(Cl)Cl", printStereoWarnings=False) +smiles(R"ClC1=C(Cl)[C@]2(Cl)[C@H]3O[C@H]3[C@@]1(Cl)[C@]2(Cl)Cl", printStereoWarnings=False) +smiles(R"ClC1=C(Cl)[C@@H]2c3ccccc3[C@H]1c1ccccc21", printStereoWarnings=False) +smiles(R"Clc1cc(N)c2nnc(c3ccccc3)n2n1", printStereoWarnings=False) +smiles(R"Clc1cc(N)c2nncn2n1", printStereoWarnings=False) +smiles(R"Clc1cc(N)c2nnnn2n1", printStereoWarnings=False) +smiles(R"Clc1cc(NC(=O)c2ccccc2)c2nnc(c3ccccc3)n2n1", printStereoWarnings=False) +smiles(R"Clc1cc(OC[C@@]23C[C@H]4C[C@H](C[C@H](C4)C3)C2)nc(OC[C@@]23C[C@H]4C[C@H](C[C@H](C4)C3)C2)n1", printStereoWarnings=False) +smiles(R"Cl[C@]1(Cl)[C@@H](c2ccccc2)[C@H]1c1ccccc1", printStereoWarnings=False) +smiles(R"Clc1cnn2cnnc2c1N", printStereoWarnings=False) +smiles(R"Clc1cnn2nnnc2c1N", printStereoWarnings=False) +smiles(R"Cl[C-]1C(=[O+][Ru+3]23([O+]=C1C)([O+]=C(C)[C-](Cl)C(=[O+]2)C)[O+]=C(C)[C-](Cl)C(=[O+]3)C)C", printStereoWarnings=False) +smiles(R"Clc1nc2cc3c(oc4ccccc34)cc2n2cccc12", printStereoWarnings=False) +smiles(R"Clc1nc2cn[nH]c2c(n1)N(C)C", printStereoWarnings=False) +smiles(R"Clc1nc(Cl)c2n[se]nc2c1Cl", printStereoWarnings=False) +smiles(R"Clc1nc(Cl)c2nsnc2c1", printStereoWarnings=False) +smiles(R"Clc1nc(Cl)nc(c1)O[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"Clc1nc(Cl)nc(c1)O[C@@H]1[C@H]2C[C@@H]3C[C@H](C2)C[C@H]1C3", printStereoWarnings=False) +smiles(R"Clc1nc(Cl)nc(n1)N[C@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"Clc1nc(nc(n1)N[C@@]12C[C@H]3C[C@@H](C[C@H](C3)C2)C1)N[C@@]12C[C@H]3C[C@@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"Clc1nc(N)nc(c1)N[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"Clc1nnn(n1)c1ccccc1", printStereoWarnings=False) +smiles(R"ClC[C@]12[C@@H]3C(=O)[C@H]1[C@]23CCl", printStereoWarnings=False) +smiles(R"ClCC1=N[C@@H](c2ccc(cc2)[C@@H]2N=C(CCl)OP2(=O)N[C@]23C[C@@H]4C[C@@H](C[C@@H](C4)C3)C2)P(=O)(O1)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"ClC(=C1OC(=O)[C@@H]2[C@H]3c4ccccc4[C@@H]([C@H]12)c1ccccc31)Cl", printStereoWarnings=False) +smiles(R"ClCCc1nnn(C)n1", printStereoWarnings=False) +smiles(R"ClC/C=C/C[N@@+]12CN3CN(CN(C3)C2)C1", printStereoWarnings=False) +smiles(R"ClC(=C(Cl)/C(=C(/N[C@@H](C)[C@@]12C[C@@H]3C[C@H](C[C@@H](C3)C2)C1)\N[C@H](C)[C@@]12C[C@@H]3C[C@H](C[C@H](C3)C2)C1)/[N+](=O)[O-])Cl", printStereoWarnings=False) +smiles(R"Cl/C=C/C[N@+]12CN3CN(CN(C3)C2)C1", printStereoWarnings=False) +smiles(R"ClC(=C)C[N@+]12CN3CN(CN(C3)C2)C1", printStereoWarnings=False) +smiles(R"ClC[C@@H]1C[C@@H]2c3ccccc3[C@H]1c1ccccc21", printStereoWarnings=False) +smiles(R"ClC[C@H]1[C@@H](CCl)[C@]2(Cl)C(=C(Cl)[C@@]1(Cl)[C@]2(Cl)Cl)Cl", printStereoWarnings=False) +smiles(R"ClC[C@@H]1CO[C@@]2(CCCC2)O1", printStereoWarnings=False) +smiles(R"ClC[C@H]1OC(C)(C)O[C@](C#N)(C1)C[C@@H]1C[C@H](C[C@@]2(C#N)C[C@@H](CCl)OC(C)(C)O2)O[C@](C)(C)O1", printStereoWarnings=False) +smiles(R"ClC[C@@H](Cl)[C@@H]1CCC[C@H](Cl)C1", printStereoWarnings=False) +smiles(R"ClC[C@@H](Cl)[C@@H]1CC[C@@H](Cl)CC1", printStereoWarnings=False) +smiles(R"ClC[C@@H](O)CN1CC[N@+]2(CC1)CC[N@+]1(CCN(CC1)C[C@H](O)CCl)CC2", printStereoWarnings=False) +smiles(R"ClC[C@H](OS(=O)(=O)C)[C@@H]1O[C@](C)(C)O[C@H]1[C@H](CCl)OS(=O)(=O)C", printStereoWarnings=False) +smiles(R"ClC(Cl)C(=O)N1C[C@H]2CC[C@H](CC2)C1", printStereoWarnings=False) +smiles(R"ClC(Cl)C(=O)N[C@@H]1CC[C@H](CC1)C(C)(C)C", printStereoWarnings=False) +smiles(R"ClC(Cl)C(=O)N[C@H]1CC[C@@H](CC1)C(C)(C)C", printStereoWarnings=False) +smiles(R"ClCC[N@@+]12CC[N@@+](CCCl)(CC1)C2", printStereoWarnings=False) +smiles(R"ClCC[N@+]12CC[N@+](CCCl)(CC1)C2", printStereoWarnings=False) +smiles(R"ClCCN1CC[C@@]2(CC1)SS[C@]1(CCN(CCCl)CC1)S2", printStereoWarnings=False) +smiles(R"ClC/C(=N\C[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1)/NS(=O)(=O)c1ccc(C)cc1", printStereoWarnings=False) +smiles(R"ClCCN(Cc1ccccc1)C(=O)[C@@H]1[C@@H](c2ccccc2)[C@@H]1c1ccccc1", printStereoWarnings=False) +smiles(R"ClCCN(CCCl)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"ClCCN(CCCl)c1ccc(cc1)/C=c\1/sc2nc3nc(C)nc(O)c3n2c1=O", printStereoWarnings=False) +smiles(R"ClCCN(CCCl)c1ccc(cc1)[C@H]1N(CCCN1[C@H](C#N)c1ccccc1)[C@H](C#N)c1ccccc1", printStereoWarnings=False) +smiles(R"ClCCN(CCCl)c1ccc(cc1)/C=N/[C@H]1C(C)(C)[C@@H](/N=C/c2ccc(cc2)N(CCCl)CCCl)[C@@]1(C)C", printStereoWarnings=False) +smiles(R"ClCCN(CCCl)c1ccc(c(C)c1)[C@@H]1N(CCCN1[C@H](C#N)c1ccccc1)[C@H](C#N)c1ccccc1", printStereoWarnings=False) +smiles(R"ClCCN(CCCl)c1ccc(/C=N/NC(=O)[C@-]23C4=C5C6=C2[Fe+2]27893456C3=C8C7=C2[C-]93)c(C)c1", printStereoWarnings=False) +smiles(R"ClCCN(CCCl)c1ccc(/C=N/NC(=O)[C@@-]23C4=C5C6=C2[Fe+2]27893456C3=C8C7=C2[C-]93)c(C)c1", printStereoWarnings=False) +smiles(R"ClCCN(CCCl)C[C@@H]1C(=O)C[C@@H](CC1=O)c1ccc(O)cc1", printStereoWarnings=False) +smiles(R"ClCCN(CCCl)[C@@H]([C@@H]1CCC=CC1)[C@@H]1C(=O)C[C@@H](CC1=O)c1ccc(O)cc1", printStereoWarnings=False) +smiles(R"ClCCN(CCCl)[C@@H]([C@H](O)[C@H](O)[C@H](O)CO)[C@H]1C(=O)[C@@H](C(=O)OCC)[C@H](c2ccc(O)cc2)[C@@H](C(=O)OCC)C1=O", printStereoWarnings=False) +smiles(R"ClCCN(CCCl)COc1ccc(cc1)[C@H]1CC(=O)[C@@H](CN(CCCl)CCCl)C(=O)C1", printStereoWarnings=False) +smiles(R"ClCCN(CCCl)/N=C\C=N\N(CCCl)CCCl", printStereoWarnings=False) +smiles(R"ClCCN(CCCl)P(=O)(N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"ClCCN(CCCl)P(=O)(N)O[C@H](c1ccccc1)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"ClCCN(C[C@@H]1[C@H](c2ccccc2)[C@H]1c1ccccc1)C1CCCCC1", printStereoWarnings=False) +smiles(R"ClCCNCCNc1ccnc2ccc3nn(C)nc3c12", printStereoWarnings=False) +smiles(R"ClCCNC(=O)[C@-]12C3=C4C5=C1[Fe+2]16782345C2=C7[C@-]8(C(=O)NCCCl)C6=C12", printStereoWarnings=False) +smiles(R"ClCCNC(=O)[C@@-]12C3=C4C5=C1[Fe+2]16782345C2=C7[C@@-]8(C(=O)NCCCl)C6=C12", printStereoWarnings=False) +smiles(R"ClCCNC(=O)[C@@H]1CC[C@H](CC1)C(=O)NCCCl", printStereoWarnings=False) +smiles(R"ClCCNC(=O)N[C@@]12C[C@@]3(C)C[C@](C)(C[C@](C)(C3)C2)C1", printStereoWarnings=False) +smiles(R"ClCCNC(=O)N[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"ClCCNC(=O)N[C@@H]1CC[C@H](CC1)C[C@H]1CC[C@@H](CC1)NC(=O)NCCCl", printStereoWarnings=False) +smiles(R"ClCCNC(=O)N[C@@H]1CC[C@H](CC1)NC(=O)NCCCl", printStereoWarnings=False) +smiles(R"ClCCNC(=O)N[C@H]1C[C@@H](NC(=O)NCCCl)C[C@](C)(C)C1", printStereoWarnings=False) +smiles(R"ClCCNC(=O)N[C@H]1[C@@H](O)[C@@H](O)[C@@H](O)[C@H](O)[C@@H]1O", printStereoWarnings=False) +smiles(R"ClCCNC(=O)N[C@@H]1CS(=O)(=O)[C@H](C)S(=O)(=O)C1", printStereoWarnings=False) +smiles(R"ClCCNC(=O)N(O)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"ClC/C(=N/NC1=N[C@@](C)(CC[C@]2(C)N=C(N/N=C(\C)/CCl)SP2(=O)N[C@]23C[C@@H]4C[C@@H](C[C@@H](C4)C3)C2)P(=O)(S1)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)/C", printStereoWarnings=False) +smiles(R"ClCC(=N)NC[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"ClCC(=N)NCCO[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"ClCCN(N=O)C(=O)N[C@@]12C[C@@]3(C)C[C@](C)(C[C@](C)(C3)C2)C1", printStereoWarnings=False) +smiles(R"ClCCN(N=O)C(=O)N[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"ClCCN(N=O)C(=O)NC[C@H]1CC[C@@H](CC1)CNC(=O)N(N=O)CCCl", printStereoWarnings=False) +smiles(R"ClCCN(N=O)C(=O)N[C@@H]1CC[C@H](CC1)C[C@H]1CC[C@H](CC1)NC(=O)N(N=O)CCCl", printStereoWarnings=False) +smiles(R"ClCCN(N=O)C(=O)N[C@@H]1CC[C@@H](CC1)NC(=O)N(N=O)CCCl", printStereoWarnings=False) +smiles(R"ClCCN(N=O)C(=O)N[C@H]1CC[C@H](CCl)CC1", printStereoWarnings=False) +smiles(R"ClCCN(N=O)C(=O)N[C@@H]1CC[C@@H](OC)CC1", printStereoWarnings=False) +smiles(R"ClCCN(N=O)C(=O)N[C@@H]1CC[C@H](OC)CC1", printStereoWarnings=False) +smiles(R"ClCCN(N=O)C(=O)N[C@H]1[C@@H](O)C[C@H](C)C[C@@H]1O", printStereoWarnings=False) +smiles(R"ClCCN(N=O)C(=O)N[C@H]1[C@@H](O)[C@@H](O)[C@@H](O)[C@H](O)[C@@H]1O", printStereoWarnings=False) +smiles(R"ClCCN(N=O)C(=O)N[C@H]1[C@@H](OC(=O)C)[C@H](OC(=O)C)[C@H](NC(=O)N(N=O)CCCl)[C@H](OC(=O)C)[C@@H]1OC(=O)C", printStereoWarnings=False) +smiles(R"ClCCN(N=O)C(=O)N[C@@H]1CS(=O)(=O)[C@@H](C)S(=O)(=O)C1", printStereoWarnings=False) +smiles(R"ClCC(=O)[C@H](OC(=O)C)[C@@H](OC(=O)C)[C@@H](OC(=O)C)C(=O)CCl", printStereoWarnings=False) +smiles(R"ClCCOC(=O)[C@@H]1[C@@H](C(=O)OCCCl)[C@]2(Cl)C(=C(Cl)[C@@]1(Cl)[C@]2(Cl)Cl)Cl", printStereoWarnings=False) +smiles(R"ClCC(=O)N1CC[C@]2(CC1)SS[C@]1(CCN(CC1)C(=O)CCl)S2", printStereoWarnings=False) +smiles(R"ClCC(=O)N1C[C@H]2CC[C@H](CC2)C1", printStereoWarnings=False) +smiles(R"ClCC(=O)NC[C@]1(S[C@@](CNC(=O)CCl)(S1)c1ccc(Cl)cc1)c1ccc(Cl)cc1", printStereoWarnings=False) +smiles(R"Cl[C@@H]1c2ccccc2c2ccccc2[C@H](Cl)[S@]1(=O)=O", printStereoWarnings=False) +smiles(R"Cl[C@H]1CCC[C@@]2(Cl)C(=O)N[C@@]3(CCCCC3)N=C12", printStereoWarnings=False) +smiles(R"Cl[C@@H]1CCCC[C@@]21OCCO2", printStereoWarnings=False) +smiles(R"Cl[C@@H]1CC[C@@H](CC1)CN1Cc2c(C1)nc(N)nc2N", printStereoWarnings=False) +smiles(R"Cl[C@@H]1[C@@H]2C=C[C@@H](C2)[C@@]21OCCO2", printStereoWarnings=False) +smiles(R"Cl[C@@H]1[C@@H](Cl)[C@@H](Cl)[C@H](Cl)[C@@H](Cl)[C@H]1Cl", printStereoWarnings=False) +smiles(R"Cl[C@@H]1O[C@H](Cl)[C@H](Cl)[S@](=O)(=O)[C@@H]1Cl", printStereoWarnings=False) +smiles(R"Cl[C@H]1S(=O)(=O)C[C@]21OCCO2", printStereoWarnings=False) +smiles(R"Cl[C@H](COc1ccccc1)Cn1cc/c(=N)/cc1", printStereoWarnings=False) +smiles(R"Cl[Co@]1([Cl][Co@]2([Cl]1)[Cl][Co@@](Cl)([Cl]2)[n+]1ccccc1)[n+]1ccccc1", printStereoWarnings=False) +smiles(R"Cl[Co@]1([Cl][Co@](Cl)([Cl]1)[n+]1ccccc1)[n+]1ccccc1", printStereoWarnings=False) +smiles(R"ClC(=O)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"ClC(=O)[C@H]1CC[C@@H]2c3ccccc3[C@@](C1)([N+](=O)[O-])c1ccccc21", printStereoWarnings=False) +smiles(R"ClC(=O)[C@H]1CC[C@H]2c3ccccc3[C@](C1)([N+](=O)[O-])c1ccccc21", printStereoWarnings=False) +smiles(R"ClC(=O)O[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"ClCP(=O)(Cl)N[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"ClCP(=O)(N[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1)N1CC1", printStereoWarnings=False) +smiles(R"ClCP(=O)(N)N[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"Cl[Cu+]12[n+]3ccccc3c3cccc(c4cccc[n+]14)[n+]23", printStereoWarnings=False) +smiles(R"Cl[Cu+]12[n+]3c(cccc3=c3cccc[n+]23)c2cccc[n+]12", printStereoWarnings=False) +smiles(R"Cl[Fe]12([Cl-][Fe]3(Cl)([Cl-]1)[S-]1CC[N@@+]45CCC[N@+]6(CCC4)CC[S@@H]3[Ni@@+2]156)[S-]1CC[N@+]34CCC[N@@+]5(CCC3)CC[S@@H]2[Ni@@+2]145", printStereoWarnings=False) +smiles(R"Cl[Fe]12([Cl-][Fe]3(Cl)([Cl-]1)[S-]1CC[N@+]45CCC[N@@+]6(CCC4)CC[S@@H]3[Ni@@+2]156)[S-]1CC[N@@+]34CCC[N@+]5(CCC3)CC[S@@H]2[Ni@@+2]145", printStereoWarnings=False) +smiles(R"[Cl-][Fe](Cl)(Cl)Cl", printStereoWarnings=False) +smiles(R"Cl[Fe](Cl)(Cl)Cl", printStereoWarnings=False) +smiles(R"Cl[Fe@@](Cl)(N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"[ClH+][Co+2]12([ClH+])([O+]=C3NCNC4[N-][NH+]1CC34)[O+]=C1NCNC3[N-][NH+]2CC13", printStereoWarnings=False) +smiles(R"[ClH+][Co+2]12([ClH+])([O+]=c3nc[nH]c4[n-][n+]1cc34)[O+]=c1nc[nH]c3[n-][n+]2cc13", printStereoWarnings=False) +smiles(R"Cl[Hf]12345678(Cl)(C9=C3C2=C1[C@H]49)C1=C6C7=C5[C@@H]81", printStereoWarnings=False) +smiles(R"Cl[Hf]12345678(Cl)(C9=C4[C@]7(C3=C19)C(C)(C)C)C1=C6[C@]8(C5=C21)C(C)(C)C", printStereoWarnings=False) +smiles(R"[Cl-][Hg][C@]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"[Cl-][Hg][C@@]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"[Cl-][Hg][C@]12C3=C4C5=C1[Fe+2]16782345C2=C7[C@@-]8(Cl)C6=C12", printStereoWarnings=False) +smiles(R"[Cl-][Hg][C@@]12C3=C4C5=C1[Fe+2]16782345C2=C7[C@@-]8(Cl)C6=C12", printStereoWarnings=False) +smiles(R"Cl[Hg][C@-]12C3=C4C5=C1[Fe+2]16782345C2=C7[C@@]8([Hg][Cl-])C6=C12", printStereoWarnings=False) +smiles(R"Cl[Hg][C@@-]12C3=C4C5=C1[Fe+2]16782345C2=C7[C@@]8([Hg][Cl-])C6=C12", printStereoWarnings=False) +smiles(R"Cl[Hg](Cl)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"Cl[La](Cl)(Cl)(N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"Cl[Mn@](Cl)(/[S+]=c/1\nc[nH]c2[nH]cnc12)/[S+]=c/1\nc[nH]c2[nH]cnc12", printStereoWarnings=False) +smiles(R"[Cl-][Nb]12345678([Cl-])(C9=C4[C@-]7(C3=C19)[Si](C)(C)C)C1=C6[C@-]8(C5=C21)[Si](C)(C)C", printStereoWarnings=False) +smiles(R"[Cl-][Nb]12345678([Cl-])(C9=C4[C@@-]7(C3=C19)[Si](C)(C)C)C1=C6[C@-]8(C5=C21)[Si](C)(C)C", printStereoWarnings=False) +smiles(R"Clp1[nH]c2ncncc2[nH]1", printStereoWarnings=False) +smiles(R"Cl[Pd]12[n+]3ccccc3c3cccc(c4cccc[n+]14)[n+]23", printStereoWarnings=False) +smiles(R"Cl[Pd]1(Cl)P(c2ccccc2)(c2ccccc2)[C@@-]23C4=C5C6=C2[Fe+2]27893456C3=C8[C@@-]9(C7=C23)P1(c1ccccc1)c1ccccc1", printStereoWarnings=False) +smiles(R"Cl[Pd@@]1(Cl)P(c2ccccc2)(c2ccccc2)[C@@-]23C4=C5C6=C2[Fe+2]27893456C3=C8[C@-]9(C7=C23)P1(c1ccccc1)c1ccccc1", printStereoWarnings=False) +smiles(R"Cl[Pd]Cl", printStereoWarnings=False) +smiles(R"Cl[Pd@](Cl)(N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"Cl[Pd@](Cl)(Nc1ccc(cc1)/C=C/1\C=Cc2ccccc12)Nc1ccc(cc1)/C=C/1\C=Cc2ccccc12", printStereoWarnings=False) +smiles(R"Cl[Pd@@](Cl)(/[S+]=C\1/NCCS1)/[S+]=C\1/NCCS1", printStereoWarnings=False) +smiles(R"Cl[Pd@](Cl)(/[S+]=c/1\sc2ccccc2[nH]1)/[S+]=c/1\sc2ccccc2[nH]1", printStereoWarnings=False) +smiles(R"Cl[Pd@@](Cl)(/[S+]=c/1\scc[nH]1)/[S+]=c/1\scc[nH]1", printStereoWarnings=False) +smiles(R"ClP(=O)(Cl)N[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"ClP(=O)(N[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1)c1ccccc1", printStereoWarnings=False) +smiles(R"ClP(=O)(Oc1ccccc1)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"Cl[Pt]12[n+]3ccccc3c3cccc(c4cccc[n+]14)[n+]23", printStereoWarnings=False) +smiles(R"Cl[Pt@@+]12[N+](C)(C)CC[N@@+]2(C)CC[N+]1(C)C", printStereoWarnings=False) +smiles(R"Cl[Pt@+]12[N+](C)(C)CC[N@+]2(C)CC[N+]1(C)C", printStereoWarnings=False) +smiles(R"Cl[Pt]1(Cl)N(CCN1C[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82)C[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"Cl[Pt@@]1(Cl)N(CCN1C[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82)C[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"Cl[Pt@]1(Cl)N[C@@H]2CCC[C@@H](C2)N1", printStereoWarnings=False) +smiles(R"Cl[Pt@@]1([Cl][Pt@@](Cl)([Cl]1)P(C1CCCCC1)(c1ccccc1)c1ccccc1)P(C1CCCCC1)(c1ccccc1)c1ccccc1", printStereoWarnings=False) +smiles(R"Cl[Pt](Cl)(Cl)Cl", printStereoWarnings=False) +smiles(R"Cl[Pt](Cl)(Cl)[N@+]12CN3CN(CN(C3)C2)C1", printStereoWarnings=False) +smiles(R"Cl[Pt](Cl)[N@+]12CN3CN(CN(C3)C2)C1", printStereoWarnings=False) +smiles(R"Cl[Pt@](Cl)(Nc1ccc(cc1)/C=C/1\C=Cc2ccccc12)Nc1ccc(cc1)/C=C/1\C=Cc2ccccc12", printStereoWarnings=False) +smiles(R"Cl[Pt@@](Cl)(/[S+]=C\1/NCCS1)/[S+]=C\1/NCCS1", printStereoWarnings=False) +smiles(R"Cl[Pt@](Cl)(/[S+]=c/1\sc2ccccc2[nH]1)/[S+]=c/1\sc2ccccc2[nH]1", printStereoWarnings=False) +smiles(R"Cl[Pt@@](Cl)(/[S+]=c/1\scc[nH]1)/[S+]=c/1\scc[nH]1", printStereoWarnings=False) +smiles(R"Cl[Ru](Cl)Cl", printStereoWarnings=False) +smiles(R"[Cl-][Ru](Cl)(Cl)(Cl)(/[O+]=S/1\CCCC1)[n+]1ccc2ccccc2c1", printStereoWarnings=False) +smiles(R"[Cl-][Ru](Cl)(Cl)(Cl)(/[O+]=S\1/CCCC1)[n+]1ccc2ccccc2c1", printStereoWarnings=False) +smiles(R"Cl[Sn](Cl)([C@@]12C3=C4C5=C1[Fe]16782345C2=C7C6=C1[C@H]82)[C@@]12C3=C4C5=C1[Fe]16782345C2=C7C6=C1[C@@H]82", printStereoWarnings=False) +smiles(R"Cl[Ti]12345678(Cl)(C9=C3C2=C1[C@H]49)C1=C6C7=C5[C@@H]81", printStereoWarnings=False) +smiles(R"[Cl-][Zr]12345678([Cl-])(C9=C2C3=C1[C-]49)C1(=C7(C)C6(=C5(C)[C@-]81C)C)C", printStereoWarnings=False) +smiles(R"[Cl-][Zr]12345678([Cl-])(C9=C2C3=C1[C-]49)C1(=C7(C)C6(=C5(C)[C@@-]81C)C)C", printStereoWarnings=False) +smiles(R"Cl[Zr]12345678(Cl)(C9=C3C2=C1[C@H]49)C1=C6C7=C5[C@@H]81", printStereoWarnings=False) +smiles(R"Cl[Zr]12345678(Cl)(C9=C4[C@@]7(Cc4ccccc4)C3=C19)C1=C6[C@@]8(Cc3ccccc3)C5=C21", printStereoWarnings=False) +smiles(R"Cl[ZrH]12345678(C9=C3C2=C1[C@H]49)C1=C6C7=C5[C@@H]81", printStereoWarnings=False) +smiles(R"CN", printStereoWarnings=False) +smiles(R"C[N@@+]12C[C@H]3C[C@@H](C1)C[N@+](C)(C3)[BH2+]2", printStereoWarnings=False) +smiles(R"C[N@+]12C[C@@H]3C[C@H](C1)C[N@@+](C)(C3)[BH2+]2", printStereoWarnings=False) +smiles(R"C[N@+]12C[C@@H]3O[C@H](C1)C[N@@+](C)(C3)C2", printStereoWarnings=False) +smiles(R"C[N@+]12CN3CN(CN(C3)C2)C1", printStereoWarnings=False) +smiles(R"C[N+]12CN3CN(CN(C3)C2)C1", printStereoWarnings=False) +smiles(R"C[N@+]12CN3CN(CP(C3)C2)C1", printStereoWarnings=False) +smiles(R"Cn1c2cc3ccccc3cc2n(C)c2cc3ccccc3cc12", printStereoWarnings=False) +smiles(R"Cn1c2cc3c(Cl)c(=O)c4ccccc4c3cc2nc2cc3ccccc3cc12", printStereoWarnings=False) +smiles(R"CN1c2ccccc2[C@]23CCN4CC=C[C@]5(CC[C@]13CC5)[C@H]24", printStereoWarnings=False) +smiles(R"Cn1c2ccccc2c2c3sc4c5c(sc4c3sc2c1=O)c(=O)n(C)c1ccccc51", printStereoWarnings=False) +smiles(R"Cn1c2ccccc2c2cnn3cnnc3c12", printStereoWarnings=False) +smiles(R"Cn1c2ccccc2c2cnn3c(nnc3c12)c1ccccc1", printStereoWarnings=False) +smiles(R"Cn1c2c(nc3sc4ccccc4c(=N)n23)c(=O)n(C)c1=O", printStereoWarnings=False) +smiles(R"Cn1ccc2c(c1)c(C)c1c3c(ccc(O)c3OCC(F)(F)F)[nH]c1c2C", printStereoWarnings=False) +smiles(R"CN1CC[C@@]2(CC1)[C@H](c1ccccc1)C(=O)N(C[C@@H]1COc3ccccc3O1)C2=O", printStereoWarnings=False) +smiles(R"CN1CC[C@]2(CC1)C(=O)N(c1ccccc1)C(=O)[C@H]2c1ccccc1", printStereoWarnings=False) +smiles(R"CN1CC[C@@]2(CC1)C(=O)N(Cc1ccccc1)C(=O)[C@@H]2c1ccccc1", printStereoWarnings=False) +smiles(R"CN1CC[C@@]2(CC1)C(=O)N(Nc1ccccc1)C(=O)[C@@H]2c1ccccc1", printStereoWarnings=False) +smiles(R"CN1CC[C@]2(CC1)N[C@@H]1CCN(C)C[C@H]1S2", printStereoWarnings=False) +smiles(R"CN1CC[C@@]2(CC1)N[C@@H]1CCN(C)C[C@H]1S2", printStereoWarnings=False) +smiles(R"CN1CC[C@@]2(CC1)O[C@H](c1ccccc1)[C@@H](O2)c1ccccc1", printStereoWarnings=False) +smiles(R"CN1CC[C@]2(CC1)SS[C@]1(CCN(C)CC1)S2", printStereoWarnings=False) +smiles(R"Cn1ccc2c(C)c3[nH]c4ccc(cc4c3c(C)c2c1)OC(C)(C)C", printStereoWarnings=False) +smiles(R"Cn1ccc2c(C)c3[nH]c4ccc(Oc5ccccc5)cc4c3c(C)c2c1", printStereoWarnings=False) +smiles(R"Cn1ccc2c(C)c3[nH]c4ccc(OCC(F)(F)F)cc4c3c(C)c2c1", printStereoWarnings=False) +smiles(R"CN1C=Cc2ccccc2[C@@H]1[C@@H]([N+](=O)[O-])[C@@H]1N(C)C=Cc2ccccc12", printStereoWarnings=False) +smiles(R"CN1C=Cc2ccccc2[C@@H]1[C@H]([N+](=O)[O-])[C@@H]1N(C)C=Cc2ccccc12", printStereoWarnings=False) +smiles(R"CN1C/C(=C/c2cccs2)/[C@H](O)/C(=C\c2cccs2)/C1", printStereoWarnings=False) +smiles(R"Cn1ccccc1", printStereoWarnings=False) +smiles(R"C[n+]1ccccc1S[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"C[n+]1ccc(CCN[C@@H]2CC[C@H](CC2)/N=N/[C@H]2CC[C@@H](CC2)[N+](=O)[O-])cc1", printStereoWarnings=False) +smiles(R"C[n+]1ccc(CCN[C@H]2CC[C@@H](CC2)/N=N/[C@@H]2CC[C@H](CC2)[N+](=O)[O-])cc1", printStereoWarnings=False) +smiles(R"CN1CCC[C@H](C1)CN(C(=O)C)C12C[C@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"CN1CCC[C@@H](CNC23C[C@H]4C[C@@H](C[C@@H](C4)C3)C2)C1", printStereoWarnings=False) +smiles(R"Cn1cccc(O)c1", printStereoWarnings=False) +smiles(R"CN1CC[C@H](O)[C@H](CN[C@]23C[C@@H]4C[C@H](C[C@H](C4)C3)C2)C1", printStereoWarnings=False) +smiles(R"CN1CC[C@H](O)[C@H](CN[C@@]23C[C@@H]4C[C@@H](C[C@H](C4)C3)C2)C1", printStereoWarnings=False) +smiles(R"CN1CC[C@H](O)[C@H](CN[C@@]23C[C@H]4C[C@H](C[C@H](C4)C3)C2)C1", printStereoWarnings=False) +smiles(R"C[N+]1(C)CC[S+]2CC[N+](C)(C)[Pt@@+]12Cl", printStereoWarnings=False) +smiles(R"C[N+]1(C)CC[S+]2CC[N+](C)(C)[Pt@+]12Cl", printStereoWarnings=False) +smiles(R"CN1C[C@H]2CN(C)C[C@@H](C1)C2", printStereoWarnings=False) +smiles(R"CN1C[C@@H]2CN(C)C[C@H](C1)[C@@]2(O)c1ccccc1", printStereoWarnings=False) +smiles(R"CN1C[C@@H](c2ccccc2)[C@@](Cl)([C@@H](C1)c1ccccc1)[C@@]1(CN(C)C[C@@H](c2ccccc2)C1=O)c1ccccc1", printStereoWarnings=False) +smiles(R"CN1C[C@@H](c2ccccc2)[C@@H](OC(=O)C)[C@@H](C1)c1ccccc1", printStereoWarnings=False) +smiles(R"Cn1cc[n+](c1)[Pt+2]12[n+]3ccccc3c3cccc(=c4cccc[n+]14)[n+]23", printStereoWarnings=False) +smiles(R"Cn1cc[n+](c1)[Pt+2]12[n+]3ccccc3c3cccc(c4cccc[n+]14)[n+]23", printStereoWarnings=False) +smiles(R"CN1CCN(CC1)c1ccc2nnc(Cl)n2n1", printStereoWarnings=False) +smiles(R"CN1[C@@H]2CC[C@H]1C[C@]1(SCCS1)C2", printStereoWarnings=False) +smiles(R"CN1[C@@H]2CC[C@H]1CC1(SCCS1)C2", printStereoWarnings=False) +smiles(R"CN1[C@H](C)C[C@](C[C@H]1C)(c1ccccc1)c1ccccc1", printStereoWarnings=False) +smiles(R"CN1CN(c2ccccc2)[C@]2(CCN(CCC[C@H]3Cc4ccccc4O3)CC2)C1=O", printStereoWarnings=False) +smiles(R"C[n+]1cnn(C)n1", printStereoWarnings=False) +smiles(R"CN1C(=O)/C(=c/2\sc3nc4ccccc4n3c2=O)/c2ccccc12", printStereoWarnings=False) +smiles(R"CN1C(=O)[C@H]2[C@@H](C1=O)[C@@]1(O)c3ccccc3[C@]2(N)c2ccccc12", printStereoWarnings=False) +smiles(R"CN1C(=O)[C@@H]2S/C(=N/Nc3ccccc3)/S[C@H]1C(=O)N2C", printStereoWarnings=False) +smiles(R"Cn1c(=O)n2n(c1=O)[C@H]1[C@H]3[C@H]4[C@@H]2[C@]25COC[C@@]15[C@@H]3[C@@H]42", printStereoWarnings=False) +smiles(R"Cn1c(=O)n(C)c(=O)c2c1nc1sc3ncccc3c(=O)n21", printStereoWarnings=False) +smiles(R"CN1C(=S)[C@@]2([C@@H]1c1ccccc1)C(C)(C)CCCC2(C)C", printStereoWarnings=False) +smiles(R"CN1NC=[N+](C)N1", printStereoWarnings=False) +smiles(R"Cn1nnc(n1)c1nnn(C)n1", printStereoWarnings=False) +smiles(R"CN[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"CN(c1ccccc1)[C@H]1C2=C(CCCC2)OC(=O)[C@@]21SCCCS2", printStereoWarnings=False) +smiles(R"CN(c1ccccc1)C(=S)S(=O)(=O)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"CN(C)[C@]12CC[C@H](c3ccccc13)c1ccccc21", printStereoWarnings=False) +smiles(R"CN(C)c1ccc(cc1)/C=c/1\c2ccccc2n2c1cc([n+]2C)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"CN(C)c1ccc(cc1)/C=c/1\c2ccccc2n2c1cc([n+]2C)C12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"CN(C)c1ccc(cc1)/C=C/1\CN(C/C(=C/c2ccc(cc2)N(C)C)/C1=O)C(=O)C", printStereoWarnings=False) +smiles(R"CN(C)c1ccc(cc1)/C=C\1/C(=O)/C(=C\c2ccc(cc2)N(C)C)/c2ccccc12", printStereoWarnings=False) +smiles(R"CN(C)c1ccc(cc1)/C=c/1\sc2nc3ccccc3n2c1=O", printStereoWarnings=False) +smiles(R"CN(C)c1ccc(cc1)/C=c/1\sc2nc(=O)c(nn2c1=O)c1ccccc1NC(=O)C(F)(F)F", printStereoWarnings=False) +smiles(R"CN(C)c1ccc(cc1)/C=c/1\sc2nnc(c3cccnc3)n2c1=O", printStereoWarnings=False) +smiles(R"CN(C)c1ccc(cc1)/C=c/1\sc2nnc(c3ccco3)n2c1=O", printStereoWarnings=False) +smiles(R"CN(C)c1ccc(cc1)/C=c/1\sc2nnc(Cc3ccccc3)n2c1=O", printStereoWarnings=False) +smiles(R"CN(C)c1ccc(cc1)C[C@@H]1CC[C@H]2CCCC[C@H]12", printStereoWarnings=False) +smiles(R"CN(Cc1ccccc1)[C@@H]1CC[C@H](CC1)C(=O)O", printStereoWarnings=False) +smiles(R"CN(C)c1ccc(cc1)[C@@H]1O[C@]2(CCCCC2)C[N@@+]21CCCC2", printStereoWarnings=False) +smiles(R"CN(C)c1ccc(cc1)[C@@H]1O[C@]2(CCCCC2)C[N@+]21CCCC2", printStereoWarnings=False) +smiles(R"CN(C)c1ccc(cc1)[C@@H]1ON=C(c2ccccc2)N1[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"CN(C)c1ccc(cc1)/C=N/[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"CN(C)c1nc(nc(n1)N(C)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1)N(C)C", printStereoWarnings=False) +smiles(R"CN(C)c1nc(nc(n1)N(C)C)N[C@@]12C[C@@H]3C[C@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"CN(C)c1nnn(Cc2ccccc2)n1", printStereoWarnings=False) +smiles(R"CN(C)C1=[S+][Cu@@]2(I)S3=C(SC(=[S+][Cu@@]3(I)S2=C(S1)N(C)C)N(C)C)N(C)C", printStereoWarnings=False) +smiles(R"CN(C)C[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"CN(C)C[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"CN(C)CC12=C3C4=C5[C@-]61SSS[C@-]17C8=C9C%10=C1[Fe+2]23456789%10", printStereoWarnings=False) +smiles(R"CN(C)CC12=C3C4=C5[C@-]61SSS[C@@-]17C8=C9C%10=C1[Fe+2]23456789%10", printStereoWarnings=False) +smiles(R"CN(C)Cc1cc(cc(c2ccccc2)c1O)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"C[N+](C)(C)C[C@@]12C3=C4C5=C1[Fe]16782345[C@H]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"CNCCC[C@]12C[C@H](c3ccccc13)c1ccccc21", printStereoWarnings=False) +smiles(R"C[N+](C)(C)CCC[N@+]12CN3CN(CN(C3)C2)C1", printStereoWarnings=False) +smiles(R"C[N+](C)(C)CCC[N+]1(C)CC[C@@]2(CCC[C@@H](C2)C(F)(F)F)CC1", printStereoWarnings=False) +smiles(R"CN(C)CCCN1CC[C@@]2(CCC[C@@H](C2)C(F)(F)F)CC1", printStereoWarnings=False) +smiles(R"CN(C)CCCN1CC[C@@]2(CCC[C@H](C)C2)CC1", printStereoWarnings=False) +smiles(R"CN(C)CCCNc1ccc2nnn3c2c1c(=O)c1cc(ccc31)[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"CN(C)CCCNc1ccc2NNn3c2c1c(=O)c1cc(ccc31)[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"CN(C)CCCNc1ccc2nnn3c2c1c(=O)c1cc(O)ccc31", printStereoWarnings=False) +smiles(R"CN(C)CCCNc1ccc2nnn3c4ccc(OC(=O)c5ccccc5)cc4c(=O)c1c23", printStereoWarnings=False) +smiles(R"CN(C)CCCNc1ccc2nnn3c4ccc(OC(=O)c5ccc(cc5)[N+](=O)[O-])cc4c(=O)c1c23", printStereoWarnings=False) +smiles(R"CN(C)CCCNc1ccc2NNn3c4ccc(OC(=O)c5ccc(cc5)[N+](=O)[O-])cc4c(=O)c1c23", printStereoWarnings=False) +smiles(R"CN(C)C[C@@H]1C[C@@]2(OCCO2)C[C@H](CN(C)C)C1=O", printStereoWarnings=False) +smiles(R"CN(C)C[C@@H]1CCC[C@]21OCCO2", printStereoWarnings=False) +smiles(R"CN(C)C[C@@H]1CCCC[C@@]21OCCO2", printStereoWarnings=False) +smiles(R"CN(C)C[C@@H]1CCC[C@@H](CN(C)C)/C/1=N\OC(=O)c1ccccc1", printStereoWarnings=False) +smiles(R"CN(C)CC[N@@+]12CCC[N+]3=C(C)c4cccc5C(=[N+](CCC1)[Ni@+2]23[n+]45)C", printStereoWarnings=False) +smiles(R"CN(C)CC[N@+]12CCC[N+]3=C(C)c4cccc5C(=[N+](CCC1)[Ni@@+2]23[n+]45)C", printStereoWarnings=False) +smiles(R"CN(C)CC[N@@+]12CCCN3[C@H](C)c4cccc5[C@@H](C)N(CCC1)[Ni@@+3]23[n+]45", printStereoWarnings=False) +smiles(R"CN(C)CC[N@+]12CCCN3[C@H](C)c4cccc5[C@@H](C)N(CCC1)[Ni@+3]23[n+]45", printStereoWarnings=False) +smiles(R"CN(C)CCNc1ccc2ncnc3c4ccccc4C(=O)c1c23", printStereoWarnings=False) +smiles(R"CN(C)CCNc1ccc2nnn3c2c1c(=O)c1ccccc31", printStereoWarnings=False) +smiles(R"CN(C)CCNc1ccc2nnn3c2c1c(=O)c1cc(C)ccc31", printStereoWarnings=False) +smiles(R"CN(C)CCNc1ccc2nnn3c2c1c(=O)c1cc(Cl)ccc31", printStereoWarnings=False) +smiles(R"CN(C)CCNc1ccc2nnn3c2c1c(=O)c1cc(O)ccc31", printStereoWarnings=False) +smiles(R"CN(C)CC/[N+](=C(/c1ccccc1)\[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)/[O-]", printStereoWarnings=False) +smiles(R"CN(C)CC/[N+](=C(/c1ccccc1)\C12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)/[O-]", printStereoWarnings=False) +smiles(R"CN(C)CCNC(=O)c1cccc2c(N[C@H](CCCNC(=N)N)C(=O)O)c3ccccc3n(C)c12", printStereoWarnings=False) +smiles(R"CN(C)CCNC(=O)c1cccc2nc3c(nc12)c1ccccc1c1ccccc31", printStereoWarnings=False) +smiles(R"CN(C)CCO[C@]1(CC[C@@H](CC1)C(C)(C)C)Cc1ccc(C)cc1", printStereoWarnings=False) +smiles(R"CN(C)CCO[C@@]1(CC[C@H](CC1)C(C)(C)C)Cc1ccc(C)cc1", printStereoWarnings=False) +smiles(R"CN(C)CCO[C@@]1(CC[C@H](CC1)C(C)(C)C)Cc1ccc(Cl)cc1Cl", printStereoWarnings=False) +smiles(R"CN(C)CCO[C@]1(CC[C@@H](CC1)C(C)(C)C)Cc1ccc(F)cc1", printStereoWarnings=False) +smiles(R"CN(C)CCO[C@@]1(CC[C@H](CC1)C(C)(C)C)Cc1ccc(F)cc1", printStereoWarnings=False) +smiles(R"CN(C)CC(=O)C[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"CN(C)CCOC(=O)[C@@H]1C[C@]2(C1)C[C@@H](C2)C(=O)OCCN(C)C", printStereoWarnings=False) +smiles(R"CNCCC(=O)NC[C@H]1[C@H](c2ccccc2)[C@H]1c1ccccc1", printStereoWarnings=False) +smiles(R"CN(C)CCONC(=O)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"CN(C)[C@H]1C(C)(C)[C@@H](OC(=O)C(O)(c2ccccc2)c2ccccc2)C1(C)C", printStereoWarnings=False) +smiles(R"CN(C)[C@H]1CC[C@@H](CC1)C[C@@H]1CCc2ccccc12", printStereoWarnings=False) +smiles(R"CN(C)[C@H]1CC[C@@H](CC1)NC1=CC(=O)C(=CC1=O)N[C@H]1CC[C@@H](CC1)N(C)C", printStereoWarnings=False) +smiles(R"CN(C)[C@H]1C(=C(C(=O)NC[N@@+]23CCO[B@-]3(OCC2)c2ccccc2C)C(=O)[C@]2(O)[C@@H]1C[C@H]1C(=C2O)C(=O)c2c(O)cccc2[C@]1(C)O)O", printStereoWarnings=False) +smiles(R"CN(C)[C@H]1C(=C(C(=O)NC[N@+]23CCO[B@@-]3(OCC2)c2ccccc2C)C(=O)[C@]2(O)[C@@H]1C[C@H]1C(=C2O)C(=O)c2c(O)cccc2[C@]1(C)O)O", printStereoWarnings=False) +smiles(R"CN(C)[C@H]1CS(=O)(=O)[C@@]21C[C@H]1c3ccccc3[C@@H]2c2ccccc12", printStereoWarnings=False) +smiles(R"CNC[C@H](O)C[C@]12CC[C@H](c3ccccc13)c1ccccc21", printStereoWarnings=False) +smiles(R"CN(C)/C=N/c1ccc2nonc2c1", printStereoWarnings=False) +smiles(R"CN(C)/C(=N\c1ccccc1)/OC1=NC(=C/C/1=C/1\C=C(O/C(=N\c2ccccc2)/N(C)C)N=C1O/C(=N/c1ccccc1)/N(C)C)O/C(=N/c1ccccc1)/N(C)C", printStereoWarnings=False) +smiles(R"CN(C)/C=N/[C@@H]1CC[C@H](CC1)CC1CCCCC1", printStereoWarnings=False) +smiles(R"CN(C)/C=N/[C@H]1CC[C@@H](CC1)CC1CCCCC1", printStereoWarnings=False) +smiles(R"CN(C)C(=O)[C@@H]1C[C@@]2(C1)C[C@H](C2)C(=O)N(C)C", printStereoWarnings=False) +smiles(R"CN(C)C(=O)[C@@H]1CC[C@H](CC1)CC1CCCCC1", printStereoWarnings=False) +smiles(R"CN(C)C(=O)[C@@H](c1ccccc1)[C@@H](c1ccccc1)[C@H](c1ccccc1)C(=O)N(C)C", printStereoWarnings=False) +smiles(R"CN(C)C(=O)N1CN(c2ccccc2)[C@]2(CCN(CC2)C[C@H]2COc3ccccc3O2)C1=O", printStereoWarnings=False) +smiles(R"CN(C)C(=O)O[C@@H]1[C@@](C)(C)[C@@H](OC(=O)N(C)C)[C@]1(C)C", printStereoWarnings=False) +smiles(R"CN(C)C(=S)Nc1nnc(s1)N[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"CN(C)C(=S)S[C@@-]12C3=C4C5=C1[Fe+2]16782345C2=C7[C@-]8(SC(=S)N(C)C)C6=C12", printStereoWarnings=False) # smiles(R"CN(C)C1=NC(=C2C=CC=C12)N(C)C", printStereoWarnings=False) +smiles(R"CN(C)N1CC[C@@]2(CCC[C@@H](C2)C(F)(F)F)CC1", printStereoWarnings=False) +smiles(R"CN(C(=O)[C@]12[C@H]3[C@H]4[C@]2(C(=O)O)[C@H]2[C@@H]1[C@]3(C(=O)O)[C@@]42C(=O)N(C)C(C)(C)C)C(C)(C)C", printStereoWarnings=False) +smiles(R"CN(C(=O)[C@]12[C@@H]3[C@@H]4[C@H]1[C@H]1[C@@]4([C@@H]3[C@@]21C)C(=O)[C@]12[C@@H]3[C@@H]4[C@H]1[C@@H]1[C@H]2[C@H]3[C@]41C)C(C)(C)C", printStereoWarnings=False) +smiles(R"CN(C(=O)[C@@]12[C@@H]3[C@@H]4[C@H]2[C@@H]2[C@H]1[C@H]3[C@]42C(=O)C(C)(C)C)C(C)(C)C", printStereoWarnings=False) +smiles(R"CN(C(=O)[C@@]12[C@@H]3[C@@H]4[C@H]2[C@@H]2[C@H]1[C@H]3[C@]42C(=O)N)C(C)(C)C", printStereoWarnings=False) +smiles(R"CN(C(=O)[C@]12[C@@H]3[C@H]4[C@@H]5[C@H]([C@@H]14)[C@]2([C@H]35)C(=O)[C@@]12[C@H]3[C@@H]4[C@@H]5[C@H]3[C@H]2[C@@H]5[C@H]14)C(C)(C)C", printStereoWarnings=False) +smiles(R"CNC(=O)[C@]12C(=O)NC(=O)[C@@]1(C(=O)O)[C@@]12CCCC1", printStereoWarnings=False) +smiles(R"CNC(=O)[C@@]1(C#N)[C@H](c2ccccc2)[C@](C#N)(C(=O)NC)[C@@H]1c1ccccc1", printStereoWarnings=False) +smiles(R"CNC(=O)[C@@H]1CC[C@H](CC1)CC1CCCCC1", printStereoWarnings=False) +smiles(R"CNC(=O)[C@H]1CC[C@@H](CC1)CC1CCCCC1", printStereoWarnings=False) +smiles(R"CNC(=O)NCCN1C[C@@H]2CC[C@@H](CC2)C1", printStereoWarnings=False) +smiles(R"CNC(=O)N(C)/N=N/C[C@H]1CC[C@H](C/N=N/N(C)C(=O)NC)CC1", printStereoWarnings=False) +smiles(R"CNC(=O)O/N=C\1/CC[C@@H](CC1)CC1CCCCC1", printStereoWarnings=False) +smiles(R"CN(C)S(=O)(=O)/N=C/1\C=C/C(=N\S(=O)(=O)N(C)C)/C=C1", printStereoWarnings=False) +smiles(R"CN/C(=[S+]\[Rh@@](Cl)(C#[O+])/[S+]=C(\NC)/P(c1ccccc1)c1ccccc1)/P(c1ccccc1)c1ccccc1", printStereoWarnings=False) +smiles(R"CN(/N=C/c1ccccc1)[C@@H](N(C)/N=C\c1ccccc1)c1ccccc1", printStereoWarnings=False) +smiles(R"CN(/N=C/c1ccccc1Cl)[C@H](N(C)/N=C\c1ccccc1Cl)c1ccccc1Cl", printStereoWarnings=False) +smiles(R"CN(/N=C\C=N\N(C)CCc1nnnn1C)CCc1nnnn1C", printStereoWarnings=False) +smiles(R"CO[C@@]1(c2ccccc2)c2cc3ccccc3cc2[C@@](OC)(c2ccccc2)c2cc3ccccc3cc12", printStereoWarnings=False) +smiles(R"COC1=c2ccccc2=c2ccccc2=c2ccccc2=N1", printStereoWarnings=False) +smiles(R"COc1cc2c(c3c1c(=O)c1ccccc1n3C)c(=O)c1ccccc1n2C", printStereoWarnings=False) +smiles(R"COc1cc2cc(ccc2cc1OC)/C(=N\N=C(/C)\c1ccc2cc(OC)c(OC)cc2c1)/C", printStereoWarnings=False) +smiles(R"COc1cc2c(cc[n+]3cc4c(ccc5ccccc45)cc23)cc1OC", printStereoWarnings=False) +smiles(R"COc1cc2c(CN3Cc4cc(O)c(OC)cc4[C@H]2C3)cc1O", printStereoWarnings=False) +smiles(R"COc1cc2c(oc(=O)c3c2c(OC)cc2ccoc32)c2cccc(O)c12", printStereoWarnings=False) +smiles(R"COc1cc2c(oc(=O)c3c2c(OC)cc2ccoc32)c2cccc(OCc3ccccc3)c12", printStereoWarnings=False) +smiles(R"COc1cc2c(oc(=O)c3c2c(OC)cc2cc(oc32)[Si](C)(C)C)c2cccc(OCc3ccccc3)c12", printStereoWarnings=False) +smiles(R"COc1cc(Br)c2nsnc2c1", printStereoWarnings=False) +smiles(R"COc1ccc2c(c1)[C@]13CCCC[C@@H]3[C@H](N(C)CC1)[C@@]12CC1", printStereoWarnings=False) +smiles(R"COc1ccc2c(c1)c(=O)c1c(NCCN(C)C)ccc3nnn2c13", printStereoWarnings=False) +smiles(R"COc1ccc2c(c1)nc1c(c3cccc4ccc(OC)c1c34)/n/2=N\C(=O)CBr", printStereoWarnings=False) +smiles(R"COc1ccc2c(c1)[n+]([O-])c(C(=O)C/C(=N/OCCCc1ccccc1)/C(=O)N[C@]13C[C@@H]4C[C@@H](C[C@@H](C4)C3)C1)c(C)[n+]2[O-]", printStereoWarnings=False) +smiles(R"COc1ccc2c(c1)[n+]([O-])c(C(=O)C/C(=N/OCCCc1ccccc1)/C(=O)NC13C[C@@H]4C[C@@H](C[C@@H](C4)C3)C1)c(C)[n+]2[O-]", printStereoWarnings=False) +smiles(R"COc1ccc2c(CCC3=C2CC[C@H]2[C@@H]3C(=O)CC[C@]32OCCCO3)c1", printStereoWarnings=False) +smiles(R"COc1ccc2C[C@H]3N(C)CC[C@@]4(C[C@]5(OCCO5)CC[C@H]34)c2c1Oc1ccc(cc1[N+](=O)[O-])[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"COc1ccc2C[C@H]3N(C)CC[C@@]4(C[C@@]5(OCCO5)CC[C@H]34)c2c1Oc1ccc(cc1[N+](=O)[O-])[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"COc1ccc2c(no[n+]2[O-])c1", printStereoWarnings=False) +smiles(R"COc1ccc2nc3cc(Cl)ccc3c(NCCCN3CCN(CCCNc4ccc5nnn6c7ccccc7c(=O)c4c56)CC3)c2c1", printStereoWarnings=False) +smiles(R"COc1ccc2nc3C(=O)c4cccnc4c4nccc(c34)c2c1", printStereoWarnings=False) +smiles(R"COc1ccc2nccc(/C=C\3/N4CC[C@@H](CC4)[C@@H]3OC(=O)c3ccc(cc3)[N+](=O)[O-])c2c1", printStereoWarnings=False) +smiles(R"COc1ccc2nccc(/C=C\3/N4CC[C@H](CC4)[C@@H]3OC(=O)c3ccc(cc3)[N+](=O)[O-])c2c1", printStereoWarnings=False) +smiles(R"COc1ccc2nccc([C@H](O)[C@@H]3C[C@@H]4CCN3C[C@@H]4C=C)c2c1", printStereoWarnings=False) +smiles(R"COc1ccc2nc(O)cc(/C=C/3\N4CC[C@H](CC4)C3=O)c2c1", printStereoWarnings=False) +smiles(R"COc1ccc2[nH]c3cc4c(cc3c(=O)c2c1)[nH]c1ccc(OC)cc1c4=O", printStereoWarnings=False) +smiles(R"COc1ccc2[nH]c3c(C)c4ccn5c(cc6ccccc6c5=O)c4c(C)c3c2c1", printStereoWarnings=False) +smiles(R"COc1ccc2[nH]c3c(C)c4ccnc(NCCCN(C)CCCNc5ccc6nnn7c8ccccc8c(=O)c5c67)c4c(C)c3c2c1", printStereoWarnings=False) +smiles(R"COc1ccc2[nH]c3c(C)c4ccn(COC(=O)c5ccccc5)cc4c(C)c3c2c1", printStereoWarnings=False) +smiles(R"COc1ccc2[nH]cc(C(=O)C(=O)N[C@@]34C[C@H]5C[C@H](C[C@H](C5)C4)C3)c2c1", printStereoWarnings=False) +smiles(R"COc1ccc2nonc2c1", printStereoWarnings=False) +smiles(R"COc1ccc2[N+]([O-])ONc2c1", printStereoWarnings=False) +smiles(R"COc1ccc2n[se]nc2c1", printStereoWarnings=False) +smiles(R"COc1ccc2O[C@@H](CN3CC[C@]4(CC3)C(=O)NCN4c3ccccc3)Cc2c1", printStereoWarnings=False) +smiles(R"COc1cccc2C(=O)c3c(O)c4C[C@](O)(C[C@H](O[C@H]5C[C@H](N)[C@H](O)[C@H](C)O5)c4c(O)c3C(=O)c12)C1(C)OC[C@](C)(C)CO1", printStereoWarnings=False) +smiles(R"COc1ccc(cc1)[B@-]12OCC[N@@+]2(CCO1)CNC(=O)c1ccccc1O", printStereoWarnings=False) +smiles(R"COc1ccc(cc1)[B@@-]12OCC[N@+]2(CCO1)CNC(=O)c1ccccc1O", printStereoWarnings=False) +smiles(R"COc1cccc(c1)[B@-]12OCC[N@@+]2(CCO1)CNC(=O)c1ccccc1O", printStereoWarnings=False) +smiles(R"COc1cccc(c1)[B@@-]12OCC[N@+]2(CCO1)CNC(=O)c1ccccc1O", printStereoWarnings=False) +smiles(R"COc1cccc(c1)[B@-]12OCC[N@@+]2(CCO1)CNC(=O)C1=C(O)[C@H](N(C)C)[C@H]2C[C@H]3C(=C(O)[C@]2(O)C1=O)C(=O)c1c(O)cccc1[C@]3(C)O", printStereoWarnings=False) +smiles(R"COc1cccc(c1)[B@@-]12OCC[N@+]2(CCO1)CNC(=O)C1=C(O)[C@H](N(C)C)[C@H]2C[C@H]3C(=C(O)[C@]2(O)C1=O)C(=O)c1c(O)cccc1[C@]3(C)O", printStereoWarnings=False) +smiles(R"COc1ccccc1[B@-]12OCC[N@@+]2(CCO1)CNC(=O)C1=C(O)[C@H](N(C)C)[C@H]2C[C@H]3C(=C(O)[C@]2(O)C1=O)C(=O)c1c(O)cccc1[C@]3(C)O", printStereoWarnings=False) +smiles(R"COc1ccccc1[B@@-]12OCC[N@+]2(CCO1)CNC(=O)C1=C(O)[C@H](N(C)C)[C@H]2C[C@H]3C(=C(O)[C@]2(O)C1=O)C(=O)c1c(O)cccc1[C@]3(C)O", printStereoWarnings=False) +smiles(R"COc1ccccc1[C@@]12c3ccccc3[C@@]2(O)c2ccccc12", printStereoWarnings=False) +smiles(R"COc1ccc(cc1)[C@@]12c3ccccc3[C@H]2c2ccccc12", printStereoWarnings=False) +smiles(R"COc1ccc(cc1)[C@]12c3ccc(OC)cc3C[C@]2(Cc2cc(OC)ccc12)c1ccc(cc1)[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"COc1ccc(cc1)[C@@]12c3ccc(OC)cc3C[C@@]2(Cc2cc(OC)ccc12)c1ccc(cc1)[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"COc1ccc(cc1)[C@]1(Cl)[C@@](Cl)(C(F)(F)F)[C@]1(Cl)C(F)(F)F", printStereoWarnings=False) +smiles(R"COc1ccc(cc1)c1nnn(n1)/C(=N/O)/c1c(C)cc(OC)cc1C", printStereoWarnings=False) +smiles(R"COc1cccc(c1)[C@@]1(O)CCCC[C@H]1[N@@H+]1CC[C@@]2(CC1)C(=O)NC[C@H]2c1ccccc1", printStereoWarnings=False) +smiles(R"COc1ccc(cc1)Cc1nnc2nc(OC)c(c3ccc(OC)cc3)n2n1", printStereoWarnings=False) +smiles(R"COc1ccc(cc1)/C=c\1/sc2nc(nn2c1=O)c1ccccc1", printStereoWarnings=False) +smiles(R"COc1ccc(cc1)/C=c/1\sc2=NN[C@@]3(CC[C@H](C)CC3)Nn2c1=O", printStereoWarnings=False) +smiles(R"COc1ccc(cc1)/C=c/1\sc2nnc(CCC(=O)Nc3cccc(c3)C(F)(F)F)n2c1=O", printStereoWarnings=False) +smiles(R"COc1ccc(cc1)CC[C@@]1(C)OC[C@@](C)(CC)CO1", printStereoWarnings=False) +smiles(R"COc1ccc(cc1)C#C[C@]1(O)c2ccccc2[C@](O)(C#Cc2ccc(OC)cc2)c2ccccc12", printStereoWarnings=False) +smiles(R"COc1ccc(cc1)/C=C/C(=O)[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"COc1ccc(cc1)/C=C/C(=O)[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"COc1ccc(cc1)[C@@H]1C2=C(C[C@@H](CC2=O)c2ccccc2)NC2=C1C(=O)C[C@H](C2)c1ccccc1", printStereoWarnings=False) +smiles(R"COc1cccc(c1)[C@@H]1C[C@]21C(=O)NC(=O)NC2=O", printStereoWarnings=False) +smiles(R"COc1cccc(c1)[C@@H]1C[C@@H]([NH2+]CC2CC2)C1", printStereoWarnings=False) +smiles(R"COc1ccccc1[C@@H]1CC(=O)C[C@@H](c2ccccc2OC)[C@@]21C(=O)NC(=S)NC2=O", printStereoWarnings=False) +smiles(R"COc1ccc(cc1)[C@@H]1CC(=O)C[C@@H](c2ccc(OC)cc2)[C@@]21C(=O)c1ccccc1C2=O", printStereoWarnings=False) +smiles(R"COc1ccc(cc1)[C@H]1CC(=O)C[C@H](c2ccc(OC)cc2)[C@]21C(=O)CCCC2=O", printStereoWarnings=False) +smiles(R"COc1ccc(cc1)[C@H]1CC(=O)C[C@@H](c2ccc(OC)cc2)[C@@]21C(=O)NC(=O)NC2=O", printStereoWarnings=False) +smiles(R"COc1ccc(cc1)[C@H]1CC(=O)C[C@@H](c2ccc(OC)cc2)[C@@]21C(=O)NC(=S)NC2=O", printStereoWarnings=False) +smiles(R"COc1cccc(c1)[C@@H]1[C@H](C#N)C(=O)NC(=O)[C@H]1C#N", printStereoWarnings=False) +smiles(R"COc1ccc(cc1)[C@H]1OC[C@@](C)(CC)CO1", printStereoWarnings=False) +smiles(R"COc1ccc(cc1)[C@H]1O[C@H]1C(=O)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"COc1ccccc1[C@@H]1O[C@H](C[C@]2(CC(=C)C(=O)O2)C1)c1ccccc1OC", printStereoWarnings=False) +smiles(R"COc1ccc(cc1)[C@H]1O[C@H](C)[C@@H](C)O1", printStereoWarnings=False) +smiles(R"COc1ccccc1[C@@H]1O[C@@H](C)[C@H](C)O1", printStereoWarnings=False) +smiles(R"COc1cccc(c1)[C@@H]1ON=C(c2ccccc2)N1[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"COc1ccccc1[C@@H](C#N)N1CCCN([C@@H]1c1ccccc1)[C@H](C#N)c1ccccc1OC", printStereoWarnings=False) +smiles(R"COc1ccccc1[C@@H](C#N)N1CCCN([C@H](C#N)c2ccccc2OC)[C@@H]1c1cccc(OC)c1O", printStereoWarnings=False) +smiles(R"COc1ccc(cc1)[C@@H](C#N)N1CCCN([C@H](C#N)c2ccc(OC)cc2)[C@H]1c1ccccc1OC", printStereoWarnings=False) +smiles(R"COc1ccc(cc1)[C@@H](C#N)N1CCCN([C@H](C#N)c2ccc(OC)cc2)[C@@H]1c1cccc(OC)c1O", printStereoWarnings=False) +smiles(R"COc1ccccc1[C@H](C(=O)N[C@@H]1CN2CC[C@H]1CC2)c1ccsc1", printStereoWarnings=False) +smiles(R"COc1ccc(cc1)[C@H](/N=C/c1ccc(OC)cc1)/N=C/c1ccc(OC)cc1", printStereoWarnings=False) +smiles(R"COc1ccc(cc1)[C@H](OC/C=C(/C)\CCC=C(C)C)OC/C=C(/C)\CCC=C(C)C", printStereoWarnings=False) +smiles(R"COc1ccc(cc1)[C@H](OC[C@@H]1C[C@H]2CC[C@@H]1C2)OC[C@@H]1C[C@H]2CC[C@@H]1C2", printStereoWarnings=False) +smiles(R"COc1ccc(cc1)[C@H](OC[C@H]1C[C@@H]2C=C[C@H]1C2)OC[C@H]1C[C@@H]2C=C[C@H]1C2", printStereoWarnings=False) +smiles(R"COc1ccc(cc1)Cn1cccc(O)c1", printStereoWarnings=False) +smiles(R"COc1ccc(cc1)/C=N/[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"COc1ccccc1/C=N/[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"COc1ccc(cc1)CN(CCCCCCN(Cc1ccc(OC)cc1)C[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1)C[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"COc1ccc(cc1)CN[C@H](C)C[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"COc1ccc(cc1)/C=N/N(C)CN(C)/N=C\c1ccc(OC)cc1", printStereoWarnings=False) +smiles(R"COc1ccccc1/C=N/N/C(=N/N=C/c1ccccc1OC)/N/N=C/c1ccccc1OC", printStereoWarnings=False) +smiles(R"COc1ccccc1/C=N/N/C(=N)/N/N=C\c1ccccc1OC", printStereoWarnings=False) +smiles(R"COc1ccccc1/C=N/NC(=S)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"COc1ccc(cc1)C(=O)/C=C/[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"COc1ccc(cc1)C(=O)/C=C/[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"COc1cccc(c1)C(=O)/C=C/[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"COc1cccc(c1)C(=O)/C=C/[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"COc1ccc(cc1)C(=O)C[N@@+]12CN3CN(CN(C3)C2)C1", printStereoWarnings=False) +smiles(R"COc1ccccc1N1C(=O)[C@H]2[C@@H]3c4ccccc4[C@](OC(=O)C)([C@H]2C1=O)c1ccccc31", printStereoWarnings=False) +smiles(R"COc1cccc(c1)N1C(=O)[C@@H]2[C@H](C1=O)[C@]1(Cl)C(=C(Cl)[C@@]2(Cl)[C@@]1(Cl)Cl)Cl", printStereoWarnings=False) +smiles(R"COc1ccccc1N1C(=O)[C@@H]2[C@H](C1=O)[C@@]1(Cl)C(=C(Cl)[C@]2(Cl)[C@@]1(Cl)Cl)Cl", printStereoWarnings=False) +smiles(R"COc1ccc(cc1/N=C/c1ccc(cc1)N1CC[C@]2(CCCCC2)CC1)c1csc(Cc2ccccc2)n1", printStereoWarnings=False) +smiles(R"COc1ccccc1N/C(=C/C(=O)C(=O)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)/c1ccccc1", printStereoWarnings=False) +smiles(R"COc1cccc(c1)NC(=O)CC(=O)N1N=C(C)[C@@H](/N=N/c2ccc(cc2)[S@@](=O)(=O)c2ccc(/N=N/[C@@H]3C(=NN(C(=O)CC(=O)Nc4cccc(OC)c4)C3=O)C)cc2)C1=O", printStereoWarnings=False) +smiles(R"COc1ccccc1NC(=O)[C@@H](C(=O)C)[C@@H](c1cccc(c1)[N+](=O)[O-])[C@H](C(=O)C)C(=O)Nc1ccccc1OC", printStereoWarnings=False) +smiles(R"COc1ccccc1NC(=O)[C@@H](C(=O)C)[C@H](c1cccc(c1)[N+](=O)[O-])[C@H](C(=O)C)C(=O)Nc1ccccc1OC", printStereoWarnings=False) +smiles(R"COc1ccc(cc1)NC(=O)N1C[C@H]2CCN1CC2", printStereoWarnings=False) +smiles(R"COc1ccccc1NC(=O)OC[C@@]12COCN2COC1", printStereoWarnings=False) +smiles(R"COc1ccc(cc1)[NH+]1CCN(CC1)C[C@@H](O)COCC[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"COc1cc(ccc1OC)[C@]12CCN([C@@H]2[C@@H](CO)C2(OC[C@](C)(C)CO2)CC1)S(=O)(=O)c1ccc(C)cc1", printStereoWarnings=False) +smiles(R"COc1cc(ccc1OC)[C@]1(CCC2(C=C)OC[C@](C)(C)CO2)CN(=O)O[C@@H](O[C@H]2CCCC[C@H]2C(C)(C)c2ccccc2)C1", printStereoWarnings=False) +smiles(R"COc1c(cccc1OC)/C=C/1\COC/C(=C/c2cccc(OC)c2OC)/C1=O", printStereoWarnings=False) +smiles(R"COc1cc(ccc1OC)/C=C\1/C(=O)OC(=O)/C1=C\c1ccc(OC)c(OC)c1", printStereoWarnings=False) +smiles(R"COc1cc(ccc1OC)/C=C/C(=O)[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"COc1cc(ccc1OC)/C=C/C(=O)[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"COc1ccc(cc1OC)[C@@H]1[C@@H]2C(=O)NC(=O)[C@H]1C(=O)NC2=O", printStereoWarnings=False) +smiles(R"COc1cc(ccc1OC)[C@@H]1OC[C@@]2(CO)CO[C@@H](c3ccc(OC)c(OC)c3)N12", printStereoWarnings=False) +smiles(R"COc1ccc(cc1OC)[C@@H](/N=C/c1ccc(OC)c(OC)c1)/N=C/c1ccc(OC)c(OC)c1", printStereoWarnings=False) +smiles(R"COc1cc(ccc1OC)C(=O)/C=C/[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"COc1cc(ccc1OC)C(=O)/C=C/[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"COc1cc(ccc1O)[C@@H]1OC[C@]2(CO)CO[C@@H](c3ccc(O)c(OC)c3)N12", printStereoWarnings=False) +smiles(R"COc1cc(ccc1O)[C@@H]1SCCCCCCCCCCS[C@H](SCCCCCCCCCCS1)c1ccc(O)c(OC)c1", printStereoWarnings=False) +smiles(R"COc1cc(ccc1O)[C@H](/N=C/c1ccc(O)c(OC)c1)/N=C/c1ccc(O)c(OC)c1", printStereoWarnings=False) +smiles(R"COc1cc(ccc1OC)Nc1c2ccccc2n2c(c1C#N)n(C)c1ccccc21", printStereoWarnings=False) +smiles(R"COc1cc(ccc1O)C(=O)/C=C/[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"COc1cc(ccc1O)C(=O)/C=C/[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"COc1ccc(cc1)P1(=[S+][Ni]2(S1)(SP(=[S+]2)(c1ccc(OC)cc1)c1ccc(OC)cc1)(N1CC[C@@H](C)CC1)N1CC[C@H](C)CC1)c1ccc(OC)cc1", printStereoWarnings=False) +smiles(R"COc1ccc(cc1)S(=O)(=O)NC(=O)N[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"COc1cccc(CCNc2c3cccnc3n3c(c2C#N)n(C)c2ccccc32)c1", printStereoWarnings=False) +smiles(R"COc1cccc([C@@H](/N=C/c2cccc(OC)c2O)/N=C/c2cccc(OC)c2O)c1O", printStereoWarnings=False) +smiles(R"COc1cccc(/C=N/[C@]23C[C@@H]4C[C@@H](C[C@@H](C4)C3)C2)c1", printStereoWarnings=False) +smiles(R"COc1cccc(/C=N/NC(=O)[C@@H]2CCN(CC2)C(=S)N[C@@H]2C[C@@H]3C=C[C@H]2C3)c1O", printStereoWarnings=False) +smiles(R"COc1cccc(/C=N/NC(=S)N[C@@H]2CN3CC[C@@H]2CC3)c1OC", printStereoWarnings=False) +smiles(R"COc1ccc(Cl)cc1N1C(=O)[C@H]2[C@@H](C1=O)[C@@]1(Cl)C(=C(Cl)[C@]2(Cl)[C@]1(Cl)Cl)Cl", printStereoWarnings=False) +smiles(R"COc1ccc(/C=N/N2CN(B(NC2=N)N[C@@]23C[C@H]4C[C@H](C[C@H](C4)C3)C2)[C@@H](C)C(=O)O)cc1OC", printStereoWarnings=False) +smiles(R"COc1ccc(/C=N/N/C(=N)/N/N=C\c2ccc(OC)cc2)cc1", printStereoWarnings=False) +smiles(R"COc1ccc(/C=N/NC(=S)N[C@]23C[C@@H]4C[C@@H](C[C@@H](C4)C3)C2)cc1OC", printStereoWarnings=False) +smiles(R"COc1ccc(c(OC)c1)[C@H]1CC(=O)C[C@@H](c2ccc(OC)cc2OC)[C@]21C(=O)c1ccccc1C2=O", printStereoWarnings=False) +smiles(R"COc1ccc(c(OC)c1)N1C(=O)[C@@H]2[C@H](C1=O)[C@@]1(Cl)C(=C(Cl)[C@]2(Cl)[C@@]1(Cl)Cl)Cl", printStereoWarnings=False) +smiles(R"COc1cc(cc(OC)c1OC)[C@H]1[C@H](C(=O)OC/C=C/c2ccc3OCOc3c2)[C@@H](c2cc(OC)c(OC)c(OC)c2)[C@H]1C(=O)OC/C=C/c1ccc2OCOc2c1", printStereoWarnings=False) +smiles(R"COc1cc(cc(OC)c1OC)[C@H]1N2CCCN1CC2", printStereoWarnings=False) +smiles(R"COC1=CC(=C(C(=O)[C@@H]2[C@H](c3ccccc3)[C@H]([C@H]2c2ccccc2)C(=O)C2=C(O)C=C(OC)C(C)(C)C2=O)C(=O)C1(C)C)O", printStereoWarnings=False) +smiles(R"COc1cc(/C=N/c2ccc(cc2)c2csc(n2)c2ccc(Cl)cc2)ccc1N1CC[C@@]2(CCCCC2)CC1", printStereoWarnings=False) +smiles(R"COc1ccc(NC(=O)C)c2c1[nH]c1c(c(=O)c3[nH]c4c(OC)ccc(NC(=O)C)c4c(=O)c3c1=O)c2=O", printStereoWarnings=False) +smiles(R"COc1cc(/C=N/N=C\c2ccc(OC)c(OC)c2)ccc1OC", printStereoWarnings=False) +smiles(R"COc1cc(/C=N\NC(=S)N[C@H]2CN3CC[C@@H]2CC3)ccc1OC", printStereoWarnings=False) +smiles(R"COc1ccc(OC)c2c(cc(nc12)c1ccc(Cl)cc1)[C@@H](O)CN[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"COc1ccnc2c1C(=O)c1nc3ccccc3c3ccnc2c13", printStereoWarnings=False) +smiles(R"COc1cc(N[C@H](C)CCCN[C@@H]2CN3CC[C@H]2CC3)c2ncccc2c1", printStereoWarnings=False) +smiles(R"COc1cc(O)c2c(=O)cc(oc2c1)[C@]1(C=C[C@H](C=C1)O[C@@H]1O[C@@H](CO)[C@H](O)[C@H](O)[C@@H]1O)OC(=O)C", printStereoWarnings=False) +smiles(R"COc1cc(OC)c2ssc3c(OC)cc(OC)c4ssc1c2c34", printStereoWarnings=False) +smiles(R"COc1cc(OC)cc(c1)C[N@@+]12CC[N@+](CC1)(Cc1cc(OC)cc(OC)c1)C2", printStereoWarnings=False) +smiles(R"C/[O+]=C/1\C=C(OC)/C(=C\c2c(OC)cc(OC)cc2OC)/C(=C1)OC", printStereoWarnings=False) +smiles(R"COc1cc(OC)c(/C=N/NC(=S)N[C@]23C[C@@H]4C[C@@H](C[C@@H](C4)C3)C2)c(OC)c1", printStereoWarnings=False) +smiles(R"COc1cc(O)c(/C=N/NC(=S)N[C@]23C[C@@H]4C[C@@H](C[C@@H](C4)C3)C2)c(OC)c1", printStereoWarnings=False) +smiles(R"COC1[CH]C(/N=N/C2[CH][CH][CH]C([CH]2)S(=O)(=O)O)[CH][CH]C1/N=N/C1[CH][CH]C(/C=C\C2[CH][CH]C([CH]C2S(=O)(=O)O)N2ON2C2[CH][CH]C(/C=C/C3[CH][CH]C(/N=N/C4[CH][CH]C(/N=N/C5[CH][CH][CH]C([CH]5)S(=O)(=O)O)[CH]C4OC)[CH]C3S(=O)(=O)O)C([CH]2)S(=O)(=O)O)C([CH]1)S(=O)(=O)O", printStereoWarnings=False) +smiles(R"COc1c(N2CCCCC2)c2c(=O)c3ccccc3oc2c2c3ccccc3n(C)c12", printStereoWarnings=False) +smiles(R"COc1c(OC)cc2CCN[C@H]3C[C@]4(C=CC(=O)C=C4)c1c23", printStereoWarnings=False) +smiles(R"COc1c(OC)cc2CCN(C(=O)C)[C@H]3C[C@]4(C=CC(=O)C=C4)c1c23", printStereoWarnings=False) +smiles(R"COc1c(OC)cc(cc1OC)[C@H]1CC(=O)C[C@@H](c2cc(OC)c(OC)c(OC)c2)[C@]21C(=O)c1ccccc1C2=O", printStereoWarnings=False) +smiles(R"COc1c(OC)cc(cc1OC)C(=O)N1C[C@H]2CC[C@H](CC2)C1", printStereoWarnings=False) +smiles(R"COc1c(OC)cc(/C=C/2\N3CC[C@H](CC3)C2=O)cc1OC", printStereoWarnings=False) +smiles(R"COc1c(OC)cc(C[C@@H]2N3CC[C@H](CC3)[C@@H]2O)cc1OC", printStereoWarnings=False) +smiles(R"COc1nc2cc3c(oc4ccccc34)cc2n2cccc12", printStereoWarnings=False) +smiles(R"CO[C@]1(N/C(=N)/N[C@@]1(OC)c1ccccc1)c1ccccc1", printStereoWarnings=False) +smiles(R"CO[C@]1(O[C@]21CCCC2)c1ccc(Cl)cc1", printStereoWarnings=False) +smiles(R"CO[C@@]1(O[C@@]21CCN(C)CC2)c1ccc(C)cc1", printStereoWarnings=False) +smiles(R"CO[C@]1(OC)[C@@]2(Cl)C3=CCCC=C3[C@]1(Cl)C(=C2Cl)Cl", printStereoWarnings=False) +smiles(R"CO[C@]1(OC)[C@]2(Cl)[C@@H]3CCCC[C@@H]3[C@@]1(Cl)C(=C2Cl)Cl", printStereoWarnings=False) +smiles(R"CO[C@]1(OC)[C@@]2(Cl)[C@@H]3C=CC=C[C@H]3[C@]1(Cl)C(=C2Cl)Cl", printStereoWarnings=False) +smiles(R"CO[C@]1(OC)[C@@]2(Cl)[C@H]3[C@@H]4[C@@]5(OC(=O)C)[C@@H]6[C@H]([C@]3(OC(=O)C)C5=O)[C@@]2(Cl)[C@]6(Cl)[C@]14Cl", printStereoWarnings=False) +smiles(R"CO[C@]1(OC)[C@@]2(Cl)[C@H]3COC[C@@H]3[C@]1(Cl)C(=C2Cl)Cl", printStereoWarnings=False) +smiles(R"CO[C@@]1(OC)[C@]2(Cl)[C@H]3C(=O)[C@@H]4[C@@H]5C(=O)[C@H]3[C@@]1(Cl)[C@]5(Cl)[C@]24Cl", printStereoWarnings=False) +smiles(R"CO[C@@]1(OC)[C@@H]2C=C[C@H]1[C@H]1[C@@H]2[C@@H]2[C@H]1[C@@H]1C=C[C@H]2C1(OC)OC", printStereoWarnings=False) +smiles(R"COC[C@]1(COC)CCN(CC1)[C@H]1C[C@@H](O[C@@H](C)[C@H]1O)O[C@H]1C[C@@](O)(Cc2c1c(O)c1c(c2O)C(=O)c2cccc(OC)c2C1=O)C(=O)C", printStereoWarnings=False) +smiles(R"COCCc1nnn(C)n1", printStereoWarnings=False) +smiles(R"COCCC[Ti]12345678(Cl)(C9=C3C2=C1[C@H]49)C1=C6C7=C5[C@@H]81", printStereoWarnings=False) +smiles(R"COC[C@H]1C(=O)c2cc3OCOc3cc2[C@@]21C=C[C@]1(OCCO1)C=C2", printStereoWarnings=False) +smiles(R"COCCN(CCOC)C(=O)c1ccc2c(no[n+]2[O-])c1", printStereoWarnings=False) +smiles(R"COCCN(CCOC)C(=O)c1ccc2c(NO[N+]2[O-])c1", printStereoWarnings=False) +smiles(R"COCCN[C@@H]1CC[C@@]2(SCCS2)c2[nH]c3ccccc3c12", printStereoWarnings=False) +smiles(R"COCCNC(=O)c1ccc2c(no[n+]2[O-])c1", printStereoWarnings=False) +smiles(R"COCCNC(=O)c1ccc2c(NO[N+]2[O-])c1", printStereoWarnings=False) +smiles(R"COCCN(C(=O)c1ccccc1)[C@@H]1CC[C@]2(SCCS2)c2[nH]c3ccccc3c12", printStereoWarnings=False) +smiles(R"COCCN(C(=O)C)[C@@H]1CC[C@]2(SCCS2)c2[nH]c3ccccc3c12", printStereoWarnings=False) +smiles(R"COCC(=O)[C@@H](C(=O)C)[C@@H](c1ccc2OCOc2c1)[C@H](C(=O)C)C(=O)COC", printStereoWarnings=False) +smiles(R"COCC(=O)[C@@H](C(=O)C)[C@@H](c1ccc(cc1)N(C)C)[C@H](C(=O)C)C(=O)COC", printStereoWarnings=False) +smiles(R"COCC(=O)[C@H](C(=O)C)[C@@H](c1ccccn1)[C@@H](C(=O)C)C(=O)COC", printStereoWarnings=False) +smiles(R"COCC(=O)[C@H](C(=O)C)[C@@H](c1ccc(OC)cc1)[C@@H](C(=O)C)C(=O)COC", printStereoWarnings=False) +smiles(R"COCC(=O)[C@@H](C(=O)C)[C@@H](c1ccncc1)[C@H](C(=O)C)C(=O)COC", printStereoWarnings=False) +smiles(R"COC(F)(F)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"CO[C@H]1CC[C@@]2(CC1)CN(O)[C@@]1(CC[C@@H](OC)C=C1)/C/2=N\O", printStereoWarnings=False) +smiles(R"CO[C@H]1CCC[C@@]2(CN/C(=N)/NC2)C(=O)OC1", printStereoWarnings=False) +smiles(R"CO[C@@H]1CCCC/C(=N\NC(=O)N)/CCCC1", printStereoWarnings=False) +smiles(R"CO[C@@H]1CC[C@@H]2C[C@@]3(OCCO3)CC[C@]2(C)[C@@H]1O", printStereoWarnings=False) +smiles(R"CO[C@H]1CC[C@H](CC1)/C(=C/[C@H]1CC[C@@H](CC1)N(C)C)/C#N", printStereoWarnings=False) +smiles(R"CO[C@@H]1CC[C@@H](CC1)/C(=C/[C@H]1CC[C@H](CC1)NC(=O)C)/C#N", printStereoWarnings=False) +smiles(R"CO[C@H]1CC[C@@H](CC1)/C(=C/[C@@H]1CC[C@@H](OC)[C@H](OC)C1)/C#N", printStereoWarnings=False) +smiles(R"CO[C@@H]1CC[C@H](CC1)/C=C(\C#N)/[C@H]1CC[C@H](CC1)[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"CO[C@H]1CC[C@@H](CC1)/C=C(\C#N)/[C@H]1CC[C@H](CC1)[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"CO[C@H]1CC[C@@H](CC1)/C=C(\C#N)/[C@@H]1CC[C@H](C)CC1", printStereoWarnings=False) +smiles(R"CO[C@@H]1CC[C@@H](CC1)/C=C(\C#N)/[C@@H]1CC[C@@H](OC)CC1", printStereoWarnings=False) +smiles(R"CO[C@H]1CC[C@@H](CC1)[C@@H]1CCCC[C@@]1(O)CC(=O)OC", printStereoWarnings=False) +smiles(R"CO[C@H]1CC[C@@H](CC1)[C@](O)(C(=O)O)C1CCCCC1", printStereoWarnings=False) +smiles(R"CO[C@@H]1CC[C@@H](CC1)NC(=O)N(N=O)[C@H]1CC[C@H](OC)CC1", printStereoWarnings=False) +smiles(R"CO[C@@H]1CC[C@@H](C=O)CC1", printStereoWarnings=False) +smiles(R"CO[C@@H]1CC[C@@H](OC)[C@@H](C1)[C@]1(OC(=O)c2ccccc12)[C@@H]1C[C@H](OC)CC[C@H]1OC", printStereoWarnings=False) +smiles(R"CO[C@H]1C[C@@H](O)O[C@H]1[C@H](NC(=O)C)S[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"CO[C@H]1CCN(CC1)[C@H]1C[C@H](O[C@@H](C)[C@H]1O)O[C@@H]1C[C@@](O)(Cc2c1c(O)c1c(c2O)C(=O)c2cccc(OC)c2C1=O)C(=O)CO", printStereoWarnings=False) +smiles(R"CO[C@@H]1C=CO[C@]2(C)Oc3c(C)c(O)c4c(O)c(NC(=O)C(=CC=C[C@@H](C)[C@H](O)[C@H](C)[C@H](O)[C@H](C)[C@H](OC(=O)C)[C@H]1C)C)cc(N1CC[C@@H](C)CC1)c4c3C2=O", printStereoWarnings=False) +smiles(R"CO[C@@H]1C=CO[C@]2(C)Oc3c(C)c(O)c4c(O)c(NC(=O)C(=CC=C[C@@H](C)[C@H](O)[C@H](C)[C@H](O)[C@H](C)[C@H](OC(=O)C)[C@H]1C)C)c(CN1CC[C@H](C)CC1)c(O)c4c3C2=O", printStereoWarnings=False) +smiles(R"CO[C@@H]1C=CO[C@]2(C)Oc3c(C)c(O)c4c(O)c(NC(=O)C(=CC=C[C@@H](C)[C@H](O)[C@H](C)[C@H](O)[C@H](C)[C@H](OC(=O)C)[C@H]1C)C)c(/C=N/N1CC[C@H](CC1)N1CCCCC1)c(O)c4c3C2=O", printStereoWarnings=False) +smiles(R"CO[C@@H]1C=CO[C@]2(C)Oc3c(C)c(O)c4c(O)c(NC(=O)C(=CC=C[C@@H](C)[C@@H](O)[C@@H](C)[C@@H](O)[C@H](C)[C@@H](OC(=O)C)[C@@H]1C)C)c(/C=N/N(C)[C@]15C[C@@H]6C[C@@H](C[C@@H](C6)C5)C1)c(O)c4c3C2=O", printStereoWarnings=False) +smiles(R"CO[C@@H]1C=CO[C@]2(C)Oc3c(C)c(O)c4c(O)c(NC(=O)C(=CC=C[C@@H](C)[C@@H](O)[C@@H](C)[C@@H](O)[C@H](C)[C@@H](OC(=O)C)[C@@H]1C)C)c(/C=N/N(Cc1ccccc1)[C@]15C[C@@H]6C[C@@H](C[C@@H](C6)C5)C1)c(O)c4c3C2=O", printStereoWarnings=False) +smiles(R"CO[C@@H]1C=CO[C@]2(C)Oc3c(C)c(O)c4c(O)c(NC(=O)C(=CC=C[C@@H](C)[C@H](O)[C@H](C)[C@H](O)[C@H](C)[C@H](OC(=O)C)[C@H]1C)C)cc(OCC(=O)N1CC[C@](O)(CC1)Cc1ccccc1)c4c3C2=O", printStereoWarnings=False) +smiles(R"CO[C@@H]1[C@H]2O[C@@H](O[C@@H]2[C@@H](OC)[C@H]2[C@H]1[C@@H]1c3ccccc3[C@H]2c2ccccc12)c1ccccc1", printStereoWarnings=False) +smiles(R"CO[C@@H]1[C@H](Cl)C[C@@H](C[C@H]1Cl)/C(=C/C1CCCCC1)/C(=O)O", printStereoWarnings=False) +smiles(R"CO[C@@H]1[C@H](CN[C@]23C[C@@H]4C[C@@H](C[C@@H](C4)C3)C2)O[C@@H]2OC(C)(C)O[C@H]12", printStereoWarnings=False) +smiles(R"CO[C@H]1[C@@H](OC)[C@H](OC)[C@H](OC)[C@@H](OC)[C@H]1OC", printStereoWarnings=False) +smiles(R"CO[C@@H]1O[C@@H]2CO[C@@](C)(O[C@@H]2[C@@H](O)[C@H]1N[Pt@@](Cl)(Cl)N[C@H]1[C@H](OC)O[C@@H]2CO[C@](C)(O[C@@H]2[C@H]1O)c1ccccc1)c1ccccc1", printStereoWarnings=False) +smiles(R"CO[C@@H](C)C[S@@](=O)(=O)C[C@@H](C)OC", printStereoWarnings=False) +smiles(R"COC(=N)c1nnn(n1)c1ccccc1", printStereoWarnings=False) +smiles(R"COC(=O)[C@]12C3=C4C5=C1[Fe]16782345C2=C7[C@@]8(C(=O)OC)C6=C12", printStereoWarnings=False) +smiles(R"COC(=O)[C@-]12C3=C4C5=C1[Fe+2]16782345C2=C6[C@-]7(Cl)C8(=C12)C(=O)OC", printStereoWarnings=False) +smiles(R"COC(=O)[C@@-]12C3=C4C5=C1[Fe+2]16782345C2=C6[C@-]7(Cl)C8(=C12)C(=O)OC", printStereoWarnings=False) +smiles(R"COC(=O)[C@@]12CC=C3O[C@H]4O[C@@]5(CCCCC5)O[C@H]4[C@H]3[C@H]2C(=O)C=CC1=O", printStereoWarnings=False) +smiles(R"COC(=O)[C@]12CC=CC[C@]2(CC=CC1)C(=O)OC", printStereoWarnings=False) +smiles(R"COC(=O)[C@@]12C[C@@H](C[C@]3(CC)CO[C@@]4(CCCCC4)O3)C(=O)N1CCc1c3ccccc3[nH]c21", printStereoWarnings=False) +smiles(R"COC(=O)[C@@]12C[C@@H](C[C@@]3(CC)CO[C@]4(CCCCC4)O3)C(=S)N1CCc1c3ccccc3[nH]c21", printStereoWarnings=False) +smiles(R"COC(=O)[C@@]12C[C@H](CC[C@@H]2[C@]23COC(=O)[C@@H]3C(C)(C)[C@@]3(OCCO3)CC2)[C@H](C)[C@H]1O", printStereoWarnings=False) +smiles(R"COC(=O)[C@@]12[C@@H]3[C@@H]4[C@@]2(C(=O)N(C(C)C)C(C)C)[C@@H]2[C@H]1[C@@]3(C(=O)N(C(C)C)C(C)C)[C@]42C(=O)OC", printStereoWarnings=False) +smiles(R"COC(=O)[C@@]12[C@H]3[C@H]4[C@@H]1[C@H]1[C@@H]2[C@@H]3[C@@]41C(=O)N(C(C)C)C(C)C", printStereoWarnings=False) +smiles(R"COC(=O)[C@]12[C@@H]3[C@@H]4[C@H]1[C@@H]1[C@H]2[C@H]3[C@]41C(=O)NC(C)(C)CC(=O)O", printStereoWarnings=False) +smiles(R"COC(=O)[C@]12[C@@H]3[C@@H]4[C@H]1[C@@H]1[C@H]2[C@H]3[C@]41C(=O)OC(C)(C)C", printStereoWarnings=False) +smiles(R"COC(=O)[C@]12[C@H]3[C@H]4[C@@H]2[C@H]2[C@@H]1[C@@H]3[C@@]42C(=O)O", printStereoWarnings=False) +smiles(R"COC(=O)[C@]12[C@H]3[C@H]4[C@@H]2[C@H]2[C@@H]1[C@@H]3[C@@]42I", printStereoWarnings=False) +smiles(R"COC(=O)[C@]12[C@H]3O[C@H]([C@H]4O[C@@H]34)[C@]2(C(=O)OC)[C@@H]2O[C@H]1[C@@H]1O[C@H]21", printStereoWarnings=False) +smiles(R"COC(=O)[C@]12[C@H](C)C=C3O[C@H]4O[C@@]5(CCCCC5)O[C@H]4[C@H]3[C@H]2C(=O)C=CC1=O", printStereoWarnings=False) +smiles(R"COC(=O)[C@]12[C@H](COC(=O)C)C=C3O[C@H]4O[C@@]5(CCCCC5)O[C@H]4[C@H]3[C@H]2C(=O)C=CC1=O", printStereoWarnings=False) +smiles(R"COC(=O)[C@@]12C(=O)NC(=O)[C@]1(C(=O)OC)[C@@]2(C)C", printStereoWarnings=False) +smiles(R"COC(=O)[C@]12OC[C@]34[C@@H](OC(=O)[C@H](OC(=O)/C=C(/C)\C(C)C)[C@H]24)C[C@@H]2C(=C(OC(=O)CC(=O)OC4=C(C)[C@H]5C[C@@H]6OC(=O)[C@H](OC(=O)/C=C(\C)/C(C)C)[C@@H]7[C@]8(OC[C@@]67[C@@H]([C@@H](O)[C@@H]8O)[C@@]5(C)CC4=O)C(=O)OC)C(=O)C[C@]2(C)[C@@H]3[C@@H](O)[C@@H]1O)C", printStereoWarnings=False) +smiles(R"COC(=O)[C@]1(Br)C[C@@]21c1ccccc1c1ccccc21", printStereoWarnings=False) +smiles(R"COC(=O)[C@]1(C)C[C@@]21c1ccccc1C(=O)c1ccccc21", printStereoWarnings=False) +smiles(R"COC(=O)c1ccc2cc1nc1c(C#N)c[nH]c(=S)n21", printStereoWarnings=False) +smiles(R"COC(=O)c1ccc2c(no[n+]2[O-])c1", printStereoWarnings=False) +smiles(R"COC(=O)c1ccc2c(NO[N+]2[O-])c1", printStereoWarnings=False) +smiles(R"COC(=O)c1ccc2n[se]nc2c1", printStereoWarnings=False) +smiles(R"COC(=O)c1cccc2c3cccc(C(=O)OC)c3c12", printStereoWarnings=False) +smiles(R"COC(=O)c1cccc2[C@H]3CC[C@@H](c12)c1c(cccc31)C(=O)OC", printStereoWarnings=False) +smiles(R"COC(=O)c1ccc(cc1)[C@@H]1CC[C@H](CC1)OC(c1ccccc1)c1ccccc1", printStereoWarnings=False) +smiles(R"COC(=O)C1=CCCCC[C@H](N2C[C@H]3O[C@@H]2O3)[C@@H]1C(=O)OC", printStereoWarnings=False) +smiles(R"COC(=O)c1cc(cc(Cl)c1OC)C(=CC[C@]12C[C@@H]3C[C@@H](C[C@H](C3)C2)C1)c1cc(Cl)c(OC)c(c1)C(=O)OC", printStereoWarnings=False) +smiles(R"COC(=O)c1cc(C(=O)OC)c(C/C(=N/Nc2ccc(cc2[N+](=O)[O-])[N+](=O)[O-])/C(=O)Nc2cccc(c2)C(F)(F)F)nc1C/C(=N\Nc1ccc(cc1[N+](=O)[O-])[N+](=O)[O-])/C(=O)Nc1cccc(c1)C(F)(F)F", printStereoWarnings=False) +smiles(R"COC(=O)c1cc(C(=O)OC)c(C/C(=N\Nc2ccc(cc2[N+](=O)[O-])[N+](=O)[O-])/C(=O)Nc2cccc(c2)C(F)(F)F)nc1C/C(=N/Nc1ccc(cc1[N+](=O)[O-])[N+](=O)[O-])/C(=O)Nc1cccc(c1)C(F)(F)F", printStereoWarnings=False) +smiles(R"COC(=O)c1cc(C(=O)OC)c(CC(=O)C(=O)N[C@@H]2[C@@H]3C[C@H]4C[C@@H](C3)C[C@@H]2C4)nc1CC(=O)C(=O)N[C@H]1[C@@H]2C[C@H]3C[C@@H](C2)C[C@@H]1C3", printStereoWarnings=False) +smiles(R"COC(=O)C1=C[C@H]2c3ccccc3[C@@H]1c1ccccc21", printStereoWarnings=False) +smiles(R"COC(=O)c1c(C(=O)OC)c2c3ccccc3n(C)c2c2n(C)c3ccccc3c12", printStereoWarnings=False) +smiles(R"COC(=O)C1=C(C(=O)OC)[C@]2([C@H]3C=CC=CN13)c1ccccc1c1ccccc21", printStereoWarnings=False) +smiles(R"COC(=O)C1=C(C(=O)OC)[C@@]2([C@@H]3C=CC=NN13)c1ccccc1c1ccccc21", printStereoWarnings=False) +smiles(R"COC(=O)C1=C(C(=O)OC)[C@]2(Cl)C(=C(Cl)[C@@]1(Cl)[C@]2(Cl)Cl)Cl", printStereoWarnings=False) +smiles(R"COC(=O)C1=C(C(=O)OC)[C@@]2(C)O[C@@H]1C(=O)[C@@]12CC1", printStereoWarnings=False) +smiles(R"COC(=O)C1=C(C(=O)OC)[C@]2(O)c3ccccc3[C@H]1c1ccccc21", printStereoWarnings=False) +smiles(R"COC(=O)C1=C(C(=O)OC)[C@H]2c3ccccc3[C@@H]1c1ccccc21", printStereoWarnings=False) +smiles(R"COC(=O)C1=C(C(=O)OC)[C@H]2[C@H]3O[C@H]3[C@@H]1[C@]2(c1ccccc1)c1ccccc1", printStereoWarnings=False) +smiles(R"COC(=O)[C@@]1(C)COP(=O)(OC1)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"COC(=O)[C@@]1(C#N)C(C)(C)N=C(c2ccccc2)[C@@]21CCCCC2", printStereoWarnings=False) +smiles(R"COC(=O)c1cn(c(=O)cc1C(=O)OC)c1ccc2nn(C)nc2c1", printStereoWarnings=False) +smiles(R"COC(=O)c1c[nH]n2c1n[n+]([O-])c1ccccc21", printStereoWarnings=False) +smiles(R"COC(=O)c1cnn2c1n[n+]([O-])c1ccccc21", printStereoWarnings=False) +smiles(R"COC(=O)C1(C(=O)OC)[C@@H]2[C@@H](Cl)[C@@H]3[C@H]([C@H]12)C3(C(=O)OC)C(=O)OC", printStereoWarnings=False) +smiles(R"COC(=O)C1=N/C(=N)/N=C(C(=O)OC)[C@]1(CC)C(=O)c1ccccc1", printStereoWarnings=False) +smiles(R"COC(=O)C1=N/C(=N)/N=C(C(=O)OC)[C@]1(C)C(=O)c1ccccc1", printStereoWarnings=False) +smiles(R"COC(=O)C1=N/C(=N)/N=C(C(=O)OC)[C@]1(C)C(=O)c1ccc(Cl)cc1", printStereoWarnings=False) +smiles(R"COC(=O)C1=N/C(=N)/N=C(C(=O)OC)[C@@]21C(=O)Cc1ccccc21", printStereoWarnings=False) +smiles(R"COC(=O)C1=NN[C@]2([C@@H]1C(=O)OC)c1ccccc1Sc1ccccc21", printStereoWarnings=False) +smiles(R"COC(=O)c1n[nH]c(C)c1/N=N/N1CC[C@@H](CC1)C(=O)N", printStereoWarnings=False) +smiles(R"COC(=O)c1nnn(n1)c1ccccc1", printStereoWarnings=False) +smiles(R"COC(=O)C[C@@]1(C)[C@H](O)[C@@H]2O[C@@](C)(C)O[C@@H]2[C@H]1O", printStereoWarnings=False) +smiles(R"COC(=O)CCC[C@H]1CC[C@@H](CCCC(=O)OC)CC1", printStereoWarnings=False) +smiles(R"COC(=O)CCC[C@H]1CC/C(=N/Nc2ccccc2)/CC1", printStereoWarnings=False) +smiles(R"COC(=O)CCC[C@@H]1CC/C(=N\Nc2ccc(cc2[N+](=O)[O-])[N+](=O)[O-])/CC1", printStereoWarnings=False) +smiles(R"COC(=O)CCC[C@H]1CC/C(=N/Nc2ccc(cc2[N+](=O)[O-])[N+](=O)[O-])/CC1", printStereoWarnings=False) +smiles(R"COC(=O)CC[C@H]1CC[C@H](CC1)C[C@@H]1CC[C@H](CC1)CCC(=O)OC", printStereoWarnings=False) +smiles(R"COC(=O)CC[N@+]12CN3CN(CN(C3)C2)C1", printStereoWarnings=False) +smiles(R"COC(=O)CC[N+]12CN3CN(CN(C3)C2)C1", printStereoWarnings=False) +smiles(R"COC(OC)CNC(=O)c1ccc2c(no[n+]2[O-])c1", printStereoWarnings=False) +smiles(R"COC(OC)CNC(=O)c1ccc2c(NO[N+]2[O-])c1", printStereoWarnings=False) +smiles(R"COC(OC)CN(C(=O)c1ccccc1)[C@H]1CC[C@]2(SCCS2)c2[nH]c3ccccc3c12", printStereoWarnings=False) +smiles(R"COC(OC)CN(C(=O)C)[C@@H]1CC[C@]2(SCCS2)c2[nH]c3ccccc3c12", printStereoWarnings=False) +smiles(R"COC(=O)[C@H]1CC[C@]2(OCCO2)C1", printStereoWarnings=False) +smiles(R"COC(=O)[C@H]1CCC[C@]2(OCCO2)C1", printStereoWarnings=False) +smiles(R"COC(=O)[C@H]1CCCCCCCCCC[C@]21SCCCS2", printStereoWarnings=False) +smiles(R"COC(=O)[C@@H]1CC[C@H]2c3ccccc3[C@@H](C1)c1ccccc21", printStereoWarnings=False) +smiles(R"COC(=O)[C@H]1CC[C@H](CC1)N(C)S(=O)(=O)c1ccc(C)cc1", printStereoWarnings=False) +smiles(R"COC(=O)[C@@H]1C[C@@H]2c3ccccc3[C@H]1c1ccccc21", printStereoWarnings=False) +smiles(R"COC(=O)[C@H]1C[C@H]2c3ccccc3[C@@H]1c1ccccc21", printStereoWarnings=False) +smiles(R"COC(=O)[C@@H]1CC(=O)C[C@H](CC(=O)C1)C(=O)OC", printStereoWarnings=False) +smiles(R"COC(=O)[C@H]1[C@@H]2C[S@@](=O)(=O)C[C@H]2[C@H]1C(=O)OC", printStereoWarnings=False) +smiles(R"COC(=O)[C@@H]1[C@H](c2ccccc2)[C@@H](C(=O)OC)[C@@H]1c1ccccc1", printStereoWarnings=False) +smiles(R"COC(=O)[C@H]1[C@@H](C(=O)OC)[C@@]1(c1ccccc1)c1ccccc1", printStereoWarnings=False) +smiles(R"COC(=O)[C@H]1[C@H](C(=O)OC)[C@]21C=Cc1ccccc1C=C2", printStereoWarnings=False) +smiles(R"COC(=O)[C@@H]1[C@H](C(=O)OC)[C@]2(Cl)C(=C(Cl)[C@@]1(Cl)[C@]2(Br)Br)Cl", printStereoWarnings=False) +smiles(R"COC(=O)[C@@H]1[C@@H](C(=O)OC)[C@]2(Cl)C(=C(Cl)[C@@]1(Cl)[C@]2(Cl)Cl)Cl", printStereoWarnings=False) +smiles(R"COC(=O)[C@@H]1[C@@H](C(=O)OC)[C@@H]2c3ccccc3[C@H]1c1ccccc21", printStereoWarnings=False) +smiles(R"COC(=O)[C@H]1[C@H](C(=O)OC)[C@@H](C(=O)OC)[C@H]1C(=O)OC", printStereoWarnings=False) +smiles(R"COC(=O)[C@H]1[C@H](C(=O)OC)[C@H](C(=O)OC)[C@@H]1C(=O)OC", printStereoWarnings=False) +smiles(R"COC(=O)[C@@H]1C(=O)[C@H](C(=O)OC)[C@]2(C)[C@@H](C(=O)OC)C(=O)[C@H](C(=O)OC)[C@]12C", printStereoWarnings=False) +smiles(R"COC(=O)[C@@H]1C(=O)[C@@H](C(=O)OC)[C@H]2CCC[C@H]3CCC[C@H]1N23", printStereoWarnings=False) +smiles(R"COC(=O)[C@@H]1O[C@@]2(CCCC2)O[C@H]1C(=O)OC", printStereoWarnings=False) +smiles(R"COC(=O)[C@@H]1OC[C@@]2(CO1)CO[C@@H](OC2)C(=O)OC", printStereoWarnings=False) +smiles(R"COC(=O)[C@@H]1O[C@@](C)(C)O[C@H]1C(=O)OC", printStereoWarnings=False) +smiles(R"COC(=O)[C@H](c1ccccc1)[C@]1(O)CCN(CC1)C[C@H]1COc2ccccc2O1", printStereoWarnings=False) +smiles(R"COC(=O)[C@@H](N[Pd@](Cl)(Cl)N[C@@H](C(=O)OC)c1ccccc1)c1ccccc1", printStereoWarnings=False) +smiles(R"COC(=O)[C@@H](N[Pt@](Cl)(Cl)N[C@@H](C(=O)OC)c1ccccc1)c1ccccc1", printStereoWarnings=False) +smiles(R"COC(=O)C[N@+]12CN3CN(CN(C3)C2)C1", printStereoWarnings=False) +smiles(R"COC(=O)C(=O)c1c2c3[nH]c4ccccc4c3ccn2c2ccccc12", printStereoWarnings=False) +smiles(R"COC(=O)N1CC(=O)[C@@H](C1)C(=O)N[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"COC(=O)N1[C@@H]2c3ccccc3[C@H](N1C(=O)OC)c1ccccc21", printStereoWarnings=False) +smiles(R"COC(=O)N/N=C\1/C(C)(C)/C(=N/NC(=O)OC)/C1(C)C", printStereoWarnings=False) +smiles(R"COC(=S)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"CON1C(=O)[C@@]2(CCCCC2)C(=O)[C@]21CCCC=C2", printStereoWarnings=False) +smiles(R"CO/N=C(\C=C\c1ccccc1)/C=C/c1ccccc1", printStereoWarnings=False) +smiles(R"CO[Ni]12(OC)([O+]=C(C)[C@@H](Cl)C(=[O+]1)C)[O+]=C(C)[C@@H](Cl)C(=[O+]2)C", printStereoWarnings=False) +smiles(R"COP(OC)[C@@H]1CC[C@@H](C)CC1", printStereoWarnings=False) +smiles(R"COP(=O)(OC)N[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"COS(=O)(=O)O", printStereoWarnings=False) +smiles(R"CP1CC[C@](O)(CC1)C(C)(C)C", printStereoWarnings=False) +smiles(R"CP(=S)(C)[C@@H]1CC[C@H](CC1)C(C)(C)C", printStereoWarnings=False) +smiles(R"CSc1c2cccnc2n2c(c1C#N)n(C)c1ccccc21", printStereoWarnings=False) +smiles(R"CSc1cc2c3cccc[n+]3[Co+2]345([n+]6ccccc6c6cc(SC)cc(=c7cccc[n+]37)[n+]56)[n+]3ccccc3=c(c1)[n+]24", printStereoWarnings=False) +smiles(R"CSc1cc2c3cccc[n+]3[Co+2]345([n+]6ccccc6c(c1)[n+]24)[n+]1ccccc1c1cc(SC)cc(c2cccc[n+]32)[n+]51", printStereoWarnings=False) +smiles(R"CSc1cc2c3cccc[n+]3[Cu+2]345([n+]6ccccc6c6cc(SC)cc(=c7cccc[n+]37)[n+]56)[n+]3ccccc3=c(c1)[n+]24", printStereoWarnings=False) +smiles(R"CSc1cc2c3cccc[n+]3[Cu+2]345([n+]6ccccc6c(c1)[n+]24)[n+]1ccccc1c1cc(SC)cc(c2cccc[n+]32)[n+]51", printStereoWarnings=False) +smiles(R"CSc1cc2c3cccc[n+]3[Cu]3(Br)(Br)[n+]2c(c1)c1cccc[n+]31", printStereoWarnings=False) +smiles(R"CSc1cc2c3cccc[n+]3[Mn+2]345([n+]6ccccc6c6cc(SC)cc(=c7cccc[n+]37)[n+]56)[n+]3ccccc3=c(c1)[n+]24", printStereoWarnings=False) +smiles(R"CSc1cc2c3cccc[n+]3[Mn+2]345([n+]6ccccc6c(c1)[n+]24)[n+]1ccccc1c1cc(SC)cc(c2cccc[n+]32)[n+]51", printStereoWarnings=False) +smiles(R"CSc1cc2c3cccc[n+]3[Ni+2]345([n+]6ccccc6c6cc(SC)cc(=c7cccc[n+]37)[n+]56)[n+]3ccccc3=c(c1)[n+]24", printStereoWarnings=False) +smiles(R"CSc1cc2c3cccc[n+]3[Ni+2]345([n+]6ccccc6c(c1)[n+]24)[n+]1ccccc1c1cc(SC)cc(c2cccc[n+]32)[n+]51", printStereoWarnings=False) +smiles(R"CSc1cc2c3cccc[n+]3[Zn+2]345([n+]6ccccc6c6cc(SC)cc(=c7cccc[n+]37)[n+]56)[n+]3ccccc3=c(c1)[n+]24", printStereoWarnings=False) +smiles(R"CSc1cc2c3cccc[n+]3[Zn+2]345([n+]6ccccc6c(c1)[n+]24)[n+]1ccccc1c1cc(SC)cc(c2cccc[n+]32)[n+]51", printStereoWarnings=False) +smiles(R"CSc1ccc(cc1)N1C(=O)[C@@H]2[C@H](C1=O)[C@]1(Cl)C(=C(Cl)[C@@]2(Cl)[C@@]1(Cl)Cl)Cl", printStereoWarnings=False) +smiles(R"CSc1cnn(CCC#N)c(=O)n1", printStereoWarnings=False) +smiles(R"CSc1nc2cn[nH]c2c(n1)N(C)C", printStereoWarnings=False) +smiles(R"CSc1nc2=NC=N[S@@](=O)(=c2c(N)n1)O", printStereoWarnings=False) +smiles(R"CSc1nnn(n1)C(C)(C)C", printStereoWarnings=False) +smiles(R"CSc1sc(C#N)c2nc3c4cccc5cccc(c3nc12)c45", printStereoWarnings=False) +smiles(R"CSC[C@]12CCCC=C2C[C@@]2(OCCO2)CC1", printStereoWarnings=False) +smiles(R"C[S+](C)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) # smiles(R"C[SH+][Pt@@+]1(P234N5CCN2CC[N@@+]14CCN3CC5)P(c1ccccc1)(c1ccccc1)c1ccccc1", printStereoWarnings=False) +smiles(R"CSC[C@H]1CCCC[C@@]21OCCO2", printStereoWarnings=False) +smiles(R"CS[C@H]1NN[C@]2(C(=O)N1)c1ccccc1c1ccccc21", printStereoWarnings=False) +smiles(R"CSC(=S)C[C@H](O)[C@@H]1C[C@H]2c3ccccc3[C@@H]1c1ccccc21", printStereoWarnings=False) +smiles(R"CSC(=S)S(=O)(=O)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"C[SH+][Pt@@+]1(P234N5CCN2CC[N@@+]14CCN3CC5)P(c1ccccc1)(c1ccccc1)c1ccccc1", printStereoWarnings=False) +smiles(R"C[Si]1(C)O[Si](C)(C)[C@@]23C4=C5C6=C2[Fe]27893456C3=C8[C@@]19C7=C23", printStereoWarnings=False) +smiles(R"C[Si@@]1(C)O[Si](C)(C)[C@@]23C4=C5C6=C2[Fe]27893456C3=C8[C@@]9(C7=C23)[Si](C)(C)O1", printStereoWarnings=False) +smiles(R"C[Si](C)([C@@]12C3=C4C5=C1[Fe]16782345C2=C7C6=C1[C@H]82)[C@@]12C3=C4C5=C1[Fe]16782345C2=C7C6=C1[C@@H]82", printStereoWarnings=False) +smiles(R"C[Si](C)(C)C12#C3([Si](C)(C)C)[Ni]45671([C@H]1C6=C5C4=C71)[Ni]145623[C@H]2C5=C4C1=C62", printStereoWarnings=False) +smiles(R"C[Si](C)(C)CC[Si@]12OCCN(CCO1)CC(C)(C)O2", printStereoWarnings=False) +smiles(R"C[Si](C)(C)CC[Si@@]12OCCN([C@H]3CCCC[C@H]3O1)[C@H]1CCCC[C@H]1O2", printStereoWarnings=False) +smiles(R"C[Si@@H]1O[Si@H](C)[C@]23C4=C5C6=C2[Fe]27893456C3=C8[C@@]9([Si@H](C)O[Si@@H](C)[C@@]45C6=C8C9=C4[Fe]4%10%11%125689C5=C%11[C@]1%12C%10=C45)C7=C23", printStereoWarnings=False) +smiles(R"C[Sn](C)([C@@]12C3=C4C5=C1[Fe]16782345C2=C7C6=C1[C@H]82)[C@@]12C3=C4C5=C1[Fe]16782345C2=C7C6=C1[C@@H]82", printStereoWarnings=False) +smiles(R"CS(=O)C", printStereoWarnings=False) +smiles(R"CS(=O)(=O)c1ccc2nnnn2n1", printStereoWarnings=False) +smiles(R"CS(=O)(=O)c1ccc(cc1)C[N@@+]12CN3CN(CN(C3)C2)C1", printStereoWarnings=False) +smiles(R"CS(=O)(=O)N[C@]12CC[C@H](c3ccccc13)c1ccccc21", printStereoWarnings=False) +smiles(R"CS(=O)(=O)O", printStereoWarnings=False) +smiles(R"CS(=O)(=O)O[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"CS(=O)(=O)OC[C@H]1CCCCCCCCCC[C@]21SCCCS2", printStereoWarnings=False) +smiles(R"CS(=O)(=O)OC[C@H]1C[C@@H](COS(=O)(=O)C)C[C@@H](COS(=O)(=O)C)C1", printStereoWarnings=False) +smiles(R"CS(=O)(=O)OC[C@H]1[C@H]2c3ccccc3[C@@H]([C@H]1COS(=O)(=O)C)c1ccccc21", printStereoWarnings=False) +smiles(R"CS(=O)(=O)OC[C@H]1O[C@@H](Cc2ccccc2)O[C@@H]1COS(=O)(=O)C", printStereoWarnings=False) +smiles(R"CS(=O)(=O)OC[C@H]1O[C@@H](O[C@@H]1COS(=O)(=O)C)C(Br)(Br)Br", printStereoWarnings=False) +smiles(R"CS(=O)(=O)OC[C@@H]1O[C@H](O[C@H]1COS(=O)(=O)C)C(Cl)(Cl)Cl", printStereoWarnings=False) +smiles(R"CS(=O)(=O)OCCN1CC[C@@]2(CC1)SS[C@]1(CCN(CCOS(=O)(=O)C)CC1)S2", printStereoWarnings=False) +smiles(R"CS(=O)(=O)O[C@@H]1CC[C@H](CC1)OS(=O)(=O)C", printStereoWarnings=False) +smiles(R"CS(=O)(=O)O[C@H]1CC[C@@H](CC1)OS(=O)(=O)C", printStereoWarnings=False) +smiles(R"C[Zr]12345678(I)(C9=C3C2=C1[C@H]49)C1=C6C7=C5[C@@H]81", printStereoWarnings=False) +smiles(R"[F-]B(F)(F)F", printStereoWarnings=False) +smiles(R"F[B-](F)(F)F", printStereoWarnings=False) +smiles(R"FC1=[C-]([Au+][NH+]2P([Au+]P(c3ccccc3)(c3ccccc3)[NH+]([Au+][C-]3=C(F)C(=C(F)C(=C3F)F)F)P([Au+]P2(c2ccccc2)c2ccccc2)(c2ccccc2)c2ccccc2)(c2ccccc2)c2ccccc2)C(=C(F)C(=C1F)F)F", printStereoWarnings=False) +smiles(R"Fc1ccc(cc1)[C@@]1(C)[C@H]2C(=O)NC(=O)[C@@H]1C(=O)NC2=O", printStereoWarnings=False) +smiles(R"Fc1ccc(cc1)c1[nH]c(cc1c1ccncc1)[C@H]1CC[NH+](CC1)C[C@H]1[NH2+]C[C@H](O)C1", printStereoWarnings=False) +smiles(R"Fc1cccc(c1)c1nnn(C)n1", printStereoWarnings=False) +smiles(R"Fc1ccccc1c1sc2nnc(n2n1)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"Fc1ccccc1/C=c\1/sc2nc3ccccc3n2c1=O", printStereoWarnings=False) +smiles(R"Fc1ccc(cc1)[C@@](C)(CN1CC[C@]2(CC1)N(CN(CC(C)C)C2=O)c1ccccc1)C1OCCO1", printStereoWarnings=False) +smiles(R"Fc1ccc(cc1)/C=C/C(=O)N1CC[C@@]2(CC1)N(CN(C)C2=O)c1ccccc1", printStereoWarnings=False) +smiles(R"Fc1ccc(cc1)C(C(=O)N[C@H]1CN2CC[C@@H]1CC2)c1ccc(F)cc1", printStereoWarnings=False) +smiles(R"Fc1ccc(cc1)[C@H]1O[C@H]1C(=O)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"Fc1cccc(c1)[C@@H]1ON=C(c2ccccc2)N1[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"Fc1ccc(cc1)/C=N/[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"Fc1ccccc1/C=N/[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"Fc1ccc(cc1)C(=O)CCCN1CC[C@]2(CC1)C[C@H](OC2=O)c1ccccc1", printStereoWarnings=False) +smiles(R"Fc1ccc(cc1)C(=O)C[N@+]12CN3CN(CN(C3)C2)C1", printStereoWarnings=False) +smiles(R"Fc1ccc(cc1)C(=O)N[C@H]1CCN(CC1)C(=O)[C@H](C)Sc1ccc(Cl)cc1", printStereoWarnings=False) +smiles(R"Fc1ccc(cc1)CSc1nnc(n1C)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"Fc1ccc(cc1)N(CCNC(=O)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)C(=O)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"Fc1ccc(cc1)NC(=O)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"Fc1ccccc1NC(=O)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"Fc1ccc(cc1)NNC(=O)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"Fc1ccc(cc1)O/C=C\1/N2CC[C@@H](CC2)C1=O", printStereoWarnings=False) +smiles(R"Fc1ccc(/C=C/C(=O)Nc2cccc(NC(=O)/C=C\c3ccc(F)cc3)n2)cc1", printStereoWarnings=False) +smiles(R"Fc1cccc(/C=N/[C@]23C[C@@H]4C[C@@H](C[C@@H](C4)C3)C2)c1", printStereoWarnings=False) +smiles(R"Fc1cccc(/N=C/c2ccc(cc2)N2CC[C@@]3(CCCCC3)CC2)c1", printStereoWarnings=False) +smiles(R"Fc1ccc(F)c(/C=C/C(=O)N2CC[C@H](CC2)[C@@H](Cc2ccccc2)N(C)C(=O)C(C)C)c1", printStereoWarnings=False) +smiles(R"Fc1ccc(NCCNC(=O)[C@@]23C[C@H]4C[C@H](C[C@H](C4)C3)C2)cc1", printStereoWarnings=False) +smiles(R"FC1=C(F)C(=C(F)C(=[C-]1[Au+][NH+]1P([Au+]P(c2ccccc2)(c2ccccc2)[NH+]([Au+][C-]2=C(F)C(=C(F)C(=C2F)F)F)P([Au+]P1(c1ccccc1)c1ccccc1)(c1ccccc1)c1ccccc1)(c1ccccc1)c1ccccc1)F)F", printStereoWarnings=False) +smiles(R"Fc1c(F)c(c(F)c(F)c1[C@@]12C3=C4C5=C1[Fe]16782345[C@@H]2C7=C6C1=C82)[C@]12C3=C4C5=C1[Fe]16782345[C@@H]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"Fc1c(F)c(F)c(c(F)c1F)[C@]1(O)[C@@H]2CC[C@H]1CC2", printStereoWarnings=False) +smiles(R"F[C@]1(C(F)(F)F)C(F)(F)[C@](F)(F)C(F)(F)[C@@](F)(C(F)(F)F)[C@@]1(F)F", printStereoWarnings=False) +smiles(R"Fc1cnc(nc1O[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)O[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"F/C(=C(\F)/[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82)/C(F)(F)C(F)(F)C(F)(F)C(F)(F)C(F)(F)F", printStereoWarnings=False) +smiles(R"F/C(=C(\F)/[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82)/C(F)(F)C(F)(F)C(F)(F)C(F)(F)C(F)(F)F", printStereoWarnings=False) +smiles(R"FCCNC(=O)N[C@@]12C[C@@]3(C)C[C@](C)(C[C@](C)(C3)C2)C1", printStereoWarnings=False) +smiles(R"FCCNC(=O)N[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"FCCNC(=O)N[C@H]1CC[C@@H](CC1)NC(=O)NCCF", printStereoWarnings=False) +smiles(R"FCCN(N=O)C(=O)N[C@@]12C[C@@]3(C)C[C@](C)(C[C@](C)(C3)C2)C1", printStereoWarnings=False) +smiles(R"FCCN(N=O)C(=O)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"FCCN(N=O)C(=O)N[C@@H]1CC[C@@H](CC)CC1", printStereoWarnings=False) +smiles(R"FC(F)(Cl)C(O)([C@@H]1CCC/C/1=N/N=C/1\CCC[C@H]1C(O)(C(F)(F)Cl)C(F)(F)Cl)C(F)(F)Cl", printStereoWarnings=False) +smiles(R"FC(F)([Co]12345(n6cccn6[BH+3][n+]6cccn16)C1=C3C4=C2C51)C(F)(F)F", printStereoWarnings=False) +smiles(R"FC(F)(F)c1ccc2[C@@H]3c4ccccc4[C@H](c2c1)c1ccccc31", printStereoWarnings=False) +smiles(R"FC(F)(F)c1cccc(c1)[C@@]1(O)CCN(CC1)[C@@H]1C[C@H]1c1ccccc1", printStereoWarnings=False) +smiles(R"FC(F)(F)c1ccc(cc1)[C@H]1ON=C(c2ccccc2)N1[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"FC(F)(F)c1ccc(cc1)/C=N/[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"FC(F)(F)c1ccccc1/C=N/[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"FC(F)(F)c1cccc(/C=N/[C@]23C[C@@H]4C[C@@H](C[C@@H](C4)C3)C2)c1", printStereoWarnings=False) +smiles(R"FC(F)(F)C1=C([S+]2[Co]34(SC(=C([S+]4[Co]42(S1)SC(=C(S4)C(F)(F)F)C(F)(F)F)C(F)(F)F)C(F)(F)F)SC(=C(S3)C(F)(F)F)C(F)(F)F)C(F)(F)F", printStereoWarnings=False) +smiles(R"FC(F)(F)C1=C([S+]2[Fe]34(SC(=C([S+]4[Fe]42(S1)SC(=C(S4)C(F)(F)F)C(F)(F)F)C(F)(F)F)C(F)(F)F)SC(=C(S3)C(F)(F)F)C(F)(F)F)C(F)(F)F", printStereoWarnings=False) +smiles(R"FC(F)(F)c1nnn(n1)[Au]P(c1ccccc1)(c1ccccc1)c1ccccc1", printStereoWarnings=False) +smiles(R"FC(F)(F)C(F)(F)/C(=N/Nc1ccccc1)/SS/C(=N/Nc1ccccc1)/C(F)(F)C(F)(F)F", printStereoWarnings=False) +smiles(R"FC(F)(F)[C@@H]1CC[C@@H](CC1)[C@@]1(O)[C@@H]2CC[C@H]1C=C2", printStereoWarnings=False) +smiles(R"FC(F)(F)/C(=N\Nc1ccccc1)/SS/C(=N\Nc1ccccc1)/C(F)(F)F", printStereoWarnings=False) +smiles(R"FC(F)(F)[Co]12345(n6cccn6[B+3]([n+]6[n-]ccc6)[n+]6cccn16)C1=C3C4=C2C51", printStereoWarnings=False) +smiles(R"FC(F)(F)[Co]12345(N6CCCN6[B+3]([n+]6[n-]ccc6)[n+]6cccn16)C1C4=C3C2=C51", printStereoWarnings=False) +smiles(R"FC(F)(F)[S@@](=O)(=[OH+])[O-]", printStereoWarnings=False) +smiles(R"FC(F)(F)[S@@](=O)(=[OH+])[O-]", printStereoWarnings=False) # smiles(R"CC12=C3(C)[Ru+]456789%101(C1=C5C8(=C6C4=C71N)N)C2(C)C%10(=C39C)C") # smiles(R"CC12=C3(C)[Ru+]456789%101(C1=C7(N)C4=C6C8(=C51)N)C2(C)C%10(=C39C)C", printStereoWarnings=False) +smiles(R"FC(F)(F)[S@@](=O)(=[OH+])[O-]", printStereoWarnings=False) # smiles(R"NC1=C(/N=N/c2ccc(cc2)[N+](=O)[O-])C(=N[S@](=O)(=N1)O)N") # smiles(R"NC1=N[S@](=O)(=NC(=C1/N=N/c1ccc(cc1)[N+](=O)[O-])N)O", printStereoWarnings=False) +smiles(R"FC(F)(F)S(=O)(=O)[O-]", printStereoWarnings=False) +smiles(R"FC(F)(F)S(=O)(=O)[O-]", printStereoWarnings=False) # smiles(R"c1ccc(cc1)C1=C2C=CC3=C(c4ccccc4)C4=[N+]5C(=C(c6ccccc6)C6=CC=C7C(=C8C=CC1=[N+]8[Zn@@+2]5([NH+]67)[NH+]23)c1cc[n+](cc1)[Pt@@+2]([n+]1ccc(cc1)C1=C2C=CC3=[N+]2[Zn@@+2]25[NH+]6C1=CC=C6C(=C1C=CC(=[N+]51)C(=C1C=CC(=C3c3ccccc3)[NH+]21)c1ccccc1)c1ccccc1)([n+]1ccc(cc1)C1=C2C=CC3=C(c5ccccc5)C5=[N+]6C(=C(c7ccccc7)C7=CC=C8C(=C9C=CC1=[N+]9[Zn@+2]6([NH+]23)[NH+]78)c1ccccc1)C=C5)[n+]1ccc(cc1)C1=C2C=CC3=C(c5ccccc5)C5=[N+]6C(=C(c7ccccc7)C7=CC=C8C(=C9C=CC1=[N+]9[Zn@+2]6([NH+]23)[NH+]78)c1ccccc1)C=C5)C=C4", printStereoWarnings=False) +smiles(R"FC(F)(F)S(=O)(=O)[O-]", printStereoWarnings=False) # smiles(R"c1ccc(cc1)C1=C2C=CC3=C(c4ccccc4)C4=[N+]5C(=C(c6ccccc6)C6=CC=C7C(=C8C=CC1=[N+]8[Zn@@+2]5([NH+]67)[NH+]23)c1cc[n+](cc1)[Pt+2]([n+]1ccc(cc1)C1=C2C=CC3=[N+]2[Zn@@+2]25[NH+]6C1=CC=C6C(=C1C=CC(=[N+]51)C(=C1C=CC(=C3c3ccccc3)[NH+]21)c1ccccc1)c1ccccc1)([n+]1ccc(cc1)C1=C2C=CC3=C(c5ccccc5)C5=[N+]6C(=C(c7ccccc7)C7=CC=C8C(=C9C=CC1=[N+]9[Zn@+2]6([NH+]23)[NH+]78)c1ccccc1)C=C5)[n+]1ccc(cc1)C1=C2C=CC3=C(c5ccccc5)C5=[N+]6C(=C(c7ccccc7)C7=CC=C8C(=C9C=CC1=[N+]9[Zn@+2]6([NH+]23)[NH+]78)c1ccccc1)C=C5)C=C4", printStereoWarnings=False) +smiles(R"FC(F)Oc1ccccc1[C@H]1C(=C(C)NC(=C1C(=O)O[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1)C)C(=O)O[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"F[C@@H]1O[C@]1(F)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"[F-]P(F)(F)(F)(F)F", printStereoWarnings=False) +smiles(R"F[P-](F)(F)(F)(F)F", printStereoWarnings=False) +smiles(R"FP(F)(F)(F)(F)F", printStereoWarnings=False) +smiles(R"FS(=O)(=O)[C@H]1C[C@H]2c3ccccc3[C@@H]1c1ccccc21", printStereoWarnings=False) +smiles(R"[Hg]([C@@]12C3=C4C5=C1[Fe]16782345C2=C7C6=C1[C@@H]82)[C@]12C3=C4C5=C1[Fe]16782345C2=C7C6=C1[C@H]82", printStereoWarnings=False) +smiles(R"[I-]", printStereoWarnings=False) +smiles(R"I", printStereoWarnings=False) +smiles(R"IC", printStereoWarnings=False) +smiles(R"I[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"I[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"I[C@-]12C3=C4C5=C1[Fe+2]16782345C2=C7[C@-]8(I)C6=C12", printStereoWarnings=False) +smiles(R"I[C@@-]12C3=C4C5=C1[Fe+2]16782345C2=C7[C@-]8(I)C6=C12", printStereoWarnings=False) +smiles(R"I[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"Ic1ccc2c(c1)[C@@H]1c3ccccc3[C@H]2c2ccccc12", printStereoWarnings=False) +smiles(R"Ic1ccccc1C[N@+]12CN3CN(CN(C3)C2)C1", printStereoWarnings=False) +smiles(R"Ic1ccc(cc1)C(=O)C[N@@+]12CN3CN(CN(C3)C2)C1", printStereoWarnings=False) +smiles(R"Ic1cccc(/C=N/NC(=S)N[C@]23C[C@@H]4C[C@@H](C[C@@H](C4)C3)C2)c1", printStereoWarnings=False) +smiles(R"Ic1ccc(/C=N/NC(=S)N[C@]23C[C@@H]4C[C@@H](C[C@@H](C4)C3)C2)cc1", printStereoWarnings=False) +smiles(R"Ic1ccc(/C=N\NC(=S)N[C@@H]2CN3CC[C@@H]2CC3)cc1", printStereoWarnings=False) +smiles(R"Ic1cc(/C=N/NC(=S)N[C@]23C[C@@H]4C[C@@H](C[C@@H](C4)C3)C2)c(O)c(I)c1", printStereoWarnings=False) +smiles(R"I[C-]1C(=[O+][Ru+3]23([O+]=C1C)([O+]=C(C)[C-](I)C(=[O+]2)C)[O+]=C(C)[C-](I)C(=[O+]3)C)C", printStereoWarnings=False) +smiles(R"IC[C@@]1(C)CO[C@@](OC1)(C1CCCCC1)c1ccccc1", printStereoWarnings=False) +smiles(R"IC[C@@H]1O[C@H](CI)C[S@@](=O)(=O)C1", printStereoWarnings=False) +smiles(R"IC[C@@H]1OC(=O)C[C@]2(CC=CC[C@@]32OCCO3)C1", printStereoWarnings=False) +smiles(R"I[C@@H]1[C@@H](I)[C@@H]2C[C@H]1[C@@H]1[C@H]2[C@@]2(Cl)C(=C(Cl)[C@]1(Cl)[C@@]2(Cl)Cl)Cl", printStereoWarnings=False) +smiles(R"IP1P2P(c3ccccc13)P(I)c1ccccc21", printStereoWarnings=False) +smiles(R"N", printStereoWarnings=False) +smiles(R"n1ccc(cc1)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"n1ccn(c1)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"n1ccn(c1)[C@@]12[C@H]3[C@@H]4[C@@H]5[C@H]3[C@H]2[C@@H]5[C@H]14", printStereoWarnings=False) +smiles(R"N1=C[NH+]2[Cu+2]3456N7CCN3CN(CN5CCN4CN(C7)C2=N1)C1=NN=C[NH+]61", printStereoWarnings=False) +smiles(R"n1nc2sc1[SH+][Cu+2]1345[SH+]c6nnc(s6)N6CN3CCN1CN2CN4CCN5C6", printStereoWarnings=False) +smiles(R"n1nc2sc1[SH+][Ni+2]1345[SH+]c6nnc(s6)N6CN3CCN1CN2CN4CCN5C6", printStereoWarnings=False) +smiles(R"n1ncn(c1)[C@@]12[C@H]3[C@@H]4[C@@H]5[C@H]3[C@H]2[C@@H]5[C@H]14", printStereoWarnings=False) +smiles(R"[Na+]", printStereoWarnings=False) +smiles(R"[NaH]", printStereoWarnings=False) +smiles(R"NC12=C3C4=C5[Ru+]6789%10234(C1=C56N)C1(C)C9(=C8(C)C7(=C%101C)C)C", printStereoWarnings=False) +smiles(R"NC12=C3[Ru+]456789%102(C(=C14)C5=C36N)C1(C)C9(=C8(C)C7(=C%101C)C)C", printStereoWarnings=False) +smiles(R"N[C@]12CC[C@](c3ccccc13)(c1ccccc21)[N+](C)(C)C", printStereoWarnings=False) +smiles(R"N[C@@]12CC[C@@](c3ccccc13)(c1ccccc21)[N+](C)(C)C", printStereoWarnings=False) +smiles(R"N[C@@]12CC[C@@H](c3ccccc13)c1ccccc21", printStereoWarnings=False) +smiles(R"N[C@]12CC[C@](N)(c3ccccc13)c1ccccc21", printStereoWarnings=False) +smiles(R"N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"N[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"Nc1c2nc3ccccc3n2c2nc3ccccc3nc2c1S(=O)(=O)c1ccccc1", printStereoWarnings=False) +smiles(R"NC1=c2nc(c3ccccc3)c(nc2=N[S@@](=O)(=N1)O)c1ccccc1", printStereoWarnings=False) +smiles(R"Nc1cc2c(nc3c4ccccc4ccc3[n+]2c2cccc3ccccc23)c2ccccc12", printStereoWarnings=False) +smiles(R"Nc1cc2c(nc3c4ccccc4c(N)cc3[n+]2c2cccc3ccccc23)c2ccccc12", printStereoWarnings=False) +smiles(R"Nc1ccc2c(c1)[C@@H](N1C[C@@H]3CC[C@@H](CC3)C1)c1ccccc21", printStereoWarnings=False) +smiles(R"Nc1ccc2C[C@@H]3c4ccccc4[C@H](Cc2c1)c1ccccc31", printStereoWarnings=False) +smiles(R"Nc1ccc2[nH]/c(=[S+]/[Pt@](Cl)(Cl)/[S+]=c\3/[nH]c4ccc(N)cc4s3)/sc2c1", printStereoWarnings=False) +smiles(R"Nc1ccc2n[se]nc2c1", printStereoWarnings=False) +smiles(R"Nc1ccc2nsnc2c1", printStereoWarnings=False) +smiles(R"Nc1cccc(c1)[C@]1(C)[C@@H]2C(=O)NC(=O)[C@H]1C(=O)NC2=O", printStereoWarnings=False) +smiles(R"Nc1ccc(cc1)C(=O)N/N=C/c1ccc(cc1Br)N1CC[C@]2(CCCCC2)CC1", printStereoWarnings=False) +smiles(R"Nc1ccc(cc1)S[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"Nc1ccc(cc1)S(=O)(=O)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"Nc1ccc(cc1)S(=O)(=O)N[C@@H]1CC[C@@H](CC1)NS(=O)(=O)c1ccc(N)cc1", printStereoWarnings=False) +smiles(R"Nc1ccc(cc1)S(=O)(=O)N[C@@H]1CC[C@H](CC1)NS(=O)(=O)c1ccc(N)cc1", printStereoWarnings=False) +smiles(R"N=C\1/C=C/C(=C(/c2ccc(N)cc2)\c2ccc(N)c(C)c2)/C=C1", printStereoWarnings=False) +smiles(R"N=C\1/C=C/C(=C(\c2ccc(N)cc2)/c2ccc(N)c(C)c2)/C=C1", printStereoWarnings=False) +smiles(R"Nc1ccccn1N", printStereoWarnings=False) +smiles(R"N=C\1/C=C/C(=N\Cc2ccc(N)cc2)/C=C1", printStereoWarnings=False) +smiles(R"N=c1ccn2c(n1)O[C@H]1[C@H](OC(=O)[C@]34C[C@@H]5C[C@@H](C[C@@H](C5)C4)C3)[C@@H](COC(=O)[C@]34C[C@@H]5C[C@@H](C[C@@H](C5)C4)C3)O[C@@H]21", printStereoWarnings=False) +smiles(R"N=c1ccn(CC(=O)N2CC[C@@]3(CC2)SS[C@]2(CCN(CC2)C(=O)Cn2ccc(=N)[nH]c2=O)S3)c(=O)[nH]1", printStereoWarnings=False) +smiles(R"N=c1ccn(c(=O)[nH]1)[C@H]1O[C@H](COC(=O)[C@]23C[C@@H]4C[C@@H](C[C@@H](C4)C3)C2)[C@@H](O)[C@@H]1O", printStereoWarnings=False) +smiles(R"Nc1cnn2cnnc2c1Cl", printStereoWarnings=False) +smiles(R"Nc1cnn2nnnc2c1", printStereoWarnings=False) +smiles(R"Nc1cnn2nnnc2c1Cl", printStereoWarnings=False) +smiles(R"Nc1c(/N=N/c2ccc(cc2)c2ccc(cc2)/N=N/c2cc(c3ccccc3c2N)[S@](=O)(=[OH+])[O-])cc(c2ccccc12)[S@@](=O)(=[OH+])[O-]", printStereoWarnings=False) +smiles(R"Nc1c(/N=N/c2ccc(cc2)[S@@](=O)(=O)c2ccc(/N=N/c3c4ccc(cc4cc(c3N)S(=O)(=O)O)S(=O)(=O)O)cc2)c2ccc(cc2cc1S(=O)(=O)O)S(=O)(=O)O", printStereoWarnings=False) +smiles(R"Nc1c(/N=N/c2ccc(cc2)[S@@](=O)(=O)c2ccc(/N=N/c3cc(c4cccc(c4c3N)S(=O)(=O)O)S(=O)(=O)O)cc2)cc(c2cccc(c12)S(=O)(=O)O)S(=O)(=O)O", printStereoWarnings=False) +smiles(R"Nc1nc(Cl)c(N)c(n1)N[C@@]12C[C@H]3C[C@@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"N=C1N=C(CS(=O)C)C(=N1)CS(=O)C", printStereoWarnings=False) +smiles(R"Nc1nc(N)c2c(ccc3nc(c4ccccc4)c(nc23)c2ccccc2)n1", printStereoWarnings=False) +smiles(R"Nc1nc(N)c2c(ccc3nc(C)c(C)nc23)n1", printStereoWarnings=False) +smiles(R"Nc1nc(N)c2=C(N)[N+](=O)[C-]3C=CC=CC3=c2n1", printStereoWarnings=False) +smiles(R"NC1NC(N)C2=C(N)[N+](=O)[C-]3C=CC=CC3=C2N1", printStereoWarnings=False) +smiles(R"Nc1nc(nc2nc3c4cccc5cccc(c3nc12)c45)c1ccccc1", printStereoWarnings=False) +smiles(R"Nc1ncnc2=NC=N[S@@](=O)(=c12)O", printStereoWarnings=False) +smiles(R"Nc1nc(N)c2nc(S[C@]34C[C@@H]5C[C@@H](C[C@@H](C5)C4)C3)c(N)nc2n1", printStereoWarnings=False) +smiles(R"N[C@@]1(N[C@](N)(C(F)(F)F)C(F)(F)[C@](F)(F)C1(F)F)C(F)(F)F", printStereoWarnings=False) +smiles(R"N=C1NC(=N)N(c2ccc(OC[C@@H]3CC[C@H](CC3)COc3ccc(cc3)S(=O)(=O)F)c(Cl)c2)C(C)(C)N1", printStereoWarnings=False) +smiles(R"N=C\1/N[C@](O)(c2ccccc2)[C@](O)(N1)c1ccccc1", printStereoWarnings=False) +smiles(R"Nc1nc(O)c2c(n1)n(c[n+]2[Cu@@+2]1(NCCN1)[n+]1cn([C@@H]2O[C@@H](COP(=[OH+])([O-])[O-])[C@H](O)[C@@H]2O)c2nc(N)nc(O)c12)[C@@H]1O[C@@H](COP(=[OH+])([O-])[O-])[C@H](O)[C@@H]1O", printStereoWarnings=False) +smiles(R"Nc1nc(O)c2c(n1)n(c[n+]2[Cu@+2]1(NCCN1)[n+]1cn([C@@H]2O[C@@H](COP(=[OH+])([O-])[O-])[C@H](O)[C@@H]2O)c2nc(N)nc(O)c12)[C@@H]1O[C@@H](COP(=[OH+])([O-])[O-])[C@H](O)[C@@H]1O", printStereoWarnings=False) +smiles(R"N=C\1/NC(=O)[C@@H](C(=O)N1)c1ccccc1", printStereoWarnings=False) +smiles(R"Nc1nc(S)nc(c1)C(=O)N[C@H]1[C@H]2C[C@@H]3C[C@H](C2)C[C@H]1C3", printStereoWarnings=False) +smiles(R"N=c1[nH]c2n(c(=O)nc3sc(Nc4ccccc4)nc23)c2sc(Nc3ccccc3)nc12", printStereoWarnings=False) +smiles(R"N=c1[nH]c2n(c(=S)nc3sc(Nc4ccccc4)nc23)c2sc(Nc3ccccc3)nc12", printStereoWarnings=False) +smiles(R"N=c1[nH]c2[nH]c[n+]3c2c(=[S+][Hg]3[C@@]23C4=C5C6=C2[Fe]27893456[C@@H]3C8=C7C2=C93)[nH]1", printStereoWarnings=False) +smiles(R"N=c1[nH]c(=N)c2c([nH]o[n+]2[O-])n1", printStereoWarnings=False) +smiles(R"N=c1[nH]n2c(nnc(c3ccccc3)c2c2ccccc2)n1", printStereoWarnings=False) +smiles(R"N=c1[nH]nc2c3ccccc3n3c4ccccc4n(C)c3c12", printStereoWarnings=False) +smiles(R"N=c1[nH][nH]/c(=S\2/[Pt@@](Cl)(Cl)/S(=c\3/[nH][nH]c(=N)s3)/[Pt@@]2(Cl)Cl)/s1", printStereoWarnings=False) +smiles(R"N=c1[nH]onc1c1n(O)onc1c1no[nH]c1=N", printStereoWarnings=False) +smiles(R"N=C\1/S[C@]23CCCN3C(=O)[C@@]3(CCCN3C2=O)S1", printStereoWarnings=False) +smiles(R"N=c1sc2c([nH]1)c1cccc3cccc2c13", printStereoWarnings=False) +smiles(R"NC1=[S+][Fe+2]234([S+]=C(N)c5cccc(c6cccc[n+]26)[n+]45)[n+]2ccccc2c2cccc1[n+]32", printStereoWarnings=False) +smiles(R"NC1=[S+][Fe+2]234([S+]=C(N)c5cccc(=c6cccc[n+]36)[n+]45)[n+]3ccccc3c3cccc1[n+]23", printStereoWarnings=False) +smiles(R"NC1=[S+][Fe]234([S+]=C(N)c5cccc(c6cccc[n+]26)[n+]35)[n+]2cccc(c2)c2cccc1[n+]42", printStereoWarnings=False) +smiles(R"N#CBn1ccc(cc1)C(=O)NNCc1ccccc1", printStereoWarnings=False) +smiles(R"N#CBn1ccc(cc1)C(=O)NNCc1cccc(c1)C(F)(F)F", printStereoWarnings=False) +smiles(R"N#CBn1ccc(cc1)C(=O)NNCc1ccc(F)cc1", printStereoWarnings=False) +smiles(R"N#CBn1ccc(cc1)C(=O)NNCc1ccc(OC)c(OC)c1", printStereoWarnings=False) +smiles(R"N#CBn1cccc(c1)C(=O)NN[C@H](C)c1ccccc1", printStereoWarnings=False) +smiles(R"N#CBn1ccc(cc1)C(=O)NN[C@H](C)c1ccccc1F", printStereoWarnings=False) +smiles(R"N#CBn1ccc(cc1)C(=O)NN[C@H](C)c1cccc(F)c1", printStereoWarnings=False) +smiles(R"N#CBn1ccc(cc1)C(=O)NN[C@H](C)c1ccc(Cl)cc1Cl", printStereoWarnings=False) +smiles(R"N#CBn1ccc(cc1)C(=O)NN[C@H](C)c1ccc(OC)cc1OC", printStereoWarnings=False) +smiles(R"N#C[C@]12CCCC[C@H]2CC[C@]2(OCCO2)C1", printStereoWarnings=False) +smiles(R"N#C[C@]12CC[C@H](c3ccccc13)c1ccccc21", printStereoWarnings=False) +smiles(R"N#C[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"NC[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"N#C[C@@]12[C@H]3[C@]4([C@@H]1[C@@]1(C(=O)C(C)(C)C)[C@@H]2[C@]3(C(=O)C(C)(C)C)[C@@]41C(=O)N(C)C(C)(C)C)C(=O)C(C)(C)C", printStereoWarnings=False) +smiles(R"N#C[C@]12[C@@H]3[C@@H]4[C@H]1[C@@H]1[C@H]2[C@H]3[C@]41C(=O)N(C)C(C)(C)C", printStereoWarnings=False) +smiles(R"N#C[C@@]12[C@@H]3[C@@H]4[C@H]2[C@@H]2[C@H]1[C@H]3[C@]42C(=O)N(C)C(C)C", printStereoWarnings=False) +smiles(R"N#C[C@]12[C@H]3[C@H]4[C@@H]2[C@H]2[C@@H]1[C@@H]3[C@@]42C(=O)N(C(C)C)C(C)C", printStereoWarnings=False) +smiles(R"NC[C@@]12[C@@H]3[C@H]4[C@H]5[C@@H]3[C@@H]1[C@H]5[C@@H]24", printStereoWarnings=False) +smiles(R"N#C[C@]12[C@H]3C(=O)C=CC(=O)[C@H]3[C@H](c3ccccc13)c1ccccc21", printStereoWarnings=False) +smiles(R"N#C[C@]12C(=O)N(C)C(=O)[C@@]1(C#N)[C@]12CCCC1", printStereoWarnings=False) +smiles(R"N#C[C@]12C(=O)N(C)C(=O)[C@]2(C#N)[C@@]1(C)C", printStereoWarnings=False) +smiles(R"N#C[C@]12C(=O)NC(=O)[C@]2(C#N)[C@]1(C)C", printStereoWarnings=False) +smiles(R"N#C[C@]12C(=O)NC(=O)[C@]2(C#N)[C@]21CCCC2", printStereoWarnings=False) +smiles(R"N#C[C@]12C(=O)NC(=O)[C@]2(C#N)[C@]21CCCCC2", printStereoWarnings=False) +smiles(R"N#Cc1c2c3ccccc3ccn2c2nc3ccccc3nc12", printStereoWarnings=False) +smiles(R"N#C[C@]1(c2oc3ccccc3n2)C(=O)C(=O)N([C@H]2[C@H]3C[C@@H]4C[C@H](C3)C[C@H]2C4)C(=O)C1=O", printStereoWarnings=False) +smiles(R"N#Cc1ccc2c(ccc3ncccc23)n1", printStereoWarnings=False) +smiles(R"N#C[C@@]1(C)C[C@]2(OCCO2)CC(C)(C)C1", printStereoWarnings=False) +smiles(R"NC[C@]1(C)C[C@]2(OCCO2)CC(C)(C)C1", printStereoWarnings=False) +smiles(R"N#CC1=C(C)/C(=c\2/o/c(=C\3/C(=O)N(/N=C/c4ccc(Cl)cc4)C(=O)C(=C3C)C#N)/c3nccnc23)/C(=O)N(/N=C/c2ccc(Cl)cc2)C1=O", printStereoWarnings=False) +smiles(R"N#Cc1ccccc1c1nc2ccc(N)c3C(=O)c4ccccc4c(n1)c23", printStereoWarnings=False) +smiles(R"N#Cc1ccc(cc1)[C@@H]1ON=C(c2ccccc2)N1[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"N#Cc1ccc(cc1)/C=N/[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"N#Cc1cccc(c1)N1C(=O)[C@H]2[C@H]3C=C[C@@H]([C@H]2C1=O)[C@H]1C(=O)N(c2cccc(C#N)c2)C(=O)[C@@H]31", printStereoWarnings=False) +smiles(R"N#Cc1ccccc1/N=C(\CC[C@](C#N)(C#N)CC/C(=N\c1ccccc1C#N)/NC(C)(C)C)/NC(C)(C)C", printStereoWarnings=False) +smiles(R"N#Cc1cccc(/C=N/[C@]23C[C@@H]4C[C@@H](C[C@@H](C4)C3)C2)c1", printStereoWarnings=False) +smiles(R"N#Cc1c(C)cc(C)n(/N=C/[C@-]23C4=C5C6=C2[Fe+2]27893456[C-]3C8=C7C2=C93)c1=O", printStereoWarnings=False) +smiles(R"N#Cc1c(C)cc(C)n(/N=C/[C@@-]23C4=C5C6=C2[Fe+2]27893456[C-]3C8=C7C2=C93)c1=O", printStereoWarnings=False) +smiles(R"N(=C\c1ccc(/C=N\Nc2nc3ccccc3s2)cc1)/Nc1nc2ccccc2s1", printStereoWarnings=False) +smiles(R"N(=C\c1ccco1)\C[C@H]1CC[C@@H](C/N=C\c2ccco2)CC1", printStereoWarnings=False) +smiles(R"N#Cc1c(Cl)cc(cc1Cl)[C@@]1(OS(=O)(=O)c2ccc(C)cc2)[C@@H]2CC[C@H]1CC2", printStereoWarnings=False) +smiles(R"N#CC1=C(C#N)[C@H]2CC[C@@H]1CC2", printStereoWarnings=False) +smiles(R"N#Cc1c(C)nn2c1nnc1c(=O)[nH][nH]c(=N)sc21", printStereoWarnings=False) +smiles(R"N#Cc1c(NCc2ccco2)c2ccccc2n2c1n(C)c1ccccc21", printStereoWarnings=False) +smiles(R"N#Cc1c(NCCc2ccccn2)c2ccccc2n2c1n(C)c1ccccc21", printStereoWarnings=False) +smiles(R"N#CC1(C#N)C(C)(C)[C@@H](C[Fe]2345(C#[O+])(C#[O+])[C@H]6C4=C3C2=C56)C1(C#N)C#N", printStereoWarnings=False) +smiles(R"N#Cc1c(NCCCN2CCOCC2)c2ccccc2n2c1n(C)c1ccccc21", printStereoWarnings=False) +smiles(R"N#Cc1c(NCCCn2cncc2)c2ccccc2n2c1n(C)c1ccccc21", printStereoWarnings=False) +smiles(R"N#CC1(C#N)C(C#N)(C#N)[C@@]21CCCC[C@@H]2C", printStereoWarnings=False) +smiles(R"N#CC1(C#N)C(C#N)(C#N)[C@]21CCCC[C@@H]2Cl", printStereoWarnings=False) +smiles(R"N#CC1(C#N)[C@H]2c3ccccc3[C@H](c3ccccc23)C1(C#N)C#N", printStereoWarnings=False) +smiles(R"N#CC1(C#N)[C@@H]2CC[C@@H](CC2)C1(C#N)C#N", printStereoWarnings=False) +smiles(R"N#CC1(C#N)[C@H](C=C[C@@]21OCCCO2)c1ccccc1", printStereoWarnings=False) +smiles(R"N#Cc1cnc(N)nc1NC[C@]1(COC(=O)C)C[C@@H](CCc2ccccc2)C1", printStereoWarnings=False) +smiles(R"N#Cc1c[nH]n2c1n[n+]([O-])c1ccc(Cl)cc21", printStereoWarnings=False) +smiles(R"N#Cc1cnn2c1n[n+]([O-])c1ccc(Cl)cc21", printStereoWarnings=False) +smiles(R"N#Cc1c(=O)nc2[nH]n3c(nnc4c3ccc3ccccc43)c2c1c1ccc(Cl)cc1", printStereoWarnings=False) +smiles(R"N#Cc1c(sc2c1c1ccccc1oc1=c2c(=O)c2ccccc2c1=O)NC(=O)C(F)(F)F", printStereoWarnings=False) +smiles(R"NC[C@@]1(N2CCCC2)[C@H]2CCCC[C@H]12", printStereoWarnings=False) +smiles(R"N#C[C@]1(/N=N/c2ccccc2)CC[C@@H](CC1)C(C)(C)C", printStereoWarnings=False) +smiles(R"N#C[C@@]1(NNc2ccccc2)CC[C@@H](CC1)C(C)(C)C", printStereoWarnings=False) +smiles(R"N#Cc1nnn(n1)c1ccccc1", printStereoWarnings=False) +smiles(R"N#C[C@]1(O)C(C)(C)[C@](O)(C#N)[C@@]1(C)C", printStereoWarnings=False) +smiles(R"N#CC[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"N#CC[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"NCC[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"NCC[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"N#CC(=c1c2nsnc2c(=C(C#N)C#N)c2nsnc12)C#N", printStereoWarnings=False) +smiles(R"N#CC(=c1cc/c(=c\2/ccc(=C(C#N)C#N)s2)/s1)C#N", printStereoWarnings=False) +smiles(R"N#CC(=c1ccc(=C2N3CCC[C@H]3CN2[C@]23C[C@@H]4C[C@@H](C[C@@H](C4)C3)C2)cc1)C#N", printStereoWarnings=False) +smiles(R"N#C[C@](c1ccccc1)([C@H](CC(=O)c1ccccc1)c1ccccc1)[C@H](CC(=O)c1ccccc1)c1ccccc1", printStereoWarnings=False) +smiles(R"N#CC(=c1ccc(=C(C#N)C#N)c2nsnc12)C#N", printStereoWarnings=False) +smiles(R"N#C/C(=C/1\C=C/C(=N\OC(=O)c2ccccc2)/C=C1)/c1ccccc1", printStereoWarnings=False) +smiles(R"N#C/C(=C/1\C=C/C(=N\OC(=O)Nc2ccccc2)/C=C1)/c1ccccc1", printStereoWarnings=False) +smiles(R"N#C/C(=C\1/[SH+][Cu+2]2([SH+]1)[SH+]/C(=C(/C#N)\C(=O)c1ccccc1)/[SH+]2)/C(=O)c1ccccc1", printStereoWarnings=False) +smiles(R"N#C/C(=C\1/[SH+][Ni+2]2([SH+]1)[SH+]/C(=C(\C#N)/c1ccccc1)/[SH+]2)/c1ccccc1", printStereoWarnings=False) +smiles(R"N#C/C(=C\1/[SH+][Pt+2]2([SH+]1)[SH+]/C(=C(\C#N)/c1ccccc1)/[SH+]2)/c1ccccc1", printStereoWarnings=False) +smiles(R"NCC(C)C", printStereoWarnings=False) +smiles(R"N#C/C(=C\c1cc(Cl)cc(Cl)c1O)/[C@@H](c1ccc2OCOc2c1)/C(=C/c1cc(Cl)cc(Cl)c1O)/C#N", printStereoWarnings=False) +smiles(R"N#C/C(=C\c1ccc(O)c(O)c1)/C(=O)N[C@H]1CC[C@@H](CC1)C[C@H]1CC[C@@H](CC1)NC(=O)/C(=C/c1ccc(O)c(O)c1)/C#N", printStereoWarnings=False) +smiles(R"N#C/C=C\c1cn(cc1/C=C/C#N)S(=O)(=O)c1ccc(C)cc1", printStereoWarnings=False) +smiles(R"N#CC(C)(C)[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"N#CC(C)(C)[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"N#C/C(=C\C=C\C1CCCCC1)/[C@@H]1CC[C@H](CC1)[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"N#C/C(=C\C=C\C1CCCCC1)/[C@H]1CC[C@@H](CC1)[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"N#CCCCC[N@@+]12CN3CN(CN(C3)C2)C1", printStereoWarnings=False) +smiles(R"N#C[C@@](CCC(=O)/C=C/c1ccccc1)(CCC(=O)/C=C/c1ccccc1)S(=O)(=O)c1ccc(C)cc1", printStereoWarnings=False) +smiles(R"N#CCCCCS[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"N#C/C(=C\[C@H]1CC[C@H](CC1)C(C)C)/[C@@H]1CC[C@H](CC1)[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"N#C/C(=C\[C@H]1CC[C@H](CC1)C(C)C)/[C@H]1CC[C@@H](CC1)[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"N#C/C(=C\[C@@H]1CC[C@H](CC1)N(C)C)/[C@@H]1CC[C@H](CC1)[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"N#C/C(=C\[C@@H]1CC[C@H](CC1)N(C)C)/[C@H]1CC[C@@H](CC1)[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"N#C/C(=C\[C@@H]1CC[C@H](CC1)NC(=O)C)/[C@@H]1CC[C@@H](CC1)[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"N#C/C(=C\[C@@H]1CC[C@H](CC1)NC(=O)C)/[C@H]1CC[C@H](CC1)[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"N#C/C(=C\[C@@H]1CC[C@@H](CC1)NC(=O)C)/[C@H]1CC[C@@H](C)CC1", printStereoWarnings=False) +smiles(R"N#C/C(=C\[C@@H]1C[C@@H](Br)CC[C@@H]1O)/[C@@H]1CC[C@H](CC1)[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"N#C/C(=C\[C@@H]1C[C@@H](Br)CC[C@@H]1O)/[C@H]1CC[C@@H](CC1)[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"N#C/C(=C\[C@@H]1C[C@H](Br)C[C@H](Br)[C@H]1O)/[C@@H]1CC[C@H](CC1)[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"N#C/C(=C\[C@@H]1C[C@H](Br)C[C@H](Br)[C@H]1O)/[C@H]1CC[C@@H](CC1)[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"N#C/C(=C\[C@@H]1C[C@H](Cl)C[C@H](Cl)[C@H]1O)/[C@@H]1CC[C@H](CC1)[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"N#C/C(=C\[C@@H]1C[C@H](Cl)C[C@H](Cl)[C@H]1O)/[C@H]1CC[C@@H](CC1)[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"N#C/C(=C\[C@@H]1[C@H](Cl)CCC[C@H]1Cl)/[C@@H]1CC[C@H](CC1)[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"N#C/C(=C\[C@H]1[C@H](Cl)CCC[C@H]1Cl)/[C@@H]1CC[C@H](CC1)[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"N#CCC[C@H]1C(=[O+][Cu@]2([O+]=C1C)[O+]=C(C)[C@H](CCC#N)C(=[O+]2)C)C", printStereoWarnings=False) +smiles(R"NCCCCNCCCC[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"NCCCCNCCCC[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"N#CCCN1C[C@H]2CC[C@H](CC2)C1", printStereoWarnings=False) +smiles(R"NCCCN1CCN(CCCNc2ccc3nnn4c3c2c(=O)c2ccccc42)CC1", printStereoWarnings=False) +smiles(R"N#CCC/N=C/1\C=C/C(=C(/c2ccccc2)\c2ccc(NCCC#N)cc2)/C=C1", printStereoWarnings=False) +smiles(R"N#CCC/[N+](=C/1\C=C/C(=C(/c2ccc(cc2)Nc2ccc(cc2)NC(=O)C)\c2ccc(cc2)N(C)CCC#N)/C=C1)/C", printStereoWarnings=False) +smiles(R"N#CCC/[N+](=C/1\C=C/C(=C(/c2ccc(cc2)N(C)CCC#N)\c2ccc(Nc3ccccc3)c3ccccc23)/C=C1)/C", printStereoWarnings=False) +smiles(R"N#CCC/N=C\1/C=C/C(=C(/c2ccc(NCCC#N)cc2)\c2ccccc2Cl)/C=C1", printStereoWarnings=False) +smiles(R"N#CCC/N=C\1/C=C/C(=C(/c2ccc(NCCC#N)cc2)\c2ccc(Cl)cc2Cl)/C=C1", printStereoWarnings=False) +smiles(R"NCCCNCCCC[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"NCCCNCCCC[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"NCCCNCCCCNCCCC[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"NCCCNCCCCNCCCC[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"NCCCNCCCCNCCCNCCCC[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"NCCCNCCCCNCCCNCCCC[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"N#C[C@](C#N)(CC/C(=N\c1ccc(cc1)[N+](=O)[O-])/NC(C)(C)C)CC/C(=N\c1ccc(cc1)[N+](=O)[O-])/NC(C)(C)C", printStereoWarnings=False) +smiles(R"N#CC(C#N)(CC/C(=N\c1ccc(cc1)[N+](=O)[O-])/NC(C)(C)C)CC/C(=N\c1ccc(cc1)[N+](=O)[O-])/NC(C)(C)C", printStereoWarnings=False) +smiles(R"N#C[C@](C#N)(CC/C(=N\c1c(Cl)cccc1Cl)/NC(C)(C)C)CC/C(=N\c1c(Cl)cccc1Cl)/NC(C)(C)C", printStereoWarnings=False) +smiles(R"N#CC(C#N)[C@@H]1c2ccccc2[C@H]([N+](=O)[O-])c2ccccc12", printStereoWarnings=False) +smiles(R"N#CC(C#N)[C@H]1c2ccccc2[C@@H]([N+](=O)[O-])c2ccccc12", printStereoWarnings=False) +smiles(R"N#C/C(=C(/N)\C#N)/N=C/[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"N#C/C(=C(/N)\C#N)/N=C/[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"N#C/C(=C(\N)/C#N)/N=C/C=N/C(=C(\N)/C#N)/C#N", printStereoWarnings=False) +smiles(R"NCCCO[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"N#CCCO[C@@H]1[C@@H](OCCC#N)[C@@H](OCCC#N)[C@H](OCCC#N)[C@H](OCCC#N)[C@@H]1OCCC#N", printStereoWarnings=False) +smiles(R"N#CCC(=O)N/N=C/1\CCC/C(=N\NC(=O)CC#N)/[C@H]1C(=O)CCCC(=O)Nc1c(C)cccc1C", printStereoWarnings=False) +smiles(R"N#C[C@H]1C[C@@]21c1ccccc1C(=O)c1ccccc21", printStereoWarnings=False) +smiles(R"N#C[C@@H]1C[C@]2(CC/C/1=N\NC(=O)N)c1ccccc1c1ccccc21", printStereoWarnings=False) +smiles(R"N#C[C@@H]1C[C@@]2(CCC1=O)c1ccccc1c1ccccc21", printStereoWarnings=False) +smiles(R"N#C[C@@H]1C[C@@]2(C(=O)C1=O)c1ccccc1c1ccccc21", printStereoWarnings=False) +smiles(R"N#C[C@H]1C[C@]2([N+](=O)[O-])c3ccccc3[C@H]1c1ccccc21", printStereoWarnings=False) +smiles(R"N#C[C@H]1C[C@@]2([N+](=O)[O-])c3ccccc3[C@@H]1c1ccccc21", printStereoWarnings=False) +smiles(R"N#C[C@H]1C[C@@]2(OCCO2)CCN1C(=O)c1ccccc1", printStereoWarnings=False) +smiles(R"NC[C@@H]1CCC[C@@]2(OCCO2)C1", printStereoWarnings=False) +smiles(R"NC[C@@H]1CC[C@@H]1CN", printStereoWarnings=False) +smiles(R"N#C[C@@H]1C[C@H]2c3ccccc3[C@@H]1c1ccccc21", printStereoWarnings=False) +smiles(R"NC[C@H]1C[C@@H]2c3ccccc3[C@H]1c1ccccc21", printStereoWarnings=False) +smiles(R"NC[C@@H]1C[C@H]2CC[C@@H]1CC2", printStereoWarnings=False) +smiles(R"N#C[C@H]1[C@@H]2CC[C@]3(OCCO3)C[C@@H]2CCN1C(=O)c1ccccc1", printStereoWarnings=False) +smiles(R"N#C[C@@H]1[C@H](C#N)[C@H]1C#N", printStereoWarnings=False) +smiles(R"N#C[C@H]1[C@H](C#N)[C@H]1C#N", printStereoWarnings=False) +smiles(R"N#C[C@H]1C(=[O+][Mn@@]2([O+]=C1C)[O+]=C(C)[C@H](C#N)C(=[O+]2)C)C", printStereoWarnings=False) +smiles(R"N#C[C@@H]1C(=O)NC(=O)[C@@H](C#N)[C@]1(CC)c1ccccc1", printStereoWarnings=False) +smiles(R"N#C[C@@H]1C(=O)NC(=O)[C@@H](C#N)[C@]1(C)CC(C)C", printStereoWarnings=False) +smiles(R"N#C[C@H]1C(=O)NC(=O)[C@H](C#N)[C@]21c1ccccc1Oc1ccccc21", printStereoWarnings=False) +smiles(R"N#C[C@@H]1C(=O)NC(=O)[C@H](C#N)[C@@]21CCCC2", printStereoWarnings=False) +smiles(R"N#C[C@@H]1C(=O)NC(=O)[C@H](C#N)[C@]21CCCCC2", printStereoWarnings=False) +smiles(R"N#C[C@@H]1C(=O)NC(=O)[C@H](C#N)[C@@]21CCN(CC2)Cc1ccccc1", printStereoWarnings=False) +smiles(R"N#C[C@@H]1C(=O)NC(=O)[C@H](C#N)[C@]21CCN(C)CC2", printStereoWarnings=False) +smiles(R"N#C[C@@H]1C(=O)NC(=O)[C@@H](C#N)[C@H]1c1ccc(cc1)[C@@H]1[C@H](C#N)C(=O)NC(=O)[C@H]1C#N", printStereoWarnings=False) +smiles(R"N#C[C@H]1C(=O)NC(=O)[C@H](C#N)[C@@H]1c1ccc(Cl)cc1Cl", printStereoWarnings=False) +smiles(R"N#C[C@@H]1C(=O)NC(=O)[C@@H](C#N)[C@H]1c1ccc(Cl)c(Cl)c1", printStereoWarnings=False) +smiles(R"N#C[C@@H]1C(=O)NC(=O)[C@@H](C#N)[C@H]1CCc1ccccc1", printStereoWarnings=False) +smiles(R"NC[C@@H]1O[Mo]234O[C@@H](CN)O[Mo]4(O1)(O[C@H](CN)O2)O[C@@H](CN)O3", printStereoWarnings=False) +smiles(R"N#C[C@H](c1ccccc1)/C(=N\NC(=O)C(=O)NN)/C(=O)N[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"N#C[C@H](c1ccccc1)N1CCCN([C@H](C#N)c2ccccc2)[C@H]1c1ccc(cc1)N(C)C", printStereoWarnings=False) +smiles(R"N#C[C@H](c1ccc(cc1)N(C)C)N1CCCN([C@H](C#N)c2ccc(cc2)N(C)C)[C@@H]1c1ccc(cc1)N(C)C", printStereoWarnings=False) +smiles(R"NC[C@@H](C)O[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"N#C[C@H](NC12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)c1ccccc1", printStereoWarnings=False) +smiles(R"N#C[C@@H](N[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1)c1ccccc1C(F)(F)F", printStereoWarnings=False) +smiles(R"N#C[C@@H](NC12C[C@H]3C[C@H](C[C@H](C3)C2)C1)c1ccc(OC)c(OC)c1", printStereoWarnings=False) +smiles(R"N#C[C@H](N[C@H](C)c1ccccc1)C[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"NC[C@@H](O)[C@@H]1O[C@@](C)(C)O[C@@H]1[C@H](O)CN", printStereoWarnings=False) +smiles(R"NC[C@H](O)CN1C[C@H](O)CN[Pt@]21OC(=O)CC(=O)O2", printStereoWarnings=False) +smiles(R"NC[C@H](O)C[N+]1(C[C@@H](O)CN[Pt@@]21OC(=O)CC(=O)O2)Cc1ccccc1", printStereoWarnings=False) +smiles(R"NC[C@@H](O)C[N+]1(C[C@H](O)CN[Pt@@+2]21[OH+]C(=O)CC(=O)[OH+]2)Cc1ccccc1", printStereoWarnings=False) +smiles(R"NCCN1C[C@@H]2CC[C@@H](CC2)C1", printStereoWarnings=False) +smiles(R"NCCN1C(=O)[C@@H]2[C@H]3c4ccccc4[C@H](c4ccccc34)[C@@H]2C1=O", printStereoWarnings=False) +smiles(R"NCCN[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"N#CC(=N)N[C@H]1CC[C@@H](CC1)[C@@H]1CC[C@@H](N)CC1", printStereoWarnings=False) +smiles(R"N#CC(=N)N[C@@H]1CC[C@@H](CC1)[C@H]1CC[C@@H](O)CC1", printStereoWarnings=False) +smiles(R"N#C[C@@](OC/C=C/c1ccccc1)(OC/C=C/c1ccccc1)c1cc2Cc3cc(cc(Cc4cc(cc(Cc5cc(cc(Cc(c1)c2OC/C=C/c1ccccc1)c5OC/C=C/c1ccccc1)C(C)(C)C)c4OC/C=C/c1ccccc1)[C@@](C#N)(OC/C=C/c1ccccc1)OC/C=C/c1ccccc1)c3OC/C=C/c1ccccc1)C(C)(C)C", printStereoWarnings=False) +smiles(R"NCCS[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"N/C(=C\S(=O)(=O)c1ccccc1)/[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"N=C(CSSc1ccccc1)NC[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"N=C(CSSCC(=N)N[C@@]1(C)CC[C@H](CC1)C(C)(C)C)N[C@@]1(C)CC[C@@H](CC1)C(C)(C)C", printStereoWarnings=False) +smiles(R"N=C(CSSCC(=N)NC[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)NC[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"N[C@@H]1CC[C@H](CC1)C[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"N[C@@H]1CC[C@H](CC1)CC1CCCCCC1", printStereoWarnings=False) +smiles(R"N[C@H]1CC[C@@H](CC1)C[C@@H]1C[C@H]2CC[C@@H]1C2", printStereoWarnings=False) +smiles(R"N[C@H]1CC[C@H](CC1)[C@@H]1CC[C@H](CC1)NC(=N)C(=N)N[C@H]1CC[C@H](CC1)[C@@H]1CC[C@@H](N)CC1", printStereoWarnings=False) +smiles(R"N[C@H]1CC[C@@H](CC1)C(=O)[C@@H]1CC[C@@H](O)C[C@@H]1O", printStereoWarnings=False) +smiles(R"N[C@@H]1CC[C@H](CC1)N(C)C", printStereoWarnings=False) +smiles(R"N[C@H]1CC[C@@H](CC1)N(C)C", printStereoWarnings=False) +smiles(R"N[C@@H]1CC[C@H](CC1)OC(=O)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"N[C@@H]1CC[C@H](CCCC2CCCC2)CC1", printStereoWarnings=False) +smiles(R"N[C@@H]1C[C@H]2c3ccccc3[C@@H]1c1ccccc21", printStereoWarnings=False) +smiles(R"N[C@@H]1CC(=O)[C@@H](C[C@@H]2C(=O)C[C@H](N)CC2=O)C(=O)C1", printStereoWarnings=False) +smiles(R"N[C@H](C[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1)C(=O)N", printStereoWarnings=False) +smiles(R"N#CN1CC[C@H]2C[C@]3(OCCO3)CC[C@H]2C1", printStereoWarnings=False) +smiles(R"NC(=N)c1ccc(cc1)/N=N/c1c(C)nc2ccc3c4c(ccc3c2c1O)nc(C)c(/N=N\c1ccc(cc1)C(=N)N)c4O", printStereoWarnings=False) +smiles(R"N#CNc1nc(CCC)c(C)c(n1)C(=O)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"N#C/N=C\1/[SH+][Co+2]2([SH+]1)[SH+]/C(=N/C#N)/[SH+]2", printStereoWarnings=False) +smiles(R"N#C/N=C\1/[SH+][Pt+2]2([SH+]1)[SH+]/C(=N/C#N)/[SH+]2", printStereoWarnings=False) +smiles(R"N=C(NC[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1)CS(=O)(=O)O", printStereoWarnings=False) +smiles(R"N=C(NC[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)CSP(=O)(O)O", printStereoWarnings=False) +smiles(R"N=C(NC[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)CSS(=O)(=O)O", printStereoWarnings=False) +smiles(R"N=C(NCCCCCS[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)CSSCC(=N)NCCCCCS[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"N=C(NC[C@@H](C)O[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1)CSS(=O)(=O)O", printStereoWarnings=False) +smiles(R"N#C/N=C\N1CC[C@@H](CC1)Cc1ccccc1", printStereoWarnings=False) +smiles(R"N#C/N=C\N1C[C@H]2CC[C@H](CC2)C1", printStereoWarnings=False) +smiles(R"N#CN/C(=N/[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)/Nc1ccncc1", printStereoWarnings=False) +smiles(R"N=C(\N(C)/N=C/c1ccccc1)/N(C)/N=C\c1ccccc1", printStereoWarnings=False) +smiles(R"NC(=N)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"NC(=N)NC12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"N=C(\N/N=C/c1cc(Br)cc(Br)c1O)/N/N=C\c1cc(Br)cc(Br)c1O", printStereoWarnings=False) +smiles(R"N=C(\N/N=C/c1ccc2OCOc2c1)/N/N=C\c1ccc2OCOc2c1", printStereoWarnings=False) +smiles(R"N=C(\N/N=C/c1cccc2ccccc12)/N/N=C/c1cccc2ccccc12", printStereoWarnings=False) +smiles(R"N=C(\N/N=C/c1ccc(cc1)c1cn2cc(C)ccc2[n+]1C)/N/N=C/c1ccc(cc1)c1cn2cc(C)ccc2[n+]1C", printStereoWarnings=False) +smiles(R"N=C(N/N=C/c1ccc(cc1)c1cn2cc(C)ccc2[n+]1C)N/N=C/c1ccc(cc1)c1cn2cc(C)ccc2[n+]1C", printStereoWarnings=False) +smiles(R"N=C(\N/N=C/c1ccc(cc1)c1cn2ccsc2[n+]1C)/N/N=C/c1ccc(cc1)c1cn2ccsc2[n+]1C", printStereoWarnings=False) +smiles(R"N=C(\N/N=C\c1ccc(cc1)c1cn2ccsc2[n+]1C)/N/N=C\c1ccc(cc1)c1cn2ccsc2[n+]1C", printStereoWarnings=False) +smiles(R"N=C(N/N=C/c1ccc(cc1)c1cn2ccsc2[n+]1C)N/N=C/c1ccc(cc1)c1cn2ccsc2[n+]1C", printStereoWarnings=False) +smiles(R"N=C(\N/N=C\c1ccccc1Cl)/N/N=C\c1ccccc1Cl", printStereoWarnings=False) +smiles(R"N=C(\N/N=C/c1ccccc1)/N/N=C\c1ccccc1", printStereoWarnings=False) +smiles(R"N=C(N/N=C/c1cccc(c1)[N+](=O)[O-])C(=N)N/N=C\c1cccc(c1)[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"N=C(N/N=C/c1ccccc1[N+](=O)[O-])C(=N)N/N=C\c1ccccc1[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"N=C(N/N=C\c1cccc(c1)[N+](=O)[O-])C(=N)N/N=C/c1cccc(c1)[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"N=C(N/N=C\c1ccccc1[N+](=O)[O-])C(=N)N/N=C/c1ccccc1[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"N=C(\N/N=C/c1ccc(cc1)OCc1cn2ccccc2[n+]1C)/N/N=C\c1ccc(cc1)OCc1cn2ccccc2[n+]1C", printStereoWarnings=False) +smiles(R"N=C(\N/N=C/c1ccccc1O)/N/N=C\c1ccccc1O", printStereoWarnings=False) +smiles(R"N=C(\N/N=C/c1ccc(C)cc1)/N/N=C\c1ccc(C)cc1", printStereoWarnings=False) +smiles(R"N=C(\N/N=C/c1cc(Cl)ccc1O)/N/N=C\c1cc(Cl)ccc1O", printStereoWarnings=False) +smiles(R"N=C(\N/N=C/c1ccncc1)/N/N=C\c1ccncc1", printStereoWarnings=False) +smiles(R"NC(=N)NCCC[C@H](NC(=O)c1c2ccccc2n(C)c2ccccc12)C(=O)O", printStereoWarnings=False) +smiles(R"NC(=N)NCCN1C[C@@H]2CC[C@@H](CC2)C1", printStereoWarnings=False) +smiles(R"NC(=N)N/N=C\1/C(C)(C)/C(=N\NC(=N)N)/[C@@]1(C)C", printStereoWarnings=False) +smiles(R"NC(=N)N/N=C/1\CC[C@@H](CC1)C1CCCCC1", printStereoWarnings=False) +smiles(R"NC(=N)N/N=c/1\c(=N/NC(=N)N)\c2cc3ccccc3cc2\c1=N\NC(=N)N", printStereoWarnings=False) +smiles(R"NC(=N)N/N=c/1\c(=N\NC(=N)N)\c2ccccc2\c1=N\NC(=N)N", printStereoWarnings=False) +smiles(R"NC(=N)N/N=C(/C=C/c1ccccc1O)\C=C\c1ccccc1O", printStereoWarnings=False) +smiles(R"NC(=N)N/N=C(\C=C\c1ccccc1O)/C=C/c1ccccc1O", printStereoWarnings=False) +smiles(R"NC(=N)N/N=C(\C(=O)O)/C(=N\NC(=N)N)/C(=O)O", printStereoWarnings=False) +smiles(R"NC(=N)NS(=O)(=O)c1ccc(cc1)NC(=O)c1c2ccccc2n(C)c2ccccc12", printStereoWarnings=False) +smiles(R"NC(=N)S[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"NC(=N)SCc1ccc2nsnc2c1", printStereoWarnings=False) +smiles(R"NC(=O)[C@@]12O[C@H]3C[C@H](C[C@H](C3)O2)O1", printStereoWarnings=False) +smiles(R"NC(=O)c1nnn(n1)c1ccccc1", printStereoWarnings=False) +smiles(R"NC(=O)[C@H]1C[C@]21c1ccccc1c1ccccc21", printStereoWarnings=False) +smiles(R"NC(=O)[C@H]1C[C@]2(c3ccccn3)c3ccccc3[C@H]1c1ccccc21", printStereoWarnings=False) +smiles(R"NC(=O)[C@@H]1CC[C@H](CC1)C(C)(C)C", printStereoWarnings=False) +smiles(R"NC(=O)[C@@H]1C[C@@H](C[C@@H](C1)C(=O)N)C(=O)N", printStereoWarnings=False) +smiles(R"NC(=O)[C@@H]1CCN(CC1)/N=N/c1c(C)n[nH]c1C(F)(F)F", printStereoWarnings=False) +smiles(R"NC(=O)[C@@H]1C(=O)NC(=O)[C@H](C(=O)N)[C@@]1(C)C", printStereoWarnings=False) +smiles(R"NC(=O)[C@H]1O[C@]21CCCC2", printStereoWarnings=False) +smiles(R"NC(=O)[C@H](OC(=O)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1)c1ccccc1", printStereoWarnings=False) +smiles(R"NC(=O)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"NC(=O)N/N=C\1/C(C)(C)/C(=N\NC(=O)N)/C1(C)C", printStereoWarnings=False) +smiles(R"NC(=O)N/N=C/1\CC[C@@H](CC1)c1ccccc1", printStereoWarnings=False) +smiles(R"NC(=O)N/N=C/1\CC[C@@H](CC1)C1CCCCC1", printStereoWarnings=False) +smiles(R"NC(=O)N/N=C\1/CC[C@@H](CC1)CC1CCCCC1", printStereoWarnings=False) +smiles(R"NC(=O)N/N=C/1\CC[C@H](CCOC(=O)c2ccccc2)CC1", printStereoWarnings=False) +smiles(R"NC(=O)N/N=C/1\C[C@@H](C/C(=N\NC(=O)N)/C[C@H](C1)C(=O)O)C(=O)O", printStereoWarnings=False) +smiles(R"NC(=O)N/N=C(\C)/[C@@H]1CC[C@H](CC1)c1ccccc1", printStereoWarnings=False) +smiles(R"NC(=O)NOC(=O)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"NC(=O)Oc1ccc(cc1)[C@H]1CC(=O)[C@@H](C(=O)N)C(=O)C1", printStereoWarnings=False) +smiles(R"N#CS[Co]1234([S+]=C([N-][N+]3=C(C)c3cccc[n+]13)N1C[C@@H]3CC[C@@H](CC3)C1)[S+]=C([N-][N+]4=C(C)c1cccc[n+]21)N1C[C@H]2CC[C@H](CC2)C1", printStereoWarnings=False) +smiles(R"N#CS[Co]1234([S+]=C([N-][N+]3=C(C)c3cccc[n+]13)N1C[C@H]3CC[C@H](CC3)C1)[S+]=C([N-][N+]4=C(C)c1cccc[n+]21)N1C[C@H]2CC[C@H](CC2)C1", printStereoWarnings=False) +smiles(R"NC(=S)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"NC(=S)NC[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"NC(=S)N/N=C/1\CC[C@@H](CC1)C1CCCCC1", printStereoWarnings=False) +smiles(R"NC(=S)N/N=C/[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"NC(=S)N/N=C/c1ccc(cn1)OC(=O)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"NC(=S)N/N=C/c1nc2ncnc3ccn1c23", printStereoWarnings=False) +smiles(R"[nH]1ncc(c1)[C@@]12[C@H]3[C@@H]4[C@@H]5[C@H]3[C@H]2[C@@H]5[C@H]14", printStereoWarnings=False) +smiles(R"[NH-]=[N+]=CC(=O)[C@@H](OC(=O)C)[C@@H](OC(=O)C)[C@H](OC(=O)C)C(=O)C=[N+]=[NH-]", printStereoWarnings=False) +smiles(R"[NH-]=[N+]=CC(=O)[C@@H](OC(=O)C)[C@H](OC(=O)C)[C@H](OC(=O)C)C(=O)C=[N+]=[NH-]", printStereoWarnings=False) +smiles(R"[NH-]=[N+]=N[C@@]12C[C@@]3(C)C[C@](C)(C[C@](C)(C3)C2)C1", printStereoWarnings=False) +smiles(R"[NH-]=[N+]=NC12C[C@]3(C)C[C@@](C)(C[C@@](C)(C3)C2)C1", printStereoWarnings=False) +smiles(R"[NH-]=[N+]=N[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"[NH-]=[N+]=NC12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"[NH-]=[N+]=NC12C[C@H]3[C@@H]4CC5C[C@H]3[C@H](C2)[C@@H](C5)[C@@H]4C1", printStereoWarnings=False) +smiles(R"[NH-]=[N+]=N[C@]12C[C@@H]3[C@H]4C[C@@H]5C[C@H]([C@H]4C1)[C@H](C2)[C@H]3C5", printStereoWarnings=False) +smiles(R"[NH-]=[N+]=Nc1cc2c(no[n+]2[O-])cc1[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"[NH-]=[N+]=Nc1cc2c(NO[N+]2[O-])cc1[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"[NH-]=[N+]=Nc1ccc(cc1)/C=C/1\C[C@@H](C/C(=C\c2ccc(N=[N+]=[NH-])cc2)/C1=O)C(C)(C)C", printStereoWarnings=False) +smiles(R"[NH-]=[N+]=Nc1ccc(cc1)/C=C/1\C[C@H](C/C(=C\c2ccc(N=[N+]=[NH-])cc2)/C1=O)C(C)(C)C", printStereoWarnings=False) +smiles(R"[NH-]=[N+]=Nc1cc(N)c2nn[nH]n2[nH]1", printStereoWarnings=False) +smiles(R"[NH-]=[N+]=Nc1cc(N)c2nnnn2n1", printStereoWarnings=False) +smiles(R"[NH-]=[N+]=NC(=O)[C@@]1(Br)CC[C@@H]2c3ccccc3[C@@](C1)([N+](=O)[O-])c1ccccc21", printStereoWarnings=False) +smiles(R"[NH-]=[N+]=NC(=O)[C@@]1(Br)CC[C@H]2c3ccccc3[C@](C1)([N+](=O)[O-])c1ccccc21", printStereoWarnings=False) +smiles(R"Nn1c2ccccc2nc2c1c1cccc3cccc2c13", printStereoWarnings=False) +smiles(R"Nn1cccc2ccccc12", printStereoWarnings=False) +smiles(R"Nn1ccccc1", printStereoWarnings=False) +smiles(R"NN1C(=N[NH+]2C1=[S+][Fe@@+2]12[Cl-][Fe@+2]2([S+]=C3N(N)C(=N[NH+]23)c2ccccc2)[Cl-]1)c1ccccc1", printStereoWarnings=False) +smiles(R"NN1C(=N[NH+]2C1=[S+][Fe@+2]12[Cl-][Fe@@+2]2([S+]=C3N(N)C(=N[NH+]23)c2ccccc2)[Cl-]1)c1ccccc1", printStereoWarnings=False) +smiles(R"NN[C@@]12CC[C@@H](c3ccccc13)c1ccccc21", printStereoWarnings=False) +smiles(R"NN[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"N/N=c/1\c2ccccc2c2cc3c(cc12)/c(=N\N)/c1ccccc31", printStereoWarnings=False) +smiles(R"N/N=C/1\C(=C\c2ccccc2)\CCC\C1=C/c1ccccc1", printStereoWarnings=False) +smiles(R"NNc1ccc2nccn2n1", printStereoWarnings=False) +smiles(R"NNc1ccc2nnc(Cl)n2n1", printStereoWarnings=False) +smiles(R"N/N=C/1\[C@@H]2CN3CCN(C2)C[C@@]1(C3)c1ccc(cc1)[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"N/N=C/1\[C@H]2CN3CCN(C2)C[C@]1(C3)c1ccc(cc1)[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"N/N=C/1\C(=N/N)\C(C)(C)C[S@](=O)(=O)CC1(C)C", printStereoWarnings=False) +smiles(R"NNc1nnc2c3ccccc3CCc3cc4cc(C)oc4c1c23", printStereoWarnings=False) +smiles(R"N/N=C/c1nc2ncnc3ccn1c23", printStereoWarnings=False) +smiles(R"N/N=C(\C)/C(=N\N)/C", printStereoWarnings=False) +smiles(R"N/N=C\C=N\N", printStereoWarnings=False) +smiles(R"NN[C@H](C)C[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"NNC(=O)[C@-]12C3=C4C5=C1[Fe+2]16782345C2=C7[C@-]8(C(=O)NN)C6=C12", printStereoWarnings=False) +smiles(R"NNC(=O)[C@@-]12C3=C4C5=C1[Fe+2]16782345C2=C7[C@-]8(C(=O)NN)C6=C12", printStereoWarnings=False) +smiles(R"NNC(=O)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"NNC(=O)[C@@H]1CC2=C(C1)C[C@@H](C2)C(=O)NN", printStereoWarnings=False) +smiles(R"NNC(=O)[C@@H]1C[C@@H]2c3ccccc3[C@H]1c1ccccc21", printStereoWarnings=False) +smiles(R"NNC(=O)[C@H]1[C@@H]2CCCC[C@@H]12", printStereoWarnings=False) +smiles(R"NNC(=O)[C@H]1[C@@H](C(=O)NN)[C@@H]1C(=O)NN", printStereoWarnings=False) +smiles(R"NNC(=O)[C@@H]1[C@@H](C(=O)NN)[C@@H]2c3ccccc3[C@H]1c1ccccc21", printStereoWarnings=False) +smiles(R"NNC(=O)[C@@H]1[C@@H](C(=O)O)[C@@H]2c3ccccc3[C@H]1c1ccccc21", printStereoWarnings=False) +smiles(R"NNC(=O)CSc1n[nH]c(n1)c1c(C)no[n+]1[O-]", printStereoWarnings=False) +smiles(R"NNC(=O)CSc1n[nH]c(n1)C1=C(C)NO[N+]1[O-]", printStereoWarnings=False) +smiles(R"NNC(=O)O[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"NNC(=S)N/N=C\1/C(C)(C)/C(=N/NC(=S)NN)/C1(C)C", printStereoWarnings=False) +smiles(R"N[Pt](Cl)(Cl)(Cl)(Cl)n1cccc2ccccc12", printStereoWarnings=False) +smiles(R"N[Pt](Cl)(Cl)(Cl)(Cl)n1csc2ccccc12", printStereoWarnings=False) +smiles(R"N[Pt](Cl)(Cl)(Cl)(Cl)n1cscc1", printStereoWarnings=False) +smiles(R"N[Pt](Cl)(Cl)n1csc2ccccc12", printStereoWarnings=False) +smiles(R"N[Pt](Cl)(Cl)n1cscc1", printStereoWarnings=False) +smiles(R"O1C[C@@H]1C[N@@+]12CN3CN(CN(C3)C2)C1", printStereoWarnings=False) +smiles(R"O1C[C@H]1CN1CC[C@@H](CC1)[C@@H]1CCN(CC1)C[C@H]1OC1", printStereoWarnings=False) +smiles(R"O1CC[N+]2(CC1)Cc1c(ccc3ccccc13)[OH+][Cu@@+2]12[Cl-][Cu@+2]2([OH+]c3ccc4ccccc4c3C[N+]32CCOCC3)[Cl-]1", printStereoWarnings=False) +smiles(R"O1CC[N+]2(CC1)Cc1c(ccc3ccccc13)[OH+][Cu@+2]12[Cl-][Cu@@+2]2([OH+]c3ccc4ccccc4c3C[N+]32CCOCC3)[Cl-]1", printStereoWarnings=False) +smiles(R"O1CCN(CC1)[C@@]12O[C@@]3(N4CCOCC4)[C@@H]4[C@H]5C[C@H]([C@@H]6[C@H]5[C@H]3[C@H]26)[C@H]14", printStereoWarnings=False) +smiles(R"O1CCN(CC1)c1n2ccccc2c2n1c1ccccc1n1c2c2ccccn2c1N1CCOCC1", printStereoWarnings=False) +smiles(R"O1CC/S(=[O+]\[Hg+2](/[O+]=S\2/CCOCC2)(/[O+]=S/2\CCOCC2)(/[O+]=S\2/CCOCC2)(/[O+]=S/2\CCOCC2)/[O+]=S/2\CCOCC2)/CC1", printStereoWarnings=False) +smiles(R"O1CC/S(=[O+]\[Hg+2](/[O+]=S\2/CCOCC2)(/[O+]=S\2/CCOCC2)(/[O+]=S\2/CCOCC2)(/[O+]=S\2/CCOCC2)/[O+]=S\2/CCOCC2)/CC1", printStereoWarnings=False) +smiles(R"O1[C@H]2[C@@H]1[C@@H]1C[C@H]2[C@@]23O[C@]13[C@@H]1C[C@H]2[C@H]2O[C@@H]12", printStereoWarnings=False) +smiles(R"O1[C@@H]2[C@@H]1[C@@H]1O[C@H]1[C@H]1O[C@H]1[C@@H]1O[C@@H]21", printStereoWarnings=False) +smiles(R"O1[C@@H]2[C@H]3O[C@H]3[C@@H]3O[C@@H]3[C@H]12", printStereoWarnings=False) +smiles(R"O1CN2c3nonc3N3COCN4[C@@H]3[C@@H]2N(C1)c1nonc41", printStereoWarnings=False) +smiles(R"O1NC2=N[C@H]3N=C4NONC4=N[C@@H]3N=C2N1", printStereoWarnings=False) +smiles(R"O1[Si@@H]2[Si@H]3O[Si@H]3[Si@@H]3O[Si@@H]3[Si@H]12", printStereoWarnings=False) +smiles(R"OB1O[C@H](C)[C@@H](C)[C@@H](C)O1", printStereoWarnings=False) +smiles(R"OB(O)[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"OB(O)[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"OB(O)[C@-]12C3=C4C5=C1[Fe+2]16782345C2=C7[C@@-]8(B(O)O)C6=C12", printStereoWarnings=False) +smiles(R"O[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"O[C@]12[C@H]3CCC[C@H]1CCC[C@@H]2CCC3", printStereoWarnings=False) +smiles(R"O=c1c2c3sc4ccccc4[nH]c3ccc2c(=O)c2ccccc12", printStereoWarnings=False) +smiles(R"O=c1c2cc3ccccc3cc2oc2cc3ccccc3cc12", printStereoWarnings=False) +smiles(R"O=C1c2cc3nc4c(nc3cc2C(=O)c2ccccc12)c1ccccc1c1ccccc41", printStereoWarnings=False) +smiles(R"O=c1c2cc3[nH]c4ccccc4c(=O)c3cc2[nH]c2ccccc12", printStereoWarnings=False) +smiles(R"O=C1[C@]2(CCC[C@@]31CO[C@]1(CCCCC1)OC3)CO[C@@]1(CCCCC1)OC2", printStereoWarnings=False) +smiles(R"O=c1c2cccc3c4ccccc4c4sc5ccccc5n1c4c23", printStereoWarnings=False) +smiles(R"O=c1c2cccc3cccc(c23)/c/1=c\1/c(=O)c2cccc3cccc1c23", printStereoWarnings=False) +smiles(R"O=c1c2c(ccc3ccccc23)oc2ccc3ccccc3c12", printStereoWarnings=False) +smiles(R"O=c1c2ccccc2c2c1c1c3ccccc3c(=O)c1c1c2c(=O)c2ccccc12", printStereoWarnings=False) +smiles(R"O=C1c2ccccc2c2ccc(cc12)NC(=O)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"O=C1c2ccccc2c2nc3ccc4C(=O)c5ccccc5c5nc6ccc1c2c6c3c45", printStereoWarnings=False) +smiles(R"O=C1c2ccccc2c2nccc3c2c1nc1ccccc31", printStereoWarnings=False) +smiles(R"O=C1c2ccccc2c2nc(cc3c2c1nc1ccccc31)c1cccnc1", printStereoWarnings=False) +smiles(R"O=C1c2ccccc2c2nc(cc3c2c1nc1ccccc31)c1cccs1", printStereoWarnings=False) +smiles(R"O=C1c2ccccc2c2nc(cc3c2c1nc1ccccc31)c1ccncc1", printStereoWarnings=False) +smiles(R"O=C1c2ccccc2c2nc(cc3c4ccccc4nc1c23)c1ccccc1", printStereoWarnings=False) +smiles(R"O=C1c2ccccc2c2nccc3ccnc1c23", printStereoWarnings=False) +smiles(R"O=C1c2ccccc2c2nc(/C=C/c3ccccc3)cc3c4ccccc4nc1c23", printStereoWarnings=False) +smiles(R"O=C1c2ccccc2C(=O)c2c1c1c(c3c2c2ccccc2n3C)n(C)c2ccccc12", printStereoWarnings=False) +smiles(R"O=c1c2ccccc2c(=O)c2c1c1c(=O)c3ccccc3c(=O)c1c1c2c(=O)c2ccccc2c1=O", printStereoWarnings=False) +smiles(R"O=c1c2ccccc2c(=O)c2c1c(c1ccccc1)c1c(c2c2ccccc2)c(=O)c2ccccc2c1=O", printStereoWarnings=False) +smiles(R"O=C1c2ccccc2C(=O)c2c1ccc1nc3c4cccc5cc6ccccc6c(c3nc21)c45", printStereoWarnings=False) +smiles(R"O=C1c2ccccc2C(=O)C2=C1[C@H]1c3ccccc3[C@@H]2c2ccccc12", printStereoWarnings=False) +smiles(R"O=C1c2ccccc2C(=O)c2c1sc1nc3c(=O)n(C)c(=O)n(C)c3n21", printStereoWarnings=False) +smiles(R"O=c1c2ccccc2c(=O)c2c(cc3sc4c(ccc5c4c(=O)c4ccccc4c5=O)[nH]c3c12)NC(=O)c1ccc2C(=O)c3ccccc3c3nsc1c23", printStereoWarnings=False) +smiles(R"O=C1c2ccccc2C(=O)[C@H]2[C@@H]1[C@H]1c3ccccc3[C@@H]2c2ccccc12", printStereoWarnings=False) +smiles(R"O=C1c2ccccc2C(=O)[C@@H]2[C@H]1[C@H]1[C@@H]2C(=O)c2ccccc2C1=O", printStereoWarnings=False) +smiles(R"O=C1c2ccccc2C(=O)[C@@H]2[C@@H]1C(=O)c1ccccc1C2=O", printStereoWarnings=False) +smiles(R"O=c1c2ccccc2c(=O)n2n1[C@H](c1ccccc1)N(O[C@@]12CCCCC1)C(C)(C)C", printStereoWarnings=False) +smiles(R"O=c1c2ccccc2n2nnc3cccc1c23", printStereoWarnings=False) +smiles(R"O=c1c2ccccc2n2nnc3ccc(NCCCNCCNCCCNc4ccc5nnn6c5c4c(=O)c4ccccc64)c1c23", printStereoWarnings=False) +smiles(R"O=c1c2ccccc2nc2sc3nc4ccccc4c(=O)n3n12", printStereoWarnings=False) +smiles(R"O=c1c2ccccc2ncn1[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"O=C1c2cccc(NC(=O)c3ccc4C(=O)c5ccccc5c5ncnc3c45)c2C(=O)c2ccccc12", printStereoWarnings=False) +smiles(R"O=C1c2cccnc2c2nccc3c2c1nc1ccccc31", printStereoWarnings=False) +smiles(R"O=C1c2cccnc2c2nc(cc3c2c1nc1ccccc31)c1ccccc1", printStereoWarnings=False) +smiles(R"O=C1c2cccnc2c2nc(cc3c2c1nc1ccccc31)c1cccnc1", printStereoWarnings=False) +smiles(R"O=C1c2cccnc2c2nc(cc3c2c1nc1ccccc31)c1ccncc1", printStereoWarnings=False) +smiles(R"O=C1c2cccnc2c2nccc3c4CCCCc4nc1c23", printStereoWarnings=False) +smiles(R"O=C1c2cccnc2c2nc(cc3c4ccccc4nc1c23)c1ccccn1", printStereoWarnings=False) +smiles(R"O=C1c2cccnc2c2nccc3ccnc1c23", printStereoWarnings=False) +smiles(R"O=C1c2cccnc2c2nc(/C=C/c3ccccc3)cc3c2c1nc1ccccc31", printStereoWarnings=False) +smiles(R"O=C1c2cccnc2C(=O)c2c1nc1ccccc1c2c1ccc2c3c(nc4ccccc24)C(=O)c2cccnc2c13", printStereoWarnings=False) +smiles(R"O=C1[C@@]2(C[C@@H]3C=C[C@H]2C3)C(=O)[C@]21C[C@@H]1C=C[C@H]2C1", printStereoWarnings=False) +smiles(R"O=C1[C@]2(C)CN3C[C@@]1(C)C(=O)[C@@](C)(C3)C2=O", printStereoWarnings=False) +smiles(R"O=c1c2ccncc2cc2c3[nH]c4ccccc4c3ccn12", printStereoWarnings=False) +smiles(R"O=C1[C@@]2(Cl)[C@]3(Cl)[C@]4(Cl)[C@@]2(Cl)[C@]2(Cl)[C@@]1(Cl)[C@@]3(Cl)[C@]2(Cl)[C@]4(Cl)Cl", printStereoWarnings=False) +smiles(R"O=C1[C@@]2(Cl)[C@]3(Cl)[C@]4(Cl)[C@@]2(Cl)[C@]2(Cl)[C@@]1(Cl)[C@@]3(Cl)[C@]2(Cl)[C@@]4(Cl)Cl", printStereoWarnings=False) +smiles(R"O=C1[C@]2(Cl)[C@H]3CC[C@@H]4[C@@H]5CC[C@H]3[C@@]1(Cl)[C@]5(Cl)[C@]24Cl", printStereoWarnings=False) +smiles(R"O=c1c2c(nc3sc4ccccc4c(=O)n23)n(C)c(=O)n1C", printStereoWarnings=False) +smiles(R"O=c1c2c(nc3sc4nc5ccccc5nc4n23)n(C)c(=O)n1C", printStereoWarnings=False) +smiles(R"O=C1c2cn(C)c(=O)cc2c2nc3ccccc3c3ccnc1c23", printStereoWarnings=False) +smiles(R"O=C1[C@@]2(CO[C@@]3(CCCCC3)OC2)CC[C@]21CO[C@@]1(CCCCC1)OC2", printStereoWarnings=False) +smiles(R"O=c1c2c(sc3CCCCc23)nc2sn3c(=O)c4c(sc5CCCCc45)nc3n12", printStereoWarnings=False) +smiles(R"O=C1c2nc(C)c(C)nc2C(=O)C2=C1[C@H]1c3ccccc3[C@@H]2c2ccccc12", printStereoWarnings=False) +smiles(R"Oc1c2OCN(Cc2c(C(=O)O)c2CN(COc12)C1CCCCC1)C1CCCCC1", printStereoWarnings=False) +smiles(R"O=C1c2scnc2c2nccc3c2c1nc1ccccc31", printStereoWarnings=False) +smiles(R"O=C1C[C@]23CCC[C@]3(C1)CC(=O)C2", printStereoWarnings=False) +smiles(R"O=C1C[C@]23CCCCCCCCCC[C@]3(C1)CC(=O)C2", printStereoWarnings=False) +smiles(R"Oc1cc2c(cc1O)[C@]1(C)CC[C@@]2(C)c2cc(O)c(O)cc12", printStereoWarnings=False) +smiles(R"O=C1C[C@]2(C)C[C@]3(OC[C@](C)(C)CO3)C[C@@]2(C)C1", printStereoWarnings=False) +smiles(R"O=C1Cc2ccccn2[Pt@](N)(Cl)O1", printStereoWarnings=False) +smiles(R"O=C1C[C@@]2(C)[C@@H](CC[C@@H]2C2(C)OCCO2)[C@H]2CC[C@H]3C[C@]4(OCCO4)CC[C@]3(C)[C@@H]12", printStereoWarnings=False) +smiles(R"O=C1C[C@@]2(CCN(CC2)C[C@@H]2COc3ccccc3O2)C(=O)N1N1CCCCCC1", printStereoWarnings=False) +smiles(R"O=C1C=C2[C@H](C)CC[C@]3(OCCO3)[C@]2(C)C[C@@H]1O", printStereoWarnings=False) +smiles(R"Oc1cc2[nH]c3cccc(C)c3c(=O)c2c2[nH]c3cccc(C)c3c(=O)c12", printStereoWarnings=False) +smiles(R"O=C1CC[C@-]23C4=C5C6=C2[Fe+2]27893456C3=C8[C@@-]19C7=C23", printStereoWarnings=False) +smiles(R"O=C1CC[C@@-]23C4=C5C6=C2[Fe+2]27893456C3=C8[C@@-]19C7=C23", printStereoWarnings=False) +smiles(R"O=C1/C(=C\[C@-]23C4=C5C6=C2[Fe+2]27893456[C-]3C8=C7C2=C93)/CCC/C/1=C/[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"O=C1/C(=C\[C@-]23C4=C5C6=C2[Fe+2]27893456[C-]3C8=C7C2=C93)/CCC/C/1=C/[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"O=C1/C(=C\[C@-]23C4=C5C6=C2[Fe+2]27893456[C-]3C8=C7C2=C93)/COC/C/1=C/[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"O=C1/C(=C\[C@-]23C4=C5C6=C2[Fe+2]27893456[C-]3C8=C7C2=C93)/COC/C/1=C/[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"Oc1ccc2c3c1c(O)nnc3c1cccc3cccc2c13", printStereoWarnings=False) +smiles(R"Oc1ccc2c(c1)[C@]13CCCC[C@@H]3[C@H](N(C)CC1)[C@@]12CC1", printStereoWarnings=False) +smiles(R"O=C1C=C[C@]2(C=C1)C[C@@H](NC(=O)C(F)(F)F)C(=O)O2", printStereoWarnings=False) +smiles(R"O=C1C=C[C@]2(C=C1)C[C@@H](NC(=O)OCc1ccccc1)C(=O)O2", printStereoWarnings=False) +smiles(R"O=C1CC[C@]2(CC1)[C@@H](O)c1ccccc1C2(C)C", printStereoWarnings=False) +smiles(R"O=C1CC[C@]2(C)C(=C1C)CCC[C@@]12OCCO1", printStereoWarnings=False) +smiles(R"O=C1CC[C@@]2(C)C(=C1)CC[C@H]1[C@@H]2CC[C@]2(C)[C@H](CC[C@@H]12)O[Si@](O[C@H]1CC[C@H]2[C@H]3CCC4=CC(=O)CC[C@]4(C)[C@H]3CC[C@]12C)(O[C@H]1CC[C@H]2[C@H]3CCC4=CC(=O)CC[C@]4(C)[C@H]3CC[C@]12C)c1ccccc1", printStereoWarnings=False) +smiles(R"O=C1CC[C@@]2(C)C(=C1)CC[C@@H]1[C@@H]3CC[C@H](O[Si@](C)(C)O[C@H]4CC[C@H]5[C@H]6CCC7=CC(=O)CC[C@]7(C)[C@H]6CC[C@]45C)[C@@]3(C)CC[C@H]21", printStereoWarnings=False) +smiles(R"O=c1/c(=C/c2ccc3OCOc3c2)/sc2nnc(c3ccco3)n12", printStereoWarnings=False) +smiles(R"O=c1/c(=C/c2ccc3OCOc3c2)/sc2nnc(Cc3ccccc3)n12", printStereoWarnings=False) +smiles(R"O=c1/c(=C/c2cccc3ccccc23)/sc2nc3ccccc3n12", printStereoWarnings=False) +smiles(R"O=C1CC[C@@]2(CCC[C@@]3(CCC(=O)CC3)C2=O)CC1", printStereoWarnings=False) +smiles(R"Oc1ccc2ccccc2c1/C=c/1\sc2nc3ccccc3n2c1=O", printStereoWarnings=False) +smiles(R"Oc1ccc2ccccc2c1/C=N/C[C@H]1CC[C@@H](C/N=C/c2c(O)ccc3ccccc23)CC1", printStereoWarnings=False) +smiles(R"O[C@]1(C#Cc2ccccc2)c2ccccc2[C@@](O)(C#Cc2ccccc2)c2ccccc12", printStereoWarnings=False) +smiles(R"O=c1/c(=C\c2ccc(cc2)/C=c\2/sc3nc4ccccc4n3c2=O)/sc2nc3ccccc3n12", printStereoWarnings=False) +smiles(R"O=C1/C(=C/c2ccc(cc2)N(C)C)/CC/C/1=C/c1ccc(cc1)N(C)C", printStereoWarnings=False) +smiles(R"O=c1/c(=C/c2ccccc2[N+](=O)[O-])/sc2nc3ccccc3n12", printStereoWarnings=False) +smiles(R"O=c1/c(=C/c2ccccc2[N+](=O)[O-])/sc2[nH]c3ccccc3n12", printStereoWarnings=False) +smiles(R"O=c1/c(=C\c2ccccc2[N+](=O)[O-])/sc2[nH]nc(c3cccnc3)n12", printStereoWarnings=False) +smiles(R"O=c1/c(=C/c2ccccc2[N+](=O)[O-])/sc2[nH]nc(c3ccco3)n12", printStereoWarnings=False) +smiles(R"O=c1/c(=C\c2ccccc2[N+](=O)[O-])/sc2nnc(c3cccnc3)n12", printStereoWarnings=False) +smiles(R"O=c1/c(=C/c2ccccc2[N+](=O)[O-])/sc2nnc(c3ccco3)n12", printStereoWarnings=False) +smiles(R"O=c1/c(=C\c2ccccc2)/sc2nc(nn12)c1ccccc1", printStereoWarnings=False) +smiles(R"O=c1/c(=C/c2ccccn2)/sc2nc3cc4OCCOc4cc3n12", printStereoWarnings=False) +smiles(R"O=C1/C(=C\c2ccco2)/CC[C@@H]2C[C@@]3(OCCO3)CC[C@@]12C", printStereoWarnings=False) +smiles(R"O=c1/c(=C/c2ccco2)/sc2nc3ccccc3n12", printStereoWarnings=False) +smiles(R"Oc1ccc2cc(C(=O)Nc3scc(n3)[C@]34C[C@@H]5C[C@@H](C[C@@H](C5)C4)C3)c(=O)oc2c1", printStereoWarnings=False) +smiles(R"O=C1CC[C@@]2(C[C@@H]1N)c1ccccc1c1ccccc21", printStereoWarnings=False) +smiles(R"O=C1C=C[C@]2(OCCO2)CC[C@@H]1c1cccc(c1)C1(C)OCCO1", printStereoWarnings=False) +smiles(R"O=C1CC[C@]2(OCCO2)C[C@@H]1C", printStereoWarnings=False) +smiles(R"O=C1CC[C@]2(OCCO2)C[C@H]1CCSc1ccccc1", printStereoWarnings=False) +smiles(R"O=C1CC[C@@]2(OCCO2)C[C@H]1CCS(=O)c1ccccc1", printStereoWarnings=False) +smiles(R"O=C1CC[C@]2(OCCO2)C[C@H]1[C@H]1C=CCC1", printStereoWarnings=False) +smiles(R"O=C1CC[C@]2(OCCO2)[C@@H](C)c2cc(N)c(C)cc2N1Cc1ccccc1", printStereoWarnings=False) +smiles(R"O=C1CCC[C@]23[C@@H]4CCC[C@@H]4[C@@]13[C@H]1CCC[C@@H]21", printStereoWarnings=False) +smiles(R"O=C1CCCC2=C1[C@@]1(O[C@@H]3C=CC=CN23)C(=O)c2ccccc2C1=O", printStereoWarnings=False) +smiles(R"Oc1cc(cc2cc(cc(NS(=O)(=O)c3ccc4[OH+][Pt@@+2]5(N[C@@H]6CCCC[C@H]6N5)[OH+]C(=O)c4c3)c12)[S@](=O)(=[OH+])[O-])[S@](=O)(=[OH+])[O-]", printStereoWarnings=False) +smiles(R"Oc1cc(cc2cc(cc(NS(=O)(=O)c3ccc4[OH+][Pt@+2]5(N[C@@H]6CCCC[C@H]6N5)[OH+]C(=O)c4c3)c12)[S@](=O)(=[OH+])[O-])[S@](=O)(=[OH+])[O-]", printStereoWarnings=False) +smiles(R"Oc1ccc(cc1)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"Oc1ccc(cc1)[C@@]1(Cl)[C@](Cl)(C(F)(F)F)[C@@]1(Cl)C(F)(F)F", printStereoWarnings=False) +smiles(R"Oc1ccc(cc1)[C@@]1(N=C(Nc2ccc(cc2)[S@](=O)(=O)c2ccc(cc2)NC2=N[C@@](c3ccc(O)cc3)(c3ccccc23)c2ccccc2O)c2ccccc12)c1ccccc1O", printStereoWarnings=False) +smiles(R"Oc1ccccc1/C=c\1/sc2nc3ccccc3n2c1=O", printStereoWarnings=False) +smiles(R"Oc1ccc(cc1)[C@@H]1CC(=O)[C@H](C(=O)Nc2ccccc2)C(=O)C1", printStereoWarnings=False) +smiles(R"Oc1ccccc1[C@H]1[N+]2=Cc3ccccc3[OH+][Zr]34562([OH+]c2ccccc2C=[N+]14)[OH+]c1ccccc1C=[N+]5[C@H](c1ccccc1O)[N+]6=Cc1ccccc1[OH+]3", printStereoWarnings=False) +smiles(R"Oc1ccc(cc1)[C@H]1N(C2CCCCC2)[C@H](c2ccc(O)cc2)N(C2CCCCC2)[C@H](c2ccc(O)cc2)N1C1CCCCC1", printStereoWarnings=False) +smiles(R"Oc1ccccc1[C@H]1N(CC/N=C\c2ccccc2O)CCN1CC/N=C\c1ccccc1O", printStereoWarnings=False) +smiles(R"Oc1cccc(c1)[C@@H]1N[Pt@](Cl)(Cl)N[C@@H]1c1cccc(O)c1", printStereoWarnings=False) +smiles(R"Oc1cccc(c1)[C@@H]1N[Pt@](Cl)(Cl)N[C@H]1c1cccc(O)c1", printStereoWarnings=False) +smiles(R"Oc1cccc(c1)[C@@H]1N[Pt@@](Cl)(Cl)N[C@H]1c1cccc(O)c1", printStereoWarnings=False) +smiles(R"Oc1ccc(cc1)[C@@H]1N[Pt@](Cl)(Cl)N[C@@H]1c1ccc(O)cc1", printStereoWarnings=False) +smiles(R"Oc1ccc(cc1)[C@@H]1N[Pt@@](Cl)(Cl)N[C@H]1c1ccc(O)cc1", printStereoWarnings=False) +smiles(R"Oc1ccc(cc1)[C@H]1O[C@H]1C(=O)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"Oc1ccccc1[C@H](/N=C/c1ccccc1O)/N=C/c1ccccc1O", printStereoWarnings=False) +smiles(R"Oc1ccccc1[C@@H](N(C)/N=C\c1ccccc1O)N(C)/N=C\c1ccccc1O", printStereoWarnings=False) +smiles(R"Oc1ccc(cc1CN[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)c1ccccc1", printStereoWarnings=False) +smiles(R"Oc1cc(ccc1/C=N/c1ccccc1)[S@](=O)(=O)c1ccc(/C=N/c2ccccc2)c(O)c1", printStereoWarnings=False) +smiles(R"Oc1ccccc1/C(=N\CC/N=C(\C)/c1ccccc1O)/C", printStereoWarnings=False) +smiles(R"Oc1ccccc1/C=N/[C@@H]1CC[C@@H](CC1)C[C@H]1CC[C@H](CC1)/N=C/c1ccccc1O", printStereoWarnings=False) +smiles(R"Oc1ccccc1/C=N/N1/C(=N\c2ccccc2)/C(=N\c2ccccc2)/N(C1=S)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"Oc1ccccc1/C=N/N/C(=N/N=C/c1ccccc1O)/N/N=C/c1ccccc1O", printStereoWarnings=False) +smiles(R"Oc1ccccc1C(=O)[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"Oc1ccccc1C(=O)[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"Oc1ccc(cc1)C(=O)CN[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"Oc1ccc(cc1)C(=O)O[C@@H]1CN2CC[C@H]1CC2", printStereoWarnings=False) +smiles(R"Oc1ccccc1[Hg]N1C(=O)[C@@H]2[C@H](C1=O)[C@]1(Cl)C(=C(Cl)[C@@]2(Cl)[C@@]1(Cl)Cl)Cl", printStereoWarnings=False) +smiles(R"Oc1ccc(cc1)N1C(=O)[C@@H]2[C@H](C1=O)[C@]1(Cl)C(=C(Cl)[C@@]2(Cl)[C@]1(Cl)Cl)Cl", printStereoWarnings=False) +smiles(R"Oc1ccc(cc1)/N=C/1\CC/C(=C(\c2ccccc2)/c2ccc(cc2)Nc2ccc(O)cc2)/CC1", printStereoWarnings=False) +smiles(R"Oc1ccc(cc1/N=N/c1ccc(cc1)[S@@](=O)(=O)c1ccc(/N=N/c2cc(ccc2O)S(=O)(=O)O)cc1)S(=O)(=O)O", printStereoWarnings=False) +smiles(R"O=c1/c(=C\C=C\c2ccccc2)/sc2nc3ccccc3n12", printStereoWarnings=False) +smiles(R"O[C@]1(CCCCCCCC[C@](O)(CCCCCCCC1)c1ccccc1)c1ccccc1", printStereoWarnings=False) +smiles(R"O=C1CC(C)(C)C[C@@H]2C[C@@]3(OCCO3)CC[C@]12C", printStereoWarnings=False) +smiles(R"O=C1C[C@@](C)(C)CC(=O)C1C(CC[C@@H]1CCCCC1=O)C1C(=O)C[C@@](C)(C)CC1=O", printStereoWarnings=False) +smiles(R"O=C1CCC[C@H]2[C@H]1CCC[C@]12OCCO1", printStereoWarnings=False) +smiles(R"Oc1cc(CCNC(=O)[C@]23C[C@@H]4C[C@@H](C[C@@H](C4)C3)C2)ccc1O", printStereoWarnings=False) +smiles(R"Oc1ccc(c(O)c1)/C(=N/N=C(/C)\c1ccc(O)cc1O)/C", printStereoWarnings=False) +smiles(R"O[C@]1(CC[C@@H](CC1)C(C)(C)C)Cc1ccccc1", printStereoWarnings=False) +smiles(R"O[C@]1(CC[C@H](CC1)C(C)(C)C)C#C[C@]1(O)CC[C@@H](CC1)C(C)(C)C", printStereoWarnings=False) +smiles(R"O=C1CC[C@H](C[C@@]21CCCC2)C(C)(C)C", printStereoWarnings=False) +smiles(R"O=C1CC[C@H](C(=O)N1)N1C(=O)[C@H]2[C@H]3c4ccccc4[C@H](c4ccccc34)[C@H]2C1=O", printStereoWarnings=False) +smiles(R"O=C1CC[C@@H](C(=O)N1)N1C(=O)[C@H]2[C@@H]3CC[C@@H](CC3)[C@H]2C1=O", printStereoWarnings=False) +smiles(R"O=C1CC[C@H](C(=O)N1)N1C(=O)[C@@H]2[C@H](C1=O)[C@]1(Cl)C(=C(Cl)[C@@]2(Cl)[C@@]1(Cl)Cl)Cl", printStereoWarnings=False) +smiles(R"O=C1CC[C@@H](C(=O)O[C@@H]2CN3CC[C@@H]2CC3)C(=O)N1", printStereoWarnings=False) +smiles(R"O=C1CCCN1c1ccc(Cl)c(c1)NC(=O)C(=O)N[C@H]1CC[N@@H+](CC1)C1CC1", printStereoWarnings=False) +smiles(R"O=C1CCCN1[C@H]1C[C@H](C[C@H](C[C@H](C[C@H](C[C@@H](C[C@H](C[C@H](C[C@H](C1)N1CCCC1=O)N1CCCC1=O)N1CCCC1=O)N1CCCC1=O)N1CCCC1=O)N1CCCC1=O)N1CCCC1=O)N1CCCC1=O", printStereoWarnings=False) +smiles(R"Oc1cc(CN[C@@]23C[C@H]4C[C@H](C[C@H](C4)C3)C2)nc(O)n1", printStereoWarnings=False) +smiles(R"Oc1cccn(Cc2ccccc2)c1", printStereoWarnings=False) +smiles(R"Oc1ccc(O)c2c1[C@]1(Cl)C(=C(Cl)[C@@]2(Cl)[C@]1(Cl)Cl)Cl", printStereoWarnings=False) +smiles(R"O=C1C=CC(=O)C2=C1[C@]1(Cl)C(=C(Cl)[C@@]2(Cl)[C@]1(Cl)Cl)Cl", printStereoWarnings=False) +smiles(R"O=C1C=CC(=O)C2=C1[C@@H]1c3ccccc3[C@@]2([N+](=O)[O-])c2ccccc12", printStereoWarnings=False) +smiles(R"O=C1C=CC(=O)C2=C1[C@H]1c3ccccc3[C@]2([N+](=O)[O-])c2ccccc12", printStereoWarnings=False) +smiles(R"Oc1ccc(O)c2c1C(=O)c1sc3nc4c(c(=O)n(C)c(=O)n4C)n3c1C2=O", printStereoWarnings=False) +smiles(R"O=C1C=CC(=O)c2c3c([C@H]4c5ccccc5[C@@H]3c3ccccc43)c3[C@@H]4c5ccccc5[C@@H](c5ccccc45)c3c12", printStereoWarnings=False) +smiles(R"O=C1C=CC(=O)C(=C1)CNc1ccc(cc1)C(=O)O[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"Oc1ccc(O)c(CNc2ccc(cc2)C(=O)O[C@@]23C[C@H]4C[C@H](C[C@H](C4)C3)C2)c1", printStereoWarnings=False) +smiles(R"Oc1ccc(O)c(CNc2ccc(cc2)C(=O)OC[C@]23C[C@H]4C[C@@H](C[C@H](C4)C3)C2)c1", printStereoWarnings=False) +smiles(R"O=C1C=CC(=O)[C@H]2[C@@H]1[C@]1(Cl)C(=C(Cl)[C@@]2(Cl)[C@]1(Cl)Cl)Cl", printStereoWarnings=False) +smiles(R"O=C1C=CC(=O)[C@H]2[C@@H]1[C@]1(Cl)C(=C(Cl)[C@@]2(Cl)[C@@]1(Cl)Cl)Cl", printStereoWarnings=False) +smiles(R"O=C1C=CC(=O)[C@@H]2[C@H]1[C@@H]1c3ccccc3[C@H]2c2ccccc12", printStereoWarnings=False) +smiles(R"O=C1C=CC(=O)[C@H]2[C@H]1[C@@H]1C=C[C@H]2[C@H]2[C@@H]1[C@]1(Cl)C(=C(Cl)[C@@]2(Cl)[C@]1(Cl)Cl)Cl", printStereoWarnings=False) +smiles(R"O=C1C=CC(=O)N1[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"O=C1C[C@H]2c3ccccc3[C@@H]1c1ccccc21", printStereoWarnings=False) +smiles(R"O=C1C[C@H]2CC[C@]1(CS(=O)(=O)O)C2(C)C", printStereoWarnings=False) +smiles(R"O=C1C[C@@H]2CCCC[C@@H]2[C@@]21SCCS2", printStereoWarnings=False) +smiles(R"O=C1C[C@H]2[C@H]3C[C@]4(OCCO4)[C@@H]4[C@H]3C[C@H]2[C@H]14", printStereoWarnings=False) +smiles(R"O=C1C[C@H]2[C@H]3C[C@H](C3)[C@@H](C1)N2C", printStereoWarnings=False) +smiles(R"O=C1C[C@@H]2[C@H](CC[C@]32OCCO3)c2ccc3ccccc3c12", printStereoWarnings=False) +smiles(R"O=C1C[C@@H](c2ccccc2)[C@]2([C@@H](C1)c1ccccc1)C(=O)c1ccccc1C2=O", printStereoWarnings=False) +smiles(R"O=C1C[C@H](c2ccco2)[C@]2(C(=O)CCCC2=O)[C@@H](C1)c1ccco1", printStereoWarnings=False) +smiles(R"O=C1C[C@@H](C(=O)O)[C@@]2(CCCCCC2)O1", printStereoWarnings=False) +smiles(R"O=C1C[C@H](O)C(=O)[OH+][Pt@+2]2(NCCN2)[OH+]1", printStereoWarnings=False) +smiles(R"O=C1C[C@@H](Sc2ccccc2)[C@@]2(OCCO2)[C@@H](C1)Sc1ccccc1", printStereoWarnings=False) +smiles(R"O=c1c(Cl)c2cc3c(cc2c2ccccc12)nc1ccccc1n3c1ccccc1", printStereoWarnings=False) +smiles(R"O=c1c(Cl)c2cc3c(cc2c2ccccc12)nc1ccccc1n3C1CCCCC1", printStereoWarnings=False) +smiles(R"Oc1ccnc2c1C(=O)c1nc3ccccc3c3ccnc2c13", printStereoWarnings=False) +smiles(R"Oc1cc(Nc2ccc3nn(C)nc3c2)c2c(ccc3nn(C)nc23)n1", printStereoWarnings=False) +smiles(R"O[C@@]1(CCN(CC1)C1CC1)c1cccc(c1)C(F)(F)F", printStereoWarnings=False) +smiles(R"Oc1ccn(CC(=O)N2CC[C@@]3(CC2)SS[C@]2(CCN(CC2)C(=O)Cn2ccc(O)cc2=O)S3)c(=O)c1", printStereoWarnings=False) +smiles(R"O=c1ccn(CC(=O)N2CC[C@]3(CC2)SS[C@@]2(CCN(CC2)C(=O)Cn2ccc(=O)[nH]c2=O)S3)c(=O)[nH]1", printStereoWarnings=False) +smiles(R"O=c1cc[nH]c(C)c1OC(=O)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"O=C1CC(=O)N([C@H]2CC[C@@H](CC2)C2CCCCC2)C(=O)N1", printStereoWarnings=False) +smiles(R"O=C1CC(=O)O[Pt@@]2(O1)N[C@H]1CCCC[C@@H]1[C@H]1CCCC[C@@H]1N2", printStereoWarnings=False) +smiles(R"O=C1CC(=O)O[Pt@]2(O1)N[C@H]1CCCC[C@@H]1N2", printStereoWarnings=False) +smiles(R"O=C1CC(=O)O[Pt@@]2(OC(=O)C1)N[C@@H]1CCCC[C@H]1N2", printStereoWarnings=False) +smiles(R"O=C1CC(=O)O[Ti]23456789(O1)([C@@H]1C4=C3C2=C51)[C@H]1C8=C7C6=C91", printStereoWarnings=False) +smiles(R"O=C1[C@H]2C[C@]3(OCCO3)C[C@@H](C1=O)N2Cc1ccccc1", printStereoWarnings=False) +smiles(R"O=C1[C@H]2CC=CC[C@@H]2C(=O)[C@]21CCc1ccccc21", printStereoWarnings=False) +smiles(R"O=C1[C@H]2CCC[C@H]1[C@@]1(O)CCCC[C@@H]1[C@H]2[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"O=C1[C@H]2CCC[C@H]1[C@@]1(O)CCCC[C@@H]1[C@H]2[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"O=C1[C@@H]2CCN(CC2)/C/1=C\c1ccc(OCc2ccccc2)c(OCc2ccccc2)c1", printStereoWarnings=False) +smiles(R"O=C1[C@H]2CCN(CC2)[C@@H]1CN1CC[C@]2(CC1)C(=O)NCN2c1ccccc1", printStereoWarnings=False) +smiles(R"O[C@]1([C@H]2CCN(CC2)[C@H]1CN1CCOCC1)c1ccccc1", printStereoWarnings=False) +smiles(R"O=C1[C@H]2[C@H]3CC[C@H](C3)[C@@H]2[C@@H](O)[C@H]2[C@H]3CC[C@H](CC3)[C@@H]12", printStereoWarnings=False) +smiles(R"O=C1[C@H]2[C@H]3C=C[C@H](C3)[C@H]2C(=O)[C@@]1(Br)Br", printStereoWarnings=False) +smiles(R"O=C1[C@H]2[C@H]3CC[C@H](C3)[C@H]2C(=O)[C@H]2[C@H]3CC[C@H](CC3)[C@@H]12", printStereoWarnings=False) +smiles(R"O=C1[C@H]2[C@H](C[C@@]32SCCS3)[C@@]2(C)OC[C@H](c3ccccc3)N12", printStereoWarnings=False) +smiles(R"O=C1[C@H]2[C@@H](N[C@@H](c3ccccc3)[C@@H]1[C@@H](N[C@H]2c1ccccc1)c1ccccc1)c1ccccc1", printStereoWarnings=False) +smiles(R"O=C1[C@@H](C)[N@+]2(CCCCCC2)[C@@H](C)CC1(c1ccccc1)c1ccccc1", printStereoWarnings=False) +smiles(R"O=C1[C@@H](Sc2ccccc2)[C@@H](c2ccccc2)[C@@H]1Sc1ccccc1", printStereoWarnings=False) +smiles(R"O=C1C[N@@+]23CC[N@@+]45CC(=O)O[Al]35(O1)(OC(=O)C2)OC(=O)C4", printStereoWarnings=False) +smiles(R"O=C1C[N@@+]23CC[N@@+]45CC(=O)O[Ba]35(O1)(OC(=O)C2)OC(=O)C4", printStereoWarnings=False) +smiles(R"O=C1C[N@@+]23CC[N@@+]45CC(=O)O[Ca]35(O1)(OC(=O)C2)OC(=O)C4", printStereoWarnings=False) +smiles(R"O=C1C[N@@+]23CC[N@@+]45CC(=O)O[Cd]35(O1)(OC(=O)C2)OC(=O)C4", printStereoWarnings=False) +smiles(R"O=C1C[N@@+]23CC[N@@+]45CC(=O)O[Co]35(O1)(OC(=O)C2)OC(=O)C4", printStereoWarnings=False) +smiles(R"O=C1C[N@@+]23CC[N@@+]45CC(=O)O[Cu]35(O1)(OC(=O)C2)OC(=O)C4", printStereoWarnings=False) +smiles(R"O=C1C[N@@+]23CC[N@@+]45CC(=O)O[Fe]35(O1)(OC(=O)C2)OC(=O)C4", printStereoWarnings=False) +smiles(R"O=C1C[N@@+]23CC[N@@+]45CC(=O)O[Mg]35(O1)(OC(=O)C2)OC(=O)C4", printStereoWarnings=False) +smiles(R"O=C1C[N@@+]23CC[N@@+]45CC(=O)O[Mn]35(O1)(OC(=O)C2)OC(=O)C4", printStereoWarnings=False) +smiles(R"O=C1C[N@@+]23CC[N@+]45CC(=O)O[Mo]675(=O)(OC(=O)C4)O[Mo]37(=O)(O1)(OC(=O)C2)O6", printStereoWarnings=False) +smiles(R"O=C1C[N@@+]23CC[N@@+]45CC(=O)O[Ni]35(O1)(OC(=O)C2)OC(=O)C4", printStereoWarnings=False) +smiles(R"O=C1C[N@@+]23CC[N@@+]45CC(=O)O[Pb]35(O1)(OC(=O)C2)OC(=O)C4", printStereoWarnings=False) +smiles(R"O=C1C[N@@+]23CC[N@@+]45CC(=O)O[Zn]35(O1)(OC(=O)C2)OC(=O)C4", printStereoWarnings=False) +smiles(R"O=C1C[N@+]23CCO[Fe]453(O1)OC(=O)C[N@+]5(CC2)CC(=O)O4", printStereoWarnings=False) +smiles(R"O=C1C[N@+]23CC(=O)[OH+][Mn+2]453([OH+]1)[OH+]C(=O)C[N@@+]5(CC(=O)[OH+]4)[C@H](C)C2", printStereoWarnings=False) +smiles(R"O=C1CN2CCN3CC(=O)NC(=O)[C@H]3[C@H]2C(=O)N1", printStereoWarnings=False) +smiles(R"O=C1CN2C(=O)CN3C4=[S+][Cu@]56OC(=O)CN5C(=O)CN6C4=[S+][Cu@@]23O1", printStereoWarnings=False) +smiles(R"O=C1CN(c2ccccc2)C(=O)CN1/N=C/[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"O=C1CN(C(=O)CN1c1ccccc1)N1C(=O)CS[C@@H]1[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"Oc1c(/N=N/c2ccc(C(=O)Nc3ccc(cc3)[S@@](=O)(=O)c3ccc(cc3)NC(=O)c3ccc(/N=N/c4cc(c5cccnc5c4O)S(=O)(=O)O)cc3S(=O)(=O)O)c(c2)S(=O)(=O)O)cc(c2cccnc12)S(=O)(=O)O", printStereoWarnings=False) +smiles(R"O=C1C(=O)[C@@H]2c3ccccc3[C@H]1c1ccccc21", printStereoWarnings=False) +smiles(R"O[C@@]1(CSC[C@@]1(O)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"O=C1CS[C@@H](N1c1nccs1)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"O=C1N2Cc3c4OCCOCCNCCOCCOc5ccc6OCCOCCNCCOCCOc(cc4)c3CN3C(=O)N4Cc6c5CN1[C@]4(c1ccccc1)[C@]23c1ccccc1", printStereoWarnings=False) +smiles(R"O=c1n2c(cc3ccccc23)c(=O)n2c1cc1ccccc21", printStereoWarnings=False) +smiles(R"O=c1n2c(nc3ccccc23)c(=O)n2c1nc1ccccc21", printStereoWarnings=False) +smiles(R"O=C1N2O[C@@H]3CCC[C@]2(C3)C(=O)[C@]21CCCCC2", printStereoWarnings=False) +smiles(R"Oc1nc2cc3cn[nH]c3cc2c(O)n1", printStereoWarnings=False) +smiles(R"O=C1N(c2ccc3c(Cc4ccccc34)c2)C(=O)[C@H]2[C@@H]1[C@@]1(Cl)C(=C(Cl)[C@]2(Cl)[C@]1(Cl)Cl)Cl", printStereoWarnings=False) +smiles(R"O=C1N[C@@]2(CCCC2)[C@H]2CCCC[C@@]12O", printStereoWarnings=False) +smiles(R"O=C1N[C@]2(CCCC2)C(=O)[C@]21CCCC2", printStereoWarnings=False) +smiles(R"O=C1N[C@]2(CCCC2)[C@](O)(CCc2ccccc2)[C@@]21CCCC2", printStereoWarnings=False) +smiles(R"O=C1N[C@@]2(CCCC2)C(=O)N[C@@H]1Cc1ccccc1", printStereoWarnings=False) +smiles(R"O=C1N(c2cccc3ccccc23)C(=O)[C@H]2[C@@H]1[C@@]1(Cl)C(=C(Cl)[C@]2(Cl)[C@@]1(Cl)Cl)Cl", printStereoWarnings=False) +smiles(R"O=C1Nc2ccccc2/C/1=c/1\sc2nc3ccccc3n2c1=O", printStereoWarnings=False) +smiles(R"O=C1Nc2ccccc2[C@@]1(O)CC(=O)[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"O=C1Nc2ccccc2[C@@]1(O)CC(=O)[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"O=C1Nc2ccccc2[C@@]1(O)CC(=O)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"Oc1nc2ccccc2c2ccccc2nc(O)c2ccccc12", printStereoWarnings=False) +smiles(R"O=C1N[C@]2(CCCC=C2)[C@](C)(O)[C@]21CCCCC2", printStereoWarnings=False) +smiles(R"O=C1N[C@@]2(CCCCC2)[C@@H](C)[C@@]21CCCCC2", printStereoWarnings=False) +smiles(R"O=C1N[C@@]2(CCCCC2)[C@H](N)[C@@]21CCCCC2", printStereoWarnings=False) +smiles(R"O=C1N[C@@]2(CCCCC2)[C@H]([N+](C)(C)C)[C@]21CCCCC2", printStereoWarnings=False) +smiles(R"O=C1N[C@]2(CCCC=C2)[C@H](O)[C@@]21CCCCC2", printStereoWarnings=False) +smiles(R"O=C1N[C@@]2(CCCCC2)[C@H](O)[C@@]21CCCCC2", printStereoWarnings=False) +smiles(R"O=C1N[C@]2(CCC=CC2)C(=O)[C@@]21CCCCC2", printStereoWarnings=False) +smiles(R"O=C1N[C@@]2(CCCC=C2)[C@](O)(c2ccccc2)[C@]21CCCCC2", printStereoWarnings=False) +smiles(R"O=C1N[C@]2(CCCC=C2)[C@](O)(C#Cc2ccccc2)[C@]21CCCCC2", printStereoWarnings=False) +smiles(R"O=C1N(c2ccccc2)C(=O)[C@@H]2[C@@H]1[C@]1(C=C3c4ccccc4N(C(=O)c4ccccc4)[C@@]23[C@@H]2C(=O)N(c3ccccc3)C(=O)[C@@H]12)[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"O=C1N(c2ccccc2)C(=O)[C@@H]2[C@@H]1[C@@]1(C=C3c4ccccc4N(C(=O)c4ccccc4)[C@]23[C@@H]2C(=O)N(c3ccccc3)C(=O)[C@@H]12)[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"O=C1N(c2ccccc2)C(=O)[C@H]2[C@@H]1[C@@]1(Cl)C(=C(Cl)[C@]2(Cl)[C@@]1(Cl)Cl)Cl", printStereoWarnings=False) +smiles(R"O=C1N(c2ccccc2)C(=O)[C@H]2[C@@H]1[C@H]1c3ccccc3[C@@H]2[S@]1(=O)=O", printStereoWarnings=False) +smiles(R"O=c1n(c2ccccc2)c(=O)n2[C@H]3CC[C@H](CC3)n12", printStereoWarnings=False) +smiles(R"O=c1n(c2ccccc2)c(=O)n2[C@H]3[C@H]4[C@@H]5[C@H]4[C@H]4[C@H]([C@@H]34)[C@@H]5n12", printStereoWarnings=False) +smiles(R"O=c1n(c2ccccc2)c(=O)n2n1[C@](C)(C13C[C@H]4C[C@H](C[C@H](C4)C3)C1)[C@@]2(C)C12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"O=c1n(c2ccccc2)c(=O)n2n1[C@H]1C[C@@H]3c4ccccc4[C@H]1[C@H]2[C@@]13CC1", printStereoWarnings=False) +smiles(R"O=C1N(c2ccc(cc2)S(=O)(=O)N)C(=O)[C@H]2[C@@H]1[C@@]1(Cl)C(=C(Cl)[C@]2(Cl)[C@@]1(Cl)Cl)Cl", printStereoWarnings=False) +smiles(R"O=C1N[C@@]2(CCCCCC2)[C@@H]2CCCCCC[C@]12O", printStereoWarnings=False) +smiles(R"Oc1nc2c(nc1N[C@@]13C[C@H]4C[C@H](C[C@H](C4)C3)C1)c(=O)oc1ccccc21", printStereoWarnings=False) +smiles(R"Oc1nc2nc3c(nc2c(N)n1)c1cccc2cccc3c12", printStereoWarnings=False) +smiles(R"Oc1nc2nc3c(nc2c(O)n1)c1cccc2cccc3c12", printStereoWarnings=False) +smiles(R"O=C1N[C@@]2(NC(=O)N[C@@]2(N1)c1ccccc1)c1ccccc1", printStereoWarnings=False) +smiles(R"O=C1N(Cc2ccccc2)[C@@H]2C[S@@](=O)(=O)C[C@@H]2N1Cc1ccccc1", printStereoWarnings=False) +smiles(R"O=C1N[C@](C)(C2CC2)C(=O)N1C[NH+]1CC[C@H](CC1)c1nc2ccccc2o1", printStereoWarnings=False) +smiles(R"Oc1ncccc1OC(=O)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"O=C1NCCCC[C@H]1NC(=O)[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"O=C1NCCCC[C@H]1NC(=O)[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"O=C1NCCCC[C@H]1NC(=O)[C@-]12C3=C4C5=C1[Fe+2]16782345C2=C7[C@-]8(C(=O)N[C@@H]3CCCCNC3=O)C6=C12", printStereoWarnings=False) +smiles(R"O=C1NCCCC[C@H]1NC(=O)[C@@-]12C3=C4C5=C1[Fe+2]16782345C2=C7[C@@-]8(C(=O)N[C@@H]3CCCCNC3=O)C6=C12", printStereoWarnings=False) +smiles(R"Oc1nccc(CN[C@@]23C[C@H]4C[C@H](C[C@H](C4)C3)C2)c1O", printStereoWarnings=False) +smiles(R"O=C1NC[C@H]2CC[C@]3(OCCO3)C[C@H]2C1", printStereoWarnings=False) +smiles(R"O=c1n(C)c(=O)n2[C@H]3CC[C@H](CC3)n12", printStereoWarnings=False) +smiles(R"O=C1N[C@@H]2C[C@@H]3CCC[C@H](c4ccccc4)[C@H]3[C@@]2(O)[C@]21CCCCC2", printStereoWarnings=False) +smiles(R"O=C1N[C@H]2C[S@](=O)(=O)C[C@H]2N1", printStereoWarnings=False) +smiles(R"O=C1N[C@@H]2NC(=O)N[C@@H]2N1", printStereoWarnings=False) +smiles(R"O=C1N[C@@H](c2ccco2)N(C)[C@@]21CCN(CC2)Cc1ccccc1", printStereoWarnings=False) +smiles(R"O=C1N[C@@H](C)[C@]2(O1)c1ccccc1c1ccccc21", printStereoWarnings=False) +smiles(R"O=C1N(Cl)[C@@H]2N(Cl)C(=O)N(Cl)[C@@H]2N1Cl", printStereoWarnings=False) +smiles(R"O=c1n(cnc2ccccc12)/N=C/[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"O=c1n(cnc2ccccc12)/N=C/[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"O=C1NCN(c2ccccc2)[C@@]21CCN(CC2)C[C@H]1COc2ccccc2O1", printStereoWarnings=False) +smiles(R"O=C1N=C(NC2CCCCC2)[C@]2(CCN(CC2)C[C@H]2COc3ccccc3O2)N1c1ccccc1", printStereoWarnings=False) +smiles(R"Oc1nc(N)c2nc3c4cccc5cccc(c3nc2n1)c45", printStereoWarnings=False) +smiles(R"Oc1nc(N)c2nc3c(nc2n1)c1cccc2cccc3c12", printStereoWarnings=False) +smiles(R"O=C1NC(=O)[C@]23[C@H]4CC[C@H](C=C4)[C@@]13C(=O)NC2=O", printStereoWarnings=False) +smiles(R"O=C1NC(=O)C2=C1[C@]1(Cl)C(=C(Cl)[C@@]2(Cl)[C@@]1(Cl)Cl)Cl", printStereoWarnings=False) +smiles(R"O=C1NC(=O)[C@@]2(C[C@@]2(C)c2ccccc2)C(=O)N1", printStereoWarnings=False) +smiles(R"O=C1NC(=O)[C@]2(CC(=C(C)C[C@@H]2C)C)C(=O)N1", printStereoWarnings=False) +smiles(R"O=C1NC(=O)[C@@]2(CC=CC[C@@H]2C(C)C)C(=O)N1", printStereoWarnings=False) +smiles(R"O=C1NC(=O)[C@]2(CC[C@@H](CC2)C2CCCCC2)N1", printStereoWarnings=False) +smiles(R"O=C1NC(=O)[C@@]2(CC[C@@H](CC2)C2CCCCC2)N1", printStereoWarnings=False) +smiles(R"O=C1NC(=O)[C@]2(C[C@@H]3CC[C@H]2C3)C(=O)N1", printStereoWarnings=False) +smiles(R"O=C1NC(=O)[C@]2(CCN(CC2)C[C@H]2COc3ccccc3O2)C(=O)N1", printStereoWarnings=False) +smiles(R"O=C1NC(=O)[C@@]2(C(=O)N1)[C@@H](CC(=O)C[C@H]2c1ccc(cc1)N(C)C)c1ccc(cc1)N(C)C", printStereoWarnings=False) +smiles(R"O=C1NC(=O)[C@@]2(C[Si](C)(C)CC[C@@H]2C)C(=O)N1", printStereoWarnings=False) +smiles(R"Oc1nc(O)c2nc3c4cccc5cccc(c3nc2n1)c45", printStereoWarnings=False) +smiles(R"O=C1NC(=O)[C@]2(Nc3cc(Cl)c(Cl)cc3N(C)[C@@H]2O)C(=O)N1", printStereoWarnings=False) +smiles(R"O=C1NC(=O)[C@]2(O[C@@H]3c4ccccc4C=NN3C3=C2C(=O)CCC3)C(=O)N1", printStereoWarnings=False) +smiles(R"O=C1NC(=O)[C@H]2[C@@H]1[C@]1(Cl)C(=C(Cl)[C@@]2(Cl)[C@@]1(Cl)Cl)Cl", printStereoWarnings=False) +smiles(R"O=C1NC(=O)[C@H]2C(=O)NC(=O)[C@@H]1[C@@]12CCc2ccccc12", printStereoWarnings=False) +smiles(R"O=C1NC(=O)[C@@H]2C(=O)NC(=O)[C@H]1[C@@H]2c1c(Cl)cccc1Cl", printStereoWarnings=False) +smiles(R"O=C1NC(=O)[C@H](C1)N1C(=O)[C@H]2[C@@H]3CC[C@@H](CC3)[C@H]2C1=O", printStereoWarnings=False) +smiles(R"Oc1nc(S)nc(c1)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"O=c1[nH]c2cc3c(oc4ccccc34)cc2n2cccc12", printStereoWarnings=False) +smiles(R"O=c1[nH]c2cccc3CCCn(c23)c(c1)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"O=c1[nH]c2ccccc2[nH]c(c1)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"O=c1[nH]c(=O)c2c(n1)n(CC(O)C(O)C(O)COP(=O)(O)O)c1cc(C)c(C)cc1[n+]2S(=O)(=O)[O-]", printStereoWarnings=False) +smiles(R"O=c1[nH]c(=O)c2c([nH]1)n(CC(O)C(O)C(O)COP(=O)(O)O)c1cc(C)c(C)cc1[n+]2S(=O)(=O)[O-]", printStereoWarnings=False) +smiles(R"O=c1[nH]c(=O)n(cc1C)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"O=c1[nH]c(=O)n(cc1C)C(=O)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"O=c1[nH]c(=O)n(cc1F)CC(=O)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"O=c1[nH]c(=O)n(cc1F)NC(=O)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"O=C1N([Hg]c2ccccc2)C(=O)[C@@H]2[C@H]1[C@@]1(Cl)C(=C(Cl)[C@]2(Cl)[C@]1(Cl)Cl)Cl", printStereoWarnings=False) +smiles(R"O=C1N([Hg]c2ccco2)C(=O)[C@@H]2[C@H]1[C@@]1(Cl)C(=C(Cl)[C@]2(Cl)[C@@]1(Cl)Cl)Cl", printStereoWarnings=False) +smiles(R"O=C1N([Hg]c2cccs2)C(=O)[C@@H]2[C@H]1[C@@]1(Cl)C(=C(Cl)[C@]2(Cl)[C@]1(Cl)Cl)Cl", printStereoWarnings=False) +smiles(R"O=c1[nH][nH]c(=O)n2c3cc(oc3cc12)c1ccccc1", printStereoWarnings=False) +smiles(R"O=C1NN[C@H]2NC(=O)[C@@]3(NN2C1=O)c1ccccc1c1ccccc31", printStereoWarnings=False) +smiles(R"Oc1nnc(O)c2nc3c(nc12)c1nc2c(O)nnc(O)c2nc1c1nc2c(O)nnc(O)c2nc31", printStereoWarnings=False) +smiles(R"O=C1NNC(=O)[C@@H]2[C@H]1[C@@H]1c3ccccc3[C@H]2c2ccccc12", printStereoWarnings=False) +smiles(R"O=C1N(NC(=O)[C@H]2[C@@H]3c4ccccc4[C@H]([C@@H]12)c1ccccc31)c1ccccc1", printStereoWarnings=False) +smiles(R"O=C1N(O)[C@@]2(CCCC=C2)C(=O)N[C@]21CCCCC2", printStereoWarnings=False) +smiles(R"O=c1oc2c3ccccc3c3ccccc3c2c2oc3c(c12)c1ccccc1c1ccccc31", printStereoWarnings=False) +smiles(R"O=C1Oc2c(=C1C(C)(C)C)n1nnnc1c2C(C)(C)C", printStereoWarnings=False) +smiles(R"O=c1oc2cc3ccccc3cc2c2c3ccccc3ccc12", printStereoWarnings=False) +smiles(R"O=C1O[C@]2(CC[C@@]3(CC2)OC(=O)C(=C)C3)CC1=C", printStereoWarnings=False) +smiles(R"O=C1O[C@]2(CCCC2)O[C@H]1c1ccccc1", printStereoWarnings=False) +smiles(R"O=C1O[C@]2(CCCC2)OC(=O)/C/1=C\C=C\c1ccc(o1)[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"O=C1O[C@@]2(CCCC2)OC(=O)/C/1=C\C=C\c1ccc(o1)[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"O=C1OC2=C(CCCC2)[C@H](N2CCCCC2)[C@]21SCCCS2", printStereoWarnings=False) +smiles(R"O=c1oc2ccccc2c(O)c1C(c1c(=O)oc2ccccc2c1O)[C@-]12C3=C4C5=C1[Fe+2]16782345C2=C7C6=C1[C-]82", printStereoWarnings=False) +smiles(R"O=c1oc2ccccc2c(O)c1C(c1c(=O)oc2ccccc2c1O)[C@@-]12C3=C4C5=C1[Fe+2]16782345C2=C7C6=C1[C-]82", printStereoWarnings=False) +smiles(R"O=C1OC[C@]2(CO1)C[C@H]1C=C[C@@H]2C1", printStereoWarnings=False) +smiles(R"O=C1OCC[C@]21CCCC[C@]12OCCO1", printStereoWarnings=False) +smiles(R"O=C1OC[C@@H]2C[C@@H]3c4ccccc4[C@]12c1ccccc31", printStereoWarnings=False) +smiles(R"O=C1O[C@H]2CC[C@@H]3[C@@H](O)C[C@H](O)[C@H]3C[C@H]2[C@@H]1CNC[C@H]1CC[C@@H](CC1)C(=O)O", printStereoWarnings=False) +smiles(R"O=C1O[C@@H]2[C@H](O1)[C@@]1(Cl)C(=C(Cl)[C@]2(Cl)[C@]1(Cl)Cl)Cl", printStereoWarnings=False) +smiles(R"O=C1O[C@H]2[C@@H](O1)[C@@H]1c3ccccc3[C@H]2c2ccccc12", printStereoWarnings=False) +smiles(R"O=C1OC(=O)[C@]23CC[C@H](CC2)[C@H]2CC[C@@]13CC2", printStereoWarnings=False) +smiles(R"O=c1oc(=O)c2c1c1c(=O)oc(=O)c1c1c(=O)oc(=O)c21", printStereoWarnings=False) +smiles(R"O=C1OC(=O)[C@]2(C)c3ccccc3[C@H]1c1ccccc21", printStereoWarnings=False) +smiles(R"O=C1OC(=O)[C@@]2(C)[C@H]1[C@@H]1c3ccccc3[C@H]2c2ccccc12", printStereoWarnings=False) +smiles(R"O=C1OC(=O)[C@H]2C[C@@H]3[C@H](C[C@H]12)[C@]1(Cl)C(=C(Cl)[C@@]3(Cl)[C@@]1(Cl)Cl)Cl", printStereoWarnings=False) +smiles(R"O=C1OC(=O)[C@H]2[C@@H]1[C@]1(Cl)C(=C(Cl)[C@@]2(Cl)[C@@]1(Cl)Cl)Cl", printStereoWarnings=False) +smiles(R"O=C1OC(=O)[C@@H]2[C@H]1[C@@H]1c3ccccc3[C@@]2(Br)c2ccccc12", printStereoWarnings=False) +smiles(R"O=C1OC(=O)[C@H]2[C@@H]1[C@H]1c3ccccc3[C@]2(C)c2ccccc12", printStereoWarnings=False) +smiles(R"O=C1OC(=O)[C@@H]2[C@H]1[C@@H]1c3ccccc3[C@@]2(O)c2ccccc12", printStereoWarnings=False) +smiles(R"O=C1OC(=O)[C@@H]2[C@H]1[C@@H]1c3ccccc3[C@H]2c2ccccc12", printStereoWarnings=False) +smiles(R"O=C1OC(=O)[C@H]2[C@@H]1[C@H]1C=C[C@@H]2[C@]1(c1ccccc1)c1ccccc1", printStereoWarnings=False) +smiles(R"O=C1OC(=O)[C@H]2[C@H]1[C@H]1C=C[C@@H]2[C@@]1(c1ccccc1)c1ccccc1", printStereoWarnings=False) +smiles(R"O=C1OC(=O)[C@H]2[C@H]1[C@H]1CC[C@@H]2[C@]1(c1ccccc1)c1ccccc1", printStereoWarnings=False) +smiles(R"O=C1OC(=O)[C@H]2[C@@H]1[C@@H]1[C@@H]3C(=O)OC(=O)[C@@H]3[C@H]2C(=C1c1ccccc1)c1ccccc1", printStereoWarnings=False) +smiles(R"O=C1[OH+][Pt@@+2]2(N[C@@H]3CCCC[C@@H]3N2)[OH+]C(=O)[C@H]1N", printStereoWarnings=False) +smiles(R"O=C1[OH+][Pt@@+2]2(N[C@@H]3CCCC[C@H]3N2)[OH+]P1(=O)[O-]", printStereoWarnings=False) +smiles(R"O=C1[OH+][Pt@+2]2(N[C@@H]3CCCC[C@H]3N2)[OH+]P1(=O)[O-]", printStereoWarnings=False) +smiles(R"O=C1O[Mn]2345OC(=O)C[N@@+]4(C1)C[C@@H](C)[N@@+]5(CC(=O)O2)CC(=O)O3", printStereoWarnings=False) +smiles(R"O=C1O[Mo]23(=O)(OC(=O)C[C@@](O)(C1)C(=O)O2)O[Mo]12(=O)(OC(=O)C[C@](O)(CC(=O)O1)C(=O)O2)O3", printStereoWarnings=False) +smiles(R"Oc1on[n+](c1)[C@]12CC[C@H](c3ccccc13)c1ccccc21", printStereoWarnings=False) +smiles(R"O=C1O[Pd@]23OC(=O)[C@H](Cc4nc[nH]c4)N3CN2[C@H]1Cc1nc[nH]c1", printStereoWarnings=False) +smiles(R"O=C1O[Pt@]2(NC[C@H]3CCCC[C@H]3N2)OC1=O", printStereoWarnings=False) +smiles(R"O=C1O[Pt@@]2(N[C@@H]3CCCC[C@@H]3N2)OC1=O", printStereoWarnings=False) +smiles(R"O=C1O[Pt@]2(N[C@H]3CCCC[C@@H]3N2)OC(=O)c2cc(ccc12)[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"O=C1O[Pt@@]2(N[C@H]3CCCC[C@@H]3N2)OC(=O)c2cc(ccc12)[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"O=C1O[Pt@@]2(N[C@H]3CCCC[C@@H]3N2)OC(=O)C(=C1O)O", printStereoWarnings=False) +smiles(R"O=C1O[Pt@]2(N[C@@H]3CCCC[C@H]3N2)OC(=O)[C@@H]1C", printStereoWarnings=False) +smiles(R"O=C1O[Pt@]2(OC1=O)N[C@H](c1ccccc1)[C@H](N2)c1ccccc1", printStereoWarnings=False) +smiles(R"O=C1O[Pt@](N)(NC2CCC2)OC(=O)[C@H]2CCCC[C@H]12", printStereoWarnings=False) +smiles(R"O=C1O[Ti]23456789(OC1=O)([C@@H]1C4=C3C2=C51)[C@@H]1C8=C7C6=C91", printStereoWarnings=False) +smiles(R"O=C1P2(=O)[OH+][Pt@@+2]3(N[C@H]4CCCC[C@H]4N3)[OH+]P1(=O)[OH+][Pt@@+2]1(N[C@H]3CCCC[C@@H]3N1)[OH+]2", printStereoWarnings=False) +smiles(R"O=C([C@]12C3=C4C5=C1[Fe]16782345C2=C7C6=C1[C@@H]82)[C@@]12C3=C4C5=C1[Fe]16782345C2=C7C6=C1[C@H]82", printStereoWarnings=False) +smiles(R"OC[C@]12C3=C4C5=C1[Fe]16782345C2=C7[C@@]8(C6=C12)[C@@]12C3=C4C5=C1[Fe]16782345C2=C7[C@]8(C6=C12)[C@@]12C3=C4C5=C1[Fe]16782345[C@H]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"O=C[C@@]12C3=C4C5=C1[Fe]16782345[C@H]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"OC[C@@]12C3=C4C5=C1[Fe]16782345[C@H]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"OC[C@-]12C3=C4C5=C1[Fe+2]16782345C2=C7[C@@-]8(CO)C6=C12", printStereoWarnings=False) +smiles(R"OC[C@@-]12C3=C4C5=C1[Fe+2]16782345C2=C7[C@@-]8(CO)C6=C12", printStereoWarnings=False) +smiles(R"OC[C@@]12C[C@@]3(OCCO3)CC[C@H]2[C@H](C)C=C[C@H]1O", printStereoWarnings=False) +smiles(R"O=C[C@@]12CC=C3O[C@H]4O[C@]5(CCCCC5)O[C@H]4[C@H]3[C@H]2C(=O)C=CC1=O", printStereoWarnings=False) +smiles(R"OC[C@@]12CCCC[C@H]2C[C@@]2(OCCO2)CC1", printStereoWarnings=False) +smiles(R"OC[C@@]12[C@@H]3[C@H]4[C@H]5[C@@H]3[C@@H]1[C@H]5[C@@H]24", printStereoWarnings=False) +smiles(R"O=C[C@]12[C@H]3C(=O)NC(=O)[C@H]3[C@H](c3ccccc13)c1ccccc21", printStereoWarnings=False) +smiles(R"OC[C@@]12CO[C@H](c3ccc(cc3)NC(=O)C)N2[C@H](OC1)c1ccc(cc1)NC(=O)C", printStereoWarnings=False) +smiles(R"O=Cc1c2c3[nH]c4ccccc4c3ccn2c2ccccc12", printStereoWarnings=False) +smiles(R"O/C=c\1/cc2cc(/C(=N\N)/c3ccccc3)c3nnc(c4ccccc4)c3cc2c1", printStereoWarnings=False) +smiles(R"OC[C@]1(C)C=C2C(=C(C)[C@@]3(CC3)[C@@](C)(O)C2=O)[C@H]1O", printStereoWarnings=False) +smiles(R"OC[C@@]1(C)C=C2C(=C(C)[C@]3(CC3)[C@](C)(O)C2=O)[C@H]1O", printStereoWarnings=False) +smiles(R"OC[C@]1(C)C=C2C(=C(C)[C@@]3(CC3)[C@](C)(O)[C@@H]2O)[C@H]1O", printStereoWarnings=False) +smiles(R"OC[C@@]1(C)C=C2C(=C(C)[C@@]3(CC3)C(=O)[C@]2(C)O)[C@H]1O", printStereoWarnings=False) +smiles(R"O=Cc1ccc2c(no[n+]2[O-])c1", printStereoWarnings=False) +smiles(R"O=Cc1ccc2[N+]([O-])ONc2c1", printStereoWarnings=False) +smiles(R"O=C(c1ccccc1)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"O=C(c1ccccc1)[C@-]12[Fe+2]3456789(C(=C26)C3=C15)C1=C8[C@-]9(C(=O)c2ccccc2)C7=C41", printStereoWarnings=False) +smiles(R"O=C(c1ccccc1)[C@-]12[Fe+2]3456789(C(=C26)C3=C15)C1=C8[C@@-]9(C(=O)c2ccccc2)C7=C41", printStereoWarnings=False) +smiles(R"O=C(c1ccccc1)[C@-]12[Ru+2]3456789(C(=C26)C3=C15)C1=C8[C@@-]9(C(=O)c2ccccc2)C7=C41", printStereoWarnings=False) +smiles(R"O=C(c1ccccc1)[C@@-]12[Ru+2]3456789(C(=C26)C3=C15)C1=C8[C@-]9(C(=O)c2ccccc2)C7=C41", printStereoWarnings=False) +smiles(R"O=C(c1ccccc1)c1ccc2c(n[se][n+]2C)c1", printStereoWarnings=False) +smiles(R"O=C(c1ccccc1)c1ccc2[n+](C)[se][nH]c2c1", printStereoWarnings=False) +smiles(R"O=C(c1ccccc1)c1ccc2[nH]c(=O)c3ccccc3ssc3ccccc3c(=O)[nH]c2c1", printStereoWarnings=False) +smiles(R"O=C(c1ccccc1)c1ccc2[nH][se][n+](C)c2c1", printStereoWarnings=False) +smiles(R"O=C(c1ccccc1)c1ccc2n[se]nc2c1", printStereoWarnings=False) +smiles(R"O=C(c1ccccc1)c1ccc2n[se][n+](C)c2c1", printStereoWarnings=False) +smiles(R"OC(c1ccccc1)(c1ccccc1)[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"OC(c1ccccc1)(c1ccccc1)[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"OC(c1ccccc1)(c1ccccc1)[C@@H]1C[C@]2(C1)C[C@H](C2)C(O)(c1ccccc1)c1ccccc1", printStereoWarnings=False) +smiles(R"OC(c1ccccc1)(c1ccccc1)[C@@H]1CC[C@@H](C(O)(c2ccccc2)c2ccccc2)[S@]1(=O)=O", printStereoWarnings=False) +smiles(R"OC(c1ccccc1)(c1ccccc1)[C@@H]1C[C@@H]2CC[C@H]1CC2", printStereoWarnings=False) +smiles(R"O=C(c1ccccc1)c1ccccc1NC(=O)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"O=Cc1ccc(cc1)c1nnc2n[nH]c(=S)n2n1", printStereoWarnings=False) +smiles(R"O=C(c1ccccc1)[C@H]1[C@H](/C=C/c2ccccc2)[C@@H](C(=O)c2ccccc2)[C@H]1/C=C/c1ccccc1", printStereoWarnings=False) +smiles(R"O=C(c1ccccc1)[C@@H]1[C@@H](N=N[C@@]21c1ccccc1Oc1ccccc21)c1ccccc1", printStereoWarnings=False) +smiles(R"O=C(c1ccccc1)[C@@H]1C(=[O+][Cu@@]2([O+]=C1c1ccccc1)[O+]=C(c1ccccc1)[C@@H](C(=O)c1ccccc1)C(=[O+]2)c1ccccc1)c1ccccc1", printStereoWarnings=False) +smiles(R"O=C(c1ccccc1)n1c(Cc2ccccc2)nc2cc(ccc12)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"O=C(c1ccccc1)N1S[C@]2(c3ccccc3c3ccccc23)C(C)(C)[C@H]1N1CCCC1", printStereoWarnings=False) +smiles(R"O=C(c1ccccc1)N1S(=O)[C@@]2(c3ccccc3c3ccccc23)C(C)(C)[C@H]1N1CCCC1", printStereoWarnings=False) +smiles(R"OC[C@]1(C)CCC[C@@]21OCCO2", printStereoWarnings=False) +smiles(R"O=C(c1ccccn1)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"O=C[C@@]1(CC[C@@H](CC1)C(C)(C)C)NS(=O)(=O)c1ccc(C)cc1", printStereoWarnings=False) +smiles(R"OC[C@]1(C[C@H](Cc2ccccc2)C1)Cn1ccc(=O)[nH]c1=O", printStereoWarnings=False) +smiles(R"OC[C@@]1(C)[C@H](CC[C@]21OCCO2)C=C(C)C", printStereoWarnings=False) +smiles(R"O=C(c1ccncc1)N1C[C@H](C(=O)NCC(C)(C)N2CCOCC2)[C@]2(CC[NH2+]CC2)C1", printStereoWarnings=False) +smiles(R"OCC1=C(CO)[C@]2(Cl)C(=C(Cl)[C@@]1(Cl)[C@@]2(Cl)Cl)Cl", printStereoWarnings=False) +smiles(R"OC[C@@]1(CNc2cc(Cl)nc(N)n2)C[C@H](Cc2ccccc2)C1", printStereoWarnings=False) +smiles(R"OC[C@@]1(CNc2cc(Cl)nc(N)n2)C[C@H](CCCCc2ccccc2)C1", printStereoWarnings=False) +smiles(R"OC[C@@]1(CNc2nc(N)ncc2Cl)C[C@H](CCc2ccccc2)C1", printStereoWarnings=False) +smiles(R"OC[C@@]1(CNc2nc(N)ncc2N)C[C@@H](CCc2ccccc2)C1", printStereoWarnings=False) +smiles(R"OC[C@@]1(CNc2nc(N)nc(Cl)c2N)C[C@@H](Cc2ccccc2)C1", printStereoWarnings=False) +smiles(R"OC[C@@]1(CNc2nc(N)nc(Cl)c2N)C[C@H](CCc2ccccc2)C1", printStereoWarnings=False) +smiles(R"OC[C@@]1(CNc2nc(N)nc(Cl)c2N)C[C@@H](CCCc2ccccc2)C1", printStereoWarnings=False) +smiles(R"OC[C@@]1(CNc2nc(N)nc(Cl)c2N)C[C@@H](CCCCc2ccccc2)C1", printStereoWarnings=False) +smiles(R"OC[C@]1(CNc2nc(N)nc(Cl)c2N)C[C@@H](OCc2ccccc2)C1", printStereoWarnings=False) +smiles(R"OC[C@]1(CNc2nc(N)nc(Cl)c2/N=N/c2ccc(Cl)cc2)C[C@H](OCc2ccccc2)C1", printStereoWarnings=False) +smiles(R"OC[C@@]1(CNc2nc(N)nc(Cl)c2/N=N/c2ccc(Cl)cc2)C[C@@H](OCc2ccccc2)C1", printStereoWarnings=False) +smiles(R"O=Cc1cnn(n1)c1ccccc1", printStereoWarnings=False) +smiles(R"O=Cc1nc2ccccc2cc1C[N@+]12CN3CN(CN(C3)C2)C1", printStereoWarnings=False) +smiles(R"O=Cc1nc2ncnc3ccn1c23", printStereoWarnings=False) +smiles(R"O=C(c1nccc2ccccc12)[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"O=C(c1nccc2ccccc12)[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"O=Cc1nnc2n[nH]c(=S)n2n1", printStereoWarnings=False) +smiles(R"OC[C@@]1(O)C[C@@H](CNc2cc(Cl)nc(N)n2)C1", printStereoWarnings=False) +smiles(R"OC[C@]1(O)C[C@H](COc2cc(Cl)nc(N)n2)C1", printStereoWarnings=False) +smiles(R"OCC[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"OCC[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"O=C(/C=C\1/[C@@]2(CCCC=C2)NC(=O)[C@@]21CCCCC2)c1ccccc1", printStereoWarnings=False) +smiles(R"O=C(Cc1ccccc1)C/C(=N/CC/N=C(/C)\CC(=O)Cc1ccccc1)/C", printStereoWarnings=False) +smiles(R"O=C(Cc1ccccc1)O[C@@H]1CN2CC[C@@H]1CC2", printStereoWarnings=False) +smiles(R"OCC[C@]1(CCC(C)C)C(=O)N/C(=N)/NC1=O", printStereoWarnings=False) +smiles(R"OCC[C@@]1(C)C(=O)N/C(=N)/NC1=O", printStereoWarnings=False) +smiles(R"O=C(Cc1nc2nncn2/c/1=C/C(=O)C(c1ccccc1)c1ccccc1)C(c1ccccc1)c1ccccc1", printStereoWarnings=False) +smiles(R"O=C(/C=c/1\[nH]c2ccc(cc2nc1N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)[N+](=O)[O-])c1ccccc1", printStereoWarnings=False) +smiles(R"O=C(/C=c/1\[nH]c2ccc(cc2nc1NC12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)[N+](=O)[O-])c1ccccc1", printStereoWarnings=False) +smiles(R"OCCc1nnn(C)n1", printStereoWarnings=False) +smiles(R"OCCc1nnn(n1)C[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"OCCc1nnnn1C[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"OCCc1nnnn1C[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"OCCC1=NNN(N1)C[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"O=C(Cc1sc2ccccc2n1)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"O=C(/C=c/1\s/c(=C/C(=O)c2ccccc2)/s1)c1ccccc1", printStereoWarnings=False) +smiles(R"O=C(/C=C/[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82)[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"O=C(/C=C/[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82)[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"O=C(/C=C/[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82)c1ccco1", printStereoWarnings=False) +smiles(R"O=C(/C=C/[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82)c1ccco1", printStereoWarnings=False) +smiles(R"O=C(/C=C/[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82)c1cccs1", printStereoWarnings=False) +smiles(R"O=C(/C=C/[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82)c1cccs1", printStereoWarnings=False) +smiles(R"O=C(/C=C/c1ccccc1)[C@@]12C3=C4C5=C1[Fe]16782345[C@@H]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"O=C(C(Cc1ccccc1)Cc1ccccc1)[C@-]12C3=C4C5=C1[Fe+2]16782345C2=C7C6=C1[C-]82", printStereoWarnings=False) +smiles(R"O=C(C(Cc1ccccc1)Cc1ccccc1)[C@@-]12C3=C4C5=C1[Fe+2]16782345C2=C7C6=C1[C-]82", printStereoWarnings=False) +smiles(R"O=C(/C=C/c1ccccc1)N[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"O=C(/C=C/c1ccccc1)Nc1ccccc1SCCCN1CC[C@]2(CC1)C(=O)N(C)CN2c1ccccc1", printStereoWarnings=False) +smiles(R"O=C(CCc1ccccc1)N[C@@H]1CC[C@@H](CC1)c1ccc(O)c(C)c1", printStereoWarnings=False) +smiles(R"O=C(CCC1CCCCC1)O[C@H]1CC[C@H](CC1)C(C)C", printStereoWarnings=False) +smiles(R"O=C(/C=C/c1ccccc1)O[C@@H](COC(=O)/C=C/c1ccccc1)COC(=O)/C=C/c1ccccc1", printStereoWarnings=False) +smiles(R"O=C(/C=C/c1cccnc1)[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"O=C(/C=C/c1cccnc1)[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"O=C(/C=C/c1ccco1)[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"O=C(/C=C/c1ccco1)[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"O=C(/C=C/c1cccs1)[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"O=C(/C=C/c1cccs1)[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"O=C(CCc1nnc2s/c(=C\c3ccc4OCOc4c3)/c(=O)n12)Nc1cc(Cl)ccc1Cl", printStereoWarnings=False) +smiles(R"O=C(CCc1nnc2s/c(=C\c3ccccc3Cl)/c(=O)n12)Nc1cc(Cl)ccc1Cl", printStereoWarnings=False) +smiles(R"O=C(CCc1nnc2s/c(=C\c3ccccc3)/c(=O)n12)Nc1cc(Cl)ccc1Cl", printStereoWarnings=False) +smiles(R"O=C(CCc1nnc2s/c(=C\c3ccc(cc3)N(C)C)/c(=O)n12)Nc1c(C)cccc1C", printStereoWarnings=False) +smiles(R"O=C(CCc1nnc2s/c(=C\c3cccc(c3)[N+](=O)[O-])/c(=O)n12)Nc1ccc(C)cc1", printStereoWarnings=False) +smiles(R"O=C(CCc1nnc2s/c(=C\c3ccc(cc3)[N+](=O)[O-])/c(=O)n12)Nc1ccc(Cl)c(Cl)c1", printStereoWarnings=False) +smiles(R"O=C(CCc1nnc2s/c(=C/c3ccccc3[N+](=O)[O-])/c(=O)n12)Nc1cc(Cl)c(Cl)cc1Cl", printStereoWarnings=False) +smiles(R"O=C(CCc1nnc2s/c(=C\c3ccc(Cl)c(Cl)c3)/c(=O)n12)Nc1ccc(Cl)c(Cl)c1", printStereoWarnings=False) +smiles(R"O=C(CCc1nnc2s/c(=C\C=C\c3ccccc3)/c(=O)n12)Nc1ccc(C)cc1", printStereoWarnings=False) +smiles(R"O=C(CCc1n[nH]c2s/c(=C\c3cccc(c3)[N+](=O)[O-])/c(=O)n12)Nc1ccc(C)cc1", printStereoWarnings=False) +smiles(R"O=C(CCc1n[nH]c2s/c(=C\c3ccc(cc3)[N+](=O)[O-])/c(=O)n12)Nc1ccc(Cl)c(Cl)c1", printStereoWarnings=False) +smiles(R"O=C(CCc1n[nH]c2s/c(=C/c3ccccc3[N+](=O)[O-])/c(=O)n12)Nc1cc(Cl)c(Cl)cc1Cl", printStereoWarnings=False) +smiles(R"OCCC[C@@]1(O)C[C@@H](CC[C@@]21OCCO2)C(C)(C)C", printStereoWarnings=False) +smiles(R"O=C(CCCCCCCCc1ccn2c(=c3cc(C)ccn3[Ru+2]342(n2ccccc2=c2ccccn32)n2ccccc2=c2ccccn42)c1)NC1C2CC3CC(C2)CC1C3", printStereoWarnings=False) +smiles(R"OCCCCCCCCCCCOc1ccc(cc1)[C@H]1OC[C@@]2(CO1)CO[C@@H](OC2)c1ccc(OCCCCCCCCCCCO)cc1", printStereoWarnings=False) +smiles(R"O=C(CCCCCCC(=O)C[N@+]12CC[C@H](CC1)[C@@H](O)C2)C[N@+]12CC[C@H](CC1)[C@@H](O)C2", printStereoWarnings=False) +smiles(R"O=CC/C=C/C=C(\NC(=O)C)/S[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"O=C(CCCCC(=O)N/N=C(/C)\c1ccc(C)cc1)N/N=C(\C)/c1ccc(C)cc1", printStereoWarnings=False) +smiles(R"O=C(CCCCC(=O)O[C@H](CC[C@@H]1CCCO1)CC[C@H]1CCCO1)O[C@@H](CC[C@@H]1CCCO1)CC[C@@H]1CCCO1", printStereoWarnings=False) +smiles(R"OCCCC[C@H]1CO[C@@]2(CCCC2)O1", printStereoWarnings=False) +smiles(R"OCCCC[C@@H]([C@@H](C(=O)C)C(=O)OCC)[C@@H](C(=O)C)C(=O)OCC", printStereoWarnings=False) +smiles(R"O=CC/C=C/[C@@H](OC(=O)C)[C@@H](NC(=O)C)S[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"O=C(CCCCn1ccccc1)Sc1ccccc1C(=O)Nc1ccc(cc1)S(=O)(=O)c1ccc(cc1)N(=O)O", printStereoWarnings=False) +smiles(R"O=C(CCCCn1ccccc1)Sc1ccccc1C(=O)Nc1ccc(cc1)S(=O)(=O)c1ccc(cc1)NS(=O)(=O)Cc1ccccc1N(=O)O", printStereoWarnings=False) +smiles(R"O=C(CCCCn1ccccc1)Sc1ccccc1C(=O)Nc1ccc(cc1)S(=O)(=O)NC(=O)C", printStereoWarnings=False) +smiles(R"O=C(CCCCn1ccccc1)Sc1ccccc1C(=O)NCc1ccc(cc1)S(=O)(=O)N", printStereoWarnings=False) +smiles(R"O=C(CCCC(=O)N/N=C(\C)/c1ccccc1)N/N=C(/C)\c1ccccc1", printStereoWarnings=False) +smiles(R"O=C(CC[C@@H](C)[C@H]1CC[C@@H]2[C@@H]3CC[C@@H]4C[C@@H](O)CC[C@@]4(C)[C@@H]3C[C@@H](O)[C@@]12C)Nc1ccc(cc1)[S@](=O)(=O)c1ccc(cc1)NC(=O)CC[C@H](C)[C@@H]1CC[C@@H]2[C@@H]3CC[C@@H]4C[C@@H](O)CC[C@@]4(C)[C@@H]3C[C@@H](O)[C@@]12C", printStereoWarnings=False) +smiles(R"OCC(C)(CO)N1C(=O)[C@H]2[C@@H]3c4ccccc4[C@@H](c4ccccc34)[C@H]2C1=O", printStereoWarnings=False) +smiles(R"OCC[C@H]1CCN(CC/C=C/2\c3cc(ccc3Sc3cc(F)ccc23)C(F)(F)F)CC1", printStereoWarnings=False) +smiles(R"OCCCN1CC[C@@]2(CC1)SS[C@]1(CCN(CCCO)CC1)S2", printStereoWarnings=False) +smiles(R"O=C(CCN1C[C@H]2CC[C@H](CC2)C1)c1ccccc1", printStereoWarnings=False) +smiles(R"O[C@](CCN1C[C@@H]2CC[C@@H](CC2)C1)(c1ccccc1)c1cccs1", printStereoWarnings=False) +smiles(R"O=C(CCN1C[C@@H]2CC[C@@H](CC2)C1)c1ccccc1O", printStereoWarnings=False) +smiles(R"O=C(CCN1C[C@H]2CC[C@H](CC2)C1)c1ccco1", printStereoWarnings=False) +smiles(R"O=C(CCN1C[C@H]2CC[C@H](CC2)C1)c1cccs1", printStereoWarnings=False) +smiles(R"O[C@](CCN1C[C@@H]2CC[C@@H](CC2)C1)(Cc1ccccc1)c1cccc2ccccc12", printStereoWarnings=False) +smiles(R"O[C@@](CCN1C[C@@H]2CC[C@@H](CC2)C1)(Cc1ccccc1)c1ccccc1", printStereoWarnings=False) +smiles(R"O[C@](CCN1C[C@@H]2CC[C@@H](CC2)C1)(Cc1ccccc1)c1ccco1", printStereoWarnings=False) +smiles(R"O[C@@](CCN1C[C@@H]2CC[C@@H](CC2)C1)(Cc1ccccc1)c1cccs1", printStereoWarnings=False) +smiles(R"O=C/C=C(/N(C)C)\[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"O=C/C=C(/N(C)C)\[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"O=C(CCN(C(C)C)C(C)C)C[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"O=C(CC(=O)c1ccccc1)C(=O)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"O=C(CC(=O)c1sc(Nc2ccccc2)nc1C)C(=O)N[C@@H]1[C@H]2C[C@@H]3C[C@H](C2)C[C@H]1C3", printStereoWarnings=False) +smiles(R"O=C(C[C@](O)(CCc1ccccc1)c1ccccc1)N1CC[C@@](O)(CC1)c1ccccc1", printStereoWarnings=False) +smiles(R"O=C(CC(=O)N1N=C(C)[C@H](/N=N/c2ccc(cc2)[S@](=O)(=O)c2ccc(/N=N/[C@H]3C(=NN(C(=O)CC(=O)Nc4ccccc4Cl)C3=O)C)cc2)C1=O)Nc1ccccc1Cl", printStereoWarnings=False) +smiles(R"O=C(CCSCCC(=O)N/N=C(/C)\c1ccccc1)N/N=C(\C)/c1ccccc1", printStereoWarnings=False) +smiles(R"O=C(CCSCCC(=O)N/N=C(/C)\c1ccc(cc1)OC(=O)C)N/N=C(\C)/c1ccc(cc1)OC(=O)C", printStereoWarnings=False) +smiles(R"O=C(CCSCCC(=O)N/N=C(/C)\c1ccccc1O)N/N=C(\C)/c1ccccc1O", printStereoWarnings=False) +smiles(R"O=C(CCSCCC(=O)N/N=C(/C)\c1ccc(cc1)OS(=O)(=O)C)N/N=C(\C)/c1ccc(cc1)OS(=O)(=O)C", printStereoWarnings=False) +smiles(R"OC[C@@H]1C[C@@]21c1ccccc1c1ccccc21", printStereoWarnings=False) +smiles(R"O=C([C@H]1CC[C@@H](CC1)c1ccccc1)c1ccccc1", printStereoWarnings=False) +smiles(R"OC[C@@H]1CC/C(=N\Nc2ccc(cc2[N+](=O)[O-])[N+](=O)[O-])/CC1", printStereoWarnings=False) +smiles(R"OC[C@H]1CC/C(=N/Nc2ccc(cc2[N+](=O)[O-])[N+](=O)[O-])/CC1", printStereoWarnings=False) +smiles(R"O=C[C@@H]1C[C@H]2c3ccccc3[C@@H]1c1ccccc21", printStereoWarnings=False) +smiles(R"OC[C@H]1C[C@H]2c3ccccc3[C@@H]1c1ccccc21", printStereoWarnings=False) +smiles(R"OC[C@@H]1C[C@H]2C[C@@H]1[C@]1(OCCO1)C2", printStereoWarnings=False) +smiles(R"OC[C@@H]1C[C@H](C[C@H]1CO)n1ccc(=N)[nH]c1=O", printStereoWarnings=False) +smiles(R"OC[C@@H]1C[C@H](C[C@H]1CO)n1ccc(=O)[nH]c1=O", printStereoWarnings=False) +smiles(R"OC[C@H]1C[C@](O)(CNc2cc(Cl)nc(N)n2)C1", printStereoWarnings=False) +smiles(R"OC[C@H]1[C@@H](CO)[C@]1(c1ccccc1)c1ccccc1", printStereoWarnings=False) +smiles(R"OC[C@@H]1[C@@H](CO)[C@]2(Cl)C(=C(Cl)[C@@]1(Cl)[C@@]2(Cl)Cl)Cl", printStereoWarnings=False) +smiles(R"OC[C@H]1[C@@H](CO)[C@H]2c3ccccc3[C@@H]1c1ccccc21", printStereoWarnings=False) +smiles(R"OC[C@@H]1[C@@H](CO)[C@@H]2CC[C@H]1[C@]2(c1ccccc1)c1ccccc1", printStereoWarnings=False) +smiles(R"OC[C@@H]1[C@H](CO)[C@@H]2CC[C@H]1[C@@]2(Cc1ccccc1)Cc1ccccc1", printStereoWarnings=False) +smiles(R"OC[C@@H]1CO[C@H](O1)c1ccccc1", printStereoWarnings=False) +smiles(R"OC[C@@H]1CO[C@H](O1)C(CC)CC", printStereoWarnings=False) +smiles(R"OC[C@H]1N[Pt@](Cl)(Cl)N[C@H]1CO", printStereoWarnings=False) +smiles(R"OC[C@H]1O[C@H]1CC[C@H]1O[C@](C)(C)O[C@H]1CC[C@@H]1O[C@@H]1CO", printStereoWarnings=False) +smiles(R"OC[C@@H]1O[C@@H](c2cnn(n2)c2ccccc2)[C@H](O)[C@H]1O", printStereoWarnings=False) +smiles(R"OC[C@H]1O[C@@H](C[C@@H]1O)n1cc(C)c(NC[C@]23C[C@@H]4C[C@@H](C[C@@H](C4)C3)C2)nc1=O", printStereoWarnings=False) +smiles(R"OC[C@@H]1O[C@H](C[C@@H]1O)n1c(=O)[nH]c(=O)c2nc3c(ccc4cc5ccccc5cc34)nc12", printStereoWarnings=False) +smiles(R"OC[C@@H]1O[C@H]([C@@H]2OP(=O)(O[C@H]12)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)n1cc(Br)c(=O)[nH]c1=O", printStereoWarnings=False) +smiles(R"OC[C@@H]1O[C@H]([C@@H]2OP(=O)(O[C@H]12)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)n1cc(F)c(=O)[nH]c1=O", printStereoWarnings=False) +smiles(R"OC[C@@H]1O[C@H]([C@@H]2OP(=O)(O[C@H]12)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)n1ncc(=O)[nH]c1=O", printStereoWarnings=False) +smiles(R"OC[C@@H]1O[C@@H]([C@H](O)[C@@H]1O)c1cnn2c(=O)[nH]ncc12", printStereoWarnings=False) +smiles(R"OC[C@H]1O[C@@H]([C@@H](O)[C@@H]1O)n1ccc(cc1=O)OC(=O)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"OC[C@H]1O[C@@H]([C@@H](O)[C@@H]1O)n1ccc(NC[C@]23C[C@@H]4C[C@@H](C[C@@H](C4)C3)C2)nc1=O", printStereoWarnings=False) +smiles(R"OC[C@H]1O[C@@H]([C@H](O)[C@H]1O)n1ccc(N)[n+](c1=O)[Pt@](I)(I)[n+]1c(N)ccn([C@H]2O[C@H](CO)[C@H](O)[C@H]2O)c1=O", printStereoWarnings=False) +smiles(R"OC[C@H]1O[C@@H]([C@H](O)[C@H]1O)n1c[n+](c2c(O)ncnc12)[Pt@@](N)(N)[n+]1cn([C@H]2O[C@H](CO)[C@H](O)[C@H]2O)c2ncnc(O)c12", printStereoWarnings=False) +smiles(R"OC[C@@H]1O[C@H]([C@@H](O)[C@H]1O)n1c(=O)[nH]/c(=N)/[nH]c1=O", printStereoWarnings=False) +smiles(R"OC[C@@H]1O[C@H](OC[C@@H](O)[C@@H](O)[C@@H](O)c2cnn(n2)c2ccccc2)[C@@H](O)[C@H](O)[C@H]1O", printStereoWarnings=False) +smiles(R"OC[C@H]1O[C@H](OC[C@H](O)[C@H](O)[C@H](O)c2cnn(n2)c2ccccc2)[C@H](O)[C@H](O)[C@H]1O", printStereoWarnings=False) +smiles(R"OC[C@@H]1O[C@H](O[C@@H](CO)[C@H]2O[C@@H](O[C@H]12)c1ccccc1)c1ccccc1", printStereoWarnings=False) +smiles(R"OC[C@H]1O[C@H](O)[C@H](N[Pt@](Cl)(Cl)N[C@@H]2[C@@H](O)O[C@H](CO)[C@H](O)[C@H]2O)[C@@H](O)[C@@H]1O", printStereoWarnings=False) +smiles(R"OC[C@@H]1O[C@H](O)[C@@H](O)[C@H](O)[C@@H]1O", printStereoWarnings=False) +smiles(R"OC[C@@H](C)CCC(=O)[C@H](C)[C@@H]1[C@]2(SCCS2)C[C@@H]2[C@H]3CC[C@@H]4C[C@@H](O)CC[C@@]4(C)[C@@H]3CC[C@]12C", printStereoWarnings=False) +smiles(R"OC[C@H](/N=C/[C@-]12[Fe+2]3456789([C-]%10C5=C4C3=C6%10)C(=C29)C7=C18)[C@@H](O)c1ccc(cc1)[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"OC[C@H](/N=C/[C@@-]12[Fe+2]3456789([C-]%10C5=C4C3=C6%10)C(=C29)C7=C18)[C@@H](O)c1ccc(cc1)[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"OC[C@@H](O)[C@@H]1O[C@@](C)(C)O[C@@H]1[C@H](O)CO", printStereoWarnings=False) +smiles(R"OC[C@@H](O)[C@H]1OC(=O)C(=C1O)Nc1ccc(cc1)[S@](=O)(=O)c1ccc(cc1)NC1=C(O)[C@H](OC1=O)[C@@H](O)CO", printStereoWarnings=False) +smiles(R"OC[C@@H](O)[C@@H]1OC(=O)C(=C1O)[O-]", printStereoWarnings=False) +smiles(R"OC[C@@H](O)[C@@H](O)c1cnn(n1)c1ccccc1", printStereoWarnings=False) +smiles(R"OC[C@H](O)[C@H](O)c1cnn(n1)c1ccccc1", printStereoWarnings=False) +smiles(R"OC[C@@H](O)[C@H](O[C@H]1O[C@@H](CO)[C@H](O)[C@@H](O)[C@@H]1O)[C@@H](O)c1cnn(n1)c1ccccc1", printStereoWarnings=False) +smiles(R"OC[C@H](O)[C@H](O)[C@H](O)c1cnn(n1)c1ccc(Br)cc1", printStereoWarnings=False) +smiles(R"OC[C@@H](O)[C@@H](O)[C@@H](O)c1cnn(n1)c1ccccc1", printStereoWarnings=False) +smiles(R"OC[C@H](O)[C@H](O)[C@H](O)c1cnn(n1)c1ccccc1", printStereoWarnings=False) +smiles(R"OC[C@H](O)[C@H](O)[C@@H](O)c1nnc2n[nH]c(=S)n2n1", printStereoWarnings=False) +smiles(R"OC[C@@H](O)[C@@H](O)[C@@H](O)[C@@H](N)c1nnc2n[nH]c(=S)n2n1", printStereoWarnings=False) +smiles(R"OC[C@@H](O)[C@@H](O)[C@@H](O)[C@@H](O)c1cnn(n1)c1ccccc1", printStereoWarnings=False) +smiles(R"OC[C@H](O)[C@H](O)[C@H](O)[C@@H](O)c1nnc2n[nH]c(=S)n2n1", printStereoWarnings=False) +smiles(R"OC[C@@H](O)[C@@H](O)[C@@H](O)[C@@H](O)[C@@H]1N[C@H]2C[S+]1[Pd@+2]1([OH+]C(=O)[C@H]3C[S+]1[C@@H](N3)[C@@H](O)[C@@H](O)[C@@H](O)[C@@H](O)CO)[OH+]C2=O", printStereoWarnings=False) +smiles(R"OC[C@@H](O)[C@@H](O)[C@@H](O)[C@@H](O)[C@@H]1N[C@H]2C[S+]1[Pd@+2]1([OH+]C(=O)[C@@H]3N[C@@H]([C@@H](O)[C@@H](O)[C@@H](O)[C@@H](O)CO)[S+]1C3)[OH+]C2=O", printStereoWarnings=False) +smiles(R"OC[C@@H](O)[C@@H](O)[C@@H](O)[C@@H](O)[C@H](Nc1ccc(cc1)[S@@](=O)(=O)c1ccc(cc1)N[C@@H]([C@@H](O)[C@@H](O)[C@@H](O)[C@@H](O)CO)S(=O)(=O)O)S(=O)(=O)O", printStereoWarnings=False) +smiles(R"O=C[C@H](O)[C@@H](O)[C@@H](O)[C@H](O)CON1C[C@H](O)[C@H](O)[C@@H](O)C1", printStereoWarnings=False) +smiles(R"OC[C@@H](O)[C@@H](O)[C@@H](O)[C@@H](O)C(=O)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"OC[C@@H](O)[C@@H](O)[C@@H](O)[C@@H](O)C(=O)O[Pt@]1(NC[C@H](C)N1)OC(=O)[C@H](O)[C@H](O)[C@H](O)[C@H](O)CO", printStereoWarnings=False) +smiles(R"OC[C@H](O)[C@H](O)[C@@H](O)CO", printStereoWarnings=False) +smiles(R"OC[C@@H](O)COc1ccc2c(no[n+]2[O-])c1", printStereoWarnings=False) +smiles(R"OC[C@@H](O)COc1ccc2c(NO[N+]2[O-])c1", printStereoWarnings=False) +smiles(R"OC[C@@H](O)C(=O)O[Pt@]1(N[C@@H]2CCCC[C@@H]2N1)OC(=O)[C@H](O)CO", printStereoWarnings=False) +smiles(R"OC[C@H](O)COP1(=O)O[Pt@@]2(N[C@H]3CCCC[C@@H]3N2)O1", printStereoWarnings=False) +smiles(R"OCC[N@@+]12CCO[Ni+2]342(OCC1)OCC[N@+]4(CCO)CCO3", printStereoWarnings=False) +smiles(R"OCC[N@+]12CCO[Ni+2]342(OCC1)OCC[N@@+]4(CCO)CCO3", printStereoWarnings=False) +smiles(R"OCC[N@+]12CN3CN(CN(C3)C2)C1", printStereoWarnings=False) +smiles(R"O=C(C[N@@+]12CN3CN(CN(C3)C2)C1)c1ccc2ccccc2c1", printStereoWarnings=False) +smiles(R"O=C(C[N@@+]12CN3CN(CN(C3)C2)C1)c1ccc2CCCCc2c1", printStereoWarnings=False) +smiles(R"O=C(C[N@+]12CN3CN(CN(C3)C2)C1)c1cccc2ccccc12", printStereoWarnings=False) +smiles(R"O=C(C[N@@+]12CN3CN(CN(C3)C2)C1)c1ccccc1", printStereoWarnings=False) +smiles(R"O=C(C[N@@+]12CN3CN(CN(C3)C2)C1)c1ccc(cc1)c1ccccc1", printStereoWarnings=False) +smiles(R"O=C(C[N@+]12CN3CN(CN(C3)C2)C1)c1cccc(c1)[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"O=C(C[N+]12CN3CN(CN(C3)C2)C1)c1cccc(c1)[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"O=C(C[N@@+]12CN3CN(CN(C3)C2)C1)c1ccc(O)c(O)c1", printStereoWarnings=False) +smiles(R"O=C(Cn1c2ccccc2n(CC(=O)NC23C[C@@H]4C[C@@H](C[C@@H](C4)C3)C2)c1=N)NC12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"OCCN1CC[C@]2(CC1)SS[C@]1(CCN(CCO)CC1)S2", printStereoWarnings=False) +smiles(R"O=C(Cn1cc(F)c(=O)[nH]c1=O)N1CC[C@]2(CC1)SS[C@@]1(CCN(CC1)C(=O)Cn1cc(F)c(=O)[nH]c1=O)S2", printStereoWarnings=False) +smiles(R"O=C(CN1C[C@@H]2CC[C@@H](CC2)C1)N1c2ccccc2NC(=O)C1(C)C", printStereoWarnings=False) +smiles(R"OCCN1CCN(CC1)c1ccc2nonc2c1[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"OCCN1CCN(CC1)c1ccc2NONc2c1[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"O=C(CN1CCN(CC1)c1ccccn1)O[C@H]1[C@@H](OC(=O)CN2CCN(CC2)c2ccccn2)[C@H](OC(=O)CN2CCN(CC2)c2ccccn2)[C@H](OC(=O)CN2CCN(CC2)c2ccccn2)[C@@H](OC(=O)CN2CCN(CC2)c2ccccn2)[C@H]1OC(=O)CN1CCN(CC1)c1ccccn1", printStereoWarnings=False) +smiles(R"OCCN1CCN(CC1)c1ccnc2ccc3nn(C)nc3c12", printStereoWarnings=False) +smiles(R"O=C(Cn1cnc2n(C)c(=O)n(C)c(=O)c12)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"O=C(Cn1c(=N)[nH]c2ccccc12)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"OCCN1NC(C)C(C1C1[CH][CH][CH][CH][CH]1)N1ON1C1C(C)NN(CCO)C1C1[CH][CH][CH][CH][CH]1", printStereoWarnings=False) +smiles(R"OCCN1N=C(C[C@H]1[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82)[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"OCCN1N=C(C[C@H]1[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82)[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"OCCN[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"OCCN(C[C@@H]1[C@H](c2ccccc2)[C@H]1c1ccccc1)C1CCCCC1", printStereoWarnings=False) +smiles(R"OCCNCCNc1ccc2nnn3c2c1c(=O)c1ccccc31", printStereoWarnings=False) +smiles(R"OCCNCCNc1ccc2nnn3c2c1c(=O)c1cc(Cl)ccc31", printStereoWarnings=False) +smiles(R"OCCNCCNc1ccc2nnn3c2c1c(=O)c1cc(O)ccc31", printStereoWarnings=False) +smiles(R"OCCNCC/N=C\1/CC/C(=N/CCNCCO)/CC1", printStereoWarnings=False) +smiles(R"OCCNCCNc1ccnc2ccc3nn(C)nc3c12", printStereoWarnings=False) +smiles(R"OCCN(CCO)c1ccnc2ccc3nn(C)nc3c12", printStereoWarnings=False) +smiles(R"OCCN(CCO)C(=O)c1ccc2c(no[n+]2[O-])c1", printStereoWarnings=False) +smiles(R"OCCN(CCO)C(=O)c1ccc2[N+]([O-])ONc2c1", printStereoWarnings=False) +smiles(R"O=C(CNC(=O)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1)NC[C@H]1CC1(Cl)Cl", printStereoWarnings=False) +smiles(R"OCCNC(=O)c1ccc2c(no[n+]2[O-])c1", printStereoWarnings=False) +smiles(R"OCCNC(=O)c1ccc2c(NO[N+]2[O-])c1", printStereoWarnings=False) +smiles(R"OCCNC(=O)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"O=CC(=O)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"O=C(COc1ccc(Cl)cc1Cl)O[C@H]1[C@H](OC(=O)COc2ccc(Cl)cc2Cl)[C@@H](OC(=O)COc2ccc(Cl)cc2Cl)[C@H](OC(=O)COc2ccc(Cl)cc2Cl)[C@@H](OC(=O)COc2ccc(Cl)cc2Cl)[C@@H]1OC(=O)COc1ccc(Cl)cc1Cl", printStereoWarnings=False) +smiles(R"OCCOc1nc(nc(NS(=O)(=O)c2ccc(cn2)C(C)C)c1Oc1ccccc1OC)c1ccnc(c1)c1nn[nH]n1", printStereoWarnings=False) +smiles(R"OCCOC[C@H]1O[C@@](C)(C)O[C@H]1COCCO", printStereoWarnings=False) +smiles(R"OCCO[C@H]1[C@]2(CCCCC2)NC(=O)[C@@]21CCCCC2", printStereoWarnings=False) +smiles(R"OCCO[C@H]1[C@@]2(CCCCC2)NC(=O)[C@@]21CCCCC2", printStereoWarnings=False) +smiles(R"O=C(COC(=O)c1ccc2c(c1)C(=O)N(c1ccc(Cl)cc1)C2=O)N[C@H]1CC[N@@H+](CC1)C1CC1", printStereoWarnings=False) +smiles(R"OCCOC(=O)[C@H]1C[C@@H]2C[C@H]1[C@@]1(OCCO1)C2", printStereoWarnings=False) +smiles(R"O=C(C(=O)NC12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)c1c[nH]c2ccc(cc12)[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"O=C(C(=O)NC12C[C@H]3C[C@H](C[C@H](C3)C2)C1)c1c[nH]c2ccc(cc12)[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"O=C(C=P(c1ccccc1)(c1ccccc1)c1ccccc1)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"[O+]#C[Cr]12345(C#[O+])(C#[O+])C6=C1C3=C5(NC(C)(C)C)C4=C26", printStereoWarnings=False) +smiles(R"[O+]#C[Cr]12345(C#[O+])(C#[O+])C6=C2C4=C5(N(C)C)C3=C16", printStereoWarnings=False) +smiles(R"[O+]#C[Cr]12345(C#[O+])(C#[O+])C6=C2C5(=C3C1=C46/C=C/c1ccc(cc1)[N+](=O)[O-])C(F)(F)F", printStereoWarnings=False) +smiles(R"[O+]#C[Cr]12345(C#[O+])(C#[O+])C6=C4(/C=C/c4ccc(cc4)[N+](=O)[O-])C1=C3C5(=C26)C(F)(F)F", printStereoWarnings=False) +smiles(R"[O+]#C[Cr](C#[O+])(C#[O+])(C#[O+])(C#[O+])/[S+]=C\1/[C@H]2C[C@@H]3C[C@H](C2)C[C@H]1C3", printStereoWarnings=False) # smiles(R"[O+]#C[Cr]12345(C#[O+])(C#[O+])C6=C1C3(=C5(N)C4(=C26)C)C", printStereoWarnings=False) +smiles(R"OCC[S@@]1(=O)CC[S@@](=O)(CCO)[Pd@@]1(Cl)Cl", printStereoWarnings=False) +smiles(R"O=C(CSCC(=O)N/N=C(\C)/c1ccccc1)N/N=C(/C)\c1ccccc1", printStereoWarnings=False) +smiles(R"[O+]#C[Fe]12345(C#[O+])(C6=C2C3=C1[C@@H]46)C1=C5(C)[C@H]2[C@@H](CC3=C4C5=C2[Fe+]345(C#[O+])(C#[O+])C#[O+])C1", printStereoWarnings=False) +smiles(R"[O+]#C[Fe]12345(C#[O+])(C6=C2C3=C1[C@H]46)C1=C5(C)[C@H]2[C@@H](CC3=C4C5=C2[Fe+]345(C#[O+])(C#[O+])C#[O+])C1", printStereoWarnings=False) +smiles(R"[O+]#C[Fe]1234([C@@H]5C3=C2C1=C45)([C@@H]1CNC(=O)C1(C)C)P(c1ccccc1)(c1ccccc1)c1ccccc1", printStereoWarnings=False) +smiles(R"[O+]#C[Fe]1234(C#[O+])(C5=C2C3=C1[C@H]45)[C@@H]1COC(C(F)(F)F)(C(F)(F)F)C1(C)C", printStereoWarnings=False) +smiles(R"[O+]#C[Fe]1234(C#[O+])(C[C@]56CC[C@@H](CC6=O)C5)[C@H]5C3=C2C1=C45", printStereoWarnings=False) +smiles(R"[O+]#C[Fe+]1234(C#[O+])(/C=C/CCCC/C=C/[Fe+]5678(C#[O+])(C#[O+])C9=C6C7=C5[C@@H]89)C5=C3C2=C1[C@H]45", printStereoWarnings=False) +smiles(R"[O+]#C[Fe+]1234(C#[O+])(/C=C/CCCC/C=C/[Fe+]5678(C#[O+])(C#[O+])C9=C6C7=C5[C@H]89)C5=C3C2=C1[C@H]45", printStereoWarnings=False) +smiles(R"[O+]#C[Fe+]1234(C#[O+])(/C=C/CCC/C=C/[Fe+]5678(C#[O+])(C#[O+])[C@H]9C7=C6C5=C89)[C@@H]5C3=C2C1=C45", printStereoWarnings=False) +smiles(R"[O+]#C[Fe+]1234(C#[O+])(/C=C/CCC/C=C/[Fe+]5678(C#[O+])(C#[O+])[C@H]9C7=C6C5=C89)[C@H]5C3=C2C1=C45", printStereoWarnings=False) +smiles(R"[O+]#C[Fe]123(C#[O+])(C#[O+])C4=C2C3(=C14)S(=O)(=O)Cl", printStereoWarnings=False) +smiles(R"O[C@H]1[C@]2(CCCC2)[C@@H](O)[C@@]21CCCC2", printStereoWarnings=False) +smiles(R"O[C@H]1[C@@]2(SCCS2)CC[C@]2(C)CCCC[C@@]12C", printStereoWarnings=False) +smiles(R"O[C@H]1C[C@@]2(SCCS2)CC2(SCCS2)C1", printStereoWarnings=False) +smiles(R"O[C@@H]1CC[C@]23C4=C5C6=C2[Fe]27893456C3=C8[C@]19C7=C23", printStereoWarnings=False) +smiles(R"O[C@@H]1CC[C@]2(CC1)NC(=O)[C@@]1(CCCCC1)[C@]2(O)c1ccccc1", printStereoWarnings=False) +smiles(R"O[C@H]1/C(=C/c2ccccc2)/CNC/C/1=C\c1ccccc1", printStereoWarnings=False) +smiles(R"O[C@@H]1CC[C@]2(C)C(=CCC[C@@]32OCCO3)C1(C)C", printStereoWarnings=False) +smiles(R"O[C@@H]1CC[C@@]2(OCCO2)C[C@H]1C", printStereoWarnings=False) +smiles(R"O[C@@H]1CCC[C@@]21CCCC2", printStereoWarnings=False) +smiles(R"O[C@H]1CCCCCCCCCC[C@@]21OCCO2", printStereoWarnings=False) +smiles(R"O[C@@H]1C[C@](C)(C)C[C@H](O)C1(C)C", printStereoWarnings=False) +smiles(R"O[C@@H]1CCCC[C@@H]2[C@@H]1C(=O)N[C@@]12CCCCC1", printStereoWarnings=False) +smiles(R"O[C@@H]1CCCC[C@@H]2[C@@H]1NC(=O)[C@]12CCCCC1", printStereoWarnings=False) +smiles(R"O[C@@H]1C(C)(C)[C@H](O)[C@]1(C)C", printStereoWarnings=False) +smiles(R"O[C@H]1CC(=C[C@@H](O)[C@H]1O)C(=O)[OH+][Pt@@+2]1(N[C@@H]2CCCC[C@@H]2N1)[OH+]C(=O)C1=C[C@@H](O)[C@@H](O)[C@@H](O)C1", printStereoWarnings=False) +smiles(R"O[C@H]1CC[C@@H]2[C@@H]3CC[C@@H]4Cc5nc6C[C@@]7(C)[C@@H](CC[C@@H]8[C@@H]9CC[C@H](O)[C@@]9(C)CC[C@H]78)Cc6nc5C[C@@]4(C)[C@@H]3CC[C@@]12C", printStereoWarnings=False) +smiles(R"O[C@@H]1CC[C@H](CC1)C(C)C", printStereoWarnings=False) +smiles(R"O[C@@H]1CC[C@@H](CC1)C(C)(C)[C@@H]1CC[C@H](O)CC1", printStereoWarnings=False) +smiles(R"O[C@H]1CC[C@H](CC1)C(C)(C)[C@@H]1CC[C@H](O)CC1", printStereoWarnings=False) +smiles(R"O[C@H]1CC[C@@H](CC1)[C@H]1[C@H]([C@H]2CC[C@@H](O)CC2)[C@H]2CCCC[C@@H]2[C@@H]2CCCC[C@H]12", printStereoWarnings=False) +smiles(R"O[C@H]1CC[C@@H](CC1)N1C(=O)c2ccccc2C1=O", printStereoWarnings=False) +smiles(R"O[C@H]1CC[C@H](CC1)NS(=O)(=O)c1ccc(N)cc1", printStereoWarnings=False) +smiles(R"O[C@@H]1CCCN(C)[C@@H]1CN[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"O[C@@H]1CCCN[C@@H]1CN(C)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"O[C@@H]1C[C@@H]2c3ccccc3[C@H]1c1ccccc21", printStereoWarnings=False) +smiles(R"O[C@@H]1C[C@@H]2CC[C@H]1[C@]12OCCO1", printStereoWarnings=False) +smiles(R"O[C@H]1C[C@@H]2N[Pt@@](Cl)(Cl)N[C@H]2C[C@H]1O", printStereoWarnings=False) +smiles(R"O[C@H]1C[C@H](c2ccccc2)[C@@]2([C@H](O)c3ccccc3[C@H]2O)[C@@H](C1)c1ccccc1", printStereoWarnings=False) +smiles(R"O[C@@H]1C[C@@H](c2ccccc2)N(C)[C@@H](C1)c1ccccc1", printStereoWarnings=False) +smiles(R"O[C@@H]1C[C@@H](C[Hg]OC(=O)c2ccccc2)O[C@H](C[Hg]OC(=O)c2ccccc2)C1", printStereoWarnings=False) +smiles(R"O[C@H]1CCN(CC1)C1(CCCCC1)c1ccccc1", printStereoWarnings=False) +smiles(R"O[C@@H]1CCN(CC1)C[C@@H]1NC(=O)[C@H](CN2CC[C@H](O)CC2)NC1=O", printStereoWarnings=False) +smiles(R"O[C@@H]1CCN(Cc2ccccc2)C[C@@H]1CN[C@@]12C[C@@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"O[C@@H]1CCN(Cc2ccccc2)C[C@H]1CN[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"O[C@H]1CCN(Cc2ccccc2)C[C@@H]1CN(C(=O)C)[C@@]12C[C@@H]3C[C@@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"O[C@@H]1CCNC[C@@H]1CNC12C[C@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"O[C@@H]1CCN(C[C@H]1CN[C@@]12C[C@@H]3C[C@H](C[C@H](C3)C2)C1)C(=O)OCc1ccccc1", printStereoWarnings=False) +smiles(R"O[C@@H]1[C@@H]2[C@]3(C)O[C@]4(C)[C@H]1[C@]1(C)O[C@@]2(C)[C@H]3[C@@H](O)[C@H]41", printStereoWarnings=False) +smiles(R"O[C@H]1[C@@H]2[C@]3(C)O[C@@]4(C)[C@H]5C[C@@H]3[C@]2(C)O[C@@]5(C)[C@@H]14", printStereoWarnings=False) +smiles(R"O[C@@H]1[C@@H]2CCC[C@H]1[C@@]1(O)CCCC[C@@H]1[C@]12CCCCC1", printStereoWarnings=False) +smiles(R"O[C@H]1[C@H]2CCN(CC2)[C@H]1CN1CCC(=CC1)c1ccccc1", printStereoWarnings=False) +smiles(R"O[C@H]1[C@@H]2CCN(CC2)[C@@H]1CN[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"O[C@@H]1[C@H]2[C@@H]3CC[C@@H](C3)[C@@H]2[C@@H](C2OCCO2)[C@@H]2[C@H]3CC[C@H](CC3)[C@H]12", printStereoWarnings=False) +smiles(R"O[C@H]1[C@@H]2CN3CCN(C2)C[C@@]1(C3)c1ccccc1", printStereoWarnings=False) +smiles(R"O[C@@H]1[C@@H](C)[C@H](N[C@H](c2ccccc2)[C@@H]1C)c1ccccc1", printStereoWarnings=False) +smiles(R"O[C@@H]1[C@@H](COC(=O)[C@]23C[C@@H]4C[C@@H](C[C@@H](C4)C3)C2)O[C@@H]([C@H]1O)n1cnc2c(N)ncnc12", printStereoWarnings=False) +smiles(R"O[C@@H]1[C@@H](COC(=O)[C@]23C[C@@H]4C[C@@H](C[C@@H](C4)C3)C2)O[C@@H]([C@H]1O)n1cnc2c(S)ncnc12", printStereoWarnings=False) +smiles(R"O[C@H]1[C@@H](COP2(=O)O[Pt@]3(N[C@H]4CCCC[C@H]4N3)O2)O[C@@H]([C@@H]1O)n1cnc2c(N)ncnc12", printStereoWarnings=False) +smiles(R"O[C@@H]1[C@@H](O)[C@@H]2c3ccccc3[C@H]1c1ccccc21", printStereoWarnings=False) +smiles(R"O[C@@H]1[C@@H](O)[C@@H]2C[C@H]1[C@@H]1[C@H]2[C@@]2(Cl)C(=C(Cl)[C@]1(Cl)[C@@]2(Cl)Cl)Cl", printStereoWarnings=False) +smiles(R"O[C@H]1[C@@H](O)[C@@H](O)[C@H](O)[C@@H](O)[C@@H]1O", printStereoWarnings=False) +smiles(R"O[C@H]1[C@H](O)[C@H](O)[C@H](O)[C@H](O)[C@H]1O", printStereoWarnings=False) +smiles(R"O[C@@H]1[C@H](O)[C@H](O)[C@](O)(CNCc2ccccc2)[C@@H](O)[C@H]1O", printStereoWarnings=False) +smiles(R"O[C@H]1[C@H](O)CN(OC/C=C/c2ccccc2)C[C@H]1O", printStereoWarnings=False) +smiles(R"O[C@@H]1[C@@H](SCc2ccccc2)OC[C@H]2O[C@]3(CCCCC3)O[C@@H]12", printStereoWarnings=False) +smiles(R"O[C@@H]1C/[N+](=C\c2ccccc2)/[Pt@]2(OC(=O)CC(=O)O2)/[N+](=C/c2ccccc2)/C1", printStereoWarnings=False) +smiles(R"O[C@H]1CNC[C@H](O)CNC1", printStereoWarnings=False) +smiles(R"O[C@H]1CN/C(=N)/NC1", printStereoWarnings=False) +smiles(R"O[C@H]1CO[C@@H](c2cnn(n2)c2ccccc2)[C@@H]1O", printStereoWarnings=False) +smiles(R"O[C@@H]1CO[C@H](OC1)c1ccccc1", printStereoWarnings=False) +smiles(R"O[C@H]1C(=O)O[Pt@]2(N[C@@H]3CCCC[C@@H]3N2)OC1=O", printStereoWarnings=False) +smiles(R"O[C@@H]([C@]12C3=C4C5=C1[Fe]16782345C2=C7C6=C1[C@@H]82)[C@@]12C3=C4C5=C1[Fe]16782345C2=C7C6=C1[C@H]82", printStereoWarnings=False) +smiles(R"O[C@@H](c1ccccc1)[C@-]12[Fe+2]3456789(C(=C26)C3=C15)C1=C8[C@-]9([C@@H](O)c2ccccc2)C7=C41", printStereoWarnings=False) +smiles(R"O[C@@H](c1ccccc1)[C@-]12[Fe+2]3456789(C(=C26)C3=C15)C1=C8[C@@-]9([C@@H](O)c2ccccc2)C7=C41", printStereoWarnings=False) +smiles(R"O[C@H](c1ccccc1)[C@@H](C)C(=O)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"O[C@H](c1nccc2ccccc12)[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"O[C@H](c1nccc2ccccc12)[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"O[C@@H](C(C)(C)C)[C@]12[C@@H]3[C@@H]4[C@H]1[C@@H]1[C@H]2[C@H]3[C@]41C(=O)N(C)C(C)(C)C", printStereoWarnings=False) +smiles(R"O[C@@H](C/C=C(\[C@@H](O)S(=O)(=O)O)/[C@@H](O)S(=O)(=O)O)S(=O)(=O)O", printStereoWarnings=False) +smiles(R"O[C@H](CCCN[Pt](Cl)(Cl)NCCC[C@H](O)Cn1ccnc1[N+](=O)[O-])Cn1ccnc1[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"O[C@H](CCCN[Pt@@](Cl)(Cl)NCCC[C@H](O)Cn1ccnc1[N+](=O)[O-])Cn1ccnc1[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"O[C@H](CCN[Pt](Cl)(Cl)NCC[C@H](O)Cn1ccnc1[N+](=O)[O-])Cn1ccnc1[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"O[C@H](CCN[Pt@@](Cl)(Cl)NCC[C@H](O)Cn1ccnc1[N+](=O)[O-])Cn1ccnc1[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"O[C@H]([C@H]1CCCCN1)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"O[C@@H]([C@@H]1CC[C@H]([C@@H](O)C(C)(C)C)[S@@]1(=O)=O)C(C)(C)C", printStereoWarnings=False) +smiles(R"O[C@@H](CN1CC[C@H](CC1)c1ccccc1)Cc1ccc(Br)cc1", printStereoWarnings=False) +smiles(R"O[C@H](C/N=C(/C)\CC(=O)c1ccccc1)C/N=C(/C)\CC(=O)c1ccccc1", printStereoWarnings=False) +smiles(R"O[C@@H](C/N=C(\CC(=O)c1ccccc1)/c1ccccc1)C/N=C(\CC(=O)c1ccccc1)/c1ccccc1", printStereoWarnings=False) +smiles(R"O[C@H](CNC(=O)/C=C/c1ccccc1)CNC(=O)/C=C/c1ccccc1", printStereoWarnings=False) +smiles(R"O[C@@H](CNC(=O)/C=C/c1cccc(c1)[N+](=O)[O-])CNC(=O)/C=C/c1cccc(c1)[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"O[C@H](CNC(=O)/C=C/c1cccc(c1)[N+](=O)[O-])CNC(=O)/C=C/c1cccc(c1)[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"O[C@H](CN[Pt](Cl)(Cl)NC[C@H](O)Cn1ccnc1[N+](=O)[O-])Cn1ccnc1[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"O[C@H](CN[Pt@@](Cl)(Cl)NC[C@H](O)Cn1ccnc1[N+](=O)[O-])Cn1ccnc1[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"O[C@@H](COc1ccc2c(C)cc(=O)oc2c1C(=O)C)CN1CC[C@@](O)(CC1)c1ccccc1", printStereoWarnings=False) +smiles(R"O[C@H](COc1ccccc1)Cn1cc/c(=N)/cc1", printStereoWarnings=False) +smiles(R"O[C@H](COC(=O)c1ccccc1)[C@H]1O[C@@H](O[C@@H]1[C@H](O)COC(=O)c1ccccc1)c1ccccc1", printStereoWarnings=False) +smiles(R"O[C@H](COC(=O)c1ccccc1)[C@H](O)[C@H](O)COC(=O)c1ccccc1", printStereoWarnings=False) +smiles(R"O[C@H](C[S@@](=O)(=O)C[C@H](O)c1ccccc1)c1ccccc1", printStereoWarnings=False) +smiles(R"[O-][Cl](=O)(=O)=O", printStereoWarnings=False) +smiles(R"O[Cl](=O)(=O)=O", printStereoWarnings=False) +smiles(R"O=[Cl](=O)(=O)O[Cu@@](/[S+]=c\1/cccc[nH]1)(/[S+]=c\1/cccc[nH]1)O[Cl](=O)(=O)=O", printStereoWarnings=False) +smiles(R"[O-][Cl](=O)(=O)=[OH+]", printStereoWarnings=False) +smiles(R"[O+]#C[MnH+]12(C#[O+])(C#[O+])[H-][MnH+]2(C#[O+])(C#[O+])(C#[O+])[P-]1(Br)N(C(C)C)C(C)C", printStereoWarnings=False) +smiles(R"[O+]#C[MnH2+]12(C#[O+])(C#[O+])[H-][MnH2+]2(C#[O+])(C#[O+])(C#[O+])[P-]1(Br)N(C(C)C)C(C)C", printStereoWarnings=False) +smiles(R"[O+]#C[Mo]1234(C#[O+])(C#[O+])(c5ccs(=O)c5C)[C@@H]5C3=C2C1=C45", printStereoWarnings=False) +smiles(R"[O+]#C[Mo]1234(C#[O+])(/N=N/c5ccc(cc5)[N+](=O)[O-])[C@@H]5C3=C2C1=C45", printStereoWarnings=False) +smiles(R"[O+]#C[Mo]1234(C#[O+])(/N=N/c5ccc(cc5)[N+](=O)[O-])[C@H]5C3=C2C1=C45", printStereoWarnings=False) +smiles(R"[O+]#C[Mo]1234(C#[O+])(/N=N/c5ccc(C)cc5)[C@H]5C3=C2C1=C45", printStereoWarnings=False) +smiles(R"[O+]#C[Mo]1234(/N=N/c5ccc(C)cc5)([C@H]5C3=C2C1=C45)P(c1ccccc1)(c1ccccc1)c1ccccc1", printStereoWarnings=False) +smiles(R"O=C(N1CC[C@]2(CC1)SS[C@@]1(CCN(CC1)C(=O)C(F)(F)F)S2)C(F)(F)F", printStereoWarnings=False) +smiles(R"O=C(N1CCCCC1)[C@@H]1[C@H]2CC[C@H](CC2)[C@H]1C(=O)N1CCCCC1", printStereoWarnings=False) +smiles(R"O=C(N1C(C)(C)C(C)(C)C(C)(C)C(C)(C)C1(C)C)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"O=C(N1CCN(CC1)C(=O)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"O=C(N1CCN(CC1)C(=O)[C@@H]1C[C@@H]2CCN1CC2)[C@@H]1C[C@H]2CCN1CC2", printStereoWarnings=False) +smiles(R"O=C(N1CCN(CC1)C(=O)[C@@H]1C[C@H]2CCN1CC2)[C@@H]1C[C@@H]2CCN1CC2", printStereoWarnings=False) +smiles(R"O=C(N1CCOCC1)[C@]12O[C@@H]3C[C@@H](C[C@@H](C3)O2)O1", printStereoWarnings=False) +smiles(R"O=C(N1CCOCC1)[C@@H]1[C@H]2CC[C@H](CC2)[C@H]1C(=O)N1CCOCC1", printStereoWarnings=False) +smiles(R"OCN1C(=O)N(CO)[C@H]2N(CO)C(=O)N(CO)[C@@H]12", printStereoWarnings=False) +smiles(R"O=C(N[C@]12CC[C@H](CC1)C2)[C@@]12CC[C@@H](CC1)C2", printStereoWarnings=False) +smiles(R"O=C(N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)c1c(O)c2ccccc2n(C)c1=O", printStereoWarnings=False) +smiles(R"O=C(N[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1)c1[n+]([O-])c2ccccc2[n+]([O-])c1N", printStereoWarnings=False) +smiles(R"O=C(N[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1)C(F)(F)F", printStereoWarnings=False) +smiles(R"O=C(N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)C(=O)c1c[nH]c2ccccc12", printStereoWarnings=False) +smiles(R"O=C(N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)C(=O)/C=C(/Nc1ccccc1O)\c1ccccc1", printStereoWarnings=False) +smiles(R"O=C(N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)C(=O)Nc1nc2ccccc2n1Cc1ccccc1", printStereoWarnings=False) +smiles(R"O=C(N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)n1cnc2c(N)ncnc12", printStereoWarnings=False) +smiles(R"O=CN[C@]12C(=O)NC(=O)[C@@]1(C(=O)O)[C@]12CCCCC1", printStereoWarnings=False) +smiles(R"O=C(N[C@]12O[C@@H]3C[C@@H](C[C@@H](C3)O2)O1)N[C@]12O[C@@H]3C[C@@H](C[C@@H](C3)O2)O1", printStereoWarnings=False) +smiles(R"O=C(Nc1ccc2c(c1)Cc1cc(ccc21)NC(=O)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"O=C(Nc1ccc2c(O)cc(cc2c1)S(=O)(=O)[OH+][Pt@+2]1(N[C@@H]2CCCC[C@H]2N1)[OH+]S(=O)(=O)c1cc(O)c2ccc(NC(=O)c3ccccc3)cc2c1)c1ccccc1", printStereoWarnings=False) +smiles(R"O=C=Nc1ccc2n(CC)c3ccc4n5cccc5c(=O)[nH]c4c3c2c1", printStereoWarnings=False) +smiles(R"O=C(Nc1cccc2ccccc12)[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"O=C(Nc1cccc2ccccc12)[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"O=C(Nc1cccc2cccnc12)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"O=C(Nc1ccc(cc1)[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82)C1CCCCC1", printStereoWarnings=False) +smiles(R"O=C(Nc1ccc(cc1)[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82)C1CCCCC1", printStereoWarnings=False) +smiles(R"O=C(Nc1ccccc1)[C@@]1(Br)C[C@]2(C[C@](Br)(C2)C(=O)Nc2ccccc2)C1", printStereoWarnings=False) +smiles(R"O=C(Nc1ccc(cc1)c1ccccc1)[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"O=C(Nc1ccc(cc1)c1ccccc1)[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"O=C(Nc1ccc(cc1)c1ccc(cc1)NC(=O)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"O=C(Nc1ccc(cc1)C1=NCCN1)[C@H]1CC[C@@H](CC1)C(=O)Nc1ccc(cc1)C1=NCCN1", printStereoWarnings=False) +smiles(R"O=C(Nc1ccccc1)c1n[n+](c2cc(c(cc2Cl)[N+](=O)[O-])S(=O)(=O)O)n(n1)c1cc(c(cc1Cl)[N+](=O)[O-])S(=O)(=O)[O-]", printStereoWarnings=False) +smiles(R"O=C(Nc1ccccc1)c1n[n+](c2cc(c(cc2Cl)[N+](=O)[O-])S(=O)(=O)O)n([nH]1)c1cc(c(cc1Cl)[N+](=O)[O-])S(=O)(=O)[O-]", printStereoWarnings=False) +smiles(R"O=C(Nc1ccccc1)c1n[n+](c2cc(ccc2Cl)S(=O)(=O)[O-])n(n1)c1ccccc1Cl", printStereoWarnings=False) +smiles(R"O=C(Nc1ccccc1)c1n[n+](c2cc(ccc2Cl)S(=O)(=O)[O-])n([nH]1)c1ccccc1Cl", printStereoWarnings=False) +smiles(R"O=C(Nc1ccc(cc1)Cc1ccc(cc1)NC(=O)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"O=C(Nc1cccc(c1)C(F)(F)F)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"O=C(NC1CCCCC1)N(O)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"O=C(Nc1ccc(cc1)S(=O)(=O)c1ccc(cc1)NC(=O)c1cc(ccc1O)S(=O)(=O)O)c1cc(ccc1O)S(=O)(=O)O", printStereoWarnings=False) +smiles(R"O=C(Nc1ccc(cc1)S(=O)(=O)Nc1ccnn1c1ccccc1)c1c2ccccc2n(C)c2ccccc12", printStereoWarnings=False) +smiles(R"O=C(Nc1ccc(cc1)S(=O)(=O)Nc1ncccn1)c1c2ccccc2n(C)c2ccccc12", printStereoWarnings=False) +smiles(R"O=C(Nc1ccc(CCc2ccc(cc2)NC(=O)[C@]23C[C@@H]4C[C@@H](C[C@@H](C4)C3)C2)cc1)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"O=C(/N=C\1/C(=O)[C@@]2(CCCCC2)[C@@]2(N=C(OC2=O)c2ccccc2)[C@]21CCCCC2)c1ccccc1", printStereoWarnings=False) +smiles(R"O=C(Nc1nc2ccccc2n1C)C(=O)N[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"O=C(Nc1ncccn1)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"[O-]/C(=N\c1nccs1)/[C@H](C)[NH+]1CC[C@@H](CC1)n1c(=O)[nH]c2ccccc12", printStereoWarnings=False) +smiles(R"[O-]/C(=N\c1nccs1)/[C@H](C)[NH+]1CC[C@H](CC1)n1c(=O)[nH]c2ccccc12", printStereoWarnings=False) +smiles(R"O=C(Nc1[nH]c2ccccc2n1)C(=O)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"O=C(Nc1nnc(s1)S(=O)(=O)N)C12C[C@H]3C[C@@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"O=C(Nc1scc(n1)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)c1cc2c(ccc3ccccc23)oc1=O", printStereoWarnings=False) +smiles(R"O=C(Nc1scc(n1)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)c1cc2ccccc2oc1=O", printStereoWarnings=False) +smiles(R"O=C(Nc1scc(n1)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)c1cc2cc(ccc2oc1=O)[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"O=C(Nc1scc(n1)C12C[C@H]3C[C@H](C[C@H](C3)C2)C1)c1cc2cc(ccc2oc1=O)[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"O=C(Nc1scc(n1)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)c1c(O)c2ccccc2n(C)c1=O", printStereoWarnings=False) +smiles(R"O=C(Nc1scc(n1)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)c1c(O)nc2ccccc2c1O", printStereoWarnings=False) +smiles(R"O=C(Nc1scc(n1)[C@@]12C[C@H]3C[C@H](C[C@@H](C3)C2)C1)[C@@H]1C(=O)N[C@]2(C)Oc3ccccc3[C@@H]1C2", printStereoWarnings=False) +smiles(R"O=CN(C)C", printStereoWarnings=False) +smiles(R"O=C(NCC1CC1)[C@@H]1[C@@H]2c3ccccc3[C@H]([C@H]1C(=O)O)c1ccccc21", printStereoWarnings=False) +smiles(R"O=C(N(C)c1ccccc1)[C@H]1[C@@H]2c3ccccc3[C@@H](c3ccccc23)[C@@H]1C(=O)N(C)c1ccccc1", printStereoWarnings=False) +smiles(R"O=C(NCc1ccccc1)[C@@H](C[C@@H](C(=O)NCc1ccccc1)/C(=N/Nc1ccc(cc1[N+](=O)[O-])[N+](=O)[O-])/C)/C(=N\Nc1ccc(cc1[N+](=O)[O-])[N+](=O)[O-])/C", printStereoWarnings=False) +smiles(R"O=C(NCc1ccccc1)[C@H](C[C@H](C(=O)NCc1ccccc1)/C(=N\Nc1ccc(cc1[N+](=O)[O-])[N+](=O)[O-])/C)/C(=N/Nc1ccc(cc1[N+](=O)[O-])[N+](=O)[O-])/C", printStereoWarnings=False) +smiles(R"O=C(N(C)C(C)(C)C)[C@]12[C@@H]3[C@@H]4[C@H]1[C@@H]1[C@H]2[C@H]3[C@]41C(=O)N(C)C(C)(C)C", printStereoWarnings=False) +smiles(R"O=C(NCCCCCCCCCCNC(=O)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"O=C(NCCCCCCCCCNC(=O)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"O=C(NC(C)(C)CCC(C)(C)NC(=O)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"O=C(NCCCCCCCCNC(=O)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"O=C(NCCCCCCCNC(=O)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"O=C(NCCCCCCNC(=O)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"O=C(NCCCCCCNC(=O)N(O)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)N(O)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"O=C(NCCCCCNC(=O)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"O=C(NCCCCCNC(=O)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"O=C(NC(C)(C)[C@H]1CC[C@@](C)(CC1)NC(=O)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"O=C(NCC(C)(C)NC(=O)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"O=C(NCCCCNC(=O)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"O=C(NCCCC(=O)N)CCC[C@]12C3=C4C5=C1[Fe]16782345[C@H]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"O=C(NCCCC(=O)NCCC(=O)N)CCNC(=O)CCC[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"O=C(NCCCC(=O)NCCC(=O)N)CCNC(=O)CCC[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"O=C(NCCCNC(=O)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"O=C(NCCC(=O)N)CCC[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"O=C(NCCC(=O)N)CCC[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"O=C(NC[C@H]1[C@H](c2ccccc2)[C@H]1c1ccccc1)CN1[C@@H]2CC[C@H]1C[C@H](O)C2", printStereoWarnings=False) +smiles(R"O=C(NCCNc1ccccc1)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"O=C(NCC[N+](C)(C)C)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"O=C(NCCN(C)C(=O)[C@H]1[C@H](c2ccccc2)[C@H]1c1ccccc1)[C@H]1[C@@H](c2ccccc2)[C@@H]1c1ccccc1", printStereoWarnings=False) +smiles(R"O=C(NCCNC(=O)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"O=C(NCCNC(=O)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"O=C(N[C@H]1C[C@@]2(OC1=O)C=C(Cl)C(=O)C(=C2)Cl)OC(C)(C)C", printStereoWarnings=False) +smiles(R"O=C(N[C@H]1CC[C@@]21CC2)c1ccc2ccccc2c1", printStereoWarnings=False) +smiles(R"O=C(N[C@@H]1CCCC[C@@H]1NC(=O)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"O=C(N[C@@H]1CC[C@H](CC1)CC1CCCCC1)c1ccccc1", printStereoWarnings=False) +smiles(R"O=C(N[C@H]1CC[C@@H](CC1)CC1CCCCC1)c1ccccc1", printStereoWarnings=False) +smiles(R"O=C(N[C@@H]1CC[C@H](CC1)CC1CCCCC1)C(Cl)Cl", printStereoWarnings=False) +smiles(R"O=C(N[C@H]1CC[C@@H](CC1)CC1CCCCC1)C(Cl)Cl", printStereoWarnings=False) +smiles(R"O=C(N[C@@H]1CC[C@H](CC1)CC1CCCCC1)NC1CCCCC1", printStereoWarnings=False) +smiles(R"O=C(N[C@H]1CC[C@@H](CC1)CC1CCCCC1)NC1CCCCC1", printStereoWarnings=False) +smiles(R"O=C(N[C@@H]1CC[C@H](CC1)CC1CCCCC1)Nc1cccc(Cl)c1", printStereoWarnings=False) +smiles(R"O=C(N[C@@H]1CC[C@H](CC1)C(C)(C)C)c1ccccc1", printStereoWarnings=False) +smiles(R"O=C(N[C@@H]1CC[C@H](CC1)C(C)(C)C)C(Cl)(Cl)Cl", printStereoWarnings=False) +smiles(R"O=C(N[C@H]1CC[C@@H](CC1)C(C)(C)C)C(Cl)(Cl)Cl", printStereoWarnings=False) +smiles(R"O=C(N[C@@H]1CC[C@@H](CC1)C(C)C)Nc1ccccc1", printStereoWarnings=False) +smiles(R"O=C(N[C@@H]1CC[C@H](CC1)C(C)C)Nc1ccccc1", printStereoWarnings=False) +smiles(R"O=C(N[C@H]1CC[C@@H](CC1)C(C)C)Nc1ccccc1", printStereoWarnings=False) +smiles(R"O=C(N[C@@H]1CC[C@H](CC1)C[C@@H]1CC[C@H](CC1)NC(=O)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"O=C(N[C@@H]1CC[C@@H](CC1)C[C@@H]1CC[C@H](CC1)NC(=O)c1cc(O)c(O)c(O)c1)c1cc(O)c(O)c(O)c1", printStereoWarnings=False) +smiles(R"O=C(N[C@@H]1C[C@@H]2c3ccccc3[C@H]1c1ccccc21)N[C@@H]1C[C@H]2c3ccccc3[C@@H]1c1ccccc21", printStereoWarnings=False) +smiles(R"O=C(N[C@H]1[C@H]2C[C@@H]3C[C@H](C2)C[C@H]1C3)c1ccncn1", printStereoWarnings=False) +smiles(R"O=C(N[C@@H]1[C@@H]2C[C@H]3C[C@@H](C2)C[C@@H]1C3)C(=O)CC(=O)c1c(C)[n+]([O-])c2ccccc2[n+]1[O-]", printStereoWarnings=False) +smiles(R"O=C(N[C@H]1[C@H]2C[C@@H]3C[C@H](C2)C[C@H]1C3)C(=O)CC(=O)c1c(C)[n+]([O-])c2ccccc2[n+]1[O-]", printStereoWarnings=False) +smiles(R"O=C(N[C@H]1[C@@H](c2ccccc2)[C@@H]1c1ccccc1)[C@H]1[C@H](c2ccccc2)[C@H]1c1ccccc1", printStereoWarnings=False) +smiles(R"O=CNNc1ccc2nnc(Cl)n2n1", printStereoWarnings=False) +smiles(R"O=C(NNc1ccccc1)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"O=C(N/N=C/1\[C@](C)(C)/C(=N\NC(=O)C[N+](C)(C)C)/[C@@]1(C)C)C[N+](C)(C)C", printStereoWarnings=False) +smiles(R"O=C(N/N=C\1/[C@](C)(C)/C(=N/NC(=O)C[N+](C)(C)C)/[C@]1(C)C)C[N+](C)(C)C", printStereoWarnings=False) +smiles(R"O=C(N/N=C/[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82)c1ccccn1", printStereoWarnings=False) +smiles(R"O=C(N/N=C/[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82)c1ccccn1", printStereoWarnings=False) +smiles(R"O=C(N/N=C/[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82)OC(C)(C)C", printStereoWarnings=False) +smiles(R"O=C(N/N=C/[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82)OC(C)(C)C", printStereoWarnings=False) +smiles(R"O=C(N/N=C/[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1)c1ccncc1", printStereoWarnings=False) +smiles(R"O=C(N/N=C\c1ccc(cc1)c1cn2ccccc2[n+]1C)C(=O)N/N=C/c1ccc(cc1)c1cn2ccccc2[n+]1C", printStereoWarnings=False) +smiles(R"O=C(N/N=C/c1ccc(cc1)N1CC[C@@]2(CCCCC2)CC1)c1ccccc1", printStereoWarnings=False) +smiles(R"O=C(N/N=C/c1ccc(cc1)N1CC[C@]2(CCCCC2)CC1)c1ccccc1O", printStereoWarnings=False) +smiles(R"O=C(N/N=C/c1ccc(cc1)N1CC[C@]2(CCCCC2)CC1)c1ccc(Cl)c(Cl)c1", printStereoWarnings=False) +smiles(R"O=C(N/N=C/c1ccc(cc1)N1CC[C@@]2(CCCCC2)CC1)c1cccnc1", printStereoWarnings=False) +smiles(R"O=C(N/N=C/c1ccc(cc1)N(C)C)C(=O)N/N=C\c1ccc(cc1)N(C)C", printStereoWarnings=False) +smiles(R"O=C(N/N=C/c1ccc(cc1)[N+](=O)[O-])C(=O)N/N=C\c1ccc(cc1)[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"O=C(N/N=C/c1ccccc1[N+](=O)[O-])C(=O)N/N=C\c1ccccc1[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"O=C(N/N=C\c1ccc(cc1)[N+](=O)[O-])C(=O)N/N=C/c1ccc(cc1)[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"O=C(N/N=C\c1ccccc1[N+](=O)[O-])C(=O)N/N=C/c1ccccc1[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"O=C(NNC(=O)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"O=C(NNC(=O)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1)c1ccncc1", printStereoWarnings=False) +smiles(R"O=C(NNC(=O)[C@H]1[C@H]2CCCC[C@H]12)[C@H]1[C@H]2CCCC[C@H]12", printStereoWarnings=False) +smiles(R"O=C(NOC(C)(C)C)N1[C@H]2c3ccccc3[C@@H]1c1ccccc21", printStereoWarnings=False) +smiles(R"O=C(/N=S/1\CCCC1)C(Cl)(Cl)Cl", printStereoWarnings=False) +smiles(R"OC=O", printStereoWarnings=False) +smiles(R"[O-]C(=O)[C@-]12C3=C4C5=C1[Co+3]16782345C2=C7[C@-]8(C(=O)[O-])C6=C12", printStereoWarnings=False) +smiles(R"[O-]C(=O)[C@@-]12C3=C4C5=C1[Co+3]16782345C2=C7[C@@-]8(C(=O)[O-])C6=C12", printStereoWarnings=False) +smiles(R"OC(=O)[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"OC(=O)[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"O=C(O[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82)C(O)(c1ccccc1)c1ccccc1", printStereoWarnings=False) +smiles(R"O=C(O[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82)C(O)(c1ccccc1)c1ccccc1", printStereoWarnings=False) +smiles(R"[O-]C(=O)[C@-]12C3=C4C5=C1[Fe+2]16782345C2=C7[C@-]8(C(=[OH+])O)C6=C12", printStereoWarnings=False) +smiles(R"[O-]C(=O)[C@@-]12C3=C4C5=C1[Fe+2]16782345C2=C7[C@-]8(C(=[OH+])O)C6=C12", printStereoWarnings=False) +smiles(R"O=CO[C@]12c3ccccc3[C@](C)(c3ccccc13)[C@@]1(OC=O)c3ccccc3[C@]2(C)c2ccccc12", printStereoWarnings=False) +smiles(R"OC(=O)[C@@]12CC=CC[C@]2(CC=CC1)C(=O)O", printStereoWarnings=False) +smiles(R"O=C(O[C@]12CCCC[C@@H]2[C@@]2(CCCCC2)N=N1)c1ccccc1", printStereoWarnings=False) +smiles(R"OC(=O)[C@]12CC[C@H](c3ccccc13)c1ccccc21", printStereoWarnings=False) +smiles(R"OC(=O)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"O=C(OC12C[C@@H]3C[C@H](C[C@@H](C3)C2)C1)c1ccc(cc1)NCC1=C(Br)C(=O)C=CC1=O", printStereoWarnings=False) +smiles(R"O=C(O[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)NC(C)(C)C(=O)O", printStereoWarnings=False) +smiles(R"OC(=O)[C@]12[C@@H]3CC[C@@H](CC3)[C@]2(C(=O)O)[C@@H]2CC[C@H]1C2", printStereoWarnings=False) +smiles(R"OC(=O)[C@]12[C@@H]3CC[C@@H](O3)[C@]2(C(=O)O)[C@H]2CC[C@@H]1O2", printStereoWarnings=False) +smiles(R"OC(=O)[C@]12[C@H]3[C@H]4[C@@H]2[C@H]2[C@@H]1[C@@H]3[C@@]42C(=O)O", printStereoWarnings=False) +smiles(R"OC(=O)[C@]12[C@H]3[C@H]4[C@@H]2[C@H]2[C@@H]1[C@@H]3[C@@]42I", printStereoWarnings=False) +smiles(R"OC(=O)[C@]12C(=O)NC(=O)[C@@]1(C(=O)O)[C@@]12CCCCC1", printStereoWarnings=False) +smiles(R"OC(=O)[C@]12C(=O)NC(=O)[C@]2(C(=O)O)[C@@]1(C)C", printStereoWarnings=False) +smiles(R"OC(=O)[C@@]1(Br)C[C@@]21c1ccccc1c1ccccc21", printStereoWarnings=False) +smiles(R"O=C(OC1=C2CC[C@@]3(OCCO3)[C@@]2(C)CCC21OCCO2)c1ccccc1", printStereoWarnings=False) +smiles(R"OC(=O)[C@]1(c2ccccc2)[C@H](C)[C@H]1C", printStereoWarnings=False) +smiles(R"OC(=O)c1c(Br)cc(/N=C/c2ccc(cc2)N2CC[C@]3(CCCCC3)CC2)cc1Br", printStereoWarnings=False) +smiles(R"OC(=O)C1(C[C@@]23CC[C@@]3(C1)C[C@](C2)(C(=O)O)C(=O)O)C(=O)O", printStereoWarnings=False) +smiles(R"OC(=O)[C@]1(C)C[C@]21c1ccccc1c1ccccc21", printStereoWarnings=False) +smiles(R"OC(=O)c1ccc2c(no[n+]2[O-])c1", printStereoWarnings=False) +smiles(R"OC(=O)c1ccc2C(=O)c3ccccc3c3ncnc1c23", printStereoWarnings=False) +smiles(R"OCOc1ccc2[nH]c3cc4c([nH]c5ccc(OCO)cc5c4=O)cc3c(=O)c2c1", printStereoWarnings=False) +smiles(R"OC(=O)c1ccc2[N+]([O-])ONc2c1", printStereoWarnings=False) +smiles(R"OC(=O)c1ccc2n[se]nc2c1", printStereoWarnings=False) +smiles(R"OC(=O)c1cccc2[C@@H]3CC[C@H](c12)c1c3cccc1C(=O)O", printStereoWarnings=False) +smiles(R"OC(=O)c1ccccc1", printStereoWarnings=False) +smiles(R"OC(=O)c1ccccc1c1c2ccc3ccccc3c2cc2ccc3ccccc3c12", printStereoWarnings=False) +smiles(R"OC(=O)c1ccccc1c1ccccc1C(=O)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"OC(=O)c1ccc(cc1)C[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"OC(=O)c1cc(ccc1Cl)/N=C/1\C=C/C(=C(\c2ccccc2)/c2ccc(cc2)Nc2ccc(Cl)c(c2)C(=O)O)/C=C1", printStereoWarnings=False) +smiles(R"O=C(Oc1ccccc1)N[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"O=C(Oc1ccc(cc1)[N+](=O)[O-])CN(C(=O)O[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1)C(=O)O[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"O=C(Oc1ccc(cc1)[N+](=O)[O-])CN(C(=O)OC12C[C@H]3C[C@H](C[C@H](C3)C2)C1)C(=O)OC12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"OC(=O)c1ccccc1O", printStereoWarnings=False) +smiles(R"OC(=O)C1=C(C(=O)O)[C@]2(Cl)C(=C(Cl)[C@@]1(Cl)[C@@]2(Cl)Cl)Cl", printStereoWarnings=False) +smiles(R"OC(=O)c1cnccc1[C@@]12[C@@H](C(=N)NN1c1ccccc1)C(=N)NN2c1ccccc1", printStereoWarnings=False) +smiles(R"OC(=O)[C@@]1(N)C[C@@](O)(c2ccccc2)[C@@](O)(C1)c1ccccc1", printStereoWarnings=False) +smiles(R"[O-]C(=O)C1([NH2+]C[C@@H]2COCC2)CC[S@](=O)(=O)CC1", printStereoWarnings=False) +smiles(R"[O-]C(=O)C1([NH2+]C[C@@H]2COCC2)CC[S@@](=O)(=O)CC1", printStereoWarnings=False) +smiles(R"OC(=O)c1nnn(Cc2ccccc2)n1", printStereoWarnings=False) +smiles(R"OC(=O)c1nnn(n1)c1ccccc1", printStereoWarnings=False) +smiles(R"[O-]C(=O)C[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"[O-]C(=O)C[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"OC(=O)C[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"OC(=O)C[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"OC(=O)C[C@@]12C[C@@]3(C)C[C@](Br)(C1)C[C@@](Br)(C2)C3", printStereoWarnings=False) +smiles(R"OC(=O)C[C@]12C[C@@H]3C[C@](CC(=O)O)(C1)C[C@](C3)(CC(=O)O)C2", printStereoWarnings=False) +smiles(R"OC(=O)C[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"OC(=O)C[C@]12[C@H]3[C@@H]4[C@H]5[C@H]([C@@H]1[C@@H]35)[C@H]24", printStereoWarnings=False) +smiles(R"O=C(OC[C@]12CO[C@]3(C)CC[C@@](C)(OC1)N23)C(C)(C)C", printStereoWarnings=False) +smiles(R"O=C(OC[C@@]12CO[C@@]3(C)CC[C@](C)(OC1)N23)C(O)(c1ccccc1)c1ccccc1", printStereoWarnings=False) +smiles(R"O=C(OC[C@]12COCN2COC1)Nc1ccc(Cl)cc1", printStereoWarnings=False) +smiles(R"O=C(OCc1ccccc1)[C@@H](N[Pd@](Cl)(Cl)N[C@H](C(=O)OCc1ccccc1)c1ccccc1)c1ccccc1", printStereoWarnings=False) +smiles(R"O=C(OCc1ccccc1)[C@@H](N[Pt@](Cl)(Cl)N[C@H](C(=O)OCc1ccccc1)c1ccccc1)c1ccccc1", printStereoWarnings=False) +smiles(R"O=C(OCc1ccccc1)/N=C/1\C=C/C(=N\C(=O)OCc2ccccc2)/C=C1", printStereoWarnings=False) +smiles(R"O=C(OCc1ccccc1)Nc1c(C)no[n+]1[O-]", printStereoWarnings=False) +smiles(R"O=C(OCc1ccccc1)NC1=C(C)NO[N+]1[O-]", printStereoWarnings=False) +smiles(R"O=C(OCc1ccccc1)N[C@H]1C[C@@]2(OC1=O)C=C(I)C(=O)C(=C2)I", printStereoWarnings=False) +smiles(R"O=C(OCc1ccccc1)N[C@@H]1CC[C@@H](CC1)C(=O)O", printStereoWarnings=False) +smiles(R"O=C(OCc1ccccc1)N[C@H]1C(=O)N[C@@H](CCc2ccccc2)NC1=O", printStereoWarnings=False) +smiles(R"OC(=O)Cc1ccccn1[Pt](N)(Cl)Cl", printStereoWarnings=False) +smiles(R"OC(=O)C[C@]1(CC[C@@H](OCc2ccccc2)CC1)C(=O)O", printStereoWarnings=False) +smiles(R"OC(=O)Cc1nnn(C)n1", printStereoWarnings=False) +smiles(R"[O-]C(=O)CC[C@]12C3=C4C5=C1[Fe+]16782345[C@H]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"[O-]C(=O)CC[C@@]12C3=C4C5=C1[Fe+]16782345[C@@H]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"[O-]C(=O)/C=C/[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"[O-]C(=O)/C=C/[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"[O-]C(=O)CC[C-]1C2=C3C4=C1[Fe+]1567234[C@@H]2C6=C5C1=C72", printStereoWarnings=False) +smiles(R"[O-]C(=O)CC[C-]1C2=C3C4=C1[Fe+]1567234[C@H]2C6=C5C1=C72", printStereoWarnings=False) +smiles(R"O=C(OC/C=C/1\CN2CC[C@@H]1CC2)[C@](O)(C1CCCC1)c1ccccc1", printStereoWarnings=False) +smiles(R"OC(=O)/C=C(\C)/[As]12(O[C@@](C)(O1)[C@H]1CC[C@H]3CCC[C@H]13)O[C@@](C)(O2)[C@@]12CCC[C@H]2CCC1", printStereoWarnings=False) +smiles(R"[O-]C(=O)C(C)(C)C[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"[O-]C(=O)C(C)(C)C[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"OC(=O)CC[C@@](C)(c1ccc(cc1)OC(=O)Nc1ccc(cc1)/N=N/c1ccccc1)c1ccc(cc1)OC(=O)Nc1ccc(cc1)/N=N/c1ccccc1", printStereoWarnings=False) +smiles(R"OC(=O)CCCCCCCn1ccccc1", printStereoWarnings=False) +smiles(R"O=C(OC(C)(C)C)[C@@H]1C(=O)[C@@H](C(=O)OC(C)(C)C)[C@@]23CCCC[C@]13[C@@H](C(=O)OC(C)(C)C)C(=O)[C@H]2C(=O)OC(C)(C)C", printStereoWarnings=False) +smiles(R"OC(=O)CCCCCn1ccccc1", printStereoWarnings=False) +smiles(R"[O-]C(=O)CCCCC(=O)[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"[O-]C(=O)CCCCC(=O)[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"OC(=O)CCCCn1ccccc1", printStereoWarnings=False) +smiles(R"O=C(OC(C)(C)C)N[C@]12[C@@H]3[C@@H]4[C@H]1[C@@H]1[C@H]2[C@H]3[C@]41NC(=O)OC(C)(C)C", printStereoWarnings=False) +smiles(R"OC(=O)CCCC(=O)N[C@H]1C[C@H]2c3ccccc3[C@@H]1c1ccccc21", printStereoWarnings=False) +smiles(R"OC(=O)CC[C@H](NC(=O)c1ccc(NCc2ccc3nc4nnnn4c(N)c3n2)cc1)C(=O)O", printStereoWarnings=False) +smiles(R"O=C(OCC(Cl)(Cl)Cl)N1[C@@H]2[C@H]3O[C@H]3[C@@H]([C@@H]3O[C@H]23)N1C(=O)OCC(Cl)(Cl)Cl", printStereoWarnings=False) +smiles(R"OC(=O)CCC/N=C(\c1ccccc1)/C(=N\CCCC(=O)O)/c1ccccc1", printStereoWarnings=False) +smiles(R"OC(=O)/C=C/C(=O)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"OC(=O)/C=C/C(=O)O", printStereoWarnings=False) +smiles(R"O=C(OC[C@@H]1C[C@@]2(Cl)C(=C(Cl)[C@]1(Cl)C2(Cl)Cl)Cl)[C@H]1[C@@]2(Cl)C(=C(Cl)[C@@](Cl)([C@H]1C(=O)OC[C@@H]1C[C@@]3(Cl)C(=C(Cl)[C@]1(Cl)C3(Cl)Cl)Cl)[C@@]2(Cl)Cl)Cl", printStereoWarnings=False) +smiles(R"OC(=O)C[C@H]1CCC[C@@H](CC(=O)O)[C@]1(C)C", printStereoWarnings=False) +smiles(R"OC(=O)C[C@H]1CC[C@@H](CC1)/C(=C\[C@H]1CC[C@@H](CC1)N(C)C)/[C@H]1CC[C@@H](CC1)CC(=O)O", printStereoWarnings=False) +smiles(R"OC(=O)C[C@@H]1NCC[C@]21OCCO2", printStereoWarnings=False) +smiles(R"O=C(OC[C@H]1OCO[C@@H](COC(=O)c2ccccc2)[C@H]2O[C@@](C)(C)O[C@@H]12)c1ccccc1", printStereoWarnings=False) +smiles(R"[O-]C(=O)C(Cl)(Cl)Cl", printStereoWarnings=False) +smiles(R"OC(=O)C(Cl)(Cl)Cl", printStereoWarnings=False) +smiles(R"OC(=O)CCn1ccccc1", printStereoWarnings=False) +smiles(R"O=C(OCCN1CCN(CCCN2c3ccccc3Sc3ccc(cc23)C(F)(F)F)CC1)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"O=C(OCCN1CCN(CCCN2c3ccccc3Sc3ccc(cc23)C(F)(F)F)CC1)N[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"OC(=O)CCN1C(=O)[C@@]2(Cl)[C@@]3(Cl)C=C[C@@](Cl)([C@@]2(Cl)C1=O)[C@@]3(Cl)Cl", printStereoWarnings=False) +smiles(R"OC(=O)CC(O)(CC(=O)O)C(=O)O", printStereoWarnings=False) +smiles(R"OC(=O)CC(=O)[C@@H](C(=O)O)[C@H](CCc1ccccc1)[C@H](C(=O)O)C(=O)CC(=O)O", printStereoWarnings=False) +smiles(R"OC(=O)CCON1C(=O)[C@]2(CCCCC2)C[C@]21CCCCC2", printStereoWarnings=False) +smiles(R"OC(=O)[C@@H]1[C@@](Br)(c2ccccc2)[C@]1(Br)c1ccccc1", printStereoWarnings=False) +smiles(R"OC(=O)[C@@H]1C[C@@]21c1ccccc1c1ccccc21", printStereoWarnings=False) +smiles(R"OC(=O)[C@H]1C[C@]2(SCCS2)CC[C@@H]1c1ccccc1", printStereoWarnings=False) +smiles(R"O=CO[C@@H]1CC[C@@]2(C)[C@H](C1)C[C@@H](OC=O)[C@H]1[C@H]3CC[C@@H]([C@H](C)CCC(=O)N[C@]45C[C@@H]6C[C@@H](C[C@@H](C6)C5)C4)[C@]3(C)[C@H](OC=O)C[C@H]21", printStereoWarnings=False) +smiles(R"O=CO[C@@H]1CC[C@@]2(C)[C@@H](CC[C@@H]3[C@H]4CC[C@H]([C@H](C)CCC(=O)N[C@]56C[C@@H]7C[C@@H](C[C@@H](C7)C6)C5)[C@]4(C)CC[C@@H]23)C1", printStereoWarnings=False) +smiles(R"O=CO[C@@H]1CC[C@@]2(C)[C@@H](CC[C@@H]3[C@H]4CC[C@H]([C@H](C)CCC(=O)N[C@]56C[C@@H]7C[C@@H](C[C@@H](C7)C6)C5)[C@]4(C)[C@@H](OC=O)C[C@@H]23)C1", printStereoWarnings=False) +smiles(R"OC(=O)[C@H]1CCCC[C@]21OCCO2", printStereoWarnings=False) +smiles(R"O=C(O[C@@H]1CCC=C(C)[C@]21CCCC2)c1cc(cc(c1)[N+](=O)[O-])[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"O=C(O[C@@H]1CCC=C(C)[C@@]21CCCC2)c1cc(cc(c1)[N+](=O)[O-])[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"OC(=O)[C@@H]1[C@](C)(C)[C@H](C(=O)O)[C@]1(C)C", printStereoWarnings=False) +smiles(R"O=CO[C@@H]1[C@](C)(C)[C@@H](OC=O)[C@@]1(C)C", printStereoWarnings=False) +smiles(R"O=CO[C@H]1[C@](C)(C)[C@H](OC=O)[C@@]1(C)C", printStereoWarnings=False) +smiles(R"O=C(O[C@@H]1C(C)(C)[C@H](OC(=O)C(Cl)(Cl)Cl)[C@@]1(C)C)C(Cl)(Cl)Cl", printStereoWarnings=False) +smiles(R"OC(=O)[C@H]1CC[C@@H](CC1)C[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"OC(=O)[C@@H]1CC[C@H](CC1)CC1CCC1", printStereoWarnings=False) +smiles(R"O=C(O[C@@H]1CC[C@H](CC1)C(C)(C)C)c1ccccc1", printStereoWarnings=False) +smiles(R"O=C(O[C@@H]1CC[C@H](CC1)C(C)(C)C)c1ccc(cc1)[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"O=C(O[C@H]1CC[C@@H](CC1)C(C)(C)C)c1ccc(cc1)[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"O=C(O[C@@H]1CC[C@@H](CC1)C(C)(C)C)[C@H]1CC[C@H](CC1)C(C)(C)C", printStereoWarnings=False) +smiles(R"O=C(O[C@@H]1CC[C@H](CC1)[Si](C)(C)C)c1ccccc1", printStereoWarnings=False) +smiles(R"OC(=O)[C@H]1CC[C@@H](NCc2ccccc2)CC1", printStereoWarnings=False) +smiles(R"O=C(O[C@@H]1C(C)(C)OC(=O)[C@]21c1ccccc1c1ccccc21)c1ccc(cc1)[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"O=C(O[C@@H]1C(C)(C)OC(=O)[C@@]21c1ccccc1c1ccccc21)c1ccc(cc1)[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"OC(=O)[C@@H]1C[C@@H]2c3ccccc3[C@H]1c1ccccc21", printStereoWarnings=False) +smiles(R"OC(=O)[C@H]1C[C@H]2c3ccccc3[C@@H]1c1ccccc21", printStereoWarnings=False) +smiles(R"O=C(O[C@@H]1C[C@H]2C=C[C@@H]1[C@@]12CC1)c1ccccc1C(=O)O", printStereoWarnings=False) +smiles(R"OC(=O)[C@@H]1C[C@H]2CC[C@@H]1CC2", printStereoWarnings=False) +smiles(R"OC(=O)[C@@H]1C[C@@H](C[C@@H](C1)C(=O)O)C(=O)O", printStereoWarnings=False) +smiles(R"OC(=O)[C@@H]1CCN1[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"OC(=O)[C@H]1[C@H]2c3ccccc3[C@@H]([C@@H]1Br)c1ccccc21", printStereoWarnings=False) +smiles(R"OC(=O)[C@H]1[C@@H]2c3ccccc3[C@H]([C@H]1C)c1ccccc21", printStereoWarnings=False) +smiles(R"OC(=O)[C@H]1[C@@H]2C=CC=CC=C[C@@H]12", printStereoWarnings=False) +smiles(R"OC(=O)[C@@H]1[C@@H]2C[C@H]3C[C@@H]2C[C@@H]13", printStereoWarnings=False) +smiles(R"OC(=O)[C@@H]1[C@@H]2C[C@H]([C@@H]1C(=O)O)[C@H](C(=O)O)[C@H]2C(=O)O", printStereoWarnings=False) +smiles(R"O=C(O[C@H]1[C@H]2CCN(CC2)[C@H]1CN1CCC(=CC1)c1ccccc1)C(O)(c1ccccc1)c1ccccc1", printStereoWarnings=False) +smiles(R"OC(=O)[C@@H]1[C@@H](Br)[C@]2(C)c3ccccc3[C@@]1(C)c1ccccc21", printStereoWarnings=False) +smiles(R"OC(=O)[C@@H]1[C@H](c2ccccc2)[C@H](C(=O)O)[C@H]1c1ccccc1", printStereoWarnings=False) +smiles(R"O=C(O[C@H]1[C@H](COC(=O)c2ccccc2)O[C@@H](c2nn[nH]n2)[C@@H]1OC(=O)c1ccccc1)c1ccccc1", printStereoWarnings=False) +smiles(R"OC(=O)[C@H]1[C@H](C(=O)O)[C@]1(C)C", printStereoWarnings=False) +smiles(R"OC(=O)[C@@H]1[C@@H](C(=O)O)[C@]2(Cl)C(=C(Cl)[C@@]1(Cl)[C@@]2(Cl)Cl)Cl", printStereoWarnings=False) +smiles(R"OC(=O)[C@@H]1[C@@H](C(=O)O)[C@@H]2c3ccccc3[C@H]1c1ccccc21", printStereoWarnings=False) +smiles(R"OC(=O)[C@@H]1[C@@H](C(=O)O)[C@H]2c3ccccc3[C@@H]1c1ccccc21", printStereoWarnings=False) +smiles(R"OC(=O)[C@@H]1[C@@H](C(=O)O)[C@@H](C(=O)O)[C@H]1C(=O)O", printStereoWarnings=False) +smiles(R"OC(=O)[C@H]1[C@@H](C(=O)O)[C@H](C(=O)O)[C@H]1C(=O)O", printStereoWarnings=False) +smiles(R"O=C(O[C@@H]1[C@@H](OC(=O)C(Cl)Cl)[C@H](OC(=O)C(Cl)Cl)[C@@H](OC(=O)C(Cl)Cl)[C@H](OC(=O)C(Cl)Cl)[C@H]1OC(=O)C(Cl)Cl)C(Cl)Cl", printStereoWarnings=False) +smiles(R"O=C(O[C@@H]1CN2CC[C@H]1CC2)C1CC(=O)N(C)C(=O)C1", printStereoWarnings=False) +smiles(R"O=C(O[C@@H]1CN2CC[C@@H]1CC2)CC(=O)c1ccccc1", printStereoWarnings=False) +smiles(R"O=C(O[C@H]1CN2CC[C@@H]1CC2)[C@H](c1ccccc1)C1(O)CCCC1", printStereoWarnings=False) +smiles(R"O=C(O[C@H]1CN2CC[C@H]1CC2)[C@@](O)(c1ccccc1)c1cccc2CC(C)(C)Oc12", printStereoWarnings=False) +smiles(R"O=C(O[C@@H]1CN2CC[C@H]1CC2)[C@@](O)(Cc1ccccc1)C1CC1", printStereoWarnings=False) +smiles(R"OC(=O)[C@@H]1CS[C@]2(CCCC2)N1", printStereoWarnings=False) +smiles(R"OC(=O)[C@@H]1N[Pt@@](Cl)(Cl)N[C@@H]1C(=O)O", printStereoWarnings=False) +smiles(R"OC(=O)[C@H](c1ccccc1)[S@@](=O)(=O)[C@H](C(=O)O)c1ccccc1", printStereoWarnings=False) +smiles(R"O=C(O[C@@H]([C@@H]1O[C@@H](OC[C@H]1OC(=O)c1ccccc1)c1ccccc1)[C@@H]1O[C@@H](OC[C@H]1OC(=O)c1ccccc1)c1ccccc1)c1ccccc1", printStereoWarnings=False) +smiles(R"OC(=O)[C@@H]([C@@H](C)[C@H](C(=O)O)S(=O)(=O)O)S(=O)(=O)O", printStereoWarnings=False) +smiles(R"O=C(O[C@@H]([C@H](COC(=O)c1ccccc1)OC(=O)c1ccccc1)[C@H](OC(=O)c1ccccc1)c1cnn(n1)c1ccccc1)c1ccccc1", printStereoWarnings=False) +smiles(R"O=C(O[C@H]([C@H](COC(=O)c1ccccc1)OC(=O)c1ccccc1)[C@@H](OC(=O)c1ccccc1)c1cnn(n1)c1ccccc1)c1ccccc1", printStereoWarnings=False) +smiles(R"O=C(O[C@@H]([C@H](COC(=O)c1ccccc1)OC(=O)c1ccccc1)[C@H](OC(=O)c1ccccc1)[C@H](OC(=O)c1ccccc1)c1cnn(n1)c1ccccc1)c1ccccc1", printStereoWarnings=False) +smiles(R"OC(=O)[C@@H](Cl)C12C[C@]3(C)C[C@@](C)(C[C@@](C)(C3)C2)C1", printStereoWarnings=False) +smiles(R"OC(=O)[C@@H](C)O", printStereoWarnings=False) +smiles(R"O=C(O[C@@H](COC(c1ccccc1)(c1ccccc1)c1ccccc1)[C@@H]1O[C@@](C)(C)O[C@H]1[C@H](COC(c1ccccc1)(c1ccccc1)c1ccccc1)OC(=O)c1ccccc1)c1ccccc1", printStereoWarnings=False) +smiles(R"O=C(O[C@@H](CO[C@H]1O[C@@H](COC(=O)c2ccccc2)[C@H](OC(=O)c2ccccc2)[C@@H](OC(=O)c2ccccc2)[C@H]1OC(=O)c1ccccc1)[C@H](OC(=O)c1ccccc1)[C@@H](OC(=O)c1ccccc1)c1cnn(n1)c1ccccc1)c1ccccc1", printStereoWarnings=False) +smiles(R"O=C(O[C@@H](COC(=O)c1ccccc1)[C@@H](OC(=O)c1ccccc1)c1cnn(n1)c1ccccc1)c1ccccc1", printStereoWarnings=False) +smiles(R"OC(=O)[C@@H](C)[S@](=O)(=O)[C@@H](C)C(=O)O", printStereoWarnings=False) +smiles(R"OC(=O)[C@@H](C)[S@@](=O)(=O)[C@H](C)C(=O)O", printStereoWarnings=False) +smiles(R"OC(=O)[C@@H](NC(C)(C)C)[C@]12C[C@]3(C)C[C@@](C)(C[C@@](C)(C3)C2)C1", printStereoWarnings=False) +smiles(R"OC(=O)[C@H](N)CSC[C@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"OC(=O)[C@H](N)CSC[C@@-]12C3=C4C5=C1[Fe+2]16782345[C-]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"[O-]C(=O)[C@H]([NH2+]C(C)(C)C)[C@]12C[C@]3(C)C[C@@](C)(C[C@@](C)(C3)C2)C1", printStereoWarnings=False) +smiles(R"[O-]C(=O)[C@H]([NH2+]C(C)(C)C)C12C[C@@]3(C)C[C@](C)(C[C@](C)(C3)C2)C1", printStereoWarnings=False) +smiles(R"OC(=O)[C@@H](N[Pd@](Cl)(Cl)N[C@@H](C(=O)O)c1ccccc1)c1ccccc1", printStereoWarnings=False) +smiles(R"OC(=O)[C@@H](N[Pt@](Cl)(Cl)N[C@@H](C(=O)O)c1ccccc1)c1ccccc1", printStereoWarnings=False) +smiles(R"OC(=O)[C@@H](O)[C@H](O)C(=O)O", printStereoWarnings=False) +smiles(R"OC(=O)C[N@@+]12CC[N@@+]34CC(=O)O[Rh]24([O-])(OC(=O)C1)OC(=O)C3", printStereoWarnings=False) +smiles(R"OC(=O)C[N@@+]12CC[N@+]34CC(=O)O[Rh]24([O-])(OC(=O)C1)OC(=O)C3", printStereoWarnings=False) +smiles(R"OC(=O)C[N@@+]12CC(=O)O[Rh]342([O-])OC(=O)C[N@@+]4(CC(=O)O3)[C@H](C)C1", printStereoWarnings=False) +smiles(R"OC(=O)C[N@@+]12CC(=O)O[Rh]342([O-])OC(=O)C[N@+]4(CC(=O)O3)[C@H](C)C1", printStereoWarnings=False) +smiles(R"O=C(OCn1ccc2c(c1)c(C)c1c([nH]c3ccccc13)c2C)c1ccccc1", printStereoWarnings=False) +smiles(R"OC(=O)Cn1ccccc1", printStereoWarnings=False) +smiles(R"OC(=O)C[N+]1(CC(=O)O)[C@H]2CCCC[C@H]2[N+](CC(=O)O)(CC(=O)O)[Pd@@]1(Cl)Cl", printStereoWarnings=False) +smiles(R"OC(=O)C[N+]1(CC(=O)O)[C@@H]2CCCC[C@H]2[N+](CC(=O)O)(CC(=O)O)[Pt@]1(Cl)Cl", printStereoWarnings=False) +smiles(R"OC(=O)CN1C(=O)[C@@H]2[C@H]3c4ccccc4[C@H](c4ccccc34)[C@@H]2C1=O", printStereoWarnings=False) +smiles(R"OC(=O)C/N=C(\c1ccccc1)/C(=N\CC(=O)O)/c1ccccc1", printStereoWarnings=False) +smiles(R"OC(=O)COc1c(Cl)cc(/N=C/c2ccc(cc2)N2CC[C@@]3(CCCCC3)CC2)cc1Cl", printStereoWarnings=False) +smiles(R"OC(=O)C(=O)O", printStereoWarnings=False) +smiles(R"OC(=O)CP(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"O=C([OH+][Ti]12345678([OH+]C(=O)C(F)(F)C(F)(F)F)(C9=C3C2=C1[C@H+]49)C1=C6C7=C5[C@@H+]81)C(F)(F)C(F)(F)F", printStereoWarnings=False) +smiles(R"O=C(O/N=C/1\c2ccccc2[C@H](Br)[C@@H](Br)c2ccccc12)c1cc(cc(c1)[N+](=O)[O-])[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"O=C(O/N=C\1/c2ccccc2[C@H](Br)[C@@H](Br)c2ccccc12)c1cc(cc(c1)[N+](=O)[O-])[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"O=C(ON[C@@H]1CC[C@H](CC1)CC1CCCCC1)c1ccccc1", printStereoWarnings=False) +smiles(R"OC(=O)P(=O)([O-])[O-]", printStereoWarnings=False) +smiles(R"O=C(O[Sn@@](OC(=O)[C@@]12C3=C4C5=C1[Fe]16782345C2=C7C6=C1[C@H]82)(c1ccccc1)c1ccccc1)[C@@]12C3=C4C5=C1[Fe]16782345C2=C7C6=C1[C@@H]82", printStereoWarnings=False) +smiles(R"OC[P+](CO)(CO)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"OC[P+](CO)(CO)C12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"[O+]#C[Rh@@]1(Cl)[AsH](C[AsH](c2ccccc2)(c2ccccc2)[Rh@](Cl)(C#[O+])[AsH](C[AsH]1(c1ccccc1)c1ccccc1)(c1ccccc1)c1ccccc1)(c1ccccc1)c1ccccc1", printStereoWarnings=False) +smiles(R"O=C(Sc1ccccc1)[C@H]1O[C@@]21CCCCC2", printStereoWarnings=False) +smiles(R"O[Cu+2](O)(N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)(N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)(N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"O[Cu+2](O)(NC12C[C@H]3C[C@H](C[C@H](C3)C2)C1)(NC12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)(NC12C[C@H]3C[C@H](C[C@H](C3)C2)C1)NC12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"[O+]#C[W+]12345(C#[O+])([OH+]/[N+]/1=C(\C)/C=C(C)C)[C@@H]1C4=C3C2=C51", printStereoWarnings=False) +smiles(R"[OH2-][H+]([OH2-])[OH2-]", printStereoWarnings=False) +smiles(R"[OH]#C[Ru]123456([C@@H]7C3=C2C1=C47)C(=O)[Ru]12346(C#[OH])([C@H]6C3=C2C1=C46)C5=O", printStereoWarnings=False) +smiles(R"[OH]#C[Ru]123456(C(=O)[Ru]789%102(C#[OH])(C1=O)C1(=C9(C)C8(=C7(C)[C@]%101C)C)C)[C@]1(C)C5(=C4(C)C3(=C61C)C)C", printStereoWarnings=False) +smiles(R"[OH-][H+]([OH-])[OH-]", printStereoWarnings=False) +smiles(R"O[Mg+2](O)(N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)(N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"O[Mg+2](O)(NC12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)(NC12C[C@H]3C[C@H](C[C@H](C3)C2)C1)NC12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"ON1C(C)(C)CC(/N=C\C=N\C2CC(C)(C)N(O)C(C)(C)C2)CC1(C)C", printStereoWarnings=False) +smiles(R"O=[N+]1[C@@H]2[C@H]3CC[C@H](C3)[C@H]2[N+](=O)[Co]23451[C@H]1C4=C3C2=C51", printStereoWarnings=False) +smiles(R"O=[N+]1[CH-]N=C2NNNC2=C1N", printStereoWarnings=False) +smiles(R"[O-][n+]1c(N)c(C(=O)NC23C[C@@H]4C[C@@H](C[C@@H](C4)C3)C2)[n+]([O-])c2ccccc12", printStereoWarnings=False) +smiles(R"[O-][n+]1c([nH]n(C)c2[nH]c(=O)n(C)c(=O)c12)c1ccc2OCOc2c1", printStereoWarnings=False) +smiles(R"[O-][n+]1c([nH]n(C)c2[nH]c(=O)n(C)c(=O)c12)c1cccnc1", printStereoWarnings=False) +smiles(R"[O-][n+]1c(nn(C)c2nc(=O)n(C)c(=O)c12)c1ccc2OCOc2c1", printStereoWarnings=False) +smiles(R"[O-][n+]1c(nn(C)c2nc(=O)n(C)c(=O)c12)c1cccnc1", printStereoWarnings=False) +smiles(R"ON1C(=O)[C@@]2(CCCCC2)C(=N)[C@@]21CCCCC2", printStereoWarnings=False) +smiles(R"ON1C(=O)C[C@@H]2[C@H]1C=C[C@]12CCCC1", printStereoWarnings=False) +smiles(R"[O-][n+]1nc2c(cc3ccc(Cl)[nH]n23)cc1C", printStereoWarnings=False) +smiles(R"[O-][N+]1ONc2cc(ccc12)[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"[O-][N+]1ONc2[nH]c(=N)[nH]c(=N)c12", printStereoWarnings=False) +smiles(R"ON[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"O/N=C/1\[C@@]2(CCCC=C2)NC(=O)[C@@]21CCCCC2", printStereoWarnings=False) +smiles(R"O/N=C/1\[C@]2(CCCCC2)N(O)C(=O)[C@@]21CCCCC2", printStereoWarnings=False) +smiles(R"O/N=C/1\[C@@]2(CCCC=C2)N(O)C(=O)[C@@]21CCCCC2", printStereoWarnings=False) +smiles(R"O/N=C/1\C[C@]2(CC[C@@]1(CC2)c1ccccc1)N1CCOCC1", printStereoWarnings=False) +smiles(R"O/N=C/1\C[C@@]2(CC[C@]1(CC2)Cc1ccccc1)N1CCOCC1", printStereoWarnings=False) +smiles(R"O=Nc1cc2nc3c(nc2cc1N=O)c1ccccc1c1ccccc31", printStereoWarnings=False) +smiles(R"O/N=C\1/C=C/C(=C(/C#N)\c2cccc3ccccc23)/C=C1", printStereoWarnings=False) +smiles(R"O/N=C/1\C=C/C(=C(\C#N)/c2ccc(Cl)cc2)/C=C1", printStereoWarnings=False) +smiles(R"O/N=C/1\[C@](C)(C)/C(=N/O)/[C@@]1(C)C", printStereoWarnings=False) +smiles(R"O/N=C/1\C=C/C(=N\O)/C2=C1[C@@H]1c3ccccc3[C@@]2(C(=O)OC)c2ccccc12", printStereoWarnings=False) +smiles(R"O/N=C/1\C=C/C(=N\O)/C2=C1[C@@H]1c3ccccc3[C@H]2c2ccccc12", printStereoWarnings=False) +smiles(R"O/N=C\1/C[C@H]2CCCC[C@H]2C/C1=N\O", printStereoWarnings=False) +smiles(R"O/N=C/1\C[C@@H](c2ccccc2)N(C)[C@@H](C1)c1ccccc1", printStereoWarnings=False) +smiles(R"O/N=C/1\C[C@@H](c2ccccc2)N(N=O)[C@@H](C1)c1ccccc1", printStereoWarnings=False) +smiles(R"[O-]/N(=C/1\C=C([N+](=O)[O-])C2(OC3C(O2)C(COP(=O)(O)OP(=O)(O)OP(=O)(O)O)OC3n2cnc3c(N)ncnc23)C(=C1)[N+](=O)[O-])/O", printStereoWarnings=False) +smiles(R"O/N=C\1/[C@@H](CCC[C@H]1CN(C)C)CN(C)C", printStereoWarnings=False) +smiles(R"O/N=C\1/[C@H](CC[C@@H]1CN(C)C)CN(C)C", printStereoWarnings=False) +smiles(R"O=Nc1c(N)nc(n(C)c1=O)[S+](C)[Pd@@](Cl)(Cl)[S+](C)c1nc(N)c(N=O)c(=O)n1C", printStereoWarnings=False) +smiles(R"O/N=C/1\C(=N\NC(=S)N)\CC(C)(C)C\C1=N/NC(=S)N", printStereoWarnings=False) +smiles(R"O/N=C/1\C(=O)N/C(=N)/NC1=O", printStereoWarnings=False) +smiles(R"O/N=C(\c1ccccc1)/[C@@H]1[C@H](c2ccccc2)[C@H]1/C(=N/O)/c1ccccc1", printStereoWarnings=False) +smiles(R"O/N=C/c1cnn(n1)c1ccccc1", printStereoWarnings=False) +smiles(R"O/N=C/c1nc2ncnc3ccn1c23", printStereoWarnings=False) +smiles(R"O/N=C/c1[nH]c(Cc2[nH]c(/C=N\O)c(C)c2C(=O)OCC)c(C(=O)OCC)c1C", printStereoWarnings=False) +smiles(R"O/N=C(/C)\[C@@]12C3=C4C5=C1[Fe]16782345[C@H]2C7=C6C1=C82", printStereoWarnings=False) +smiles(R"[O-][N+](C)(C)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"[O-][N+](C)(C)C12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"O/N=C(\C)/C(=N\O)/C", printStereoWarnings=False) +smiles(R"O/N=C(/C[N@@+]12CN3CN(CN(C3)C2)C1)\c1ccccc1", printStereoWarnings=False) +smiles(R"O/N=C(/C[N@@+]12CN3CN(CN(C3)C2)C1)\c1ccc(I)cc1", printStereoWarnings=False) +smiles(R"O/N=C(/C(=N/NC(=O)c1ccccc1)/C)\C(=N\NC(=O)c1ccccc1)\C", printStereoWarnings=False) +smiles(R"O/N=C(/C(=N/NC(=O)Cc1ccccc1)/C)\C(=N\NC(=O)Cc1ccccc1)\C", printStereoWarnings=False) +smiles(R"O/N=C(\C(=N\O)\[C@H](C#N)c1ccc(Cl)cc1)/[C@H](C#N)c1ccc(Cl)cc1", printStereoWarnings=False) +smiles(R"O=N[C@H]1C(=O)N/C(=N)/NC1=O", printStereoWarnings=False) +smiles(R"ONC(=O)[C@]12[C@H]3[C@H]4[C@@H]2[C@H]2[C@@H]1[C@@H]3[C@@]42C(=O)NO", printStereoWarnings=False) +smiles(R"ONC(=O)C[C@@]12[C@H]3[C@H]4[C@@H]1[C@H]1[C@@H]2[C@@H]3[C@@]41CC(=O)NO", printStereoWarnings=False) +smiles(R"ONC(=O)[C@@H]1CCCC[C@@]21OCCO2", printStereoWarnings=False) +smiles(R"O[Ni](O)(N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)(N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)(N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"[O+]#[N+][Mn]123456([C@@H]7C3=C2C1=C47)C(=O)[Mn]12346([N+]#[O+])([C@H]6C3=C2C1=C46)C5=O", printStereoWarnings=False) +smiles(R"O=NN1[C@H]2c3ccccc3[C@@H]1c1ccccc21", printStereoWarnings=False) +smiles(R"O=NN1CN2CN(N=O)CN(C2)C1", printStereoWarnings=False) +smiles(R"O=NN(C)C(=O)N[C@H]1CC[C@H](CC1)NC(=O)N(C)N=O", printStereoWarnings=False) +smiles(R"O=NN([C@H]1CC[C@@H](CC1)C(=O)O)C(=O)N[C@@H]1CC[C@H](CC1)C(=O)O", printStereoWarnings=False) +smiles(R"O=NN([C@H]1CC[C@@H](O)CC1)C(=O)N[C@@H]1CC[C@H](O)CC1", printStereoWarnings=False) +smiles(R"[O-][N+](=O)[C@]12c3ccccc3[C@@H](C[C@]2(Br)C(=O)Cl)c2ccccc12", printStereoWarnings=False) +smiles(R"[O-][N+](=O)[C@@]12c3ccccc3[C@H](C[C@]2(Br)C(=O)Cl)c2ccccc12", printStereoWarnings=False) +smiles(R"[O-][N+](=O)[C@]12CC[C@H](c3ccccc13)c1ccccc21", printStereoWarnings=False) +smiles(R"[O-][N+](=O)[C@@]12CC[C@@H](c3ccccc13)c1ccccc21", printStereoWarnings=False) +smiles(R"[O-][N+](=O)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"[O-][N+](=O)C12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"[O-][N+](=O)[C@]1(Br)CC[C@@](Br)(CC1)[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"[O-][N+](=O)[C@@]1(Br)CC[C@](Br)(CC1)[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"[O-][N+](=O)c1c2ccc(Cl)[nH]n2c2n[n+]([O-])c(C)cc12", printStereoWarnings=False) +smiles(R"[O-][N+](=O)c1c2nn(nc2c2nonc2c1O)c1ccccc1", printStereoWarnings=False) +smiles(R"[O-][N+](=O)C1=C[C-]2C(=[N+]([O-])[C@]3(CCCCC3)[N+]2=O)C=C1", printStereoWarnings=False) +smiles(R"[O-][N+](=O)C1=C[C-]2C(=[N+]([O-])[C@@]3(CCCCC3)[N+]2=O)C=C1", printStereoWarnings=False) +smiles(R"[O-][N+](=O)c1cc2n[nH][nH]c2c2[nH]onc12", printStereoWarnings=False) +smiles(R"[O-][N+](=O)c1cc2nn[nH]c2c2nonc12", printStereoWarnings=False) +smiles(R"[O-][N+](=O)c1cc(Br)c2c(c1)C(=O)c1cc(cc([N+](=O)[O-])c21)[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"[O-][N+](=O)c1ccc2c3ccccc3[C@H](N3C[C@@H]4CC[C@@H](CC4)C3)c2c1", printStereoWarnings=False) +smiles(R"[O-][N+](=O)c1ccc2c(c1)[C@@H](N1C[C@@H]3CC[C@@H](CC3)C1)c1ccccc21", printStereoWarnings=False) +smiles(R"ON(=O)c1ccc2c(c1)n1c(N3CCCC3)n3ccccc3c1c1c3ccccn3c(N3CCCC3)n21", printStereoWarnings=False) +smiles(R"[O-][N+](=O)c1ccc2c(c1)n1c(N(C)C)[n+]3ccccc3c1c1c3ccccn3c(N(C)C)[n+]21", printStereoWarnings=False) +smiles(R"[O-][N+](=O)c1ccc2c(no[n+]2[O-])c1", printStereoWarnings=False) +smiles(R"[O-][N+](=O)c1ccc2[n+]3C(N(C)C)N4CCCCC4c3c3n(c2c1)c(N(C)C)[n+]1ccccc31", printStereoWarnings=False) +smiles(R"[O-][N+](=O)c1ccc2nc3c4cccc5cc6ccccc6c(c3nc2c1)c45", printStereoWarnings=False) +smiles(R"[O-][N+](=O)c1ccc2nc3c(nc2c1)c1cccc2cccc3c12", printStereoWarnings=False) +smiles(R"[O-][N+](=O)c1ccc2[nH]c3c4cccc5cc6ccccc6c(c3[nH]c2c1)c45", printStereoWarnings=False) +smiles(R"[O-][N+](=O)c1ccc2[nH]c3c([nH]c2c1)c1cccc2cccc3c12", printStereoWarnings=False) +smiles(R"[O-][N+](=O)c1ccc2[nH][se][nH]c2c1", printStereoWarnings=False) +smiles(R"[O-][N+](=O)c1ccc2[nH]s[nH]c2c1", printStereoWarnings=False) +smiles(R"[O-][N+](=O)c1ccc2n[se]nc2c1", printStereoWarnings=False) +smiles(R"[O-][N+](=O)c1ccc2nsnc2c1", printStereoWarnings=False) +smiles(R"[O-][N+](=O)c1cccc2c1[C@@H]1c3ccccc3[C@H]2c2ccccc12", printStereoWarnings=False) +smiles(R"[O-][N+](=O)c1cccc2c1[C@H]1c3ccccc3[C@@H]2c2ccccc12", printStereoWarnings=False) +smiles(R"[O-][N+](=O)c1cccc2c3nonc3ccc12", printStereoWarnings=False) +smiles(R"[O-][N+](=O)c1cccc2c3NONc3ccc12", printStereoWarnings=False) +smiles(R"[O-][N+](=O)[C@]1(C)C=C[C@@]2(C=C1)OC(=O)C(C)(C)O2", printStereoWarnings=False) +smiles(R"[O-][N+](=O)[C@@]1(C)C=C[C@]2(C=C1)OC(=O)C(C)(C)O2", printStereoWarnings=False) +smiles(R"[O-][N+](=O)c1ccccc1[C@@]12C3=C4C5=C1[Fe]16782345C2=C7[C@]8(c3ccccc3[N+](=O)[O-])C6=C12", printStereoWarnings=False) +smiles(R"[O-][N+](=O)c1ccccc1[C@@]12C3=C4C5=C1[Fe]16782345C2=C7[C@@]8(c3ccccc3[N+](=O)[O-])C6=C12", printStereoWarnings=False) +smiles(R"[O-][N+](=O)c1ccc(cc1)[C@]12CCCC(=O)[C@H]1[C@H]1C(=O)CCC[C@@]21c1ccc(cc1)[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"[O-][N+](=O)c1ccc(cc1)[C@@]12CCCC(=O)[C@@H]1[C@@H]1C(=O)CCC[C@]21c1ccc(cc1)[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"[O-][N+](=O)c1ccc(cc1)C1=C(N=c2ccccc2=c2ccccc2=N1)c1ccc(cc1)[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"[O-][N+](=O)C1CCC(CC1)C1=C(N=C2CCCCC2C2CCCCC2=N1)c1ccc(cc1)[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"[O-][N+](=O)c1cccc(c1)c1n[n+](c2ccc(cc2)c2ccc(cc2)[n+]2nc(nn2c2ccccc2)c2cccc(c2)[N+](=O)[O-])n(n1)c1ccccc1", printStereoWarnings=False) +smiles(R"[O-][N+](=O)c1cccc(c1)c1nn(c2ccccc2)[n+](n1)c1ccc(cc1)c1ccc(cc1)[n+]1nc([nH]n1c1ccccc1)c1cccc(c1)[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"[O-][N+](=O)c1ccc(cc1)c1nnc(o1)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"[O-][N+](=O)c1ccc(cc1)c1nnc(o1)C12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"[O-][N+](=O)c1ccc(cc1)[C@@H]1N2CCCC[C@@H]2[C@@H]2CCCCN12", printStereoWarnings=False) +smiles(R"[O-][N+](=O)c1ccc(cc1)[C@H]1N2CCCC[C@H]2[C@H]2CCCCN12", printStereoWarnings=False) +smiles(R"[O-][N+](=O)c1cccc(c1)[C@@H]1OC[C@]2(CO1)CO[C@@H](OC2)c1cccc(c1)[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"[O-][N+](=O)c1cccc(c1)[C@@H]1OC[C@@]2(CO1)CO[C@H](OC2)c1cccc(c1)[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"[O-][N+](=O)c1ccc(cc1)[C@H]1O[C@H]1C(=O)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"[O-][N+](=O)c1ccc(cc1)[C@H]1O[C@H]1C(=O)C12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"[O-][N+](=O)c1cccc(c1)[C@H]1O[C@H]1C(=O)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"[O-][N+](=O)c1cccc(c1)[C@H]1O[C@H]1C(=O)C12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"[O-][N+](=O)c1ccc(cc1)[C@@H]1ON=C(c2ccccc2)N1[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"[O-][N+](=O)c1ccc(cc1)[C@@H]1ON=C(c2ccccc2)N1C12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"[O-][N+](=O)c1ccc(cc1)[C@@H](/N=C/c1ccc(cc1)[N+](=O)[O-])/N=C/c1ccc(cc1)[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"[O-][N+](=O)c1ccc(cc1)[C@H](/N=C/c1ccc(cc1)[N+](=O)[O-])/N=C/c1ccc(cc1)[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"[O-][N+](=O)c1ccc(cc1)Cn1c2cc3c(Cl)c(=O)c4ccccc4c3cc2nc2ccccc12", printStereoWarnings=False) +smiles(R"[O-][N+](=O)c1ccc(cc1)Cn1c2cc3c(Cl)c(=O)c4CCCCc4c3cc2nc2ccccc12", printStereoWarnings=False) +smiles(R"[O-][N+](=O)c1ccc(cc1)/C=N/[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"[O-][N+](=O)c1ccc(cc1)/C=N/C12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"[O-][N+](=O)c1ccccc1/C=N/[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"[O-][N+](=O)c1ccccc1/C=N/C12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"[O-][N+](=O)c1ccc(cc1)CSc1nnc(n1C)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"[O-][N+](=O)c1ccc(cc1)CSc1nnc(n1C)C12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"[O-][N+](=O)c1cc(ccc1F)N1C(=O)[C@@H]2[C@H](C1=O)[C@]1(Cl)C(=C(Cl)[C@@]2(Cl)[C@]1(Cl)Cl)Cl", printStereoWarnings=False) +smiles(R"[O-][N+](=O)c1cc(ccc1F)N1C(=O)[C@@H]2[C@H](C1=O)[C@]1(Cl)C(=C(Cl)[C@@]2(Cl)C1(Cl)Cl)Cl", printStereoWarnings=False) +smiles(R"[O-][N+](=O)c1ccc(cc1)n1nc2c(ccc3[n+]([O-])onc23)n1", printStereoWarnings=False) +smiles(R"[O-][N+](=O)c1ccc(cc1)n1[nH]c2ccc3[n+]([O-])onc3c2n1", printStereoWarnings=False) +smiles(R"[O-][N+](=O)c1cc(ccc1N/N=C/1\C=C[C@](C)(C=C1)C(C)(Cl)Cl)[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"[O-][N+](=O)c1cc(ccc1N/N=C\1/C=C[C@@](C)(C=C1)C(C)(Cl)Cl)[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"[O-][N+](=O)c1cc(ccc1N/N=C/1\C=C[C@](C)(C=C1)C(Cl)(Cl)Cl)[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"[O-][N+](=O)c1cc(ccc1N/N=C\1/C=C[C@@](C)(C=C1)C(Cl)(Cl)Cl)[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"[O-][N+](=O)c1cc(ccc1N/N=C/1\[C@@H]2CC[C@H]1CC2)[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"[O-][N+](=O)c1cc(ccc1N/N=C/1\[C@H]2CC[C@@H]1CC2)[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"[O-][N+](=O)c1cc(ccc1N/N=C/[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"[O-][N+](=O)c1cc(ccc1N/N=C/C12C[C@H]3C[C@H](C[C@H](C3)C2)C1)[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"[O-][N+](=O)c1cc(ccc1N/N=C(/c1ccccc1)\C(=N\Nc1ccc(cc1[N+](=O)[O-])[N+](=O)[O-])\c1ccccc1)[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"[O-][N+](=O)c1cc(ccc1N/N=C(\c1ccccc1)/C(=N\Nc1ccc(cc1[N+](=O)[O-])[N+](=O)[O-])/c1ccccc1)[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"[O-][N+](=O)c1cc(cc(c1)[N+](=O)[O-])c1nnc(o1)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"[O-][N+](=O)c1cc(cc(c1)[N+](=O)[O-])c1nnc(o1)C12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"[O-][N+](=O)c1cccc(/C=c/2\sc3nc4ccccc4n3c2=O)c1", printStereoWarnings=False) +smiles(R"[O-][N+](=O)c1cccc(/C=c/2\sc3[nH]c4ccccc4n3c2=O)c1", printStereoWarnings=False) +smiles(R"[O-][N+](=O)c1cccc(/C=C/C(=O)[C@-]23C4=C5C6=C2[Fe+2]27893456[C-]3C8=C7C2=C93)c1", printStereoWarnings=False) +smiles(R"[O-][N+](=O)c1cccc(/C=C/C(=O)[C@@-]23C4=C5C6=C2[Fe+2]27893456[C-]3C8=C7C2=C93)c1", printStereoWarnings=False) +smiles(R"[O-][N+](=O)c1cccc(/C=N/[C@]23C[C@@H]4C[C@@H](C[C@@H](C4)C3)C2)c1", printStereoWarnings=False) +smiles(R"[O-][N+](=O)c1cccc(/C=N/C23C[C@@H]4C[C@@H](C[C@@H](C4)C3)C2)c1", printStereoWarnings=False) +smiles(R"[O-][N+](=O)c1cccc(/N=N/c2ccc(c(O)c2)C(=O)[OH+][Pt@@+2]2(N[C@@H]3CCCC[C@@H]3N2)[OH+]C(=O)c2ccc(/N=N/c3cccc(c3)[N+](=O)[O-])cc2O)c1", printStereoWarnings=False) +smiles(R"[O-][N+](=O)c1cccc(/N=N/c2ccc(c(O)c2)C(=O)[OH+][Pt@+2]2(N[C@@H]3CCCC[C@@H]3N2)[OH+]C(=O)c2ccc(/N=N/c3cccc(c3)[N+](=O)[O-])cc2O)c1", printStereoWarnings=False) +smiles(R"[O-][N+](=O)c1c(C)no[n+]1[O-]", printStereoWarnings=False) +smiles(R"[O-][N+](=O)c1cc([N+](=O)[O-])c2[nH]n(c3ccccc3)[n+]([O-])c2c1", printStereoWarnings=False) +smiles(R"[O-][N+](=O)c1cc([N+](=O)[O-])c2nn(c3ccccc3)[n+]([O-])c2c1", printStereoWarnings=False) +smiles(R"[O-][N+](=O)c1cc([N+](=O)[O-])c2nonc2c1O", printStereoWarnings=False) +smiles(R"[O-][N+](=O)c1cc([N+](=O)[O-])c2NONc2c1O", printStereoWarnings=False) +smiles(R"[O-][N+](=O)c1cc([N+](=O)[O-])c2no[n+]([O-])c2c1Nc1ccccc1", printStereoWarnings=False) +smiles(R"[O-][N+](=O)c1cc([N+](=O)[O-])c2NO[N+]([O-])c2c1Nc1ccccc1", printStereoWarnings=False) +smiles(R"[O-]/N(/O)=C\1/C=C([N+](=O)[O-])C2(OC3C(O2)C(COP(=O)(O)OP(=O)(O)OP(=O)(O)O)OC3n2cnc3c(N)ncnc23)C(=C1)[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"[O-][N+](=O)c1cc([N+](=O)[O-])c(O)c(c1)[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"[O-][N+](=O)[C@]1(C)CO[C@]2(OC1)C(C)(C)[C@@]1(OC[C@](C)(CO1)[N+](=O)[O-])C2(C)C", printStereoWarnings=False) +smiles(R"[O-][N+](=O)[C@@]1(C)CO[C@]2(OC1)C(C)(C)[C@@]1(OC[C@@](C)(CO1)[N+](=O)[O-])C2(C)C", printStereoWarnings=False) +smiles(R"[O-][N+](=O)[C@]1(C)CO[C@H](/C=C/c2ccccc2)OC1", printStereoWarnings=False) +smiles(R"[O-][N+](=O)[C@]1(C)CO[C@H](CCc2ccccc2)OC1", printStereoWarnings=False) +smiles(R"[O-][N+](=O)[C@@]1(C)CO[C@@H](/C=C/c2ccccc2)OC1", printStereoWarnings=False) +smiles(R"[O-][N+](=O)[C@@]1(C)CO[C@@H](CCc2ccccc2)OC1", printStereoWarnings=False) +smiles(R"[O-][N+](=O)[C@]1(C)CO[C@H](OC1)Cc1ccccc1", printStereoWarnings=False) +smiles(R"[O-][N+](=O)[C@@]1(C)CO[C@@H](OC1)Cc1ccccc1", printStereoWarnings=False) +smiles(R"[O-][N+](=O)[C@]1(Cl)CC[C@@](Cl)(CC1)[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"[O-][N+](=O)[C@@]1(Cl)CC[C@](Cl)(CC1)[N+](=O)[O-]", printStereoWarnings=False) +smiles(R"[O-][N+](=O)c1cnc2[nH]s[nH]c2c1N", printStereoWarnings=False) +smiles(R"[O-][N+](=O)c1cnc2nsnc2c1N", printStereoWarnings=False) +smiles(R"[O-][N+](=O)c1cnc(c2scc(/C=N/N3CC[S@](=O)(=O)CC3)n2)n1C", printStereoWarnings=False) +smiles(R"[O-][N+](=O)c1cnc(c2scc(/C=N/N3CC[S@@](=O)(=O)CC3)n2)n1C", printStereoWarnings=False) +smiles(R"[O-][N+](=O)c1c[nH]n([nH]1)c1ccccc1", printStereoWarnings=False) +smiles(R"[O-][N+](=O)c1cnn(n1)c1ccccc1", printStereoWarnings=False) +smiles(R"[O-][N+](=O)c1c(O)c2[nH]onc2c2nn([nH]c12)c1ccccc1", printStereoWarnings=False) +smiles(R"[O-][N+](=O)[C@]1(C[Se]c2ccccc2)CC[C@@H](CC1)C(C)(C)C", printStereoWarnings=False) +smiles(R"[O-][N+](=O)[C@@]1(C[Se]c2ccccc2)CC[C@H](CC1)C(C)(C)C", printStereoWarnings=False) +smiles(R"[O-][N+](=O)Cc1cnc2[nH]ncn2[nH]1", printStereoWarnings=False) +smiles(R"[O-][N+](=O)Cc1cnc2nncn2n1", printStereoWarnings=False) +smiles(R"[O-][N+](=O)/C=C/1\[SH+][Co+3]2([SH+]1)[SH+]/C(=C/[N+](=O)[O-])/[SH+]2", printStereoWarnings=False) +smiles(R"[O-][N+](=O)/C=C\1/[SH+][Co+3]2([SH+]1)[SH+]/C(=C/[N+](=O)[O-])/[SH+]2", printStereoWarnings=False) +smiles(R"[O-][N+](=O)/C=C/1\[SH+][Ni+2]2([SH+]1)[SH+]/C(=C/[N+](=O)[O-])/[SH+]2", printStereoWarnings=False) +smiles(R"[O-][N+](=O)/C=C\1/[SH+][Ni+2]2([SH+]1)[SH+]/C(=C/[N+](=O)[O-])/[SH+]2", printStereoWarnings=False) +smiles(R"[O-][N+](=O)/C=C/1\[SH+][Pt+2]2([SH+]1)[SH+]/C(=C/[N+](=O)[O-])/[SH+]2", printStereoWarnings=False) +smiles(R"[O-][N+](=O)/C=C\1/[SH+][Pt+2]2([SH+]1)[SH+]/C(=C/[N+](=O)[O-])/[SH+]2", printStereoWarnings=False) +smiles(R"[O-][N+](=O)/C(=C(/N[C@H](C)C12C[C@H]3C[C@@H](C[C@H](C3)C2)C1)\N[C@@H](C)C12C[C@H]3C[C@H](C[C@@H](C3)C2)C1)/C(=C(Cl)Cl)Cl", printStereoWarnings=False) +smiles(R"[O-][N+](=O)[C@H]1C[C@]21c1ccccc1c1ccccc21", printStereoWarnings=False) +smiles(R"[O-][N+](=O)[C@H]1C[C@@]21c1ccccc1c1ccccc21", printStereoWarnings=False) +smiles(R"[O-][N+](=O)[C@@H]1CC[C@@H](CC1)C1=CS[C@H]2CCCC[C@@H]2N1", printStereoWarnings=False) +smiles(R"[O-][N+](=O)[C@H]1CC[C@H](CC1)C1=CS[C@H]2CCCC[C@@H]2N1", printStereoWarnings=False) +smiles(R"[O-][N+](=O)[C@H]1[C@@H](c2ccccc2)[C@]21c1ccccc1c1ccccc21", printStereoWarnings=False) +smiles(R"[O-][N+](=O)[C@H]1[C@@H](c2ccccc2)[C@@]21c1ccccc1c1ccccc21", printStereoWarnings=False) +smiles(R"[O-][N+](=O)[C@@H]1C(=[O+][Cu@]2([O+]=C1C)[O+]=C(C)[C@H]([N+](=O)[O-])C(=[O+]2)C)C", printStereoWarnings=False) +smiles(R"[O-][N+](=O)[C@@H]1C(=[O+][Cu@@]2([O+]=C1C)[O+]=C(C)[C@@H]([N+](=O)[O-])C(=[O+]2)C)C", printStereoWarnings=False) +smiles(R"[O-][N+](=O)[C@@H]([C@H](CC(=O)c1ccccc1)c1ccccc1)[C@H](CC(=O)c1ccccc1)c1ccccc1", printStereoWarnings=False) +smiles(R"[O-][N+](=O)[C@H]([C@H](CC(=O)c1ccccc1)c1ccccc1)[C@H](CC(=O)c1ccccc1)c1ccccc1", printStereoWarnings=False) +smiles(R"[O-][N+](=O)[C@@H](/C=N/c1ccccc1)/C=N/c1ccccc1", printStereoWarnings=False) +smiles(R"[O-][N+](=O)[C@H](/C=N/c1ccccc1)/C=N/c1ccccc1", printStereoWarnings=False) +smiles(R"[O-][N+](=O)[O-]", printStereoWarnings=False) +smiles(R"[O-][N+](=O)O", printStereoWarnings=False) +smiles(R"ON(=O)O", printStereoWarnings=False) +smiles(R"[O-][N+](=O)O[Ca](O[N+](=O)[O-])(N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"[O-][N+](=O)O[Ca](O[N+](=O)[O-])(NC12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)NC12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"[O-][N+](=O)O[Co]1234([S+]=C([N-][N+]3=C(C)c3cccc[n+]13)N1C[C@H]3CC[C@H](CC3)C1)[S+]=C([N-][N+]4=C(C)c1cccc[n+]21)N1C[C@@H]2CC[C@@H](CC2)C1", printStereoWarnings=False) +smiles(R"[O-][N+](=O)O[Co]1234([S+]=C([N-][N+]3=C(C)c3cccc[n+]13)N1C[C@H]3CC[C@H](CC3)C1)[S+]=C([N-][N+]4=C(C)c1cccc[n+]21)N1C[C@H]2CC[C@H](CC2)C1", printStereoWarnings=False) +smiles(R"[O-][N+](=O)O[Co]123(O[N+](=O)[O-])[N@+]4(CC[N@@+]1(CC[N@+]2(CC[N@+]3(CC4)Cc1ccccc1)Cc1ccccc1)Cc1ccccc1)Cc1ccccc1", printStereoWarnings=False) +smiles(R"[O-][N+](=O)O[Co]123(O[N+](=O)[O-])[N@+]4(CC[N@+]1(CC[N@+]3(CC[N@@+]2(CC4)Cc1ccccc1)Cc1ccccc1)Cc1ccccc1)Cc1ccccc1", printStereoWarnings=False) +smiles(R"[O-][N+](=O)O[Cu]123(O[N+](=O)[O-])[N@+]4(CC[N@@+]1(CC[N@+]2(CC[N@+]3(CC4)Cc1ccccc1)Cc1ccccc1)Cc1ccccc1)Cc1ccccc1", printStereoWarnings=False) +smiles(R"[O-][N+](=O)O[Cu]123(O[N+](=O)[O-])[N@+]4(CC[N@+]1(CC[N@+]3(CC[N@@+]2(CC4)Cc1ccccc1)Cc1ccccc1)Cc1ccccc1)Cc1ccccc1", printStereoWarnings=False) +smiles(R"[O-][N+](=O)O[Pd](O[N+](=O)[O-])(NC12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)NC12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"[O-][N+](=O)O[Pd@@](O[N+](=O)[O-])(N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"[O-][N+](=O)O[Pt@]1(O)N[C@@H]2CCCC[C@H]2N1", printStereoWarnings=False) +smiles(R"[O-][N+](=O)O[Pt@@]1(O)N[C@@H]2CCCC[C@H]2N1", printStereoWarnings=False) +smiles(R"[O-][N+](=O)O[Zn]123(O[N+](=O)[O-])[N@+]4(CC[N@@+]1(CC[N@+]2(CC[N@+]3(CC4)Cc1ccccc1)Cc1ccccc1)Cc1ccccc1)Cc1ccccc1", printStereoWarnings=False) +smiles(R"[O-][N+](=O)O[Zn]123(O[N+](=O)[O-])[N@+]4(CC[N@+]1(CC[N@+]3(CC[N@@+]2(CC4)Cc1ccccc1)Cc1ccccc1)Cc1ccccc1)Cc1ccccc1", printStereoWarnings=False) +smiles(R"O=NO[Pd@]1(Cl)N[C@@H]2CCCC[C@H]2N1", printStereoWarnings=False) +smiles(R"O=P12CN3CN(C1)C[N@@+](C)(C3)C2", printStereoWarnings=False) +smiles(R"O=P1(OCC2(CO1)COP(=O)(OC2)N1C[C@H]2CC[C@H](CC2)C1)N1C[C@@H]2CC[C@@H](CC2)C1", printStereoWarnings=False) +smiles(R"O=P(c1ccccc1)([C@@]12C3=C4C5=C1[Fe]16782345C2=C7C6=C1[C@H]82)[C@]12C3=C4C5=C1[Fe]16782345C2=C7C6=C1[C@H]82", printStereoWarnings=False) +smiles(R"O/[P@@H](=N/[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1)/c1ccccc1", printStereoWarnings=False) +smiles(R"O/[P@@H](=N/[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)/OCC(C)(C)N", printStereoWarnings=False) +smiles(R"O/[P@H](=N/[N+]1(C)CCCCC1)/NN1CCCCC1", printStereoWarnings=False) +smiles(R"O=P(N1CC1)(N1CC1)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"O=P(N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)(N1CC1)c1ccccc1", printStereoWarnings=False) +smiles(R"O=P(N[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1)(N1CC1)N1CC1", printStereoWarnings=False) +smiles(R"O=P(Oc1ccccc1)(N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)N1CC1", printStereoWarnings=False) +smiles(R"O=P(Oc1ccccc1)(Oc1ccccc1)N[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"O=P(OCc1ccccc1)(OCc1ccccc1)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"[O-]P(=O)([O-])O", printStereoWarnings=False) +smiles(R"OP(=O)(O)O", printStereoWarnings=False) +smiles(R"OP(=O)(O)O[C@@H]1[C@@H](OP(=O)(O)O)[C@@H](OP(=O)(O)O)[C@H](OP(=O)(O)O)[C@H](OP(=O)(O)O)[C@@H]1OP(=O)(O)O", printStereoWarnings=False) +smiles(R"OP(=O)(O)O[C@H]1[C@H](OP(=O)(O)O)[C@@H](OP(=O)(O)O)[C@@H](OP(=O)(O)O)[C@@H](OP(=O)(O)O)[C@@H]1OP(=O)(O)O", printStereoWarnings=False) +smiles(R"OP(=O)(O)O[Pt@]1(O)N[C@@H]2CCCC[C@H]2N1", printStereoWarnings=False) +smiles(R"[O-][Pt@@+2]1([O-])N[C@@H]2CCCC[C@H]2N1", printStereoWarnings=False) +smiles(R"[O-][Pt+2]1([O-])N[C@@H]2CCCC[C@H]2N1", printStereoWarnings=False) +smiles(R"O=[S@]1(CC[S@](=O)(c2ccccc2)[Pt@]1(Cl)Cl)c1ccccc1", printStereoWarnings=False) +smiles(R"O=S1(=O)c2ccccc2c2nccc3ccnc1c23", printStereoWarnings=False) +smiles(R"O=S1(=O)C[C@@]2(N3CCCC3)[C@H]3c4ccccc4[C@H](c4ccccc34)[C@@H]12", printStereoWarnings=False) +smiles(R"O=[S@@]1(=O)CC(C1)[C@H]1CCS1(=O)=O", printStereoWarnings=False) +smiles(R"O=S1(=O)C=C[C@@]21C[C@H]1c3ccccc3[C@@H]2c2ccccc12", printStereoWarnings=False) +smiles(R"O=S1(=O)CC[C@@]21C[C@@H]1c3ccccc3[C@H]2c2ccccc12", printStereoWarnings=False) +smiles(R"O=S1(=O)C(=C[C@@]21C[C@H]1c3ccccc3[C@@H]2c2ccccc12)c1ccccc1", printStereoWarnings=False) +smiles(R"O=[S@@]1(=O)C[C@@](C)(Br)[C@@](C)(Br)C1", printStereoWarnings=False) +smiles(R"O=[S@]1(=O)C[C@@H]2[C@H](C1)[C@@]1(O[C@@]2(c2ccccc2)c2ccccc12)c1ccccc1", printStereoWarnings=False) +smiles(R"O=S1OC[C@@H](CO1)n1cnc2c1n(C)c(=O)n(C)c2=O", printStereoWarnings=False) +smiles(R"O=S1(=O)C[C@@H](N2CCCCC2)[C@]21C[C@H]1c3ccccc3[C@@H]2c2ccccc12", printStereoWarnings=False) +smiles(R"O=[S@@]1(=O)C[C@@H](NCc2ccccc2)[C@H](NCc2ccccc2)C1", printStereoWarnings=False) +smiles(R"O=S1(=O)CC[N@+]23CCC[N@@+]4(CCC2)CC[SH+][Ni@@+]134", printStereoWarnings=False) +smiles(R"O=[S@@]1(=O)CCN(CC1)[C@H]1CCS(=O)(=O)C1", printStereoWarnings=False) +smiles(R"O=[S@@]1(=O)[C@H](c2ccccc2)c2c(sc(c3ccccc3)c2[C@@H]1c1ccccc1)c1ccccc1", printStereoWarnings=False) +smiles(R"O=[S@@]1(=O)[C@@H](CC[C@H]1Cc1ccccc1)Cc1ccccc1", printStereoWarnings=False) +smiles(R"O=S1(=O)N[C@H](c2ccccc2)[C@@H]2N3CC[C@@H](CC3)C2=N1", printStereoWarnings=False) +smiles(R"O=S1(=O)O[C@H]2OS(=O)(=O)O[C@H]2O1", printStereoWarnings=False) +smiles(R"O=S1(=O)[OH+][Pt@@+2]2(N[C@@H]3CCCC[C@H]3N2)[OH+]S(=O)(=O)c2cccc1c2", printStereoWarnings=False) +smiles(R"O=S1(=O)[OH+][Pt@+2]2(N[C@@H]3CCCC[C@@H]3N2)[OH+]S(=O)(=O)c2ccccc12", printStereoWarnings=False) +smiles(R"O=S1(=O)O[Pt@@]2(N[C@@H]3CCCCC[C@H]3N2)O1", printStereoWarnings=False) +smiles(R"O=S1(=O)O[Pt@]2(N[C@H]3CCC[C@@H]3N2)O1", printStereoWarnings=False) +smiles(R"O=[Se]1[OH+][Pt@+2]2([OH+]1)N[C@H]1CCCC[C@@H]1N2", printStereoWarnings=False) +smiles(R"O=[Se]1O[Pt@@]2(O1)N[C@H]1CCCC[C@@H]1N2", printStereoWarnings=False) +smiles(R"O[Se](=O)(=O)O[Pt@]1(O)N[C@@H]2CCCC[C@H]2N1", printStereoWarnings=False) +smiles(R"O=[Se](O[Sn@@](O[Se](=O)c1ccccc1)(O[Se](=O)c1ccccc1)c1ccccc1)c1ccccc1", printStereoWarnings=False) +smiles(R"O=[Sn]([C@-]12C3=C4C5=C1[Fe+2]16782345C2=C7C6=C1[C-]82)[C@-]12C3=C4C5=C1[Fe+2]16782345C2=C7C6=C1[C-]82", printStereoWarnings=False) +smiles(R"O=[Sn]([C@@-]12C3=C4C5=C1[Fe+2]16782345C2=C7C6=C1[C-]82)[C@-]12C3=C4C5=C1[Fe+2]16782345C2=C7C6=C1[C-]82", printStereoWarnings=False) +smiles(R"O=[Sn](c1ccccc1)c1ccccc1", printStereoWarnings=False) +smiles(R"O=S=N[C@@H]1CC[C@@H](C)CC1", printStereoWarnings=False) +smiles(R"O=S(O[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1)C(C)(C)C", printStereoWarnings=False) +smiles(R"O=S(=O)(c1ccccc1)[C@@H]1CN2O[C@@]1(C[C@]12CCCCC1)S(=O)(=O)c1ccccc1", printStereoWarnings=False) +smiles(R"O=S(=O)(c1ccccc1)N1[C@@H]2[C@H]3CC[C@H](CC3)[C@H]12", printStereoWarnings=False) +smiles(R"O=[S@@](=O)(/C=C/c1cccnc1)/C=C/c1cccnc1", printStereoWarnings=False) +smiles(R"O=S(=O)(CCCN1CCOCC1)[OH+][Pt@+2]1(N[C@@H]2CCCC[C@@H]2N1)[OH+]S(=O)(=O)CCCN1CCOCC1", printStereoWarnings=False) +smiles(R"O=S(=O)(CCCNC1CCCCC1)[OH+][Pt@@+2]1(N[C@H]2CCCC[C@H]2N1)[OH+]S(=O)(=O)CCCNC1CCCCC1", printStereoWarnings=False) +smiles(R"O=S(=O)(/N=C/1\C=C/C(=N\S(=O)(=O)c2ccccc2)/C=C1)c1ccccc1", printStereoWarnings=False) +smiles(R"O=S(=O)(N[C@@H]1CC[C@@H](CC1)CC1CCCCC1)c1ccccc1", printStereoWarnings=False) +smiles(R"O=S(=O)(N[C@@H]1C[C@@H]2CC[C@H]1CC2)c1ccccc1", printStereoWarnings=False) +smiles(R"OS(=O)(=O)c1ccc2cc3nn(nc3cc2c1)c1ccc(/C=C/c2ccc(cc2S(=O)(=O)O)n2nc3cc4cc(ccc4cc3n2)S(=O)(=O)O)c(c1)S(=O)(=O)O", printStereoWarnings=False) +smiles(R"OS(=O)(=O)c1cccc2c1cccc2S(=O)(=O)O", printStereoWarnings=False) +smiles(R"OS(=O)(=O)c1cc(/N=N/c2ccc(cc2)[S@](=O)(=O)c2ccc(/N=N/c3cc(c4cccnc4c3O)S(=O)(=O)O)cc2)c(O)c2ncccc12", printStereoWarnings=False) +smiles(R"OS(=O)(=O)[C@@]1(F)C(F)(F)C(F)(F)[C@](F)(C(F)(F)C1(F)F)C(F)(F)C(F)(F)C(F)(F)C(F)(F)F", printStereoWarnings=False) +smiles(R"O=S(=O)(OCC1(COS(=O)(=O)c2ccccc2)C[C@H]2c3ccccc3[C@@H]1c1ccccc21)c1ccccc1", printStereoWarnings=False) +smiles(R"[O-]S(=O)(=O)C(F)(F)F", printStereoWarnings=False) +smiles(R"[O-][S@](=O)(=[OH+])[C@-]12C3=C4C5=C1[Fe+2]16782345C2=C7[C@-]8(C6=C12)[S@](=O)(=[OH+])[O-]", printStereoWarnings=False) +smiles(R"[O-][S@](=O)(=[OH+])[C@@-]12C3=C4C5=C1[Fe+2]16782345C2=C7[C@-]8(C6=C12)[S@](=O)(=[OH+])[O-]", printStereoWarnings=False) +smiles(R"[O-][S@](=O)(=[OH+])C(F)(F)F", printStereoWarnings=False) +smiles(R"[O-][S@](=O)(=[OH+])C(F)(F)F", printStereoWarnings=False) # smiles(R"C1C23=C4(C5=C6C7=C2[Ru+2]34567)C23=C4C5=C6C7=C13[Ru+2]24567", printStereoWarnings=False) +smiles(R"[O-][S@](=O)(=[OH+])C(F)(F)F", printStereoWarnings=False) # smiles(R"C1C23=C4C5=C6C7=C3([Ru+2]24567)C23=C41C1=C5C6=C2[Ru+2]34156", printStereoWarnings=False) +smiles(R"[O-]S(=O)(=O)[O-]", printStereoWarnings=False) +smiles(R"[O-]S(=O)(=O)O", printStereoWarnings=False) +smiles(R"OS(=O)(=O)O", printStereoWarnings=False) +smiles(R"OS(=O)(=O)O[Pt@@]1(O)N[C@@H]2CCC[C@H]2N1", printStereoWarnings=False) +smiles(R"OS(=O)(=O)SCCN[C@H]1CC[C@H](NCCSS(=O)(=O)O)CC1", printStereoWarnings=False) +smiles(R"O=S(=O)(S[C@@H](S(=O)(=O)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)S(=O)(=O)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"O=S(O[Sn@@](C)(C)OS(=O)c1ccc(cc1)C(C)(C)C)c1ccc(cc1)C(C)(C)C", printStereoWarnings=False) +smiles(R"O[Zn+2](O)(N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)(N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)(N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"O[Zn+2](O)(NC12C[C@H]3C[C@H](C[C@H](C3)C2)C1)(NC12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)(NC12C[C@H]3C[C@H](C[C@H](C3)C2)C1)NC12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"S1C[C@@]23CSC[C@@]3(C1)CC2", printStereoWarnings=False) +smiles(R"s1ccc(c1)C[N@+]12CN3CN(CN(C3)C2)C1", printStereoWarnings=False) +smiles(R"S[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"Sc1nc2nc3c(nc2c(O)n1)c1ccccc1c1ncccc31", printStereoWarnings=False) +smiles(R"Sc1ncc2[C@H]3c4ccccc4[C@@H](c2n1)c1ccccc31", printStereoWarnings=False) +smiles(R"S=C1NC/C(=C\[C@-]23C4=C5C6=C2[Fe+2]27893456[C-]3C8=C7C2=C93)/N1", printStereoWarnings=False) +smiles(R"S=C1NC/C(=C\[C@@-]23C4=C5C6=C2[Fe+2]27893456[C-]3C8=C7C2=C93)/N1", printStereoWarnings=False) +smiles(R"S=C1NC(=O)[C@]2(CC(=C(C)C[C@@H]2C)C)C(=O)N1", printStereoWarnings=False) +smiles(R"Sc1nc(O)c2nc([nH]c2n1)/C(=C/c1ccc(cc1)/C=C(/NC(=O)c1ccccc1)\c1nc2c(O)nc(S)nc2[nH]1)/NC(=O)c1ccccc1", printStereoWarnings=False) +smiles(R"S=C1NC(=O)/C(=C\c2cccc(n2)/C=C/2\SC(=S)NC2=O)/S1", printStereoWarnings=False) +smiles(R"S=c1[nH]nc2nnc(CCCc3nnc4n[nH]c(=S)n4n3)nn12", printStereoWarnings=False) +smiles(R"S=c1[nH]nc2nnc(nn12)c1cccc(c1)c1nnc2n[nH]c(=S)n2n1", printStereoWarnings=False) +smiles(R"S=c1[nH]nc2nnc(nn12)c1nnc2n[nH]c(=S)n2n1", printStereoWarnings=False) +smiles(R"S=c1[nH]nc(n1N)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"S=c1[nH][nH]c(CCC(=O)N[C@@]23C[C@H]4C[C@H](C[C@H](C4)C3)C2)n1", printStereoWarnings=False) +smiles(R"S=c1sc2c(s1)c(OCc1cc(cc(c1)C(C)(C)C)C(C)(C)C)c1sc(=S)sc1c2OCc1cc(cc(c1)C(C)(C)C)C(C)(C)C", printStereoWarnings=False) +smiles(R"S=c1sc2n[nH]c(=S)n2[nH]1", printStereoWarnings=False) +smiles(R"S=c1sc2sc(=S)sc2s1", printStereoWarnings=False) +smiles(R"S=c1s/c(=C/c2ccccc2)/c2nc3ccccc3n12", printStereoWarnings=False) +smiles(R"S=c1sc(=S)c2c([nH]1)n(C)c(=O)n(C)c2=O", printStereoWarnings=False) +smiles(R"SC[C@@H](Nc1c2cccc(C(=O)NCCN(C)C)c2n(C)c2ccccc12)C(=O)O", printStereoWarnings=False) +smiles(R"SCC(=N)NC[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"SC#N", printStereoWarnings=False) +smiles(R"S=C=N[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"S=C(N[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1)NP(=O)(Oc1ccccc1)Oc1ccccc1", printStereoWarnings=False) +smiles(R"S=C(N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)N[Sn](c1ccccc1)(c1ccccc1)c1ccccc1", printStereoWarnings=False) +smiles(R"S=C(Nc1ccc(cc1)S(=O)(=O)N1CCCCC1)N[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"S=C(NCc1ccccc1)NNC(=O)[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"S=C(NCCCNC(=S)N/N=C(\C)/c1ccccn1)N/N=C(/C)\c1ccccn1", printStereoWarnings=False) +smiles(R"S=C(N/N=C/1\C(=O)N(C)c2ccccc12)NC(=O)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"S=C(NNC1=Nc2ccccc2/C/1=N/NC(=S)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"S=C(N/N=C/c1c2ccccc2cc2ccccc12)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"S=C(N/N=C/c1cc2OCOc2cc1[N+](=O)[O-])N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"S=C(N/N=C/c1cc2OCOc2cc1[N+](=O)[O-])NC12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"S=C(N/N=C/c1cc(Br)ccc1O)N[C@@H]1CN2CC[C@H]1CC2", printStereoWarnings=False) +smiles(R"S=C(N/N=C/c1ccc2ccc3cccc4ccc1c2c34)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"S=C(N/N=C/c1ccc2OCOc2c1)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"S=C(N/N=C\c1ccc2OCOc2c1)N[C@@H]1CN2CC[C@@H]1CC2", printStereoWarnings=False) +smiles(R"S=C(N/N=C/c1cccc2ccccc12)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"S=C(N/N=C/c1ccccc1Cl)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"S=C(N/N=C/c1ccc(cc1Cl)N(C)C)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"S=C(N/N=C/c1ccccc1C)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"S=C(N/N=C/c1ccc(cc1)C(=O)O)N[C@@H]1CN2CC[C@H]1CC2", printStereoWarnings=False) +smiles(R"S=C(N/N=C/c1ccccc1C(=O)O)N[C@@H]1CN2CC[C@@H]1CC2", printStereoWarnings=False) +smiles(R"S=C(N/N=C/c1ccc(cc1)N(C)C)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"S=C(N/N=C/c1ccc(cc1)N(C)C)N[C@@H]1CN2CC[C@H]1CC2", printStereoWarnings=False) +smiles(R"S=C(N/N=C/c1ccc(cc1)[N+](=O)[O-])N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"S=C(N/N=C/c1ccc(cc1)[N+](=O)[O-])NC12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"S=C(N/N=C/c1cccc(c1)[N+](=O)[O-])N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"S=C(N/N=C/c1cccc(c1)[N+](=O)[O-])NC12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"S=C(N/N=C\c1cccc(c1)[N+](=O)[O-])N[C@@H]1CN2CC[C@@H]1CC2", printStereoWarnings=False) +smiles(R"S=C(N/N=C\c1cccc(c1)[N+](=O)[O-])N[C@@H]1CN2CC[C@H]1CC2", printStereoWarnings=False) +smiles(R"S=C(N/N=C\c1ccccc1[N+](=O)[O-])N[C@H]1CN2CC[C@@H]1CC2", printStereoWarnings=False) +smiles(R"S=C(N/N=C\c1ccccc1[N+](=O)[O-])N[C@H]1CN2CC[C@H]1CC2", printStereoWarnings=False) +smiles(R"S=C(N/N=C/c1ccc(cc1)OCc1ccccc1)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"S=C(N/N=C/c1ccccc1O)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"S=C(N/N=C/c1cc(ccc1O)[N+](=O)[O-])N[C@@H]1CN2CC[C@@H]1CC2", printStereoWarnings=False) +smiles(R"S=C(N/N=C/c1cc(ccc1O)[N+](=O)[O-])N[C@@H]1CN2CC[C@H]1CC2", printStereoWarnings=False) +smiles(R"S=C(N/N=C\c1cccc(I)c1)N[C@@H]1CN2CC[C@@H]1CC2", printStereoWarnings=False) +smiles(R"S=C(N/N=C/c1ccc(Cl)cc1Cl)N[C@@H]1CN2CC[C@H]1CC2", printStereoWarnings=False) +smiles(R"S=C(N/N=C/c1ccc(Cl)c(c1)[N+](=O)[O-])N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"S=C(N/N=C/c1ccc(Cl)c(c1)[N+](=O)[O-])NC12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"S=C(N/N=C\c1ccc(Cl)c(c1)[N+](=O)[O-])N[C@@H]1CN2CC[C@@H]1CC2", printStereoWarnings=False) +smiles(R"S=C(N/N=C\c1ccc(Cl)c(c1)[N+](=O)[O-])N[C@@H]1CN2CC[C@H]1CC2", printStereoWarnings=False) +smiles(R"S=C(N/N=C/c1ccc(Cl)c(Cl)c1)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"S=C(N/N=C\c1cccc(O)c1)N[C@@H]1CN2CC[C@H]1CC2", printStereoWarnings=False) +smiles(R"S=C(N/N=C/c1cccc(OCc2ccccc2)c1)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"S=C(N/N=C\c1cc(Cl)ccc1[N+](=O)[O-])N[C@@H]1CN2CC[C@@H]1CC2", printStereoWarnings=False) +smiles(R"S=C(N/N=C\c1cc(Cl)ccc1[N+](=O)[O-])N[C@@H]1CN2CC[C@H]1CC2", printStereoWarnings=False) +smiles(R"S=C(N/N=C/c1cc(Cl)ccc1O)N[C@@H]1CN2CC[C@H]1CC2", printStereoWarnings=False) +smiles(R"S=C(N/N=C/c1ccc(o1)[N+](=O)[O-])N[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"S=C(N/N=C/c1ccc(o1)[N+](=O)[O-])NC12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"S=C(N/N=C/c1c(F)cccc1Cl)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"S=C(N/N=C/c1c(F)c(F)c(F)c(F)c1F)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"S=C(N/N=C/c1c[nH]c2ccccc12)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"S=C(N/N=C/c1c(O)ccc2ccccc12)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"S=C(N/N=C/c1c(O)ccc2ccccc12)N[C@@H]1CN2CC[C@@H]1CC2", printStereoWarnings=False) +smiles(R"S=C(N/N=C(\C)/c1cccc(n1)/C(=N\NC(=S)N1CCCC1)/C)N1CCCC1", printStereoWarnings=False) +smiles(R"S=C(N/N=C(/C)\c1ccccn1)N1CC[C@@H](CC1)[C@@H]1CCN(CC1)C(=S)N/N=C(/C)\c1ccccn1", printStereoWarnings=False) +smiles(R"S=C(N/N=C(\C)/c1ccccn1)N1C[C@@H]2CC[C@@H](CC2)C1", printStereoWarnings=False) +smiles(R"S=C(N/N=C(\C)/c1ccccn1)N[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"S=C(N/N=C(\C)/c1ccncn1)N1C[C@H]2CC[C@H](CC2)C1", printStereoWarnings=False) +smiles(R"S=C(N/N=C(\C)/c1cnccn1)N1C[C@@H]2CC[C@@H](CC2)C1", printStereoWarnings=False) +smiles(R"S=C(N/N=C(/C)\c1nccnc1C)N1CC[C@@H](CC1)c1ccccc1", printStereoWarnings=False) +smiles(R"S=C(N/N=C/C=C/c1ccccc1)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"S=C(N/N=C/C=C/c1ccc(cc1)N(C)C)N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"S=C(N/N=C/C=C/c1ccccc1[N+](=O)[O-])N[C@]12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"S=C(N/N=C/C=C/c1ccccc1[N+](=O)[O-])NC12C[C@@H]3C[C@@H](C[C@@H](C3)C2)C1", printStereoWarnings=False) +smiles(R"S=C(NN[C@@H](C)c1ncc2ccccc2c1)N1C[C@@H]2CC[C@@H](CC2)C1", printStereoWarnings=False) +smiles(R"S=C(NNC(=O)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1)Nc1ccccc1", printStereoWarnings=False) +smiles(R"S=C(NNC(=O)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1)NC1CCCCC1", printStereoWarnings=False) +smiles(R"S=C(NNC(=O)[C@@]12C[C@H]3C[C@H](C[C@H](C3)C2)C1)Nc1ccc(Cl)cc1", printStereoWarnings=False) +smiles(R"S=C(S[C@@-]12C3=C4C5=C1[Fe+2]16782345C2=C7[C@-]8(SC(=S)N(C)C)C6=C12)N(C)C", printStereoWarnings=False) +smiles(R"[Se]1CCCS[C@-]23C4=C5C6=C2[Fe+2]27893456C3=C8[C@@-]9(SCCC1)C7=C23", printStereoWarnings=False) +smiles(R"[Se]1CCCS[C@@-]23C4=C5C6=C2[Fe+2]27893456C3=C8[C@@-]9(SCCC1)C7=C23", printStereoWarnings=False) +smiles(R"[se]1nc2cc(ccc2n1)c1ccc2n[se]nc2c1", printStereoWarnings=False) +smiles(R"[SeH]=C(N/N=C(\C)/c1ccccn1)N1C[C@H]2CC[C@H](CC2)C1", printStereoWarnings=False) +smiles(R"SP1(=[O+][Ti]23456789([O+]=P(S)(SS1)c1ccccc1)(C1=C4C3=C2[C@@H]51)C1=C7C8=C6[C@H]91)c1ccccc1", printStereoWarnings=False) diff --git a/test/py/graph/030_smiles/mass/smiles_nci.py b/test/py/graph/030_smiles/mass/smiles_nci.py index eb84d9b..2e03c79 100644 --- a/test/py/graph/030_smiles/mass/smiles_nci.py +++ b/test/py/graph/030_smiles/mass/smiles_nci.py @@ -1,1043 +1,1043 @@ post.disableInvokeMake() -smiles("B1(O)OB(OB2OB(O)O2)O1") -smiles("B(O[C@H](C)CC(C)C)(O[C@H](C)CC(C)C)O[C@H](C)CC(C)C") -smiles("Brc1cc(c(c(Br)c1)NC(=S)N)Br") -smiles("Brc1ccc(cc1)SSc1ccc(Br)cc1") -smiles("BrC[C@@H]1OC1") -smiles("BrC[C@H]([C@@H](CBr)Br)Br") -smiles("BrC(C(=O)C(Br)(C)C)Br") -smiles("BrCC(=O)Nc1ccc(cc1)Cl") -smiles("BrCC(=O)Nc1ccc(C)cc1") -smiles("c12c3c4c5c6c7c8c9c%10c7c7c5c5c%11c4c4c%12c%11c%11c%13c%14c%15c%16c%17c%18c%19c%20c%21c(c1c1c%22c(c%23c(c%19c%21%22)c%19c(c%21c(c%16c%18%19)c%14c(c%10%21)c7c5%13)c9%23)c8c1c36)c(c24)c1c%20c%17c(c%11%15)c%121") -smiles("c12c3c(ccc2c(Cl)ccn1)c(Cl)ccn3") -smiles("c12c(cc(c3ccccc3)[nH]2)cc(cc1Br)Br") -smiles("c12ccccc1c1Sc3c(N(C(=O)C)c1cc2)cccc3") -smiles("c12ccccc1ccc(C(Br)(Br)Br)n2") -smiles("c12ccccc1c(cc(SC#N)c2N)SC#N") -smiles("c12ccccc1C(=O)c1ccc(cc1C2=O)N") -smiles("c12ccccc1NC(=O)C2=NNC(=S)N") -smiles("c12cccc(c1[nH][nH]c2=O)Cl") -smiles("c12ccccc1Sc1c(N2)cc(C(=O)CCl)cc1") -smiles("c12ccccc2c2c(cc1)C(=O)OC2=O") -smiles("c12c(c(ccc2cccn1)[C@H](Nc1nccc(C)c1)c1ccccc1)O") -smiles("c12c(cc(cc2)CC(=O)O)cccc1") -smiles("C12=C(CCCC2)C(=O)c2c(cccc2)C1=O") -smiles("c12cc(ccc2Sc2c(cccc2)N1C(=O)C)C(=O)CCl") -smiles("c12ccccc2S(=O)c2ccccc2N1CCC[N+](CC)([O-])CC") -smiles("c12c(c(C(C)(O)C)ccc2)cccc1C(O)(C)C") -smiles("c12CC[C@H](c3c(ccc(c(=O)c3)OC)c2c(OC)c(c(OC)c1)OC)NC(=O)C") -smiles("c12ccc(nc2nccc1O)NC(=O)C") -smiles("c12c(C(=O)c3c(c(Cl)c(cc3)C)C1=O)cccc2") -smiles("c12c([n+](c(cc2)C)CC)ccc(C)c1") -smiles("c12c(n(C)cn2)c(=O)n(c(=O)n1C)C") -smiles("c12c(n(cn1)C)c(=O)n(c(=O)n2C)C") -smiles("c12c([nH]cn1)cccc2") -smiles("c12C(=O)C(=C(C(=O)c2cccc1)O)C1CCCCC1") -smiles("c12C(=O)N([N+](=O)[O-])C(=O)c1cccc2") -smiles("c12[nH]cnc2cncn1") -smiles("c12nnnn2cc(cc1N(=O)=O)C") -smiles("c1(Br)nc(ccc1)Br") -smiles("c1c2c3c(ccc2)c2cccc4cccc(c24)c3cc1") -smiles("C1c2c3c(ccc2CCC1)CCCC3") -smiles("c1c2c3c(cc(N)cc3)Cc2ccc1") -smiles("c1c2c(cc3c(c2Br)cccc3)ccc1") -smiles("c1c2c(cc3c(nc(s3)c3ccccc3)c2)ccc1") -smiles("c1c2c(ccc1C=NO)OCO2") -smiles("c1c2c(ccc1)SCC(=O)N2") -smiles("c1(c2ccc(C(=O)C(=NO)Cl)cc2)ccccc1") -smiles("c1c2cc[nH]c2c(cc1)C") -smiles("C1[C@]2(C)C(=NO)C(C)(C)[C@H](C2)C1") -smiles("c1(c2c(c(S)ccc2)ccc1)S") -smiles("c1c2c(Sc3c(O2)cccc3)ccc1") -smiles("c1c2N(CC)c3c([S@](=O)c2cc([N+](=O)[O-])c1)cccc3") -smiles("c1c(Br)cc2c(OC(C)(C2)C)c1") -smiles("c1(c(Br)ccc(C)c1)N(=O)=O") -smiles("c1(c(Br)c(C)cc(C)c1C(=O)O)C") -smiles("c1cc2c3c(cc(cc3)C(=O)C)sc2cc1C(=O)C") -smiles("c1cc2c3c(n(CCC#N)c2cc1)cccc3") -smiles("c1c(c2ccccc2)cccc1") -smiles("C1=C(c2ccc(OC)cc2)C(=O)C=C(C1=O)c1ccc(OC)cc1") -smiles("c1cc2c(C(=O)[C@@H](C(=O)C)C2)cc1") -smiles("c1cc2C(=O)c3c(N(=O)=O)c(ccc3C(=O)c2cc1)C") -smiles("c1cc2C(=O)N(C(=O)c2cc1)O") -smiles("c1cc(c2c(c1)ncc(C)c2Cl)C") -smiles("c1ccc2c(c(c3c(c2)cccc3)C=O)c1") -smiles("c1cc(c2ccccc2c1S(=O)(=O)O)N") -smiles("c1cc(c2ccccc2)c(cc1)O[C@H](C)C(=O)O") -smiles("c1cc(c2ccc(cc2n1)Cl)NCCCCCCN(CC)CC") -smiles("c1(ccc2c(cccc2)n1)O") -smiles("c1ccc2cc(c(c(N(=O)=O)c2c1)O)C(=O)OC") -smiles("c1cc([C@]2(CCC)NC(=O)NC2=O)ccc1") -smiles("c1ccc2c(C(=O)C(=C(C2=O)Cl)Cl)c1") -smiles("c1ccc2nc3ccccc3c(C(=O)O)c2c1") -smiles("c1ccc2S(=O)c3ccccc3N(C)c2c1") -smiles("c1c(cc(Br)c(c1Br)O)C=C(C(=O)O)c1ccccc1") -smiles("c1c(cc(Br)c(c1Br)O)C=C(C(=O)O)c1ccc(cc1)I") -smiles("C1CCCC1(C#CC1(CCCC1)O)O") -smiles("c1cccc2c1C=CC2=Cc1ccccc1") -smiles("c1cccc2c1cnc(C)c2") -smiles("c1cc(cc2c1nccc2C=O)OC") -smiles("c1cccc2c1Oc1ccccc1S2(=O)=O") -smiles("c1cccc2c(cccc12)C=NNC(=S)N") -smiles("c1(cccc2ccccc12)OC[C@@H]1OC1") -smiles("c1cccc2c(C=C(C(=O)O)C)c(OC)ccc12") -smiles("c1(cccc2c(C(=O)C)cccc12)C(=O)C") -smiles("c1cccc2C=[N+]3[Zn]4(Oc5c(C=[N+]4CC3)cccc5)Oc12") -smiles("C1CCCc2c(nc(nc12)O)C") -smiles("c1cccc2C(=O)c3cccc(c3C(=O)c12)N") -smiles("c1ccc(c2C(=O)c3c(C(=O)c12)c(S(=O)(=O)O)ccc3)S(=O)(=O)O") -smiles("c1cccc([Bi](c2ccccc2)c2ccccc2)c1") -smiles("c1ccc(cc1)[As](c1ccccc1)c1ccccc1") -smiles("C1=CCCCC1=C") -smiles("c1cc(ccc1)c1c2c(cccc2)c(O)nn1") -smiles("c1c(c(ccc1)c1c2c(oc3c(c(=O)ccc13)Br)c(Br)c(cc2)O)C(=O)O") -smiles("c1ccc(cc1)c1c(c2c(cccc2)nc1C)O") -smiles("c1cc(ccc1)c1cc2c(c(cc(Cl)c2)Cl)[nH]1") -smiles("c1(ccccc1)c1ccccc1") -smiles("c1c(cccc1)c1ccc(CC(=O)C)cc1") -smiles("c1cc(ccc1)C1=CC(=O)CC1") -smiles("c1ccc(cc1)c1c(OCCOc2c(cccc2)c2ccccc2)cccc1") -smiles("c1ccccc1C(c1ccccc1)(c1ccccc1)C(=O)c1ccccc1") -smiles("c1(ccccc1)C(c1ccccc1)(C[C@H](C)N(C)C)[C@H](O)CC") -smiles("c1(ccccc1)C(c1ccccc1)(Cl)c1ccccc1") -smiles("c1cc(ccc1)C(c1ccccc1)C#N") -smiles("c1(ccccc1)C(c1ccccc1)N(C)C") -smiles("c1ccccc1C(c1ccccc1)OC") -smiles("c1ccccc1C(=Cc1ccccc1)[N+](=O)[O-]") -smiles("c1cc(ccc1C=Cc1ccncc1)Cl") -smiles("c1(ccccc1)C(CC)(CC)[C@@H](OC(=O)N)c1ccccc1") -smiles("c1cc(ccc1)C(CC(C)(C)O)(C)C") -smiles("c1c(cccc1)C(CC)(C#N)CC") -smiles("c1ccc(cc1)C(CCI)(c1ccccc1)c1ccccc1") -smiles("c1ccccc1C=C(C#N)C#N") -smiles("c1ccc(cc1)C=CC(NC(=O)OCC)NC(=O)OCC") -smiles("c1(ccccc1)CCC(=O)C") -smiles("c1(ccccc1)C(CC(=O)c1ccccc1)(c1ccccc1)c1ccccc1") -smiles("c1(ccc(cc1)C=CC(=O)c1ccc(NC(=O)OCC)cc1)N(C)C") -smiles("c1ccccc1CC(C(=O)O)(CC)CC") -smiles("c1ccccc1C([C@H](c1ccccc1)C#N)c1ccccc1") -smiles("c1ccccc1C[C@@H](O)c1ccccc1") -smiles("c1ccccc1CC(=NO)[C@H](c1ccccc1)C#N") -smiles("c1ccccc1[C@H](c1[nH]c2ccccc2n1)O") -smiles("c1ccccc1[C@@H](C(CC)(CC)c1ccccc1)O") -smiles("c1(ccccc1)[C@@H](C(CC)(CC)CC)OC(=O)c1ccccc1C(=O)O") -smiles("c1cc(ccc1)[C@H](C)[C@H](c1ccccc1)C(=O)O") -smiles("c1ccccc1[C@@H](C(C(=O)OCC)C(=O)OCC)CC(=O)OCC") -smiles("c1ccccc1[C@H](C(=O)O)[C@@](C)(O)c1ccccc1") -smiles("c1c(ccc(c1)Cl)CCc1ccc(cc1)Cl") -smiles("c1cc(cc(c1Cl)Cl)N") -smiles("c1cc(ccc1Cl)NC(=O)C") -smiles("c1(ccccc1Cl)OB(Oc1ccccc1Cl)Oc1ccccc1Cl") -smiles("c1ccccc1CN1C[C@@H](C(=O)C1=O)C(=O)OC") -smiles("c1c(cccc1)CN1C[C@@H](C(=O)C1=O)C(=O)OCC") -smiles("c1ccc(cc1)CN(c1ccccc1)C") -smiles("c1(ccccc1)C(NC(c1ccccc1)c1ccccc1)c1ccccc1") -smiles("c1c(cccc1)C(N=C(c1ccccc1)c1ccccc1)c1ccccc1") -smiles("c1ccc(cc1)CN(Cc1ccccc1)N=O") -smiles("c1ccccc1CN(CC)c1ccc(cc1)SC#N") -smiles("c1ccccc1C=NNc1ccccc1N(=O)=O") -smiles("c1(ccc(cc1)C=NN=Cc1ccc([N+](=O)[O-])cc1)N(=O)=O") -smiles("c1ccc(cc1)C=NNC(=S)N") -smiles("c1(ccccc1)C(=NNC(=S)NN=C(C)c1ccccc1)C") -smiles("c1(ccc(cc1)C#N)OC") -smiles("c1cc(ccc1C=NO)O") -smiles("c1ccccc1C(O)(c1ccccc1)C") -smiles("c1ccccc1C(OC)(c1ccccc1)c1ccccc1") -smiles("c1ccc(cc1)[C@](O)(C(C)C)C") -smiles("c1cccc(c1)C(=O)CC(CC(=O)c1ccccc1)c1ccncc1") -smiles("c1cccc(c1)C(=O)CCC#N") -smiles("c1cc(ccc1C(=O)CCC(=O)c1ccc(Br)cc1)Br") -smiles("c1ccc(cc1)C(=O)C=CC(=O)O") -smiles("c1(ccccc1)C(=O)C[C@@H](c1ccccc1)N1CCCCC1") -smiles("c1(ccccc1)C(=O)CCN(C)C") -smiles("c1cccc(c1)C(OCC)OCC") -smiles("c1ccccc1C(=O)[C@@H](c1ccccc1)N(c1ccccc1)C(=O)C") -smiles("c1(ccccc1)C(=O)[C@H](N1CCC(C)CC1)CC(=O)c1ccccc1") -smiles("c1ccc(cc1)C(OC)(N(C)C)c1ccccc1") -smiles("c1cc(c(cc1C(=O)C)N(=O)=O)C") -smiles("c1cccc(c1)C(=O)COC") -smiles("c1ccc(cc1)C(=O)[N+](C)(C)C") -smiles("c1ccc(cc1)C(=O)NNC(=S)N") -smiles("c1(ccc(cc1C=O)[N+](=O)[O-])O") -smiles("C1CC(CCC1C(=O)O)C(=O)O") -smiles("c1c(cccc1)C(=O)OOC(=O)c1ccccc1") -smiles("c1(ccccc1C(=O)O)OC(=O)CCCCC") -smiles("c1cc(ccc1)C(=O)SSC(=O)c1ccccc1") -smiles("c1(ccc(cc1)F)N") -smiles("C1C(CCCC1)N1CC[C@@H](C1=O)O") -smiles("c1(ccccc1)N1C(=O)C(=O)[C@@H](C1)C(=O)OCC") -smiles("c1(cccc(c1N)Br)Br") -smiles("C1CCCCC1N(C1CCCCC1)N=O") -smiles("c1cc(ccc1N=Cc1ccc(Cl)cc1)[N+](=O)[O-]") -smiles("c1(cc(cc(c1N)Cl)N(=O)=O)Cl") -smiles("c1ccccc1NC(=O)C=Cc1ccccc1") -smiles("c1c(cccc1)NC(=O)CCl") -smiles("C1CCCCC1NC(=O)C(=O)NC1CCCCC1") -smiles("c1(ccccc1N)C(=O)O") -smiles("c1(ccccc1)NNC(=S)NN") -smiles("c1c(cc(cc1N)N)N(=O)=O") -smiles("c1cc(ccc1[N+](=O)[O-])[C@](C)(O)CC(=O)O") -smiles("c1(c(cc(cc1)[N+](=O)[O-])N(=O)=O)SC#N") -smiles("c1cc(ccc1O)C=C(C)C(=O)O") -smiles("c1ccc(cc1O)C=C(C(=O)O)c1ccccc1") -smiles("c1cc(c(cc1)O)C=N[C@H](C)CCN=Cc1ccccc1O") -smiles("c1ccc(cc1)OC(Oc1ccccc1)C(=O)O") -smiles("c1(c(ccc(c1)O)N)CCCCCCCCCCCCCCC") -smiles("c1(ccc(cc1O)O)c1c(c2ccc(cc2O)O)nc2ccccc2n1") -smiles("c1c(cccc1)OP(=O)(Oc1ccccc1)NC1CCCCC1") -smiles("c1cc(ccc1)P(=O)(N)OCC") -smiles("c1cc(cc(c1)P(=O)(O)O)[N+](=O)[O-]") -smiles("c1(ccccc1)[Sb](c1ccccc1)(c1ccccc1)(Cl)Cl") -smiles("c1ccccc1S(=O)(=O)O") -smiles("c1c(ccc(c1SSc1cc(Cl)ccc1Cl)Cl)Cl") -smiles("c1cccc(C2=C(c3ccccc3)C(C(=C2c2ccccc2)c2ccccc2)(CC=C)O)c1") -smiles("c1cccc(c2cccc3c2[nH]c(=S)s3)c1") -smiles("c1ccc(C(c2ccccc2)(C(=O)C)Cc2ccccc2)cc1") -smiles("C1(=C(CCCc2ccc(cc2)Oc2ccccc2)C(=O)c2ccccc2C1=O)O") -smiles("c1cccc(c2c(Oc3ccccc3)c3c(cccc3)nc2C)c1") -smiles("c1c(c(C=Cc2c(S(=O)(=O)O)cc(N)cc2)ccc1N)S(=O)(=O)O") -smiles("c1cc(c(C)cc1)CO") -smiles("c1c(C)ccc(c1)C(=O)CC") -smiles("c1cccc(C)c1NNc1ccccc1C") -smiles("c1(C)ccccc1OP(=O)(Oc1ccccc1C)Oc1c(cccc1)C") -smiles("c1cccc(C(c2ccccc2)C[C@H](C)[N+](C)(C)C)c1") -smiles("c1cccc(C(Cc2ccccc2)(C#N)c2ccccc2)c1") -smiles("c1(ccc(C(C)C)cc1)C(=O)NN") -smiles("c1(CCC)c(c(ccc1O)C)C") -smiles("c1ccc(C(=CC)C)cc1") -smiles("c1cc(C(CC(C)(C)C)(C)C)ccc1OCCOCCSC(=[NH2])N") -smiles("c1cc(CCCCCCCCCCCCCCC)ccc1O") -smiles("c1(cc(CCCCCCCCCCCCCCC)cc(O)c1)O") -smiles("c1cccc(C=C(C#N)C#N)c1Cl") -smiles("c1ccc(c(C=CC(=O)C=Cc2c(Cl)cccc2)c1)Cl") -smiles("c1c(ccc(C=CC(=O)O)c1)C(C)C") -smiles("c1cc(CC)ccn1") -smiles("c1cccc(CCN2C(=O)C(=O)[C@H](C(=O)OCC)C2)c1") -smiles("c1c(C)cc(C)c(N)c1C") -smiles("c1(cc(C)c(CCN(C)C)c(C)c1C)C") -smiles("c1ccc(C=C(C#N)C(=O)O)cc1") -smiles("c1ccc(C[C@H](c2ccccc2)C#N)cc1") -smiles("c1cccc([C@H](O)C(=NO)c2ccccc2)c1") -smiles("c1(ccc(c(Cl)c1)Cl)[C@H](C#N)C(C#N)C#N") -smiles("c1cc(cc(Cl)c1)N[C@H](c1ccccc1)c1c(O)c(=O)cc(CO)o1") -smiles("c1(ccc(CCl)c(c1)C)C") -smiles("c1(cccc(C)n1)CCCC") -smiles("c1c(C)cc(C)nc1C") -smiles("c1(cccc(C[N+](C)(C)C)c1)[N+](=O)[O-]") -smiles("c1cccc(C=NN=Cc2c(cccc2)O)c1O") -smiles("c1c(ccc(C=NNC(=S)NCC(C)C)c1)NC(=O)C") -smiles("c1cccc(C(=O)C=Cc2ccccc2)n1") -smiles("c1ccc(c(C(=O)Nc2cc3ccccc3cc2)c1)O") -smiles("c1(cc(cc(C(=O)O)c1N)Br)Br") -smiles("c1ccc(C(C(=O)OC(C)(C)C)c2ccccc2)cc1") -smiles("c1ccc([C@@H](CC(=O)OC(C)(C)C)O)cc1") -smiles("c1ccccn1") -smiles("c1cc(ccn1)CC") -smiles("c1cc(ccn1)[C@H](O)CC(=O)c1ccccc1") -smiles("C1CCCCN1N=O") -smiles("c1ccc(C=Nc2ccccc2)cc1") -smiles("c1ccc(C=Nc2ccc(cc2)C(=O)C=Cc2ccccc2)cc1") -smiles("c1(ccc(CN)cc1)OC") -smiles("c1cc(CC#N)ccc1OC") -smiles("c1c(C(C)(C#N)C)ccc(OC)c1") -smiles("c1ccc(C=NC(N=Cc2ccccc2)c2ccccc2)cc1") -smiles("c1c(ccc(NC(=O)C)c1)S(=O)(=O)N") -smiles("c1ccc(CNC(=O)C(=O)NCc2ccccc2)cc1") -smiles("c1cccc(NC(=S)NN)c1") -smiles("c1(cc(cc(NNc2cc(cc(Br)c2)Br)c1)Br)Br") -smiles("c1cccc(NN=Cc2ccco2)c1") -smiles("c1ccc(C(=NN=C(C)c2cc([N+](=O)[O-])ccc2)C)cc1[N+](=O)[O-]") -smiles("c1cccc(NP(=O)(Nc2ccccc2)Nc2ccccc2)c1") -smiles("c1cc(c(c(O)c1)C(=O)C)O") -smiles("c1ccc(C(=O)c2c(cc(cc2)C)C)cc1") -smiles("c1(ccc(C(=O)c2ccc(C)cc2)cc1)O") -smiles("c1ccc(C(=O)c2cc(C)c(cc2)O)cc1") -smiles("c1(cc(cc(OC)c1)C(=O)CCCC)OC") -smiles("c1(cc(C)c(O)cc1)N(=O)=O") -smiles("c1ccc(C(=O)C[C@@H](N2CCN(Cc3ccccc3)CC2)C(=O)c2ccccc2)cc1") -smiles("c1c(cc(C(=O)NCCNCCO)c(O)c1[N+](=O)[O-])[N+](=O)[O-]") -smiles("c1ccc(C(=O)N[C@@H](C(Cl)Cl)O)cc1") -smiles("c1c(CCC(=O)O)ccc(C)c1") -smiles("c1ccc(C(=O)OCCC#N)cc1") -smiles("c1c(ccc(S(=O)(=O)c2ccc(cc2)C)c1)C") -smiles("c1ccc(CS(=O)(=O)c2ccc(C)cc2)cc1") -smiles("c1c(ccc(SSc2ccc(cc2)CC(=O)O)c1)CC(=O)O") -smiles("c1c(ccc(SSc2ccc(cc2)C(=O)C)c1)C(=O)C") -smiles("c1cc([C@H]2CO2)ccc1") -smiles("c1c(C[C@H](c2ccccc2)C(=O)O)cccc1") -smiles("c1cc([C@@H](Cc2ccccc2)Cl)ccc1") -smiles("C1(=CC[C@H](C(=C)C)CC1)C") -smiles("c1cc([C@H](N(C)C)c2ccccc2)c(cc1)C") -smiles("c1cc([C@@H](OC(C)C)C(=O)O)ccc1") -smiles("c1cc(Cl)ccc1C=Cc1ncccc1") -smiles("c1cc(Cl)ccc1C(=O)C(=O)c1ccc(Cl)cc1") -smiles("c1(cc(Cl)ccc1SSc1ccc(cc1N)Cl)N") -smiles("c1cccnc1") -smiles("c1(cccnc1)C=CC(=O)c1ccccc1") -smiles("c1cc(cnc1Cl)N=Cc1ccccc1") -smiles("c1cccnc1C(=O)OCCCCCCCCCC") -smiles("C1CCCN[C@@H]1C") -smiles("c1ccc(N[C@@H](c2ccc3c(nccc3)c2O)c2ccccc2)cc1") -smiles("c1ccc(N[C@@H](c2c(O)c3c(cccn3)cc2)c2ccccc2)c(C(=O)O)c1") -smiles("c1(C=C(C#N)C#N)ccc(Br)cc1") -smiles("c1ccc(NC(=O)OCCCl)c(C)c1") -smiles("c1cc(C=NO)ccc1Cl") -smiles("c1(ccc(N(=O)=O)c2ccccc12)N") -smiles("c1c(c(c([N+](=O)[O-])cc1[N+](=O)[O-])O)C(=O)O") -smiles("c1(ccco1)CCl") -smiles("c1ccc(OB(Oc2ccccc2)Oc2ccccc2)cc1") -smiles("c1(ccc(OC)cc1)C(=O)O[C@H](C)CC(C)C") -smiles("c1cc(C(=O)C=Cc2ccccc2)ccc1N") -smiles("c1cc(C(=O)CCCC(=O)c2ccc(cc2)C)ccc1C") -smiles("c1cc(C(OCCCC)OCCCC)ccc1") -smiles("c1c(C(C(=O)N)(C)C)cccc1") -smiles("c1cc(C(=O)NN)ccc1") -smiles("C1(=CCC(=O)O1)C") -smiles("c1(C=C(C(=O)O)c2ccccc2)cc(cc(c1O)Br)Br") -smiles("C1CC(C(=O)O)CCC1") -smiles("c1(cc(C(=O)O)ccc1C)N") -smiles("C1CC(C(=O)O)(CCO1)C(=O)O") -smiles("c1cc(C(=O)O)nc(C(=O)O)c1") -smiles("c1cc(C(=O)OOC(=O)c2ccccc2)ccc1") -smiles("c1ccc(P(=O)(c2ccccc2)c2ccccc2)cc1") -smiles("c1cc(CS(=O)(=O)Cc2ccccc2)ccc1") -smiles("c1(ccc(S(=O)(=O)N(CC)CC)cc1)C(=O)OCC") -smiles("c1c([C@H](c2ccc3cccnc3c2O)Nc2c(C(=O)OCC)cccc2)cccc1") -smiles("[C@]1(C([C@H](CC1)C(=O)O)(C)C)(C(=O)N)C") -smiles("C1C[C@H](C)[C@H](COC(=O)C)[C@@H](COC(=O)C)C1") -smiles("C1C[C@@H](C(=O)CC1)C") -smiles("c1c(Cl)ccc(C(=O)c2ccc(cc2)C)c1") -smiles("c1(c(Cl)cc(Cl)cc1)OC[C@H]1CO1") -smiles("c1c(Cl)cc(S[C@H]2O[C@H](COC(=O)C)[C@@H]([C@@H]([C@H]2OC(=O)C)OC(=O)C)OC(=O)C)c(c1)Cl") -smiles("C1CCNCC1") -smiles("c1ccncc1c1cc(cc(n1)c1cnccc1)c1ccccc1") -smiles("c1ccncc1[C@@]1(C(=O)NC(=O)N1)Cc1ccccc1") -smiles("c1ccncc1C=NNC(=S)N") -smiles("c1c(C[N+](Cc2ccccc2)(C)C)cccc1") -smiles("c1c(c(N)ccc1N=Nc1ccccc1OC)OC") -smiles("c1c(C[N+](C)(C)C)cccc1") -smiles("c1cc(NCCn2c(=S)sc3ccccc23)ccc1") -smiles("C1=CC(=NCl)C=CC1=O") -smiles("C1CCN(C(=O)C)CC1") -smiles("c1cc(NC(=S)Nc2ccccc2)ccc1") -smiles("c1cc(N)ncc1C(=O)O") -smiles("c1c(C=NNC(=S)N)c2ccccc2nc1") -smiles("c1c(C(=NNC(=S)N)C)ccc(O)c1") -smiles("c1c(C=NNC(=S)N)ccc(OCCC)c1") -smiles("c1c(C=NO)cccc1[N+](=O)[O-]") -smiles("c1ccoc1C=NNC(=S)NN") -smiles("c1c(c(O)c(cc1C(=O)c1ccccc1)C)C") -smiles("c1c(C(=O)C=Cc2ncccc2)cccc1") -smiles("c1(cc(OC)ccc1)CN") -smiles("c1cc(OC)ccc1C=NNC(=S)N") -smiles("c1c(C(=O)CC)cc(cc1C(=O)CC)C(=O)CC") -smiles("c1(c(C(=O)CCC)cc(cc1)C)OC") -smiles("c1(c(c(=O)cc(CO)o1)O)[C@@H](c1ccccc1)Nc1ccccc1") -smiles("C1(=CC(=O)C[C@H](C1)c1ccccc1)C") -smiles("C1CCO[C@@H]1CNC[C@@H]1OCCC1") -smiles("c1(cc(O)c(O)cc1)CCCCCCCCCCCCCCC") -smiles("c1(c(C(=O)Nc2cccc3ccccc23)cccc1)O") -smiles("c1c(C(=O)NC(c2ccccc2)c2ccccc2)cccc1") -smiles("c1c(C(=O)NN)c(O)ccc1") -smiles("c1c(C(=O)O)c(cc(Cl)c1)Cl") -smiles("c1c(C(=O)O)ccc(OCCCCCCCCCCCC)c1") -smiles("C1C(C(=O)O)CCOC1") -smiles("c1c(C(=O)O)c(O)ccc1") -smiles("c1c(C(=O)O)c(O)ccc1[N+](=O)[O-]") -smiles("c1c(C(=O)O)c(O)c([N+](=O)[O-])cc1") -smiles("c1c(C(=O)O)ncc(C(=O)O)c1") -smiles("c1(cc(S[C@H]2O[C@H]([C@H](O)[C@@H]([C@@H]2O)O)CO)c(Cl)cc1)Cl") -smiles("c1(c(C)sc(=S)[nH]1)C") -smiles("c1c(C[Si](C)(C)C)cccc1") -smiles("c1c(CS(=O)Cc2ccccc2)cccc1") -smiles("C1(C)CSSC1") -smiles("c1c(c(SSc2ccc(cc2[N+](=O)[O-])[N+](=O)[O-])ccc1[N+](=O)[O-])[N+](=O)[O-]") -smiles("C1([C@H]2C[C@@H]1[C@@H](C=NNC(=S)N)CC2)(C)C") -smiles("C1[C@H]2[C@@H](CCCC2)NCC1") -smiles("c1([C@@H](C(=O)c2ccc(Cl)cc2)O)ccc(Cl)cc1") -smiles("c1cnc2c(c1)cccc2N(=O)=O") -smiles("c1c[n+](c2c(cccc2)c1)CC") -smiles("c1c(N)c2c(cc(cc2)Cl)nc1") -smiles("C1CN=C(c2c(cccc2)O)N1") -smiles("C1CNCCC1") -smiles("c1cnccc1CCCC") -smiles("C1CN(CCC1)[C@H](Cc1ccccc1)C(=O)c1ccccc1") -smiles("c1cnc(cc1)C=NNC(=S)N") -smiles("c1cnc(cc1)C(=O)OCCCC") -smiles("c1c(nccc1)C(=O)OCCCCCC") -smiles("c1c([n+](CC)c2c(c1)cccc2)C") -smiles("c1c[n+](C)c(cc1)C") -smiles("c1c(nc(CCC)cc1)C") -smiles("c1cncc(C(=O)C)c1") -smiles("c1c(N)ccc(P(=O)(O)O)c1") -smiles("C1CN(CCO1)[Se][Se]N1CCOCC1") -smiles("c1c(N(CC(=O)N(c2ccc(cc2)Cl)CC(=O)O)C(=O)C)ccc(Cl)c1") -smiles("c1cnc(C(=O)OCC)cc1") -smiles("c1c(N[C@@H](c2c(O)c3c(cc2)cccn3)c2ccccc2)ccc([N+](=O)[O-])c1") -smiles("C1CN([C@@H]([C@@H](c2ccccc2)N2CCOCC2)C(=O)c2ccc(cc2)NC(=O)C)CCO1") -smiles("c1(C#N)c(N)nc(C)nc1") -smiles("c1c(NC(=S)Nc2ccc(OCCCC)cc2)ccc(c1)N(C)C") -smiles("c1c[nH]cc1") -smiles("c1(C=NNC(=S)N)c(O)cccc1") -smiles("c1(C=NO)ccc(cc1)OC") -smiles("c1c([N+](=O)[O-])c(C)c(c(Br)c1[N+](=O)[O-])N(=O)=O") -smiles("C1C(NP(=S)(NC2CCCCC2)NC2CCCCC2)CCCC1") -smiles("c1(C(=O)C=Cc2ccc(N(C)C)cc2)ccc(cc1)NC(=O)C") -smiles("c1(CO)ccccc1") -smiles("c1c(OC)ccc(Cc2ccc(cc2)OC)c1") -smiles("c1(COC)c(cc(C)cc1C)C") -smiles("C1COCCN1P(=O)(N1CC1)N1CC1") -smiles("c1(C(=O)[C@@H](C(=O)OC)CC)ccccc1") -smiles("c1(C(=O)C(=NO)c2ccccc2)ccccc1") -smiles("c1(c(O)c(N(=O)=O)cc([N+](=O)[O-])c1)Cl") -smiles("C1C(=O)NC(=O)CC1C[C@@H](O)[C@@H]1C(=O)[C@@H](C)C[C@H](C)C1") -smiles("c1(C(=O)O)c(ccc(c1)I)NN") -smiles("c1(C(=O)O)ccccc1NC(=O)Nc1c(C(=O)O)cccc1") -smiles("c1csc(c1)C(=O)NN") -smiles("c1c(SSc2ccc(N(CC)CC)cc2)ccc(N(CC)CC)c1") -smiles("c1nc2cc(Cl)ccc2c(c1[N+](=O)[O-])O") -smiles("c1nc2c(ncnc2[nH]1)S") -smiles("c1nc2c(nc[nH]2)c(Cl)n1") -smiles("C1N(C(c2ccccc2)c2ccccc2)CCCC1") -smiles("c1(nc(c2c([nH]cn2)n1)N)N") -smiles("c1(nc(c2nc[nH]c2n1)S)N") -smiles("C1NCCC1") -smiles("C1NCCCC1") -smiles("c1nc(ccc1)C=CC(=O)c1ccc(Cl)cc1") -smiles("c1(ncccc1C(=O)O)Cl") -smiles("c1(N)ccc(CCc2ccc(N)cc2)cc1") -smiles("c1nc(C=CC(=O)c2ccccc2)ccc1") -smiles("c1nc([C@H](O)[C@@H](C)C(=O)c2ccccc2)ccc1") -smiles("C1N(CCOC1)[C@H](c1ccccc1)[C@H](N1CCOCC1)C(=O)c1ccccc1") -smiles("C1=NC=N1") -smiles("c1(nc(nc(N)n1)N)C") -smiles("c1(NC(=O)C)ccc(cc1)C(=O)C=Cc1ccc(cc1)N(CC)CC") -smiles("C1N(C(=O)OCC)CCCC1") -smiles("c1(NNC(=S)NNc2ccccc2)ccccc1") -smiles("c1(=N)[nH]cc(N(=O)=O)s1") -smiles("c1(N(=O)=O)cccc(c1N)C") -smiles("c1(N(=O)=O)cc(C)ccc1I") -smiles("c1([N+](=O)[O-])cccc(C(=O)NNC(=S)N)c1") -smiles("c1(N(=O)=O)ccc(C=NNC(=S)NN)cc1") -smiles("c1(=N)sc(c2ccccc2)n[nH]1") -smiles("C1(=O)c2ccccc2C(=O)N1CCCCBr") -smiles("c1(O)cc(c(cc1C(CC)(C)C)O)C(CC)(C)C") -smiles("c1(O)ccc(c(Cl)c1)O") -smiles("c1(OC)ccc(C(=NNC(=S)N)C)cc1") -smiles("C1(=O)C(=CC(=NCl)C=C1Br)Br") -smiles("C1OCCN(C1)C(=S)SCCC(=O)N") -smiles("C1OCCN(P(=O)(OCCCC)N2CCOCC2)C1") -smiles("C1(=O)NC2(CCCC2)C(=O)N1") -smiles("C1(=O)N(c2ccccc2)N=C(C1)C") -smiles("c1(=O)oc2c(cc1C(=O)OCC)cccc2") -smiles("c1(P(=O)(O)O)ccccc1") -smiles("c1(SC)nc(nc(n1)SC)C") -smiles("C1SC(=S)NC1") -smiles("c1(=S)[nH]c(c2ccccc2)cs1") -smiles("c1(SSc2cc(ccc2N)S(=O)(=O)N)cc(ccc1N)S(=O)(=O)N") -smiles("c1(SSc2ccc(C)cc2)ccc(cc1)C") -smiles("C(Br)C(=O)c1c(C)cc(C)cc1C") -smiles("Cc1c(c(c(c(c1C)C)C)Br)C") -smiles("Cc1c(cccc1)C(=O)c1c(C)cccc1") -smiles("Cc1ccc(cc1)C(=O)Oc1ccccc1") -smiles("C(c1ccc(cc1)F)C(=O)O") -smiles("Cc1ccccc1OB(Oc1ccccc1C)Oc1ccccc1C") -smiles("Cc1ccc(cc1)S(=O)(=O)N(C)N=O") -smiles("Cc1cc(C)cc(C)c1CC(=O)c1ccccc1") -smiles("Cc1cc(C)c(C[N+](C)(C)C)c(c1C)C") -smiles("Cc1cc(C)cc(NC(=O)C)c1") -smiles("Cc1c(cc(c(C(=O)C)c1)C)C") -smiles("Cc1c(c(cc(C(=O)C)c1)C)O") -smiles("Cc1cc(C(=O)c2ccccc2)c(cc1)O") -smiles("Cc1ccc(S(=O)(=O)OCCCCl)cc1") -smiles("C(C1(CCN(C)C)C(=O)CCc2ccccc12)CN(C)C") -smiles("Cc1c(c(O)c2ccccc2c1)C#N") -smiles("Cc1c(I)ccc(N(=O)=O)c1") -smiles("C(c1cnc2nc(nc(N)c2n1)N)N(c1ccc(C(=O)N[C@H](C(=O)O)CCC(=O)O)cc1)C") -smiles("C[C@]1(C(=O)NC(=O)N1)CCCCCC") -smiles("C[C@@]1(NC(=O)NC1=O)CC(C)(C)C") -smiles("CC1(OB(OC(C[C@@H](OB2OC(C[C@H](C)O2)(C)C)C)(C)C)O[C@@H](C)C1)C") -smiles("Cc1sc(c(C)n1)CCNCCc1sc(nc1C)C") -smiles("C(=Cc1ccccc1)C=Cc1ccccc1") -smiles("C(#Cc1ccccc1)C(C#Cc1ccccc1)(C=Cc1ccccc1)O") -smiles("CCc1ccc(cc1)N(=O)=O") -smiles("C(Cc1ccc(cc1)OC)C(=NO)c1ccccc1") -smiles("C(=Cc1ccc(Cl)cc1)c1ccccc1") -smiles("C(C(c1ccccn1)CC(=O)c1ccccc1)C(=O)c1ccccc1") -smiles("C(=C(c1ccc(I)cc1)C(=O)O)c1cc(c(c(c1)Cl)O)Cl") -smiles("C(C)c1c(cc(nc1)C)N") -smiles("CCc1cnc(C=Cc2ccc([N+](=O)[O-])cc2)cc1") -smiles("C(C)[C@@]1(NC(=O)NC1=O)C") -smiles("C(=CC1=[O+][Cu]2([O+]=C(c3ccccc3)C1)[O+]=C(CC(=[O+]2)C=Cc1ccccc1)c1ccccc1)c1ccccc1") -smiles("CCC1=[O+][Cu]2([O+]=C(CC)CC(=[O+]2)CC)[O+]=C(CC)C1") -smiles("CC(=Cc1ccccc1)c1ccccc1") -smiles("CC(C)(c1c(cc(C(C)(C)C)c(c1)O)O)C") -smiles("CCCc1ncccc1") -smiles("C(CCC1=NCCN1)CCCCCCCCCCCCCC") -smiles("C(CCC)c1ccccn1") -smiles("CC(C)(C)c1ccc(C(=O)C)cc1") -smiles("C(CCCCCc1c(O)cc(cc1)O)CCCCCCCCC") -smiles("C(CCCCC)c1nc(C)ccc1") -smiles("C(C(CCCCC)c1ncccc1)CCCC") -smiles("C(C)CC=C(C)C#CC1=CCCCC1") -smiles("C(CCCCCCCCCCCCCCCCCCCCCS)CCCCCCCCC") -smiles("CCCCCCCCCCCCCCCCCCC(CO)CO") -smiles("C(CCCC(CCCCCCC)(CCCCCCC)O)CCC") -smiles("C(CCCCC(CCCCCC)(CCCCCC)O)C") -smiles("C(CCCCCCCCCCC)CCCC=CC(=O)O") -smiles("C(CCCCCCC)CCCCCC#N") -smiles("C(C)CCCC(CCCCC)(CC)O") -smiles("C(CCCCCC)CCCCCCS") -smiles("C(CC)CCC(CCC)(CCC)O") -smiles("CC(C)(C(CCCC)(CCCC)O)C") -smiles("CCCCCCCCCCCC(=O)Nc1ccc(cc1)SSc1ccc(cc1)NC(=O)CCCCCCCCCCC") -smiles("C(C)CCCCCCCCCC(=O)N(CCCC)CCCC") -smiles("C(CCCC)CCCCCCCSC(SCCCCCCCCCCCC)SCCCCCCCCCCCC") -smiles("CC(C)(C)C[C@](CCCCC)(O)C") -smiles("C(CCCCCCCCCOB(OCCCCCCCCCCCC)OCCCCCCCCCCCC)CC") -smiles("C(C)(CC(CC(C)(C)C)C(=O)CC)(C)C") -smiles("CC([C@](C)(CC(C)(C)C)C(=O)O)(C)C") -smiles("CCCCCCCCC(C(=O)O)(C)C") -smiles("C(CCC(CCCCC)(O)CCCC)CC") -smiles("C(C)C(CC)(CC)[C@@H](O)c1ccccc1") -smiles("C(C)CCCC(C)(C)O") -smiles("C(CCCCCC)COB(OCCCCCCCC)OCCCCCCCC") -smiles("CC(C)(C)[C@](CCC)(O)C") -smiles("C(C(CCCC)(CC)O)CCC") -smiles("CCCC(CCCC)(O)CCCC") -smiles("C(CC(CCCC)C(=O)O)CC") -smiles("C(C)CC[C@@](CC)(C(=O)O)CCCCCCCC") -smiles("C(CCCC)C[C@H]1NCCCC1") -smiles("C(CCC)CCC(=NNc1c(cc(cc1)[N+](=O)[O-])[N+](=O)[O-])C") -smiles("C(C)(C)(C)C[C@@](C)(O)CCCC") -smiles("C(CCC(C(C)C)(O)C(C)C)C") -smiles("C(C)(C)C(C(C)C)(O)CCC(C)C") -smiles("C(CCCCC(C(=O)O)(CC)CC)CCC") -smiles("CC(C)(C)CC(C(=O)OCCC)CC(C)(C)C") -smiles("C(C(C)(C)C)[C@@H](C)C(=O)OCC(C)(C)C") -smiles("C(CCCC[C@H](N)C(=O)O)C[C@@H](C(=O)O)N") -smiles("C(#C)[C@](CC)(C)O") -smiles("C(C)(C)(C)CC(=O)C") -smiles("C(C(C)C)(CC)(O)CC") -smiles("C(C)(C)C(C)(C(=O)C)C") -smiles("CC(CC(C)(C)O)(C)C") -smiles("CC(C)(C)C[C@@](O)(C(C)C)C") -smiles("C(C)(C)(C)CC(O)(CCCC)CCCC") -smiles("CCCCCC(O)(CCCC)CCCC") -smiles("C(C)CCCC(=O)CC(=O)CC") -smiles("C(C)(C)(C)CC(=O)OCC") -smiles("C(CCCCC(=O)OCC)N") -smiles("C(C)(C)C[C@H](C)OC=O") -smiles("CC(C)(C)[C@H](O)C") -smiles("C(C)CC(C#N)(CCC)CCC") -smiles("C(CCCCN(CCCCCC)CCCCCC)CCCCCCO") -smiles("C(CCCCN)C#N") -smiles("C(CCCCNP(=S)(NCCCCCCCC)NCCCCCCCC)CCC") -smiles("C(C)(C)CCO") -smiles("C(CCCCOB(OCCCCCCCCCCCCCCCCCC)OCCCCCCCCCCCCCCCCCC)CCCCCCCCCCCCC") -smiles("C(CCC)C(=O)c1cc(C)c(cc1)OC") -smiles("CC(C)(C)C(=O)C(C)C") -smiles("CC(C)C[C@@](O)(C#C)C") -smiles("C(C)(C)(C)C(=O)CCCCC") -smiles("C(C)CCC(O)(CCCC)CCCC") -smiles("C(C(C)(C)C(=O)C(C(C)(C)C)(C)C)(C)C") -smiles("CC(C)CC(=O)CC(=O)CCC") -smiles("C(C(C)(C)C)OC(=O)c1ccccc1") -smiles("C(CC(C)C)OC(OCCC(C)C)OCCC(C)C") -smiles("CC(CC(C(=O)OCC(C)(C)C)(C)C)(C)C") -smiles("C(CCCC(=O)OOC(=O)CCCCCCCCCCC)CCCCCCC") -smiles("CC(C)[C@@H](C)OC(=O)C") -smiles("CC(C[C@@H](C(=O)O)C)(C)C") -smiles("CC(CCl)(C)c1ccccc1") -smiles("C(C)(CCl)(C)c1ccc(C(CCl)(C)C)cc1") -smiles("C(CCCN(CCCCC)CC(=O)O[C@@H]1[C@]2(C)C(C)([C@@H](CC2)C1)C)C") -smiles("C(CC)CNC(=O)OCC") -smiles("C(C)CCOB(OCCCC)OCCCC") -smiles("C(C)(C)(C(=O)C(C)(C)C)C") -smiles("CC(CC(=O)CCC)(C)C") -smiles("CC(C)(C(=O)C(CC)(C)C)C") -smiles("CC(CC(=O)CC(C)(C)C)(C)C") -smiles("C(CCC(=O)CCCCCCCCC=C)CCCCCC=C") -smiles("C(CCC(=O)CCCCCCCCCCCCCCC)CCCCCCCCCCCC") -smiles("C(#C[C@@](C)(O)CC)[C@@](O)(CC)C") -smiles("C(CCCO)CCO") -smiles("CC(C)(COC(=O)C)C") -smiles("CCCCOCOCCCC") -smiles("CC(C)(COC(=O)C(C)(C)C)C") -smiles("CCCCOC(=O)C=CC(=O)OCCCC") -smiles("C(CCC)OC(=O)N") -smiles("C(C)C(C(=O)O)(CC)CC") -smiles("C(CCCSC(=[NH2])N)CSC(=[NH2])N") -smiles("CC[C@@H](C=Cc1nc2ccccc2cc1)CCCC") -smiles("C(C[C@@H](CO)O)C") -smiles("C(CC)N1C(=O)C(=O)[C@@H](C(=O)OCC)C1") -smiles("C(CCNc1c2cc(ccc2nc2CCCCc12)OC)N(CCCCC)CCCCC") -smiles("CC(C#N)(C)C") -smiles("C(CCN(CCCCC)CCCNc1c2c(nc3CCCCc13)ccc(Cl)c2)CC") -smiles("C(CCN(CC)CC)[C@@H](Br)C") -smiles("C(CCN(CCCC)C(=[NH2])c1c(C)cc(C)cc1C)C") -smiles("C(CCN(CCCC)C(=O)C[C@](C)(c1ccccc1)O)C") -smiles("C(C)CN(CCC)N=O") -smiles("C(CCN(CC(=O)O)CC(=O)O)([N+](=O)[O-])(C)C") -smiles("C(=C(C#N)C#N)c1cc(c(cc1)Cl)Cl") -smiles("C(=C(C#N)C#N)c1c(Cl)cc(Cl)cc1") -smiles("C=CCNC(=O)OCC") -smiles("CCC(=NNC(=S)N)C") -smiles("C(=CC=NNC(=S)N)c1ccccc1") -smiles("C(CC(=N)OC)OC(=O)c1ccccc1") -smiles("CCCNP(=S)(NCCC)NCCC") -smiles("CC(CO)(c1ccccc1)C") -smiles("CCC(=O)c1ccc([N+](=O)[O-])cc1") -smiles("CC(C(=O)C)(C)C") -smiles("CCC(=O)CC(C)(C)C") -smiles("C(CC(=O)C(C)(C)C)(c1ccccc1)c1ccccc1") -smiles("C(C)C(O)(CC(C)(C)C)CC") -smiles("CC(C(=O)C(C(C)(C)C)(C)C)(C)C") -smiles("C(CC(=O)CCCCCCC)CCCCC") -smiles("CC(C(=O)C(C)(C)C)(CCl)C") -smiles("C(CCOC(=O)C)CCCCCCC=C") -smiles("CC(C)(OC=O)C(OCC)OCC") -smiles("C(=CC(=O)O)c1ccncc1") -smiles("C([C@@](C(=O)O)(CC)CCCC)c1ccccc1") -smiles("C(CC(=O)O[C@@H](CC(C)C)C)C") -smiles("C(CCS)CCCCCCC") -smiles("C(CCS)CCCCCCCCC") -smiles("C(C(CS)C)S") -smiles("C(C(F)(F)C(C(COC(=O)c1c(C(=O)OCC(C(C(F)(F)C(F)F)(F)F)(F)F)cccc1)(F)F)(F)F)(F)F") -smiles("C(C(F)F)(CO)(F)F") -smiles("C([C@H]1CO1)OCC=C") -smiles("C[C@H]1SC(C)S[C@H](C)N1") -smiles("C([C@@H](C)OC(=O)CC(C)C)C(C)C") -smiles("C(Cl)c1cc(ccc1O)[N+](=O)[O-]") -smiles("C(Cl)CN(C)CCCl") -smiles("C(Cl)COC[C@@H]1OC1") -smiles("C(C)N1C[C@@H](C(=O)C1=O)C(=O)OCC") -smiles("CC(N1C(=O)C(=O)[C@H](C1)C(=O)OCC)C") -smiles("CCN(CC)CCCC#N") -smiles("C(CN(CCCC)C(=O)C)CC") -smiles("CC(N(C(C)C)P(=O)(c1ccc([N+](=O)[O-])cc1)OP(=O)(N(C(C)C)C(C)C)c1ccc(cc1)[N+](=O)[O-])C") -smiles("[C@@](C#N)(C)([C@@H](C)c1ccccc1)c1ccccc1") -smiles("CC(N(CC(=O)O)CC(=O)O)C") -smiles("CCN(C=O)CC") -smiles("CC(NC(=O)C)NC(=O)C") -smiles("[C@@](C)(N)(C(=O)O)CC") -smiles("C(C)NC(=O)OCC") -smiles("CC(=NNC(=S)N)c1ccccc1") -smiles("CCN(N=O)CC") -smiles("CC(N(N=O)C(C)C)C") -smiles("CC(=NO)C(=NNC(=S)N)C") -smiles("CCNS(=O)(=O)NCC") -smiles("CCO") -smiles("C(C(OB(OC(CC(C)C)CC(C)C)OC(CC(C)C)CC(C)C)CC(C)C)C(C)C") -smiles("CC(=O)c1ccc(Oc2ccc(C(=O)C)cc2)cc1") -smiles("CC(=O)c1ccncc1") -smiles("C(COc1ncc(NC[S](=O)=O)cc1)CC") -smiles("CCO[C@H](c1ccccc1)C") -smiles("CC(=O)C(=NO)C") -smiles("CCOC(=O)CC1(CCCCC1)O") -smiles("C(C)OC(=O)C(CCCCCCC)C(=O)OCC") -smiles("CCOC(=O)[C@H]1C(=O)C(=O)N(C)C1") -smiles("CCOC(=O)[C@H](c1ccccc1)C#N") -smiles("CCOC(=O)NC(NC(=O)OCC)C") -smiles("CCOC(=O)NC(NC(=O)OCC)CCl") -smiles("C(CO)(F)(F)C(C(C(F)(C(F)(F)C(F)F)F)(F)F)(F)F") -smiles("CC(=O)NC") -smiles("CC(=O)Nc1cc(cc(C)c1)Br") -smiles("CC(=O)Nc1ccc(C(=O)CCl)cc1") -smiles("C(C(=O)N)CCCCCCCCCC") -smiles("CC(=O)NCCNC(=O)C") -smiles("CC(=O)N[C@@H](C(Cl)Cl)O") -smiles("C(C(=O)O)Br") -smiles("C(C(=O)Oc1c(cccc1)C(=O)O)CC") -smiles("CC(=O)O[C@@]1(C)[C@@](C)(C(=O)OC1=O)OC(=O)C") -smiles("C(C(=O)O)CC(c1ccccc1)(c1ccccc1)C[C@@H](N(C)C)C") -smiles("CC(OOC(C)(C)C)(C)C") -smiles("C(C(=O)O)CC(C)(CCC(=O)O)C") -smiles("C(C(=O)O)(CCCC)C(=O)O") -smiles("C(C(=O)O)CC(=O)OC") -smiles("CC(=O)O[C@H](CC(C)C)C") -smiles("C(C(=O)O)Oc1c(Cl)cc(Cl)c(c1)Cl") -smiles("C(C)SCCCC") -smiles("CC([Si](C)(C)C)(C(=O)OCC)C") -smiles("CC(=S)N1CCCCC1") -smiles("[C@@H]12CC[C@@](C)(C(=O)C1=O)C2(C)C") -smiles("[C@@H]12CC[C@H]([C@@H](CCCC(C)C)C)[C@]2(CC[C@@H]2[C@]3(CC[C@H](Cl)C[C@]3(Br)[C@@H](Br)C[C@H]12)C)C") -smiles("[C@H]12[C@@H]([C@@H]3[C@@]([C@@](C(=O)COC(=O)C)(CC3)O)(C)C[C@H]2O)CCC2=CC(=O)CC[C@@]12C") -smiles("[C@H]1(CCCCCCCC)O[C@H]1CCCCCCCC(=O)O") -smiles("[C@H]1(CCN(C1=O)Cc1ccccc1)O") -smiles("[C@@H]1(C)C(O)[C@H](CCC1)C") -smiles("[C@H]1([C@@H]([C@H]([C@@H](C)C=C1)COC(=O)C)COC(=O)C)C") -smiles("[C@@H]1([C@H]([C@H]([C@H](O)[C@H](CO)O1)O)O)Nc1ccc(OCC)cc1") -smiles("[C@H]1([C@H]([C@H]([C@@H](O)[C@@H](O1)O)O)O)C(=O)O") -smiles("[C@H]1([C@H](OC(=O)C)[C@@H]([C@@H](OC(=O)C)[C@@H](Sc2c(NC(=O)C)cc(Cl)cc2)O1)OC(=O)C)COC(=O)C") -smiles("[C@H]1(C[N+](C)(C)C)OCCOC1") -smiles("[C@@H]1(COc2cc([N+](=O)[O-])ccc2)OC1") -smiles("[C@H]1(C(=O)OCC)CN(C(C)(C)C)C(=O)C1=O") -smiles("[C@@H]1(OCOCC1)C") -smiles("[C@H]1(OC(=O)C)CCCC[C@@H]1OC(=O)C") -smiles("[C@H]1(OC(=O)C)[C@H]([C@@H](O[C@H](Sc2cccc3ccccc23)[C@H]1OC(=O)C)COC(=O)C)OC(=O)C") -smiles("[C@H](CBr)(Br)C(=O)O") -smiles("[C@H](CCCCCCCCCCCCCCCC)(C(=O)O)O") -smiles("[C@H](CCCC)(CC)C(=O)CC(=O)C") -smiles("[C@H](C)(Cl)C(=O)O") -smiles("[C@@H]([C@H]1OC(=O)[C@@H]([C@@H]1O)O)(O)C=O") -smiles("[C@H]([C@@H](O)c1ccc(Cl)cc1)(NCCO)c1ccc(Cl)cc1") -smiles("[C@H](COC(=O)C=[N+]=[N-])(C(=O)O)N") -smiles("[C@H](C(=O)NO)(N)Cc1ccc(O)cc1") -smiles("[C@@H](C(=O)OCC)(CC(=O)OCC)C(=O)C") -smiles("[C@H](NCCO)(c1ccc(Cl)cc1)C(=O)c1ccc(cc1)Cl") -smiles("[C@H](OCCCC)(c1ccccc1)N1CCCCC1") -smiles("Clc1c2c(cc(Cl)cc2)ncc1") -smiles("Clc1c(C)c2c(cc1)c(O)c(C(=O)OCC)cn2") -smiles("Clc1ccc(CCC(=O)C)cc1") -smiles("Clc1ccc(C(=NN=C(c2ccc(Cl)cc2)C)C)cc1") -smiles("Clc1cc(Cl)ccc1OCCO") -smiles("ClC(Cl)[C@H](NC(=O)Cc1ccccc1)O") -smiles("ClC(Cl)C(NC(=O)OCC)NC(=O)OCC") -smiles("Cl[C@H](C)C(Cl)([C@H](O)NC(=O)CCCC)Cl") -smiles("[Cl](=O)(=O)(=O)O") -smiles("C(N1c2ccccc2Sc2ccccc12)C") -smiles("C(#N)c1c2c(nc3c1cccc3)cccc2") -smiles("CN(c1ccc(cc1)c1ccc(N(C)C)cc1)C") -smiles("CN(c1c(N)cc(cc1)C(=O)c1ccc(c(c1)N)N(C)C)C") -smiles("C[N+](Cc1ccccc1C[N+](C)(C)C)(C)C") -smiles("C[N+](Cc1c(cc(C)cc1C)C)(C)C") -smiles("C(N(C)C)Cc1c(cc(cc1C)C)C") -smiles("C([N+](CCC)(CCC)CCC)c1ccccc1") -smiles("C(#N)C(C)(C)O") -smiles("C(#N)C([C@@H](C#N)c1ccccc1)C#N") -smiles("C(N(CC)N=O)CCC") -smiles("C(#N)CCOC(=O)C") -smiles("C(N([C@@H]1C(=NO)CCCC1)CC)C") -smiles("C[N+]([C@@H](C)CC(c1ccccc1)(C(=O)CC)c1ccccc1)(C)C") -smiles("C(#N)[C@@H](C)N(C)C") -smiles("C(N)CNCCN") -smiles("C(NC(=O)c1ccccc1)CCCCCNC(=O)c1ccccc1") -smiles("C(=NN)(c1ccccc1)c1ccccc1") -smiles("C(=NNc1c(cc([N+](=O)[O-])cc1)N(=O)=O)(CC(C)C)CC(C)C") -smiles("C(=NNC(=S)N)c1cc2c(cc1)OCO2") -smiles("C(=NNC(=S)N)c1ccc(cc1)S(=O)(=O)CC") -smiles("C(=NO)(C)CC(C)C") -smiles("C(=NO)(C(=NO)C)C") -smiles("C[N+](=O)[O-]") -smiles("C(=O)(c1ccccc1)C1CCCCC1") -smiles("COc1cc(ccc1)C#N") -smiles("COc1cccc(C#N)c1") -smiles("C(=O)(c1c(NN)cccc1)O") -smiles("C(=O)(c1c(OCC(=O)O)cccc1)Nc1ccccc1") -smiles("C(=O)(C(c1ccccc1)(O)c1ccccc1)OC") -smiles("C(O)(CCCCC)(CCCCC)C") -smiles("C(=O)([C@@](C)(CC)CCC)O") -smiles("C(=O)(CCCCCC)O[C@H](C)CC(C)C") -smiles("C(=O)(CC(C)CC(=O)OCC(F)(F)C(F)(C(F)(C(F)F)F)F)OCC(C(C(F)(F)C(F)F)(F)F)(F)F") -smiles("C(=O)(CC(C)(C)NNC(=S)N)C") -smiles("C(=O)(C(C)(C)C(=O)O)O") -smiles("COCCCN") -smiles("C(=O)(CC(=O)NN)NN") -smiles("C(=O)(CC(=O)OCCCCCCCCCCCCCCCC)OCCCCCCCCCCCCCCCC") -smiles("C(=O)([C@H](C)Br)O") -smiles("C(=O)([C@@H](C)CC(C)(C)C)Cl") -smiles("C(=O)([C@@H](N1CCOCC1)[C@H](N1CCOCC1)C(=O)c1ccccc1)c1ccccc1") -smiles("C(=O)([C@@H](N)CCSCC)O") -smiles("C(O)[C@@H](O)[C@@H](O)[C@H](O)[C@@H](C=O)N") -smiles("C(=O)([C@@H](O)[C@H](O)C(=O)OC)OC") -smiles("C(=O)(C)Nc1ccc(cc1)C=NNC(=S)NN") -smiles("C(O)CNCCN") -smiles("C(=O)(CN(CC(=O)O)Cc1ccccc1)O") -smiles("C(=O)(C(=NO)Cl)c1ccc(cc1)C") -smiles("C(OC(=O)CC(C)C)C(C)(C)C") -smiles("C(OC(=O)C(C(C)C)C(=O)OCC)C") -smiles("COC(=O)CCN(CC)CC") -smiles("C(OC(=O)[C@@H](C(C)C)C(=O)CC(C)C)C") -smiles("C(=O)(C)O[Hg]c1ccc(cc1)N=Cc1ccccc1O") -smiles("C(=O)(C(=O)O)C") -smiles("COC(=O)OCC=CCOC(=O)OC") -smiles("C(=O)(N(c1cc2cc(cc(O)c2cc1)S(=O)(=O)O)c1ccccc1)OCC") -smiles("C(=O)(Nc1ccccc1)C(Cl)(Cl)Cl") -smiles("C(=O)(N(CC)CC)CC") -smiles("C(=O)(N(CC)CC)C=Cc1ccccc1") -smiles("C(=O)(N)CNC") -smiles("C(=O)(NCO)C=C") -smiles("C(=O)(NN)c1cc(OC)nc(c1)OC") -smiles("C(=O)(O)c1ccc(cc1O)N(=O)=O") -smiles("C(=O)(O)C(C)C") -smiles("C(=O)(OC(=Cc1ccccc1)C)c1ccccc1") -smiles("C(=O)(O)CCCc1ccccc1") -smiles("C(=O)(O)C(CCCC)(CC)CC") -smiles("C(=O)(OCCCCCCCC)c1ncccc1") -smiles("C(=O)(OCC)C(C(=O)OCC)NC(=O)c1ccccc1") -smiles("C(=O)(O)CCCl") -smiles("C(=O)(OOC(=O)CCC(=O)O)CCC(=O)O") -smiles("C(SCCS[C@H](c1ccccc1)CC(=O)C)CS[C@@H](CC(=O)C)c1ccccc1") -smiles("C(=S)(C)SCC(C)C") -smiles("C(SC(=S)N(CC)CC)CC(=O)N") -smiles("C(=S)(Nc1c(CC)cccc1)Nc1c(CC)cccc1") -smiles("C(=S)(N)NN=CCCCCCC") -smiles("C(=S)(N)NNC(=O)c1ccc([N+](=O)[O-])cc1") -smiles("CS(=O)C") -smiles("CS(=O)(=O)OCCCCOS(=O)(=O)C") -smiles("C(SSCCCCCCCCCCCCCCCC)CCCCCCCCCCCCCCC") -smiles("Fc1c(CC(=O)O)cccc1") -smiles("FC(C(C(CO)(F)F)(F)F)(C(F)F)F") -smiles("FC(F)C(C(F)(C(F)(F)COC(=O)CCCC(=O)OCC(F)(F)C(C(F)(F)C(F)F)(F)F)F)(F)F") -smiles("FC(F)(C(F)(F)C(CO[Si](OCC(C(F)(F)C(F)(F)C(C(F)(F)C(F)F)(F)F)(F)F)(OC(C)(C)C)OC(C)(C)C)(F)F)C(F)(C(C(F)F)(F)F)F") -smiles("[H+]") -smiles("[Hg](c1ccccc1)Sc1nc2ccccc2s1") -smiles("[H][H]") -smiles("[I](Cl)Cl") -smiles("n1c2c(cccc2)ns1") -smiles("n1c2c(nc(N)nc2O)[nH]n1") -smiles("N1c2c(Sc3ccccc13)cccc2C(=O)OC") -smiles("n1cc2c(O)nc(nc2[nH]1)N") -smiles("n1cccc2ccc(c(O)c12)[C@H](Nc1ccc(C(=O)O)cc1)c1ccccc1") -smiles("N1CCCCC1") -smiles("n1c(cccc1)CC") -smiles("n1c(C)cccc1CCCCC") -smiles("n1ccc(CCC)cc1") -smiles("N1(CCCC[C@@H]1C)[C@H](CC(=O)c1ccccc1)C(=O)c1ccccc1") -smiles("N1(CCC[C@H]1[C@@H]1CCCNC1)C") -smiles("n1c(ccc(N)c1)Cl") -smiles("N1=C(CC(=O)N1C)C") -smiles("n1cc(C(=O)O)ccc1Cl") -smiles("N1CCNCC1") -smiles("n1c(C(=O)O)cccc1") -smiles("n1c(ncc2CCc3ccccc3c12)NC(=O)C1CC1") -smiles("N1(C(=O)c2c(cccc2)C1=O)[N+](=O)[O-]") -smiles("n1c(O)c2ccccc2c(O)n1") -smiles("N1C(=O)[C@@H](NC(=O)[C@@H]1CCCl)CCCl") -smiles("N1=C(OC(=O)C1=Cc1ccccc1)c1ccccc1") -smiles("N1C(=O)CSc2cc(ccc12)Cl") -smiles("n1c(O)nc2[nH]nnc2c1O") -smiles("n1n2ccccc2cn1") -smiles("n1n2ccccc2nn1") -smiles("N(c1c2cc(OC)ccc2nc2cc(ccc12)Cl)CCCN(CC)CC") -smiles("Nc1ccc2c(ncc(c2O)C(=O)OCC)n1") -smiles("N(c1ccccc1)(c1ccccc1)N=O") -smiles("Nc1ccc(cc1)C(=O)C=Cc1ccccn1") -smiles("Nc1ccccc1S(=O)(=O)O") -smiles("Nc1ccccn1") -smiles("N(c1ccc(S(=O)(=O)N)cc1)C(=O)CBr") -smiles("Nc1c(C(=O)O)cc(cc1)I") -smiles("Nc1nc2ncc(nc2c(N)n1)CNc1ccc(C(=O)N[C@@H](CCC(=O)O)C(=O)O)cc1") -smiles("Nc1ncccc1C") -smiles("Nc1nc(N)ncn1") -smiles("N#Cc1cc(c2c(c1Cl)Nc1c(ccc(Cl)c1S2)Cl)Cl") -smiles("N(C)C1CCCCC1") -smiles("N(=C(c1ccccc1)c1ccccc1)c1ccccc1") -smiles("N(=Cc1ccccc1)c1cc(C)ccn1") -smiles("N(=Cc1ccccc1)NC(=S)NN") -smiles("N(=Cc1ccc(Cl)cc1)N=Cc1ccc(Cl)cc1") -smiles("N(=Cc1sccc1)NC(=S)N") -smiles("[N+](C)(Cc1ccc(cc1)[N+](=O)[O-])(C)C") -smiles("N(CC)(c1ccc(cc1)SC#N)CC") -smiles("N(=C(C)c1sccc1)NC(=S)N") -smiles("NC(C)(Cc1ccccc1)C") -smiles("N#CC(=Cc1ccc(cc1)Cl)C#N") -smiles("N(=CC=Cc1ccccc1)N=CC=Cc1ccccc1") -smiles("N#CC(=Cc1cccc(c1)[N+](=O)[O-])C#N") -smiles("N(CC)(CC)CCCCCCCC") -smiles("N(C)(C)CCC#N") -smiles("N(CC)(CCC#N)CC") -smiles("N(CC)(CC)C(=O)CCC(=O)O") -smiles("N(=C(C)CC)O") -smiles("NCCCNC(C)C") -smiles("NCCCOC(C)C") -smiles("N(CCC(=O)O)(c1ccccc1)C(=O)C(=O)OCC") -smiles("N#C[C@@H](C1CCCCC1)c1ccccc1") -smiles("N#C[C@H](NC(=O)N[C@H](C)C(=O)N)C") -smiles("N(CCN)CCNCCN") -smiles("N#C[C@@](OC(=O)C)(CC)C") -smiles("N(C(C(=O)N)(C)C)C(=O)NC(C#N)(C)C") -smiles("N(CC(=O)O)(CC(=O)O)CC") -smiles("N(C(=[NH2])Nc1ccccc1C)c1ccccc1C") -smiles("N(C(=O)c1ccccc1N)N") -smiles("N(C(=O)c1cc(ccc1O)N)N") -smiles("N(C(=O)C)c1c(C(=O)O)cc(I)cc1") -smiles("N(C=O)(CC)CC") -smiles("N(C(=O)C)CNC(=O)C") -smiles("NC(=O)OCC") -smiles("N(C(=O)OCCCl)c1ccccc1") -smiles("N#CSc1ccc(cc1)N(CCC)CCC") -smiles("N(C(=S)Nc1ccc(C)cc1)c1ccc(C)cc1") -smiles("N(C(=S)N=CCC)C(=S)N") -smiles("N(C(=S)N)N=Cc1ccncc1") -smiles("N(C(=S)N)N=C(C)c1ccc(cc1)Cl") -smiles("N(C(=S)N)N=CC=CC") -smiles("[nH]1cccc1") -smiles("[nH]1c(nnn1)NC(=O)NN=Cc1c(O)cccc1") -smiles("N(=Nc1ccc(cc1)c1ccccc1)c1ccc(c2ccccc2)cc1") -smiles("N(N=Cc1cnccc1)C(=S)NN") -smiles("N(N=C(C)C)C(=O)N") -smiles("NNC(=O)c1ccc(N)cc1") -smiles("N(N)C(=O)C1C(C(=O)NN)C1C(=O)NN") -smiles("NNC(=O)C=CC") -smiles("N(N)C(=S)NN=Cc1c2c(cccc2)ncc1") -smiles("NNC(=S)NN=Cc1nc2ccccc2cc1") -smiles("N(N)C(=S)NN=Cc1[nH]ccc1") -smiles("N(NS(=O)(=O)c1ccccc1)C(=S)N") -smiles("[N+](=O)(c1ccc(CCc2ccc(N(=O)=O)cc2)cc1)[O-]") -smiles("N(=O)N1CCN(N=O)CC1") -smiles("N(=O)N1CCOCC1") -smiles("N(=O)N(CC(C)C)CC(C)C") -smiles("[N+](=O)([O-])c1ccc(C(=O)c2ccc(cc2)C)cc1") -smiles("[N+](=O)([O-])c1cc(CSC#N)c(cc1)O") -smiles("[N+](=O)([O-])C(C)(C)CCN") -smiles("N(=O)(=O)N1C(=O)CCC1=O") -smiles("NP(=O)(c1ccccc1)N") -smiles("N(P(=S)(c1ccccc1)NN)N") -smiles("N(P(=S)(Cl)Cl)CCCCCCC") -smiles("NS(=O)(=O)N") -smiles("[O-]") -smiles("[O+]") +smiles("B1(O)OB(OB2OB(O)O2)O1", printStereoWarnings=False) +smiles("B(O[C@H](C)CC(C)C)(O[C@H](C)CC(C)C)O[C@H](C)CC(C)C", printStereoWarnings=False) +smiles("Brc1cc(c(c(Br)c1)NC(=S)N)Br", printStereoWarnings=False) +smiles("Brc1ccc(cc1)SSc1ccc(Br)cc1", printStereoWarnings=False) +smiles("BrC[C@@H]1OC1", printStereoWarnings=False) +smiles("BrC[C@H]([C@@H](CBr)Br)Br", printStereoWarnings=False) +smiles("BrC(C(=O)C(Br)(C)C)Br", printStereoWarnings=False) +smiles("BrCC(=O)Nc1ccc(cc1)Cl", printStereoWarnings=False) +smiles("BrCC(=O)Nc1ccc(C)cc1", printStereoWarnings=False) +smiles("c12c3c4c5c6c7c8c9c%10c7c7c5c5c%11c4c4c%12c%11c%11c%13c%14c%15c%16c%17c%18c%19c%20c%21c(c1c1c%22c(c%23c(c%19c%21%22)c%19c(c%21c(c%16c%18%19)c%14c(c%10%21)c7c5%13)c9%23)c8c1c36)c(c24)c1c%20c%17c(c%11%15)c%121", printStereoWarnings=False) +smiles("c12c3c(ccc2c(Cl)ccn1)c(Cl)ccn3", printStereoWarnings=False) +smiles("c12c(cc(c3ccccc3)[nH]2)cc(cc1Br)Br", printStereoWarnings=False) +smiles("c12ccccc1c1Sc3c(N(C(=O)C)c1cc2)cccc3", printStereoWarnings=False) +smiles("c12ccccc1ccc(C(Br)(Br)Br)n2", printStereoWarnings=False) +smiles("c12ccccc1c(cc(SC#N)c2N)SC#N", printStereoWarnings=False) +smiles("c12ccccc1C(=O)c1ccc(cc1C2=O)N", printStereoWarnings=False) +smiles("c12ccccc1NC(=O)C2=NNC(=S)N", printStereoWarnings=False) +smiles("c12cccc(c1[nH][nH]c2=O)Cl", printStereoWarnings=False) +smiles("c12ccccc1Sc1c(N2)cc(C(=O)CCl)cc1", printStereoWarnings=False) +smiles("c12ccccc2c2c(cc1)C(=O)OC2=O", printStereoWarnings=False) +smiles("c12c(c(ccc2cccn1)[C@H](Nc1nccc(C)c1)c1ccccc1)O", printStereoWarnings=False) +smiles("c12c(cc(cc2)CC(=O)O)cccc1", printStereoWarnings=False) +smiles("C12=C(CCCC2)C(=O)c2c(cccc2)C1=O", printStereoWarnings=False) +smiles("c12cc(ccc2Sc2c(cccc2)N1C(=O)C)C(=O)CCl", printStereoWarnings=False) +smiles("c12ccccc2S(=O)c2ccccc2N1CCC[N+](CC)([O-])CC", printStereoWarnings=False) +smiles("c12c(c(C(C)(O)C)ccc2)cccc1C(O)(C)C", printStereoWarnings=False) +smiles("c12CC[C@H](c3c(ccc(c(=O)c3)OC)c2c(OC)c(c(OC)c1)OC)NC(=O)C", printStereoWarnings=False) +smiles("c12ccc(nc2nccc1O)NC(=O)C", printStereoWarnings=False) +smiles("c12c(C(=O)c3c(c(Cl)c(cc3)C)C1=O)cccc2", printStereoWarnings=False) +smiles("c12c([n+](c(cc2)C)CC)ccc(C)c1", printStereoWarnings=False) +smiles("c12c(n(C)cn2)c(=O)n(c(=O)n1C)C", printStereoWarnings=False) +smiles("c12c(n(cn1)C)c(=O)n(c(=O)n2C)C", printStereoWarnings=False) +smiles("c12c([nH]cn1)cccc2", printStereoWarnings=False) +smiles("c12C(=O)C(=C(C(=O)c2cccc1)O)C1CCCCC1", printStereoWarnings=False) +smiles("c12C(=O)N([N+](=O)[O-])C(=O)c1cccc2", printStereoWarnings=False) +smiles("c12[nH]cnc2cncn1", printStereoWarnings=False) +smiles("c12nnnn2cc(cc1N(=O)=O)C", printStereoWarnings=False) +smiles("c1(Br)nc(ccc1)Br", printStereoWarnings=False) +smiles("c1c2c3c(ccc2)c2cccc4cccc(c24)c3cc1", printStereoWarnings=False) +smiles("C1c2c3c(ccc2CCC1)CCCC3", printStereoWarnings=False) +smiles("c1c2c3c(cc(N)cc3)Cc2ccc1", printStereoWarnings=False) +smiles("c1c2c(cc3c(c2Br)cccc3)ccc1", printStereoWarnings=False) +smiles("c1c2c(cc3c(nc(s3)c3ccccc3)c2)ccc1", printStereoWarnings=False) +smiles("c1c2c(ccc1C=NO)OCO2", printStereoWarnings=False) +smiles("c1c2c(ccc1)SCC(=O)N2", printStereoWarnings=False) +smiles("c1(c2ccc(C(=O)C(=NO)Cl)cc2)ccccc1", printStereoWarnings=False) +smiles("c1c2cc[nH]c2c(cc1)C", printStereoWarnings=False) +smiles("C1[C@]2(C)C(=NO)C(C)(C)[C@H](C2)C1", printStereoWarnings=False) +smiles("c1(c2c(c(S)ccc2)ccc1)S", printStereoWarnings=False) +smiles("c1c2c(Sc3c(O2)cccc3)ccc1", printStereoWarnings=False) +smiles("c1c2N(CC)c3c([S@](=O)c2cc([N+](=O)[O-])c1)cccc3", printStereoWarnings=False) +smiles("c1c(Br)cc2c(OC(C)(C2)C)c1", printStereoWarnings=False) +smiles("c1(c(Br)ccc(C)c1)N(=O)=O", printStereoWarnings=False) +smiles("c1(c(Br)c(C)cc(C)c1C(=O)O)C", printStereoWarnings=False) +smiles("c1cc2c3c(cc(cc3)C(=O)C)sc2cc1C(=O)C", printStereoWarnings=False) +smiles("c1cc2c3c(n(CCC#N)c2cc1)cccc3", printStereoWarnings=False) +smiles("c1c(c2ccccc2)cccc1", printStereoWarnings=False) +smiles("C1=C(c2ccc(OC)cc2)C(=O)C=C(C1=O)c1ccc(OC)cc1", printStereoWarnings=False) +smiles("c1cc2c(C(=O)[C@@H](C(=O)C)C2)cc1", printStereoWarnings=False) +smiles("c1cc2C(=O)c3c(N(=O)=O)c(ccc3C(=O)c2cc1)C", printStereoWarnings=False) +smiles("c1cc2C(=O)N(C(=O)c2cc1)O", printStereoWarnings=False) +smiles("c1cc(c2c(c1)ncc(C)c2Cl)C", printStereoWarnings=False) +smiles("c1ccc2c(c(c3c(c2)cccc3)C=O)c1", printStereoWarnings=False) +smiles("c1cc(c2ccccc2c1S(=O)(=O)O)N", printStereoWarnings=False) +smiles("c1cc(c2ccccc2)c(cc1)O[C@H](C)C(=O)O", printStereoWarnings=False) +smiles("c1cc(c2ccc(cc2n1)Cl)NCCCCCCN(CC)CC", printStereoWarnings=False) +smiles("c1(ccc2c(cccc2)n1)O", printStereoWarnings=False) +smiles("c1ccc2cc(c(c(N(=O)=O)c2c1)O)C(=O)OC", printStereoWarnings=False) +smiles("c1cc([C@]2(CCC)NC(=O)NC2=O)ccc1", printStereoWarnings=False) +smiles("c1ccc2c(C(=O)C(=C(C2=O)Cl)Cl)c1", printStereoWarnings=False) +smiles("c1ccc2nc3ccccc3c(C(=O)O)c2c1", printStereoWarnings=False) +smiles("c1ccc2S(=O)c3ccccc3N(C)c2c1", printStereoWarnings=False) +smiles("c1c(cc(Br)c(c1Br)O)C=C(C(=O)O)c1ccccc1", printStereoWarnings=False) +smiles("c1c(cc(Br)c(c1Br)O)C=C(C(=O)O)c1ccc(cc1)I", printStereoWarnings=False) +smiles("C1CCCC1(C#CC1(CCCC1)O)O", printStereoWarnings=False) +smiles("c1cccc2c1C=CC2=Cc1ccccc1", printStereoWarnings=False) +smiles("c1cccc2c1cnc(C)c2", printStereoWarnings=False) +smiles("c1cc(cc2c1nccc2C=O)OC", printStereoWarnings=False) +smiles("c1cccc2c1Oc1ccccc1S2(=O)=O", printStereoWarnings=False) +smiles("c1cccc2c(cccc12)C=NNC(=S)N", printStereoWarnings=False) +smiles("c1(cccc2ccccc12)OC[C@@H]1OC1", printStereoWarnings=False) +smiles("c1cccc2c(C=C(C(=O)O)C)c(OC)ccc12", printStereoWarnings=False) +smiles("c1(cccc2c(C(=O)C)cccc12)C(=O)C", printStereoWarnings=False) +smiles("c1cccc2C=[N+]3[Zn]4(Oc5c(C=[N+]4CC3)cccc5)Oc12", printStereoWarnings=False) +smiles("C1CCCc2c(nc(nc12)O)C", printStereoWarnings=False) +smiles("c1cccc2C(=O)c3cccc(c3C(=O)c12)N", printStereoWarnings=False) +smiles("c1ccc(c2C(=O)c3c(C(=O)c12)c(S(=O)(=O)O)ccc3)S(=O)(=O)O", printStereoWarnings=False) +smiles("c1cccc([Bi](c2ccccc2)c2ccccc2)c1", printStereoWarnings=False) +smiles("c1ccc(cc1)[As](c1ccccc1)c1ccccc1", printStereoWarnings=False) +smiles("C1=CCCCC1=C", printStereoWarnings=False) +smiles("c1cc(ccc1)c1c2c(cccc2)c(O)nn1", printStereoWarnings=False) +smiles("c1c(c(ccc1)c1c2c(oc3c(c(=O)ccc13)Br)c(Br)c(cc2)O)C(=O)O", printStereoWarnings=False) +smiles("c1ccc(cc1)c1c(c2c(cccc2)nc1C)O", printStereoWarnings=False) +smiles("c1cc(ccc1)c1cc2c(c(cc(Cl)c2)Cl)[nH]1", printStereoWarnings=False) +smiles("c1(ccccc1)c1ccccc1", printStereoWarnings=False) +smiles("c1c(cccc1)c1ccc(CC(=O)C)cc1", printStereoWarnings=False) +smiles("c1cc(ccc1)C1=CC(=O)CC1", printStereoWarnings=False) +smiles("c1ccc(cc1)c1c(OCCOc2c(cccc2)c2ccccc2)cccc1", printStereoWarnings=False) +smiles("c1ccccc1C(c1ccccc1)(c1ccccc1)C(=O)c1ccccc1", printStereoWarnings=False) +smiles("c1(ccccc1)C(c1ccccc1)(C[C@H](C)N(C)C)[C@H](O)CC", printStereoWarnings=False) +smiles("c1(ccccc1)C(c1ccccc1)(Cl)c1ccccc1", printStereoWarnings=False) +smiles("c1cc(ccc1)C(c1ccccc1)C#N", printStereoWarnings=False) +smiles("c1(ccccc1)C(c1ccccc1)N(C)C", printStereoWarnings=False) +smiles("c1ccccc1C(c1ccccc1)OC", printStereoWarnings=False) +smiles("c1ccccc1C(=Cc1ccccc1)[N+](=O)[O-]", printStereoWarnings=False) +smiles("c1cc(ccc1C=Cc1ccncc1)Cl", printStereoWarnings=False) +smiles("c1(ccccc1)C(CC)(CC)[C@@H](OC(=O)N)c1ccccc1", printStereoWarnings=False) +smiles("c1cc(ccc1)C(CC(C)(C)O)(C)C", printStereoWarnings=False) +smiles("c1c(cccc1)C(CC)(C#N)CC", printStereoWarnings=False) +smiles("c1ccc(cc1)C(CCI)(c1ccccc1)c1ccccc1", printStereoWarnings=False) +smiles("c1ccccc1C=C(C#N)C#N", printStereoWarnings=False) +smiles("c1ccc(cc1)C=CC(NC(=O)OCC)NC(=O)OCC", printStereoWarnings=False) +smiles("c1(ccccc1)CCC(=O)C", printStereoWarnings=False) +smiles("c1(ccccc1)C(CC(=O)c1ccccc1)(c1ccccc1)c1ccccc1", printStereoWarnings=False) +smiles("c1(ccc(cc1)C=CC(=O)c1ccc(NC(=O)OCC)cc1)N(C)C", printStereoWarnings=False) +smiles("c1ccccc1CC(C(=O)O)(CC)CC", printStereoWarnings=False) +smiles("c1ccccc1C([C@H](c1ccccc1)C#N)c1ccccc1", printStereoWarnings=False) +smiles("c1ccccc1C[C@@H](O)c1ccccc1", printStereoWarnings=False) +smiles("c1ccccc1CC(=NO)[C@H](c1ccccc1)C#N", printStereoWarnings=False) +smiles("c1ccccc1[C@H](c1[nH]c2ccccc2n1)O", printStereoWarnings=False) +smiles("c1ccccc1[C@@H](C(CC)(CC)c1ccccc1)O", printStereoWarnings=False) +smiles("c1(ccccc1)[C@@H](C(CC)(CC)CC)OC(=O)c1ccccc1C(=O)O", printStereoWarnings=False) +smiles("c1cc(ccc1)[C@H](C)[C@H](c1ccccc1)C(=O)O", printStereoWarnings=False) +smiles("c1ccccc1[C@@H](C(C(=O)OCC)C(=O)OCC)CC(=O)OCC", printStereoWarnings=False) +smiles("c1ccccc1[C@H](C(=O)O)[C@@](C)(O)c1ccccc1", printStereoWarnings=False) +smiles("c1c(ccc(c1)Cl)CCc1ccc(cc1)Cl", printStereoWarnings=False) +smiles("c1cc(cc(c1Cl)Cl)N", printStereoWarnings=False) +smiles("c1cc(ccc1Cl)NC(=O)C", printStereoWarnings=False) +smiles("c1(ccccc1Cl)OB(Oc1ccccc1Cl)Oc1ccccc1Cl", printStereoWarnings=False) +smiles("c1ccccc1CN1C[C@@H](C(=O)C1=O)C(=O)OC", printStereoWarnings=False) +smiles("c1c(cccc1)CN1C[C@@H](C(=O)C1=O)C(=O)OCC", printStereoWarnings=False) +smiles("c1ccc(cc1)CN(c1ccccc1)C", printStereoWarnings=False) +smiles("c1(ccccc1)C(NC(c1ccccc1)c1ccccc1)c1ccccc1", printStereoWarnings=False) +smiles("c1c(cccc1)C(N=C(c1ccccc1)c1ccccc1)c1ccccc1", printStereoWarnings=False) +smiles("c1ccc(cc1)CN(Cc1ccccc1)N=O", printStereoWarnings=False) +smiles("c1ccccc1CN(CC)c1ccc(cc1)SC#N", printStereoWarnings=False) +smiles("c1ccccc1C=NNc1ccccc1N(=O)=O", printStereoWarnings=False) +smiles("c1(ccc(cc1)C=NN=Cc1ccc([N+](=O)[O-])cc1)N(=O)=O", printStereoWarnings=False) +smiles("c1ccc(cc1)C=NNC(=S)N", printStereoWarnings=False) +smiles("c1(ccccc1)C(=NNC(=S)NN=C(C)c1ccccc1)C", printStereoWarnings=False) +smiles("c1(ccc(cc1)C#N)OC", printStereoWarnings=False) +smiles("c1cc(ccc1C=NO)O", printStereoWarnings=False) +smiles("c1ccccc1C(O)(c1ccccc1)C", printStereoWarnings=False) +smiles("c1ccccc1C(OC)(c1ccccc1)c1ccccc1", printStereoWarnings=False) +smiles("c1ccc(cc1)[C@](O)(C(C)C)C", printStereoWarnings=False) +smiles("c1cccc(c1)C(=O)CC(CC(=O)c1ccccc1)c1ccncc1", printStereoWarnings=False) +smiles("c1cccc(c1)C(=O)CCC#N", printStereoWarnings=False) +smiles("c1cc(ccc1C(=O)CCC(=O)c1ccc(Br)cc1)Br", printStereoWarnings=False) +smiles("c1ccc(cc1)C(=O)C=CC(=O)O", printStereoWarnings=False) +smiles("c1(ccccc1)C(=O)C[C@@H](c1ccccc1)N1CCCCC1", printStereoWarnings=False) +smiles("c1(ccccc1)C(=O)CCN(C)C", printStereoWarnings=False) +smiles("c1cccc(c1)C(OCC)OCC", printStereoWarnings=False) +smiles("c1ccccc1C(=O)[C@@H](c1ccccc1)N(c1ccccc1)C(=O)C", printStereoWarnings=False) +smiles("c1(ccccc1)C(=O)[C@H](N1CCC(C)CC1)CC(=O)c1ccccc1", printStereoWarnings=False) +smiles("c1ccc(cc1)C(OC)(N(C)C)c1ccccc1", printStereoWarnings=False) +smiles("c1cc(c(cc1C(=O)C)N(=O)=O)C", printStereoWarnings=False) +smiles("c1cccc(c1)C(=O)COC", printStereoWarnings=False) +smiles("c1ccc(cc1)C(=O)[N+](C)(C)C", printStereoWarnings=False) +smiles("c1ccc(cc1)C(=O)NNC(=S)N", printStereoWarnings=False) +smiles("c1(ccc(cc1C=O)[N+](=O)[O-])O", printStereoWarnings=False) +smiles("C1CC(CCC1C(=O)O)C(=O)O", printStereoWarnings=False) +smiles("c1c(cccc1)C(=O)OOC(=O)c1ccccc1", printStereoWarnings=False) +smiles("c1(ccccc1C(=O)O)OC(=O)CCCCC", printStereoWarnings=False) +smiles("c1cc(ccc1)C(=O)SSC(=O)c1ccccc1", printStereoWarnings=False) +smiles("c1(ccc(cc1)F)N", printStereoWarnings=False) +smiles("C1C(CCCC1)N1CC[C@@H](C1=O)O", printStereoWarnings=False) +smiles("c1(ccccc1)N1C(=O)C(=O)[C@@H](C1)C(=O)OCC", printStereoWarnings=False) +smiles("c1(cccc(c1N)Br)Br", printStereoWarnings=False) +smiles("C1CCCCC1N(C1CCCCC1)N=O", printStereoWarnings=False) +smiles("c1cc(ccc1N=Cc1ccc(Cl)cc1)[N+](=O)[O-]", printStereoWarnings=False) +smiles("c1(cc(cc(c1N)Cl)N(=O)=O)Cl", printStereoWarnings=False) +smiles("c1ccccc1NC(=O)C=Cc1ccccc1", printStereoWarnings=False) +smiles("c1c(cccc1)NC(=O)CCl", printStereoWarnings=False) +smiles("C1CCCCC1NC(=O)C(=O)NC1CCCCC1", printStereoWarnings=False) +smiles("c1(ccccc1N)C(=O)O", printStereoWarnings=False) +smiles("c1(ccccc1)NNC(=S)NN", printStereoWarnings=False) +smiles("c1c(cc(cc1N)N)N(=O)=O", printStereoWarnings=False) +smiles("c1cc(ccc1[N+](=O)[O-])[C@](C)(O)CC(=O)O", printStereoWarnings=False) +smiles("c1(c(cc(cc1)[N+](=O)[O-])N(=O)=O)SC#N", printStereoWarnings=False) +smiles("c1cc(ccc1O)C=C(C)C(=O)O", printStereoWarnings=False) +smiles("c1ccc(cc1O)C=C(C(=O)O)c1ccccc1", printStereoWarnings=False) +smiles("c1cc(c(cc1)O)C=N[C@H](C)CCN=Cc1ccccc1O", printStereoWarnings=False) +smiles("c1ccc(cc1)OC(Oc1ccccc1)C(=O)O", printStereoWarnings=False) +smiles("c1(c(ccc(c1)O)N)CCCCCCCCCCCCCCC", printStereoWarnings=False) +smiles("c1(ccc(cc1O)O)c1c(c2ccc(cc2O)O)nc2ccccc2n1", printStereoWarnings=False) +smiles("c1c(cccc1)OP(=O)(Oc1ccccc1)NC1CCCCC1", printStereoWarnings=False) +smiles("c1cc(ccc1)P(=O)(N)OCC", printStereoWarnings=False) +smiles("c1cc(cc(c1)P(=O)(O)O)[N+](=O)[O-]", printStereoWarnings=False) +smiles("c1(ccccc1)[Sb](c1ccccc1)(c1ccccc1)(Cl)Cl", printStereoWarnings=False) +smiles("c1ccccc1S(=O)(=O)O", printStereoWarnings=False) +smiles("c1c(ccc(c1SSc1cc(Cl)ccc1Cl)Cl)Cl", printStereoWarnings=False) +smiles("c1cccc(C2=C(c3ccccc3)C(C(=C2c2ccccc2)c2ccccc2)(CC=C)O)c1", printStereoWarnings=False) +smiles("c1cccc(c2cccc3c2[nH]c(=S)s3)c1", printStereoWarnings=False) +smiles("c1ccc(C(c2ccccc2)(C(=O)C)Cc2ccccc2)cc1", printStereoWarnings=False) +smiles("C1(=C(CCCc2ccc(cc2)Oc2ccccc2)C(=O)c2ccccc2C1=O)O", printStereoWarnings=False) +smiles("c1cccc(c2c(Oc3ccccc3)c3c(cccc3)nc2C)c1", printStereoWarnings=False) +smiles("c1c(c(C=Cc2c(S(=O)(=O)O)cc(N)cc2)ccc1N)S(=O)(=O)O", printStereoWarnings=False) +smiles("c1cc(c(C)cc1)CO", printStereoWarnings=False) +smiles("c1c(C)ccc(c1)C(=O)CC", printStereoWarnings=False) +smiles("c1cccc(C)c1NNc1ccccc1C", printStereoWarnings=False) +smiles("c1(C)ccccc1OP(=O)(Oc1ccccc1C)Oc1c(cccc1)C", printStereoWarnings=False) +smiles("c1cccc(C(c2ccccc2)C[C@H](C)[N+](C)(C)C)c1", printStereoWarnings=False) +smiles("c1cccc(C(Cc2ccccc2)(C#N)c2ccccc2)c1", printStereoWarnings=False) +smiles("c1(ccc(C(C)C)cc1)C(=O)NN", printStereoWarnings=False) +smiles("c1(CCC)c(c(ccc1O)C)C", printStereoWarnings=False) +smiles("c1ccc(C(=CC)C)cc1", printStereoWarnings=False) +smiles("c1cc(C(CC(C)(C)C)(C)C)ccc1OCCOCCSC(=[NH2])N", printStereoWarnings=False) +smiles("c1cc(CCCCCCCCCCCCCCC)ccc1O", printStereoWarnings=False) +smiles("c1(cc(CCCCCCCCCCCCCCC)cc(O)c1)O", printStereoWarnings=False) +smiles("c1cccc(C=C(C#N)C#N)c1Cl", printStereoWarnings=False) +smiles("c1ccc(c(C=CC(=O)C=Cc2c(Cl)cccc2)c1)Cl", printStereoWarnings=False) +smiles("c1c(ccc(C=CC(=O)O)c1)C(C)C", printStereoWarnings=False) +smiles("c1cc(CC)ccn1", printStereoWarnings=False) +smiles("c1cccc(CCN2C(=O)C(=O)[C@H](C(=O)OCC)C2)c1", printStereoWarnings=False) +smiles("c1c(C)cc(C)c(N)c1C", printStereoWarnings=False) +smiles("c1(cc(C)c(CCN(C)C)c(C)c1C)C", printStereoWarnings=False) +smiles("c1ccc(C=C(C#N)C(=O)O)cc1", printStereoWarnings=False) +smiles("c1ccc(C[C@H](c2ccccc2)C#N)cc1", printStereoWarnings=False) +smiles("c1cccc([C@H](O)C(=NO)c2ccccc2)c1", printStereoWarnings=False) +smiles("c1(ccc(c(Cl)c1)Cl)[C@H](C#N)C(C#N)C#N", printStereoWarnings=False) +smiles("c1cc(cc(Cl)c1)N[C@H](c1ccccc1)c1c(O)c(=O)cc(CO)o1", printStereoWarnings=False) +smiles("c1(ccc(CCl)c(c1)C)C", printStereoWarnings=False) +smiles("c1(cccc(C)n1)CCCC", printStereoWarnings=False) +smiles("c1c(C)cc(C)nc1C", printStereoWarnings=False) +smiles("c1(cccc(C[N+](C)(C)C)c1)[N+](=O)[O-]", printStereoWarnings=False) +smiles("c1cccc(C=NN=Cc2c(cccc2)O)c1O", printStereoWarnings=False) +smiles("c1c(ccc(C=NNC(=S)NCC(C)C)c1)NC(=O)C", printStereoWarnings=False) +smiles("c1cccc(C(=O)C=Cc2ccccc2)n1", printStereoWarnings=False) +smiles("c1ccc(c(C(=O)Nc2cc3ccccc3cc2)c1)O", printStereoWarnings=False) +smiles("c1(cc(cc(C(=O)O)c1N)Br)Br", printStereoWarnings=False) +smiles("c1ccc(C(C(=O)OC(C)(C)C)c2ccccc2)cc1", printStereoWarnings=False) +smiles("c1ccc([C@@H](CC(=O)OC(C)(C)C)O)cc1", printStereoWarnings=False) +smiles("c1ccccn1", printStereoWarnings=False) +smiles("c1cc(ccn1)CC", printStereoWarnings=False) +smiles("c1cc(ccn1)[C@H](O)CC(=O)c1ccccc1", printStereoWarnings=False) +smiles("C1CCCCN1N=O", printStereoWarnings=False) +smiles("c1ccc(C=Nc2ccccc2)cc1", printStereoWarnings=False) +smiles("c1ccc(C=Nc2ccc(cc2)C(=O)C=Cc2ccccc2)cc1", printStereoWarnings=False) +smiles("c1(ccc(CN)cc1)OC", printStereoWarnings=False) +smiles("c1cc(CC#N)ccc1OC", printStereoWarnings=False) +smiles("c1c(C(C)(C#N)C)ccc(OC)c1", printStereoWarnings=False) +smiles("c1ccc(C=NC(N=Cc2ccccc2)c2ccccc2)cc1", printStereoWarnings=False) +smiles("c1c(ccc(NC(=O)C)c1)S(=O)(=O)N", printStereoWarnings=False) +smiles("c1ccc(CNC(=O)C(=O)NCc2ccccc2)cc1", printStereoWarnings=False) +smiles("c1cccc(NC(=S)NN)c1", printStereoWarnings=False) +smiles("c1(cc(cc(NNc2cc(cc(Br)c2)Br)c1)Br)Br", printStereoWarnings=False) +smiles("c1cccc(NN=Cc2ccco2)c1", printStereoWarnings=False) +smiles("c1ccc(C(=NN=C(C)c2cc([N+](=O)[O-])ccc2)C)cc1[N+](=O)[O-]", printStereoWarnings=False) +smiles("c1cccc(NP(=O)(Nc2ccccc2)Nc2ccccc2)c1", printStereoWarnings=False) +smiles("c1cc(c(c(O)c1)C(=O)C)O", printStereoWarnings=False) +smiles("c1ccc(C(=O)c2c(cc(cc2)C)C)cc1", printStereoWarnings=False) +smiles("c1(ccc(C(=O)c2ccc(C)cc2)cc1)O", printStereoWarnings=False) +smiles("c1ccc(C(=O)c2cc(C)c(cc2)O)cc1", printStereoWarnings=False) +smiles("c1(cc(cc(OC)c1)C(=O)CCCC)OC", printStereoWarnings=False) +smiles("c1(cc(C)c(O)cc1)N(=O)=O", printStereoWarnings=False) +smiles("c1ccc(C(=O)C[C@@H](N2CCN(Cc3ccccc3)CC2)C(=O)c2ccccc2)cc1", printStereoWarnings=False) +smiles("c1c(cc(C(=O)NCCNCCO)c(O)c1[N+](=O)[O-])[N+](=O)[O-]", printStereoWarnings=False) +smiles("c1ccc(C(=O)N[C@@H](C(Cl)Cl)O)cc1", printStereoWarnings=False) +smiles("c1c(CCC(=O)O)ccc(C)c1", printStereoWarnings=False) +smiles("c1ccc(C(=O)OCCC#N)cc1", printStereoWarnings=False) +smiles("c1c(ccc(S(=O)(=O)c2ccc(cc2)C)c1)C", printStereoWarnings=False) +smiles("c1ccc(CS(=O)(=O)c2ccc(C)cc2)cc1", printStereoWarnings=False) +smiles("c1c(ccc(SSc2ccc(cc2)CC(=O)O)c1)CC(=O)O", printStereoWarnings=False) +smiles("c1c(ccc(SSc2ccc(cc2)C(=O)C)c1)C(=O)C", printStereoWarnings=False) +smiles("c1cc([C@H]2CO2)ccc1", printStereoWarnings=False) +smiles("c1c(C[C@H](c2ccccc2)C(=O)O)cccc1", printStereoWarnings=False) +smiles("c1cc([C@@H](Cc2ccccc2)Cl)ccc1", printStereoWarnings=False) +smiles("C1(=CC[C@H](C(=C)C)CC1)C", printStereoWarnings=False) +smiles("c1cc([C@H](N(C)C)c2ccccc2)c(cc1)C", printStereoWarnings=False) +smiles("c1cc([C@@H](OC(C)C)C(=O)O)ccc1", printStereoWarnings=False) +smiles("c1cc(Cl)ccc1C=Cc1ncccc1", printStereoWarnings=False) +smiles("c1cc(Cl)ccc1C(=O)C(=O)c1ccc(Cl)cc1", printStereoWarnings=False) +smiles("c1(cc(Cl)ccc1SSc1ccc(cc1N)Cl)N", printStereoWarnings=False) +smiles("c1cccnc1", printStereoWarnings=False) +smiles("c1(cccnc1)C=CC(=O)c1ccccc1", printStereoWarnings=False) +smiles("c1cc(cnc1Cl)N=Cc1ccccc1", printStereoWarnings=False) +smiles("c1cccnc1C(=O)OCCCCCCCCCC", printStereoWarnings=False) +smiles("C1CCCN[C@@H]1C", printStereoWarnings=False) +smiles("c1ccc(N[C@@H](c2ccc3c(nccc3)c2O)c2ccccc2)cc1", printStereoWarnings=False) +smiles("c1ccc(N[C@@H](c2c(O)c3c(cccn3)cc2)c2ccccc2)c(C(=O)O)c1", printStereoWarnings=False) +smiles("c1(C=C(C#N)C#N)ccc(Br)cc1", printStereoWarnings=False) +smiles("c1ccc(NC(=O)OCCCl)c(C)c1", printStereoWarnings=False) +smiles("c1cc(C=NO)ccc1Cl", printStereoWarnings=False) +smiles("c1(ccc(N(=O)=O)c2ccccc12)N", printStereoWarnings=False) +smiles("c1c(c(c([N+](=O)[O-])cc1[N+](=O)[O-])O)C(=O)O", printStereoWarnings=False) +smiles("c1(ccco1)CCl", printStereoWarnings=False) +smiles("c1ccc(OB(Oc2ccccc2)Oc2ccccc2)cc1", printStereoWarnings=False) +smiles("c1(ccc(OC)cc1)C(=O)O[C@H](C)CC(C)C", printStereoWarnings=False) +smiles("c1cc(C(=O)C=Cc2ccccc2)ccc1N", printStereoWarnings=False) +smiles("c1cc(C(=O)CCCC(=O)c2ccc(cc2)C)ccc1C", printStereoWarnings=False) +smiles("c1cc(C(OCCCC)OCCCC)ccc1", printStereoWarnings=False) +smiles("c1c(C(C(=O)N)(C)C)cccc1", printStereoWarnings=False) +smiles("c1cc(C(=O)NN)ccc1", printStereoWarnings=False) +smiles("C1(=CCC(=O)O1)C", printStereoWarnings=False) +smiles("c1(C=C(C(=O)O)c2ccccc2)cc(cc(c1O)Br)Br", printStereoWarnings=False) +smiles("C1CC(C(=O)O)CCC1", printStereoWarnings=False) +smiles("c1(cc(C(=O)O)ccc1C)N", printStereoWarnings=False) +smiles("C1CC(C(=O)O)(CCO1)C(=O)O", printStereoWarnings=False) +smiles("c1cc(C(=O)O)nc(C(=O)O)c1", printStereoWarnings=False) +smiles("c1cc(C(=O)OOC(=O)c2ccccc2)ccc1", printStereoWarnings=False) +smiles("c1ccc(P(=O)(c2ccccc2)c2ccccc2)cc1", printStereoWarnings=False) +smiles("c1cc(CS(=O)(=O)Cc2ccccc2)ccc1", printStereoWarnings=False) +smiles("c1(ccc(S(=O)(=O)N(CC)CC)cc1)C(=O)OCC", printStereoWarnings=False) +smiles("c1c([C@H](c2ccc3cccnc3c2O)Nc2c(C(=O)OCC)cccc2)cccc1", printStereoWarnings=False) +smiles("[C@]1(C([C@H](CC1)C(=O)O)(C)C)(C(=O)N)C", printStereoWarnings=False) +smiles("C1C[C@H](C)[C@H](COC(=O)C)[C@@H](COC(=O)C)C1", printStereoWarnings=False) +smiles("C1C[C@@H](C(=O)CC1)C", printStereoWarnings=False) +smiles("c1c(Cl)ccc(C(=O)c2ccc(cc2)C)c1", printStereoWarnings=False) +smiles("c1(c(Cl)cc(Cl)cc1)OC[C@H]1CO1", printStereoWarnings=False) +smiles("c1c(Cl)cc(S[C@H]2O[C@H](COC(=O)C)[C@@H]([C@@H]([C@H]2OC(=O)C)OC(=O)C)OC(=O)C)c(c1)Cl", printStereoWarnings=False) +smiles("C1CCNCC1", printStereoWarnings=False) +smiles("c1ccncc1c1cc(cc(n1)c1cnccc1)c1ccccc1", printStereoWarnings=False) +smiles("c1ccncc1[C@@]1(C(=O)NC(=O)N1)Cc1ccccc1", printStereoWarnings=False) +smiles("c1ccncc1C=NNC(=S)N", printStereoWarnings=False) +smiles("c1c(C[N+](Cc2ccccc2)(C)C)cccc1", printStereoWarnings=False) +smiles("c1c(c(N)ccc1N=Nc1ccccc1OC)OC", printStereoWarnings=False) +smiles("c1c(C[N+](C)(C)C)cccc1", printStereoWarnings=False) +smiles("c1cc(NCCn2c(=S)sc3ccccc23)ccc1", printStereoWarnings=False) +smiles("C1=CC(=NCl)C=CC1=O", printStereoWarnings=False) +smiles("C1CCN(C(=O)C)CC1", printStereoWarnings=False) +smiles("c1cc(NC(=S)Nc2ccccc2)ccc1", printStereoWarnings=False) +smiles("c1cc(N)ncc1C(=O)O", printStereoWarnings=False) +smiles("c1c(C=NNC(=S)N)c2ccccc2nc1", printStereoWarnings=False) +smiles("c1c(C(=NNC(=S)N)C)ccc(O)c1", printStereoWarnings=False) +smiles("c1c(C=NNC(=S)N)ccc(OCCC)c1", printStereoWarnings=False) +smiles("c1c(C=NO)cccc1[N+](=O)[O-]", printStereoWarnings=False) +smiles("c1ccoc1C=NNC(=S)NN", printStereoWarnings=False) +smiles("c1c(c(O)c(cc1C(=O)c1ccccc1)C)C", printStereoWarnings=False) +smiles("c1c(C(=O)C=Cc2ncccc2)cccc1", printStereoWarnings=False) +smiles("c1(cc(OC)ccc1)CN", printStereoWarnings=False) +smiles("c1cc(OC)ccc1C=NNC(=S)N", printStereoWarnings=False) +smiles("c1c(C(=O)CC)cc(cc1C(=O)CC)C(=O)CC", printStereoWarnings=False) +smiles("c1(c(C(=O)CCC)cc(cc1)C)OC", printStereoWarnings=False) +smiles("c1(c(c(=O)cc(CO)o1)O)[C@@H](c1ccccc1)Nc1ccccc1", printStereoWarnings=False) +smiles("C1(=CC(=O)C[C@H](C1)c1ccccc1)C", printStereoWarnings=False) +smiles("C1CCO[C@@H]1CNC[C@@H]1OCCC1", printStereoWarnings=False) +smiles("c1(cc(O)c(O)cc1)CCCCCCCCCCCCCCC", printStereoWarnings=False) +smiles("c1(c(C(=O)Nc2cccc3ccccc23)cccc1)O", printStereoWarnings=False) +smiles("c1c(C(=O)NC(c2ccccc2)c2ccccc2)cccc1", printStereoWarnings=False) +smiles("c1c(C(=O)NN)c(O)ccc1", printStereoWarnings=False) +smiles("c1c(C(=O)O)c(cc(Cl)c1)Cl", printStereoWarnings=False) +smiles("c1c(C(=O)O)ccc(OCCCCCCCCCCCC)c1", printStereoWarnings=False) +smiles("C1C(C(=O)O)CCOC1", printStereoWarnings=False) +smiles("c1c(C(=O)O)c(O)ccc1", printStereoWarnings=False) +smiles("c1c(C(=O)O)c(O)ccc1[N+](=O)[O-]", printStereoWarnings=False) +smiles("c1c(C(=O)O)c(O)c([N+](=O)[O-])cc1", printStereoWarnings=False) +smiles("c1c(C(=O)O)ncc(C(=O)O)c1", printStereoWarnings=False) +smiles("c1(cc(S[C@H]2O[C@H]([C@H](O)[C@@H]([C@@H]2O)O)CO)c(Cl)cc1)Cl", printStereoWarnings=False) +smiles("c1(c(C)sc(=S)[nH]1)C", printStereoWarnings=False) +smiles("c1c(C[Si](C)(C)C)cccc1", printStereoWarnings=False) +smiles("c1c(CS(=O)Cc2ccccc2)cccc1", printStereoWarnings=False) +smiles("C1(C)CSSC1", printStereoWarnings=False) +smiles("c1c(c(SSc2ccc(cc2[N+](=O)[O-])[N+](=O)[O-])ccc1[N+](=O)[O-])[N+](=O)[O-]", printStereoWarnings=False) +smiles("C1([C@H]2C[C@@H]1[C@@H](C=NNC(=S)N)CC2)(C)C", printStereoWarnings=False) +smiles("C1[C@H]2[C@@H](CCCC2)NCC1", printStereoWarnings=False) +smiles("c1([C@@H](C(=O)c2ccc(Cl)cc2)O)ccc(Cl)cc1", printStereoWarnings=False) +smiles("c1cnc2c(c1)cccc2N(=O)=O", printStereoWarnings=False) +smiles("c1c[n+](c2c(cccc2)c1)CC", printStereoWarnings=False) +smiles("c1c(N)c2c(cc(cc2)Cl)nc1", printStereoWarnings=False) +smiles("C1CN=C(c2c(cccc2)O)N1", printStereoWarnings=False) +smiles("C1CNCCC1", printStereoWarnings=False) +smiles("c1cnccc1CCCC", printStereoWarnings=False) +smiles("C1CN(CCC1)[C@H](Cc1ccccc1)C(=O)c1ccccc1", printStereoWarnings=False) +smiles("c1cnc(cc1)C=NNC(=S)N", printStereoWarnings=False) +smiles("c1cnc(cc1)C(=O)OCCCC", printStereoWarnings=False) +smiles("c1c(nccc1)C(=O)OCCCCCC", printStereoWarnings=False) +smiles("c1c([n+](CC)c2c(c1)cccc2)C", printStereoWarnings=False) +smiles("c1c[n+](C)c(cc1)C", printStereoWarnings=False) +smiles("c1c(nc(CCC)cc1)C", printStereoWarnings=False) +smiles("c1cncc(C(=O)C)c1", printStereoWarnings=False) +smiles("c1c(N)ccc(P(=O)(O)O)c1", printStereoWarnings=False) +smiles("C1CN(CCO1)[Se][Se]N1CCOCC1", printStereoWarnings=False) +smiles("c1c(N(CC(=O)N(c2ccc(cc2)Cl)CC(=O)O)C(=O)C)ccc(Cl)c1", printStereoWarnings=False) +smiles("c1cnc(C(=O)OCC)cc1", printStereoWarnings=False) +smiles("c1c(N[C@@H](c2c(O)c3c(cc2)cccn3)c2ccccc2)ccc([N+](=O)[O-])c1", printStereoWarnings=False) +smiles("C1CN([C@@H]([C@@H](c2ccccc2)N2CCOCC2)C(=O)c2ccc(cc2)NC(=O)C)CCO1", printStereoWarnings=False) +smiles("c1(C#N)c(N)nc(C)nc1", printStereoWarnings=False) +smiles("c1c(NC(=S)Nc2ccc(OCCCC)cc2)ccc(c1)N(C)C", printStereoWarnings=False) +smiles("c1c[nH]cc1", printStereoWarnings=False) +smiles("c1(C=NNC(=S)N)c(O)cccc1", printStereoWarnings=False) +smiles("c1(C=NO)ccc(cc1)OC", printStereoWarnings=False) +smiles("c1c([N+](=O)[O-])c(C)c(c(Br)c1[N+](=O)[O-])N(=O)=O", printStereoWarnings=False) +smiles("C1C(NP(=S)(NC2CCCCC2)NC2CCCCC2)CCCC1", printStereoWarnings=False) +smiles("c1(C(=O)C=Cc2ccc(N(C)C)cc2)ccc(cc1)NC(=O)C", printStereoWarnings=False) +smiles("c1(CO)ccccc1", printStereoWarnings=False) +smiles("c1c(OC)ccc(Cc2ccc(cc2)OC)c1", printStereoWarnings=False) +smiles("c1(COC)c(cc(C)cc1C)C", printStereoWarnings=False) +smiles("C1COCCN1P(=O)(N1CC1)N1CC1", printStereoWarnings=False) +smiles("c1(C(=O)[C@@H](C(=O)OC)CC)ccccc1", printStereoWarnings=False) +smiles("c1(C(=O)C(=NO)c2ccccc2)ccccc1", printStereoWarnings=False) +smiles("c1(c(O)c(N(=O)=O)cc([N+](=O)[O-])c1)Cl", printStereoWarnings=False) +smiles("C1C(=O)NC(=O)CC1C[C@@H](O)[C@@H]1C(=O)[C@@H](C)C[C@H](C)C1", printStereoWarnings=False) +smiles("c1(C(=O)O)c(ccc(c1)I)NN", printStereoWarnings=False) +smiles("c1(C(=O)O)ccccc1NC(=O)Nc1c(C(=O)O)cccc1", printStereoWarnings=False) +smiles("c1csc(c1)C(=O)NN", printStereoWarnings=False) +smiles("c1c(SSc2ccc(N(CC)CC)cc2)ccc(N(CC)CC)c1", printStereoWarnings=False) +smiles("c1nc2cc(Cl)ccc2c(c1[N+](=O)[O-])O", printStereoWarnings=False) +smiles("c1nc2c(ncnc2[nH]1)S", printStereoWarnings=False) +smiles("c1nc2c(nc[nH]2)c(Cl)n1", printStereoWarnings=False) +smiles("C1N(C(c2ccccc2)c2ccccc2)CCCC1", printStereoWarnings=False) +smiles("c1(nc(c2c([nH]cn2)n1)N)N", printStereoWarnings=False) +smiles("c1(nc(c2nc[nH]c2n1)S)N", printStereoWarnings=False) +smiles("C1NCCC1", printStereoWarnings=False) +smiles("C1NCCCC1", printStereoWarnings=False) +smiles("c1nc(ccc1)C=CC(=O)c1ccc(Cl)cc1", printStereoWarnings=False) +smiles("c1(ncccc1C(=O)O)Cl", printStereoWarnings=False) +smiles("c1(N)ccc(CCc2ccc(N)cc2)cc1", printStereoWarnings=False) +smiles("c1nc(C=CC(=O)c2ccccc2)ccc1", printStereoWarnings=False) +smiles("c1nc([C@H](O)[C@@H](C)C(=O)c2ccccc2)ccc1", printStereoWarnings=False) +smiles("C1N(CCOC1)[C@H](c1ccccc1)[C@H](N1CCOCC1)C(=O)c1ccccc1", printStereoWarnings=False) +smiles("C1=NC=N1", printStereoWarnings=False) +smiles("c1(nc(nc(N)n1)N)C", printStereoWarnings=False) +smiles("c1(NC(=O)C)ccc(cc1)C(=O)C=Cc1ccc(cc1)N(CC)CC", printStereoWarnings=False) +smiles("C1N(C(=O)OCC)CCCC1", printStereoWarnings=False) +smiles("c1(NNC(=S)NNc2ccccc2)ccccc1", printStereoWarnings=False) +smiles("c1(=N)[nH]cc(N(=O)=O)s1", printStereoWarnings=False) +smiles("c1(N(=O)=O)cccc(c1N)C", printStereoWarnings=False) +smiles("c1(N(=O)=O)cc(C)ccc1I", printStereoWarnings=False) +smiles("c1([N+](=O)[O-])cccc(C(=O)NNC(=S)N)c1", printStereoWarnings=False) +smiles("c1(N(=O)=O)ccc(C=NNC(=S)NN)cc1", printStereoWarnings=False) +smiles("c1(=N)sc(c2ccccc2)n[nH]1", printStereoWarnings=False) +smiles("C1(=O)c2ccccc2C(=O)N1CCCCBr", printStereoWarnings=False) +smiles("c1(O)cc(c(cc1C(CC)(C)C)O)C(CC)(C)C", printStereoWarnings=False) +smiles("c1(O)ccc(c(Cl)c1)O", printStereoWarnings=False) +smiles("c1(OC)ccc(C(=NNC(=S)N)C)cc1", printStereoWarnings=False) +smiles("C1(=O)C(=CC(=NCl)C=C1Br)Br", printStereoWarnings=False) +smiles("C1OCCN(C1)C(=S)SCCC(=O)N", printStereoWarnings=False) +smiles("C1OCCN(P(=O)(OCCCC)N2CCOCC2)C1", printStereoWarnings=False) +smiles("C1(=O)NC2(CCCC2)C(=O)N1", printStereoWarnings=False) +smiles("C1(=O)N(c2ccccc2)N=C(C1)C", printStereoWarnings=False) +smiles("c1(=O)oc2c(cc1C(=O)OCC)cccc2", printStereoWarnings=False) +smiles("c1(P(=O)(O)O)ccccc1", printStereoWarnings=False) +smiles("c1(SC)nc(nc(n1)SC)C", printStereoWarnings=False) +smiles("C1SC(=S)NC1", printStereoWarnings=False) +smiles("c1(=S)[nH]c(c2ccccc2)cs1", printStereoWarnings=False) +smiles("c1(SSc2cc(ccc2N)S(=O)(=O)N)cc(ccc1N)S(=O)(=O)N", printStereoWarnings=False) +smiles("c1(SSc2ccc(C)cc2)ccc(cc1)C", printStereoWarnings=False) +smiles("C(Br)C(=O)c1c(C)cc(C)cc1C", printStereoWarnings=False) +smiles("Cc1c(c(c(c(c1C)C)C)Br)C", printStereoWarnings=False) +smiles("Cc1c(cccc1)C(=O)c1c(C)cccc1", printStereoWarnings=False) +smiles("Cc1ccc(cc1)C(=O)Oc1ccccc1", printStereoWarnings=False) +smiles("C(c1ccc(cc1)F)C(=O)O", printStereoWarnings=False) +smiles("Cc1ccccc1OB(Oc1ccccc1C)Oc1ccccc1C", printStereoWarnings=False) +smiles("Cc1ccc(cc1)S(=O)(=O)N(C)N=O", printStereoWarnings=False) +smiles("Cc1cc(C)cc(C)c1CC(=O)c1ccccc1", printStereoWarnings=False) +smiles("Cc1cc(C)c(C[N+](C)(C)C)c(c1C)C", printStereoWarnings=False) +smiles("Cc1cc(C)cc(NC(=O)C)c1", printStereoWarnings=False) +smiles("Cc1c(cc(c(C(=O)C)c1)C)C", printStereoWarnings=False) +smiles("Cc1c(c(cc(C(=O)C)c1)C)O", printStereoWarnings=False) +smiles("Cc1cc(C(=O)c2ccccc2)c(cc1)O", printStereoWarnings=False) +smiles("Cc1ccc(S(=O)(=O)OCCCCl)cc1", printStereoWarnings=False) +smiles("C(C1(CCN(C)C)C(=O)CCc2ccccc12)CN(C)C", printStereoWarnings=False) +smiles("Cc1c(c(O)c2ccccc2c1)C#N", printStereoWarnings=False) +smiles("Cc1c(I)ccc(N(=O)=O)c1", printStereoWarnings=False) +smiles("C(c1cnc2nc(nc(N)c2n1)N)N(c1ccc(C(=O)N[C@H](C(=O)O)CCC(=O)O)cc1)C", printStereoWarnings=False) +smiles("C[C@]1(C(=O)NC(=O)N1)CCCCCC", printStereoWarnings=False) +smiles("C[C@@]1(NC(=O)NC1=O)CC(C)(C)C", printStereoWarnings=False) +smiles("CC1(OB(OC(C[C@@H](OB2OC(C[C@H](C)O2)(C)C)C)(C)C)O[C@@H](C)C1)C", printStereoWarnings=False) +smiles("Cc1sc(c(C)n1)CCNCCc1sc(nc1C)C", printStereoWarnings=False) +smiles("C(=Cc1ccccc1)C=Cc1ccccc1", printStereoWarnings=False) +smiles("C(#Cc1ccccc1)C(C#Cc1ccccc1)(C=Cc1ccccc1)O", printStereoWarnings=False) +smiles("CCc1ccc(cc1)N(=O)=O", printStereoWarnings=False) +smiles("C(Cc1ccc(cc1)OC)C(=NO)c1ccccc1", printStereoWarnings=False) +smiles("C(=Cc1ccc(Cl)cc1)c1ccccc1", printStereoWarnings=False) +smiles("C(C(c1ccccn1)CC(=O)c1ccccc1)C(=O)c1ccccc1", printStereoWarnings=False) +smiles("C(=C(c1ccc(I)cc1)C(=O)O)c1cc(c(c(c1)Cl)O)Cl", printStereoWarnings=False) +smiles("C(C)c1c(cc(nc1)C)N", printStereoWarnings=False) +smiles("CCc1cnc(C=Cc2ccc([N+](=O)[O-])cc2)cc1", printStereoWarnings=False) +smiles("C(C)[C@@]1(NC(=O)NC1=O)C", printStereoWarnings=False) +smiles("C(=CC1=[O+][Cu]2([O+]=C(c3ccccc3)C1)[O+]=C(CC(=[O+]2)C=Cc1ccccc1)c1ccccc1)c1ccccc1", printStereoWarnings=False) +smiles("CCC1=[O+][Cu]2([O+]=C(CC)CC(=[O+]2)CC)[O+]=C(CC)C1", printStereoWarnings=False) +smiles("CC(=Cc1ccccc1)c1ccccc1", printStereoWarnings=False) +smiles("CC(C)(c1c(cc(C(C)(C)C)c(c1)O)O)C", printStereoWarnings=False) +smiles("CCCc1ncccc1", printStereoWarnings=False) +smiles("C(CCC1=NCCN1)CCCCCCCCCCCCCC", printStereoWarnings=False) +smiles("C(CCC)c1ccccn1", printStereoWarnings=False) +smiles("CC(C)(C)c1ccc(C(=O)C)cc1", printStereoWarnings=False) +smiles("C(CCCCCc1c(O)cc(cc1)O)CCCCCCCCC", printStereoWarnings=False) +smiles("C(CCCCC)c1nc(C)ccc1", printStereoWarnings=False) +smiles("C(C(CCCCC)c1ncccc1)CCCC", printStereoWarnings=False) +smiles("C(C)CC=C(C)C#CC1=CCCCC1", printStereoWarnings=False) +smiles("C(CCCCCCCCCCCCCCCCCCCCCS)CCCCCCCCC", printStereoWarnings=False) +smiles("CCCCCCCCCCCCCCCCCCC(CO)CO", printStereoWarnings=False) +smiles("C(CCCC(CCCCCCC)(CCCCCCC)O)CCC", printStereoWarnings=False) +smiles("C(CCCCC(CCCCCC)(CCCCCC)O)C", printStereoWarnings=False) +smiles("C(CCCCCCCCCCC)CCCC=CC(=O)O", printStereoWarnings=False) +smiles("C(CCCCCCC)CCCCCC#N", printStereoWarnings=False) +smiles("C(C)CCCC(CCCCC)(CC)O", printStereoWarnings=False) +smiles("C(CCCCCC)CCCCCCS", printStereoWarnings=False) +smiles("C(CC)CCC(CCC)(CCC)O", printStereoWarnings=False) +smiles("CC(C)(C(CCCC)(CCCC)O)C", printStereoWarnings=False) +smiles("CCCCCCCCCCCC(=O)Nc1ccc(cc1)SSc1ccc(cc1)NC(=O)CCCCCCCCCCC", printStereoWarnings=False) +smiles("C(C)CCCCCCCCCC(=O)N(CCCC)CCCC", printStereoWarnings=False) +smiles("C(CCCC)CCCCCCCSC(SCCCCCCCCCCCC)SCCCCCCCCCCCC", printStereoWarnings=False) +smiles("CC(C)(C)C[C@](CCCCC)(O)C", printStereoWarnings=False) +smiles("C(CCCCCCCCCOB(OCCCCCCCCCCCC)OCCCCCCCCCCCC)CC", printStereoWarnings=False) +smiles("C(C)(CC(CC(C)(C)C)C(=O)CC)(C)C", printStereoWarnings=False) +smiles("CC([C@](C)(CC(C)(C)C)C(=O)O)(C)C", printStereoWarnings=False) +smiles("CCCCCCCCC(C(=O)O)(C)C", printStereoWarnings=False) +smiles("C(CCC(CCCCC)(O)CCCC)CC", printStereoWarnings=False) +smiles("C(C)C(CC)(CC)[C@@H](O)c1ccccc1", printStereoWarnings=False) +smiles("C(C)CCCC(C)(C)O", printStereoWarnings=False) +smiles("C(CCCCCC)COB(OCCCCCCCC)OCCCCCCCC", printStereoWarnings=False) +smiles("CC(C)(C)[C@](CCC)(O)C", printStereoWarnings=False) +smiles("C(C(CCCC)(CC)O)CCC", printStereoWarnings=False) +smiles("CCCC(CCCC)(O)CCCC", printStereoWarnings=False) +smiles("C(CC(CCCC)C(=O)O)CC", printStereoWarnings=False) +smiles("C(C)CC[C@@](CC)(C(=O)O)CCCCCCCC", printStereoWarnings=False) +smiles("C(CCCC)C[C@H]1NCCCC1", printStereoWarnings=False) +smiles("C(CCC)CCC(=NNc1c(cc(cc1)[N+](=O)[O-])[N+](=O)[O-])C", printStereoWarnings=False) +smiles("C(C)(C)(C)C[C@@](C)(O)CCCC", printStereoWarnings=False) +smiles("C(CCC(C(C)C)(O)C(C)C)C", printStereoWarnings=False) +smiles("C(C)(C)C(C(C)C)(O)CCC(C)C", printStereoWarnings=False) +smiles("C(CCCCC(C(=O)O)(CC)CC)CCC", printStereoWarnings=False) +smiles("CC(C)(C)CC(C(=O)OCCC)CC(C)(C)C", printStereoWarnings=False) +smiles("C(C(C)(C)C)[C@@H](C)C(=O)OCC(C)(C)C", printStereoWarnings=False) +smiles("C(CCCC[C@H](N)C(=O)O)C[C@@H](C(=O)O)N", printStereoWarnings=False) +smiles("C(#C)[C@](CC)(C)O", printStereoWarnings=False) +smiles("C(C)(C)(C)CC(=O)C", printStereoWarnings=False) +smiles("C(C(C)C)(CC)(O)CC", printStereoWarnings=False) +smiles("C(C)(C)C(C)(C(=O)C)C", printStereoWarnings=False) +smiles("CC(CC(C)(C)O)(C)C", printStereoWarnings=False) +smiles("CC(C)(C)C[C@@](O)(C(C)C)C", printStereoWarnings=False) +smiles("C(C)(C)(C)CC(O)(CCCC)CCCC", printStereoWarnings=False) +smiles("CCCCCC(O)(CCCC)CCCC", printStereoWarnings=False) +smiles("C(C)CCCC(=O)CC(=O)CC", printStereoWarnings=False) +smiles("C(C)(C)(C)CC(=O)OCC", printStereoWarnings=False) +smiles("C(CCCCC(=O)OCC)N", printStereoWarnings=False) +smiles("C(C)(C)C[C@H](C)OC=O", printStereoWarnings=False) +smiles("CC(C)(C)[C@H](O)C", printStereoWarnings=False) +smiles("C(C)CC(C#N)(CCC)CCC", printStereoWarnings=False) +smiles("C(CCCCN(CCCCCC)CCCCCC)CCCCCCO", printStereoWarnings=False) +smiles("C(CCCCN)C#N", printStereoWarnings=False) +smiles("C(CCCCNP(=S)(NCCCCCCCC)NCCCCCCCC)CCC", printStereoWarnings=False) +smiles("C(C)(C)CCO", printStereoWarnings=False) +smiles("C(CCCCOB(OCCCCCCCCCCCCCCCCCC)OCCCCCCCCCCCCCCCCCC)CCCCCCCCCCCCC", printStereoWarnings=False) +smiles("C(CCC)C(=O)c1cc(C)c(cc1)OC", printStereoWarnings=False) +smiles("CC(C)(C)C(=O)C(C)C", printStereoWarnings=False) +smiles("CC(C)C[C@@](O)(C#C)C", printStereoWarnings=False) +smiles("C(C)(C)(C)C(=O)CCCCC", printStereoWarnings=False) +smiles("C(C)CCC(O)(CCCC)CCCC", printStereoWarnings=False) +smiles("C(C(C)(C)C(=O)C(C(C)(C)C)(C)C)(C)C", printStereoWarnings=False) +smiles("CC(C)CC(=O)CC(=O)CCC", printStereoWarnings=False) +smiles("C(C(C)(C)C)OC(=O)c1ccccc1", printStereoWarnings=False) +smiles("C(CC(C)C)OC(OCCC(C)C)OCCC(C)C", printStereoWarnings=False) +smiles("CC(CC(C(=O)OCC(C)(C)C)(C)C)(C)C", printStereoWarnings=False) +smiles("C(CCCC(=O)OOC(=O)CCCCCCCCCCC)CCCCCCC", printStereoWarnings=False) +smiles("CC(C)[C@@H](C)OC(=O)C", printStereoWarnings=False) +smiles("CC(C[C@@H](C(=O)O)C)(C)C", printStereoWarnings=False) +smiles("CC(CCl)(C)c1ccccc1", printStereoWarnings=False) +smiles("C(C)(CCl)(C)c1ccc(C(CCl)(C)C)cc1", printStereoWarnings=False) +smiles("C(CCCN(CCCCC)CC(=O)O[C@@H]1[C@]2(C)C(C)([C@@H](CC2)C1)C)C", printStereoWarnings=False) +smiles("C(CC)CNC(=O)OCC", printStereoWarnings=False) +smiles("C(C)CCOB(OCCCC)OCCCC", printStereoWarnings=False) +smiles("C(C)(C)(C(=O)C(C)(C)C)C", printStereoWarnings=False) +smiles("CC(CC(=O)CCC)(C)C", printStereoWarnings=False) +smiles("CC(C)(C(=O)C(CC)(C)C)C", printStereoWarnings=False) +smiles("CC(CC(=O)CC(C)(C)C)(C)C", printStereoWarnings=False) +smiles("C(CCC(=O)CCCCCCCCC=C)CCCCCC=C", printStereoWarnings=False) +smiles("C(CCC(=O)CCCCCCCCCCCCCCC)CCCCCCCCCCCC", printStereoWarnings=False) +smiles("C(#C[C@@](C)(O)CC)[C@@](O)(CC)C", printStereoWarnings=False) +smiles("C(CCCO)CCO", printStereoWarnings=False) +smiles("CC(C)(COC(=O)C)C", printStereoWarnings=False) +smiles("CCCCOCOCCCC", printStereoWarnings=False) +smiles("CC(C)(COC(=O)C(C)(C)C)C", printStereoWarnings=False) +smiles("CCCCOC(=O)C=CC(=O)OCCCC", printStereoWarnings=False) +smiles("C(CCC)OC(=O)N", printStereoWarnings=False) +smiles("C(C)C(C(=O)O)(CC)CC", printStereoWarnings=False) +smiles("C(CCCSC(=[NH2])N)CSC(=[NH2])N", printStereoWarnings=False) +smiles("CC[C@@H](C=Cc1nc2ccccc2cc1)CCCC", printStereoWarnings=False) +smiles("C(C[C@@H](CO)O)C", printStereoWarnings=False) +smiles("C(CC)N1C(=O)C(=O)[C@@H](C(=O)OCC)C1", printStereoWarnings=False) +smiles("C(CCNc1c2cc(ccc2nc2CCCCc12)OC)N(CCCCC)CCCCC", printStereoWarnings=False) +smiles("CC(C#N)(C)C", printStereoWarnings=False) +smiles("C(CCN(CCCCC)CCCNc1c2c(nc3CCCCc13)ccc(Cl)c2)CC", printStereoWarnings=False) +smiles("C(CCN(CC)CC)[C@@H](Br)C", printStereoWarnings=False) +smiles("C(CCN(CCCC)C(=[NH2])c1c(C)cc(C)cc1C)C", printStereoWarnings=False) +smiles("C(CCN(CCCC)C(=O)C[C@](C)(c1ccccc1)O)C", printStereoWarnings=False) +smiles("C(C)CN(CCC)N=O", printStereoWarnings=False) +smiles("C(CCN(CC(=O)O)CC(=O)O)([N+](=O)[O-])(C)C", printStereoWarnings=False) +smiles("C(=C(C#N)C#N)c1cc(c(cc1)Cl)Cl", printStereoWarnings=False) +smiles("C(=C(C#N)C#N)c1c(Cl)cc(Cl)cc1", printStereoWarnings=False) +smiles("C=CCNC(=O)OCC", printStereoWarnings=False) +smiles("CCC(=NNC(=S)N)C", printStereoWarnings=False) +smiles("C(=CC=NNC(=S)N)c1ccccc1", printStereoWarnings=False) +smiles("C(CC(=N)OC)OC(=O)c1ccccc1", printStereoWarnings=False) +smiles("CCCNP(=S)(NCCC)NCCC", printStereoWarnings=False) +smiles("CC(CO)(c1ccccc1)C", printStereoWarnings=False) +smiles("CCC(=O)c1ccc([N+](=O)[O-])cc1", printStereoWarnings=False) +smiles("CC(C(=O)C)(C)C", printStereoWarnings=False) +smiles("CCC(=O)CC(C)(C)C", printStereoWarnings=False) +smiles("C(CC(=O)C(C)(C)C)(c1ccccc1)c1ccccc1", printStereoWarnings=False) +smiles("C(C)C(O)(CC(C)(C)C)CC", printStereoWarnings=False) +smiles("CC(C(=O)C(C(C)(C)C)(C)C)(C)C", printStereoWarnings=False) +smiles("C(CC(=O)CCCCCCC)CCCCC", printStereoWarnings=False) +smiles("CC(C(=O)C(C)(C)C)(CCl)C", printStereoWarnings=False) +smiles("C(CCOC(=O)C)CCCCCCC=C", printStereoWarnings=False) +smiles("CC(C)(OC=O)C(OCC)OCC", printStereoWarnings=False) +smiles("C(=CC(=O)O)c1ccncc1", printStereoWarnings=False) +smiles("C([C@@](C(=O)O)(CC)CCCC)c1ccccc1", printStereoWarnings=False) +smiles("C(CC(=O)O[C@@H](CC(C)C)C)C", printStereoWarnings=False) +smiles("C(CCS)CCCCCCC", printStereoWarnings=False) +smiles("C(CCS)CCCCCCCCC", printStereoWarnings=False) +smiles("C(C(CS)C)S", printStereoWarnings=False) +smiles("C(C(F)(F)C(C(COC(=O)c1c(C(=O)OCC(C(C(F)(F)C(F)F)(F)F)(F)F)cccc1)(F)F)(F)F)(F)F", printStereoWarnings=False) +smiles("C(C(F)F)(CO)(F)F", printStereoWarnings=False) +smiles("C([C@H]1CO1)OCC=C", printStereoWarnings=False) +smiles("C[C@H]1SC(C)S[C@H](C)N1", printStereoWarnings=False) +smiles("C([C@@H](C)OC(=O)CC(C)C)C(C)C", printStereoWarnings=False) +smiles("C(Cl)c1cc(ccc1O)[N+](=O)[O-]", printStereoWarnings=False) +smiles("C(Cl)CN(C)CCCl", printStereoWarnings=False) +smiles("C(Cl)COC[C@@H]1OC1", printStereoWarnings=False) +smiles("C(C)N1C[C@@H](C(=O)C1=O)C(=O)OCC", printStereoWarnings=False) +smiles("CC(N1C(=O)C(=O)[C@H](C1)C(=O)OCC)C", printStereoWarnings=False) +smiles("CCN(CC)CCCC#N", printStereoWarnings=False) +smiles("C(CN(CCCC)C(=O)C)CC", printStereoWarnings=False) +smiles("CC(N(C(C)C)P(=O)(c1ccc([N+](=O)[O-])cc1)OP(=O)(N(C(C)C)C(C)C)c1ccc(cc1)[N+](=O)[O-])C", printStereoWarnings=False) +smiles("[C@@](C#N)(C)([C@@H](C)c1ccccc1)c1ccccc1", printStereoWarnings=False) +smiles("CC(N(CC(=O)O)CC(=O)O)C", printStereoWarnings=False) +smiles("CCN(C=O)CC", printStereoWarnings=False) +smiles("CC(NC(=O)C)NC(=O)C", printStereoWarnings=False) +smiles("[C@@](C)(N)(C(=O)O)CC", printStereoWarnings=False) +smiles("C(C)NC(=O)OCC", printStereoWarnings=False) +smiles("CC(=NNC(=S)N)c1ccccc1", printStereoWarnings=False) +smiles("CCN(N=O)CC", printStereoWarnings=False) +smiles("CC(N(N=O)C(C)C)C", printStereoWarnings=False) +smiles("CC(=NO)C(=NNC(=S)N)C", printStereoWarnings=False) +smiles("CCNS(=O)(=O)NCC", printStereoWarnings=False) +smiles("CCO", printStereoWarnings=False) +smiles("C(C(OB(OC(CC(C)C)CC(C)C)OC(CC(C)C)CC(C)C)CC(C)C)C(C)C", printStereoWarnings=False) +smiles("CC(=O)c1ccc(Oc2ccc(C(=O)C)cc2)cc1", printStereoWarnings=False) +smiles("CC(=O)c1ccncc1", printStereoWarnings=False) +smiles("C(COc1ncc(NC[S](=O)=O)cc1)CC", printStereoWarnings=False) +smiles("CCO[C@H](c1ccccc1)C", printStereoWarnings=False) +smiles("CC(=O)C(=NO)C", printStereoWarnings=False) +smiles("CCOC(=O)CC1(CCCCC1)O", printStereoWarnings=False) +smiles("C(C)OC(=O)C(CCCCCCC)C(=O)OCC", printStereoWarnings=False) +smiles("CCOC(=O)[C@H]1C(=O)C(=O)N(C)C1", printStereoWarnings=False) +smiles("CCOC(=O)[C@H](c1ccccc1)C#N", printStereoWarnings=False) +smiles("CCOC(=O)NC(NC(=O)OCC)C", printStereoWarnings=False) +smiles("CCOC(=O)NC(NC(=O)OCC)CCl", printStereoWarnings=False) +smiles("C(CO)(F)(F)C(C(C(F)(C(F)(F)C(F)F)F)(F)F)(F)F", printStereoWarnings=False) +smiles("CC(=O)NC", printStereoWarnings=False) +smiles("CC(=O)Nc1cc(cc(C)c1)Br", printStereoWarnings=False) +smiles("CC(=O)Nc1ccc(C(=O)CCl)cc1", printStereoWarnings=False) +smiles("C(C(=O)N)CCCCCCCCCC", printStereoWarnings=False) +smiles("CC(=O)NCCNC(=O)C", printStereoWarnings=False) +smiles("CC(=O)N[C@@H](C(Cl)Cl)O", printStereoWarnings=False) +smiles("C(C(=O)O)Br", printStereoWarnings=False) +smiles("C(C(=O)Oc1c(cccc1)C(=O)O)CC", printStereoWarnings=False) +smiles("CC(=O)O[C@@]1(C)[C@@](C)(C(=O)OC1=O)OC(=O)C", printStereoWarnings=False) +smiles("C(C(=O)O)CC(c1ccccc1)(c1ccccc1)C[C@@H](N(C)C)C", printStereoWarnings=False) +smiles("CC(OOC(C)(C)C)(C)C", printStereoWarnings=False) +smiles("C(C(=O)O)CC(C)(CCC(=O)O)C", printStereoWarnings=False) +smiles("C(C(=O)O)(CCCC)C(=O)O", printStereoWarnings=False) +smiles("C(C(=O)O)CC(=O)OC", printStereoWarnings=False) +smiles("CC(=O)O[C@H](CC(C)C)C", printStereoWarnings=False) +smiles("C(C(=O)O)Oc1c(Cl)cc(Cl)c(c1)Cl", printStereoWarnings=False) +smiles("C(C)SCCCC", printStereoWarnings=False) +smiles("CC([Si](C)(C)C)(C(=O)OCC)C", printStereoWarnings=False) +smiles("CC(=S)N1CCCCC1", printStereoWarnings=False) +smiles("[C@@H]12CC[C@@](C)(C(=O)C1=O)C2(C)C", printStereoWarnings=False) +smiles("[C@@H]12CC[C@H]([C@@H](CCCC(C)C)C)[C@]2(CC[C@@H]2[C@]3(CC[C@H](Cl)C[C@]3(Br)[C@@H](Br)C[C@H]12)C)C", printStereoWarnings=False) +smiles("[C@H]12[C@@H]([C@@H]3[C@@]([C@@](C(=O)COC(=O)C)(CC3)O)(C)C[C@H]2O)CCC2=CC(=O)CC[C@@]12C", printStereoWarnings=False) +smiles("[C@H]1(CCCCCCCC)O[C@H]1CCCCCCCC(=O)O", printStereoWarnings=False) +smiles("[C@H]1(CCN(C1=O)Cc1ccccc1)O", printStereoWarnings=False) +smiles("[C@@H]1(C)C(O)[C@H](CCC1)C", printStereoWarnings=False) +smiles("[C@H]1([C@@H]([C@H]([C@@H](C)C=C1)COC(=O)C)COC(=O)C)C", printStereoWarnings=False) +smiles("[C@@H]1([C@H]([C@H]([C@H](O)[C@H](CO)O1)O)O)Nc1ccc(OCC)cc1", printStereoWarnings=False) +smiles("[C@H]1([C@H]([C@H]([C@@H](O)[C@@H](O1)O)O)O)C(=O)O", printStereoWarnings=False) +smiles("[C@H]1([C@H](OC(=O)C)[C@@H]([C@@H](OC(=O)C)[C@@H](Sc2c(NC(=O)C)cc(Cl)cc2)O1)OC(=O)C)COC(=O)C", printStereoWarnings=False) +smiles("[C@H]1(C[N+](C)(C)C)OCCOC1", printStereoWarnings=False) +smiles("[C@@H]1(COc2cc([N+](=O)[O-])ccc2)OC1", printStereoWarnings=False) +smiles("[C@H]1(C(=O)OCC)CN(C(C)(C)C)C(=O)C1=O", printStereoWarnings=False) +smiles("[C@@H]1(OCOCC1)C", printStereoWarnings=False) +smiles("[C@H]1(OC(=O)C)CCCC[C@@H]1OC(=O)C", printStereoWarnings=False) +smiles("[C@H]1(OC(=O)C)[C@H]([C@@H](O[C@H](Sc2cccc3ccccc23)[C@H]1OC(=O)C)COC(=O)C)OC(=O)C", printStereoWarnings=False) +smiles("[C@H](CBr)(Br)C(=O)O", printStereoWarnings=False) +smiles("[C@H](CCCCCCCCCCCCCCCC)(C(=O)O)O", printStereoWarnings=False) +smiles("[C@H](CCCC)(CC)C(=O)CC(=O)C", printStereoWarnings=False) +smiles("[C@H](C)(Cl)C(=O)O", printStereoWarnings=False) +smiles("[C@@H]([C@H]1OC(=O)[C@@H]([C@@H]1O)O)(O)C=O", printStereoWarnings=False) +smiles("[C@H]([C@@H](O)c1ccc(Cl)cc1)(NCCO)c1ccc(Cl)cc1", printStereoWarnings=False) +smiles("[C@H](COC(=O)C=[N+]=[N-])(C(=O)O)N", printStereoWarnings=False) +smiles("[C@H](C(=O)NO)(N)Cc1ccc(O)cc1", printStereoWarnings=False) +smiles("[C@@H](C(=O)OCC)(CC(=O)OCC)C(=O)C", printStereoWarnings=False) +smiles("[C@H](NCCO)(c1ccc(Cl)cc1)C(=O)c1ccc(cc1)Cl", printStereoWarnings=False) +smiles("[C@H](OCCCC)(c1ccccc1)N1CCCCC1", printStereoWarnings=False) +smiles("Clc1c2c(cc(Cl)cc2)ncc1", printStereoWarnings=False) +smiles("Clc1c(C)c2c(cc1)c(O)c(C(=O)OCC)cn2", printStereoWarnings=False) +smiles("Clc1ccc(CCC(=O)C)cc1", printStereoWarnings=False) +smiles("Clc1ccc(C(=NN=C(c2ccc(Cl)cc2)C)C)cc1", printStereoWarnings=False) +smiles("Clc1cc(Cl)ccc1OCCO", printStereoWarnings=False) +smiles("ClC(Cl)[C@H](NC(=O)Cc1ccccc1)O", printStereoWarnings=False) +smiles("ClC(Cl)C(NC(=O)OCC)NC(=O)OCC", printStereoWarnings=False) +smiles("Cl[C@H](C)C(Cl)([C@H](O)NC(=O)CCCC)Cl", printStereoWarnings=False) +smiles("[Cl](=O)(=O)(=O)O", printStereoWarnings=False) +smiles("C(N1c2ccccc2Sc2ccccc12)C", printStereoWarnings=False) +smiles("C(#N)c1c2c(nc3c1cccc3)cccc2", printStereoWarnings=False) +smiles("CN(c1ccc(cc1)c1ccc(N(C)C)cc1)C", printStereoWarnings=False) +smiles("CN(c1c(N)cc(cc1)C(=O)c1ccc(c(c1)N)N(C)C)C", printStereoWarnings=False) +smiles("C[N+](Cc1ccccc1C[N+](C)(C)C)(C)C", printStereoWarnings=False) +smiles("C[N+](Cc1c(cc(C)cc1C)C)(C)C", printStereoWarnings=False) +smiles("C(N(C)C)Cc1c(cc(cc1C)C)C", printStereoWarnings=False) +smiles("C([N+](CCC)(CCC)CCC)c1ccccc1", printStereoWarnings=False) +smiles("C(#N)C(C)(C)O", printStereoWarnings=False) +smiles("C(#N)C([C@@H](C#N)c1ccccc1)C#N", printStereoWarnings=False) +smiles("C(N(CC)N=O)CCC", printStereoWarnings=False) +smiles("C(#N)CCOC(=O)C", printStereoWarnings=False) +smiles("C(N([C@@H]1C(=NO)CCCC1)CC)C", printStereoWarnings=False) +smiles("C[N+]([C@@H](C)CC(c1ccccc1)(C(=O)CC)c1ccccc1)(C)C", printStereoWarnings=False) +smiles("C(#N)[C@@H](C)N(C)C", printStereoWarnings=False) +smiles("C(N)CNCCN", printStereoWarnings=False) +smiles("C(NC(=O)c1ccccc1)CCCCCNC(=O)c1ccccc1", printStereoWarnings=False) +smiles("C(=NN)(c1ccccc1)c1ccccc1", printStereoWarnings=False) +smiles("C(=NNc1c(cc([N+](=O)[O-])cc1)N(=O)=O)(CC(C)C)CC(C)C", printStereoWarnings=False) +smiles("C(=NNC(=S)N)c1cc2c(cc1)OCO2", printStereoWarnings=False) +smiles("C(=NNC(=S)N)c1ccc(cc1)S(=O)(=O)CC", printStereoWarnings=False) +smiles("C(=NO)(C)CC(C)C", printStereoWarnings=False) +smiles("C(=NO)(C(=NO)C)C", printStereoWarnings=False) +smiles("C[N+](=O)[O-]", printStereoWarnings=False) +smiles("C(=O)(c1ccccc1)C1CCCCC1", printStereoWarnings=False) +smiles("COc1cc(ccc1)C#N", printStereoWarnings=False) +smiles("COc1cccc(C#N)c1", printStereoWarnings=False) +smiles("C(=O)(c1c(NN)cccc1)O", printStereoWarnings=False) +smiles("C(=O)(c1c(OCC(=O)O)cccc1)Nc1ccccc1", printStereoWarnings=False) +smiles("C(=O)(C(c1ccccc1)(O)c1ccccc1)OC", printStereoWarnings=False) +smiles("C(O)(CCCCC)(CCCCC)C", printStereoWarnings=False) +smiles("C(=O)([C@@](C)(CC)CCC)O", printStereoWarnings=False) +smiles("C(=O)(CCCCCC)O[C@H](C)CC(C)C", printStereoWarnings=False) +smiles("C(=O)(CC(C)CC(=O)OCC(F)(F)C(F)(C(F)(C(F)F)F)F)OCC(C(C(F)(F)C(F)F)(F)F)(F)F", printStereoWarnings=False) +smiles("C(=O)(CC(C)(C)NNC(=S)N)C", printStereoWarnings=False) +smiles("C(=O)(C(C)(C)C(=O)O)O", printStereoWarnings=False) +smiles("COCCCN", printStereoWarnings=False) +smiles("C(=O)(CC(=O)NN)NN", printStereoWarnings=False) +smiles("C(=O)(CC(=O)OCCCCCCCCCCCCCCCC)OCCCCCCCCCCCCCCCC", printStereoWarnings=False) +smiles("C(=O)([C@H](C)Br)O", printStereoWarnings=False) +smiles("C(=O)([C@@H](C)CC(C)(C)C)Cl", printStereoWarnings=False) +smiles("C(=O)([C@@H](N1CCOCC1)[C@H](N1CCOCC1)C(=O)c1ccccc1)c1ccccc1", printStereoWarnings=False) +smiles("C(=O)([C@@H](N)CCSCC)O", printStereoWarnings=False) +smiles("C(O)[C@@H](O)[C@@H](O)[C@H](O)[C@@H](C=O)N", printStereoWarnings=False) +smiles("C(=O)([C@@H](O)[C@H](O)C(=O)OC)OC", printStereoWarnings=False) +smiles("C(=O)(C)Nc1ccc(cc1)C=NNC(=S)NN", printStereoWarnings=False) +smiles("C(O)CNCCN", printStereoWarnings=False) +smiles("C(=O)(CN(CC(=O)O)Cc1ccccc1)O", printStereoWarnings=False) +smiles("C(=O)(C(=NO)Cl)c1ccc(cc1)C", printStereoWarnings=False) +smiles("C(OC(=O)CC(C)C)C(C)(C)C", printStereoWarnings=False) +smiles("C(OC(=O)C(C(C)C)C(=O)OCC)C", printStereoWarnings=False) +smiles("COC(=O)CCN(CC)CC", printStereoWarnings=False) +smiles("C(OC(=O)[C@@H](C(C)C)C(=O)CC(C)C)C", printStereoWarnings=False) +smiles("C(=O)(C)O[Hg]c1ccc(cc1)N=Cc1ccccc1O", printStereoWarnings=False) +smiles("C(=O)(C(=O)O)C", printStereoWarnings=False) +smiles("COC(=O)OCC=CCOC(=O)OC", printStereoWarnings=False) +smiles("C(=O)(N(c1cc2cc(cc(O)c2cc1)S(=O)(=O)O)c1ccccc1)OCC", printStereoWarnings=False) +smiles("C(=O)(Nc1ccccc1)C(Cl)(Cl)Cl", printStereoWarnings=False) +smiles("C(=O)(N(CC)CC)CC", printStereoWarnings=False) +smiles("C(=O)(N(CC)CC)C=Cc1ccccc1", printStereoWarnings=False) +smiles("C(=O)(N)CNC", printStereoWarnings=False) +smiles("C(=O)(NCO)C=C", printStereoWarnings=False) +smiles("C(=O)(NN)c1cc(OC)nc(c1)OC", printStereoWarnings=False) +smiles("C(=O)(O)c1ccc(cc1O)N(=O)=O", printStereoWarnings=False) +smiles("C(=O)(O)C(C)C", printStereoWarnings=False) +smiles("C(=O)(OC(=Cc1ccccc1)C)c1ccccc1", printStereoWarnings=False) +smiles("C(=O)(O)CCCc1ccccc1", printStereoWarnings=False) +smiles("C(=O)(O)C(CCCC)(CC)CC", printStereoWarnings=False) +smiles("C(=O)(OCCCCCCCC)c1ncccc1", printStereoWarnings=False) +smiles("C(=O)(OCC)C(C(=O)OCC)NC(=O)c1ccccc1", printStereoWarnings=False) +smiles("C(=O)(O)CCCl", printStereoWarnings=False) +smiles("C(=O)(OOC(=O)CCC(=O)O)CCC(=O)O", printStereoWarnings=False) +smiles("C(SCCS[C@H](c1ccccc1)CC(=O)C)CS[C@@H](CC(=O)C)c1ccccc1", printStereoWarnings=False) +smiles("C(=S)(C)SCC(C)C", printStereoWarnings=False) +smiles("C(SC(=S)N(CC)CC)CC(=O)N", printStereoWarnings=False) +smiles("C(=S)(Nc1c(CC)cccc1)Nc1c(CC)cccc1", printStereoWarnings=False) +smiles("C(=S)(N)NN=CCCCCCC", printStereoWarnings=False) +smiles("C(=S)(N)NNC(=O)c1ccc([N+](=O)[O-])cc1", printStereoWarnings=False) +smiles("CS(=O)C", printStereoWarnings=False) +smiles("CS(=O)(=O)OCCCCOS(=O)(=O)C", printStereoWarnings=False) +smiles("C(SSCCCCCCCCCCCCCCCC)CCCCCCCCCCCCCCC", printStereoWarnings=False) +smiles("Fc1c(CC(=O)O)cccc1", printStereoWarnings=False) +smiles("FC(C(C(CO)(F)F)(F)F)(C(F)F)F", printStereoWarnings=False) +smiles("FC(F)C(C(F)(C(F)(F)COC(=O)CCCC(=O)OCC(F)(F)C(C(F)(F)C(F)F)(F)F)F)(F)F", printStereoWarnings=False) +smiles("FC(F)(C(F)(F)C(CO[Si](OCC(C(F)(F)C(F)(F)C(C(F)(F)C(F)F)(F)F)(F)F)(OC(C)(C)C)OC(C)(C)C)(F)F)C(F)(C(C(F)F)(F)F)F", printStereoWarnings=False) +smiles("[H+]", printStereoWarnings=False) +smiles("[Hg](c1ccccc1)Sc1nc2ccccc2s1", printStereoWarnings=False) +smiles("[H][H]", printStereoWarnings=False) +smiles("[I](Cl)Cl", printStereoWarnings=False) +smiles("n1c2c(cccc2)ns1", printStereoWarnings=False) +smiles("n1c2c(nc(N)nc2O)[nH]n1", printStereoWarnings=False) +smiles("N1c2c(Sc3ccccc13)cccc2C(=O)OC", printStereoWarnings=False) +smiles("n1cc2c(O)nc(nc2[nH]1)N", printStereoWarnings=False) +smiles("n1cccc2ccc(c(O)c12)[C@H](Nc1ccc(C(=O)O)cc1)c1ccccc1", printStereoWarnings=False) +smiles("N1CCCCC1", printStereoWarnings=False) +smiles("n1c(cccc1)CC", printStereoWarnings=False) +smiles("n1c(C)cccc1CCCCC", printStereoWarnings=False) +smiles("n1ccc(CCC)cc1", printStereoWarnings=False) +smiles("N1(CCCC[C@@H]1C)[C@H](CC(=O)c1ccccc1)C(=O)c1ccccc1", printStereoWarnings=False) +smiles("N1(CCC[C@H]1[C@@H]1CCCNC1)C", printStereoWarnings=False) +smiles("n1c(ccc(N)c1)Cl", printStereoWarnings=False) +smiles("N1=C(CC(=O)N1C)C", printStereoWarnings=False) +smiles("n1cc(C(=O)O)ccc1Cl", printStereoWarnings=False) +smiles("N1CCNCC1", printStereoWarnings=False) +smiles("n1c(C(=O)O)cccc1", printStereoWarnings=False) +smiles("n1c(ncc2CCc3ccccc3c12)NC(=O)C1CC1", printStereoWarnings=False) +smiles("N1(C(=O)c2c(cccc2)C1=O)[N+](=O)[O-]", printStereoWarnings=False) +smiles("n1c(O)c2ccccc2c(O)n1", printStereoWarnings=False) +smiles("N1C(=O)[C@@H](NC(=O)[C@@H]1CCCl)CCCl", printStereoWarnings=False) +smiles("N1=C(OC(=O)C1=Cc1ccccc1)c1ccccc1", printStereoWarnings=False) +smiles("N1C(=O)CSc2cc(ccc12)Cl", printStereoWarnings=False) +smiles("n1c(O)nc2[nH]nnc2c1O", printStereoWarnings=False) +smiles("n1n2ccccc2cn1", printStereoWarnings=False) +smiles("n1n2ccccc2nn1", printStereoWarnings=False) +smiles("N(c1c2cc(OC)ccc2nc2cc(ccc12)Cl)CCCN(CC)CC", printStereoWarnings=False) +smiles("Nc1ccc2c(ncc(c2O)C(=O)OCC)n1", printStereoWarnings=False) +smiles("N(c1ccccc1)(c1ccccc1)N=O", printStereoWarnings=False) +smiles("Nc1ccc(cc1)C(=O)C=Cc1ccccn1", printStereoWarnings=False) +smiles("Nc1ccccc1S(=O)(=O)O", printStereoWarnings=False) +smiles("Nc1ccccn1", printStereoWarnings=False) +smiles("N(c1ccc(S(=O)(=O)N)cc1)C(=O)CBr", printStereoWarnings=False) +smiles("Nc1c(C(=O)O)cc(cc1)I", printStereoWarnings=False) +smiles("Nc1nc2ncc(nc2c(N)n1)CNc1ccc(C(=O)N[C@@H](CCC(=O)O)C(=O)O)cc1", printStereoWarnings=False) +smiles("Nc1ncccc1C", printStereoWarnings=False) +smiles("Nc1nc(N)ncn1", printStereoWarnings=False) +smiles("N#Cc1cc(c2c(c1Cl)Nc1c(ccc(Cl)c1S2)Cl)Cl", printStereoWarnings=False) +smiles("N(C)C1CCCCC1", printStereoWarnings=False) +smiles("N(=C(c1ccccc1)c1ccccc1)c1ccccc1", printStereoWarnings=False) +smiles("N(=Cc1ccccc1)c1cc(C)ccn1", printStereoWarnings=False) +smiles("N(=Cc1ccccc1)NC(=S)NN", printStereoWarnings=False) +smiles("N(=Cc1ccc(Cl)cc1)N=Cc1ccc(Cl)cc1", printStereoWarnings=False) +smiles("N(=Cc1sccc1)NC(=S)N", printStereoWarnings=False) +smiles("[N+](C)(Cc1ccc(cc1)[N+](=O)[O-])(C)C", printStereoWarnings=False) +smiles("N(CC)(c1ccc(cc1)SC#N)CC", printStereoWarnings=False) +smiles("N(=C(C)c1sccc1)NC(=S)N", printStereoWarnings=False) +smiles("NC(C)(Cc1ccccc1)C", printStereoWarnings=False) +smiles("N#CC(=Cc1ccc(cc1)Cl)C#N", printStereoWarnings=False) +smiles("N(=CC=Cc1ccccc1)N=CC=Cc1ccccc1", printStereoWarnings=False) +smiles("N#CC(=Cc1cccc(c1)[N+](=O)[O-])C#N", printStereoWarnings=False) +smiles("N(CC)(CC)CCCCCCCC", printStereoWarnings=False) +smiles("N(C)(C)CCC#N", printStereoWarnings=False) +smiles("N(CC)(CCC#N)CC", printStereoWarnings=False) +smiles("N(CC)(CC)C(=O)CCC(=O)O", printStereoWarnings=False) +smiles("N(=C(C)CC)O", printStereoWarnings=False) +smiles("NCCCNC(C)C", printStereoWarnings=False) +smiles("NCCCOC(C)C", printStereoWarnings=False) +smiles("N(CCC(=O)O)(c1ccccc1)C(=O)C(=O)OCC", printStereoWarnings=False) +smiles("N#C[C@@H](C1CCCCC1)c1ccccc1", printStereoWarnings=False) +smiles("N#C[C@H](NC(=O)N[C@H](C)C(=O)N)C", printStereoWarnings=False) +smiles("N(CCN)CCNCCN", printStereoWarnings=False) +smiles("N#C[C@@](OC(=O)C)(CC)C", printStereoWarnings=False) +smiles("N(C(C(=O)N)(C)C)C(=O)NC(C#N)(C)C", printStereoWarnings=False) +smiles("N(CC(=O)O)(CC(=O)O)CC", printStereoWarnings=False) +smiles("N(C(=[NH2])Nc1ccccc1C)c1ccccc1C", printStereoWarnings=False) +smiles("N(C(=O)c1ccccc1N)N", printStereoWarnings=False) +smiles("N(C(=O)c1cc(ccc1O)N)N", printStereoWarnings=False) +smiles("N(C(=O)C)c1c(C(=O)O)cc(I)cc1", printStereoWarnings=False) +smiles("N(C=O)(CC)CC", printStereoWarnings=False) +smiles("N(C(=O)C)CNC(=O)C", printStereoWarnings=False) +smiles("NC(=O)OCC", printStereoWarnings=False) +smiles("N(C(=O)OCCCl)c1ccccc1", printStereoWarnings=False) +smiles("N#CSc1ccc(cc1)N(CCC)CCC", printStereoWarnings=False) +smiles("N(C(=S)Nc1ccc(C)cc1)c1ccc(C)cc1", printStereoWarnings=False) +smiles("N(C(=S)N=CCC)C(=S)N", printStereoWarnings=False) +smiles("N(C(=S)N)N=Cc1ccncc1", printStereoWarnings=False) +smiles("N(C(=S)N)N=C(C)c1ccc(cc1)Cl", printStereoWarnings=False) +smiles("N(C(=S)N)N=CC=CC", printStereoWarnings=False) +smiles("[nH]1cccc1", printStereoWarnings=False) +smiles("[nH]1c(nnn1)NC(=O)NN=Cc1c(O)cccc1", printStereoWarnings=False) +smiles("N(=Nc1ccc(cc1)c1ccccc1)c1ccc(c2ccccc2)cc1", printStereoWarnings=False) +smiles("N(N=Cc1cnccc1)C(=S)NN", printStereoWarnings=False) +smiles("N(N=C(C)C)C(=O)N", printStereoWarnings=False) +smiles("NNC(=O)c1ccc(N)cc1", printStereoWarnings=False) +smiles("N(N)C(=O)C1C(C(=O)NN)C1C(=O)NN", printStereoWarnings=False) +smiles("NNC(=O)C=CC", printStereoWarnings=False) +smiles("N(N)C(=S)NN=Cc1c2c(cccc2)ncc1", printStereoWarnings=False) +smiles("NNC(=S)NN=Cc1nc2ccccc2cc1", printStereoWarnings=False) +smiles("N(N)C(=S)NN=Cc1[nH]ccc1", printStereoWarnings=False) +smiles("N(NS(=O)(=O)c1ccccc1)C(=S)N", printStereoWarnings=False) +smiles("[N+](=O)(c1ccc(CCc2ccc(N(=O)=O)cc2)cc1)[O-]", printStereoWarnings=False) +smiles("N(=O)N1CCN(N=O)CC1", printStereoWarnings=False) +smiles("N(=O)N1CCOCC1", printStereoWarnings=False) +smiles("N(=O)N(CC(C)C)CC(C)C", printStereoWarnings=False) +smiles("[N+](=O)([O-])c1ccc(C(=O)c2ccc(cc2)C)cc1", printStereoWarnings=False) +smiles("[N+](=O)([O-])c1cc(CSC#N)c(cc1)O", printStereoWarnings=False) +smiles("[N+](=O)([O-])C(C)(C)CCN", printStereoWarnings=False) +smiles("N(=O)(=O)N1C(=O)CCC1=O", printStereoWarnings=False) +smiles("NP(=O)(c1ccccc1)N", printStereoWarnings=False) +smiles("N(P(=S)(c1ccccc1)NN)N", printStereoWarnings=False) +smiles("N(P(=S)(Cl)Cl)CCCCCCC", printStereoWarnings=False) +smiles("NS(=O)(=O)N", printStereoWarnings=False) +smiles("[O-]", printStereoWarnings=False) +smiles("[O+]", printStereoWarnings=False) smiles("O") -smiles("O1C=C2C(=C(C(=O)C(=C2O)C(=O)O)C)[C@@H](C)[C@@H]1C") -smiles("O1C[C@@H]1[C@@H]1CO1") -smiles("O1[C@H](C)C=CC1=O") -smiles("O1C(OCC1)(CC)C") -smiles("O1[Cu]23Oc4ccccc4C=[N+]2CC[N+]3=Cc2ccccc12") -smiles("[O-2]") -smiles("O=C1c2ccccc2C(=O)c2c1cc(cc2)C") -smiles("O=C1c2c(cccc2)C(=O)C(=C1N(C)C)Cl") -smiles("Oc1c2c(c(nn1)O)c(ccc2)N(=O)=O") -smiles("Oc1cc(c2ccc(nc2n1)N)C") -smiles("O(c1c(ccc(c1)C)C)CC=C") -smiles("Oc1c(cccc1)C(=O)c1ccccc1") -smiles("O=C1C=C(C[C@H](C)C1)C") -smiles("Oc1ccc(C=NCCN=Cc2ccc(cc2)O)cc1") -smiles("Oc1ccc(C=NNC(=S)N)cc1OC") -smiles("O(c1ccc(C(=O)CCC(=O)O)cc1OC)C") -smiles("O=C1C=CC(=O)C(=C1)C") -smiles("O=C1CCC(=O)N1Br") -smiles("O(c1ccc(S(=O)(=O)Cl)cc1)c1ccc(S(=O)(=O)Cl)cc1") -smiles("O(c1ccc(SSc2ccc(OC)cc2)cc1)C") -smiles("O(c1c(C(=O)O)ccc([N+](=O)[O-])c1)Cc1ccccc1") -smiles("O=C1[C@H](C)O[Ti]2(O[C@H](C)C(=O)O2)(O)(O)O1") -smiles("O=C1C(=O)N(C[C@H]1C(=O)OCC)CCCC") -smiles("O=C1N(C=C)C(=O)CC1") -smiles("O(C)B(OC)OC") -smiles("O=C(c1cccc(c1Br)[N+](=O)[O-])OC") -smiles("O=C(c1ccc(cc1)O)NN") -smiles("O=C(c1ccccc1)OOC(C)(C)C") -smiles("O=C(c1c(cccc1)SCC(=O)O)O") -smiles("O(C)c1ccc(C)c(CN(C)C)c1") -smiles("O(C)c1cc([N+](=O)[O-])c(c(N(=O)=O)c1)N") -smiles("O=C(c1cc(=O)c(O)c(C(=O)O)o1)O") -smiles("O(C)c1c(OC)cc2c([C@]34CCN5[C@@H]3C[C@@H]3[C@@H]6[C@H](OCC=C3C5)CC(=O)N2[C@H]46)c1") -smiles("O=C(C1(N)CCCC1)O") -smiles("O=Cc1nc(nc(O)c1)SCC") -smiles("OC(CBr)CBr") -smiles("O=C(CBr)Nc1c(cccc1)C") -smiles("O=C(C(c1ccccc1)(c1ccccc1)c1ccccc1)O") -smiles("O(CCC)B(OCCC)OCCC") -smiles("O=C(C(=Cc1cc(c(c(c1)Cl)O)Cl)c1ccccc1)O") -smiles("O=C(C=Cc1ccc(cc1)N(C)C)c1ccccc1") -smiles("OC(C)(C)C#C") -smiles("O(CCCCC)B(OCCCCC)OCCCCC") -smiles("O(CCCCCC)B(OCCCCCC)OCCCCCC") -smiles("O=C(C(C)C)CC(C)C") -smiles("O[C@](C)(CCCCC)CC") -smiles("O(CC(C)(C)C)C(=O)C(CC)CC") -smiles("OCC(C)(C)N") -smiles("O=C(C(C)C)O") -smiles("OCC=CCO") -smiles("OCC#CCO") -smiles("O=C(C)[C@H](C(C)(C)C)C") -smiles("O=C(CCl)O") -smiles("O=C(CC(=O)CC(C)C)C") -smiles("O(CC)C(=O)CC(=NNC(=S)N)C") -smiles("O=C(C(C(=O)C)C(=O)OCC)C") -smiles("O(CC)C(=O)[C@@H](CCc1ccccc1)C(=O)C") -smiles("OCC(F)(F)F") -smiles("O=C([C@H]1CN(C(=O)C1=O)CC(C)C)OCC") -smiles("O(C[C@@H]1OC1)c1ccccc1") -smiles("O=C([C@@H](Br)[C@H](c1ccccc1)Br)CBr") -smiles("O=C([C@H](CCC)Br)O") -smiles("O=C(C)N(CC)CC") -smiles("O=C(C)OC[C@H]1[C@@H](COC(=O)C)[C@H]2C[C@H]1CC2") -smiles("O=C(C(=O)NN)NN") -smiles("O[C@@H]1[C@H](CO)OC(=O)[C@@H]1O") -smiles("O[C@@H](c1ccc(cc1)Oc1ccc([C@H](O)C)cc1)C") -smiles("O[C@H](CN)CCC") -smiles("O=CN") -smiles("O=C(Nc1ccc(C(=O)O)cc1)c1ccccc1O") -smiles("O=C(Nc1ccc(S(=O)(=O)NN)cc1)C") -smiles("O=C(NCC)NCC") -smiles("O=C(NC(NC(=O)OCC)CC)OCC") -smiles("O=C(NC(NC(=O)OCC)[C@H](Cl)CC)OCC") -smiles("O=C(NC(=O)OCC)N") -smiles("O=C(NNC(=O)NNC(=O)N)N") -smiles("O=C(O)c1ccccc1") -smiles("O=C(O)c1ccccc1SSc1c(cccc1)C(=O)O") -smiles("O=C(O)C1=CC[C@H](C)CC1") -smiles("OC(=O)c1ccc(N(=O)=O)cc1Cl") -smiles("OC(=O)c1c(C(=O)O)ccnc1") -smiles("O=C(O)C(=Cc1cc(c(O)c(c1)Cl)Cl)CCCC") -smiles("OC(=O)C(=Cc1cc(c(O)c(I)c1)I)c1ccc(I)cc1") -smiles("O(C=O)CC(C)(C)C") -smiles("O=C(OCC(C)(C)C)CC") -smiles("O=C(OCC)C(CCCCC(C(=O)OCC)C(=O)OCC)C(=O)OCC") -smiles("OC(=O)CC[C@@H](C(=O)O)NC(=O)OCc1ccccc1") -smiles("O(C(=O)C)[C@](C#N)(C)[C@](C)(C#N)OC(=O)C") -smiles("O=C(O)C(C(F)(C(F)(F)F)F)(F)F") -smiles("OC(=O)[C@@H](Br)C(C)C") -smiles("O(C(=O)[C@@H](Br)CCCCCCCCCCCCCCCC)CC") -smiles("O(C(=O)[C@H]([Hg]Br)[C@H](c1ccccc1)OC)[C@H]1C[C@H]2C(C)(C)[C@]1(C)CC2") -smiles("OC(=O)CN(CCN(CC)CC)CC(=O)O") -smiles("OC(=O)CN(CC(=O)O)CCN(C)C") -smiles("OC(=O)CO") -smiles("OC(=O)C(=O)CCCCCC") -smiles("O(C(=O)Nc1[nH]nnn1)CC") -smiles("O=C(OOC(=O)C)C") -smiles("[OH-]") -smiles("[OH3+]") -smiles("O=[N+](c1cccc2c1cccc2C(=O)Cl)[O-]") -smiles("O=[N+](c1cc(c(OC)c2cccnc12)OC)[O-]") -smiles("ON=Cc1ccc(NC(=O)C)cc1") -smiles("ON=C(C=Cc1ccc(OC)cc1)c1ccccc1") +smiles("O1C=C2C(=C(C(=O)C(=C2O)C(=O)O)C)[C@@H](C)[C@@H]1C", printStereoWarnings=False) +smiles("O1C[C@@H]1[C@@H]1CO1", printStereoWarnings=False) +smiles("O1[C@H](C)C=CC1=O", printStereoWarnings=False) +smiles("O1C(OCC1)(CC)C", printStereoWarnings=False) +smiles("O1[Cu]23Oc4ccccc4C=[N+]2CC[N+]3=Cc2ccccc12", printStereoWarnings=False) +smiles("[O-2]", printStereoWarnings=False) +smiles("O=C1c2ccccc2C(=O)c2c1cc(cc2)C", printStereoWarnings=False) +smiles("O=C1c2c(cccc2)C(=O)C(=C1N(C)C)Cl", printStereoWarnings=False) +smiles("Oc1c2c(c(nn1)O)c(ccc2)N(=O)=O", printStereoWarnings=False) +smiles("Oc1cc(c2ccc(nc2n1)N)C", printStereoWarnings=False) +smiles("O(c1c(ccc(c1)C)C)CC=C", printStereoWarnings=False) +smiles("Oc1c(cccc1)C(=O)c1ccccc1", printStereoWarnings=False) +smiles("O=C1C=C(C[C@H](C)C1)C", printStereoWarnings=False) +smiles("Oc1ccc(C=NCCN=Cc2ccc(cc2)O)cc1", printStereoWarnings=False) +smiles("Oc1ccc(C=NNC(=S)N)cc1OC", printStereoWarnings=False) +smiles("O(c1ccc(C(=O)CCC(=O)O)cc1OC)C", printStereoWarnings=False) +smiles("O=C1C=CC(=O)C(=C1)C", printStereoWarnings=False) +smiles("O=C1CCC(=O)N1Br", printStereoWarnings=False) +smiles("O(c1ccc(S(=O)(=O)Cl)cc1)c1ccc(S(=O)(=O)Cl)cc1", printStereoWarnings=False) +smiles("O(c1ccc(SSc2ccc(OC)cc2)cc1)C", printStereoWarnings=False) +smiles("O(c1c(C(=O)O)ccc([N+](=O)[O-])c1)Cc1ccccc1", printStereoWarnings=False) +smiles("O=C1[C@H](C)O[Ti]2(O[C@H](C)C(=O)O2)(O)(O)O1", printStereoWarnings=False) +smiles("O=C1C(=O)N(C[C@H]1C(=O)OCC)CCCC", printStereoWarnings=False) +smiles("O=C1N(C=C)C(=O)CC1", printStereoWarnings=False) +smiles("O(C)B(OC)OC", printStereoWarnings=False) +smiles("O=C(c1cccc(c1Br)[N+](=O)[O-])OC", printStereoWarnings=False) +smiles("O=C(c1ccc(cc1)O)NN", printStereoWarnings=False) +smiles("O=C(c1ccccc1)OOC(C)(C)C", printStereoWarnings=False) +smiles("O=C(c1c(cccc1)SCC(=O)O)O", printStereoWarnings=False) +smiles("O(C)c1ccc(C)c(CN(C)C)c1", printStereoWarnings=False) +smiles("O(C)c1cc([N+](=O)[O-])c(c(N(=O)=O)c1)N", printStereoWarnings=False) +smiles("O=C(c1cc(=O)c(O)c(C(=O)O)o1)O", printStereoWarnings=False) +smiles("O(C)c1c(OC)cc2c([C@]34CCN5[C@@H]3C[C@@H]3[C@@H]6[C@H](OCC=C3C5)CC(=O)N2[C@H]46)c1", printStereoWarnings=False) +smiles("O=C(C1(N)CCCC1)O", printStereoWarnings=False) +smiles("O=Cc1nc(nc(O)c1)SCC", printStereoWarnings=False) +smiles("OC(CBr)CBr", printStereoWarnings=False) +smiles("O=C(CBr)Nc1c(cccc1)C", printStereoWarnings=False) +smiles("O=C(C(c1ccccc1)(c1ccccc1)c1ccccc1)O", printStereoWarnings=False) +smiles("O(CCC)B(OCCC)OCCC", printStereoWarnings=False) +smiles("O=C(C(=Cc1cc(c(c(c1)Cl)O)Cl)c1ccccc1)O", printStereoWarnings=False) +smiles("O=C(C=Cc1ccc(cc1)N(C)C)c1ccccc1", printStereoWarnings=False) +smiles("OC(C)(C)C#C", printStereoWarnings=False) +smiles("O(CCCCC)B(OCCCCC)OCCCCC", printStereoWarnings=False) +smiles("O(CCCCCC)B(OCCCCCC)OCCCCCC", printStereoWarnings=False) +smiles("O=C(C(C)C)CC(C)C", printStereoWarnings=False) +smiles("O[C@](C)(CCCCC)CC", printStereoWarnings=False) +smiles("O(CC(C)(C)C)C(=O)C(CC)CC", printStereoWarnings=False) +smiles("OCC(C)(C)N", printStereoWarnings=False) +smiles("O=C(C(C)C)O", printStereoWarnings=False) +smiles("OCC=CCO", printStereoWarnings=False) +smiles("OCC#CCO", printStereoWarnings=False) +smiles("O=C(C)[C@H](C(C)(C)C)C", printStereoWarnings=False) +smiles("O=C(CCl)O", printStereoWarnings=False) +smiles("O=C(CC(=O)CC(C)C)C", printStereoWarnings=False) +smiles("O(CC)C(=O)CC(=NNC(=S)N)C", printStereoWarnings=False) +smiles("O=C(C(C(=O)C)C(=O)OCC)C", printStereoWarnings=False) +smiles("O(CC)C(=O)[C@@H](CCc1ccccc1)C(=O)C", printStereoWarnings=False) +smiles("OCC(F)(F)F", printStereoWarnings=False) +smiles("O=C([C@H]1CN(C(=O)C1=O)CC(C)C)OCC", printStereoWarnings=False) +smiles("O(C[C@@H]1OC1)c1ccccc1", printStereoWarnings=False) +smiles("O=C([C@@H](Br)[C@H](c1ccccc1)Br)CBr", printStereoWarnings=False) +smiles("O=C([C@H](CCC)Br)O", printStereoWarnings=False) +smiles("O=C(C)N(CC)CC", printStereoWarnings=False) +smiles("O=C(C)OC[C@H]1[C@@H](COC(=O)C)[C@H]2C[C@H]1CC2", printStereoWarnings=False) +smiles("O=C(C(=O)NN)NN", printStereoWarnings=False) +smiles("O[C@@H]1[C@H](CO)OC(=O)[C@@H]1O", printStereoWarnings=False) +smiles("O[C@@H](c1ccc(cc1)Oc1ccc([C@H](O)C)cc1)C", printStereoWarnings=False) +smiles("O[C@H](CN)CCC", printStereoWarnings=False) +smiles("O=CN", printStereoWarnings=False) +smiles("O=C(Nc1ccc(C(=O)O)cc1)c1ccccc1O", printStereoWarnings=False) +smiles("O=C(Nc1ccc(S(=O)(=O)NN)cc1)C", printStereoWarnings=False) +smiles("O=C(NCC)NCC", printStereoWarnings=False) +smiles("O=C(NC(NC(=O)OCC)CC)OCC", printStereoWarnings=False) +smiles("O=C(NC(NC(=O)OCC)[C@H](Cl)CC)OCC", printStereoWarnings=False) +smiles("O=C(NC(=O)OCC)N", printStereoWarnings=False) +smiles("O=C(NNC(=O)NNC(=O)N)N", printStereoWarnings=False) +smiles("O=C(O)c1ccccc1", printStereoWarnings=False) +smiles("O=C(O)c1ccccc1SSc1c(cccc1)C(=O)O", printStereoWarnings=False) +smiles("O=C(O)C1=CC[C@H](C)CC1", printStereoWarnings=False) +smiles("OC(=O)c1ccc(N(=O)=O)cc1Cl", printStereoWarnings=False) +smiles("OC(=O)c1c(C(=O)O)ccnc1", printStereoWarnings=False) +smiles("O=C(O)C(=Cc1cc(c(O)c(c1)Cl)Cl)CCCC", printStereoWarnings=False) +smiles("OC(=O)C(=Cc1cc(c(O)c(I)c1)I)c1ccc(I)cc1", printStereoWarnings=False) +smiles("O(C=O)CC(C)(C)C", printStereoWarnings=False) +smiles("O=C(OCC(C)(C)C)CC", printStereoWarnings=False) +smiles("O=C(OCC)C(CCCCC(C(=O)OCC)C(=O)OCC)C(=O)OCC", printStereoWarnings=False) +smiles("OC(=O)CC[C@@H](C(=O)O)NC(=O)OCc1ccccc1", printStereoWarnings=False) +smiles("O(C(=O)C)[C@](C#N)(C)[C@](C)(C#N)OC(=O)C", printStereoWarnings=False) +smiles("O=C(O)C(C(F)(C(F)(F)F)F)(F)F", printStereoWarnings=False) +smiles("OC(=O)[C@@H](Br)C(C)C", printStereoWarnings=False) +smiles("O(C(=O)[C@@H](Br)CCCCCCCCCCCCCCCC)CC", printStereoWarnings=False) +smiles("O(C(=O)[C@H]([Hg]Br)[C@H](c1ccccc1)OC)[C@H]1C[C@H]2C(C)(C)[C@]1(C)CC2", printStereoWarnings=False) +smiles("OC(=O)CN(CCN(CC)CC)CC(=O)O", printStereoWarnings=False) +smiles("OC(=O)CN(CC(=O)O)CCN(C)C", printStereoWarnings=False) +smiles("OC(=O)CO", printStereoWarnings=False) +smiles("OC(=O)C(=O)CCCCCC", printStereoWarnings=False) +smiles("O(C(=O)Nc1[nH]nnn1)CC", printStereoWarnings=False) +smiles("O=C(OOC(=O)C)C", printStereoWarnings=False) +smiles("[OH-]", printStereoWarnings=False) +smiles("[OH3+]", printStereoWarnings=False) +smiles("O=[N+](c1cccc2c1cccc2C(=O)Cl)[O-]", printStereoWarnings=False) +smiles("O=[N+](c1cc(c(OC)c2cccnc12)OC)[O-]", printStereoWarnings=False) +smiles("ON=Cc1ccc(NC(=O)C)cc1", printStereoWarnings=False) +smiles("ON=C(C=Cc1ccc(OC)cc1)c1ccccc1", printStereoWarnings=False) smiles("O[NH4]") # chemical, but needs brackets -smiles("O=NN(c1ccccc1)C") -smiles("O=N(=O)c1cc(ccc1)C=NNC(=S)NN") -smiles("[O-][N+](=O)c1cc(cc(c1)N)N(=O)=O") -smiles("[O-][N+](=O)c1ccc(cc1)P(=O)(O)O") -smiles("O=[N+]([O-])c1ccccc1SSc1c(cccc1)[N+](=O)[O-]") -smiles("[O-][N+](=O)c1cc(c(C)c(c1)C(=O)C=Cc1ccccc1)[N+](=O)[O-]") -smiles("[O-][N+](=O)c1ccc(CC(=O)C)cc1") -smiles("O=N(=O)c1c(c(cc(S(=O)(=O)O)c1)[N+](=O)[O-])Cl") -smiles("O=N(=O)c1ccc(o1)C=NO") -smiles("O=N(=O)c1c(OC)cccc1C(=O)O") -smiles("O=N(=O)N1C(=O)CCC1=O") -smiles("OOC(C)(C)C") -smiles("[O-]P(=O)([O-])OCC1OC(O)CC1O") -smiles("O=S1(=O)C[C@H]([N+](C)(C)C)C=C1") -smiles("O=S(=O)(c1cccc2C(=O)c3cccc(S(=O)(=O)O)c3C(=O)c12)O") -smiles("O=S(=O)(c1ccccc1)NN") -smiles("O=S(=O)(c1ccc(c(c1)SC#N)N)N") -smiles("O=S(=O)(c1cc(c(N)c(c1)Cl)Br)O") -smiles("O=S(=O)(C)N") -smiles("O=S(=O)(O)c1ccc(cc1OC(=O)C)NC(=O)C") -smiles("O=S(=O)(O)CCBr") -smiles("OS(=O)(=O)CCC(C)C") -smiles("OS(=O)(=O)CCS(=O)(=O)O") -smiles("OS(=O)(=O)O") -smiles("P(c1ccccc1)(c1ccccc1)c1ccccc1") -smiles("P(=O)(O)(F)O") -smiles("P(=S)(NCCCCCCCCCCCC)(NCCCCCCCCCCCC)NCCCCCCCCCCCC") -smiles("P(=S)(NCCCCCCC)(NCCCCCCC)NCCCCCCC") -smiles("s1c2cc(ccc2c2ccccc12)C(=O)C") -smiles("S1c2c(cccc2)Sc2ccccc12") -smiles("S1c2c(N(C)c3c1cccc3)cccc2") -smiles("s1c(ccc1C=NNC(=S)N)N(=O)=O") -smiles("s1c(C[C@H](N)C(=O)O)ccc1") -smiles("S1[Zn]2([S+]=C(S2)N(C)C)[S+]=C1N(C)C") -smiles("Sc1ccc(cc1)C") -smiles("SCCC(=O)O") -smiles("S=C(NC(=S)N=Cc1ccc(cc1)OC)N") -smiles("S(C(=[NH2])N)C") -smiles("S=C(NN=C1CCCCC1)N") -smiles("S=C(NN=Cc1cc([N+](=O)[O-])ccc1O)N") -smiles("S=C(NN=Cc1sccc1)NN") -smiles("S=C(N)NN=C(C)C") -smiles("S=C(NN)NN") -smiles("S(=O)(=O)(O)N(S(=O)(=O)O)S(=O)(=O)O") -smiles("S(Sc1ccc(cc1)N(C)C)c1ccc(cc1)N(C)C") -smiles("S(Sc1sc2c(cccc2)n1)c1sc2ccccc2n1") +smiles("O=NN(c1ccccc1)C", printStereoWarnings=False) +smiles("O=N(=O)c1cc(ccc1)C=NNC(=S)NN", printStereoWarnings=False) +smiles("[O-][N+](=O)c1cc(cc(c1)N)N(=O)=O", printStereoWarnings=False) +smiles("[O-][N+](=O)c1ccc(cc1)P(=O)(O)O", printStereoWarnings=False) +smiles("O=[N+]([O-])c1ccccc1SSc1c(cccc1)[N+](=O)[O-]", printStereoWarnings=False) +smiles("[O-][N+](=O)c1cc(c(C)c(c1)C(=O)C=Cc1ccccc1)[N+](=O)[O-]", printStereoWarnings=False) +smiles("[O-][N+](=O)c1ccc(CC(=O)C)cc1", printStereoWarnings=False) +smiles("O=N(=O)c1c(c(cc(S(=O)(=O)O)c1)[N+](=O)[O-])Cl", printStereoWarnings=False) +smiles("O=N(=O)c1ccc(o1)C=NO", printStereoWarnings=False) +smiles("O=N(=O)c1c(OC)cccc1C(=O)O", printStereoWarnings=False) +smiles("O=N(=O)N1C(=O)CCC1=O", printStereoWarnings=False) +smiles("OOC(C)(C)C", printStereoWarnings=False) +smiles("[O-]P(=O)([O-])OCC1OC(O)CC1O", printStereoWarnings=False) +smiles("O=S1(=O)C[C@H]([N+](C)(C)C)C=C1", printStereoWarnings=False) +smiles("O=S(=O)(c1cccc2C(=O)c3cccc(S(=O)(=O)O)c3C(=O)c12)O", printStereoWarnings=False) +smiles("O=S(=O)(c1ccccc1)NN", printStereoWarnings=False) +smiles("O=S(=O)(c1ccc(c(c1)SC#N)N)N", printStereoWarnings=False) +smiles("O=S(=O)(c1cc(c(N)c(c1)Cl)Br)O", printStereoWarnings=False) +smiles("O=S(=O)(C)N", printStereoWarnings=False) +smiles("O=S(=O)(O)c1ccc(cc1OC(=O)C)NC(=O)C", printStereoWarnings=False) +smiles("O=S(=O)(O)CCBr", printStereoWarnings=False) +smiles("OS(=O)(=O)CCC(C)C", printStereoWarnings=False) +smiles("OS(=O)(=O)CCS(=O)(=O)O", printStereoWarnings=False) +smiles("OS(=O)(=O)O", printStereoWarnings=False) +smiles("P(c1ccccc1)(c1ccccc1)c1ccccc1", printStereoWarnings=False) +smiles("P(=O)(O)(F)O", printStereoWarnings=False) +smiles("P(=S)(NCCCCCCCCCCCC)(NCCCCCCCCCCCC)NCCCCCCCCCCCC", printStereoWarnings=False) +smiles("P(=S)(NCCCCCCC)(NCCCCCCC)NCCCCCCC", printStereoWarnings=False) +smiles("s1c2cc(ccc2c2ccccc12)C(=O)C", printStereoWarnings=False) +smiles("S1c2c(cccc2)Sc2ccccc12", printStereoWarnings=False) +smiles("S1c2c(N(C)c3c1cccc3)cccc2", printStereoWarnings=False) +smiles("s1c(ccc1C=NNC(=S)N)N(=O)=O", printStereoWarnings=False) +smiles("s1c(C[C@H](N)C(=O)O)ccc1", printStereoWarnings=False) +smiles("S1[Zn]2([S+]=C(S2)N(C)C)[S+]=C1N(C)C", printStereoWarnings=False) +smiles("Sc1ccc(cc1)C", printStereoWarnings=False) +smiles("SCCC(=O)O", printStereoWarnings=False) +smiles("S=C(NC(=S)N=Cc1ccc(cc1)OC)N", printStereoWarnings=False) +smiles("S(C(=[NH2])N)C", printStereoWarnings=False) +smiles("S=C(NN=C1CCCCC1)N", printStereoWarnings=False) +smiles("S=C(NN=Cc1cc([N+](=O)[O-])ccc1O)N", printStereoWarnings=False) +smiles("S=C(NN=Cc1sccc1)NN", printStereoWarnings=False) +smiles("S=C(N)NN=C(C)C", printStereoWarnings=False) +smiles("S=C(NN)NN", printStereoWarnings=False) +smiles("S(=O)(=O)(O)N(S(=O)(=O)O)S(=O)(=O)O", printStereoWarnings=False) +smiles("S(Sc1ccc(cc1)N(C)C)c1ccc(cc1)N(C)C", printStereoWarnings=False) +smiles("S(Sc1sc2c(cccc2)n1)c1sc2ccccc2n1", printStereoWarnings=False) diff --git a/test/py/graph/121_loadingWarnings.py b/test/py/graph/121_loadingWarnings.py index 0067c5e..ee9a4d1 100644 --- a/test/py/graph/121_loadingWarnings.py +++ b/test/py/graph/121_loadingWarnings.py @@ -7,12 +7,10 @@ assert len(lws) == 1, lws assert lws[0] == (msg, True) -config.graph.printSmilesParsingWarnings = False -a = smiles("[C@](O)(O)(O)(O)(O)") +a = smiles("[C@](O)(O)(O)(O)(O)", printStereoWarnings=False) lws = a.loadingWarnings assert len(lws) == 1, lws assert lws[0] == (msg, False) -config.graph.printSmilesParsingWarnings = True b = a.makePermutation() fail(lambda: b.loadingWarnings, "Can not get loading warnings. No data from external loading stored.") diff --git a/test/py/graph/901_unionTerm.py b/test/py/graph/901_unionTerm.py new file mode 100644 index 0000000..183444e --- /dev/null +++ b/test/py/graph/901_unionTerm.py @@ -0,0 +1,4 @@ +g0 = Graph.fromDFS("[_X]{f(_X, a)}[g(h(_X), i)]") +g = UnionGraph([g0, g0]) +g0.printTermState() +g.printTermState() diff --git a/test/py/papers/21_tcs/calc.py b/test/py/papers/21_tcs/calc.py index d9563f1..55b0b53 100644 --- a/test/py/papers/21_tcs/calc.py +++ b/test/py/papers/21_tcs/calc.py @@ -1,8 +1,5 @@ # A few imports for type annotations. from typing import List, Tuple -# Silence some noise from the stereo-information prototype. -config.stereo.silenceDeductionWarnings = True - btToOrder = { BondType.Single: 1, @@ -68,7 +65,7 @@ def compose(r1: Rule, r2: Rule, rc: RCEvaluator) -> Tuple[CompRes, CompRes]: # perform the parallel composition explicitly. # Enable debug visualisation of each successful composition. - # The visualizations will be inserted in the summary. + # The visualisations will be inserted in the summary. # They form the basis of the figures in Appendix F. config.rc.printMatches = True # Print vertex indices in those visualilzations. diff --git a/test/py/rule/001_gml_interface.py b/test/py/rule/001_gml_interface.py index 81e6d94..6549f59 100644 --- a/test/py/rule/001_gml_interface.py +++ b/test/py/rule/001_gml_interface.py @@ -29,3 +29,18 @@ fail(lambda: Rule.fromGMLFile("doesNotExist.gml"), "Could not open rule GML file ", err=InputError, isSubstring=True) + +p = """rule [ + context [ + node [ id 0 label "C" stereo "tetrahedral" ] + node [ id 1 label "H" ] edge [ source 0 target 1 label "=" ] + node [ id 2 label "H" ] edge [ source 0 target 2 label "-" ] + node [ id 3 label "H" ] edge [ source 0 target 3 label "-" ] + node [ id 4 label "H" ] edge [ source 0 target 4 label "-" ] + ] +]""" +print("GML: with stereo warnings") +Rule.fromGMLString(p) +print("GML: without stereo warnings") +Rule.fromGMLString(p, printStereoWarnings=False) +print("GML: end of stereo warnings") diff --git a/test/py/runAll.sh b/test/py/runAll.sh index d7c165f..20795f4 100755 --- a/test/py/runAll.sh +++ b/test/py/runAll.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/usr/bin/env bash function handleFile { f=$1 diff --git a/test/py/xxx_helpers.py b/test/py/xxx_helpers.py index a8b4f8e..59038a2 100644 --- a/test/py/xxx_helpers.py +++ b/test/py/xxx_helpers.py @@ -30,15 +30,30 @@ def checkDeprecated(f): return res -def _compareFiles(f1, f2): +def _compareLines(lines1, lines2): import difflib - with open(f1, 'rb') as file1, open(f2, 'rb') as file2: - lines1 = file1.readlines() - lines2 = file2.readlines() differ = difflib.Differ() cand = list(line for line in differ.compare(lines1, lines2) if line[0] != ' ') if len(cand) != 0: - msg = "Files differ: %s vs. %s\n" % (f1, f2) - msg += "Diff is:\n" + msg = "Diff is:\n" msg += "".join(differ.compare(lines1, lines2)) - raise Exception(msg) + return msg + else: + return None + + +def _compareDumps(f1, f2): + lines1 = [f"{l}\n" for l in strFromDump(f1).split("\n")] + lines2 = [f"{l}\n" for l in strFromDump(f2).split("\n")] + res = _compareLines(lines1, lines2) + if res is not None: + raise Exception(f"Files differ: {f1} vs. {f2}\n{res}") + + +def _compareFiles(f1, f2): + with open(f1, 'r') as file1, open(f2, 'r') as file2: + lines1 = file1.readlines() + lines2 = file2.readlines() + res = _compareLines(lines1, lines2) + if res is not None: + raise Exception(f"Files differ: {f1} vs. {f2}\n{res}")