From 6b96be75084d7fb30acfc2180eb4234e2f464e38 Mon Sep 17 00:00:00 2001 From: marta-sd Date: Fri, 14 Oct 2022 12:00:39 +0200 Subject: [PATCH 1/2] add ligand example (with proper residue name) --- .../test_case_generation-checkpoint.ipynb | 128 ++++ tests/molecules/FRA/README.md | 6 + tests/molecules/FRA/input.pdb | 618 ++++++++++++++++++ tests/molecules/FRA/output.smi | 1 + .../molecules/FRA/test_case_generation.ipynb | 128 ++++ 5 files changed, 881 insertions(+) create mode 100644 tests/molecules/FRA/.ipynb_checkpoints/test_case_generation-checkpoint.ipynb create mode 100644 tests/molecules/FRA/README.md create mode 100644 tests/molecules/FRA/input.pdb create mode 100644 tests/molecules/FRA/output.smi create mode 100644 tests/molecules/FRA/test_case_generation.ipynb diff --git a/tests/molecules/FRA/.ipynb_checkpoints/test_case_generation-checkpoint.ipynb b/tests/molecules/FRA/.ipynb_checkpoints/test_case_generation-checkpoint.ipynb new file mode 100644 index 0000000..afdd92e --- /dev/null +++ b/tests/molecules/FRA/.ipynb_checkpoints/test_case_generation-checkpoint.ipynb @@ -0,0 +1,128 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "e4f2abc9", + "metadata": {}, + "outputs": [], + "source": [ + "from rdkit import Chem" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "69103fc4", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "mol = Chem.MolFromPDBFile('input.pdb')\n", + "mol" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "2d169b9b", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "CC(O)NC1CCC(N2C(O)[C@@H]3[C@H]4CC[C@](NC(O)OCC(O)O)(CC4)[C@@H]3C2O)CC1\n" + ] + } + ], + "source": [ + "print(Chem.MolToSmiles(mol))" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "65cd8dc4", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "CC(=O)Nc1ccc(cc1)N2C(=O)[C@@H]3C4CCC([C@@H]3C2=O)(CC4)NC(=O)OCC(=O)O\n", + "\n" + ] + } + ], + "source": [ + "with open('output.smi') as f:\n", + " smiles = f.read()\n", + "print(smiles)" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "8109f433", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "mol_gt = Chem.MolFromSmiles(smiles)\n", + "mol_gt" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "795df086", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.8.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/tests/molecules/FRA/README.md b/tests/molecules/FRA/README.md new file mode 100644 index 0000000..be0da90 --- /dev/null +++ b/tests/molecules/FRA/README.md @@ -0,0 +1,6 @@ +This example is meant to test whather we can correctly load a ligand with proper residue name. +The input contains structure stored in PDB format and the output is an isomeric SMILES describing this structure. + +Here we use FRA as an example. +You can find the ligand entry [here](https://www.rcsb.org/ligand/FRA) and a PDB structure, from with the input was extracted [here](https://www.rcsb.org/structure/1a4k). + diff --git a/tests/molecules/FRA/input.pdb b/tests/molecules/FRA/input.pdb new file mode 100644 index 0000000..f3ac68b --- /dev/null +++ b/tests/molecules/FRA/input.pdb @@ -0,0 +1,618 @@ +HEADER IMMUNOGLOBULIN 30-JAN-98 1A4K +TITLE DIELS ALDER CATALYTIC ANTIBODY WITH TRANSITION STATE +TITLE 2 ANALOGUE +COMPND MOL_ID: 1; +COMPND 2 MOLECULE: ANTIBODY FAB; +COMPND 3 CHAIN: L, A; +COMPND 4 FRAGMENT: FAB; +COMPND 5 ENGINEERED: YES; +COMPND 6 MOL_ID: 2; +COMPND 7 MOLECULE: ANTIBODY FAB; +COMPND 8 CHAIN: H, B; +COMPND 9 FRAGMENT: FAB; +COMPND 10 ENGINEERED: YES +SOURCE MOL_ID: 1; +SOURCE 2 ORGANISM_SCIENTIFIC: MUS MUSCULUS; +SOURCE 3 ORGANISM_COMMON: HOUSE MOUSE; +SOURCE 4 ORGANISM_TAXID: 10090; +SOURCE 5 STRAIN: BALB/C; +SOURCE 6 CELL_LINE: 25F2; +SOURCE 7 EXPRESSION_SYSTEM: ESCHERICHIA COLI; +SOURCE 8 EXPRESSION_SYSTEM_TAXID: 562; +SOURCE 9 EXPRESSION_SYSTEM_STRAIN: 25F2; +SOURCE 10 EXPRESSION_SYSTEM_VECTOR_TYPE: PLASMID; +SOURCE 11 EXPRESSION_SYSTEM_PLASMID: P4XH; +SOURCE 12 MOL_ID: 2; +SOURCE 13 ORGANISM_SCIENTIFIC: MUS MUSCULUS; +SOURCE 14 ORGANISM_COMMON: HOUSE MOUSE; +SOURCE 15 ORGANISM_TAXID: 10090; +SOURCE 16 STRAIN: BALB/C; +SOURCE 17 CELL_LINE: 25F2; +SOURCE 18 EXPRESSION_SYSTEM: ESCHERICHIA COLI; +SOURCE 19 EXPRESSION_SYSTEM_TAXID: 562; +SOURCE 20 EXPRESSION_SYSTEM_STRAIN: 25F2; +SOURCE 21 EXPRESSION_SYSTEM_VECTOR_TYPE: PLASMID; +SOURCE 22 EXPRESSION_SYSTEM_PLASMID: P4XH +KEYWDS IMMUNOGLOBULIN, ANTIBODY, CATALYTIC ANTIBODY, DIELS ALDER, +KEYWDS 2 GERMLINE +EXPDTA X-RAY DIFFRACTION +AUTHOR B.W.SPILLER,F.E.ROMESBURG,P.G.SCHULTZ,R.C.STEVENS +REVDAT 3 24-FEB-09 1A4K 1 VERSN +REVDAT 2 01-APR-03 1A4K 1 JRNL +REVDAT 1 13-MAY-98 1A4K 0 +JRNL AUTH F.E.ROMESBERG,B.SPILLER,P.G.SCHULTZ,R.C.STEVENS +JRNL TITL IMMUNOLOGICAL ORIGINS OF BINDING AND CATALYSIS IN +JRNL TITL 2 A DIELS-ALDERASE ANTIBODY. +JRNL REF SCIENCE V. 279 1929 1998 +JRNL REFN ISSN 0036-8075 +JRNL PMID 9506942 +JRNL DOI 10.1126/SCIENCE.279.5358.1929 +REMARK 1 +REMARK 2 +REMARK 2 RESOLUTION. 2.40 ANGSTROMS. +REMARK 3 +REMARK 3 REFINEMENT. +REMARK 3 PROGRAM : X-PLOR 3.851 +REMARK 3 AUTHORS : BRUNGER +REMARK 3 +REMARK 3 DATA USED IN REFINEMENT. +REMARK 3 RESOLUTION RANGE HIGH (ANGSTROMS) : 2.40 +REMARK 3 RESOLUTION RANGE LOW (ANGSTROMS) : 20.00 +REMARK 3 DATA CUTOFF (SIGMA(F)) : 2.000 +REMARK 3 DATA CUTOFF HIGH (ABS(F)) : NULL +REMARK 3 DATA CUTOFF LOW (ABS(F)) : NULL +REMARK 3 COMPLETENESS (WORKING+TEST) (%) : 99.6 +REMARK 3 NUMBER OF REFLECTIONS : 45309 +REMARK 3 +REMARK 3 FIT TO DATA USED IN REFINEMENT. +REMARK 3 CROSS-VALIDATION METHOD : THROUGHOUT +REMARK 3 FREE R VALUE TEST SET SELECTION : RANDOM +REMARK 3 R VALUE (WORKING SET) : 0.211 +REMARK 3 FREE R VALUE : 0.291 +REMARK 3 FREE R VALUE TEST SET SIZE (%) : 10.000 +REMARK 3 FREE R VALUE TEST SET COUNT : 4453 +REMARK 3 ESTIMATED ERROR OF FREE R VALUE : NULL +REMARK 3 +REMARK 3 FIT IN THE HIGHEST RESOLUTION BIN. +REMARK 3 TOTAL NUMBER OF BINS USED : 8 +REMARK 3 BIN RESOLUTION RANGE HIGH (A) : 2.40 +REMARK 3 BIN RESOLUTION RANGE LOW (A) : 2.51 +REMARK 3 BIN COMPLETENESS (WORKING+TEST) (%) : 99.80 +REMARK 3 REFLECTIONS IN BIN (WORKING SET) : 4493 +REMARK 3 BIN R VALUE (WORKING SET) : 0.3040 +REMARK 3 BIN FREE R VALUE : 0.3390 +REMARK 3 BIN FREE R VALUE TEST SET SIZE (%) : 10.00 +REMARK 3 BIN FREE R VALUE TEST SET COUNT : 480 +REMARK 3 ESTIMATED ERROR OF BIN FREE R VALUE : NULL +REMARK 3 +REMARK 3 NUMBER OF NON-HYDROGEN ATOMS USED IN REFINEMENT. +REMARK 3 PROTEIN ATOMS : 6923 +REMARK 3 NUCLEIC ACID ATOMS : 0 +REMARK 3 HETEROGEN ATOMS : 0 +REMARK 3 SOLVENT ATOMS : 217 +REMARK 3 +REMARK 3 B VALUES. +REMARK 3 FROM WILSON PLOT (A**2) : 45.70 +REMARK 3 MEAN B VALUE (OVERALL, A**2) : 41.50 +REMARK 3 OVERALL ANISOTROPIC B VALUE. +REMARK 3 B11 (A**2) : NULL +REMARK 3 B22 (A**2) : NULL +REMARK 3 B33 (A**2) : NULL +REMARK 3 B12 (A**2) : NULL +REMARK 3 B13 (A**2) : NULL +REMARK 3 B23 (A**2) : NULL +REMARK 3 +REMARK 3 ESTIMATED COORDINATE ERROR. +REMARK 3 ESD FROM LUZZATI PLOT (A) : NULL +REMARK 3 ESD FROM SIGMAA (A) : NULL +REMARK 3 LOW RESOLUTION CUTOFF (A) : NULL +REMARK 3 +REMARK 3 CROSS-VALIDATED ESTIMATED COORDINATE ERROR. +REMARK 3 ESD FROM C-V LUZZATI PLOT (A) : NULL +REMARK 3 ESD FROM C-V SIGMAA (A) : NULL +REMARK 3 +REMARK 3 RMS DEVIATIONS FROM IDEAL VALUES. +REMARK 3 BOND LENGTHS (A) : 0.007 +REMARK 3 BOND ANGLES (DEGREES) : 1.37 +REMARK 3 DIHEDRAL ANGLES (DEGREES) : 30.40 +REMARK 3 IMPROPER ANGLES (DEGREES) : 0.69 +REMARK 3 +REMARK 3 ISOTROPIC THERMAL MODEL : NULL +REMARK 3 +REMARK 3 ISOTROPIC THERMAL FACTOR RESTRAINTS. RMS SIGMA +REMARK 3 MAIN-CHAIN BOND (A**2) : NULL ; NULL +REMARK 3 MAIN-CHAIN ANGLE (A**2) : NULL ; NULL +REMARK 3 SIDE-CHAIN BOND (A**2) : NULL ; NULL +REMARK 3 SIDE-CHAIN ANGLE (A**2) : NULL ; NULL +REMARK 3 +REMARK 3 NCS MODEL : NULL +REMARK 3 +REMARK 3 NCS RESTRAINTS. RMS SIGMA/WEIGHT +REMARK 3 GROUP 1 POSITIONAL (A) : NULL ; NULL +REMARK 3 GROUP 1 B-FACTOR (A**2) : NULL ; NULL +REMARK 3 +REMARK 3 PARAMETER FILE 1 : PARHCSDX.PRO +REMARK 3 PARAMETER FILE 2 : FRA_000.PAR +REMARK 3 PARAMETER FILE 3 : NULL +REMARK 3 TOPOLOGY FILE 1 : TOPHCSDX.PR +REMARK 3 TOPOLOGY FILE 2 : FRA.TOP +REMARK 3 TOPOLOGY FILE 3 : NULL +REMARK 3 +REMARK 3 OTHER REFINEMENT REMARKS: NULL +REMARK 4 +REMARK 4 1A4K COMPLIES WITH FORMAT V. 3.15, 01-DEC-08 +REMARK 100 +REMARK 100 THIS ENTRY HAS BEEN PROCESSED BY BNL. +REMARK 200 +REMARK 200 EXPERIMENTAL DETAILS +REMARK 200 EXPERIMENT TYPE : X-RAY DIFFRACTION +REMARK 200 DATE OF DATA COLLECTION : NOV-96 +REMARK 200 TEMPERATURE (KELVIN) : 100 +REMARK 200 PH : 8.0 +REMARK 200 NUMBER OF CRYSTALS USED : 1 +REMARK 200 +REMARK 200 SYNCHROTRON (Y/N) : Y +REMARK 200 RADIATION SOURCE : SSRL +REMARK 200 BEAMLINE : BL7-1 +REMARK 200 X-RAY GENERATOR MODEL : NULL +REMARK 200 MONOCHROMATIC OR LAUE (M/L) : M +REMARK 200 WAVELENGTH OR RANGE (A) : 0.87 +REMARK 200 MONOCHROMATOR : MONOCHROMATOR +REMARK 200 OPTICS : WIGGLER +REMARK 200 +REMARK 200 DETECTOR TYPE : IMAGE PLATE +REMARK 200 DETECTOR MANUFACTURER : MARRESEARCH +REMARK 200 INTENSITY-INTEGRATION SOFTWARE : DENZO +REMARK 200 DATA SCALING SOFTWARE : SCALEPACK +REMARK 200 +REMARK 200 NUMBER OF UNIQUE REFLECTIONS : 45827 +REMARK 200 RESOLUTION RANGE HIGH (A) : 2.400 +REMARK 200 RESOLUTION RANGE LOW (A) : 20.000 +REMARK 200 REJECTION CRITERIA (SIGMA(I)) : 2.000 +REMARK 200 +REMARK 200 OVERALL. +REMARK 200 COMPLETENESS FOR RANGE (%) : 99.6 +REMARK 200 DATA REDUNDANCY : 5.300 +REMARK 200 R MERGE (I) : NULL +REMARK 200 R SYM (I) : 0.04700 +REMARK 200 FOR THE DATA SET : 21.0000 +REMARK 200 +REMARK 200 IN THE HIGHEST RESOLUTION SHELL. +REMARK 200 HIGHEST RESOLUTION SHELL, RANGE HIGH (A) : 2.40 +REMARK 200 HIGHEST RESOLUTION SHELL, RANGE LOW (A) : 2.49 +REMARK 200 COMPLETENESS FOR SHELL (%) : 99.8 +REMARK 200 DATA REDUNDANCY IN SHELL : 3.60 +REMARK 200 R MERGE FOR SHELL (I) : NULL +REMARK 200 R SYM FOR SHELL (I) : 0.12000 +REMARK 200 FOR SHELL : 6.000 +REMARK 200 +REMARK 200 DIFFRACTION PROTOCOL: NULL +REMARK 200 METHOD USED TO DETERMINE THE STRUCTURE: MOLECULAR REPLACEMENT +REMARK 200 SOFTWARE USED: AMORE +REMARK 200 STARTING MODEL: PDB ENTRY 1TET +REMARK 200 +REMARK 200 REMARK: NULL +REMARK 280 +REMARK 280 CRYSTAL +REMARK 280 SOLVENT CONTENT, VS (%): 52.00 +REMARK 280 MATTHEWS COEFFICIENT, VM (ANGSTROMS**3/DA): 3.06 +REMARK 280 +REMARK 280 CRYSTALLIZATION CONDITIONS: 17% PEG 8K, 200MM (NH4)2SO4, 10MM +REMARK 280 CDS0 100MM TRIS PH 8.0 +REMARK 290 +REMARK 290 CRYSTALLOGRAPHIC SYMMETRY +REMARK 290 SYMMETRY OPERATORS FOR SPACE GROUP: P 21 21 21 +REMARK 290 +REMARK 290 SYMOP SYMMETRY +REMARK 290 NNNMMM OPERATOR +REMARK 290 1555 X,Y,Z +REMARK 290 2555 -X+1/2,-Y,Z+1/2 +REMARK 290 3555 -X,Y+1/2,-Z+1/2 +REMARK 290 4555 X+1/2,-Y+1/2,-Z +REMARK 290 +REMARK 290 WHERE NNN -> OPERATOR NUMBER +REMARK 290 MMM -> TRANSLATION VECTOR +REMARK 290 +REMARK 290 CRYSTALLOGRAPHIC SYMMETRY TRANSFORMATIONS +REMARK 290 THE FOLLOWING TRANSFORMATIONS OPERATE ON THE ATOM/HETATM +REMARK 290 RECORDS IN THIS ENTRY TO PRODUCE CRYSTALLOGRAPHICALLY +REMARK 290 RELATED MOLECULES. +REMARK 290 SMTRY1 1 1.000000 0.000000 0.000000 0.00000 +REMARK 290 SMTRY2 1 0.000000 1.000000 0.000000 0.00000 +REMARK 290 SMTRY3 1 0.000000 0.000000 1.000000 0.00000 +REMARK 290 SMTRY1 2 -1.000000 0.000000 0.000000 34.65800 +REMARK 290 SMTRY2 2 0.000000 -1.000000 0.000000 0.00000 +REMARK 290 SMTRY3 2 0.000000 0.000000 1.000000 86.36500 +REMARK 290 SMTRY1 3 -1.000000 0.000000 0.000000 0.00000 +REMARK 290 SMTRY2 3 0.000000 1.000000 0.000000 48.41150 +REMARK 290 SMTRY3 3 0.000000 0.000000 -1.000000 86.36500 +REMARK 290 SMTRY1 4 1.000000 0.000000 0.000000 34.65800 +REMARK 290 SMTRY2 4 0.000000 -1.000000 0.000000 48.41150 +REMARK 290 SMTRY3 4 0.000000 0.000000 -1.000000 0.00000 +REMARK 290 +REMARK 290 REMARK: NULL +REMARK 300 +REMARK 300 BIOMOLECULE: 1, 2 +REMARK 300 SEE REMARK 350 FOR THE AUTHOR PROVIDED AND/OR PROGRAM +REMARK 300 GENERATED ASSEMBLY INFORMATION FOR THE STRUCTURE IN +REMARK 300 THIS ENTRY. THE REMARK MAY ALSO PROVIDE INFORMATION ON +REMARK 300 BURIED SURFACE AREA. +REMARK 350 +REMARK 350 COORDINATES FOR A COMPLETE MULTIMER REPRESENTING THE KNOWN +REMARK 350 BIOLOGICALLY SIGNIFICANT OLIGOMERIZATION STATE OF THE +REMARK 350 MOLECULE CAN BE GENERATED BY APPLYING BIOMT TRANSFORMATIONS +REMARK 350 GIVEN BELOW. BOTH NON-CRYSTALLOGRAPHIC AND +REMARK 350 CRYSTALLOGRAPHIC OPERATIONS ARE GIVEN. +REMARK 350 +REMARK 350 BIOMOLECULE: 1 +REMARK 350 AUTHOR DETERMINED BIOLOGICAL UNIT: DIMERIC +REMARK 350 SOFTWARE DETERMINED QUATERNARY STRUCTURE: DIMERIC +REMARK 350 SOFTWARE USED: PISA +REMARK 350 TOTAL BURIED SURFACE AREA: 4280 ANGSTROM**2 +REMARK 350 SURFACE AREA OF THE COMPLEX: 19800 ANGSTROM**2 +REMARK 350 CHANGE IN SOLVENT FREE ENERGY: -34.0 KCAL/MOL +REMARK 350 APPLY THE FOLLOWING TO CHAINS: L, H +REMARK 350 BIOMT1 1 1.000000 0.000000 0.000000 0.00000 +REMARK 350 BIOMT2 1 0.000000 1.000000 0.000000 0.00000 +REMARK 350 BIOMT3 1 0.000000 0.000000 1.000000 0.00000 +REMARK 350 +REMARK 350 BIOMOLECULE: 2 +REMARK 350 AUTHOR DETERMINED BIOLOGICAL UNIT: DIMERIC +REMARK 350 SOFTWARE DETERMINED QUATERNARY STRUCTURE: DIMERIC +REMARK 350 SOFTWARE USED: PISA +REMARK 350 TOTAL BURIED SURFACE AREA: 4230 ANGSTROM**2 +REMARK 350 SURFACE AREA OF THE COMPLEX: 19720 ANGSTROM**2 +REMARK 350 CHANGE IN SOLVENT FREE ENERGY: -36.0 KCAL/MOL +REMARK 350 APPLY THE FOLLOWING TO CHAINS: A, B +REMARK 350 BIOMT1 1 1.000000 0.000000 0.000000 0.00000 +REMARK 350 BIOMT2 1 0.000000 1.000000 0.000000 0.00000 +REMARK 350 BIOMT3 1 0.000000 0.000000 1.000000 0.00000 +REMARK 465 +REMARK 465 MISSING RESIDUES +REMARK 465 THE FOLLOWING RESIDUES WERE NOT LOCATED IN THE +REMARK 465 EXPERIMENT. (M=MODEL NUMBER; RES=RESIDUE NAME; C=CHAIN +REMARK 465 IDENTIFIER; SSSEQ=SEQUENCE NUMBER; I=INSERTION CODE.) +REMARK 465 +REMARK 465 M RES C SSSEQI +REMARK 465 GLU H 212 +REMARK 465 PRO H 213 +REMARK 465 GLY A 212 +REMARK 500 +REMARK 500 GEOMETRY AND STEREOCHEMISTRY +REMARK 500 SUBTOPIC: TORSION ANGLES +REMARK 500 +REMARK 500 TORSION ANGLES OUTSIDE THE EXPECTED RAMACHANDRAN REGIONS: +REMARK 500 (M=MODEL NUMBER; RES=RESIDUE NAME; C=CHAIN IDENTIFIER; +REMARK 500 SSEQ=SEQUENCE NUMBER; I=INSERTION CODE). +REMARK 500 +REMARK 500 STANDARD TABLE: +REMARK 500 FORMAT:(10X,I3,1X,A3,1X,A1,I4,A1,4X,F7.2,3X,F7.2) +REMARK 500 +REMARK 500 EXPECTED VALUES: GJ KLEYWEGT AND TA JONES (1996). PHI/PSI- +REMARK 500 CHOLOGY: RAMACHANDRAN REVISITED. STRUCTURE 4, 1395 - 1400 +REMARK 500 +REMARK 500 M RES CSSEQI PSI PHI +REMARK 500 VAL L 51 -63.06 71.40 +REMARK 500 PRO L 59 158.07 -49.31 +REMARK 500 ARG L 77 81.50 50.85 +REMARK 500 VAL L 94 -99.71 1.80 +REMARK 500 LYS L 126 2.73 -57.28 +REMARK 500 ASN L 138 77.35 42.79 +REMARK 500 PRO L 141 -169.12 -72.34 +REMARK 500 ASN L 152 15.45 86.36 +REMARK 500 SER L 168 20.31 -78.78 +REMARK 500 LYS L 169 -46.21 -132.56 +REMARK 500 LYS L 183 -39.60 -39.47 +REMARK 500 LYS L 188 13.45 -63.64 +REMARK 500 PRO L 204 117.01 -36.30 +REMARK 500 ASN L 210 -87.93 -52.76 +REMARK 500 ARG L 211 -172.07 -50.71 +REMARK 500 SER H 25 170.55 -56.04 +REMARK 500 ALA H 88 -179.71 -175.67 +REMARK 500 LEU H 124 80.00 -116.37 +REMARK 500 SER H 127 112.75 62.64 +REMARK 500 ALA H 137 -112.27 -61.78 +REMARK 500 LEU H 138 113.16 81.50 +REMARK 500 PHE H 146 136.49 -172.84 +REMARK 500 LYS H 206 88.32 -150.99 +REMARK 500 THR A 7 -78.04 -52.93 +REMARK 500 VAL A 51 -50.96 74.39 +REMARK 500 SER A 67 144.20 174.21 +REMARK 500 ARG A 77 81.96 51.11 +REMARK 500 ALA A 80 -42.26 70.87 +REMARK 500 VAL A 94 -97.59 8.89 +REMARK 500 ASN A 138 72.60 41.55 +REMARK 500 SER A 168 10.59 -69.87 +REMARK 500 LYS A 169 -65.93 -128.75 +REMARK 500 ALA A 184 -71.49 -55.09 +REMARK 500 ASN A 210 -124.08 -66.75 +REMARK 500 SER B 25 92.01 -61.55 +REMARK 500 TYR B 27 -152.11 -61.06 +REMARK 500 THR B 28 -26.65 57.43 +REMARK 500 ASN B2082 39.69 71.09 +REMARK 500 ALA B 88 -174.00 178.52 +REMARK 500 LYS B 117 121.03 -173.38 +REMARK 500 PRO B 126 78.53 -67.81 +REMARK 500 SER B 127 124.92 61.29 +REMARK 500 SER B 132 108.74 68.51 +REMARK 500 ALA B 137 -103.79 -48.89 +REMARK 500 LEU B 138 118.09 67.77 +REMARK 500 PHE B 146 138.80 -173.62 +REMARK 500 SER B 187 -72.31 -56.47 +REMARK 500 SER B 188 -7.85 -48.63 +REMARK 500 +REMARK 500 REMARK: NULL +REMARK 525 +REMARK 525 SOLVENT +REMARK 525 +REMARK 525 THE SOLVENT MOLECULES HAVE CHAIN IDENTIFIERS THAT +REMARK 525 INDICATE THE POLYMER CHAIN WITH WHICH THEY ARE MOST +REMARK 525 CLOSELY ASSOCIATED. THE REMARK LISTS ALL THE SOLVENT +REMARK 525 MOLECULES WHICH ARE MORE THAN 5A AWAY FROM THE +REMARK 525 NEAREST POLYMER CHAIN (M = MODEL NUMBER; +REMARK 525 RES=RESIDUE NAME; C=CHAIN IDENTIFIER; SSEQ=SEQUENCE +REMARK 525 NUMBER; I=INSERTION CODE): +REMARK 525 +REMARK 525 M RES CSSEQI +REMARK 525 HOH L5069 DISTANCE = 5.78 ANGSTROMS +REMARK 620 +REMARK 620 METAL COORDINATION +REMARK 620 (M=MODEL NUMBER; RES=RESIDUE NAME; C=CHAIN IDENTIFIER; +REMARK 620 SSEQ=SEQUENCE NUMBER; I=INSERTION CODE): +REMARK 620 +REMARK 620 COORDINATION ANGLES FOR: M RES CSSEQI METAL +REMARK 620 CD A5028 CD +REMARK 620 N RES CSSEQI ATOM +REMARK 620 1 HOH A5055 O +REMARK 620 2 GLU A 81 OE2 94.0 +REMARK 620 3 GLU A 79 OE1 93.7 96.4 +REMARK 620 4 HOH A5051 O 76.7 152.5 59.2 +REMARK 620 5 HIS A 93 ND1 99.3 85.3 166.8 121.5 +REMARK 620 6 HOH A5062 O 158.6 95.1 66.1 86.4 100.8 +REMARK 620 N 1 2 3 4 5 +REMARK 620 +REMARK 620 COORDINATION ANGLES FOR: M RES CSSEQI METAL +REMARK 620 CD A5029 CD +REMARK 620 N RES CSSEQI ATOM +REMARK 620 1 ASN A 138 ND2 +REMARK 620 2 HOH A5061 O 73.0 +REMARK 620 3 HOH A5071 O 91.7 160.1 +REMARK 620 4 HOH A5059 O 64.7 74.9 87.2 +REMARK 620 N 1 2 3 +REMARK 620 +REMARK 620 COORDINATION ANGLES FOR: M RES CSSEQI METAL +REMARK 620 CD L5028 CD +REMARK 620 N RES CSSEQI ATOM +REMARK 620 1 GLU L 81 OE1 +REMARK 620 2 GLU L 79 OE1 72.2 +REMARK 620 3 HIS L 93 ND1 78.1 147.4 +REMARK 620 4 HOH L5039 O 150.3 82.3 121.2 +REMARK 620 5 HOH L5037 O 117.7 102.8 102.7 82.0 +REMARK 620 6 HOH L5038 O 76.4 75.7 84.6 83.0 165.0 +REMARK 620 N 1 2 3 4 5 +REMARK 620 +REMARK 620 COORDINATION ANGLES FOR: M RES CSSEQI METAL +REMARK 620 CD L5029 CD +REMARK 620 N RES CSSEQI ATOM +REMARK 620 1 ASN L 138 ND2 +REMARK 620 2 HOH L5057 O 65.5 +REMARK 620 3 HIS H 164 NE2 121.5 71.7 +REMARK 620 4 HOH L5049 O 106.0 163.4 103.9 +REMARK 620 N 1 2 3 +REMARK 800 +REMARK 800 SITE +REMARK 800 SITE_IDENTIFIER: AC1 +REMARK 800 EVIDENCE_CODE: SOFTWARE +REMARK 800 SITE_DESCRIPTION: BINDING SITE FOR RESIDUE CD L 5028 +REMARK 800 SITE_IDENTIFIER: AC2 +REMARK 800 EVIDENCE_CODE: SOFTWARE +REMARK 800 SITE_DESCRIPTION: BINDING SITE FOR RESIDUE CD A 5028 +REMARK 800 SITE_IDENTIFIER: AC3 +REMARK 800 EVIDENCE_CODE: SOFTWARE +REMARK 800 SITE_DESCRIPTION: BINDING SITE FOR RESIDUE CD L 5029 +REMARK 800 SITE_IDENTIFIER: AC4 +REMARK 800 EVIDENCE_CODE: SOFTWARE +REMARK 800 SITE_DESCRIPTION: BINDING SITE FOR RESIDUE CD A 5029 +REMARK 800 SITE_IDENTIFIER: AC5 +REMARK 800 EVIDENCE_CODE: SOFTWARE +REMARK 800 SITE_DESCRIPTION: BINDING SITE FOR RESIDUE FRA B 3083 +REMARK 800 SITE_IDENTIFIER: AC6 +REMARK 800 EVIDENCE_CODE: SOFTWARE +REMARK 800 SITE_DESCRIPTION: BINDING SITE FOR RESIDUE FRA H 3083 +DBREF 1A4K L 109 212 UNP P01834 KAC_HUMAN 1 104 +DBREF 1A4K A 109 212 UNP P01834 KAC_HUMAN 1 104 +DBREF 1A4K H 1 213 PDB 1A4K 1A4K 1 213 +DBREF 1A4K B 1 213 PDB 1A4K 1A4K 1 213 +SEQRES 1 L 217 GLU LEU VAL MET THR GLN THR PRO LEU SER LEU PRO VAL +SEQRES 2 L 217 SER LEU GLY ASP GLN ALA SER ILE SER CYS ARG SER SER +SEQRES 3 L 217 GLN SER LEU LEU HIS SER ASN GLY ASN THR TYR LEU HIS +SEQRES 4 L 217 TRP TYR LEU GLN LYS PRO GLY GLN SER PRO LYS LEU LEU +SEQRES 5 L 217 ILE TYR LYS VAL SER ASN ARG PHE SER GLY VAL PRO ASP +SEQRES 6 L 217 ARG PHE SER GLY SER GLY SER GLY THR ASP PHE THR LEU +SEQRES 7 L 217 LYS ILE SER ARG VAL GLU ALA GLU ASP LEU GLY VAL TYR +SEQRES 8 L 217 PHE CYS SER GLN VAL THR HIS VAL PRO PRO THR PHE GLY +SEQRES 9 L 217 GLY GLY THR LYS LEU GLU ILE LYS ARG THR VAL ALA ALA +SEQRES 10 L 217 PRO SER VAL PHE ILE PHE PRO PRO SER ASP GLU GLN LEU +SEQRES 11 L 217 LYS SER GLY THR ALA SER VAL VAL CYS LEU LEU ASN ASN +SEQRES 12 L 217 PHE TYR PRO ARG GLU ALA LYS VAL GLN TRP LYS VAL ASP +SEQRES 13 L 217 ASN ALA LEU GLN SER GLY ASN SER GLN GLU SER VAL THR +SEQRES 14 L 217 GLU GLN ASP SER LYS ASP SER THR TYR SER LEU SER SER +SEQRES 15 L 217 THR LEU THR LEU SER LYS ALA ASP TYR GLU LYS HIS LYS +SEQRES 16 L 217 VAL TYR ALA CYS GLU VAL THR HIS GLN GLY LEU SER SER +SEQRES 17 L 217 PRO VAL THR LYS SER PHE ASN ARG GLY +SEQRES 1 H 219 GLN VAL GLN LEU LEU GLU SER GLY PRO GLU LEU LYS LYS +SEQRES 2 H 219 PRO GLY GLU THR VAL LYS ILE SER CYS LYS ALA SER GLY +SEQRES 3 H 219 TYR THR PHE THR ASN TYR GLY MET ASN TRP VAL LYS GLN +SEQRES 4 H 219 ALA PRO GLY LYS GLY LEU LYS TRP MET GLY TRP ILE ASN +SEQRES 5 H 219 THR TYR THR GLY GLU PRO THR TYR ALA ASP ASP PHE LYS +SEQRES 6 H 219 GLY ARG PHE ALA PHE SER LEU GLU THR SER ALA SER THR +SEQRES 7 H 219 ALA TYR LEU GLN ILE ASN ASN LEU LYS ASN GLU ASP THR +SEQRES 8 H 219 ALA THR TYR PHE CYS VAL GLN ALA GLU ARG LEU ARG ARG +SEQRES 9 H 219 THR PHE ASP TYR TRP GLY ALA GLY THR THR VAL THR VAL +SEQRES 10 H 219 SER SER ALA SER THR LYS GLY PRO SER VAL PHE PRO LEU +SEQRES 11 H 219 ALA PRO SER SER LYS SER THR SER GLY GLY THR ALA ALA +SEQRES 12 H 219 LEU GLY CYS LEU VAL LYS ASP TYR PHE PRO GLU PRO VAL +SEQRES 13 H 219 THR VAL SER TRP ASN SER GLY ALA LEU THR SER GLY VAL +SEQRES 14 H 219 HIS THR PHE PRO ALA VAL LEU GLN SER SER GLY LEU TYR +SEQRES 15 H 219 SER LEU SER SER VAL VAL THR VAL PRO SER SER SER LEU +SEQRES 16 H 219 GLY THR GLN THR TYR ILE CYS ASN VAL ASN HIS LYS PRO +SEQRES 17 H 219 SER ASN THR LYS VAL ASP LYS LYS VAL GLU PRO +SEQRES 1 A 217 GLU LEU VAL MET THR GLN THR PRO LEU SER LEU PRO VAL +SEQRES 2 A 217 SER LEU GLY ASP GLN ALA SER ILE SER CYS ARG SER SER +SEQRES 3 A 217 GLN SER LEU LEU HIS SER ASN GLY ASN THR TYR LEU HIS +SEQRES 4 A 217 TRP TYR LEU GLN LYS PRO GLY GLN SER PRO LYS LEU LEU +SEQRES 5 A 217 ILE TYR LYS VAL SER ASN ARG PHE SER GLY VAL PRO ASP +SEQRES 6 A 217 ARG PHE SER GLY SER GLY SER GLY THR ASP PHE THR LEU +SEQRES 7 A 217 LYS ILE SER ARG VAL GLU ALA GLU ASP LEU GLY VAL TYR +SEQRES 8 A 217 PHE CYS SER GLN VAL THR HIS VAL PRO PRO THR PHE GLY +SEQRES 9 A 217 GLY GLY THR LYS LEU GLU ILE LYS ARG THR VAL ALA ALA +SEQRES 10 A 217 PRO SER VAL PHE ILE PHE PRO PRO SER ASP GLU GLN LEU +SEQRES 11 A 217 LYS SER GLY THR ALA SER VAL VAL CYS LEU LEU ASN ASN +SEQRES 12 A 217 PHE TYR PRO ARG GLU ALA LYS VAL GLN TRP LYS VAL ASP +SEQRES 13 A 217 ASN ALA LEU GLN SER GLY ASN SER GLN GLU SER VAL THR +SEQRES 14 A 217 GLU GLN ASP SER LYS ASP SER THR TYR SER LEU SER SER +SEQRES 15 A 217 THR LEU THR LEU SER LYS ALA ASP TYR GLU LYS HIS LYS +SEQRES 16 A 217 VAL TYR ALA CYS GLU VAL THR HIS GLN GLY LEU SER SER +SEQRES 17 A 217 PRO VAL THR LYS SER PHE ASN ARG GLY +SEQRES 1 B 219 GLN VAL GLN LEU LEU GLU SER GLY PRO GLU LEU LYS LYS +SEQRES 2 B 219 PRO GLY GLU THR VAL LYS ILE SER CYS LYS ALA SER GLY +SEQRES 3 B 219 TYR THR PHE THR ASN TYR GLY MET ASN TRP VAL LYS GLN +SEQRES 4 B 219 ALA PRO GLY LYS GLY LEU LYS TRP MET GLY TRP ILE ASN +SEQRES 5 B 219 THR TYR THR GLY GLU PRO THR TYR ALA ASP ASP PHE LYS +SEQRES 6 B 219 GLY ARG PHE ALA PHE SER LEU GLU THR SER ALA SER THR +SEQRES 7 B 219 ALA TYR LEU GLN ILE ASN ASN LEU LYS ASN GLU ASP THR +SEQRES 8 B 219 ALA THR TYR PHE CYS VAL GLN ALA GLU ARG LEU ARG ARG +SEQRES 9 B 219 THR PHE ASP TYR TRP GLY ALA GLY THR THR VAL THR VAL +SEQRES 10 B 219 SER SER ALA SER THR LYS GLY PRO SER VAL PHE PRO LEU +SEQRES 11 B 219 ALA PRO SER SER LYS SER THR SER GLY GLY THR ALA ALA +SEQRES 12 B 219 LEU GLY CYS LEU VAL LYS ASP TYR PHE PRO GLU PRO VAL +SEQRES 13 B 219 THR VAL SER TRP ASN SER GLY ALA LEU THR SER GLY VAL +SEQRES 14 B 219 HIS THR PHE PRO ALA VAL LEU GLN SER SER GLY LEU TYR +SEQRES 15 B 219 SER LEU SER SER VAL VAL THR VAL PRO SER SER SER LEU +SEQRES 16 B 219 GLY THR GLN THR TYR ILE CYS ASN VAL ASN HIS LYS PRO +SEQRES 17 B 219 SER ASN THR LYS VAL ASP LYS LYS VAL GLU PRO +HET CD L5028 1 +HET CD A5028 1 +HET CD L5029 1 +HET CD A5029 1 +HET FRA B3083 31 +HET FRA H3083 31 +HETNAM CD CADMIUM ION +HETNAM FRA [4-(4-ACETYLAMINO-PHENYL)-3,5-DIOXO-4-AZA- +HETNAM 2 FRA TRICYCLO[5.2.2.0 2,6]UNDEC-1-YLCARBAMOYLOXY]-ACETIC +HETNAM 3 FRA ACID +FORMUL 5 CD 4(CD 2+) +FORMUL 9 FRA 2(C21 H23 N3 O7) +FORMUL 11 HOH *213(H2 O) +SSBOND 1 CYS L 23 CYS L 88 1555 1555 2.06 +SSBOND 2 CYS L 134 CYS L 194 1555 1555 2.04 +SSBOND 3 CYS H 22 CYS H 92 1555 1555 2.04 +SSBOND 4 CYS H 140 CYS H 196 1555 1555 2.03 +LINK CD CD A5028 O HOH A5055 1555 1555 2.57 +LINK CD CD A5028 OE2 GLU A 81 1555 1555 2.78 +LINK CD CD A5028 OE1 GLU A 79 1555 1555 2.61 +LINK CD CD A5028 O HOH A5051 1555 1555 2.50 +LINK CD CD A5029 ND2 ASN A 138 1555 1555 2.34 +LINK CD CD A5029 O HOH A5061 1555 1555 2.79 +LINK CD CD A5029 O HOH A5071 1555 1555 2.80 +LINK CD CD A5029 O HOH A5059 1555 1555 3.05 +LINK CD CD L5028 OE1 GLU L 81 1555 1555 2.80 +LINK CD CD L5028 OE1 GLU L 79 1555 1555 2.48 +LINK CD CD L5029 ND2 ASN L 138 1555 1555 2.25 +LINK CD CD L5029 O HOH L5057 1555 1555 2.53 +LINK CD CD L5029 NE2 HIS H 164 1555 1555 3.14 +LINK CD CD L5029 O HOH L5049 1555 1555 2.91 +LINK CD CD A5028 ND1 HIS A 93 1555 4455 2.46 +LINK CD CD A5028 O HOH A5062 1555 4455 3.03 +LINK CD CD L5028 ND1 HIS L 93 1555 4465 2.44 +LINK CD CD L5028 O HOH L5039 1555 4465 2.36 +LINK CD CD L5028 O HOH L5037 1555 4465 2.64 +LINK CD CD L5028 O HOH L5038 1555 4465 2.68 +CISPEP 1 TYR L 140 PRO L 141 0 0.38 +CISPEP 2 PHE H 146 PRO H 147 0 -0.08 +CISPEP 3 GLU H 148 PRO H 149 0 -0.53 +CISPEP 4 TYR A 140 PRO A 141 0 0.03 +CISPEP 5 PHE B 146 PRO B 147 0 -0.66 +CISPEP 6 GLU B 148 PRO B 149 0 -0.08 +SITE 1 AC1 6 GLU L 79 GLU L 81 HIS L 93 HOH L5037 +SITE 2 AC1 6 HOH L5038 HOH L5039 +SITE 1 AC2 6 GLU A 79 GLU A 81 HIS A 93 HOH A5051 +SITE 2 AC2 6 HOH A5055 HOH A5062 +SITE 1 AC3 4 HIS H 164 ASN L 138 HOH L5049 HOH L5057 +SITE 1 AC4 5 ASN A 138 HOH A5059 HOH A5061 HOH A5071 +SITE 2 AC4 5 HIS B 164 +SITE 1 AC5 8 ASN B 31 GLY B 33 ASN B 35 ALA B 95 +SITE 2 AC5 8 GLU B 96 ARG B 97 ARG B 100 TYR H 53 +SITE 1 AC6 10 TYR B 53 ASN H 31 GLY H 33 ASN H 35 +SITE 2 AC6 10 TRP H 50 ALA H 95 ARG H 97 ARG H 100 +SITE 3 AC6 10 HOH H3114 HOH H3127 +CRYST1 69.316 96.823 172.730 90.00 90.00 90.00 P 21 21 21 8 +ORIGX1 1.000000 0.000000 0.000000 0.00000 +ORIGX2 0.000000 1.000000 0.000000 0.00000 +ORIGX3 0.000000 0.000000 1.000000 0.00000 +SCALE1 0.014427 0.000000 0.000000 0.00000 +SCALE2 0.000000 0.010328 0.000000 0.00000 +SCALE3 0.000000 0.000000 0.005789 0.00000 +HETATM 1 C22 FRA B3083 15.604 7.057 -2.284 1.00 55.52 C +HETATM 2 C1 FRA B3083 15.976 5.740 -1.594 1.00 52.67 C +HETATM 3 O3 FRA B3083 15.472 4.694 -1.984 1.00 59.32 O +HETATM 4 N1 FRA B3083 16.825 5.620 -0.583 1.00 38.80 N +HETATM 5 C2 FRA B3083 17.801 6.430 0.103 1.00 37.09 C +HETATM 6 C7 FRA B3083 17.416 7.683 0.626 1.00 41.99 C +HETATM 7 C6 FRA B3083 18.339 8.488 1.294 1.00 37.81 C +HETATM 8 C5 FRA B3083 19.699 8.085 1.479 1.00 35.39 C +HETATM 9 C4 FRA B3083 20.090 6.805 0.942 1.00 29.82 C +HETATM 10 C3 FRA B3083 19.151 5.991 0.264 1.00 36.45 C +HETATM 11 N5 FRA B3083 20.651 9.002 2.209 1.00 38.27 N +HETATM 12 C11 FRA B3083 20.346 9.766 3.311 1.00 36.69 C +HETATM 13 C10 FRA B3083 21.505 10.603 3.794 1.00 31.20 C +HETATM 14 C9 FRA B3083 22.662 10.221 2.808 1.00 38.59 C +HETATM 15 C8 FRA B3083 21.953 9.223 1.883 1.00 39.66 C +HETATM 16 O11 FRA B3083 19.267 9.825 3.888 1.00 39.28 O +HETATM 17 O8 FRA B3083 22.566 8.709 0.945 1.00 41.90 O +HETATM 18 C12 FRA B3083 21.311 12.229 3.791 1.00 34.49 C +HETATM 19 C17 FRA B3083 21.023 12.755 2.291 1.00 30.84 C +HETATM 20 C16 FRA B3083 22.225 12.300 1.329 1.00 37.70 C +HETATM 21 C14 FRA B3083 23.724 12.453 3.415 1.00 39.87 C +HETATM 22 C13 FRA B3083 22.670 12.844 4.246 1.00 31.59 C +HETATM 23 C15 FRA B3083 23.344 11.489 2.161 1.00 39.13 C +HETATM 24 N15 FRA B3083 24.437 10.994 1.286 1.00 48.00 N +HETATM 25 C18 FRA B3083 25.712 10.832 1.563 1.00 59.52 C +HETATM 26 O18 FRA B3083 26.240 11.085 2.643 1.00 69.86 O +HETATM 27 O19 FRA B3083 26.327 10.320 0.432 1.00 69.51 O +HETATM 28 C19 FRA B3083 27.752 10.026 0.447 1.00 83.62 C +HETATM 29 C20 FRA B3083 28.208 9.228 -0.769 1.00 90.93 C +HETATM 30 O20 FRA B3083 29.148 8.404 -0.634 1.00 93.48 O +HETATM 31 O21 FRA B3083 27.626 9.415 -1.869 1.00 95.50 O +CONECT 2 1 3 4 +CONECT 13 12 14 18 +CONECT 12 11 13 16 +CONECT 18 13 19 22 +CONECT 22 18 21 +CONECT 21 22 23 +CONECT 23 14 20 21 24 +CONECT 20 19 23 +CONECT 19 18 20 +CONECT 25 24 26 27 +CONECT 28 27 29 +CONECT 5 4 6 10 +CONECT 29 28 30 31 +CONECT 1 2 +CONECT 10 5 9 +CONECT 9 8 10 +CONECT 8 7 9 11 +CONECT 7 6 8 +CONECT 6 5 7 +CONECT 15 11 14 17 +CONECT 14 13 15 23 +CONECT 4 2 5 +CONECT 24 23 25 +CONECT 11 8 12 15 +CONECT 16 12 +CONECT 26 25 +CONECT 27 25 28 +CONECT 30 29 +CONECT 31 29 +CONECT 3 2 +CONECT 17 15 +END diff --git a/tests/molecules/FRA/output.smi b/tests/molecules/FRA/output.smi new file mode 100644 index 0000000..d0d217f --- /dev/null +++ b/tests/molecules/FRA/output.smi @@ -0,0 +1 @@ +CC(=O)Nc1ccc(cc1)N2C(=O)[C@@H]3C4CCC([C@@H]3C2=O)(CC4)NC(=O)OCC(=O)O diff --git a/tests/molecules/FRA/test_case_generation.ipynb b/tests/molecules/FRA/test_case_generation.ipynb new file mode 100644 index 0000000..afdd92e --- /dev/null +++ b/tests/molecules/FRA/test_case_generation.ipynb @@ -0,0 +1,128 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "e4f2abc9", + "metadata": {}, + "outputs": [], + "source": [ + "from rdkit import Chem" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "69103fc4", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "mol = Chem.MolFromPDBFile('input.pdb')\n", + "mol" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "2d169b9b", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "CC(O)NC1CCC(N2C(O)[C@@H]3[C@H]4CC[C@](NC(O)OCC(O)O)(CC4)[C@@H]3C2O)CC1\n" + ] + } + ], + "source": [ + "print(Chem.MolToSmiles(mol))" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "65cd8dc4", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "CC(=O)Nc1ccc(cc1)N2C(=O)[C@@H]3C4CCC([C@@H]3C2=O)(CC4)NC(=O)OCC(=O)O\n", + "\n" + ] + } + ], + "source": [ + "with open('output.smi') as f:\n", + " smiles = f.read()\n", + "print(smiles)" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "8109f433", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "mol_gt = Chem.MolFromSmiles(smiles)\n", + "mol_gt" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "795df086", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.8.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From 63054add424e26627a25be09d0ee3a1cd68ca66d Mon Sep 17 00:00:00 2001 From: marta-sd Date: Fri, 14 Oct 2022 12:06:08 +0200 Subject: [PATCH 2/2] remove nb checkpoints --- .../test_case_generation-checkpoint.ipynb | 128 ------------------ 1 file changed, 128 deletions(-) delete mode 100644 tests/molecules/FRA/.ipynb_checkpoints/test_case_generation-checkpoint.ipynb diff --git a/tests/molecules/FRA/.ipynb_checkpoints/test_case_generation-checkpoint.ipynb b/tests/molecules/FRA/.ipynb_checkpoints/test_case_generation-checkpoint.ipynb deleted file mode 100644 index afdd92e..0000000 --- a/tests/molecules/FRA/.ipynb_checkpoints/test_case_generation-checkpoint.ipynb +++ /dev/null @@ -1,128 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 1, - "id": "e4f2abc9", - "metadata": {}, - "outputs": [], - "source": [ - "from rdkit import Chem" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "69103fc4", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/plain": [ - "" - ] - }, - "execution_count": 2, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "mol = Chem.MolFromPDBFile('input.pdb')\n", - "mol" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "2d169b9b", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "CC(O)NC1CCC(N2C(O)[C@@H]3[C@H]4CC[C@](NC(O)OCC(O)O)(CC4)[C@@H]3C2O)CC1\n" - ] - } - ], - "source": [ - "print(Chem.MolToSmiles(mol))" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "65cd8dc4", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "CC(=O)Nc1ccc(cc1)N2C(=O)[C@@H]3C4CCC([C@@H]3C2=O)(CC4)NC(=O)OCC(=O)O\n", - "\n" - ] - } - ], - "source": [ - "with open('output.smi') as f:\n", - " smiles = f.read()\n", - "print(smiles)" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "8109f433", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAcIAAACWCAIAAADCEh9HAAAABmJLR0QA/wD/AP+gvaeTAAAgAElEQVR4nO2dd1iUR9eHz7LA0ovYQLpSVYISTZRYIqtRg11ijAJWNCaS8uq3amIQTQyaV+W1REkiikaNqChqbFhCEGwgivQqrIAi0vvCnu+PWZcVEJEtD2Xui8trZ5ydOY8uv51y5hwWIgKFQqFQ2osS0wZQKBRK54bKKIVCoUgFlVEKhUKRCiqjFAqFIhVURikUCkUqqIxSKB0ARHj8GIqLmbaD0h6ojFIoTLNvHxgbg6cnjBkDjo6QmMi0QZS3g0X9RikUJnn4ECZMgKgo6N8fAGDHDggIgIQEYLOZtozSVqiMUiiM8s03oKoKW7aIig0NYGICf/8NQ4YwahblLaCLegqFUbKywMqqschmQ//+kJXFnEGUt4bKKIXCKDo6UFb2Sk1ZGejqMmQNpT1QGaVQGMXBAW7caCzm5kJ6OgwaxJxBlLeG7o1SKIxSUgJOTvDJJzB3LhQVwZo14OwM27YxbRblLaAySqEwzbNnsGMHxMZC797A5YKHB7BYTNtEeQuojFIozDF9OhQWwm+/gb09AEB9PSgrM20T5a2he6MUCnNERkJkZOOB0qFDoKcHPj6M2kR5a6iMUigM8ewZFBaCjg4YGYlqEhOhtBRUVRk1i/LWUBmlUBiCXPocOLBxJzQhQVRD6VRQGaVQGILIKNkVfV0NpTNAZZRCYYgmollRAXw+cDhgacmgUZR2QGWUQmGIJjKamAiIYGNDD+s7HVRG30RuLixeDIMHw6BBsHAh8PlMG0TpKoj3RlssUjoPVEZbpaYGuFwwMoLISLh1C8zM4MMPobqaabMonZ/CQigoAC0tMDYW1RAZtbNj0ChK+6Ay2iqXLwOHAxs3go4OaGvDhg2gpwfnzzNtFqXzIz6UFx/T0/OlTguV0VZJToZhw165mTdsGCQlMWcQpavQXDSpt1OnhcpoqwiF0OSyLIvVtIZCeXt80tMXDRwYOXw4KQorKyEnB1RVRTHwKZ0KKqOtYmMDDx++UvPgAdjYMGQNpetw88GDAwkJpaampBibnNxXXZ3n4gIqKswaRmkHVEabUVHRmFNs4kQoKIDdu0Uz0IAA4PPB1ZVB6yhdg8TERACwf7moT0hIeFZZ+Vhbm1GjKO2EyuirCIXg7g7vvw9XrgAAaGhAWBhcuAAWFmBuDmfOQFgYaGkxbSWlc1NcXPz06VMtLS0zMzNS00RVKZ0L6uj7Kj4+cOYM6OuDhYWoxtoaLlxg1CZKVyM+Ph4A7OzsWC9PL6mMdmrobFSCkBD46Sdgs+HIkVeyjFEoMqW5aJKagfSYvnNCZfQlDx6AhwcgwvbtMGmSqDI1FT78ELKzGbWM0tVISkoCCRmtqqrKyspSUVEZMGAAo3ZR2gmVUQAAePYMpk6Fykrw9ARvb1FlSQlMnQr//AObNzNqHKWrkZCQABIympycLBQKraysVGmk0c4JlVEAgQDmzAE+H0aOhIAAUaVQCPPnQ0oKvPMObN/OqH2UrkaTRT3dGO3sUBkF+OILCA8HU1MICQEOR1S5ejX8/TcYGEBICGhqMmofpUtRUlKSl5enoaFhbm5OaujGaGenu8vosz/+gN9/B01NCA2FPn1EtYcPw/btoKICp07R4I8U2UJE087OrrCwUCAQIKK4hmnTKO2kW8toWFiY6YoV4WPHwoED4Ogoqr11C5YuBQDYvRvGjGHQPEqXxNHRcc+ePTo6OsbGxgsWLJgyZUqTrVJKp6P7+o1mZWV99tlndQLB9dGjx7i5iWrz88HNDWprwdsbvLwYNZDS1Xjw4MHBgwePHj36/PlzAFBRUTlz5kxVVdXgwYPPnTtna2vLtIGU9oLdkrKyMrIVNX369IaGBlFtdTUOH44A6OKCAgGjBlK6DkVFRQEBAU5OTuJfOnt7ez8/v6dPn6alpZFJqIGBwfXr15m2lNJOuqOMNjQ0uLq6kk9zaWkpqRQKhbwlS0odHHDAAHzxglkLuwspKbh1K65cif7++OQJ09bImLo6PHfu4vTp08VuTAYGBitXroyOjpZsVlZWNnXqVABQVlbeuXMnU9ZSpKETyGhFRcW///77QnbStnr1avKZTk9PF1f+9NNPAGDUs2dFYqKsBqK0xo0b2LMn+vnhuXO4di327o0JCUzbJBsSEpDHwz59cNSoJQCgpKTE5XKDgoKqqqpabF9fX8/j8YjUenl51dXVKdhgipR0Ahn9999/ySdMX1/f2dnZy8vL398/LCwsLy+vHb0dPnwYAFRUVCTXUBcuXGCz2UpKSmfPnpWd4ZRWcXLCAwcai+vX46xZjBkjCwoLcedOdHJCANHPxx/H/PLLL/n5+W15+7Fjx9TV1QFg1KhRz549k7e1FBnSCWT0+vXr7777rlZLcZV69er14Ycffv7553v27Ll+/fobP3wxMTEaGhoAsHfvXnFlYmKirq4uAPj5+cn5USgvEQhQReWVzZN799DcnDmDGikuxv/7v6bF58/RywuTkkSVcXG4Y4fodUMDhoWhuzuqq4vUU1cXvbwwIuKth759+7ahoSEA9O/fP4+uijoPnUBGxeTm5oaFhfn7+3t5eTk7O+vo6DQXVj09PScnJ3d3dz8/v7Nnz2ZkZAiFQvL2ysrKfv36AcAXX3wh7vPFixfkIrObm5u4JUXuvHiBLNYr53jp6ailxZxBjeTkoJ5eY5HPR11dzMhAZWUcMwbJZ+T8eeRyMSkJV61CQ0ORerLZOGkSHj+O1dXtHz03N3f48OHrnJxQTw9Pn5b2YdoGn88/duxYWlpa43Er5W3oTDLanKKiooiIiICAAG9vby6X27t379aFde3atVwut7a2lrxdIBCMGzcOAIYOHVpZWcnss3Q7tLVRYm8ar17FQYOYs6aR18mohQWOH48HDyK+lNHvvhMJqI0N+vjg48eyMaCqqqp20SIEQCUl3LwZ5fbtXlNTExwc7OrqqqyszGazDQwMJk2aVFJSIqfhujCdW0abw+fzr1y5smPHjqVLlzo7O+vr6zcX1nHjxj19+hQRv/jiCwDo27cvn89n2vDux5w5uGKF6HV9Pbq64k8/MWqQiJwc1NLCCxdEP4cONcpofDwaGmJhoUhGU1Nx2TKMipKPHf7+qKSEADhnDsr6Oz4qKmrZsmV6enrkN4LD4YwbN44UBw4cKHn0SmkLLOzqCdqKi4sTEhISExPJn3FxcQKBQFNTc8OGDUuWLFFTU7tx48b777/PtJndj2fPwNUVVFVh0CC4cwcMDSEkBNTVmTYL+HwYMAAWLRIVKyvh7Fm4fx+4XMjMhFWroKwMpk0Df38IC5OzKRcvwty5UFoKjo4QGgovEze1m7y8vBMnTgQGBsbFxZEae3t7Dw+PxYsX9+zZMzMzc9q0afHx8T169AgODnZxcZH6AboNTOs4A1hbWwMAcdYLCgpi2pxuTEMDJiXhxYuYkYENDZiaiteuMW1Ta4t6RCwrQ1NT3LgRuVyFWJOSgra2CIC9emF4eDs7qa7Gv/76fN48NptNfusNDQ1XrVoVHx/fpGF5efn06dMBQFlZmZ64tp3uKKMbN24EgLlz50ZGRjJtSzcmIwP/+APFbmc1Nchmo7IyMu012bqMImJwMGprK0pGEfHFC+RyEQA5HAwMfLv3xscjj4c9eyLAT2PHqqqqurq6BgcHt+KaKhQKfXx8SHaTpUuXig8SFMSjR7hsGY4ahbNn4++/y29fWLZ0Rxnl8/lsNltNTa24uJhpW7oxv/2GAOjp2VhjYYEAmJzMmEmI2AYZRcTJkxUoo4goEODKlaLzrN9+e3P7vDzcuhXt7RtdWJ2cigMC2n6H5fjx48Q10NnZmRwkKAI+H3v1wr17MScHo6Jw6FD87jsFDS0d3VFGEZHL5QLAvn37mDakGxMejgD4/vuNNRMnIgCGhjJnEyKiQIApKU2LdXWYnY0VFaLKsjJs1+UP6fj9d7SxwefPERH370cXF+zfH7lcPHpU1KC2Fs+eRTc3VFERqWePHujlhffvt2O02NhYkrjU2Ni4yQVWWfLoEa5ahYWFiIgrV+LXXzf+VXIyamjga65+dSi6qYySu0zvS/4OUxTM06cIgPr6jTVffYUA+MsvUnb86NGjnJwccTE+Pl6y2G4KC5HFYtopiyzG9+1DW1u8fx/r6jAqCs3M8MgRvHkTDQxE6qmqijNmYGiolDskBQUFo0ePBgBNTc2TJ0/K5hEIxcUYEIDOziKDd+1CRBw9GpuM0rcvPnoky3HlQzeV0aqqKuLekUjvijCInh4CiKZXiLhnDwLgkiVS9urh4bF7925x0dPTcxf5LZUOMnsePlz6nqTGxgYvXGgsHj2Kw4ZhSQmqq6O9Pfr5oezuktbU1CxcuBAAWCwWj8eT1j+/vh7Pn0c3N+RwRAKqp4fLl+PDh4iIw4fjuXOvtDc3x7t3pRpRIXTTsM3q6upubm4AEBQUxLQt3RhrawCAlBRR0cbmlWIHIzERAID52Mr19ZCRAcOHN9a89x4kJYGODiQnQ0IC8HjQ0j2U9sHhcAIDAwMCAths9pYtW+bMmVNZWdmejpKTYcMG6N8fXF3hxAkQCIDLhaAgyM2FvXvBwQEAYMAASEpqfEtpKeTlQWfIltpNZRQAPD09AeDw4cMNDQ1M2/IK165d27Vrl5GR0fjx47/66qvffvvt5s2b7fzsdnBalNHUVMbsaZWOIqOIgAhKEr+5SkogFAKA9I6lr8PLy+v8+fN6enonT54cOXLk48eP2/jG4uLivXv33vL0BDs78PWF7GywsYGff4acHAgLAw8P0NBobP3557BrF2RlAQA0NMCaNTBxIrR0g6bDwfR0mElIvPELkusjpomPj9fW1taQ/Gy9xNDQkMvlent7BwQERERElJeXM22s1GzahADI44mKQiFqaSEASudB4eHhYWBgYP4SLS0tmSzqXVwQAM+fl74nqenfH2/caCyePo1Dhihg2LS0NJIwqmfPnjckDWhGQ0NDWFiYu7s7+SR/YGyMenro7o5hYS37MOXm4rZtWFeHu3ahqSk6OaG5OU6d2rjh07Hp1jK6bdv+MWPOLl/eUdyexHFSZs6cmZ6efvbsWT8/P3d3dycnJzU1tTcKa1lZGdNP8JYEByMATp/eWDNkCALgnTvS9CqnvVESgiQzU/qepObnn/G997CgABHxyRMcPBgV5XNSVlY2ZcoUAFBWVpb8RxaTnJy8Zs0aEgMIAJSUlMaPH3/kyJH6Fg/ca2pErgXKyq84aRQUMO4+/FZ0axl98gTZbFRVFblbMItAICDX74YMGdI8TkpdXV1GRoaksKq3dG9SUljDwsIKyG9ah+XBAwRAO7vGmjlzEAAPHZKmV3nIaHExAqCGBnaIEEgNDbhhA1pbo7k52tjgf/+rSDf1FoNMl5aWBgUFcblc4rcPAKampjweL/N1Xzt37+KKFaivLzpo4nBw1qxOcZrUIt1aRhFxwgQEwD17mLbj7eOk1NXVJSYmnjhxYuPGjXPmzHFwcBAnq5DE1NT0o48+OiAZILnjUFWFSkqoqiqOmNfg61tnbp6/ZYs0vcpDRm/eJD7sUnYja5i75HP06FHyRT569Ojs7Gxx1EodHZ3FixdHRES0HHYyPx/9/dHRsfFeAHEt6ODf92+iu8vo0aMIgMOGMWxGYGAgAKipqd26davdnQgEAvGMlYRk1dTUJB/ukSNHftchL4QUubgkjxpVkJZGikeOHAEANzc3afr8+++/70s4nF+4cOF+u/zPJQkIQAD08JCymy5FVFRU3759AaB///4uLi7Ozs4BAQEtbtnX1NScPHky5fPPRYt3AOzdG7/5BuPiFG+2POjuMlpdLXJeZPA/9ObNm2Qi+ccff8i25/r6+rS0tD179rBYLB0dnQ4YU3X8+PEA8Pfff5NidHQ0ADg4OEjTZ0RExKFDh0JDQ2/cuHH//v3c3Fzp7fz6awTAn3+WvqcuBZ/PJxlPdXR0xP+JksTHx/N4vF69egHA146OyGYjl4vBwZ1r6/ONdHcZRcRlyxAAV69mZvTHjx+TaNOrJSx4/vw5l8ttHoCn3ZBIgIcPH5ZVh7Liyy+/BIDt27eTYllZGYvFUldXl8bN++DBg/Pnz58yZcro0aMdHR3d3d2lt5Ns/jB9T7UjUl1d7e7uzmKxNm3aJHi5OfP06dNt27YNHjxYvLnk6Oj4P3//znLy/rZQGcVbtxAA+/Rh4AuyqqqKfJlPmDChvr6eVNbW1jo7OwPApEmTZDXQvn37AMDFxUVWHcqKnTt3AsCyZcvENSQZ0WNZhZKXEVZW79jafpae3jVVQEpqa2tVVFSUlJRKS0vDwsLc3NxUVFSIeurr63t5ecnxSn7HgMooIqKdHQI0vYcmb4RC4SeffAIANjY2krGmvLy8AMDIyEgmq1FCSUmJhoYGi8V67ckpQ1y+fBkAxo4dK64ZO3YsAFy+fJlBq5pQWlrKYrHU1NTEX3UUSRISEgDAzMysZ8+eRD1VVFSmTp16+vRpRcfZY4jue4tJEk9PAICDBxU6qK+vb3BwsI6OTkhIiDidg7+//2+//aaurh4aGmpkZCTlEHV1deSFrq7utGnTEPHPP/+Usk/ZYmNjAwApEhdAm9cwTkJCAiLa2dmJwx5TJElMTASAwYMHm5iY2Nvb+/n58fn80NDQ6dOnt+g90vWgMgoA4O4ObDacOweFhQoaMSQkZOPGjWw2+9ixY/YvLxhevXp19erVLBYrMDDw3Xfflab/hoYGDw8PQ0PDkpISUrNgwQIAIJ5P0tkuS0xMTDQ0NPLz88vKykgNkdHUjnQllMiEPfP3QDso4n+fa9euJSQk8Hi8Pn36MG2UQqEyCgBgZAQffQQ9ekBysiKGe/jwoYeHByL+97//nTx5MqnMysqaO3dufX39+vXrP/30UymHYLPZ+fn5RUVFx48fJzVcLtfExCQrKysiIkLKzmWIkpISubiVlpZGaqSfjd64cUNfX9/c3Pydd94hR1hSQmW0dcT/Pi1mkOwWMLqlwAyPH78SSIwU797Fl86LiIhJSSinO+uFhYWWlpYA4CHhhVhWVjZw4EAAmD59uqxyhTePqbpu3ToAWLRokUz6lxUk1NaRI0dIkeipqampNH0WFRVlZWU9ePBAJt4OEydOBIAzZ85I31WXhJzI3+20d5CkpzvK6KJFuGNHY3HxYty+HT08UFe3MaT5sGEYESH7oevq6saMGQMAI0aMqKmpIZUNDQ2urq4AYG9vX1paKquxmsdUTU1NZbFYWlpaHSqsyffffw8AP/zwAynW19dzOBwWi9VxvFxNTEwAIDU1lWlDOiICgYD8f3W+kA6ygy7qG+nfH1avlu8QX375ZXh4uJGR0cmTJzkcDqlcs2bN+fPnDQwMzp49K75UJz3NY6paWVmNHDmyoqLi1KlTshpFekii1pSUlLS0tJycnDNnztja2lpbWxcUFDBtGgBARUXFkydP1NTUyBqC0oSMjIza2lpTU1NtbW2mbWEMKqONLF8OMTFw7Zq8+t+5cyc5hT9z5oz4FP7PP//85ZdfVFRUTpw40b9/f9mO2DymKjlo6lDBqgcNGjRmzJg+ffqMHj161KhRs2fPbmho2LRpk7m5OdOmAbw8prexsaHH9C1CN44BuuXe6KJFqK+PZmaiHy0t0aL+wAG8dAmtrbGmRrSo9/XFH3/EU6cwOVkcPaOdXL16VVlZmcViHRUnIEOMiYkhARn37t0r7VO9hiYxVUtLS4kDaXp6upxGbAexsbHE5XDQoEHiGGsjR468Lk6//JZs3bp169atMtnNJOEOPvvsM+m76pJs2rQJAFatWsW0IUzSTWejP/wAjx+LfubMaaz/6CNwcIDt20XF3bvh++9h1iywtQUNDejfH6ZMgTVr4NAhiImB6uq2DpeVlfXpp5/W19d/9913c+fOJZX5+fnTpk2rqqr64osvli9fLsOnk8Td3R0ADr70idXR0Zk5cya+PIDqCMTGxnK53MLCwsmTJ9+7dy8zMzMgIKBv375RUVHjxo374IMPwsPD37ZPFotVUFCQkZEhpW0ZGRn/+9//AEDsWE5pgnVx8fQBAxwHDmTaEEZhWscZ4HVHTCSYHJ+PhoZoYYH//ouBgbh6NU6ejObmyGI1BvciPyoqOGFCwuzZs3/44Yfjx4/HxcW1eGejrKxs0KBBADBt2jTxKXx1dfV7770HAKNGjZLrTY8nT56w2WxVVdXCl0FVr169CgDm5uaycgmQhpiYGAMDAwD4+OOPxWduiFhRUeHn5yd2oOFyuYq8UFhVVRUcHCyOnsnhcDQ1NelJfcuQqHe3bzNtB5NQGW0qo4i4dSsCND2pr63F+HgMDkYfH3RzQ3t7ZLPR2fmVTUZlZWVLS0tXV1cejxcUFBQdHV1eXk6ihdvZ2Umews+bN49omQIiK0+YMAEA9rwMqioUCi0sLACg9TwQCiA6OrpHjx4AMGvWrLqWIhqUlZX5+fnp6uoCAIvFcnV1fUhSSMoHoVB448YNT09PcYBBIqOmpqbktY+PT8thNLst9fWoro4sFpaUMG0Kk3RHGT1xAm/ebCyePIkREXj8OIqnO3V1uH49ZmW9oZ/KSoyN5R8+fHjNmjXTpk0bMGBA81MIJSUlFotlYGAgeZl99+7dAKCtrf1IITm4jx49CgDDJIKqrl+/HgA8PT0VMPrruHfvHplszp49u0UNFVNYWMjj8UiQYCUlJTc3tzRJF19ZwOfz/fz8JI/4HBwcyDR56tSpAoHAz89PSUkJAD799NOO44nFPKmpCIAmJkzbwTDdUUblR11dXXx8fHBwsDjVh7Kysrq6umQEI0QsLCzkcrmhigq7Vl1dTRxI414GVc3MzGSxWJqamkz5+t28eZO4dn3yySeCth3ePXv2jMfjkZxUKioq7u7urYRZqaqqktwieB3V1dWSi3cA6NevH4/Hi42NdXR0JFsu1dXVpPHff/9N5sVDhgzJzs5u45N2cc6cQQD86COm7WAYKqPyJSQkBABsbGya1Ct4bbhs2TJ4NaTp6NGjASAwMFCRZhDCw3HkyO8BYP78+W8bMyk7O9vLy0tZWRkAVFVVvby88vPzmzdbs2aNZNSo5kRHR3t5eYldHdXU1Nzc3M6ePVtfX19XV0eCSdvb27948ULyXcnJyeSuqqGh4e3uvRsoYvNmBMBvv2XaDoahMipfBAIBSbRwR7psl1Jy69YtAOjTp494+bx//34AGD16tIItuXEDNTVRQwP/85/Adsedy8zM9PLyIlsompqaPB6vqKioLW988uSJn58fucVPcHJy8vf3F8ulUCgkvg1GRkYtxjx98eIFyTzI4XAOHjzYPvu7DvPnIwD+/jvTdjAMlVG585///AcAPv/8c2bNIBnGz70MqlpeXq6lpaVgB9LwcFEi+kWLZJBiMz4+3s3NjazHtbW1eTxeyWsOOsji3dXVVbx5bWRkxOPxUlJSmrRctWoV6S02NvZ14woEAnFqTG9v724dhJQkxI6KYtoOhqEyKnfi4+MBQFdXt6rFVN2Kws/Pj5zniGs8PDxA4jK7vPnnH9TURABcvFiWaYrv3LlDIhIAgIGBgZ+fn+S/c3R0tLe3N/EHIFNIsnhvcUN27969ZOO1LUGjAwICSDDNiRMnSkbd7kY0NKCGBgJg25YCXRgqo4qABA/966+/GLQhNzeXOJA+f5kP5/r16wBgbGysgPnUpUuoro4AuHSpXFK9R0ZGfvjhh0Qre/fuvW7dOl9fX3JbnzBixIh9+/a1onehoaFsNpvFYgUFBbVx0Js3b5LAmlZWVklJSTJ6lM5DejoCYL9+TNvBPFRGFcGuXbvItIVZMyZNmgQAx44dI0WhUEjCbVy9elWu4168iGpqCIBeXnLRUDFhYWHDhg0DAHLFlpwFeXt7v9Hb9Pbt2+QtW7ZseasR+Xz+0KFDAUBfX//KlStS2N4JOXsWAXD8eKbtYB4qo4rgxYsXHA5HSUkpJyeHQTMePnyYnJwsWePj4wMAMsmd+TouXBBp6PLlqAD3BKFQSDajTUxMLly40JaJdmJiIln1N/FLayPl5eUzZ84EADab7efn144eOivBwWhhgV9/zbQdzENlVEHMnj0bAH7uYJnO09PTSQTSDz74wMvLy9/fPywsTIap9M6fRw4HAfCbbxShoQTy3bB27dq2NM7LyzMzMwOAKVOmtHtzQygUiv3z582bJ3Y17cqUl2NMDPL5omJ1NUq68TYpdnWojCqI8+fPA4C1tXWHuk1ITpzFkU/F6OnpjRw5csmSJdu3b798+XJOzpO29CZ5EwwRAwLw5ElUUcH//Ede9rcIibJ66NChN7YsKysbMmQIALz33nvS300KDg4mt0hHjhzZojdrF0EoRG9v7NcPZ8zAd99FBwfMzMS7d9HWtrHNvXvYzFe6C0NlVEEIBAKSgT2qw3iHkCBPKioqoaGhERERAQEB3t7eXC6XOLpKMmjQUh0ddHJCNzf08cHgYIyPb2GX09YWTU1FyVeEQgTA2lqU5yX4liGxL2NiYlpvVldXR6INDBgwQFaRDR48eEDCpPbr1+/evXsy6bPDERyMgwc3XqJfvx6dnamMUhTE6tWr270BJ3NaD3X69OnTa9eu7d69e/ny5WPHjp048WiT6FYAqKWFw4bhggW4ZQueP4+FhWhrix9/LJp7imVUwdTV1amqqiopKVVUVLTSTCgUkpjWhoaGWW+MnvA2PH/+fOzYseRm1OHDh2XYc0dh6lQMCGgsVlWhigpevkxllKIIkpOTiQMp47Et8vLyjI2NAWDFihVtfEtREUZHY1AQ8njo6oqWlk1V9cQJtLXFqCg0MsKHDxmT0YSEBACwtLRsvRnZzdDW1r5//77MbaitrV28eDEAsFgsHo/XEQISypJ33sEmPgmmpnjwIKqooIWF6KdfPyqjFHkxfPhwkMiCyQiyCnVaWIj//ov79uHKlcjlYmoq2tpiQgIePIgjRmBDAzMyeuLECTwISAYAAA+lSURBVABwdXVtpc2+ffvIbsalS5fkZ4m/vz+5+z9z5swupaRjx+KJE6/U6OjgmTNoa4tCoeinm81Gu2n0e6boCKmQvvjiizt37pibm586dYrcw2kfBgYwahQsWwY7d0JYGFhZieo9PEBZGQ4dko21bwuZjQ58fTD258+fBwYGslisP/7446OPPpKfJV999dWFCxe0tLSqq6uzs7PlN5CiGTIELl1qLEZGgqoq9OkDAMBiiX66G0zrePeipKREXV1dSUmJqUhr5EqolpaWOGieDCGzUUSMi0MzM2Zmo3PmzAGAVoKG/PzzzwAwY8YMxdhD7laFhIQoZjhFkJuLxsa4bh3evIlHjqCZGe7f382PmOhsVKHo6upOnTpVKBQykgrp8uXL3333HYvFCgwMHDx4sPwGGjwYZs2SX/etQRJVtjIbJQ3IhS4FkJmZCV0scaaREdy9C0pK8L//QUwMHDgAixZBnz4wb15jm969Yf585kxUOEzreLfj4sWLAGBlZaVgB9Lk5GQSvPnHH3+U0xAXL6I4T0p5OQYHKzpmhUAg4HA4LBarnHhdtQS5uxkZGakAe8rLy1ksFofDaWNoakonhc5GFc2ECRNMTEzS0tKioqIUNmhxcfGUKVNKSkpmzZq1bt06OY0ycSLo6Ihe5+bC9u3w6adyGqpl0tPTa2trzczMtLS0WmwgFApTUlIAgIQNlDeJiYmIaGNjQ86aKF0VKqOKRklJieSzEyc9ljcNDQ3z5s1LS0sbMmTIoUOHWAo5AejTB5KT4coViIhQwGgiyIK9lRX048ePKysrjYyMxDlHmbWH0jWgMsoACxcuZLFYwcHBVVVVkvXZ2dl6enrvvvuuh4fHli1bzp07R9INSTnct99+e/HixT59+oSGhopDH8kbPT1YuRIA4McfFTMgQJs3RhWma0lJSYocjsIUdK3BANbW1u+///6tW7dCQkLmS+zEJyUllZaWxsTExMTEiCt1dXXt7OwGDhxoZ2c3aNAgW1tbEkqjjQQFBe3cuVNFRSU4ONjExESWj/Emvv0Wdu0STUhHjVLEiEQlW1mwv9EdSraQ4aiMdnmojDKDp6fnrVu3Dh48KCmjEydOLCoqSkhISExMFP+Zn59/+/bt27dvi5txOJz+/fsPHDjQ3t6e/GlnZ0fCCzUhKiqKJLP79ddfSQ47RUImpJs2waZNcOWKIkZ842STTA8VszHaFnsoXQOW9GtGSjsoLS01MjKqrq7OyMiwsLBopWVBQUFCQkJSUlJ8fHxycnJ8fPzz58+btOFyuWFhYU0qc3Jyhg8f/uzZs2+//Xbbtm0yfoC2UVoK5uZQUgL//iv3CWlDQ4O2tnZNTU1xcTHJhNycYcOGRUdHR0REfPDBB/K1BqCqqkpbW5vNZldWVqqoqMh7OAqTMOwp0I2ZO3cuACxduvRtM/kUFRVFR0cHBQXxeDxXV1dLS8vmV+OrqqpI5pLx48cz623zww8KCpFOjuBNTU1f10AoFJIT/MLCQrlbgxgdHQ0AAwcOVMBYFGahMsoYV65csbW1JV9m+vr6zs7O4sDJbxutsolQCoVCcpnH2tqa8WxrJSWop4cAGB4u34FOnz4NrWZqycrKAoC+ffvK146XkCu/n3zyiWKGozAI3RtljPHjx588edLDwyM5Obm4uDgyMjIyMlL8t3379iXHSuLDJQMDg9d11cQtcePGjcePH9fR0QkJCSEu9wyiqwve3rBxI2zaBM02HmTJGzciGTmmV9g+LIVBqIwyycCBA8mhfF5enuSxUlxc3NOnT0nQT3FjfX19cqZkaWkpftG8zzNnzmzcuFFJSeno0aMKO5JunW++gZ074c6dslu3XowY0dpGsDS0UUYVfEzfQf4LKHKFymiHwMjIyMjIiMvlimuaC2vzGau+vr5YUsmf1dXVnp6eQqFw27ZtH3/8MROP0gJ6euDj8+/GjTPWrx9y9epVOY3SRhkVb6TIG3pM332gJ/WdhuzsbHJSn5SURM7uS0tLm7TR1NSsrKz09PRU2BWpNlJaWmphYVFcXBweHi4P1yuhUKitrV1VVVVcXPy6fYwDBw5s3rx53rx5GzZskLkBTaipqdHS0iJB+KWJRkjpFFAZ7cQUFxdLOpk+evTI2tr6gw8+8PHxaZ6ljnE2bNjg6+vr4uIijwlpRkbGgAEDjI2N+Xz+69qcOnVq9uzZVlZWKSkp8r4RGxsbO3ToUDs7OzInpXRxmD7josiSViIbMU5JSQm5yR4uhzP70NBQAJgwYUIrbQQCAUmdEhYWJnMDmvDnn38CwOzZs+U9EKUjQO/UdyleF9moI6Crq+vt7Q0Avr6+Mu/83r178KaNSGVlZXKna8+ePTI3oAl0Y7RbQRf1FMUh3iH9559/xowZ075OBAIBn8/PzMwkWxnkRX5+fo8ePZycnC5dutTivVjC8+fPTU1NBQJBeno6yYQsJ2bMmHHmzJljx459quBYgRQmoDJKUSi+vr4bNmwYN26cpC9XK/D5/NTU1NTU1JSUlJSUlNTU1Ozs7IaGhibNdHR0ampq6urqXF1djxw5oiOOe9qM+fPnHzlyZO3atZs3b5bqSVrF2to6LS0tLi5OrlkGKB0EKqMUhdLKhLS2tjY9PZ1MMMkcMy4urry8vEkPysrKpqamlpaWkv6zFhYWkZGRs2bNKigosLa2Pnv2rI2NTYsG3Lp1a+TIkT179uTz+WpqavJ4RnJMz2KxKioqOuBZH0XmUBmlKI6kpKR9+/ZxOJxffvllxIgR69evT05OJjPN1NTU3Nzc5m/p3bu3jY2NjY2NtbW1tbW1ra2tpaXl6yJ9ZGZmTps2LT4+vkePHsePH5f0w5WEBCgJCgry8PCQ5eO95OHDh46OjjY2NsnJyfLon9LhYPaEi9KtcHNzA4Bly5bp6+tra2s3+SiqqqpaWlq6urryeLyAgIB2xBZAxPLy8hkzZgAAm8328/NrsU1gYCAADB06VOoHapmjR4+CApOPUhiHyihFQcTFxSkpKampqT158iQ1NfWHH34YO3asl5fXzp07L1++nJWV1dDQ0L6ed+3adeXKFXFRKBT6+fkRz9AlS5bUNsvyXFNT06tXLwC4c+dO+5/n9Xz//fcA8P3338ujc0oHhDo8URTE2rVrhULhl19+2a9fPysrK19fXycnp5CQEBMTkwkTJpibm7dywt46vXr1qqmpERdZLBaPx/vrr780NDT++OOPcePGPXv2TLI9h8NZuHAhyM3z6Y1B+CldDaZ1nNItuHPnDovF0tLSevbsGanJy8vT0NBgsVj379+X06CxsbEk4YqxsXF0dLTkXz1+/JjNZnM4HLE9sqKyspIM+uDBA9n2TOmw0NkoRRGsXbsWEb/55pvevXuTmk2bNlVVVbm5uQ0ZMkROgzo6OkZHR48ZM+bJkydjxow5deqU+K/MzMwmT55cW1u7f/9+WQ0XExPz1VdfmZiY5OfnL1y40NraWlY9Uzo6TOs4pesTHh4OAHp6ekVFRaTm8ePHqqqqbDabZHKXKzU1NWQJTxb74h3YS5cuAYCpqWl9fb00/efk5Pz0009WVlbi36kRI0akpKTIwnZK54DKKEXujBo1CgA2b94srlmwYAEAeHp6Stnz1q1b//zzz7YszAMCAkhw69mzZ1dUVCCiUCgkvqWnT59ux9A1NTXBwcGurq7imNmGhobe3t4PHz5sR2+UTg2VUYp8OX/+PAD06tWrrKyM1KSkpCgrK6uoqGRkZEjZ+cGDB2fOnDlp0qS2NL58+TKJjeLg4JCVlYWI/v7+AMDlct9q0OjoaG9vb3EyAg6H4+rqGhwczGzOKwqDUBmlyBOh8F0nJwDYsWOHuI7kiVq+fLnizUlLSyMH6D179rxx40ZZWRlxX42Pj3/je3Nzc/39/R0cHMSLdycnJ39//+fPnyvAckpHhsooRZ6cOFFlY7N1woTq6mpSIfYe5fP5jFhUVlY2ZcoUAFBWVt61a9fy5csBYOXKla9rX1NTc/bsWTc3tyaL99jYWEWaTenIUBmlyI36erS3RwDct09cRyTs22+/ZdSueh6PRzTRzc2NxWJpa2uXlpY2aUYW7z179myyeK+rq2PEbEqHhcooRW4EBSEAmpvjy3tENffuLXdwkPQebTe+vr7Hjx+XJuP80aNH1dXVAUBXVxcAdu/eTerz8vL8/f3feecd8eLd3t7ez8+voKBASpspXRUqoxT5UFeH/fsjAAYFNVaOH48AT19z1f2t+PXXX6dOnaqrqzt8+HDxjsHbcuvWLUNDQ6KVFhYWoaGhbm5u4rgnPXr08PLykt/tAEqXgUZ4osiHgABYvhysrSEhAciu4s2bMGoU6OpCZib06CGTQQQCQWxs7PDhw9vdw5MnT6ZNm3b//n1xjaqqqqur64IFCyZNmiTeD6VQWoHKKEUO1NSAtTXw+XDiBMyeLaocOxbCw+HHH+G77xg1rinV1dUzZ860sLAIDw/38PBYuHCh+KoVhdIWqIxS5IC/P3zzDQweDA8eAAk4cvEiTJ4MPXtCZiY0C5HXERAKhe2OjULp5tDPDUXWVFaCnx8AwM8/izQUEUhq+LVrpdfQdevWnTp1qqSkRMp+mkA1lNJu6EeHImt27oRnz2DYMJg8WVRz+jTcvQuGhrB8uZR9C4XCPn36BAYGmpmZjRw50tfXNz8/X1qDKRTpoIt6ikxBBAcHiI+Hq1fBxQUAQCiEIUMgLg5+/RU+/1xW49TW1kZGRl6+fHnFihUkMB2FwhR0NkqRKSwW3L0LR4+KNBQAjh2DuDgwM4PFi6Xse8aMGYWFheQ1h8PZvXv3qlWrqIZSGIfORinypKEBBg6ElBQ4cAAWLJCyM11d3YSEBGNjY1LU09N79OiRiYmJtEZSKNJB3eIosiMnB/bsgYQE6NEDXFzAwwNqa2HWLLh8GdzdmTaOQpEXVEYpMiIvD0aMgBUrwM8PCgpg1SpITIQtW+Cnn2DTJpDROfj+/fvJ3U0AqK2tlUmfFIqUUBmlyIhffwUXl0bX+pMnYdAgWLMG9PVlpaEAwGKxSMpP8lpW3VIo0kBllCIjHj2CadMai5aWYGQEKSnw/vsyHGTRokXivVEfHx8Z9kyhtBt6Uk+REZWVoK7+So2mJlRUMGQNhaI4qIxSZISlJaSmNhZraiArCwYMYM4gCkVBUIcnioy4dg3c3SEqCszNAQB8fODqVYiMlOEIiCi5H9qkSKEwBd0bpcgIFxdYuxacncHKCgoKoEcPOHZMtiM0EU2qoZQOAp2NUmQKImRnQ48eoKPDtCkUioKgMkqhUChSQY+YKBQKRSqojFIoFIpUUBmlUCgUqaAySqFQKFJBZZRCoVCk4v8BGgZ152A0Yx4AAAJielRYdHJka2l0UEtMIHJka2l0IDIwMjIuMDMuNQAAeJx7v2/tPQYg4GWAAEYgVgRiFSBuYGRjSACJMbMxaABpZhYOCM3EzpABphnZHCASbA5gAWZGJAYuGXaIIRiGsimALGVigVjKDLWciQlBKwBpFoQyNO1oyhFuRFOIqQFdHqyRkZERLMAAp7mBocPIpMHEyKzAzKLAwprBxMqWwMaewcTOkcDBCaS4FLi4Fbh5NJi4eRl4+Rj4+Bn4BRgEBBkEhRiEhBmERTSYBEUZRMUYBMUZxCUUJCQ1mCSkFKSkGaRlGGRkNZhk5BQ4WRKEuRSEeBnE+Bh45VmYhBRYmERYWbm5hIV42Vg4OdjZWNn4BQSFePlAlKgYHxsQ8woJik9jhMQdGChWdYkdVP72wR7Eid7598DVFRfB7AUu9w8cZzd2ALFrLr05kLcs3w7Efly298A3e509ILYG0/wDlnyTwerlfeMPXG9MB7OT6m0P5J75vw/EvpFRdeBq5JX9IDbrhDUH2nm2gtkJE/buv9RgB2b/EPXfv6yY9QCIve7m/v2/N0aB2eFTdOwvKL0Dq3m64ZX9vV/GYPEyI38HJV0hMFv2ZpzDvuu+YDUHloo4pFuIg935SS/bfv3FQ2A3HJhyeZ9U5jyweGSw8v68/Kdgd1bf2GW/SCYYrHe72ir7f1PPgdnpPioOhaEXwGqy1eocSn9wgsOh81mbw/L1GWD2E50lDv9kZ4HVPJW86FC28y6YPcX4m4PoWXcw23uCoCNz03Iw2yHhncMWfmOw+Q/zeu2+LwgGu//a6wb791/7wGrEAD37otFQCmptAAADDXpUWHRNT0wgcmRraXQgMjAyMi4wMy41AAB4nH1WSW4bMRC86xX8gIjeuPQhB1ty7CCwBCRO/pB7/o9Uc2LOGCEyo2mMyCJZvZV0SnF9u3799TvNS66nU0r0n4+7p59KRKfXFC/p8en5yy1d3h4e30cu9x+3t+9JNWnFGtwfsQ9v99f3EU6XdPZs1Dv1xLl3KcyJMo1rXyoBbNml91YBrNq8lgVQ0z2da/bWWFqS3LxpoQXQ0i12NKLqhnlRI3D+F1ji6IKjqVVNZwCYCq+QNZCWvTphnjMb2MoC2AKo2bpTj3knU1l50wMo2JEcwzjbHO9tgfRtS2ep5umMCJXuvgol0+aQupTOATU2s9XxSMVtADp57XF+M+Oy8p1Hhigjjy4epKkX7raCjhxhV+9deQSCGy8jyoZdKddmrD3W9IpQrfznSBPmVYtoHN9ZuC+RkSZFvpuVEkjpKIKl+20grQuRbM4ZtSXPSJRkFakcZ7K1ijpdAH045NxrL7Gldiq0QgptAYXnYhFGJVdfIjniSaMnkHFGzYvVFU2RESQraAoeDgFYlnvqQKq4otyinFi9rGpZopEkl9q4RtFXaesKlTKi6Y3JC1ZwKc1XnSkV/lgWLtUYK6qWJktRaACWzEooUBwtSI8td4z01FwU1TsChETJ0plIT8vVQ14w35DxZcLxuSfPBJ2REC6lXstSjyI5kBlDTnxkyd1KXyElvYQOtYrSjK5Qqo1W7kCmXnAmUWNvoTNcoZ8L4NPt+kFuNwF+vN+uuwDHLbvMxq27mGIu2S6ZjKfswogvqe7qZ3jarnGGp+9KZnh8lyvDw0dRYswzH6SHh5ncOKjB8KQXIjtGJkMOimEmSegCDzN5ov95mEkVLcvDTLboZx5mEkbjchg5NqgMMzkLb6tkj6dEBAGbnEX/YiZnCc4wMjmjU2SYyVmCc4xMzhKc4xduco46DCOTM6pZwuixbHmMTM4aKUX05+E6KNMhFaqb63uYdVDWQ5i1bIHH6svn5097BdVtLfb4MB6VeazD+P7+JwLvpz9CaphTu8dGYQAAAZh6VFh0U01JTEVTIHJka2l0IDIwMjIuMDMuNQAAeJwtUUluJDEM+8ocqwC3oH1BY4ABfMkpeUCjT/WNPH6kSk62aYkiqdfH+7X/vYn38ffr/Dwuua7r+NzHPvt9XXLeH13TRcfr431umu/GvvbPce69eW/6830gcDhLrIeAoMd6IngoSa4HQTqqrucDITGLaz0YMI2yMQKtTJlGpSD6gRKruRBClUwaYyjHGkirbz1gGrIwF0KhCltD2lWFtAhIM6fIoBjDpxEJjWTIAhTRqztZFH+h4szsTpcob6S6KHO4MtlGl0NFkCyGqBC72aXYbo9KensUKGK3gdyy6rbdQXD/YmdTcrPjPaeGPorVJ7Ci9LSRKomGjREgBo8d8hb3ZBBm5yYiDW9bjZgH+ejuDbTKnh/USTGQWfR4BSZzXdITrcmeBiSoY5VRsTU7mHTOI6XpuyLASybYSNToeAp6H32hNpDuU6HazkerV2lH8Jx18Lp3rDhN0umG2iybU8dMihjPO4mpBhEuoTsrkrJB1Drbm6ZTMV/n938v+oudcEZz4gAAAABJRU5ErkJggg==\n", - "text/plain": [ - "" - ] - }, - "execution_count": 5, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "mol_gt = Chem.MolFromSmiles(smiles)\n", - "mol_gt" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "795df086", - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.8.13" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -}