diff --git a/cell2mol/test/test_one_by_one_BACZUB.ipynb b/cell2mol/test/test_one_by_one_BACZUB.ipynb index 9a1c0947..97aae33d 100644 --- a/cell2mol/test/test_one_by_one_BACZUB.ipynb +++ b/cell2mol/test/test_one_by_one_BACZUB.ipynb @@ -40,7 +40,7 @@ "metadata": {}, "outputs": [], "source": [ - "debug=0" + "debug=2" ] }, { @@ -118,6 +118,8 @@ "LIGAND.SPLIT_LIGAND: conn_labels=['C', 'C', 'C', 'C', 'C']\n", "LIGAND.SPLIT_LIGAND: conn_coord=[[1.088207063968434, 4.309352587547709, 1.5686258268701916], [1.0397715909633676, 3.638400052685908, 0.36499880736037693], [1.6288999872619745, 2.4157695326489255, 0.5757421663720231], [2.047083955789577, 2.334447308344994, 1.9879399329449103], [1.6834475642260016, 3.552077268693482, 2.559336875419786]]\n", "LIGAND.SPLIT_LIGAND: conn_radii=[0.73, 0.73, 0.73, 0.73, 0.73]\n", + "labels=['C', 'C', 'C', 'C', 'C'] 5\n", + "indices=None\n", "blocklist=[[0, 1, 2, 3, 4]]\n", "LIGAND.SPLIT_LIGAND: block=[0, 1, 2, 3, 4]\n", "LIGAND.SPLIT_LIGAND: self.indices=[0, 1, 2, 3, 4, 5, 6, 7, 8]\n", @@ -125,6 +127,8 @@ "LIGAND.SPLIT_LIGAND: conn_labels=['C', 'C', 'C', 'C', 'C']\n", "LIGAND.SPLIT_LIGAND: conn_coord=[[-1.2757991550702044, 2.060766775585443, 3.361030684443471], [-1.867597191548076, 3.011023862021328, 2.5441285917797702], [-2.009598694552083, 2.51376054758525, 1.2025407135355277], [-1.478218441311459, 1.2250348551990857, 1.2351298927641328], [-1.012973100540437, 0.9240043790765426, 2.5495601216512047]]\n", "LIGAND.SPLIT_LIGAND: conn_radii=[0.73, 0.73, 0.73, 0.73, 0.73]\n", + "labels=['C', 'C', 'C', 'C', 'C'] 5\n", + "indices=None\n", "blocklist=[[0, 1, 2, 3, 4]]\n", "LIGAND.SPLIT_LIGAND: block=[0, 1, 2, 3, 4]\n", "LIGAND.SPLIT_LIGAND: self.indices=[0]\n", @@ -132,6 +136,8 @@ "LIGAND.SPLIT_LIGAND: conn_labels=['Cl']\n", "LIGAND.SPLIT_LIGAND: conn_coord=[[-0.3928769966037601, 2.3016163714687834, 7.603055514033566]]\n", "LIGAND.SPLIT_LIGAND: conn_radii=[1.02]\n", + "labels=['Cl'] 1\n", + "indices=None\n", "blocklist=[[0]]\n", "LIGAND.SPLIT_LIGAND: block=[0]\n", "LIGAND.Get_denticity: checking connectivity of ligand H5-C5\n", @@ -186,11 +192,176 @@ "ADD_ATOM: Chosen Metal index None. H is added at site 0\n", "\tconnectivity verified for atom 0 with label Cl\n", "LIGAND.Get_denticity: final connectivity is 1\n", + "------------- Cell2mol GROUP Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = group\n", + " Number of Atoms = 5\n", + " Formula = C5\n", + " Has Adjacency Matrix = YES\n", + " Origin = split_ligand\n", + " Number of Metals = 1\n", + "---------------------------------------------------\n", + "\n", + "['Hg', 'C', 'C', 'C', 'C', 'C'] [[-0.8781947965901001, 2.1910412897789047, 5.359507785338963], [1.088207063968434, 4.309352587547709, 1.5686258268701916], [1.0397715909633676, 3.638400052685908, 0.36499880736037693], [1.6288999872619745, 2.4157695326489255, 0.5757421663720231], [2.047083955789577, 2.334447308344994, 1.9879399329449103], [1.6834475642260016, 3.552077268693482, 2.559336875419786]]\n", + "------------- Cell2mol GROUP Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = group\n", + " Number of Atoms = 5\n", + " Formula = C5\n", + " Has Adjacency Matrix = YES\n", + " Origin = split_ligand\n", + " Number of Metals = 2\n", + "---------------------------------------------------\n", + "\n", + "['Hg', 'C', 'C', 'C', 'C', 'C'] [[-0.8781947965901001, 2.1910412897789047, 5.359507785338963], [-1.2757991550702044, 2.060766775585443, 3.361030684443471], [-1.867597191548076, 3.011023862021328, 2.5441285917797702], [-2.009598694552083, 2.51376054758525, 1.2025407135355277], [-1.478218441311459, 1.2250348551990857, 1.2351298927641328], [-1.012973100540437, 0.9240043790765426, 2.5495601216512047]]\n", + "------------- Cell2mol GROUP Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = group\n", + " Number of Atoms = 1\n", + " Formula = Cl\n", + " Has Adjacency Matrix = YES\n", + " Origin = split_ligand\n", + " Number of Metals = 1\n", + "---------------------------------------------------\n", + "\n", + "['Hg', 'Cl'] [[-0.8781947965901001, 2.1910412897789047, 5.359507785338963], [-0.3928769966037601, 2.3016163714687834, 7.603055514033566]]\n", + "coord_group=[------------- Cell2mol GROUP Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = group\n", + " Number of Atoms = 5\n", + " Formula = C5\n", + " Has Adjacency Matrix = YES\n", + " Origin = split_ligand\n", + " Number of Metals = 2\n", + "---------------------------------------------------\n", + ", ------------- Cell2mol GROUP Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = group\n", + " Number of Atoms = 1\n", + " Formula = Cl\n", + " Has Adjacency Matrix = YES\n", + " Origin = split_ligand\n", + " Number of Metals = 1\n", + "---------------------------------------------------\n", + "]\n", + "self.coord_nr=2\n", + "group.haptic_type=['h5-Cp']\n", + "[[-1.2757991550702044, 2.060766775585443, 3.361030684443471], [-1.867597191548076, 3.011023862021328, 2.5441285917797702], [-2.009598694552083, 2.51376054758525, 1.2025407135355277], [-1.478218441311459, 1.2250348551990857, 1.2351298927641328], [-1.012973100540437, 0.9240043790765426, 2.5495601216512047]]\n", + "[-1.5288373 1.9469181 2.178478 ]\n", + "mid point of group.haptic_type=['h5-Cp'] [-1.5288373 1.9469181 2.178478 ]\n", + "Cl [-0.3928769966037601, 2.3016163714687834, 7.603055514033566]\n", + "symbols=['Hg', \"['h5-Cp']\", 'Cl']\n", + "positions=[[-0.8781947965901001, 2.1910412897789047, 5.359507785338963], [-1.5288373, 1.9469181, 2.178478], [-0.3928769966037601, 2.3016163714687834, 7.603055514033566]]\n", + "2\n", + "[[1, 2], [1, 3]]\n", + "Hg [-0.8781947965901001, 2.1910412897789047, 5.359507785338963]\n", + "['h5-Cp'] [-1.5288373, 1.9469181, 2.178478]\n", + "Cl [-0.3928769966037601, 2.3016163714687834, 7.603055514033566]\n", + "\n", + "The number of coordinating points (including the mid point of haptic ligands) : 2\n", + "{'Linear': 0.989, 'Bent (V-shape, 109.47°)': 14.426, 'Bent (L-shape, 90°)': 24.794}\n", + "The most likely geometry : 'Linear' with deviation value 0.989\n", + "The type of hapticity : [['h5-Cp']]\n", + "\n", + "self.coord_geometry='Linear' self.geom_deviation=0.989\n", + "[2.526, 1.278]\n", + "1.902\n", + "self.rel_metal_radius=1.441\n", + "------------- Cell2mol GROUP Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = group\n", + " Number of Atoms = 5\n", + " Formula = C5\n", + " Has Adjacency Matrix = YES\n", + " Origin = split_ligand\n", + " Number of Metals = 1\n", + "---------------------------------------------------\n", + "\n", + "['Fe', 'C', 'C', 'C', 'C', 'C'] [[-0.012571507575537655, 2.5762878951295587, 1.785452499337844], [1.088207063968434, 4.309352587547709, 1.5686258268701916], [1.0397715909633676, 3.638400052685908, 0.36499880736037693], [1.6288999872619745, 2.4157695326489255, 0.5757421663720231], [2.047083955789577, 2.334447308344994, 1.9879399329449103], [1.6834475642260016, 3.552077268693482, 2.559336875419786]]\n", + "------------- Cell2mol GROUP Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = group\n", + " Number of Atoms = 5\n", + " Formula = C5\n", + " Has Adjacency Matrix = YES\n", + " Origin = split_ligand\n", + " Number of Metals = 2\n", + "---------------------------------------------------\n", + "\n", + "['Fe', 'C', 'C', 'C', 'C', 'C'] [[-0.012571507575537655, 2.5762878951295587, 1.785452499337844], [-1.2757991550702044, 2.060766775585443, 3.361030684443471], [-1.867597191548076, 3.011023862021328, 2.5441285917797702], [-2.009598694552083, 2.51376054758525, 1.2025407135355277], [-1.478218441311459, 1.2250348551990857, 1.2351298927641328], [-1.012973100540437, 0.9240043790765426, 2.5495601216512047]]\n", + "------------- Cell2mol GROUP Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = group\n", + " Number of Atoms = 1\n", + " Formula = Cl\n", + " Has Adjacency Matrix = YES\n", + " Origin = split_ligand\n", + " Number of Metals = 1\n", + "---------------------------------------------------\n", + "\n", + "['Fe', 'Cl'] [[-0.012571507575537655, 2.5762878951295587, 1.785452499337844], [-0.3928769966037601, 2.3016163714687834, 7.603055514033566]]\n", + "coord_group=[------------- Cell2mol GROUP Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = group\n", + " Number of Atoms = 5\n", + " Formula = C5\n", + " Has Adjacency Matrix = YES\n", + " Origin = split_ligand\n", + " Number of Metals = 1\n", + "---------------------------------------------------\n", + ", ------------- Cell2mol GROUP Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = group\n", + " Number of Atoms = 5\n", + " Formula = C5\n", + " Has Adjacency Matrix = YES\n", + " Origin = split_ligand\n", + " Number of Metals = 2\n", + "---------------------------------------------------\n", + "]\n", + "self.coord_nr=2\n", + "group.haptic_type=['h5-Cp']\n", + "[[1.088207063968434, 4.309352587547709, 1.5686258268701916], [1.0397715909633676, 3.638400052685908, 0.36499880736037693], [1.6288999872619745, 2.4157695326489255, 0.5757421663720231], [2.047083955789577, 2.334447308344994, 1.9879399329449103], [1.6834475642260016, 3.552077268693482, 2.559336875419786]]\n", + "[1.497482 3.2500093 1.4113287]\n", + "mid point of group.haptic_type=['h5-Cp'] [1.497482 3.2500093 1.4113287]\n", + "group.haptic_type=['h5-Cp']\n", + "[[-1.2757991550702044, 2.060766775585443, 3.361030684443471], [-1.867597191548076, 3.011023862021328, 2.5441285917797702], [-2.009598694552083, 2.51376054758525, 1.2025407135355277], [-1.478218441311459, 1.2250348551990857, 1.2351298927641328], [-1.012973100540437, 0.9240043790765426, 2.5495601216512047]]\n", + "[-1.5288373 1.9469181 2.178478 ]\n", + "mid point of group.haptic_type=['h5-Cp'] [-1.5288373 1.9469181 2.178478 ]\n", + "symbols=['Fe', \"['h5-Cp']\", \"['h5-Cp']\"]\n", + "positions=[[-0.012571507575537655, 2.5762878951295587, 1.785452499337844], [1.497482, 3.2500093, 1.4113287], [-1.5288373, 1.9469181, 2.178478]]\n", + "2\n", + "[[1, 2], [1, 3]]\n", + "Fe [-0.012571507575537655, 2.5762878951295587, 1.785452499337844]\n", + "['h5-Cp'] [1.497482, 3.2500093, 1.4113287]\n", + "['h5-Cp'] [-1.5288373, 1.9469181, 2.178478]\n", + "\n", + "The number of coordinating points (including the mid point of haptic ligands) : 2\n", + "{'Linear': 0.007, 'Bent (V-shape, 109.47°)': 13.717, 'Bent (L-shape, 90°)': 24.293}\n", + "The most likely geometry : 'Linear' with deviation value 0.007\n", + "The type of hapticity : [['h5-Cp'], ['h5-Cp']]\n", + "\n", + "self.coord_geometry='Linear' self.geom_deviation=0.007\n", + "[0.965, 0.958]\n", + "0.962\n", + "self.rel_metal_radius=0.729\n", "LIGAND.SPLIT_LIGAND: self.indices=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]\n", "LIGAND.SPLIT_LIGAND: conn_idx=[0, 2, 4, 6, 8]\n", "LIGAND.SPLIT_LIGAND: conn_labels=['C', 'C', 'C', 'C', 'C']\n", "LIGAND.SPLIT_LIGAND: conn_coord=[[2.2488128756294996, 4.376589855872433, 9.294433915998171], [2.2972483486345654, 5.047542390734234, 10.498060935507986], [1.7081199523359591, 6.270172910771218, 10.287317576496338], [1.2899359838083557, 6.351495135075149, 8.87511980992345], [1.6535723753719318, 5.133865174726661, 8.303722867448576]]\n", "LIGAND.SPLIT_LIGAND: conn_radii=[0.73, 0.73, 0.73, 0.73, 0.73]\n", + "labels=['C', 'C', 'C', 'C', 'C'] 5\n", + "indices=None\n", "blocklist=[[0, 1, 2, 3, 4]]\n", "LIGAND.SPLIT_LIGAND: block=[0, 1, 2, 3, 4]\n", "LIGAND.SPLIT_LIGAND: self.indices=[0, 1, 2, 3, 4, 5, 6, 7, 8]\n", @@ -198,6 +369,8 @@ "LIGAND.SPLIT_LIGAND: conn_labels=['C', 'C', 'C', 'C', 'C']\n", "LIGAND.SPLIT_LIGAND: conn_coord=[[4.612819094668138, 6.625175667834701, 7.502029058424891], [5.20461713114601, 5.674918581398816, 8.318931151088591], [5.346618634150017, 6.172181895834893, 9.660519029332834], [4.815238380909393, 7.460907588221057, 9.627929850104229], [4.34999304013837, 7.7619380643436005, 8.313499621217158]]\n", "LIGAND.SPLIT_LIGAND: conn_radii=[0.73, 0.73, 0.73, 0.73, 0.73]\n", + "labels=['C', 'C', 'C', 'C', 'C'] 5\n", + "indices=None\n", "blocklist=[[0, 1, 2, 3, 4]]\n", "LIGAND.SPLIT_LIGAND: block=[0, 1, 2, 3, 4]\n", "LIGAND.SPLIT_LIGAND: self.indices=[0]\n", @@ -205,6 +378,8 @@ "LIGAND.SPLIT_LIGAND: conn_labels=['Cl']\n", "LIGAND.SPLIT_LIGAND: conn_coord=[[3.729896936201694, 6.38432607195136, 3.2600042288347955]]\n", "LIGAND.SPLIT_LIGAND: conn_radii=[1.02]\n", + "labels=['Cl'] 1\n", + "indices=None\n", "blocklist=[[0]]\n", "LIGAND.SPLIT_LIGAND: block=[0]\n", "LIGAND.Get_denticity: checking connectivity of ligand H5-C5\n", @@ -259,11 +434,176 @@ "ADD_ATOM: Chosen Metal index None. H is added at site 0\n", "\tconnectivity verified for atom 0 with label Cl\n", "LIGAND.Get_denticity: final connectivity is 1\n", + "------------- Cell2mol GROUP Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = group\n", + " Number of Atoms = 5\n", + " Formula = C5\n", + " Has Adjacency Matrix = YES\n", + " Origin = split_ligand\n", + " Number of Metals = 1\n", + "---------------------------------------------------\n", + "\n", + "['Hg', 'C', 'C', 'C', 'C', 'C'] [[4.215214736188033, 6.494901153641239, 5.503551957529399], [2.2488128756294996, 4.376589855872433, 9.294433915998171], [2.2972483486345654, 5.047542390734234, 10.498060935507986], [1.7081199523359591, 6.270172910771218, 10.287317576496338], [1.2899359838083557, 6.351495135075149, 8.87511980992345], [1.6535723753719318, 5.133865174726661, 8.303722867448576]]\n", + "------------- Cell2mol GROUP Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = group\n", + " Number of Atoms = 5\n", + " Formula = C5\n", + " Has Adjacency Matrix = YES\n", + " Origin = split_ligand\n", + " Number of Metals = 2\n", + "---------------------------------------------------\n", + "\n", + "['Hg', 'C', 'C', 'C', 'C', 'C'] [[4.215214736188033, 6.494901153641239, 5.503551957529399], [4.612819094668138, 6.625175667834701, 7.502029058424891], [5.20461713114601, 5.674918581398816, 8.318931151088591], [5.346618634150017, 6.172181895834893, 9.660519029332834], [4.815238380909393, 7.460907588221057, 9.627929850104229], [4.34999304013837, 7.7619380643436005, 8.313499621217158]]\n", + "------------- Cell2mol GROUP Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = group\n", + " Number of Atoms = 1\n", + " Formula = Cl\n", + " Has Adjacency Matrix = YES\n", + " Origin = split_ligand\n", + " Number of Metals = 1\n", + "---------------------------------------------------\n", + "\n", + "['Hg', 'Cl'] [[4.215214736188033, 6.494901153641239, 5.503551957529399], [3.729896936201694, 6.38432607195136, 3.2600042288347955]]\n", + "coord_group=[------------- Cell2mol GROUP Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = group\n", + " Number of Atoms = 5\n", + " Formula = C5\n", + " Has Adjacency Matrix = YES\n", + " Origin = split_ligand\n", + " Number of Metals = 2\n", + "---------------------------------------------------\n", + ", ------------- Cell2mol GROUP Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = group\n", + " Number of Atoms = 1\n", + " Formula = Cl\n", + " Has Adjacency Matrix = YES\n", + " Origin = split_ligand\n", + " Number of Metals = 1\n", + "---------------------------------------------------\n", + "]\n", + "self.coord_nr=2\n", + "group.haptic_type=['h5-Cp']\n", + "[[4.612819094668138, 6.625175667834701, 7.502029058424891], [5.20461713114601, 5.674918581398816, 8.318931151088591], [5.346618634150017, 6.172181895834893, 9.660519029332834], [4.815238380909393, 7.460907588221057, 9.627929850104229], [4.34999304013837, 7.7619380643436005, 8.313499621217158]]\n", + "[4.8658573 6.7390244 8.6845817]\n", + "mid point of group.haptic_type=['h5-Cp'] [4.8658573 6.7390244 8.6845817]\n", + "Cl [3.729896936201694, 6.38432607195136, 3.2600042288347955]\n", + "symbols=['Hg', \"['h5-Cp']\", 'Cl']\n", + "positions=[[4.215214736188033, 6.494901153641239, 5.503551957529399], [4.8658573, 6.7390244, 8.6845817], [3.729896936201694, 6.38432607195136, 3.2600042288347955]]\n", + "2\n", + "[[1, 2], [1, 3]]\n", + "Hg [4.215214736188033, 6.494901153641239, 5.503551957529399]\n", + "['h5-Cp'] [4.8658573, 6.7390244, 8.6845817]\n", + "Cl [3.729896936201694, 6.38432607195136, 3.2600042288347955]\n", + "\n", + "The number of coordinating points (including the mid point of haptic ligands) : 2\n", + "{'Linear': 0.989, 'Bent (V-shape, 109.47°)': 14.426, 'Bent (L-shape, 90°)': 24.794}\n", + "The most likely geometry : 'Linear' with deviation value 0.989\n", + "The type of hapticity : [['h5-Cp']]\n", + "\n", + "self.coord_geometry='Linear' self.geom_deviation=0.989\n", + "[2.526, 1.278]\n", + "1.902\n", + "self.rel_metal_radius=1.441\n", + "------------- Cell2mol GROUP Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = group\n", + " Number of Atoms = 5\n", + " Formula = C5\n", + " Has Adjacency Matrix = YES\n", + " Origin = split_ligand\n", + " Number of Metals = 1\n", + "---------------------------------------------------\n", + "\n", + "['Fe', 'C', 'C', 'C', 'C', 'C'] [[3.34959144717347, 6.109654548290584, 9.077607243530519], [2.2488128756294996, 4.376589855872433, 9.294433915998171], [2.2972483486345654, 5.047542390734234, 10.498060935507986], [1.7081199523359591, 6.270172910771218, 10.287317576496338], [1.2899359838083557, 6.351495135075149, 8.87511980992345], [1.6535723753719318, 5.133865174726661, 8.303722867448576]]\n", + "------------- Cell2mol GROUP Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = group\n", + " Number of Atoms = 5\n", + " Formula = C5\n", + " Has Adjacency Matrix = YES\n", + " Origin = split_ligand\n", + " Number of Metals = 2\n", + "---------------------------------------------------\n", + "\n", + "['Fe', 'C', 'C', 'C', 'C', 'C'] [[3.34959144717347, 6.109654548290584, 9.077607243530519], [4.612819094668138, 6.625175667834701, 7.502029058424891], [5.20461713114601, 5.674918581398816, 8.318931151088591], [5.346618634150017, 6.172181895834893, 9.660519029332834], [4.815238380909393, 7.460907588221057, 9.627929850104229], [4.34999304013837, 7.7619380643436005, 8.313499621217158]]\n", + "------------- Cell2mol GROUP Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = group\n", + " Number of Atoms = 1\n", + " Formula = Cl\n", + " Has Adjacency Matrix = YES\n", + " Origin = split_ligand\n", + " Number of Metals = 1\n", + "---------------------------------------------------\n", + "\n", + "['Fe', 'Cl'] [[3.34959144717347, 6.109654548290584, 9.077607243530519], [3.729896936201694, 6.38432607195136, 3.2600042288347955]]\n", + "coord_group=[------------- Cell2mol GROUP Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = group\n", + " Number of Atoms = 5\n", + " Formula = C5\n", + " Has Adjacency Matrix = YES\n", + " Origin = split_ligand\n", + " Number of Metals = 1\n", + "---------------------------------------------------\n", + ", ------------- Cell2mol GROUP Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = group\n", + " Number of Atoms = 5\n", + " Formula = C5\n", + " Has Adjacency Matrix = YES\n", + " Origin = split_ligand\n", + " Number of Metals = 2\n", + "---------------------------------------------------\n", + "]\n", + "self.coord_nr=2\n", + "group.haptic_type=['h5-Cp']\n", + "[[2.2488128756294996, 4.376589855872433, 9.294433915998171], [2.2972483486345654, 5.047542390734234, 10.498060935507986], [1.7081199523359591, 6.270172910771218, 10.287317576496338], [1.2899359838083557, 6.351495135075149, 8.87511980992345], [1.6535723753719318, 5.133865174726661, 8.303722867448576]]\n", + "[1.8395379 5.4359331 9.451731 ]\n", + "mid point of group.haptic_type=['h5-Cp'] [1.8395379 5.4359331 9.451731 ]\n", + "group.haptic_type=['h5-Cp']\n", + "[[4.612819094668138, 6.625175667834701, 7.502029058424891], [5.20461713114601, 5.674918581398816, 8.318931151088591], [5.346618634150017, 6.172181895834893, 9.660519029332834], [4.815238380909393, 7.460907588221057, 9.627929850104229], [4.34999304013837, 7.7619380643436005, 8.313499621217158]]\n", + "[4.8658573 6.7390244 8.6845817]\n", + "mid point of group.haptic_type=['h5-Cp'] [4.8658573 6.7390244 8.6845817]\n", + "symbols=['Fe', \"['h5-Cp']\", \"['h5-Cp']\"]\n", + "positions=[[3.34959144717347, 6.109654548290584, 9.077607243530519], [1.8395379, 5.4359331, 9.451731], [4.8658573, 6.7390244, 8.6845817]]\n", + "2\n", + "[[1, 2], [1, 3]]\n", + "Fe [3.34959144717347, 6.109654548290584, 9.077607243530519]\n", + "['h5-Cp'] [1.8395379, 5.4359331, 9.451731]\n", + "['h5-Cp'] [4.8658573, 6.7390244, 8.6845817]\n", + "\n", + "The number of coordinating points (including the mid point of haptic ligands) : 2\n", + "{'Linear': 0.007, 'Bent (V-shape, 109.47°)': 13.717, 'Bent (L-shape, 90°)': 24.293}\n", + "The most likely geometry : 'Linear' with deviation value 0.007\n", + "The type of hapticity : [['h5-Cp'], ['h5-Cp']]\n", + "\n", + "self.coord_geometry='Linear' self.geom_deviation=0.007\n", + "[0.965, 0.958]\n", + "0.962\n", + "self.rel_metal_radius=0.729\n", "LIGAND.SPLIT_LIGAND: self.indices=[0]\n", "LIGAND.SPLIT_LIGAND: conn_idx=[0]\n", "LIGAND.SPLIT_LIGAND: conn_labels=['Cl']\n", "LIGAND.SPLIT_LIGAND: conn_coord=[[3.467119889580811, 3.2061438651914775, 5.753076439823084]]\n", "LIGAND.SPLIT_LIGAND: conn_radii=[1.02]\n", + "labels=['Cl'] 1\n", + "indices=None\n", "blocklist=[[0]]\n", "LIGAND.SPLIT_LIGAND: block=[0]\n", "LIGAND.SPLIT_LIGAND: self.indices=[0]\n", @@ -271,6 +611,8 @@ "LIGAND.SPLIT_LIGAND: conn_labels=['Cl']\n", "LIGAND.SPLIT_LIGAND: conn_coord=[[2.9351152741778943, 0.5309238179055397, 9.052187683732207]]\n", "LIGAND.SPLIT_LIGAND: conn_radii=[1.02]\n", + "labels=['Cl'] 1\n", + "indices=None\n", "blocklist=[[0]]\n", "LIGAND.SPLIT_LIGAND: block=[0]\n", "LIGAND.SPLIT_LIGAND: self.indices=[0]\n", @@ -278,6 +620,8 @@ "LIGAND.SPLIT_LIGAND: conn_labels=['Cl']\n", "LIGAND.SPLIT_LIGAND: conn_coord=[[1.3562607787141432, -0.06389919010860623, 5.119760056813859]]\n", "LIGAND.SPLIT_LIGAND: conn_radii=[1.02]\n", + "labels=['Cl'] 1\n", + "indices=None\n", "blocklist=[[0]]\n", "LIGAND.SPLIT_LIGAND: block=[0]\n", "LIGAND.SPLIT_LIGAND: self.indices=[0]\n", @@ -285,6 +629,8 @@ "LIGAND.SPLIT_LIGAND: conn_labels=['Cl']\n", "LIGAND.SPLIT_LIGAND: conn_coord=[[2.7576337144776764, -3.8316994367601804, 5.1099833030452775]]\n", "LIGAND.SPLIT_LIGAND: conn_radii=[1.02]\n", + "labels=['Cl'] 1\n", + "indices=None\n", "blocklist=[[0]]\n", "LIGAND.SPLIT_LIGAND: block=[0]\n", "LIGAND.SPLIT_LIGAND: self.indices=[0]\n", @@ -292,6 +638,8 @@ "LIGAND.SPLIT_LIGAND: conn_labels=['Cl']\n", "LIGAND.SPLIT_LIGAND: conn_coord=[[3.2896383298805927, -1.1564793894742424, 1.8108720591361558]]\n", "LIGAND.SPLIT_LIGAND: conn_radii=[1.02]\n", + "labels=['Cl'] 1\n", + "indices=None\n", "blocklist=[[0]]\n", "LIGAND.SPLIT_LIGAND: block=[0]\n", "LIGAND.SPLIT_LIGAND: self.indices=[0]\n", @@ -299,6 +647,8 @@ "LIGAND.SPLIT_LIGAND: conn_labels=['Cl']\n", "LIGAND.SPLIT_LIGAND: conn_coord=[[4.868492825344344, -0.5616563814600966, 5.7432996860545025]]\n", "LIGAND.SPLIT_LIGAND: conn_radii=[1.02]\n", + "labels=['Cl'] 1\n", + "indices=None\n", "blocklist=[[0]]\n", "LIGAND.SPLIT_LIGAND: block=[0]\n", "LIGAND.Get_denticity: checking connectivity of ligand Cl\n", @@ -482,286 +832,390 @@ "ADD_ATOM: received tmpconnec[posadded]=1\n", "ADD_ATOM: Chosen Metal index None. H is added at site 0\n", "\tconnectivity verified for atom 0 with label Cl\n", - "LIGAND.Get_denticity: final connectivity is 2\n" - ] - } - ], - "source": [ - "print(f\"INITIATING cell object from input\") \n", - "\n", - "# Reads reference molecules from info file, as well as labels and coordinates\n", - "labels, pos, ref_labels, ref_fracs, cellvec, cellparam = readinfo(infopath)\n", - "# Initiates cell\n", - "newcell = cell(name, labels, pos, cellvec, cellparam)\n", - "\n", - "# Loads the reference molecules and checks_missing_H\n", - "newcell.get_reference_molecules(ref_labels, ref_fracs, debug=debug) \n", - "newcell.assess_errors()" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "id": "8e7b1211", - "metadata": { - "scrolled": true - }, - "outputs": [ - { - "data": { - "text/plain": [ - "False" - ] - }, - "execution_count": 6, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "newcell.check_missing_H(debug=debug) " - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "id": "93fd5a67", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "##############################################\n", - "FRAG_RECONSTRUCT. 8 molecules submitted to SEQUENTIAL with Heavy\n", - "##############################################\n", - "goodlist=[]\n", - "avglist=[]\n", - "badlist=[------------- Cell2mol MOLECULE Object --------------\n", + "LIGAND.Get_denticity: final connectivity is 2\n", + "------------- Cell2mol GROUP Object --------------\n", " Version = 0.1\n", " Type = specie\n", - " Sub-Type = Heavy\n", - " Number of Atoms = 2\n", - " Formula = Cl-Hg\n", + " Sub-Type = group\n", + " Number of Atoms = 1\n", + " Formula = Cl\n", " Has Adjacency Matrix = YES\n", - " Origin = cell.get_moleclist\n", - " Number of Ligands = 1\n", + " Origin = split_ligand\n", " Number of Metals = 1\n", "---------------------------------------------------\n", - ", ------------- Cell2mol MOLECULE Object --------------\n", + "\n", + "['Hg', 'Cl'] [[3.3561141261371934, -1.7460605666877584, 4.082337851369931], [3.467119889580811, 3.2061438651914775, 5.753076439823084]]\n", + "------------- Cell2mol GROUP Object --------------\n", " Version = 0.1\n", " Type = specie\n", - " Sub-Type = Heavy\n", - " Number of Atoms = 9\n", - " Formula = H3-C5-Fe\n", + " Sub-Type = group\n", + " Number of Atoms = 1\n", + " Formula = Cl\n", " Has Adjacency Matrix = YES\n", - " Origin = cell.get_moleclist\n", - " Number of Ligands = 1\n", + " Origin = split_ligand\n", " Number of Metals = 1\n", "---------------------------------------------------\n", - "]\n", - "goodlist=[]\n", - "avglist=[]\n", - "badlist=[------------- Cell2mol MOLECULE Object --------------\n", + "\n", + "['Hg', 'Cl'] [[3.3561141261371934, -1.7460605666877584, 4.082337851369931], [2.9351152741778943, 0.5309238179055397, 9.052187683732207]]\n", + "------------- Cell2mol GROUP Object --------------\n", " Version = 0.1\n", " Type = specie\n", - " Sub-Type = Heavy\n", - " Number of Atoms = 2\n", - " Formula = Cl-Hg\n", + " Sub-Type = group\n", + " Number of Atoms = 1\n", + " Formula = Cl\n", " Has Adjacency Matrix = YES\n", - " Origin = cell.get_moleclist\n", - " Number of Ligands = 1\n", - " Number of Metals = 1\n", + " Origin = split_ligand\n", + " Number of Metals = 2\n", "---------------------------------------------------\n", - ", ------------- Cell2mol MOLECULE Object --------------\n", + "\n", + "['Hg', 'Cl'] [[3.3561141261371934, -1.7460605666877584, 4.082337851369931], [1.3562607787141432, -0.06389919010860623, 5.119760056813859]]\n", + "------------- Cell2mol GROUP Object --------------\n", " Version = 0.1\n", " Type = specie\n", - " Sub-Type = Heavy\n", - " Number of Atoms = 9\n", - " Formula = H3-C5-Fe\n", + " Sub-Type = group\n", + " Number of Atoms = 1\n", + " Formula = Cl\n", " Has Adjacency Matrix = YES\n", - " Origin = cell.get_moleclist\n", - " Number of Ligands = 1\n", + " Origin = split_ligand\n", " Number of Metals = 1\n", "---------------------------------------------------\n", - "]\n", - "goodlist=[]\n", - "avglist=[]\n", - "badlist=[------------- Cell2mol MOLECULE Object --------------\n", + "\n", + "['Hg', 'Cl'] [[3.3561141261371934, -1.7460605666877584, 4.082337851369931], [2.7576337144776764, -3.8316994367601804, 5.1099833030452775]]\n", + "------------- Cell2mol GROUP Object --------------\n", " Version = 0.1\n", " Type = specie\n", - " Sub-Type = Heavy\n", - " Number of Atoms = 2\n", - " Formula = Cl-Hg\n", + " Sub-Type = group\n", + " Number of Atoms = 1\n", + " Formula = Cl\n", " Has Adjacency Matrix = YES\n", - " Origin = cell.get_moleclist\n", - " Number of Ligands = 1\n", + " Origin = split_ligand\n", " Number of Metals = 1\n", "---------------------------------------------------\n", - ", ------------- Cell2mol MOLECULE Object --------------\n", + "\n", + "['Hg', 'Cl'] [[3.3561141261371934, -1.7460605666877584, 4.082337851369931], [3.2896383298805927, -1.1564793894742424, 1.8108720591361558]]\n", + "------------- Cell2mol GROUP Object --------------\n", " Version = 0.1\n", " Type = specie\n", - " Sub-Type = Heavy\n", - " Number of Atoms = 4\n", - " Formula = Cl3-Hg\n", + " Sub-Type = group\n", + " Number of Atoms = 1\n", + " Formula = Cl\n", " Has Adjacency Matrix = YES\n", - " Origin = cell.get_moleclist\n", - " Number of Ligands = 3\n", - " Number of Metals = 1\n", + " Origin = split_ligand\n", + " Number of Metals = 2\n", "---------------------------------------------------\n", - "]\n", - "goodlist=[]\n", - "avglist=[------------- Cell2mol MOLECULE Object --------------\n", + "\n", + "['Hg', 'Cl'] [[3.3561141261371934, -1.7460605666877584, 4.082337851369931], [4.868492825344344, -0.5616563814600966, 5.7432996860545025]]\n", + "coord_group=[------------- Cell2mol GROUP Object --------------\n", " Version = 0.1\n", " Type = specie\n", - " Sub-Type = Rec. Fragment\n", - " Number of Atoms = 11\n", - " Formula = H4-C5-Cl-Hg\n", + " Sub-Type = group\n", + " Number of Atoms = 1\n", + " Formula = Cl\n", " Has Adjacency Matrix = YES\n", + " Origin = split_ligand\n", + " Number of Metals = 2\n", "---------------------------------------------------\n", - "]\n", - "badlist=[]\n", - "goodlist=[]\n", - "avglist=[]\n", - "badlist=[------------- Cell2mol MOLECULE Object --------------\n", + ", ------------- Cell2mol GROUP Object --------------\n", " Version = 0.1\n", " Type = specie\n", - " Sub-Type = Rec. Fragment\n", - " Number of Atoms = 11\n", - " Formula = H4-C5-Cl-Hg\n", + " Sub-Type = group\n", + " Number of Atoms = 1\n", + " Formula = Cl\n", " Has Adjacency Matrix = YES\n", + " Origin = split_ligand\n", + " Number of Metals = 1\n", "---------------------------------------------------\n", - ", ------------- Cell2mol MOLECULE Object --------------\n", + ", ------------- Cell2mol GROUP Object --------------\n", " Version = 0.1\n", " Type = specie\n", - " Sub-Type = Heavy\n", - " Number of Atoms = 4\n", - " Formula = Cl3-Hg\n", + " Sub-Type = group\n", + " Number of Atoms = 1\n", + " Formula = Cl\n", " Has Adjacency Matrix = YES\n", - " Origin = cell.get_moleclist\n", - " Number of Ligands = 3\n", + " Origin = split_ligand\n", " Number of Metals = 1\n", "---------------------------------------------------\n", - "]\n", - "goodlist=[]\n", - "avglist=[]\n", - "badlist=[------------- Cell2mol MOLECULE Object --------------\n", + ", ------------- Cell2mol GROUP Object --------------\n", " Version = 0.1\n", " Type = specie\n", - " Sub-Type = Rec. Fragment\n", - " Number of Atoms = 11\n", - " Formula = H4-C5-Cl-Hg\n", + " Sub-Type = group\n", + " Number of Atoms = 1\n", + " Formula = Cl\n", " Has Adjacency Matrix = YES\n", + " Origin = split_ligand\n", + " Number of Metals = 2\n", "---------------------------------------------------\n", - ", ------------- Cell2mol MOLECULE Object --------------\n", + "]\n", + "self.coord_nr=4\n", + "Cl [1.3562607787141432, -0.06389919010860623, 5.119760056813859]\n", + "Cl [2.7576337144776764, -3.8316994367601804, 5.1099833030452775]\n", + "Cl [3.2896383298805927, -1.1564793894742424, 1.8108720591361558]\n", + "Cl [4.868492825344344, -0.5616563814600966, 5.7432996860545025]\n", + "symbols=['Hg', 'Cl', 'Cl', 'Cl', 'Cl']\n", + "positions=[[3.3561141261371934, -1.7460605666877584, 4.082337851369931], [1.3562607787141432, -0.06389919010860623, 5.119760056813859], [2.7576337144776764, -3.8316994367601804, 5.1099833030452775], [3.2896383298805927, -1.1564793894742424, 1.8108720591361558], [4.868492825344344, -0.5616563814600966, 5.7432996860545025]]\n", + "4\n", + "[[1, 2], [1, 3], [1, 4], [1, 5]]\n", + "Hg [3.3561141261371934, -1.7460605666877584, 4.082337851369931]\n", + "Cl [1.3562607787141432, -0.06389919010860623, 5.119760056813859]\n", + "Cl [2.7576337144776764, -3.8316994367601804, 5.1099833030452775]\n", + "Cl [3.2896383298805927, -1.1564793894742424, 1.8108720591361558]\n", + "Cl [4.868492825344344, -0.5616563814600966, 5.7432996860545025]\n", + "\n", + "The number of coordinating points (including the mid point of haptic ligands) : 4\n", + "{'Tetrahedral': 1.839, 'Square planar': 29.907, 'Seesaw': 7.15}\n", + "The most likely geometry : 'Tetrahedral' with deviation value 1.839\n", + "The type of hapticity : []\n", + "\n", + "self.coord_geometry='Tetrahedral' self.geom_deviation=1.839\n", + "[1.792, 1.381, 1.328, 1.519]\n", + "1.505\n", + "self.rel_metal_radius=1.14\n", + "------------- Cell2mol GROUP Object --------------\n", " Version = 0.1\n", " Type = specie\n", - " Sub-Type = Heavy\n", - " Number of Atoms = 9\n", - " Formula = H3-C5-Fe\n", + " Sub-Type = group\n", + " Number of Atoms = 1\n", + " Formula = Cl\n", " Has Adjacency Matrix = YES\n", - " Origin = cell.get_moleclist\n", - " Number of Ligands = 1\n", + " Origin = split_ligand\n", " Number of Metals = 1\n", "---------------------------------------------------\n", - "]\n", - "goodlist=[]\n", - "avglist=[------------- Cell2mol MOLECULE Object --------------\n", + "\n", + "['Hg', 'Cl'] [[2.8686394779212936, 1.1205049951190558, 6.780721891498431], [3.467119889580811, 3.2061438651914775, 5.753076439823084]]\n", + "------------- Cell2mol GROUP Object --------------\n", " Version = 0.1\n", " Type = specie\n", - " Sub-Type = Rec. Fragment\n", - " Number of Atoms = 20\n", - " Formula = H7-C10-Cl-Fe-Hg\n", + " Sub-Type = group\n", + " Number of Atoms = 1\n", + " Formula = Cl\n", " Has Adjacency Matrix = YES\n", + " Origin = split_ligand\n", + " Number of Metals = 1\n", "---------------------------------------------------\n", - "]\n", - "badlist=[]\n", - "goodlist=[]\n", - "avglist=[]\n", - "badlist=[------------- Cell2mol MOLECULE Object --------------\n", + "\n", + "['Hg', 'Cl'] [[2.8686394779212936, 1.1205049951190558, 6.780721891498431], [2.9351152741778943, 0.5309238179055397, 9.052187683732207]]\n", + "------------- Cell2mol GROUP Object --------------\n", " Version = 0.1\n", " Type = specie\n", - " Sub-Type = Rec. Fragment\n", - " Number of Atoms = 20\n", - " Formula = H7-C10-Cl-Fe-Hg\n", + " Sub-Type = group\n", + " Number of Atoms = 1\n", + " Formula = Cl\n", " Has Adjacency Matrix = YES\n", + " Origin = split_ligand\n", + " Number of Metals = 2\n", "---------------------------------------------------\n", - ", ------------- Cell2mol MOLECULE Object --------------\n", + "\n", + "['Hg', 'Cl'] [[2.8686394779212936, 1.1205049951190558, 6.780721891498431], [1.3562607787141432, -0.06389919010860623, 5.119760056813859]]\n", + "------------- Cell2mol GROUP Object --------------\n", " Version = 0.1\n", " Type = specie\n", - " Sub-Type = Heavy\n", - " Number of Atoms = 2\n", - " Formula = Cl-Hg\n", + " Sub-Type = group\n", + " Number of Atoms = 1\n", + " Formula = Cl\n", " Has Adjacency Matrix = YES\n", - " Origin = cell.get_moleclist\n", - " Number of Ligands = 1\n", + " Origin = split_ligand\n", " Number of Metals = 1\n", "---------------------------------------------------\n", - "]\n", - "goodlist=[]\n", - "avglist=[]\n", - "badlist=[------------- Cell2mol MOLECULE Object --------------\n", + "\n", + "['Hg', 'Cl'] [[2.8686394779212936, 1.1205049951190558, 6.780721891498431], [2.7576337144776764, -3.8316994367601804, 5.1099833030452775]]\n", + "------------- Cell2mol GROUP Object --------------\n", " Version = 0.1\n", " Type = specie\n", - " Sub-Type = Heavy\n", - " Number of Atoms = 2\n", - " Formula = Cl-Hg\n", + " Sub-Type = group\n", + " Number of Atoms = 1\n", + " Formula = Cl\n", " Has Adjacency Matrix = YES\n", - " Origin = cell.get_moleclist\n", - " Number of Ligands = 1\n", + " Origin = split_ligand\n", " Number of Metals = 1\n", "---------------------------------------------------\n", - ", ------------- Cell2mol MOLECULE Object --------------\n", + "\n", + "['Hg', 'Cl'] [[2.8686394779212936, 1.1205049951190558, 6.780721891498431], [3.2896383298805927, -1.1564793894742424, 1.8108720591361558]]\n", + "------------- Cell2mol GROUP Object --------------\n", " Version = 0.1\n", " Type = specie\n", - " Sub-Type = Rec. Fragment\n", - " Number of Atoms = 20\n", - " Formula = H7-C10-Cl-Fe-Hg\n", + " Sub-Type = group\n", + " Number of Atoms = 1\n", + " Formula = Cl\n", " Has Adjacency Matrix = YES\n", + " Origin = split_ligand\n", + " Number of Metals = 2\n", "---------------------------------------------------\n", - "]\n", - "goodlist=[]\n", - "avglist=[]\n", - "badlist=[------------- Cell2mol MOLECULE Object --------------\n", + "\n", + "['Hg', 'Cl'] [[2.8686394779212936, 1.1205049951190558, 6.780721891498431], [4.868492825344344, -0.5616563814600966, 5.7432996860545025]]\n", + "coord_group=[------------- Cell2mol GROUP Object --------------\n", " Version = 0.1\n", " Type = specie\n", - " Sub-Type = Heavy\n", - " Number of Atoms = 9\n", - " Formula = H3-C5-Fe\n", + " Sub-Type = group\n", + " Number of Atoms = 1\n", + " Formula = Cl\n", " Has Adjacency Matrix = YES\n", - " Origin = cell.get_moleclist\n", - " Number of Ligands = 1\n", + " Origin = split_ligand\n", " Number of Metals = 1\n", "---------------------------------------------------\n", - ", ------------- Cell2mol MOLECULE Object --------------\n", + ", ------------- Cell2mol GROUP Object --------------\n", " Version = 0.1\n", " Type = specie\n", - " Sub-Type = Heavy\n", - " Number of Atoms = 2\n", - " Formula = Cl-Hg\n", + " Sub-Type = group\n", + " Number of Atoms = 1\n", + " Formula = Cl\n", " Has Adjacency Matrix = YES\n", - " Origin = cell.get_moleclist\n", - " Number of Ligands = 1\n", + " Origin = split_ligand\n", " Number of Metals = 1\n", "---------------------------------------------------\n", + ", ------------- Cell2mol GROUP Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = group\n", + " Number of Atoms = 1\n", + " Formula = Cl\n", + " Has Adjacency Matrix = YES\n", + " Origin = split_ligand\n", + " Number of Metals = 2\n", + "---------------------------------------------------\n", + ", ------------- Cell2mol GROUP Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = group\n", + " Number of Atoms = 1\n", + " Formula = Cl\n", + " Has Adjacency Matrix = YES\n", + " Origin = split_ligand\n", + " Number of Metals = 2\n", + "---------------------------------------------------\n", "]\n", + "self.coord_nr=4\n", + "Cl [3.467119889580811, 3.2061438651914775, 5.753076439823084]\n", + "Cl [2.9351152741778943, 0.5309238179055397, 9.052187683732207]\n", + "Cl [1.3562607787141432, -0.06389919010860623, 5.119760056813859]\n", + "Cl [4.868492825344344, -0.5616563814600966, 5.7432996860545025]\n", + "symbols=['Hg', 'Cl', 'Cl', 'Cl', 'Cl']\n", + "positions=[[2.8686394779212936, 1.1205049951190558, 6.780721891498431], [3.467119889580811, 3.2061438651914775, 5.753076439823084], [2.9351152741778943, 0.5309238179055397, 9.052187683732207], [1.3562607787141432, -0.06389919010860623, 5.119760056813859], [4.868492825344344, -0.5616563814600966, 5.7432996860545025]]\n", + "4\n", + "[[1, 2], [1, 3], [1, 4], [1, 5]]\n", + "Hg [2.8686394779212936, 1.1205049951190558, 6.780721891498431]\n", + "Cl [3.467119889580811, 3.2061438651914775, 5.753076439823084]\n", + "Cl [2.9351152741778943, 0.5309238179055397, 9.052187683732207]\n", + "Cl [1.3562607787141432, -0.06389919010860623, 5.119760056813859]\n", + "Cl [4.868492825344344, -0.5616563814600966, 5.7432996860545025]\n", + "\n", + "The number of coordinating points (including the mid point of haptic ligands) : 4\n", + "{'Tetrahedral': 1.839, 'Square planar': 29.907, 'Seesaw': 7.15}\n", + "The most likely geometry : 'Tetrahedral' with deviation value 1.839\n", + "The type of hapticity : []\n", + "\n", + "self.coord_geometry='Tetrahedral' self.geom_deviation=1.839\n", + "[1.381, 1.328, 1.519, 1.792]\n", + "1.505\n", + "self.rel_metal_radius=1.14\n" + ] + } + ], + "source": [ + "print(f\"INITIATING cell object from input\") \n", + "\n", + "# Reads reference molecules from info file, as well as labels and coordinates\n", + "labels, pos, ref_labels, ref_fracs, cellvec, cellparam = readinfo(infopath)\n", + "# Initiates cell\n", + "newcell = cell(name, labels, pos, cellvec, cellparam)\n", + "\n", + "# Loads the reference molecules and checks_missing_H\n", + "newcell.get_reference_molecules(ref_labels, ref_fracs, debug=debug) \n", + "newcell.assess_errors()" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "8e7b1211", + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "##################\n", + "Checking Missing H\n", + "##################\n", + "Not a Single Molecule has Missing H atoms (apparently)\n" + ] + }, + { + "data": { + "text/plain": [ + "False" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "newcell.check_missing_H(debug=debug) " + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "7e9f387f", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Hg 2 Linear 0.989 1.441\n", + "Fe 2 Linear 0.007 0.729\n", + "Hg 2 Linear 0.989 1.441\n", + "Fe 2 Linear 0.007 0.729\n", + "Hg 4 Tetrahedral 1.839 1.14\n", + "Hg 4 Tetrahedral 1.839 1.14\n" + ] + } + ], + "source": [ + "for mol in newcell.refmoleclist:\n", + " for met in mol.metals:\n", + " print(met.label, met.coord_nr, met.coord_geometry, met.geom_deviation, met.rel_metal_radius)" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "93fd5a67", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "CLASSIFY_FRAGMENTS. 12 Blocks sorted as (Molec, Frag, H): 0 8 4\n", + "\n", + "##############################################\n", + "FRAG_RECONSTRUCT. 8 molecules submitted to SEQUENTIAL with Heavy\n", + "##############################################\n", "goodlist=[]\n", "avglist=[]\n", "badlist=[------------- Cell2mol MOLECULE Object --------------\n", " Version = 0.1\n", " Type = specie\n", - " Sub-Type = Rec. Fragment\n", - " Number of Atoms = 20\n", - " Formula = H7-C10-Cl-Fe-Hg\n", + " Sub-Type = Heavy\n", + " Number of Atoms = 2\n", + " Formula = Cl-Hg\n", " Has Adjacency Matrix = YES\n", + " Origin = cell.get_moleclist\n", + " Number of Ligands = 1\n", + " Number of Metals = 1\n", "---------------------------------------------------\n", ", ------------- Cell2mol MOLECULE Object --------------\n", " Version = 0.1\n", " Type = specie\n", " Sub-Type = Heavy\n", - " Number of Atoms = 2\n", - " Formula = Cl-Hg\n", + " Number of Atoms = 9\n", + " Formula = H3-C5-Fe\n", " Has Adjacency Matrix = YES\n", " Origin = cell.get_moleclist\n", " Number of Ligands = 1\n", @@ -774,8 +1228,8 @@ " Version = 0.1\n", " Type = specie\n", " Sub-Type = Heavy\n", - " Number of Atoms = 9\n", - " Formula = H3-C5-Fe\n", + " Number of Atoms = 2\n", + " Formula = Cl-Hg\n", " Has Adjacency Matrix = YES\n", " Origin = cell.get_moleclist\n", " Number of Ligands = 1\n", @@ -785,11 +1239,11 @@ " Version = 0.1\n", " Type = specie\n", " Sub-Type = Heavy\n", - " Number of Atoms = 4\n", - " Formula = Cl3-Hg\n", + " Number of Atoms = 9\n", + " Formula = H3-C5-Fe\n", " Has Adjacency Matrix = YES\n", " Origin = cell.get_moleclist\n", - " Number of Ligands = 3\n", + " Number of Ligands = 1\n", " Number of Metals = 1\n", "---------------------------------------------------\n", "]\n", @@ -810,11 +1264,11 @@ " Version = 0.1\n", " Type = specie\n", " Sub-Type = Heavy\n", - " Number of Atoms = 9\n", - " Formula = H3-C5-Fe\n", + " Number of Atoms = 4\n", + " Formula = Cl3-Hg\n", " Has Adjacency Matrix = YES\n", " Origin = cell.get_moleclist\n", - " Number of Ligands = 1\n", + " Number of Ligands = 3\n", " Number of Metals = 1\n", "---------------------------------------------------\n", "]\n", @@ -830,12 +1284,219 @@ "]\n", "badlist=[]\n", "goodlist=[]\n", - "avglist=[------------- Cell2mol MOLECULE Object --------------\n", + "avglist=[]\n", + "badlist=[------------- Cell2mol MOLECULE Object --------------\n", " Version = 0.1\n", " Type = specie\n", " Sub-Type = Rec. Fragment\n", - " Number of Atoms = 20\n", - " Formula = H7-C10-Cl-Fe-Hg\n", + " Number of Atoms = 11\n", + " Formula = H4-C5-Cl-Hg\n", + " Has Adjacency Matrix = YES\n", + "---------------------------------------------------\n", + ", ------------- Cell2mol MOLECULE Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = Heavy\n", + " Number of Atoms = 4\n", + " Formula = Cl3-Hg\n", + " Has Adjacency Matrix = YES\n", + " Origin = cell.get_moleclist\n", + " Number of Ligands = 3\n", + " Number of Metals = 1\n", + "---------------------------------------------------\n", + "]\n", + "goodlist=[]\n", + "avglist=[]\n", + "badlist=[------------- Cell2mol MOLECULE Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = Rec. Fragment\n", + " Number of Atoms = 11\n", + " Formula = H4-C5-Cl-Hg\n", + " Has Adjacency Matrix = YES\n", + "---------------------------------------------------\n", + ", ------------- Cell2mol MOLECULE Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = Heavy\n", + " Number of Atoms = 9\n", + " Formula = H3-C5-Fe\n", + " Has Adjacency Matrix = YES\n", + " Origin = cell.get_moleclist\n", + " Number of Ligands = 1\n", + " Number of Metals = 1\n", + "---------------------------------------------------\n", + "]\n", + "goodlist=[]\n", + "avglist=[------------- Cell2mol MOLECULE Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = Rec. Fragment\n", + " Number of Atoms = 20\n", + " Formula = H7-C10-Cl-Fe-Hg\n", + " Has Adjacency Matrix = YES\n", + "---------------------------------------------------\n", + "]\n", + "badlist=[]\n", + "goodlist=[]\n", + "avglist=[]\n", + "badlist=[------------- Cell2mol MOLECULE Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = Rec. Fragment\n", + " Number of Atoms = 20\n", + " Formula = H7-C10-Cl-Fe-Hg\n", + " Has Adjacency Matrix = YES\n", + "---------------------------------------------------\n", + ", ------------- Cell2mol MOLECULE Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = Heavy\n", + " Number of Atoms = 2\n", + " Formula = Cl-Hg\n", + " Has Adjacency Matrix = YES\n", + " Origin = cell.get_moleclist\n", + " Number of Ligands = 1\n", + " Number of Metals = 1\n", + "---------------------------------------------------\n", + "]\n", + "goodlist=[]\n", + "avglist=[]\n", + "badlist=[------------- Cell2mol MOLECULE Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = Heavy\n", + " Number of Atoms = 2\n", + " Formula = Cl-Hg\n", + " Has Adjacency Matrix = YES\n", + " Origin = cell.get_moleclist\n", + " Number of Ligands = 1\n", + " Number of Metals = 1\n", + "---------------------------------------------------\n", + ", ------------- Cell2mol MOLECULE Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = Rec. Fragment\n", + " Number of Atoms = 20\n", + " Formula = H7-C10-Cl-Fe-Hg\n", + " Has Adjacency Matrix = YES\n", + "---------------------------------------------------\n", + "]\n", + "goodlist=[]\n", + "avglist=[]\n", + "badlist=[------------- Cell2mol MOLECULE Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = Heavy\n", + " Number of Atoms = 9\n", + " Formula = H3-C5-Fe\n", + " Has Adjacency Matrix = YES\n", + " Origin = cell.get_moleclist\n", + " Number of Ligands = 1\n", + " Number of Metals = 1\n", + "---------------------------------------------------\n", + ", ------------- Cell2mol MOLECULE Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = Heavy\n", + " Number of Atoms = 2\n", + " Formula = Cl-Hg\n", + " Has Adjacency Matrix = YES\n", + " Origin = cell.get_moleclist\n", + " Number of Ligands = 1\n", + " Number of Metals = 1\n", + "---------------------------------------------------\n", + "]\n", + "goodlist=[]\n", + "avglist=[]\n", + "badlist=[------------- Cell2mol MOLECULE Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = Rec. Fragment\n", + " Number of Atoms = 20\n", + " Formula = H7-C10-Cl-Fe-Hg\n", + " Has Adjacency Matrix = YES\n", + "---------------------------------------------------\n", + ", ------------- Cell2mol MOLECULE Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = Heavy\n", + " Number of Atoms = 2\n", + " Formula = Cl-Hg\n", + " Has Adjacency Matrix = YES\n", + " Origin = cell.get_moleclist\n", + " Number of Ligands = 1\n", + " Number of Metals = 1\n", + "---------------------------------------------------\n", + "]\n", + "goodlist=[]\n", + "avglist=[]\n", + "badlist=[------------- Cell2mol MOLECULE Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = Heavy\n", + " Number of Atoms = 9\n", + " Formula = H3-C5-Fe\n", + " Has Adjacency Matrix = YES\n", + " Origin = cell.get_moleclist\n", + " Number of Ligands = 1\n", + " Number of Metals = 1\n", + "---------------------------------------------------\n", + ", ------------- Cell2mol MOLECULE Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = Heavy\n", + " Number of Atoms = 4\n", + " Formula = Cl3-Hg\n", + " Has Adjacency Matrix = YES\n", + " Origin = cell.get_moleclist\n", + " Number of Ligands = 3\n", + " Number of Metals = 1\n", + "---------------------------------------------------\n", + "]\n", + "goodlist=[]\n", + "avglist=[]\n", + "badlist=[------------- Cell2mol MOLECULE Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = Heavy\n", + " Number of Atoms = 2\n", + " Formula = Cl-Hg\n", + " Has Adjacency Matrix = YES\n", + " Origin = cell.get_moleclist\n", + " Number of Ligands = 1\n", + " Number of Metals = 1\n", + "---------------------------------------------------\n", + ", ------------- Cell2mol MOLECULE Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = Heavy\n", + " Number of Atoms = 9\n", + " Formula = H3-C5-Fe\n", + " Has Adjacency Matrix = YES\n", + " Origin = cell.get_moleclist\n", + " Number of Ligands = 1\n", + " Number of Metals = 1\n", + "---------------------------------------------------\n", + "]\n", + "goodlist=[]\n", + "avglist=[------------- Cell2mol MOLECULE Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = Rec. Fragment\n", + " Number of Atoms = 11\n", + " Formula = H4-C5-Cl-Hg\n", + " Has Adjacency Matrix = YES\n", + "---------------------------------------------------\n", + "]\n", + "badlist=[]\n", + "goodlist=[]\n", + "avglist=[------------- Cell2mol MOLECULE Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = Rec. Fragment\n", + " Number of Atoms = 20\n", + " Formula = H7-C10-Cl-Fe-Hg\n", " Has Adjacency Matrix = YES\n", "---------------------------------------------------\n", "]\n", @@ -1429,7 +2090,7 @@ " ---------------------------------------------------]" ] }, - "execution_count": 7, + "execution_count": 12, "metadata": {}, "output_type": "execute_result" } @@ -1440,7 +2101,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 13, "id": "1a4d5062", "metadata": { "scrolled": true @@ -1452,7 +2113,7 @@ "False" ] }, - "execution_count": 8, + "execution_count": 13, "metadata": {}, "output_type": "execute_result" } @@ -1463,7 +2124,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 14, "id": "5eb92088", "metadata": {}, "outputs": [ @@ -1473,7 +2134,7 @@ "False" ] }, - "execution_count": 9, + "execution_count": 14, "metadata": {}, "output_type": "execute_result" } @@ -1484,7 +2145,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 15, "id": "3e82eb55", "metadata": {}, "outputs": [ @@ -1523,7 +2184,7 @@ " ---------------------------------------------------]" ] }, - "execution_count": 10, + "execution_count": 15, "metadata": {}, "output_type": "execute_result" } @@ -1534,7 +2195,15 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": null, + "id": "faf1d1d9", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 16, "id": "d3a63460", "metadata": {}, "outputs": [ @@ -1576,7 +2245,7 @@ " ---------------------------------------------------]" ] }, - "execution_count": 11, + "execution_count": 16, "metadata": {}, "output_type": "execute_result" } @@ -1587,449 +2256,131 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 17, "id": "f10195bc", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[------------- Cell2mol LIGAND Object --------------\n", - " Version = 0.1\n", - " Type = specie\n", - " Sub-Type = ligand\n", - " Number of Atoms = 1\n", - " Formula = Cl\n", - " Has Adjacency Matrix = YES\n", - " Origin = split_complex\n", - " ---------------------------------------------------,\n", - " ------------- Cell2mol METAL Object --------------\n", - " Version = 0.1\n", - " Type = atom\n", - " Sub-Type = metal\n", - " Label = Hg\n", - " Atomic Number = 80\n", - " Index in Molecule = 0\n", - " Metal Adjacency (mconnec) = 4\n", - " Regular Adjacencies (connec) = 4\n", - " Coordination Sphere Formula = Cl4\n", - " ----------------------------------------------------,\n", - " ------------- Cell2mol LIGAND Object --------------\n", - " Version = 0.1\n", - " Type = specie\n", - " Sub-Type = ligand\n", - " Number of Atoms = 10\n", - " Formula = H5-C5\n", - " Has Adjacency Matrix = YES\n", - " Origin = split_complex\n", - " ---------------------------------------------------,\n", - " ------------- Cell2mol LIGAND Object --------------\n", - " Version = 0.1\n", - " Type = specie\n", - " Sub-Type = ligand\n", - " Number of Atoms = 9\n", - " Formula = H4-C5\n", - " Has Adjacency Matrix = YES\n", - " Origin = split_complex\n", - " ---------------------------------------------------,\n", - " ------------- Cell2mol METAL Object --------------\n", - " Version = 0.1\n", - " Type = atom\n", - " Sub-Type = metal\n", - " Label = Hg\n", - " Atomic Number = 80\n", - " Index in Molecule = 0\n", - " Metal Adjacency (mconnec) = 2\n", - " Regular Adjacencies (connec) = 2\n", - " Coordination Sphere Formula = C-Cl\n", - " ----------------------------------------------------,\n", - " ------------- Cell2mol METAL Object --------------\n", - " Version = 0.1\n", - " Type = atom\n", - " Sub-Type = metal\n", - " Label = Fe\n", - " Atomic Number = 26\n", - " Index in Molecule = 1\n", - " Metal Adjacency (mconnec) = 10\n", - " Regular Adjacencies (connec) = 10\n", - " Coordination Sphere Formula = C10\n", - " ----------------------------------------------------]" - ] - }, - "execution_count": 12, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "newcell.get_unique_species(debug=debug)" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "id": "25e6cdaa", - "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "LIGAND.SPLIT_LIGAND: self.indices=[0]\n", - "LIGAND.SPLIT_LIGAND: conn_idx=[0]\n", - "LIGAND.SPLIT_LIGAND: conn_labels=['Cl']\n", - "LIGAND.SPLIT_LIGAND: conn_coord=[[3.4671199, 3.2061439, 5.7530764]]\n", - "LIGAND.SPLIT_LIGAND: conn_radii=[1.02]\n", - "blocklist=[[0]]\n", - "LIGAND.SPLIT_LIGAND: block=[0]\n", - "ADD_ATOM: Metalist length 1\n", - "ADD_ATOM: Ligand Atoms 1\n", - "ADD_ATOM: site= 0\n", - "ADD_ATOM: evaluating apos=array([3.4671199, 3.2061439, 5.7530764]) and tgt.coord=[2.8686395, 1.120505, 6.7807219]\n", - "ADD_ATOM: received tmpconnec[posadded]=1\n", - "ADD_ATOM: Chosen Metal index None. H is added at site 0\n", - "protonation_states=[------------- Cell2mol Protonation ----------------\n", - " Status = True\n", - " Labels = ['Cl']\n", - " Type = Local\n", - " Atoms added in positions = [0]\n", - " Atoms blocked (no atoms added) = [1]\n", + "Molecule 0 formula=Cl6-Hg2\n", + "New ligand found with: formula Cl added in position 0\n", + "COMPARE_SPECIES. Comparing:\n", + "------------- Cell2mol LIGAND Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = ligand\n", + " Number of Atoms = 1\n", + " Formula = Cl\n", + " Has Adjacency Matrix = YES\n", + " Origin = split_complex\n", "---------------------------------------------------\n", - "]\n", - "smiles='[Cl-]'\n", - "smiles='[Cl-]'\n", - "smiles='[Cl-]'\n", - "smiles='[Cl-]'\n", - "smiles='[Cl-]'\n", - "Cl\n", - "spec.protonation_states=[------------- Cell2mol Protonation ----------------\n", - " Status = True\n", - " Labels = ['Cl']\n", - " Type = Local\n", - " Atoms added in positions = [0]\n", - " Atoms blocked (no atoms added) = [1]\n", + "\n", + "------------- Cell2mol LIGAND Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = ligand\n", + " Number of Atoms = 1\n", + " Formula = Cl\n", + " Has Adjacency Matrix = YES\n", + " Origin = split_complex\n", "---------------------------------------------------\n", - "]\n", "\n", - "LIGAND.SPLIT_LIGAND: self.indices=[0]\n", - "LIGAND.SPLIT_LIGAND: conn_idx=[0]\n", - "LIGAND.SPLIT_LIGAND: conn_labels=['Cl']\n", - "LIGAND.SPLIT_LIGAND: conn_coord=[[2.9351153, 0.5309238, 9.0521877]]\n", - "LIGAND.SPLIT_LIGAND: conn_radii=[1.02]\n", - "blocklist=[[0]]\n", - "LIGAND.SPLIT_LIGAND: block=[0]\n", - "LIGAND.SPLIT_LIGAND: self.indices=[0]\n", - "LIGAND.SPLIT_LIGAND: conn_idx=[0]\n", - "LIGAND.SPLIT_LIGAND: conn_labels=['Cl']\n", - "LIGAND.SPLIT_LIGAND: conn_coord=[[1.3562608, -0.0638992, 5.1197601]]\n", - "LIGAND.SPLIT_LIGAND: conn_radii=[1.02]\n", - "blocklist=[[0]]\n", - "LIGAND.SPLIT_LIGAND: block=[0]\n", - "LIGAND.SPLIT_LIGAND: self.indices=[0]\n", - "LIGAND.SPLIT_LIGAND: conn_idx=[0]\n", - "LIGAND.SPLIT_LIGAND: conn_labels=['Cl']\n", - "LIGAND.SPLIT_LIGAND: conn_coord=[[2.7576338000000002, -3.8316994000000006, 5.1099833]]\n", - "LIGAND.SPLIT_LIGAND: conn_radii=[1.02]\n", - "blocklist=[[0]]\n", - "LIGAND.SPLIT_LIGAND: block=[0]\n", - "LIGAND.SPLIT_LIGAND: self.indices=[0]\n", - "LIGAND.SPLIT_LIGAND: conn_idx=[0]\n", - "LIGAND.SPLIT_LIGAND: conn_labels=['Cl']\n", - "LIGAND.SPLIT_LIGAND: conn_coord=[[3.2896384000000003, -1.1564794000000003, 1.8108721]]\n", - "LIGAND.SPLIT_LIGAND: conn_radii=[1.02]\n", - "blocklist=[[0]]\n", - "LIGAND.SPLIT_LIGAND: block=[0]\n", - "LIGAND.SPLIT_LIGAND: self.indices=[0]\n", - "LIGAND.SPLIT_LIGAND: conn_idx=[0]\n", - "LIGAND.SPLIT_LIGAND: conn_labels=['Cl']\n", - "LIGAND.SPLIT_LIGAND: conn_coord=[[4.8684929, -0.5616564000000004, 5.7432997]]\n", - "LIGAND.SPLIT_LIGAND: conn_radii=[1.02]\n", - "blocklist=[[0]]\n", - "LIGAND.SPLIT_LIGAND: block=[0]\n", + "['Cl']\n", + "['Cl']\n", + "mol1.adj_types=array([[0, 0, 0, ..., 0, 0, 0],\n", + " [0, 0, 0, ..., 0, 0, 0],\n", + " [0, 0, 0, ..., 0, 0, 0],\n", + " ...,\n", + " [0, 0, 0, ..., 0, 0, 0],\n", + " [0, 0, 0, ..., 0, 0, 0],\n", + " [0, 0, 0, ..., 0, 0, 0]])\n", + "mol2.adj_types=array([[0, 0, 0, ..., 0, 0, 0],\n", + " [0, 0, 0, ..., 0, 0, 0],\n", + " [0, 0, 0, ..., 0, 0, 0],\n", + " ...,\n", + " [0, 0, 0, ..., 0, 0, 0],\n", + " [0, 0, 0, ..., 0, 0, 0],\n", + " [0, 0, 0, ..., 0, 0, 0]])\n", + "ligand 1 is the same with 0 in typelist\n", + "COMPARE_SPECIES. Comparing:\n", + "------------- Cell2mol LIGAND Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = ligand\n", + " Number of Atoms = 1\n", + " Formula = Cl\n", + " Has Adjacency Matrix = YES\n", + " Origin = split_complex\n", + "---------------------------------------------------\n", "\n", - "LIGAND.SPLIT_LIGAND: self.indices=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]\n", - "LIGAND.SPLIT_LIGAND: conn_idx=[0, 2, 4, 6, 8]\n", - "LIGAND.SPLIT_LIGAND: conn_labels=['C', 'C', 'C', 'C', 'C']\n", - "LIGAND.SPLIT_LIGAND: conn_coord=[[8.4662071, 4.3093526, 1.5686258], [8.4177716, 3.6384001, 0.3649988], [9.0069, 2.4157695, 0.5757422], [9.425084, 2.3344473, 1.9879399], [9.061447600000001, 3.5520773, 2.5593369]]\n", - "LIGAND.SPLIT_LIGAND: conn_radii=[0.73, 0.73, 0.73, 0.73, 0.73]\n", - "blocklist=[[0, 1, 2, 3, 4]]\n", - "LIGAND.SPLIT_LIGAND: block=[0, 1, 2, 3, 4]\n", - "\tAtom 0 : C \tMetal : Fe \tdistance : 2.065 \tthres : 2.501\n", - "\tAtom 1 : C \tMetal : Fe \tdistance : 2.062 \tthres : 2.501\n", - "\tAtom 2 : C \tMetal : Fe \tdistance : 2.045 \tthres : 2.501\n", - "\tAtom 3 : C \tMetal : Fe \tdistance : 2.084 \tthres : 2.501\n", - "\tAtom 4 : C \tMetal : Fe \tdistance : 2.104 \tthres : 2.501\n", - "ratio_list=[0.826, 0.824, 0.818, 0.833, 0.841] std_dev=0.008\n", - "protonation_states=[------------- Cell2mol Protonation ----------------\n", - " Status = True\n", - " Labels = ['C', 'H', 'C', 'H', 'C', 'H', 'C', 'H', 'C', 'H', 'H']\n", - " Type = Local\n", - " Atoms added in positions = [1 0 0 0 0 0 0 0 0 0]\n", - " Atoms blocked (no atoms added) = [1 0 1 0 1 0 1 0 1 0]\n", + "------------- Cell2mol LIGAND Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = ligand\n", + " Number of Atoms = 1\n", + " Formula = Cl\n", + " Has Adjacency Matrix = YES\n", + " Origin = split_complex\n", "---------------------------------------------------\n", - "]\n", - "smiles='[H]C1=C([H])C([H])([H])C([H])=C1[H]'\n", - "smiles='[H][C+]1[C-]([H])[C-]([H])C([H])([H])[C-]1[H]'\n", - "smiles='[H][C+]1[C-]([H])[C+]([H])C([H])([H])[C-]1[H]'\n", - "smiles='[H][C+]1[C-]([H])[C-]([H])[C-]([H])C1([H])[H]'\n", - "smiles='[H][C+]1[C+]([H])C([H])([H])[C+]([H])[C-]1[H]'\n", - "H5-C5\n", - "spec.protonation_states=[------------- Cell2mol Protonation ----------------\n", - " Status = True\n", - " Labels = ['C', 'H', 'C', 'H', 'C', 'H', 'C', 'H', 'C', 'H', 'H']\n", - " Type = Local\n", - " Atoms added in positions = [1 0 0 0 0 0 0 0 0 0]\n", - " Atoms blocked (no atoms added) = [1 0 1 0 1 0 1 0 1 0]\n", + "\n", + "['Cl']\n", + "['Cl']\n", + "mol1.adj_types=array([[0, 0, 0, ..., 0, 0, 0],\n", + " [0, 0, 0, ..., 0, 0, 0],\n", + " [0, 0, 0, ..., 0, 0, 0],\n", + " ...,\n", + " [0, 0, 0, ..., 0, 0, 0],\n", + " [0, 0, 0, ..., 0, 0, 0],\n", + " [0, 0, 0, ..., 0, 0, 0]])\n", + "mol2.adj_types=array([[0, 0, 0, ..., 0, 0, 0],\n", + " [0, 0, 0, ..., 0, 0, 0],\n", + " [0, 0, 0, ..., 0, 0, 0],\n", + " ...,\n", + " [0, 0, 0, ..., 0, 0, 0],\n", + " [0, 0, 0, ..., 0, 0, 0],\n", + " [0, 0, 0, ..., 0, 0, 0]])\n", + "ligand 2 is the same with 0 in typelist\n", + "COMPARE_SPECIES. Comparing:\n", + "------------- Cell2mol LIGAND Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = ligand\n", + " Number of Atoms = 1\n", + " Formula = Cl\n", + " Has Adjacency Matrix = YES\n", + " Origin = split_complex\n", "---------------------------------------------------\n", - "]\n", "\n", - "LIGAND.SPLIT_LIGAND: self.indices=[0, 1, 2, 3, 4, 5, 6, 7, 8]\n", - "LIGAND.SPLIT_LIGAND: conn_idx=[0, 1, 3, 5, 7]\n", - "LIGAND.SPLIT_LIGAND: conn_labels=['C', 'C', 'C', 'C', 'C']\n", - "LIGAND.SPLIT_LIGAND: conn_coord=[[6.1022008, 2.0607668, 3.3610307], [5.5104028, 3.0110239, 2.5441286], [5.3684013, 2.5137605, 1.2025407], [5.8997816, 1.2250349, 1.2351299], [6.3650269, 0.9240044, 2.5495601]]\n", - "LIGAND.SPLIT_LIGAND: conn_radii=[0.73, 0.73, 0.73, 0.73, 0.73]\n", - "blocklist=[[0, 1, 2, 3, 4]]\n", - "LIGAND.SPLIT_LIGAND: block=[0, 1, 2, 3, 4]\n", - "\tAtom 0 : C \tMetal : Hg \tdistance : 2.042 \tthres : 2.501\n", - "\tAtom 1 : C \tMetal : Fe \tdistance : 2.051 \tthres : 2.501\n", - "\tAtom 2 : C \tMetal : Fe \tdistance : 2.081 \tthres : 2.501\n", - "\tAtom 3 : C \tMetal : Fe \tdistance : 2.068 \tthres : 2.501\n", - "\tAtom 4 : C \tMetal : Fe \tdistance : 2.077 \tthres : 2.501\n", - "ratio_list=[0.816, 0.82, 0.832, 0.827, 0.83] std_dev=0.006\n", - "protonation_states=[------------- Cell2mol Protonation ----------------\n", - " Status = True\n", - " Labels = ['C', 'C', 'H', 'C', 'H', 'C', 'H', 'C', 'H', 'H']\n", - " Type = Local\n", - " Atoms added in positions = [0 1 0 0 0 0 0 0 0]\n", - " Atoms blocked (no atoms added) = [0 1 0 1 0 1 0 1 0]\n", + "------------- Cell2mol LIGAND Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = ligand\n", + " Number of Atoms = 1\n", + " Formula = Cl\n", + " Has Adjacency Matrix = YES\n", + " Origin = split_complex\n", "---------------------------------------------------\n", - "]\n", - "smiles='[H][C+]1CC([H])([H])[C+]([H])[C-]1[H]'\n", - "smiles='[H]C1=[C-]C([H])([H])C([H])=C1[H]'\n", - "smiles='[H][C+]1[C+]([H])C([H])([H])C[C-]1[H]'\n", - "smiles='[H][C+]1CC([H])([H])[C-]([H])[C-]1[H]'\n", - "smiles='[H][C+]1CC([H])([H])[C+]([H])[C+]1[H]'\n", - "H4-C5\n", - "spec.protonation_states=[------------- Cell2mol Protonation ----------------\n", - " Status = True\n", - " Labels = ['C', 'C', 'H', 'C', 'H', 'C', 'H', 'C', 'H', 'H']\n", - " Type = Local\n", - " Atoms added in positions = [0 1 0 0 0 0 0 0 0]\n", - " Atoms blocked (no atoms added) = [0 1 0 1 0 1 0 1 0]\n", - "---------------------------------------------------\n", - "]\n", - "\n", - "LIGAND.SPLIT_LIGAND: self.indices=[0]\n", - "LIGAND.SPLIT_LIGAND: conn_idx=[0]\n", - "LIGAND.SPLIT_LIGAND: conn_labels=['Cl']\n", - "LIGAND.SPLIT_LIGAND: conn_coord=[[6.985123, 2.3016164, 7.6030555]]\n", - "LIGAND.SPLIT_LIGAND: conn_radii=[1.02]\n", - "blocklist=[[0]]\n", - "LIGAND.SPLIT_LIGAND: block=[0]\n", - "\n", - "\n", - "[[-1], [2], [-1], [-2], [2], [2, 3, 0]]\n" - ] - } - ], - "source": [ - "selected_cs = []\n", - "for idx, spec in enumerate(newcell.unique_species):\n", - "# print(\"doing\", spec)\n", - " if spec.subtype != \"metal\":\n", - " spec.get_protonation_states()\n", - " spec.get_possible_cs()\n", - " print(spec.formula)\n", - " selected_cs.append(list([cs.corr_total_charge for cs in spec.possible_cs]))\n", - " print(f\"{spec.protonation_states=}\")\n", - "# for prot in spec.protonation_states :\n", - "# for sub_spec, sub_prot in zip(spec.coord, prot.coords):\n", - "# print(sub_spec, sub_prot, (sub_spec == sub_prot)) \n", - "# print(\"==========\") \n", - "# for cs in spec.possible_cs :\n", - "# for sub_spec, sub_cs_prot in zip(spec.coord, cs.protonation.coords):\n", - "# print(sub_spec, sub_cs_prot, (sub_spec == sub_cs_prot)) \n", - " \n", - "# print(\"==========\") \n", - "# for prot, cs in zip(spec.protonation_states, spec.possible_cs) :\n", - "# for sub_prot, sub_cs_prot in zip(prot.coords, cs.protonation.coords):\n", - "# print(sub_prot, sub_cs_prot, (sub_prot == sub_cs_prot)) \n", - " else :\n", - " spec.get_possible_cs()\n", - " selected_cs.append(spec.possible_cs) \n", - " print(\"\")\n", - "print(selected_cs)" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "id": "2972ca26", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[[-1], [2], [-1], [-2], [2], [2, 3, 0]]" - ] - }, - "execution_count": 14, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "selected_cs" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "id": "2de46e92", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "d=[-1, -1, -1, -1, -1, -1, 2, 2, -1, -2, -1, 2, 2, -2, -1, -1, 2, 2]\n", - "d=[-1, -1, -1, -1, -1, -1, 2, 2, -1, -2, -1, 2, 2, -2, -1, -1, 2, 2]\n", - "d=[-1, -1, -1, -1, -1, -1, 2, 2, -1, -2, -1, 2, 3, -2, -1, -1, 2, 3]\n", - "d=[-1, -1, -1, -1, -1, -1, 2, 2, -1, -2, -1, 2, 2, -2, -1, -1, 2, 2]\n", - "d=[-1, -1, -1, -1, -1, -1, 2, 2, -1, -2, -1, 2, 3, -2, -1, -1, 2, 3]\n", - "d=[-1, -1, -1, -1, -1, -1, 2, 2, -1, -2, -1, 2, 0, -2, -1, -1, 2, 0]\n" - ] - } - ], - "source": [ - "final_charge_distribution = balance_charge(newcell.unique_indices, newcell.unique_species, debug=debug)" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "id": "6e2772ef", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[[-1, -1, -1, -1, -1, -1, 2, 2, -1, -2, -1, 2, 3, -2, -1, -1, 2, 3]]" - ] - }, - "execution_count": 16, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "final_charge_distribution" - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "id": "bbe21465", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "6 Species (Metal or Ligand or Molecules) to Characterize\n", - " POSCHARGE will try charges [0, -1, 1, -2, 2]\n", - "smiles='[Cl-]'\n", - " POSCHARGE: charge 0 with smiles [Cl-]\n", - "smiles='[Cl-]'\n", - " POSCHARGE: charge 0 with smiles [Cl-]\n", - "smiles='[Cl-]'\n", - " POSCHARGE: charge 0 with smiles [Cl-]\n", - "smiles='[Cl-]'\n", - " POSCHARGE: charge 0 with smiles [Cl-]\n", - "smiles='[Cl-]'\n", - " POSCHARGE: charge 0 with smiles [Cl-]\n", - " NEW SELECT FUNCTION: uncorr_total: [-1, -1, -1, -1, -1]\n", - " NEW SELECT FUNCTION: uncorr_abs_total: [1, 1, 1, 1, 1]\n", - " NEW SELECT FUNCTION: uncorr_abs_atcharge: [1, 1, 1, 1, 1]\n", - " NEW SELECT FUNCTION: uncorr_zwitt: [False, False, False, False, False]\n", - " NEW SELECT FUNCTION: coincide: [False, True, False, False, False]\n", - " NEW SELECT FUNCTION: listofmintot: [0, 1, 2, 3, 4]\n", - " NEW SELECT FUNCTION: listofminabs: [0, 1, 2, 3, 4]\n", - " NEW SELECT FUNCTION: tmplist: [1], including:\n", - " NEW SELECT FUNCTION: Corr_charge=-1\n", - " NEW SELECT FUNCTION: Smiles=[Cl-]\n", - " NEW SELECT FUNCTION: found corr_charges=[-1]\n", - " NEW SELECT FUNCTION: doing tgt_charge=-1\n", - " NEW SELECT FUNCTION: charge_state added\n", - " NEW SELECT FUNCTION: Case 1, only one entry for -1 in tmplist\n", - " POSCHARGE will try charges [0, -1, 1, -2, 2]\n", - "smiles='[H]C1=C([H])C([H])([H])C([H])=C1[H]'\n", - " POSCHARGE: charge 0 with smiles [H]C1=C([H])C([H])([H])C([H])=C1[H]\n", - "smiles='[H][C+]1[C-]([H])[C-]([H])C([H])([H])[C-]1[H]'\n", - " POSCHARGE: charge 0 with smiles [H][C+]1[C-]([H])[C-]([H])C([H])([H])[C-]1[H]\n", - "smiles='[H][C+]1[C-]([H])[C+]([H])C([H])([H])[C-]1[H]'\n", - " POSCHARGE: charge 0 with smiles [H][C+]1[C-]([H])[C+]([H])C([H])([H])[C-]1[H]\n", - "smiles='[H][C+]1[C-]([H])[C-]([H])[C-]([H])C1([H])[H]'\n", - " POSCHARGE: charge 0 with smiles [H][C+]1[C-]([H])[C-]([H])[C-]([H])C1([H])[H]\n", - "smiles='[H][C+]1[C+]([H])C([H])([H])[C+]([H])[C-]1[H]'\n", - " POSCHARGE: charge 0 with smiles [H][C+]1[C+]([H])C([H])([H])[C+]([H])[C-]1[H]\n", - " NEW SELECT FUNCTION: uncorr_total: [0, -2, 0, -2, 2]\n", - " NEW SELECT FUNCTION: uncorr_abs_total: [0, 2, 0, 2, 2]\n", - " NEW SELECT FUNCTION: uncorr_abs_atcharge: [0, 4, 4, 4, 4]\n", - " NEW SELECT FUNCTION: uncorr_zwitt: [False, True, True, True, True]\n", - " NEW SELECT FUNCTION: coincide: [True, False, False, True, True]\n", - " NEW SELECT FUNCTION: listofmintot: [0, 2]\n", - " NEW SELECT FUNCTION: listofminabs: [0]\n", - " NEW SELECT FUNCTION: tmplist: [0], including:\n", - " NEW SELECT FUNCTION: Corr_charge=-1\n", - " NEW SELECT FUNCTION: Smiles=[H]C1=C([H])C([H])([H])C([H])=C1[H]\n", - " NEW SELECT FUNCTION: found corr_charges=[-1]\n", - " NEW SELECT FUNCTION: doing tgt_charge=-1\n", - " NEW SELECT FUNCTION: charge_state added\n", - " NEW SELECT FUNCTION: Case 1, only one entry for -1 in tmplist\n", - " POSCHARGE will try charges [0, -1, 1, -2, 2]\n", - "smiles='[H][C+]1CC([H])([H])[C+]([H])[C-]1[H]'\n", - " POSCHARGE: charge 0 with smiles [H][C+]1CC([H])([H])[C+]([H])[C-]1[H]\n", - "smiles='[H]C1=[C-]C([H])([H])C([H])=C1[H]'\n", - " POSCHARGE: charge 0 with smiles [H]C1=[C-]C([H])([H])C([H])=C1[H]\n", - "smiles='[H][C+]1[C+]([H])C([H])([H])C[C-]1[H]'\n", - " POSCHARGE: charge 0 with smiles [H][C+]1[C+]([H])C([H])([H])C[C-]1[H]\n", - "smiles='[H][C+]1CC([H])([H])[C-]([H])[C-]1[H]'\n", - " POSCHARGE: charge 0 with smiles [H][C+]1CC([H])([H])[C-]([H])[C-]1[H]\n", - "smiles='[H][C+]1CC([H])([H])[C+]([H])[C+]1[H]'\n", - " POSCHARGE: charge 0 with smiles [H][C+]1CC([H])([H])[C+]([H])[C+]1[H]\n", - " NEW SELECT FUNCTION: uncorr_total: [1, -1, 1, -1, 3]\n", - " NEW SELECT FUNCTION: uncorr_abs_total: [1, 1, 1, 1, 3]\n", - " NEW SELECT FUNCTION: uncorr_abs_atcharge: [3, 1, 3, 3, 3]\n", - " NEW SELECT FUNCTION: uncorr_zwitt: [True, False, True, True, False]\n", - " NEW SELECT FUNCTION: coincide: [False, True, True, False, False]\n", - " NEW SELECT FUNCTION: listofmintot: [0, 1, 2, 3]\n", - " NEW SELECT FUNCTION: listofminabs: [1]\n", - " NEW SELECT FUNCTION: tmplist: [1], including:\n", - " NEW SELECT FUNCTION: Corr_charge=-2\n", - " NEW SELECT FUNCTION: Smiles=[H]C1=[C-]C([H])([H])C([H])=C1[H]\n", - " NEW SELECT FUNCTION: found corr_charges=[-2]\n", - " NEW SELECT FUNCTION: doing tgt_charge=-2\n", - " NEW SELECT FUNCTION: charge_state added\n", - " NEW SELECT FUNCTION: Case 1, only one entry for -2 in tmplist\n", - "BALANCE: iterlist [[-1], [2], [-1], [-2], [2], [2, 3, 0]]\n", - "BALANCE: unique_indices [0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 4, 5, 3, 2, 0, 4, 5]\n", - "BALANCE: tmpdistr [(-1, 2, -1, -2, 2, 2), (-1, 2, -1, -2, 2, 3), (-1, 2, -1, -2, 2, 0)]\n", - "BALANCE: alldistr added: [-1, -1, -1, -1, -1, -1, 2, 2, -1, -2, -1, 2, 2, -2, -1, -1, 2, 2]\n", - "d=[-1, -1, -1, -1, -1, -1, 2, 2, -1, -2, -1, 2, 2, -2, -1, -1, 2, 2]\n", - "BALANCE: alldistr added: [-1, -1, -1, -1, -1, -1, 2, 2, -1, -2, -1, 2, 3, -2, -1, -1, 2, 3]\n", - "d=[-1, -1, -1, -1, -1, -1, 2, 2, -1, -2, -1, 2, 2, -2, -1, -1, 2, 2]\n", - "d=[-1, -1, -1, -1, -1, -1, 2, 2, -1, -2, -1, 2, 3, -2, -1, -1, 2, 3]\n", - "BALANCE: alldistr added: [-1, -1, -1, -1, -1, -1, 2, 2, -1, -2, -1, 2, 0, -2, -1, -1, 2, 0]\n", - "d=[-1, -1, -1, -1, -1, -1, 2, 2, -1, -2, -1, 2, 2, -2, -1, -1, 2, 2]\n", - "d=[-1, -1, -1, -1, -1, -1, 2, 2, -1, -2, -1, 2, 3, -2, -1, -1, 2, 3]\n", - "d=[-1, -1, -1, -1, -1, -1, 2, 2, -1, -2, -1, 2, 0, -2, -1, -1, 2, 0]\n", "\n", - "FINAL Charge Distribution: [[-1, -1, -1, -1, -1, -1, 2, 2, -1, -2, -1, 2, 3, -2, -1, -1, 2, 3]]\n", - "\n", - "#########################################\n", - "Assigning Charges and Preparing Molecules\n", - "#########################################\n", + "['Cl']\n", + "['Cl']\n", + "mol1.adj_types=array([[0, 0, 0, ..., 0, 0, 0],\n", + " [0, 0, 0, ..., 0, 0, 0],\n", + " [0, 0, 0, ..., 0, 0, 0],\n", + " ...,\n", + " [0, 0, 0, ..., 0, 0, 0],\n", + " [0, 0, 0, ..., 0, 0, 0],\n", + " [0, 0, 0, ..., 0, 0, 0]])\n", + "mol2.adj_types=array([[0, 0, 0, ..., 0, 0, 0],\n", + " [0, 0, 0, ..., 0, 0, 0],\n", + " [0, 0, 0, ..., 0, 0, 0],\n", + " ...,\n", + " [0, 0, 0, ..., 0, 0, 0],\n", + " [0, 0, 0, ..., 0, 0, 0],\n", + " [0, 0, 0, ..., 0, 0, 0]])\n", + "ligand 3 is the same with 0 in typelist\n", + "COMPARE_SPECIES. Comparing:\n", "------------- Cell2mol LIGAND Object --------------\n", " Version = 0.1\n", " Type = specie\n", @@ -2038,46 +2389,36 @@ " Formula = Cl\n", " Has Adjacency Matrix = YES\n", " Origin = split_complex\n", - " Number of Groups = 1\n", "---------------------------------------------------\n", - " [0, 1, 2, 3, 4, 5, 10, 15] -1\n", - "Target charge -1 of Cl exists in [-1].\n", - "Cl\n", - " GET_PROTONATION_STATES: evaluating non-haptic group with index 0 and label Cl\n", - "protonation_states=[------------- Cell2mol Protonation ----------------\n", - " Status = True\n", - " Labels = ['Cl']\n", - " Type = Local\n", - " Atoms added in positions = [0]\n", - " Atoms blocked (no atoms added) = [1]\n", + "\n", + "------------- Cell2mol LIGAND Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = ligand\n", + " Number of Atoms = 1\n", + " Formula = Cl\n", + " Has Adjacency Matrix = YES\n", + " Origin = split_complex\n", "---------------------------------------------------\n", - "]\n", - " POSCHARGE will try charges [0, -1, 1, -2, 2]\n", - "smiles='[Cl-]'\n", - " POSCHARGE: charge 0 with smiles [Cl-]\n", - "smiles='[Cl-]'\n", - " POSCHARGE: charge 0 with smiles [Cl-]\n", - "smiles='[Cl-]'\n", - " POSCHARGE: charge 0 with smiles [Cl-]\n", - "smiles='[Cl-]'\n", - " POSCHARGE: charge 0 with smiles [Cl-]\n", - "smiles='[Cl-]'\n", - " POSCHARGE: charge 0 with smiles [Cl-]\n", - " NEW SELECT FUNCTION: uncorr_total: [-1, -1, -1, -1, -1]\n", - " NEW SELECT FUNCTION: uncorr_abs_total: [1, 1, 1, 1, 1]\n", - " NEW SELECT FUNCTION: uncorr_abs_atcharge: [1, 1, 1, 1, 1]\n", - " NEW SELECT FUNCTION: uncorr_zwitt: [False, False, False, False, False]\n", - " NEW SELECT FUNCTION: coincide: [False, True, False, False, False]\n", - " NEW SELECT FUNCTION: listofmintot: [0, 1, 2, 3, 4]\n", - " NEW SELECT FUNCTION: listofminabs: [0, 1, 2, 3, 4]\n", - " NEW SELECT FUNCTION: tmplist: [1], including:\n", - " NEW SELECT FUNCTION: Corr_charge=-1\n", - " NEW SELECT FUNCTION: Smiles=[Cl-]\n", - " NEW SELECT FUNCTION: found corr_charges=[-1]\n", - " NEW SELECT FUNCTION: doing tgt_charge=-1\n", - " NEW SELECT FUNCTION: charge_state added\n", - " NEW SELECT FUNCTION: Case 1, only one entry for -1 in tmplist\n", - "Target charge -1 of Cl exists in [-1].\n", + "\n", + "['Cl']\n", + "['Cl']\n", + "mol1.adj_types=array([[0, 0, 0, ..., 0, 0, 0],\n", + " [0, 0, 0, ..., 0, 0, 0],\n", + " [0, 0, 0, ..., 0, 0, 0],\n", + " ...,\n", + " [0, 0, 0, ..., 0, 0, 0],\n", + " [0, 0, 0, ..., 0, 0, 0],\n", + " [0, 0, 0, ..., 0, 0, 0]])\n", + "mol2.adj_types=array([[0, 0, 0, ..., 0, 0, 0],\n", + " [0, 0, 0, ..., 0, 0, 0],\n", + " [0, 0, 0, ..., 0, 0, 0],\n", + " ...,\n", + " [0, 0, 0, ..., 0, 0, 0],\n", + " [0, 0, 0, ..., 0, 0, 0],\n", + " [0, 0, 0, ..., 0, 0, 0]])\n", + "ligand 4 is the same with 0 in typelist\n", + "COMPARE_SPECIES. Comparing:\n", "------------- Cell2mol LIGAND Object --------------\n", " Version = 0.1\n", " Type = specie\n", @@ -2085,55 +2426,9 @@ " Number of Atoms = 1\n", " Formula = Cl\n", " Has Adjacency Matrix = YES\n", - " Total Charge = -1\n", - " Smiles = [Cl-]\n", " Origin = split_complex\n", - " Number of Groups = 1\n", - "---------------------------------------------------\n", - " [0, 1, 2, 3, 4, 5, 10, 15] -1\n", - "Target charge -1 of Cl exists in [-1].\n", - "Cl\n", - "ADD_ATOM: Metalist length 1\n", - "ADD_ATOM: Ligand Atoms 1\n", - "ADD_ATOM: site= 0\n", - "ADD_ATOM: evaluating apos=array([2.9351153, 0.5309238, 9.0521877]) and tgt.coord=[2.8686395, 1.120505, 6.7807219]\n", - "ADD_ATOM: received tmpconnec[posadded]=1\n", - "ADD_ATOM: Chosen Metal index None. H is added at site 0\n", - " GET_PROTONATION_STATES: evaluating non-haptic group with index 0 and label Cl\n", - "protonation_states=[------------- Cell2mol Protonation ----------------\n", - " Status = True\n", - " Labels = ['Cl']\n", - " Type = Local\n", - " Atoms added in positions = [0]\n", - " Atoms blocked (no atoms added) = [1]\n", "---------------------------------------------------\n", - "]\n", - " POSCHARGE will try charges [0, -1, 1, -2, 2]\n", - "smiles='[Cl-]'\n", - " POSCHARGE: charge 0 with smiles [Cl-]\n", - "smiles='[Cl-]'\n", - " POSCHARGE: charge 0 with smiles [Cl-]\n", - "smiles='[Cl-]'\n", - " POSCHARGE: charge 0 with smiles [Cl-]\n", - "smiles='[Cl-]'\n", - " POSCHARGE: charge 0 with smiles [Cl-]\n", - "smiles='[Cl-]'\n", - " POSCHARGE: charge 0 with smiles [Cl-]\n", - " NEW SELECT FUNCTION: uncorr_total: [-1, -1, -1, -1, -1]\n", - " NEW SELECT FUNCTION: uncorr_abs_total: [1, 1, 1, 1, 1]\n", - " NEW SELECT FUNCTION: uncorr_abs_atcharge: [1, 1, 1, 1, 1]\n", - " NEW SELECT FUNCTION: uncorr_zwitt: [False, False, False, False, False]\n", - " NEW SELECT FUNCTION: coincide: [False, True, False, False, False]\n", - " NEW SELECT FUNCTION: listofmintot: [0, 1, 2, 3, 4]\n", - " NEW SELECT FUNCTION: listofminabs: [0, 1, 2, 3, 4]\n", - " NEW SELECT FUNCTION: tmplist: [1], including:\n", - " NEW SELECT FUNCTION: Corr_charge=-1\n", - " NEW SELECT FUNCTION: Smiles=[Cl-]\n", - " NEW SELECT FUNCTION: found corr_charges=[-1]\n", - " NEW SELECT FUNCTION: doing tgt_charge=-1\n", - " NEW SELECT FUNCTION: charge_state added\n", - " NEW SELECT FUNCTION: Case 1, only one entry for -1 in tmplist\n", - "Target charge -1 of Cl exists in [-1].\n", + "\n", "------------- Cell2mol LIGAND Object --------------\n", " Version = 0.1\n", " Type = specie\n", @@ -2141,61 +2436,43 @@ " Number of Atoms = 1\n", " Formula = Cl\n", " Has Adjacency Matrix = YES\n", - " Total Charge = -1\n", - " Smiles = [Cl-]\n", " Origin = split_complex\n", - " Number of Groups = 1\n", "---------------------------------------------------\n", - " [0, 1, 2, 3, 4, 5, 10, 15] -1\n", - "Target charge -1 of Cl exists in [-1].\n", - "Cl\n", - "ADD_ATOM: Metalist length 1\n", - "ADD_ATOM: Ligand Atoms 1\n", - "ADD_ATOM: site= 0\n", - "ADD_ATOM: evaluating apos=array([ 1.3562608, -0.0638992, 5.1197601]) and tgt.coord=[2.8686395, 1.120505, 6.7807219]\n", - "ADD_ATOM: received tmpconnec[posadded]=1\n", - "ADD_ATOM: Chosen Metal index None. H is added at site 0\n", - "ADD_ATOM: Metalist length 1\n", - "ADD_ATOM: Ligand Atoms 1\n", - "ADD_ATOM: site= 0\n", - "ADD_ATOM: evaluating apos=array([ 1.3562608, -0.0638992, 5.1197601]) and tgt.coord=[2.8686395, 1.120505, 6.7807219]\n", - "ADD_ATOM: received tmpconnec[posadded]=1\n", - "ADD_ATOM: Chosen Metal index None. H is added at site 0\n", - " GET_PROTONATION_STATES: evaluating non-haptic group with index 0 and label Cl\n", - "protonation_states=[------------- Cell2mol Protonation ----------------\n", - " Status = True\n", - " Labels = ['Cl']\n", - " Type = Local\n", - " Atoms added in positions = [0]\n", - " Atoms blocked (no atoms added) = [1]\n", + "\n", + "['Cl']\n", + "['Cl']\n", + "mol1.adj_types=array([[0, 0, 0, ..., 0, 0, 0],\n", + " [0, 0, 0, ..., 0, 0, 0],\n", + " [0, 0, 0, ..., 0, 0, 0],\n", + " ...,\n", + " [0, 0, 0, ..., 0, 0, 0],\n", + " [0, 0, 0, ..., 0, 0, 0],\n", + " [0, 0, 0, ..., 0, 0, 0]])\n", + "mol2.adj_types=array([[0, 0, 0, ..., 0, 0, 0],\n", + " [0, 0, 0, ..., 0, 0, 0],\n", + " [0, 0, 0, ..., 0, 0, 0],\n", + " ...,\n", + " [0, 0, 0, ..., 0, 0, 0],\n", + " [0, 0, 0, ..., 0, 0, 0],\n", + " [0, 0, 0, ..., 0, 0, 0]])\n", + "ligand 5 is the same with 0 in typelist\n", + "New Metal Center found with: labels Hg and added in position 1\n", + "COMPARE_METALS. Comparing:\n", + "Hg\n", + "Hg\n", + "Metal 1 is the same with 0 in typelist\n", + "Molecule 1 formula=H9-C10-Cl-Fe-Hg\n", + "COMPARE_SPECIES. Comparing:\n", + "------------- Cell2mol LIGAND Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = ligand\n", + " Number of Atoms = 10\n", + " Formula = H5-C5\n", + " Has Adjacency Matrix = YES\n", + " Origin = split_complex\n", "---------------------------------------------------\n", - "]\n", - " POSCHARGE will try charges [0, -1, 1, -2, 2]\n", - "smiles='[Cl-]'\n", - " POSCHARGE: charge 0 with smiles [Cl-]\n", - "smiles='[Cl-]'\n", - " POSCHARGE: charge 0 with smiles [Cl-]\n", - "smiles='[Cl-]'\n", - " POSCHARGE: charge 0 with smiles [Cl-]\n", - "smiles='[Cl-]'\n", - " POSCHARGE: charge 0 with smiles [Cl-]\n", - "smiles='[Cl-]'\n", - " POSCHARGE: charge 0 with smiles [Cl-]\n", - " NEW SELECT FUNCTION: uncorr_total: [-1, -1, -1, -1, -1]\n", - " NEW SELECT FUNCTION: uncorr_abs_total: [1, 1, 1, 1, 1]\n", - " NEW SELECT FUNCTION: uncorr_abs_atcharge: [1, 1, 1, 1, 1]\n", - " NEW SELECT FUNCTION: uncorr_zwitt: [False, False, False, False, False]\n", - " NEW SELECT FUNCTION: coincide: [False, True, False, False, False]\n", - " NEW SELECT FUNCTION: listofmintot: [0, 1, 2, 3, 4]\n", - " NEW SELECT FUNCTION: listofminabs: [0, 1, 2, 3, 4]\n", - " NEW SELECT FUNCTION: tmplist: [1], including:\n", - " NEW SELECT FUNCTION: Corr_charge=-1\n", - " NEW SELECT FUNCTION: Smiles=[Cl-]\n", - " NEW SELECT FUNCTION: found corr_charges=[-1]\n", - " NEW SELECT FUNCTION: doing tgt_charge=-1\n", - " NEW SELECT FUNCTION: charge_state added\n", - " NEW SELECT FUNCTION: Case 1, only one entry for -1 in tmplist\n", - "Target charge -1 of Cl exists in [-1].\n", + "\n", "------------- Cell2mol LIGAND Object --------------\n", " Version = 0.1\n", " Type = specie\n", @@ -2203,55 +2480,24 @@ " Number of Atoms = 1\n", " Formula = Cl\n", " Has Adjacency Matrix = YES\n", - " Total Charge = -1\n", - " Smiles = [Cl-]\n", " Origin = split_complex\n", - " Number of Groups = 1\n", "---------------------------------------------------\n", - " [0, 1, 2, 3, 4, 5, 10, 15] -1\n", - "Target charge -1 of Cl exists in [-1].\n", - "Cl\n", - "ADD_ATOM: Metalist length 1\n", - "ADD_ATOM: Ligand Atoms 1\n", - "ADD_ATOM: site= 0\n", - "ADD_ATOM: evaluating apos=array([ 2.7576338, -3.8316994, 5.1099833]) and tgt.coord=[3.3561142, -1.7460605999999999, 4.0823379]\n", - "ADD_ATOM: received tmpconnec[posadded]=1\n", - "ADD_ATOM: Chosen Metal index None. H is added at site 0\n", - " GET_PROTONATION_STATES: evaluating non-haptic group with index 0 and label Cl\n", - "protonation_states=[------------- Cell2mol Protonation ----------------\n", - " Status = True\n", - " Labels = ['Cl']\n", - " Type = Local\n", - " Atoms added in positions = [0]\n", - " Atoms blocked (no atoms added) = [1]\n", + "\n", + "['C', 'H', 'C', 'H', 'C', 'H', 'C', 'H', 'C', 'H']\n", + "['Cl']\n", + "COMPARE_SPECIES. FALSE, different natoms:\n", + "New ligand found with: formula H5-C5 added in position 2\n", + "COMPARE_SPECIES. Comparing:\n", + "------------- Cell2mol LIGAND Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = ligand\n", + " Number of Atoms = 9\n", + " Formula = H4-C5\n", + " Has Adjacency Matrix = YES\n", + " Origin = split_complex\n", "---------------------------------------------------\n", - "]\n", - " POSCHARGE will try charges [0, -1, 1, -2, 2]\n", - "smiles='[Cl-]'\n", - " POSCHARGE: charge 0 with smiles [Cl-]\n", - "smiles='[Cl-]'\n", - " POSCHARGE: charge 0 with smiles [Cl-]\n", - "smiles='[Cl-]'\n", - " POSCHARGE: charge 0 with smiles [Cl-]\n", - "smiles='[Cl-]'\n", - " POSCHARGE: charge 0 with smiles [Cl-]\n", - "smiles='[Cl-]'\n", - " POSCHARGE: charge 0 with smiles [Cl-]\n", - " NEW SELECT FUNCTION: uncorr_total: [-1, -1, -1, -1, -1]\n", - " NEW SELECT FUNCTION: uncorr_abs_total: [1, 1, 1, 1, 1]\n", - " NEW SELECT FUNCTION: uncorr_abs_atcharge: [1, 1, 1, 1, 1]\n", - " NEW SELECT FUNCTION: uncorr_zwitt: [False, False, False, False, False]\n", - " NEW SELECT FUNCTION: coincide: [False, True, False, False, False]\n", - " NEW SELECT FUNCTION: listofmintot: [0, 1, 2, 3, 4]\n", - " NEW SELECT FUNCTION: listofminabs: [0, 1, 2, 3, 4]\n", - " NEW SELECT FUNCTION: tmplist: [1], including:\n", - " NEW SELECT FUNCTION: Corr_charge=-1\n", - " NEW SELECT FUNCTION: Smiles=[Cl-]\n", - " NEW SELECT FUNCTION: found corr_charges=[-1]\n", - " NEW SELECT FUNCTION: doing tgt_charge=-1\n", - " NEW SELECT FUNCTION: charge_state added\n", - " NEW SELECT FUNCTION: Case 1, only one entry for -1 in tmplist\n", - "Target charge -1 of Cl exists in [-1].\n", + "\n", "------------- Cell2mol LIGAND Object --------------\n", " Version = 0.1\n", " Type = specie\n", @@ -2259,55 +2505,38 @@ " Number of Atoms = 1\n", " Formula = Cl\n", " Has Adjacency Matrix = YES\n", - " Total Charge = -1\n", - " Smiles = [Cl-]\n", " Origin = split_complex\n", - " Number of Groups = 1\n", "---------------------------------------------------\n", - " [0, 1, 2, 3, 4, 5, 10, 15] -1\n", - "Target charge -1 of Cl exists in [-1].\n", - "Cl\n", - "ADD_ATOM: Metalist length 1\n", - "ADD_ATOM: Ligand Atoms 1\n", - "ADD_ATOM: site= 0\n", - "ADD_ATOM: evaluating apos=array([ 3.2896384, -1.1564794, 1.8108721]) and tgt.coord=[3.3561142, -1.7460605999999999, 4.0823379]\n", - "ADD_ATOM: received tmpconnec[posadded]=1\n", - "ADD_ATOM: Chosen Metal index None. H is added at site 0\n", - " GET_PROTONATION_STATES: evaluating non-haptic group with index 0 and label Cl\n", - "protonation_states=[------------- Cell2mol Protonation ----------------\n", - " Status = True\n", - " Labels = ['Cl']\n", - " Type = Local\n", - " Atoms added in positions = [0]\n", - " Atoms blocked (no atoms added) = [1]\n", + "\n", + "['C', 'C', 'H', 'C', 'H', 'C', 'H', 'C', 'H']\n", + "['Cl']\n", + "COMPARE_SPECIES. FALSE, different natoms:\n", + "COMPARE_SPECIES. Comparing:\n", + "------------- Cell2mol LIGAND Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = ligand\n", + " Number of Atoms = 9\n", + " Formula = H4-C5\n", + " Has Adjacency Matrix = YES\n", + " Origin = split_complex\n", "---------------------------------------------------\n", - "]\n", - " POSCHARGE will try charges [0, -1, 1, -2, 2]\n", - "smiles='[Cl-]'\n", - " POSCHARGE: charge 0 with smiles [Cl-]\n", - "smiles='[Cl-]'\n", - " POSCHARGE: charge 0 with smiles [Cl-]\n", - "smiles='[Cl-]'\n", - " POSCHARGE: charge 0 with smiles [Cl-]\n", - "smiles='[Cl-]'\n", - " POSCHARGE: charge 0 with smiles [Cl-]\n", - "smiles='[Cl-]'\n", - " POSCHARGE: charge 0 with smiles [Cl-]\n", - " NEW SELECT FUNCTION: uncorr_total: [-1, -1, -1, -1, -1]\n", - " NEW SELECT FUNCTION: uncorr_abs_total: [1, 1, 1, 1, 1]\n", - " NEW SELECT FUNCTION: uncorr_abs_atcharge: [1, 1, 1, 1, 1]\n", - " NEW SELECT FUNCTION: uncorr_zwitt: [False, False, False, False, False]\n", - " NEW SELECT FUNCTION: coincide: [False, True, False, False, False]\n", - " NEW SELECT FUNCTION: listofmintot: [0, 1, 2, 3, 4]\n", - " NEW SELECT FUNCTION: listofminabs: [0, 1, 2, 3, 4]\n", - " NEW SELECT FUNCTION: tmplist: [1], including:\n", - " NEW SELECT FUNCTION: Corr_charge=-1\n", - " NEW SELECT FUNCTION: Smiles=[Cl-]\n", - " NEW SELECT FUNCTION: found corr_charges=[-1]\n", - " NEW SELECT FUNCTION: doing tgt_charge=-1\n", - " NEW SELECT FUNCTION: charge_state added\n", - " NEW SELECT FUNCTION: Case 1, only one entry for -1 in tmplist\n", - "Target charge -1 of Cl exists in [-1].\n", + "\n", + "------------- Cell2mol LIGAND Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = ligand\n", + " Number of Atoms = 10\n", + " Formula = H5-C5\n", + " Has Adjacency Matrix = YES\n", + " Origin = split_complex\n", + "---------------------------------------------------\n", + "\n", + "['C', 'C', 'H', 'C', 'H', 'C', 'H', 'C', 'H']\n", + "['C', 'H', 'C', 'H', 'C', 'H', 'C', 'H', 'C', 'H']\n", + "COMPARE_SPECIES. FALSE, different natoms:\n", + "New ligand found with: formula H4-C5 added in position 3\n", + "COMPARE_SPECIES. Comparing:\n", "------------- Cell2mol LIGAND Object --------------\n", " Version = 0.1\n", " Type = specie\n", @@ -2315,94 +2544,47 @@ " Number of Atoms = 1\n", " Formula = Cl\n", " Has Adjacency Matrix = YES\n", - " Total Charge = -1\n", - " Smiles = [Cl-]\n", " Origin = split_complex\n", - " Number of Groups = 1\n", - "---------------------------------------------------\n", - " [0, 1, 2, 3, 4, 5, 10, 15] -1\n", - "Target charge -1 of Cl exists in [-1].\n", - "Cl\n", - "ADD_ATOM: Metalist length 1\n", - "ADD_ATOM: Ligand Atoms 1\n", - "ADD_ATOM: site= 0\n", - "ADD_ATOM: evaluating apos=array([ 4.8684929, -0.5616564, 5.7432997]) and tgt.coord=[3.3561142, -1.7460605999999999, 4.0823379]\n", - "ADD_ATOM: received tmpconnec[posadded]=1\n", - "ADD_ATOM: Chosen Metal index None. H is added at site 0\n", - "ADD_ATOM: Metalist length 1\n", - "ADD_ATOM: Ligand Atoms 1\n", - "ADD_ATOM: site= 0\n", - "ADD_ATOM: evaluating apos=array([ 4.8684929, -0.5616564, 5.7432997]) and tgt.coord=[3.3561142, -1.7460605999999999, 4.0823379]\n", - "ADD_ATOM: received tmpconnec[posadded]=1\n", - "ADD_ATOM: Chosen Metal index None. H is added at site 0\n", - " GET_PROTONATION_STATES: evaluating non-haptic group with index 0 and label Cl\n", - "protonation_states=[------------- Cell2mol Protonation ----------------\n", - " Status = True\n", - " Labels = ['Cl']\n", - " Type = Local\n", - " Atoms added in positions = [0]\n", - " Atoms blocked (no atoms added) = [1]\n", "---------------------------------------------------\n", - "]\n", - " POSCHARGE will try charges [0, -1, 1, -2, 2]\n", - "smiles='[Cl-]'\n", - " POSCHARGE: charge 0 with smiles [Cl-]\n", - "smiles='[Cl-]'\n", - " POSCHARGE: charge 0 with smiles [Cl-]\n", - "smiles='[Cl-]'\n", - " POSCHARGE: charge 0 with smiles [Cl-]\n", - "smiles='[Cl-]'\n", - " POSCHARGE: charge 0 with smiles [Cl-]\n", - "smiles='[Cl-]'\n", - " POSCHARGE: charge 0 with smiles [Cl-]\n", - " NEW SELECT FUNCTION: uncorr_total: [-1, -1, -1, -1, -1]\n", - " NEW SELECT FUNCTION: uncorr_abs_total: [1, 1, 1, 1, 1]\n", - " NEW SELECT FUNCTION: uncorr_abs_atcharge: [1, 1, 1, 1, 1]\n", - " NEW SELECT FUNCTION: uncorr_zwitt: [False, False, False, False, False]\n", - " NEW SELECT FUNCTION: coincide: [False, True, False, False, False]\n", - " NEW SELECT FUNCTION: listofmintot: [0, 1, 2, 3, 4]\n", - " NEW SELECT FUNCTION: listofminabs: [0, 1, 2, 3, 4]\n", - " NEW SELECT FUNCTION: tmplist: [1], including:\n", - " NEW SELECT FUNCTION: Corr_charge=-1\n", - " NEW SELECT FUNCTION: Smiles=[Cl-]\n", - " NEW SELECT FUNCTION: found corr_charges=[-1]\n", - " NEW SELECT FUNCTION: doing tgt_charge=-1\n", - " NEW SELECT FUNCTION: charge_state added\n", - " NEW SELECT FUNCTION: Case 1, only one entry for -1 in tmplist\n", - "Target charge -1 of Cl exists in [-1].\n", - "------------- Cell2mol METAL Object --------------\n", + "\n", + "------------- Cell2mol LIGAND Object --------------\n", " Version = 0.1\n", - " Type = atom\n", - " Sub-Type = metal\n", - " Label = Hg\n", - " Atomic Number = 80\n", - " Index in Molecule = 0\n", - " Metal Adjacency (mconnec) = 4\n", - " Regular Adjacencies (connec) = 4\n", - " Coordination Sphere Formula = Cl4\n", - " Possible Charges = [2]\n", - "----------------------------------------------------\n", - " [6, 7] 2\n", - "Target charge 2 of Hg exists in [2].\n", - "Hg\n", - "Target charge 2 of Hg exists in [2].\n", - "------------- Cell2mol METAL Object --------------\n", + " Type = specie\n", + " Sub-Type = ligand\n", + " Number of Atoms = 1\n", + " Formula = Cl\n", + " Has Adjacency Matrix = YES\n", + " Origin = split_complex\n", + "---------------------------------------------------\n", + "\n", + "['Cl']\n", + "['Cl']\n", + "mol1.adj_types=array([[0, 0, 0, ..., 0, 0, 0],\n", + " [0, 0, 0, ..., 0, 0, 0],\n", + " [0, 0, 0, ..., 0, 0, 0],\n", + " ...,\n", + " [0, 0, 0, ..., 0, 0, 0],\n", + " [0, 0, 0, ..., 0, 0, 0],\n", + " [0, 0, 0, ..., 0, 0, 0]])\n", + "mol2.adj_types=array([[0, 0, 0, ..., 0, 0, 0],\n", + " [0, 0, 0, ..., 0, 0, 0],\n", + " [0, 0, 0, ..., 0, 0, 0],\n", + " ...,\n", + " [0, 0, 0, ..., 0, 0, 0],\n", + " [0, 0, 0, ..., 0, 0, 0],\n", + " [0, 0, 0, ..., 0, 0, 0]])\n", + "ligand 2 is the same with 0 in typelist\n", + "COMPARE_SPECIES. Comparing:\n", + "------------- Cell2mol LIGAND Object --------------\n", " Version = 0.1\n", - " Type = atom\n", - " Sub-Type = metal\n", - " Label = Hg\n", - " Atomic Number = 80\n", - " Index in Molecule = 0\n", - " Metal Adjacency (mconnec) = 4\n", - " Regular Adjacencies (connec) = 4\n", - " Atom Charge = 2\n", - " Coordination Sphere Formula = Cl4\n", - " Possible Charges = [2]\n", - "----------------------------------------------------\n", - " [6, 7] 2\n", - "Target charge 2 of Hg exists in [2].\n", - "Hg\n", - "Target charge 2 of Hg exists in [2].\n", + " Type = specie\n", + " Sub-Type = ligand\n", + " Number of Atoms = 1\n", + " Formula = Cl\n", + " Has Adjacency Matrix = YES\n", + " Origin = split_complex\n", + "---------------------------------------------------\n", + "\n", "------------- Cell2mol LIGAND Object --------------\n", " Version = 0.1\n", " Type = specie\n", @@ -2411,186 +2593,53 @@ " Formula = H5-C5\n", " Has Adjacency Matrix = YES\n", " Origin = split_complex\n", - " Number of Groups = 1\n", - "---------------------------------------------------\n", - " [8, 14] -1\n", - "Target charge -1 of H5-C5 exists in [-1].\n", - "H5-C5\n", - " GET_PROTONATION_STATES: addressing group with hapticity: ['h5-Cp']\n", - " GET_PROTONATION_STATES: and parent indices: [0, 2, 4, 6, 8]\n", - " GET_PROTONATION_STATES: Added H to atom 0 with: a.mconnec=1 and label=C\n", - "protonation_states=[------------- Cell2mol Protonation ----------------\n", - " Status = True\n", - " Labels = ['C', 'H', 'C', 'H', 'C', 'H', 'C', 'H', 'C', 'H', 'H']\n", - " Type = Local\n", - " Atoms added in positions = [1 0 0 0 0 0 0 0 0 0]\n", - " Atoms blocked (no atoms added) = [1 0 1 0 1 0 1 0 1 0]\n", "---------------------------------------------------\n", - "]\n", - " POSCHARGE will try charges [0, -1, 1, -2, 2]\n", - "smiles='[H]C1=C([H])C([H])([H])C([H])=C1[H]'\n", - " POSCHARGE: charge 0 with smiles [H]C1=C([H])C([H])([H])C([H])=C1[H]\n", - "smiles='[H][C+]1[C-]([H])[C-]([H])C([H])([H])[C-]1[H]'\n", - " POSCHARGE: charge 0 with smiles [H][C+]1[C-]([H])[C-]([H])C([H])([H])[C-]1[H]\n", - "smiles='[H][C+]1[C-]([H])[C+]([H])C([H])([H])[C-]1[H]'\n", - " POSCHARGE: charge 0 with smiles [H][C+]1[C-]([H])[C+]([H])C([H])([H])[C-]1[H]\n", - "smiles='[H][C+]1[C-]([H])[C-]([H])[C-]([H])C1([H])[H]'\n", - " POSCHARGE: charge 0 with smiles [H][C+]1[C-]([H])[C-]([H])[C-]([H])C1([H])[H]\n", - "smiles='[H][C+]1[C+]([H])C([H])([H])[C+]([H])[C-]1[H]'\n", - " POSCHARGE: charge 0 with smiles [H][C+]1[C+]([H])C([H])([H])[C+]([H])[C-]1[H]\n", - " NEW SELECT FUNCTION: uncorr_total: [0, -2, 0, -2, 2]\n", - " NEW SELECT FUNCTION: uncorr_abs_total: [0, 2, 0, 2, 2]\n", - " NEW SELECT FUNCTION: uncorr_abs_atcharge: [0, 4, 4, 4, 4]\n", - " NEW SELECT FUNCTION: uncorr_zwitt: [False, True, True, True, True]\n", - " NEW SELECT FUNCTION: coincide: [True, False, False, True, True]\n", - " NEW SELECT FUNCTION: listofmintot: [0, 2]\n", - " NEW SELECT FUNCTION: listofminabs: [0]\n", - " NEW SELECT FUNCTION: tmplist: [0], including:\n", - " NEW SELECT FUNCTION: Corr_charge=-1\n", - " NEW SELECT FUNCTION: Smiles=[H]C1=C([H])C([H])([H])C([H])=C1[H]\n", - " NEW SELECT FUNCTION: found corr_charges=[-1]\n", - " NEW SELECT FUNCTION: doing tgt_charge=-1\n", - " NEW SELECT FUNCTION: charge_state added\n", - " NEW SELECT FUNCTION: Case 1, only one entry for -1 in tmplist\n", - "Target charge -1 of H5-C5 exists in [-1].\n", + "\n", + "['Cl']\n", + "['C', 'H', 'C', 'H', 'C', 'H', 'C', 'H', 'C', 'H']\n", + "COMPARE_SPECIES. FALSE, different natoms:\n", + "COMPARE_SPECIES. Comparing:\n", "------------- Cell2mol LIGAND Object --------------\n", " Version = 0.1\n", " Type = specie\n", " Sub-Type = ligand\n", - " Number of Atoms = 9\n", - " Formula = H4-C5\n", + " Number of Atoms = 1\n", + " Formula = Cl\n", " Has Adjacency Matrix = YES\n", " Origin = split_complex\n", - " Number of Groups = 1\n", - "---------------------------------------------------\n", - " [9, 13] -2\n", - "Target charge -2 of H4-C5 exists in [-2].\n", - "H4-C5\n", - " GET_PROTONATION_STATES: addressing group with hapticity: ['h5-Cp']\n", - " GET_PROTONATION_STATES: and parent indices: [0, 1, 3, 5, 7]\n", - " GET_PROTONATION_STATES: Added H to atom 1 with: a.mconnec=1 and label=C\n", - "protonation_states=[------------- Cell2mol Protonation ----------------\n", - " Status = True\n", - " Labels = ['C', 'C', 'H', 'C', 'H', 'C', 'H', 'C', 'H', 'H']\n", - " Type = Local\n", - " Atoms added in positions = [0 1 0 0 0 0 0 0 0]\n", - " Atoms blocked (no atoms added) = [0 1 0 1 0 1 0 1 0]\n", "---------------------------------------------------\n", - "]\n", - " POSCHARGE will try charges [0, -1, 1, -2, 2]\n", - "smiles='[H][C+]1CC([H])([H])[C+]([H])[C-]1[H]'\n", - " POSCHARGE: charge 0 with smiles [H][C+]1CC([H])([H])[C+]([H])[C-]1[H]\n", - "smiles='[H]C1=[C-]C([H])([H])C([H])=C1[H]'\n", - " POSCHARGE: charge 0 with smiles [H]C1=[C-]C([H])([H])C([H])=C1[H]\n", - "smiles='[H][C+]1[C+]([H])C([H])([H])C[C-]1[H]'\n", - " POSCHARGE: charge 0 with smiles [H][C+]1[C+]([H])C([H])([H])C[C-]1[H]\n", - "smiles='[H][C+]1CC([H])([H])[C-]([H])[C-]1[H]'\n", - " POSCHARGE: charge 0 with smiles [H][C+]1CC([H])([H])[C-]([H])[C-]1[H]\n", - "smiles='[H][C+]1CC([H])([H])[C+]([H])[C+]1[H]'\n", - " POSCHARGE: charge 0 with smiles [H][C+]1CC([H])([H])[C+]([H])[C+]1[H]\n", - " NEW SELECT FUNCTION: uncorr_total: [1, -1, 1, -1, 3]\n", - " NEW SELECT FUNCTION: uncorr_abs_total: [1, 1, 1, 1, 3]\n", - " NEW SELECT FUNCTION: uncorr_abs_atcharge: [3, 1, 3, 3, 3]\n", - " NEW SELECT FUNCTION: uncorr_zwitt: [True, False, True, True, False]\n", - " NEW SELECT FUNCTION: coincide: [False, True, True, False, False]\n", - " NEW SELECT FUNCTION: listofmintot: [0, 1, 2, 3]\n", - " NEW SELECT FUNCTION: listofminabs: [1]\n", - " NEW SELECT FUNCTION: tmplist: [1], including:\n", - " NEW SELECT FUNCTION: Corr_charge=-2\n", - " NEW SELECT FUNCTION: Smiles=[H]C1=[C-]C([H])([H])C([H])=C1[H]\n", - " NEW SELECT FUNCTION: found corr_charges=[-2]\n", - " NEW SELECT FUNCTION: doing tgt_charge=-2\n", - " NEW SELECT FUNCTION: charge_state added\n", - " NEW SELECT FUNCTION: Case 1, only one entry for -2 in tmplist\n", - "Target charge -2 of H4-C5 exists in [-2].\n", + "\n", "------------- Cell2mol LIGAND Object --------------\n", " Version = 0.1\n", " Type = specie\n", " Sub-Type = ligand\n", - " Number of Atoms = 1\n", - " Formula = Cl\n", + " Number of Atoms = 9\n", + " Formula = H4-C5\n", " Has Adjacency Matrix = YES\n", - " Total Charge = -1\n", - " Smiles = [Cl-]\n", " Origin = split_complex\n", - " Number of Groups = 1\n", "---------------------------------------------------\n", - " [0, 1, 2, 3, 4, 5, 10, 15] -1\n", - "Target charge -1 of Cl exists in [-1].\n", - "Cl\n", - "ADD_ATOM: Metalist length 1\n", - "ADD_ATOM: Ligand Atoms 1\n", - "ADD_ATOM: site= 0\n", - "ADD_ATOM: evaluating apos=array([6.985123 , 2.3016164, 7.6030555]) and tgt.coord=[6.4998052, 2.1910413, 5.3595078]\n", - "ADD_ATOM: received tmpconnec[posadded]=1\n", - "ADD_ATOM: Chosen Metal index None. H is added at site 0\n", - " GET_PROTONATION_STATES: evaluating non-haptic group with index 0 and label Cl\n", - "protonation_states=[------------- Cell2mol Protonation ----------------\n", - " Status = True\n", - " Labels = ['Cl']\n", - " Type = Local\n", - " Atoms added in positions = [0]\n", - " Atoms blocked (no atoms added) = [1]\n", - "---------------------------------------------------\n", - "]\n", - " POSCHARGE will try charges [0, -1, 1, -2, 2]\n", - "smiles='[Cl-]'\n", - " POSCHARGE: charge 0 with smiles [Cl-]\n", - "smiles='[Cl-]'\n", - " POSCHARGE: charge 0 with smiles [Cl-]\n", - "smiles='[Cl-]'\n", - " POSCHARGE: charge 0 with smiles [Cl-]\n", - "smiles='[Cl-]'\n", - " POSCHARGE: charge 0 with smiles [Cl-]\n", - "smiles='[Cl-]'\n", - " POSCHARGE: charge 0 with smiles [Cl-]\n", - " NEW SELECT FUNCTION: uncorr_total: [-1, -1, -1, -1, -1]\n", - " NEW SELECT FUNCTION: uncorr_abs_total: [1, 1, 1, 1, 1]\n", - " NEW SELECT FUNCTION: uncorr_abs_atcharge: [1, 1, 1, 1, 1]\n", - " NEW SELECT FUNCTION: uncorr_zwitt: [False, False, False, False, False]\n", - " NEW SELECT FUNCTION: coincide: [False, True, False, False, False]\n", - " NEW SELECT FUNCTION: listofmintot: [0, 1, 2, 3, 4]\n", - " NEW SELECT FUNCTION: listofminabs: [0, 1, 2, 3, 4]\n", - " NEW SELECT FUNCTION: tmplist: [1], including:\n", - " NEW SELECT FUNCTION: Corr_charge=-1\n", - " NEW SELECT FUNCTION: Smiles=[Cl-]\n", - " NEW SELECT FUNCTION: found corr_charges=[-1]\n", - " NEW SELECT FUNCTION: doing tgt_charge=-1\n", - " NEW SELECT FUNCTION: charge_state added\n", - " NEW SELECT FUNCTION: Case 1, only one entry for -1 in tmplist\n", - "Target charge -1 of Cl exists in [-1].\n", - "------------- Cell2mol METAL Object --------------\n", - " Version = 0.1\n", - " Type = atom\n", - " Sub-Type = metal\n", - " Label = Hg\n", - " Atomic Number = 80\n", - " Index in Molecule = 0\n", - " Metal Adjacency (mconnec) = 2\n", - " Regular Adjacencies (connec) = 2\n", - " Coordination Sphere Formula = C-Cl\n", - " Possible Charges = [2]\n", - "----------------------------------------------------\n", - " [11, 16] 2\n", - "Target charge 2 of Hg exists in [2].\n", + "\n", + "['Cl']\n", + "['C', 'C', 'H', 'C', 'H', 'C', 'H', 'C', 'H']\n", + "COMPARE_SPECIES. FALSE, different natoms:\n", + "COMPARE_METALS. Comparing:\n", "Hg\n", - "Target charge 2 of Hg exists in [2].\n", - "------------- Cell2mol METAL Object --------------\n", - " Version = 0.1\n", - " Type = atom\n", - " Sub-Type = metal\n", - " Label = Fe\n", - " Atomic Number = 26\n", - " Index in Molecule = 1\n", - " Metal Adjacency (mconnec) = 10\n", - " Regular Adjacencies (connec) = 10\n", - " Coordination Sphere Formula = C10\n", - " Possible Charges = [2, 3, 0]\n", - "----------------------------------------------------\n", - " [12, 17] 3\n", - "Target charge 3 of Fe exists in [2, 3, 0].\n", + "Hg\n", + "COMPARE_METALS. Different coordination sphere\n", + "C-Cl\n", + "Cl4\n", + "New Metal Center found with: labels Hg and added in position 4\n", + "COMPARE_METALS. Comparing:\n", "Fe\n", - "Target charge 3 of Fe exists in [2, 3, 0].\n", + "Hg\n", + "COMPARE_METALS. Different label\n", + "COMPARE_METALS. Comparing:\n", + "Fe\n", + "Hg\n", + "COMPARE_METALS. Different label\n", + "New Metal Center found with: labels Fe and added in position 5\n", + "Molecule 2 formula=H9-C10-Cl-Fe-Hg\n", + "COMPARE_SPECIES. Comparing:\n", "------------- Cell2mol LIGAND Object --------------\n", " Version = 0.1\n", " Type = specie\n", @@ -2598,64 +2647,33 @@ " Number of Atoms = 9\n", " Formula = H4-C5\n", " Has Adjacency Matrix = YES\n", - " Total Charge = -2\n", - " Smiles = [H]C1=[C-]C([H])([H])C([H])=C1[H]\n", " Origin = split_complex\n", - " Number of Groups = 1\n", "---------------------------------------------------\n", - " [9, 13] -2\n", - "Target charge -2 of H4-C5 exists in [-2].\n", - "H4-C5\n", - "LIGAND.SPLIT_LIGAND: self.indices=[0, 1, 2, 3, 4, 5, 6, 7, 8]\n", - "LIGAND.SPLIT_LIGAND: conn_idx=[0, 2, 3, 5, 7]\n", - "LIGAND.SPLIT_LIGAND: conn_labels=['C', 'C', 'C', 'C', 'C']\n", - "LIGAND.SPLIT_LIGAND: conn_coord=[[-3.028007, 7.7619381, 8.3134996], [-2.7651809, 6.6251757, 7.5020291], [-2.1733829, 5.6749186, 8.3189312], [-2.0313814, 6.1721819, 9.660519], [-2.5627616, 7.4609076, 9.6279299]]\n", - "LIGAND.SPLIT_LIGAND: conn_radii=[0.73, 0.73, 0.73, 0.73, 0.73]\n", - "blocklist=[[0, 1, 2, 3, 4]]\n", - "LIGAND.SPLIT_LIGAND: block=[0, 1, 2, 3, 4]\n", - "\tAtom 0 : C \tMetal : Fe \tdistance : 2.077 \tthres : 2.501\n", - "\tAtom 1 : C \tMetal : Hg \tdistance : 2.042 \tthres : 2.501\n", - "\tAtom 2 : C \tMetal : Fe \tdistance : 2.051 \tthres : 2.501\n", - "\tAtom 3 : C \tMetal : Fe \tdistance : 2.081 \tthres : 2.501\n", - "\tAtom 4 : C \tMetal : Fe \tdistance : 2.068 \tthres : 2.501\n", - "ratio_list=[0.83, 0.816, 0.82, 0.832, 0.827] std_dev=0.006\n", - " GET_PROTONATION_STATES: addressing group with hapticity: ['h5-Cp']\n", - " GET_PROTONATION_STATES: and parent indices: [0, 2, 3, 5, 7]\n", - " GET_PROTONATION_STATES: Added H to atom 0 with: a.mconnec=1 and label=C\n", - "protonation_states=[------------- Cell2mol Protonation ----------------\n", - " Status = True\n", - " Labels = ['C', 'H', 'C', 'C', 'H', 'C', 'H', 'C', 'H', 'H']\n", - " Type = Local\n", - " Atoms added in positions = [1 0 0 0 0 0 0 0 0]\n", - " Atoms blocked (no atoms added) = [1 0 0 1 0 1 0 1 0]\n", + "\n", + "------------- Cell2mol LIGAND Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = ligand\n", + " Number of Atoms = 1\n", + " Formula = Cl\n", + " Has Adjacency Matrix = YES\n", + " Origin = split_complex\n", "---------------------------------------------------\n", - "]\n", - " POSCHARGE will try charges [0, -1, 1, -2, 2]\n", - "smiles='[H][C+]1CC([H])([H])[C+]([H])[C-]1[H]'\n", - " POSCHARGE: charge 0 with smiles [H][C+]1CC([H])([H])[C+]([H])[C-]1[H]\n", - "smiles='[H]C1=[C-]C([H])([H])C([H])=C1[H]'\n", - " POSCHARGE: charge 0 with smiles [H]C1=[C-]C([H])([H])C([H])=C1[H]\n", - "smiles='[H][C+]1CC([H])([H])[C-]([H])[C+]1[H]'\n", - " POSCHARGE: charge 0 with smiles [H][C+]1CC([H])([H])[C-]([H])[C+]1[H]\n", - "smiles='[H][C+]1[C-]([H])[C-]([H])CC1([H])[H]'\n", - " POSCHARGE: charge 0 with smiles [H][C+]1[C-]([H])[C-]([H])CC1([H])[H]\n", - "smiles='[H][C+]1CC([H])([H])[C+]([H])[C+]1[H]'\n", - " POSCHARGE: charge 0 with smiles [H][C+]1CC([H])([H])[C+]([H])[C+]1[H]\n", - " NEW SELECT FUNCTION: uncorr_total: [1, -1, 1, -1, 3]\n", - " NEW SELECT FUNCTION: uncorr_abs_total: [1, 1, 1, 1, 3]\n", - " NEW SELECT FUNCTION: uncorr_abs_atcharge: [3, 1, 3, 3, 3]\n", - " NEW SELECT FUNCTION: uncorr_zwitt: [True, False, True, True, False]\n", - " NEW SELECT FUNCTION: coincide: [False, True, True, False, False]\n", - " NEW SELECT FUNCTION: listofmintot: [0, 1, 2, 3]\n", - " NEW SELECT FUNCTION: listofminabs: [1]\n", - " NEW SELECT FUNCTION: tmplist: [1], including:\n", - " NEW SELECT FUNCTION: Corr_charge=-2\n", - " NEW SELECT FUNCTION: Smiles=[H]C1=[C-]C([H])([H])C([H])=C1[H]\n", - " NEW SELECT FUNCTION: found corr_charges=[-2]\n", - " NEW SELECT FUNCTION: doing tgt_charge=-2\n", - " NEW SELECT FUNCTION: charge_state added\n", - " NEW SELECT FUNCTION: Case 1, only one entry for -2 in tmplist\n", - "Target charge -2 of H4-C5 exists in [-2].\n", + "\n", + "['C', 'H', 'C', 'C', 'H', 'C', 'H', 'C', 'H']\n", + "['Cl']\n", + "COMPARE_SPECIES. FALSE, different natoms:\n", + "COMPARE_SPECIES. Comparing:\n", + "------------- Cell2mol LIGAND Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = ligand\n", + " Number of Atoms = 9\n", + " Formula = H4-C5\n", + " Has Adjacency Matrix = YES\n", + " Origin = split_complex\n", + "---------------------------------------------------\n", + "\n", "------------- Cell2mol LIGAND Object --------------\n", " Version = 0.1\n", " Type = specie\n", @@ -2663,64 +2681,61 @@ " Number of Atoms = 10\n", " Formula = H5-C5\n", " Has Adjacency Matrix = YES\n", - " Total Charge = -1\n", - " Smiles = [H]C1=C([H])C([H])([H])C([H])=C1[H]\n", " Origin = split_complex\n", - " Number of Groups = 1\n", "---------------------------------------------------\n", - " [8, 14] -1\n", - "Target charge -1 of H5-C5 exists in [-1].\n", - "H5-C5\n", - "LIGAND.SPLIT_LIGAND: self.indices=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]\n", - "LIGAND.SPLIT_LIGAND: conn_idx=[1, 2, 4, 6, 8]\n", - "LIGAND.SPLIT_LIGAND: conn_labels=['C', 'C', 'C', 'C', 'C']\n", - "LIGAND.SPLIT_LIGAND: conn_coord=[[-5.0807517, 5.0475424, 10.4980609], [-5.66988, 6.2701729, 10.2873176], [-6.088064, 6.3514951, 8.8751198], [-5.7244276, 5.1338652, 8.3037229], [-5.1291871, 4.3765899, 9.2944339]]\n", - "LIGAND.SPLIT_LIGAND: conn_radii=[0.73, 0.73, 0.73, 0.73, 0.73]\n", - "blocklist=[[0, 1, 2, 3, 4]]\n", - "LIGAND.SPLIT_LIGAND: block=[0, 1, 2, 3, 4]\n", - "\tAtom 0 : C \tMetal : Fe \tdistance : 2.062 \tthres : 2.501\n", - "\tAtom 1 : C \tMetal : Fe \tdistance : 2.045 \tthres : 2.501\n", - "\tAtom 2 : C \tMetal : Fe \tdistance : 2.084 \tthres : 2.501\n", - "\tAtom 3 : C \tMetal : Fe \tdistance : 2.104 \tthres : 2.501\n", - "\tAtom 4 : C \tMetal : Fe \tdistance : 2.065 \tthres : 2.501\n", - "ratio_list=[0.824, 0.818, 0.833, 0.841, 0.826] std_dev=0.008\n", - " GET_PROTONATION_STATES: addressing group with hapticity: ['h5-Cp']\n", - " GET_PROTONATION_STATES: and parent indices: [1, 2, 4, 6, 8]\n", - " GET_PROTONATION_STATES: Added H to atom 1 with: a.mconnec=1 and label=C\n", - "protonation_states=[------------- Cell2mol Protonation ----------------\n", - " Status = True\n", - " Labels = ['H', 'C', 'C', 'H', 'C', 'H', 'C', 'H', 'C', 'H', 'H']\n", - " Type = Local\n", - " Atoms added in positions = [0 1 0 0 0 0 0 0 0 0]\n", - " Atoms blocked (no atoms added) = [0 1 1 0 1 0 1 0 1 0]\n", + "\n", + "['C', 'H', 'C', 'C', 'H', 'C', 'H', 'C', 'H']\n", + "['C', 'H', 'C', 'H', 'C', 'H', 'C', 'H', 'C', 'H']\n", + "COMPARE_SPECIES. FALSE, different natoms:\n", + "COMPARE_SPECIES. Comparing:\n", + "------------- Cell2mol LIGAND Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = ligand\n", + " Number of Atoms = 9\n", + " Formula = H4-C5\n", + " Has Adjacency Matrix = YES\n", + " Origin = split_complex\n", "---------------------------------------------------\n", - "]\n", - " POSCHARGE will try charges [0, -1, 1, -2, 2]\n", - "smiles='[H]C1=C([H])C([H])([H])C([H])=C1[H]'\n", - " POSCHARGE: charge 0 with smiles [H]C1=C([H])C([H])([H])C([H])=C1[H]\n", - "smiles='[H][C+]1[C-]([H])[C-]([H])C([H])([H])[C-]1[H]'\n", - " POSCHARGE: charge 0 with smiles [H][C+]1[C-]([H])[C-]([H])C([H])([H])[C-]1[H]\n", - "smiles='[H][C+]1[C-]([H])[C+]([H])C([H])([H])[C-]1[H]'\n", - " POSCHARGE: charge 0 with smiles [H][C+]1[C-]([H])[C+]([H])C([H])([H])[C-]1[H]\n", - "smiles='[H][C+]1[C-]([H])[C-]([H])[C-]([H])C1([H])[H]'\n", - " POSCHARGE: charge 0 with smiles [H][C+]1[C-]([H])[C-]([H])[C-]([H])C1([H])[H]\n", - "smiles='[H][C+]1[C+]([H])C([H])([H])[C+]([H])[C-]1[H]'\n", - " POSCHARGE: charge 0 with smiles [H][C+]1[C+]([H])C([H])([H])[C+]([H])[C-]1[H]\n", - " NEW SELECT FUNCTION: uncorr_total: [0, -2, 0, -2, 2]\n", - " NEW SELECT FUNCTION: uncorr_abs_total: [0, 2, 0, 2, 2]\n", - " NEW SELECT FUNCTION: uncorr_abs_atcharge: [0, 4, 4, 4, 4]\n", - " NEW SELECT FUNCTION: uncorr_zwitt: [False, True, True, True, True]\n", - " NEW SELECT FUNCTION: coincide: [True, False, False, True, True]\n", - " NEW SELECT FUNCTION: listofmintot: [0, 2]\n", - " NEW SELECT FUNCTION: listofminabs: [0]\n", - " NEW SELECT FUNCTION: tmplist: [0], including:\n", - " NEW SELECT FUNCTION: Corr_charge=-1\n", - " NEW SELECT FUNCTION: Smiles=[H]C1=C([H])C([H])([H])C([H])=C1[H]\n", - " NEW SELECT FUNCTION: found corr_charges=[-1]\n", - " NEW SELECT FUNCTION: doing tgt_charge=-1\n", - " NEW SELECT FUNCTION: charge_state added\n", - " NEW SELECT FUNCTION: Case 1, only one entry for -1 in tmplist\n", - "Target charge -1 of H5-C5 exists in [-1].\n", + "\n", + "------------- Cell2mol LIGAND Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = ligand\n", + " Number of Atoms = 9\n", + " Formula = H4-C5\n", + " Has Adjacency Matrix = YES\n", + " Origin = split_complex\n", + "---------------------------------------------------\n", + "\n", + "['C', 'H', 'C', 'C', 'H', 'C', 'H', 'C', 'H']\n", + "['C', 'C', 'H', 'C', 'H', 'C', 'H', 'C', 'H']\n", + "mol1.adj_types=array([[0, 0, 0, ..., 0, 0, 0],\n", + " [0, 0, 0, ..., 0, 0, 0],\n", + " [0, 0, 0, ..., 0, 0, 0],\n", + " ...,\n", + " [0, 0, 0, ..., 0, 0, 0],\n", + " [0, 0, 0, ..., 0, 0, 0],\n", + " [0, 0, 0, ..., 0, 0, 0]])\n", + "mol2.adj_types=array([[0, 0, 0, ..., 0, 0, 0],\n", + " [0, 0, 0, ..., 0, 0, 0],\n", + " [0, 0, 0, ..., 0, 0, 0],\n", + " ...,\n", + " [0, 0, 0, ..., 0, 0, 0],\n", + " [0, 0, 0, ..., 0, 0, 0],\n", + " [0, 0, 0, ..., 0, 0, 0]])\n", + "ligand 0 is the same with 2 in typelist\n", + "COMPARE_SPECIES. Comparing:\n", + "------------- Cell2mol LIGAND Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = ligand\n", + " Number of Atoms = 10\n", + " Formula = H5-C5\n", + " Has Adjacency Matrix = YES\n", + " Origin = split_complex\n", + "---------------------------------------------------\n", + "\n", "------------- Cell2mol LIGAND Object --------------\n", " Version = 0.1\n", " Type = specie\n", @@ -2728,28 +2743,285 @@ " Number of Atoms = 1\n", " Formula = Cl\n", " Has Adjacency Matrix = YES\n", - " Total Charge = -1\n", - " Smiles = [Cl-]\n", " Origin = split_complex\n", - " Number of Groups = 1\n", "---------------------------------------------------\n", - " [0, 1, 2, 3, 4, 5, 10, 15] -1\n", - "Target charge -1 of Cl exists in [-1].\n", - "Cl\n", + "\n", + "['H', 'C', 'C', 'H', 'C', 'H', 'C', 'H', 'C', 'H']\n", + "['Cl']\n", + "COMPARE_SPECIES. FALSE, different natoms:\n", + "COMPARE_SPECIES. Comparing:\n", + "------------- Cell2mol LIGAND Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = ligand\n", + " Number of Atoms = 10\n", + " Formula = H5-C5\n", + " Has Adjacency Matrix = YES\n", + " Origin = split_complex\n", + "---------------------------------------------------\n", + "\n", + "------------- Cell2mol LIGAND Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = ligand\n", + " Number of Atoms = 10\n", + " Formula = H5-C5\n", + " Has Adjacency Matrix = YES\n", + " Origin = split_complex\n", + "---------------------------------------------------\n", + "\n", + "['H', 'C', 'C', 'H', 'C', 'H', 'C', 'H', 'C', 'H']\n", + "['C', 'H', 'C', 'H', 'C', 'H', 'C', 'H', 'C', 'H']\n", + "mol1.adj_types=array([[0, 0, 0, ..., 0, 0, 0],\n", + " [0, 0, 0, ..., 0, 0, 0],\n", + " [0, 0, 0, ..., 0, 0, 0],\n", + " ...,\n", + " [0, 0, 0, ..., 0, 0, 0],\n", + " [0, 0, 0, ..., 0, 0, 0],\n", + " [0, 0, 0, ..., 0, 0, 0]])\n", + "mol2.adj_types=array([[0, 0, 0, ..., 0, 0, 0],\n", + " [0, 0, 0, ..., 0, 0, 0],\n", + " [0, 0, 0, ..., 0, 0, 0],\n", + " ...,\n", + " [0, 0, 0, ..., 0, 0, 0],\n", + " [0, 0, 0, ..., 0, 0, 0],\n", + " [0, 0, 0, ..., 0, 0, 0]])\n", + "ligand 1 is the same with 1 in typelist\n", + "COMPARE_SPECIES. Comparing:\n", + "------------- Cell2mol LIGAND Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = ligand\n", + " Number of Atoms = 10\n", + " Formula = H5-C5\n", + " Has Adjacency Matrix = YES\n", + " Origin = split_complex\n", + "---------------------------------------------------\n", + "\n", + "------------- Cell2mol LIGAND Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = ligand\n", + " Number of Atoms = 9\n", + " Formula = H4-C5\n", + " Has Adjacency Matrix = YES\n", + " Origin = split_complex\n", + "---------------------------------------------------\n", + "\n", + "['H', 'C', 'C', 'H', 'C', 'H', 'C', 'H', 'C', 'H']\n", + "['C', 'C', 'H', 'C', 'H', 'C', 'H', 'C', 'H']\n", + "COMPARE_SPECIES. FALSE, different natoms:\n", + "COMPARE_SPECIES. Comparing:\n", + "------------- Cell2mol LIGAND Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = ligand\n", + " Number of Atoms = 1\n", + " Formula = Cl\n", + " Has Adjacency Matrix = YES\n", + " Origin = split_complex\n", + "---------------------------------------------------\n", + "\n", + "------------- Cell2mol LIGAND Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = ligand\n", + " Number of Atoms = 1\n", + " Formula = Cl\n", + " Has Adjacency Matrix = YES\n", + " Origin = split_complex\n", + "---------------------------------------------------\n", + "\n", + "['Cl']\n", + "['Cl']\n", + "mol1.adj_types=array([[0, 0, 0, ..., 0, 0, 0],\n", + " [0, 0, 0, ..., 0, 0, 0],\n", + " [0, 0, 0, ..., 0, 0, 0],\n", + " ...,\n", + " [0, 0, 0, ..., 0, 0, 0],\n", + " [0, 0, 0, ..., 0, 0, 0],\n", + " [0, 0, 0, ..., 0, 0, 0]])\n", + "mol2.adj_types=array([[0, 0, 0, ..., 0, 0, 0],\n", + " [0, 0, 0, ..., 0, 0, 0],\n", + " [0, 0, 0, ..., 0, 0, 0],\n", + " ...,\n", + " [0, 0, 0, ..., 0, 0, 0],\n", + " [0, 0, 0, ..., 0, 0, 0],\n", + " [0, 0, 0, ..., 0, 0, 0]])\n", + "ligand 2 is the same with 0 in typelist\n", + "COMPARE_SPECIES. Comparing:\n", + "------------- Cell2mol LIGAND Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = ligand\n", + " Number of Atoms = 1\n", + " Formula = Cl\n", + " Has Adjacency Matrix = YES\n", + " Origin = split_complex\n", + "---------------------------------------------------\n", + "\n", + "------------- Cell2mol LIGAND Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = ligand\n", + " Number of Atoms = 10\n", + " Formula = H5-C5\n", + " Has Adjacency Matrix = YES\n", + " Origin = split_complex\n", + "---------------------------------------------------\n", + "\n", + "['Cl']\n", + "['C', 'H', 'C', 'H', 'C', 'H', 'C', 'H', 'C', 'H']\n", + "COMPARE_SPECIES. FALSE, different natoms:\n", + "COMPARE_SPECIES. Comparing:\n", + "------------- Cell2mol LIGAND Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = ligand\n", + " Number of Atoms = 1\n", + " Formula = Cl\n", + " Has Adjacency Matrix = YES\n", + " Origin = split_complex\n", + "---------------------------------------------------\n", + "\n", + "------------- Cell2mol LIGAND Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = ligand\n", + " Number of Atoms = 9\n", + " Formula = H4-C5\n", + " Has Adjacency Matrix = YES\n", + " Origin = split_complex\n", + "---------------------------------------------------\n", + "\n", + "['Cl']\n", + "['C', 'C', 'H', 'C', 'H', 'C', 'H', 'C', 'H']\n", + "COMPARE_SPECIES. FALSE, different natoms:\n", + "COMPARE_METALS. Comparing:\n", + "Hg\n", + "Hg\n", + "COMPARE_METALS. Different coordination sphere\n", + "C-Cl\n", + "Cl4\n", + "COMPARE_METALS. Comparing:\n", + "Hg\n", + "Hg\n", + "Metal 0 is the same with 1 in typelist\n", + "COMPARE_METALS. Comparing:\n", + "Hg\n", + "Fe\n", + "COMPARE_METALS. Different label\n", + "COMPARE_METALS. Comparing:\n", + "Fe\n", + "Hg\n", + "COMPARE_METALS. Different label\n", + "COMPARE_METALS. Comparing:\n", + "Fe\n", + "Hg\n", + "COMPARE_METALS. Different label\n", + "COMPARE_METALS. Comparing:\n", + "Fe\n", + "Fe\n", + "Metal 1 is the same with 2 in typelist\n" + ] + }, + { + "data": { + "text/plain": [ + "[------------- Cell2mol LIGAND Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = ligand\n", + " Number of Atoms = 1\n", + " Formula = Cl\n", + " Has Adjacency Matrix = YES\n", + " Origin = split_complex\n", + " ---------------------------------------------------,\n", + " ------------- Cell2mol METAL Object --------------\n", + " Version = 0.1\n", + " Type = atom\n", + " Sub-Type = metal\n", + " Label = Hg\n", + " Atomic Number = 80\n", + " Index in Molecule = 0\n", + " Metal Adjacency (mconnec) = 4\n", + " Regular Adjacencies (connec) = 4\n", + " Coordination Sphere Formula = Cl4\n", + " ----------------------------------------------------,\n", + " ------------- Cell2mol LIGAND Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = ligand\n", + " Number of Atoms = 10\n", + " Formula = H5-C5\n", + " Has Adjacency Matrix = YES\n", + " Origin = split_complex\n", + " ---------------------------------------------------,\n", + " ------------- Cell2mol LIGAND Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = ligand\n", + " Number of Atoms = 9\n", + " Formula = H4-C5\n", + " Has Adjacency Matrix = YES\n", + " Origin = split_complex\n", + " ---------------------------------------------------,\n", + " ------------- Cell2mol METAL Object --------------\n", + " Version = 0.1\n", + " Type = atom\n", + " Sub-Type = metal\n", + " Label = Hg\n", + " Atomic Number = 80\n", + " Index in Molecule = 0\n", + " Metal Adjacency (mconnec) = 2\n", + " Regular Adjacencies (connec) = 2\n", + " Coordination Sphere Formula = C-Cl\n", + " ----------------------------------------------------,\n", + " ------------- Cell2mol METAL Object --------------\n", + " Version = 0.1\n", + " Type = atom\n", + " Sub-Type = metal\n", + " Label = Fe\n", + " Atomic Number = 26\n", + " Index in Molecule = 1\n", + " Metal Adjacency (mconnec) = 10\n", + " Regular Adjacencies (connec) = 10\n", + " Coordination Sphere Formula = C10\n", + " ----------------------------------------------------]" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "newcell.get_unique_species(debug=debug)" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "25e6cdaa", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ "LIGAND.SPLIT_LIGAND: self.indices=[0]\n", "LIGAND.SPLIT_LIGAND: conn_idx=[0]\n", "LIGAND.SPLIT_LIGAND: conn_labels=['Cl']\n", - "LIGAND.SPLIT_LIGAND: conn_coord=[[-3.6481031, 6.3843261, 3.2600042]]\n", + "LIGAND.SPLIT_LIGAND: conn_coord=[[3.4671199, 3.2061439, 5.7530764]]\n", "LIGAND.SPLIT_LIGAND: conn_radii=[1.02]\n", "blocklist=[[0]]\n", "LIGAND.SPLIT_LIGAND: block=[0]\n", "ADD_ATOM: Metalist length 1\n", "ADD_ATOM: Ligand Atoms 1\n", "ADD_ATOM: site= 0\n", - "ADD_ATOM: evaluating apos=array([-3.6481031, 6.3843261, 3.2600042]) and tgt.coord=[-3.1627853000000004, 6.4949012, 5.503552]\n", + "ADD_ATOM: evaluating apos=array([3.4671199, 3.2061439, 5.7530764]) and tgt.coord=[2.8686395, 1.120505, 6.7807219]\n", "ADD_ATOM: received tmpconnec[posadded]=1\n", "ADD_ATOM: Chosen Metal index None. H is added at site 0\n", - " GET_PROTONATION_STATES: evaluating non-haptic group with index 0 and label Cl\n", "protonation_states=[------------- Cell2mol Protonation ----------------\n", " Status = True\n", " Labels = ['Cl']\n", @@ -2758,728 +3030,1816 @@ " Atoms blocked (no atoms added) = [1]\n", "---------------------------------------------------\n", "]\n", - " POSCHARGE will try charges [0, -1, 1, -2, 2]\n", "smiles='[Cl-]'\n", - " POSCHARGE: charge 0 with smiles [Cl-]\n", "smiles='[Cl-]'\n", - " POSCHARGE: charge 0 with smiles [Cl-]\n", "smiles='[Cl-]'\n", - " POSCHARGE: charge 0 with smiles [Cl-]\n", "smiles='[Cl-]'\n", - " POSCHARGE: charge 0 with smiles [Cl-]\n", "smiles='[Cl-]'\n", - " POSCHARGE: charge 0 with smiles [Cl-]\n", - " NEW SELECT FUNCTION: uncorr_total: [-1, -1, -1, -1, -1]\n", - " NEW SELECT FUNCTION: uncorr_abs_total: [1, 1, 1, 1, 1]\n", - " NEW SELECT FUNCTION: uncorr_abs_atcharge: [1, 1, 1, 1, 1]\n", - " NEW SELECT FUNCTION: uncorr_zwitt: [False, False, False, False, False]\n", - " NEW SELECT FUNCTION: coincide: [False, True, False, False, False]\n", - " NEW SELECT FUNCTION: listofmintot: [0, 1, 2, 3, 4]\n", - " NEW SELECT FUNCTION: listofminabs: [0, 1, 2, 3, 4]\n", - " NEW SELECT FUNCTION: tmplist: [1], including:\n", - " NEW SELECT FUNCTION: Corr_charge=-1\n", - " NEW SELECT FUNCTION: Smiles=[Cl-]\n", - " NEW SELECT FUNCTION: found corr_charges=[-1]\n", - " NEW SELECT FUNCTION: doing tgt_charge=-1\n", - " NEW SELECT FUNCTION: charge_state added\n", - " NEW SELECT FUNCTION: Case 1, only one entry for -1 in tmplist\n", - "Target charge -1 of Cl exists in [-1].\n", - "------------- Cell2mol METAL Object --------------\n", - " Version = 0.1\n", - " Type = atom\n", - " Sub-Type = metal\n", - " Label = Hg\n", - " Atomic Number = 80\n", - " Index in Molecule = 0\n", - " Metal Adjacency (mconnec) = 2\n", - " Regular Adjacencies (connec) = 2\n", - " Atom Charge = 2.0\n", - " Coordination Sphere Formula = C-Cl\n", - " Possible Charges = [2]\n", - "----------------------------------------------------\n", - " [11, 16] 2\n", - "Target charge 2 of Hg exists in [2].\n", - "Hg\n", - "Target charge 2 of Hg exists in [2].\n", - "------------- Cell2mol METAL Object --------------\n", - " Version = 0.1\n", - " Type = atom\n", - " Sub-Type = metal\n", - " Label = Fe\n", - " Atomic Number = 26\n", - " Index in Molecule = 1\n", - " Metal Adjacency (mconnec) = 10\n", - " Regular Adjacencies (connec) = 10\n", - " Atom Charge = 3.0\n", - " Coordination Sphere Formula = C10\n", - " Possible Charges = [2, 3, 0]\n", - "----------------------------------------------------\n", - " [12, 17] 3\n", - "Target charge 3 of Fe exists in [2, 3, 0].\n", - "Fe\n", - "Target charge 3 of Fe exists in [2, 3, 0].\n" + "Cl\n", + "spec.protonation_states=[------------- Cell2mol Protonation ----------------\n", + " Status = True\n", + " Labels = ['Cl']\n", + " Type = Local\n", + " Atoms added in positions = [0]\n", + " Atoms blocked (no atoms added) = [1]\n", + "---------------------------------------------------\n", + "]\n", + "\n", + "LIGAND.SPLIT_LIGAND: self.indices=[0]\n", + "LIGAND.SPLIT_LIGAND: conn_idx=[0]\n", + "LIGAND.SPLIT_LIGAND: conn_labels=['Cl']\n", + "LIGAND.SPLIT_LIGAND: conn_coord=[[2.9351153, 0.5309238, 9.0521877]]\n", + "LIGAND.SPLIT_LIGAND: conn_radii=[1.02]\n", + "blocklist=[[0]]\n", + "LIGAND.SPLIT_LIGAND: block=[0]\n", + "LIGAND.SPLIT_LIGAND: self.indices=[0]\n", + "LIGAND.SPLIT_LIGAND: conn_idx=[0]\n", + "LIGAND.SPLIT_LIGAND: conn_labels=['Cl']\n", + "LIGAND.SPLIT_LIGAND: conn_coord=[[1.3562608, -0.0638992, 5.1197601]]\n", + "LIGAND.SPLIT_LIGAND: conn_radii=[1.02]\n", + "blocklist=[[0]]\n", + "LIGAND.SPLIT_LIGAND: block=[0]\n", + "LIGAND.SPLIT_LIGAND: self.indices=[0]\n", + "LIGAND.SPLIT_LIGAND: conn_idx=[0]\n", + "LIGAND.SPLIT_LIGAND: conn_labels=['Cl']\n", + "LIGAND.SPLIT_LIGAND: conn_coord=[[2.7576338000000002, -3.8316994000000006, 5.1099833]]\n", + "LIGAND.SPLIT_LIGAND: conn_radii=[1.02]\n", + "blocklist=[[0]]\n", + "LIGAND.SPLIT_LIGAND: block=[0]\n", + "LIGAND.SPLIT_LIGAND: self.indices=[0]\n", + "LIGAND.SPLIT_LIGAND: conn_idx=[0]\n", + "LIGAND.SPLIT_LIGAND: conn_labels=['Cl']\n", + "LIGAND.SPLIT_LIGAND: conn_coord=[[3.2896384000000003, -1.1564794000000003, 1.8108721]]\n", + "LIGAND.SPLIT_LIGAND: conn_radii=[1.02]\n", + "blocklist=[[0]]\n", + "LIGAND.SPLIT_LIGAND: block=[0]\n", + "LIGAND.SPLIT_LIGAND: self.indices=[0]\n", + "LIGAND.SPLIT_LIGAND: conn_idx=[0]\n", + "LIGAND.SPLIT_LIGAND: conn_labels=['Cl']\n", + "LIGAND.SPLIT_LIGAND: conn_coord=[[4.8684929, -0.5616564000000004, 5.7432997]]\n", + "LIGAND.SPLIT_LIGAND: conn_radii=[1.02]\n", + "blocklist=[[0]]\n", + "LIGAND.SPLIT_LIGAND: block=[0]\n", + "\n", + "LIGAND.SPLIT_LIGAND: self.indices=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]\n", + "LIGAND.SPLIT_LIGAND: conn_idx=[0, 2, 4, 6, 8]\n", + "LIGAND.SPLIT_LIGAND: conn_labels=['C', 'C', 'C', 'C', 'C']\n", + "LIGAND.SPLIT_LIGAND: conn_coord=[[8.4662071, 4.3093526, 1.5686258], [8.4177716, 3.6384001, 0.3649988], [9.0069, 2.4157695, 0.5757422], [9.425084, 2.3344473, 1.9879399], [9.061447600000001, 3.5520773, 2.5593369]]\n", + "LIGAND.SPLIT_LIGAND: conn_radii=[0.73, 0.73, 0.73, 0.73, 0.73]\n", + "blocklist=[[0, 1, 2, 3, 4]]\n", + "LIGAND.SPLIT_LIGAND: block=[0, 1, 2, 3, 4]\n", + "\tAtom 0 : C \tMetal : Fe \tdistance : 2.065 \tthres : 2.501\n", + "\tAtom 1 : C \tMetal : Fe \tdistance : 2.062 \tthres : 2.501\n", + "\tAtom 2 : C \tMetal : Fe \tdistance : 2.045 \tthres : 2.501\n", + "\tAtom 3 : C \tMetal : Fe \tdistance : 2.084 \tthres : 2.501\n", + "\tAtom 4 : C \tMetal : Fe \tdistance : 2.104 \tthres : 2.501\n", + "ratio_list=[0.826, 0.824, 0.818, 0.833, 0.841] std_dev=0.008\n", + "protonation_states=[------------- Cell2mol Protonation ----------------\n", + " Status = True\n", + " Labels = ['C', 'H', 'C', 'H', 'C', 'H', 'C', 'H', 'C', 'H', 'H']\n", + " Type = Local\n", + " Atoms added in positions = [1 0 0 0 0 0 0 0 0 0]\n", + " Atoms blocked (no atoms added) = [1 0 1 0 1 0 1 0 1 0]\n", + "---------------------------------------------------\n", + "]\n", + "smiles='[H]C1=C([H])C([H])([H])C([H])=C1[H]'\n", + "smiles='[H][C+]1[C-]([H])[C-]([H])C([H])([H])[C-]1[H]'\n", + "smiles='[H][C+]1[C-]([H])[C+]([H])C([H])([H])[C-]1[H]'\n", + "smiles='[H][C+]1[C-]([H])[C-]([H])[C-]([H])C1([H])[H]'\n", + "smiles='[H][C+]1[C+]([H])C([H])([H])[C+]([H])[C-]1[H]'\n", + "H5-C5\n", + "spec.protonation_states=[------------- Cell2mol Protonation ----------------\n", + " Status = True\n", + " Labels = ['C', 'H', 'C', 'H', 'C', 'H', 'C', 'H', 'C', 'H', 'H']\n", + " Type = Local\n", + " Atoms added in positions = [1 0 0 0 0 0 0 0 0 0]\n", + " Atoms blocked (no atoms added) = [1 0 1 0 1 0 1 0 1 0]\n", + "---------------------------------------------------\n", + "]\n", + "\n", + "LIGAND.SPLIT_LIGAND: self.indices=[0, 1, 2, 3, 4, 5, 6, 7, 8]\n", + "LIGAND.SPLIT_LIGAND: conn_idx=[0, 1, 3, 5, 7]\n", + "LIGAND.SPLIT_LIGAND: conn_labels=['C', 'C', 'C', 'C', 'C']\n", + "LIGAND.SPLIT_LIGAND: conn_coord=[[6.1022008, 2.0607668, 3.3610307], [5.5104028, 3.0110239, 2.5441286], [5.3684013, 2.5137605, 1.2025407], [5.8997816, 1.2250349, 1.2351299], [6.3650269, 0.9240044, 2.5495601]]\n", + "LIGAND.SPLIT_LIGAND: conn_radii=[0.73, 0.73, 0.73, 0.73, 0.73]\n", + "blocklist=[[0, 1, 2, 3, 4]]\n", + "LIGAND.SPLIT_LIGAND: block=[0, 1, 2, 3, 4]\n", + "\tAtom 0 : C \tMetal : Hg \tdistance : 2.042 \tthres : 2.501\n", + "\tAtom 1 : C \tMetal : Fe \tdistance : 2.051 \tthres : 2.501\n", + "\tAtom 2 : C \tMetal : Fe \tdistance : 2.081 \tthres : 2.501\n", + "\tAtom 3 : C \tMetal : Fe \tdistance : 2.068 \tthres : 2.501\n", + "\tAtom 4 : C \tMetal : Fe \tdistance : 2.077 \tthres : 2.501\n", + "ratio_list=[0.816, 0.82, 0.832, 0.827, 0.83] std_dev=0.006\n", + "protonation_states=[------------- Cell2mol Protonation ----------------\n", + " Status = True\n", + " Labels = ['C', 'C', 'H', 'C', 'H', 'C', 'H', 'C', 'H', 'H']\n", + " Type = Local\n", + " Atoms added in positions = [0 1 0 0 0 0 0 0 0]\n", + " Atoms blocked (no atoms added) = [0 1 0 1 0 1 0 1 0]\n", + "---------------------------------------------------\n", + "]\n", + "smiles='[H][C+]1CC([H])([H])[C+]([H])[C-]1[H]'\n", + "smiles='[H]C1=[C-]C([H])([H])C([H])=C1[H]'\n", + "smiles='[H][C+]1[C+]([H])C([H])([H])C[C-]1[H]'\n", + "smiles='[H][C+]1CC([H])([H])[C-]([H])[C-]1[H]'\n", + "smiles='[H][C+]1CC([H])([H])[C+]([H])[C+]1[H]'\n", + "H4-C5\n", + "spec.protonation_states=[------------- Cell2mol Protonation ----------------\n", + " Status = True\n", + " Labels = ['C', 'C', 'H', 'C', 'H', 'C', 'H', 'C', 'H', 'H']\n", + " Type = Local\n", + " Atoms added in positions = [0 1 0 0 0 0 0 0 0]\n", + " Atoms blocked (no atoms added) = [0 1 0 1 0 1 0 1 0]\n", + "---------------------------------------------------\n", + "]\n", + "\n", + "LIGAND.SPLIT_LIGAND: self.indices=[0]\n", + "LIGAND.SPLIT_LIGAND: conn_idx=[0]\n", + "LIGAND.SPLIT_LIGAND: conn_labels=['Cl']\n", + "LIGAND.SPLIT_LIGAND: conn_coord=[[6.985123, 2.3016164, 7.6030555]]\n", + "LIGAND.SPLIT_LIGAND: conn_radii=[1.02]\n", + "blocklist=[[0]]\n", + "LIGAND.SPLIT_LIGAND: block=[0]\n", + "\n", + "\n", + "[[-1], [2], [-1], [-2], [2], [2, 3, 0]]\n" ] - }, - { - "data": { - "text/plain": [ - "[------------- Cell2mol MOLECULE Object --------------\n", - " Version = 0.1\n", - " Type = specie\n", - " Sub-Type = molecule\n", - " Number of Atoms = 8\n", - " Formula = Cl6-Hg2\n", - " Has Adjacency Matrix = YES\n", - " Total Charge = -2\n", - " Smiles = ['[Cl-]', '[Cl-]', '[Cl-]', '[Cl-]', '[Cl-]', '[Cl-]']\n", - " Origin = cell.reconstruct\n", - " Number of Ligands = 6\n", - " Number of Metals = 2\n", - " ---------------------------------------------------,\n", - " ------------- Cell2mol MOLECULE Object --------------\n", - " Version = 0.1\n", - " Type = specie\n", - " Sub-Type = molecule\n", - " Number of Atoms = 22\n", - " Formula = H9-C10-Cl-Fe-Hg\n", - " Has Adjacency Matrix = YES\n", - " Total Charge = 1\n", - " Smiles = ['[H]C1=C([H])C([H])([H])C([H])=C1[H]', '[H]C1=[C-]C([H])([H])C([H])=C1[H]', '[Cl-]']\n", - " Origin = cell.reconstruct\n", - " Number of Ligands = 3\n", - " Number of Metals = 2\n", - " ---------------------------------------------------,\n", - " ------------- Cell2mol MOLECULE Object --------------\n", - " Version = 0.1\n", - " Type = specie\n", - " Sub-Type = molecule\n", - " Number of Atoms = 22\n", - " Formula = H9-C10-Cl-Fe-Hg\n", - " Has Adjacency Matrix = YES\n", - " Total Charge = 1\n", - " Smiles = ['[H]C1=[C-]C([H])([H])C([H])=C1[H]', '[H]C1=C([H])C([H])([H])C([H])=C1[H]', '[Cl-]']\n", - " Origin = cell.reconstruct\n", - " Number of Ligands = 3\n", - " Number of Metals = 2\n", - " ---------------------------------------------------]" - ] - }, - "execution_count": 17, - "metadata": {}, - "output_type": "execute_result" } ], "source": [ - "newcell.assign_charges(debug=2)" + "selected_cs = []\n", + "for idx, spec in enumerate(newcell.unique_species):\n", + "# print(\"doing\", spec)\n", + " if spec.subtype != \"metal\":\n", + " spec.get_protonation_states()\n", + " spec.get_possible_cs()\n", + " print(spec.formula)\n", + " selected_cs.append(list([cs.corr_total_charge for cs in spec.possible_cs]))\n", + " print(f\"{spec.protonation_states=}\")\n", + "# for prot in spec.protonation_states :\n", + "# for sub_spec, sub_prot in zip(spec.coord, prot.coords):\n", + "# print(sub_spec, sub_prot, (sub_spec == sub_prot)) \n", + "# print(\"==========\") \n", + "# for cs in spec.possible_cs :\n", + "# for sub_spec, sub_cs_prot in zip(spec.coord, cs.protonation.coords):\n", + "# print(sub_spec, sub_cs_prot, (sub_spec == sub_cs_prot)) \n", + " \n", + "# print(\"==========\") \n", + "# for prot, cs in zip(spec.protonation_states, spec.possible_cs) :\n", + "# for sub_prot, sub_cs_prot in zip(prot.coords, cs.protonation.coords):\n", + "# print(sub_prot, sub_cs_prot, (sub_prot == sub_cs_prot)) \n", + " else :\n", + " spec.get_possible_cs()\n", + " selected_cs.append(spec.possible_cs) \n", + " print(\"\")\n", + "print(selected_cs)" ] }, { "cell_type": "code", - "execution_count": 18, - "id": "678fa41f", + "execution_count": 19, + "id": "2972ca26", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "False" + "[[-1], [2], [-1], [-2], [2], [2, 3, 0]]" ] }, - "execution_count": 18, + "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "newcell.error_prepare_mols" + "selected_cs" ] }, { "cell_type": "code", - "execution_count": 19, - "id": "43c42769", + "execution_count": 20, + "id": "2de46e92", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "CELL.CREATE_BONDS: Creating Bonds for molecule Cl6-Hg2\n", - "CELL.CREATE_BONDS: Creating Metal-Metal Bonds for molecule Cl6-Hg2\n", - "CELL.CREATE_BONDS: Metals: [------------- Cell2mol METAL Object --------------\n", - " Version = 0.1\n", - " Type = atom\n", - " Sub-Type = metal\n", - " Label = Hg\n", - " Atomic Number = 80\n", - " Index in Molecule = 0\n", - " Metal Adjacency (mconnec) = 4\n", - " Regular Adjacencies (connec) = 4\n", - " Atom Charge = 2.0\n", - " Coordination Sphere Formula = Cl4\n", - " Possible Charges = [2]\n", - "----------------------------------------------------\n", - ", ------------- Cell2mol METAL Object --------------\n", - " Version = 0.1\n", - " Type = atom\n", - " Sub-Type = metal\n", - " Label = Hg\n", - " Atomic Number = 80\n", - " Index in Molecule = 4\n", - " Metal Adjacency (mconnec) = 4\n", - " Regular Adjacencies (connec) = 4\n", - " Atom Charge = 2.0\n", - " Coordination Sphere Formula = Cl4\n", - " Possible Charges = [2]\n", - "----------------------------------------------------\n", - "]\n", - "CELL.CREATE_BONDS: Creating Bonds for molecule H9-C10-Cl-Fe-Hg\n", - "CELL.CREATE_BONDS: Creating Metal-Metal Bonds for molecule H9-C10-Cl-Fe-Hg\n", - "CELL.CREATE_BONDS: Metals: [------------- Cell2mol METAL Object --------------\n", - " Version = 0.1\n", - " Type = atom\n", - " Sub-Type = metal\n", - " Label = Hg\n", - " Atomic Number = 80\n", - " Index in Molecule = 0\n", - " Metal Adjacency (mconnec) = 2\n", - " Regular Adjacencies (connec) = 2\n", - " Atom Charge = 2.0\n", - " Coordination Sphere Formula = C-Cl\n", - " Possible Charges = [2]\n", - "----------------------------------------------------\n", - ", ------------- Cell2mol METAL Object --------------\n", - " Version = 0.1\n", - " Type = atom\n", - " Sub-Type = metal\n", - " Label = Fe\n", - " Atomic Number = 26\n", - " Index in Molecule = 1\n", - " Metal Adjacency (mconnec) = 10\n", - " Regular Adjacencies (connec) = 10\n", - " Atom Charge = 3.0\n", - " Coordination Sphere Formula = C10\n", - " Possible Charges = [2, 3, 0]\n", - "----------------------------------------------------\n", - "]\n", - "CELL.CREATE_BONDS: Creating Bonds for molecule H9-C10-Cl-Fe-Hg\n", - "CELL.CREATE_BONDS: Creating Metal-Metal Bonds for molecule H9-C10-Cl-Fe-Hg\n", - "CELL.CREATE_BONDS: Metals: [------------- Cell2mol METAL Object --------------\n", - " Version = 0.1\n", - " Type = atom\n", - " Sub-Type = metal\n", - " Label = Hg\n", - " Atomic Number = 80\n", - " Index in Molecule = 0\n", - " Metal Adjacency (mconnec) = 2\n", - " Regular Adjacencies (connec) = 2\n", - " Atom Charge = 2.0\n", - " Coordination Sphere Formula = C-Cl\n", - " Possible Charges = [2]\n", - "----------------------------------------------------\n", - ", ------------- Cell2mol METAL Object --------------\n", - " Version = 0.1\n", - " Type = atom\n", - " Sub-Type = metal\n", - " Label = Fe\n", - " Atomic Number = 26\n", - " Index in Molecule = 1\n", - " Metal Adjacency (mconnec) = 10\n", - " Regular Adjacencies (connec) = 10\n", - " Atom Charge = 3.0\n", - " Coordination Sphere Formula = C10\n", - " Possible Charges = [2, 3, 0]\n", - "----------------------------------------------------\n", - "]\n" + "BALANCE: iterlist [[-1], [2], [-1], [-2], [2], [2, 3, 0]]\n", + "BALANCE: unique_indices [0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 4, 5, 3, 2, 0, 4, 5]\n", + "BALANCE: tmpdistr [(-1, 2, -1, -2, 2, 2), (-1, 2, -1, -2, 2, 3), (-1, 2, -1, -2, 2, 0)]\n", + "BALANCE: alldistr added: [-1, -1, -1, -1, -1, -1, 2, 2, -1, -2, -1, 2, 2, -2, -1, -1, 2, 2]\n", + "d=[-1, -1, -1, -1, -1, -1, 2, 2, -1, -2, -1, 2, 2, -2, -1, -1, 2, 2]\n", + "BALANCE: alldistr added: [-1, -1, -1, -1, -1, -1, 2, 2, -1, -2, -1, 2, 3, -2, -1, -1, 2, 3]\n", + "d=[-1, -1, -1, -1, -1, -1, 2, 2, -1, -2, -1, 2, 2, -2, -1, -1, 2, 2]\n", + "d=[-1, -1, -1, -1, -1, -1, 2, 2, -1, -2, -1, 2, 3, -2, -1, -1, 2, 3]\n", + "BALANCE: alldistr added: [-1, -1, -1, -1, -1, -1, 2, 2, -1, -2, -1, 2, 0, -2, -1, -1, 2, 0]\n", + "d=[-1, -1, -1, -1, -1, -1, 2, 2, -1, -2, -1, 2, 2, -2, -1, -1, 2, 2]\n", + "d=[-1, -1, -1, -1, -1, -1, 2, 2, -1, -2, -1, 2, 3, -2, -1, -1, 2, 3]\n", + "d=[-1, -1, -1, -1, -1, -1, 2, 2, -1, -2, -1, 2, 0, -2, -1, -1, 2, 0]\n" ] } ], "source": [ - "newcell.create_bonds(debug=debug)" - ] - }, - { - "cell_type": "code", - "execution_count": 23, - "id": "890b3d87", - "metadata": {}, - "outputs": [], - "source": [ - "def mol_with_atom_index(mol):\n", - " for atom in mol.GetAtoms():\n", - " atom.SetAtomMapNum(atom.GetIdx())\n", - " return mol" - ] - }, - { - "cell_type": "code", - "execution_count": 54, - "id": "18f24d1d", - "metadata": {}, - "outputs": [], - "source": [ - "def correct_smiles_ligand(ligand: object):\n", - " ## Receives a ligand class object and constructs the smiles and the rdkit_obj object from scratch, using atoms and bond information\n", - "\n", - " Chem.rdmolops.SanitizeFlags.SANITIZE_NONE\n", - " #### Creates an empty editable molecule\n", - " rwlig = Chem.RWMol() \n", - " \n", - " # Adds atoms with their formal charge \n", - " for jdx, atom in enumerate(ligand.atoms): \n", - " rdkit_atom = Chem.Atom(atom.atnum)\n", - " rdkit_atom.SetFormalCharge(int(atom.charge))\n", - " rdkit_atom.SetNoImplicit(True)\n", - " rwlig.AddAtom(rdkit_atom)\n", - " \n", - " # Sets bond information and hybridization\n", - " for jdx, atom in enumerate(ligand.atoms):\n", - " print(jdx, atom.label)\n", - " nbonds = 0\n", - " for b in atom.bonds:\n", - " print(b.atom1.label, b.atom2.label, b.order)\n", - " ismetal_1 = elemdatabase.elementblock[b.atom1.label] == \"d\" or elemdatabase.elementblock[b.atom1.label] == \"f\"\n", - " ismetal_2 = elemdatabase.elementblock[b.atom2.label] == \"d\" or elemdatabase.elementblock[b.atom2.label] == \"f\"\n", - " if ismetal_1 or ismetal_2:\n", - " pass\n", - " else:\n", - " begin_idx = b.atom1.get_parent_index(\"ligand\")\n", - " end_idx = b.atom2.get_parent_index(\"ligand\")\n", - " print(begin_idx, end_idx)\n", - " nbonds += 1\n", - " if b.order== 1.0: \n", - " btype = Chem.BondType.SINGLE\n", - " print(btype)\n", - " elif b.order == 2.0: \n", - " btype = Chem.BondType.DOUBLE\n", - " print(btype)\n", - " elif b.order == 3.0: \n", - " btype = Chem.BondType.TRIPLE\n", - " print(btype)\n", - " elif b.order == 1.5: \n", - " btype = Chem.BondType.AROMATIC\n", - " rdkit_atom.SetIsAromatic(True)\n", - "\n", - " if begin_idx == jdx and end_idx > jdx: rwlig.AddBond(begin_idx, end_idx, btype)\n", - "\n", - " if nbonds == 1: hyb = Chem.HybridizationType.S\n", - " elif nbonds == 2: hyb = Chem.HybridizationType.SP\n", - " elif nbonds == 3: hyb = Chem.HybridizationType.SP2\n", - " elif nbonds == 4: hyb = Chem.HybridizationType.SP3\n", - " else: hyb = Chem.HybridizationType.UNSPECIFIED\n", - " rdkit_atom.SetHybridization(hyb)\n", - " \n", - " # Creates Molecule\n", - " obj = rwlig.GetMol()\n", - " smiles = Chem.MolToSmiles(obj)\n", - " \n", - " Chem.SanitizeMol(obj)\n", - " Chem.DetectBondStereochemistry(obj, -1)\n", - " Chem.AssignStereochemistry(obj, flagPossibleStereoCenters=True, force=True)\n", - " Chem.AssignAtomChiralTagsFromStructure(obj, -1)\n", - " \n", - " # display(mol_with_atom_index(obj))\n", - "\n", - " return smiles, obj" + "final_charge_distribution = balance_charge(newcell.unique_indices, newcell.unique_species, debug=debug)" ] }, { "cell_type": "code", - "execution_count": 56, - "id": "0528b7cb", + "execution_count": 21, + "id": "6e2772ef", "metadata": {}, "outputs": [ { - "name": "stdout", - "output_type": "stream", - "text": [ - "Help on function display in module IPython.core.display_functions:\n", - "\n", - "display(*objs, include=None, exclude=None, metadata=None, transient=None, display_id=None, raw=False, clear=False, **kwargs)\n", - " Display a Python object in all frontends.\n", - " \n", - " By default all representations will be computed and sent to the frontends.\n", - " Frontends can decide which representation is used and how.\n", - " \n", - " In terminal IPython this will be similar to using :func:`print`, for use in richer\n", - " frontends see Jupyter notebook examples with rich display logic.\n", - " \n", - " Parameters\n", - " ----------\n", - " *objs : object\n", - " The Python objects to display.\n", - " raw : bool, optional\n", - " Are the objects to be displayed already mimetype-keyed dicts of raw display data,\n", - " or Python objects that need to be formatted before display? [default: False]\n", - " include : list, tuple or set, optional\n", - " A list of format type strings (MIME types) to include in the\n", - " format data dict. If this is set *only* the format types included\n", - " in this list will be computed.\n", - " exclude : list, tuple or set, optional\n", - " A list of format type strings (MIME types) to exclude in the format\n", - " data dict. If this is set all format types will be computed,\n", - " except for those included in this argument.\n", - " metadata : dict, optional\n", - " A dictionary of metadata to associate with the output.\n", - " mime-type keys in this dictionary will be associated with the individual\n", - " representation formats, if they exist.\n", - " transient : dict, optional\n", - " A dictionary of transient data to associate with the output.\n", - " Data in this dict should not be persisted to files (e.g. notebooks).\n", - " display_id : str, bool optional\n", - " Set an id for the display.\n", - " This id can be used for updating this display area later via update_display.\n", - " If given as `True`, generate a new `display_id`\n", - " clear : bool, optional\n", - " Should the output area be cleared before displaying anything? If True,\n", - " this will wait for additional output before clearing. [default: False]\n", - " **kwargs : additional keyword-args, optional\n", - " Additional keyword-arguments are passed through to the display publisher.\n", - " \n", - " Returns\n", - " -------\n", - " handle: DisplayHandle\n", - " Returns a handle on updatable displays for use with :func:`update_display`,\n", - " if `display_id` is given. Returns :any:`None` if no `display_id` is given\n", - " (default).\n", - " \n", - " Examples\n", - " --------\n", - " >>> class Json(object):\n", - " ... def __init__(self, json):\n", - " ... self.json = json\n", - " ... def _repr_pretty_(self, pp, cycle):\n", - " ... import json\n", - " ... pp.text(json.dumps(self.json, indent=2))\n", - " ... def __repr__(self):\n", - " ... return str(self.json)\n", - " ...\n", - " \n", - " >>> d = Json({1:2, 3: {4:5}})\n", - " \n", - " >>> print(d)\n", - " {1: 2, 3: {4: 5}}\n", - " \n", - " >>> display(d)\n", - " {\n", - " \"1\": 2,\n", - " \"3\": {\n", - " \"4\": 5\n", - " }\n", - " }\n", - " \n", - " >>> def int_formatter(integer, pp, cycle):\n", - " ... pp.text('I'*integer)\n", - " \n", - " >>> plain = get_ipython().display_formatter.formatters['text/plain']\n", - " >>> plain.for_type(int, int_formatter)\n", - " \n", - " >>> display(7-5)\n", - " II\n", - " \n", - " >>> del plain.type_printers[int]\n", - " >>> display(7-5)\n", - " 2\n", - " \n", - " See Also\n", - " --------\n", - " :func:`update_display`\n", - " \n", - " Notes\n", - " -----\n", - " In Python, objects can declare their textual representation using the\n", - " `__repr__` method. IPython expands on this idea and allows objects to declare\n", - " other, rich representations including:\n", - " \n", - " - HTML\n", - " - JSON\n", - " - PNG\n", - " - JPEG\n", - " - SVG\n", - " - LaTeX\n", - " \n", - " A single object can declare some or all of these representations; all are\n", - " handled by IPython's display system.\n", - " \n", - " The main idea of the first approach is that you have to implement special\n", - " display methods when you define your class, one for each representation you\n", - " want to use. Here is a list of the names of the special methods and the\n", - " values they must return:\n", - " \n", - " - `_repr_html_`: return raw HTML as a string, or a tuple (see below).\n", - " - `_repr_json_`: return a JSONable dict, or a tuple (see below).\n", - " - `_repr_jpeg_`: return raw JPEG data, or a tuple (see below).\n", - " - `_repr_png_`: return raw PNG data, or a tuple (see below).\n", - " - `_repr_svg_`: return raw SVG data as a string, or a tuple (see below).\n", - " - `_repr_latex_`: return LaTeX commands in a string surrounded by \"$\",\n", - " or a tuple (see below).\n", - " - `_repr_mimebundle_`: return a full mimebundle containing the mapping\n", - " from all mimetypes to data.\n", - " Use this for any mime-type not listed above.\n", - " \n", - " The above functions may also return the object's metadata alonside the\n", - " data. If the metadata is available, the functions will return a tuple\n", - " containing the data and metadata, in that order. If there is no metadata\n", - " available, then the functions will return the data only.\n", - " \n", - " When you are directly writing your own classes, you can adapt them for\n", - " display in IPython by following the above approach. But in practice, you\n", - " often need to work with existing classes that you can't easily modify.\n", - " \n", - " You can refer to the documentation on integrating with the display system in\n", - " order to register custom formatters for already existing types\n", - " (:ref:`integrating_rich_display`).\n", - " \n", - " .. versionadded:: 5.4 display available without import\n", - " .. versionadded:: 6.1 display available without import\n", - " \n", - " Since IPython 5.4 and 6.1 :func:`display` is automatically made available to\n", - " the user without import. If you are using display in a document that might\n", - " be used in a pure python context or with older version of IPython, use the\n", - " following import at the top of your file::\n", - " \n", - " from IPython.display import display\n", - "\n" - ] + "data": { + "text/plain": [ + "[[-1, -1, -1, -1, -1, -1, 2, 2, -1, -2, -1, 2, 3, -2, -1, -1, 2, 3]]" + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" } ], "source": [ - "help(display)" + "final_charge_distribution" ] }, { "cell_type": "code", - "execution_count": 55, - "id": "84cbf2a4", + "execution_count": 22, + "id": "bbe21465", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "H5-C5 -1 C.C.C.C.[C-].[H].[H].[H].[H].[H]\n" - ] - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "0 C\n", - "C H 1.0\n", - "0 1\n", - "SINGLE\n", - "C C 1.0\n", - "0 2\n", - "SINGLE\n", - "C C 1.0\n", - "0 8\n", - "SINGLE\n", - "C Fe 0.5\n", - "1 H\n", - "H C 1.0\n", - "1 0\n", - "SINGLE\n", - "2 C\n", - "C C 1.0\n", - "2 0\n", - "SINGLE\n", - "C H 1.0\n", - "2 3\n", - "SINGLE\n", - "C C 2.0\n", - "2 4\n", - "DOUBLE\n", - "C Fe 0.5\n", - "3 H\n", - "H C 1.0\n", - "3 2\n", - "SINGLE\n", - "4 C\n", - "C C 2.0\n", - "4 2\n", - "DOUBLE\n", - "C H 1.0\n", - "4 5\n", - "SINGLE\n", - "C C 1.0\n", - "4 6\n", - "SINGLE\n", - "C Fe 0.5\n", - "5 H\n", - "H C 1.0\n", - "5 4\n", - "SINGLE\n", - "6 C\n", - "C C 1.0\n", - "6 4\n", - "SINGLE\n", - "C H 1.0\n", - "6 7\n", - "SINGLE\n", - "C C 2.0\n", - "6 8\n", - "DOUBLE\n", - "C Fe 0.5\n", - "7 H\n", - "H C 1.0\n", - "7 6\n", - "SINGLE\n", - "8 C\n", - "C C 1.0\n", - "8 0\n", - "SINGLE\n", - "C C 2.0\n", - "8 6\n", - "DOUBLE\n", - "C H 1.0\n", - "8 9\n", - "SINGLE\n", - "C Fe 0.5\n", - "9 H\n", - "H C 1.0\n", - "9 8\n", - "SINGLE\n", - "[H]C1=C([H])[C-]([H])C([H])=C1[H]\n" - ] - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "C -1.0\n", - "BONDS [('C', 'H', 1.0, 0.931), ('C', 'C', 1.0, 1.379), ('C', 'C', 1.0, 1.382), ('C', 'Fe', 0.5, 2.065)]\n", - "H 0.0\n", - "BONDS [('H', 'C', 1.0, 0.931)]\n", - "C 0.0\n", - "BONDS [('C', 'C', 1.0, 1.379), ('C', 'H', 1.0, 0.929), ('C', 'C', 2.0, 1.373), ('C', 'Fe', 0.5, 2.062)]\n", - "H 0.0\n", - "BONDS [('H', 'C', 1.0, 0.929)]\n", - "C 0.0\n", - "BONDS [('C', 'C', 2.0, 1.373), ('C', 'H', 1.0, 0.933), ('C', 'C', 1.0, 1.475), ('C', 'Fe', 0.5, 2.045)]\n", - "H 0.0\n", - "BONDS [('H', 'C', 1.0, 0.933)]\n", - "C 0.0\n", - "BONDS [('C', 'C', 1.0, 1.475), ('C', 'H', 1.0, 0.926), ('C', 'C', 2.0, 1.393), ('C', 'Fe', 0.5, 2.084)]\n", - "H 0.0\n", - "BONDS [('H', 'C', 1.0, 0.926)]\n", - "C 0.0\n", - "BONDS [('C', 'C', 1.0, 1.382), ('C', 'C', 2.0, 1.393), ('C', 'H', 1.0, 0.93), ('C', 'Fe', 0.5, 2.104)]\n", - "H 0.0\n", - "BONDS [('H', 'C', 1.0, 0.93)]\n", - "H4-C5 -2 C.C.C.[C-].[C-].[H].[H].[H].[H]\n" - ] - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "0 C\n", - "C C 1.0\n", - "0 1\n", - "SINGLE\n", - "C C 2.0\n", - "0 7\n", - "DOUBLE\n", - "C Hg 0.5\n", - "C Fe 0.5\n", - "1 C\n", - "C C 1.0\n", - "1 0\n", - "SINGLE\n", - "C H 1.0\n", - "1 2\n", - "SINGLE\n", - "C C 1.0\n", - "1 3\n", - "SINGLE\n", - "C Fe 0.5\n", - "2 H\n", - "H C 1.0\n", - "2 1\n", - "SINGLE\n", - "3 C\n", - "C C 1.0\n", - "3 1\n", - "SINGLE\n", - "C H 1.0\n", - "3 4\n", - "SINGLE\n", - "C C 2.0\n", - "3 5\n", - "DOUBLE\n", + "6 Species (Metal or Ligand or Molecules) to Characterize\n", + " POSCHARGE will try charges [0, -1, 1, -2, 2]\n", + "smiles='[Cl-]'\n", + " POSCHARGE: charge 0 with smiles [Cl-]\n", + "smiles='[Cl-]'\n", + " POSCHARGE: charge 0 with smiles [Cl-]\n", + "smiles='[Cl-]'\n", + " POSCHARGE: charge 0 with smiles [Cl-]\n", + "smiles='[Cl-]'\n", + " POSCHARGE: charge 0 with smiles [Cl-]\n", + "smiles='[Cl-]'\n", + " POSCHARGE: charge 0 with smiles [Cl-]\n", + " NEW SELECT FUNCTION: uncorr_total: [-1, -1, -1, -1, -1]\n", + " NEW SELECT FUNCTION: uncorr_abs_total: [1, 1, 1, 1, 1]\n", + " NEW SELECT FUNCTION: uncorr_abs_atcharge: [1, 1, 1, 1, 1]\n", + " NEW SELECT FUNCTION: uncorr_zwitt: [False, False, False, False, False]\n", + " NEW SELECT FUNCTION: coincide: [False, True, False, False, False]\n", + " NEW SELECT FUNCTION: listofmintot: [0, 1, 2, 3, 4]\n", + " NEW SELECT FUNCTION: listofminabs: [0, 1, 2, 3, 4]\n", + " NEW SELECT FUNCTION: tmplist: [1], including:\n", + " NEW SELECT FUNCTION: Corr_charge=-1\n", + " NEW SELECT FUNCTION: Smiles=[Cl-]\n", + " NEW SELECT FUNCTION: found corr_charges=[-1]\n", + " NEW SELECT FUNCTION: doing tgt_charge=-1\n", + " NEW SELECT FUNCTION: charge_state added\n", + " NEW SELECT FUNCTION: Case 1, only one entry for -1 in tmplist\n", + " POSCHARGE will try charges [0, -1, 1, -2, 2]\n", + "smiles='[H]C1=C([H])C([H])([H])C([H])=C1[H]'\n", + " POSCHARGE: charge 0 with smiles [H]C1=C([H])C([H])([H])C([H])=C1[H]\n", + "smiles='[H][C+]1[C-]([H])[C-]([H])C([H])([H])[C-]1[H]'\n", + " POSCHARGE: charge 0 with smiles [H][C+]1[C-]([H])[C-]([H])C([H])([H])[C-]1[H]\n", + "smiles='[H][C+]1[C-]([H])[C+]([H])C([H])([H])[C-]1[H]'\n", + " POSCHARGE: charge 0 with smiles [H][C+]1[C-]([H])[C+]([H])C([H])([H])[C-]1[H]\n", + "smiles='[H][C+]1[C-]([H])[C-]([H])[C-]([H])C1([H])[H]'\n", + " POSCHARGE: charge 0 with smiles [H][C+]1[C-]([H])[C-]([H])[C-]([H])C1([H])[H]\n", + "smiles='[H][C+]1[C+]([H])C([H])([H])[C+]([H])[C-]1[H]'\n", + " POSCHARGE: charge 0 with smiles [H][C+]1[C+]([H])C([H])([H])[C+]([H])[C-]1[H]\n", + " NEW SELECT FUNCTION: uncorr_total: [0, -2, 0, -2, 2]\n", + " NEW SELECT FUNCTION: uncorr_abs_total: [0, 2, 0, 2, 2]\n", + " NEW SELECT FUNCTION: uncorr_abs_atcharge: [0, 4, 4, 4, 4]\n", + " NEW SELECT FUNCTION: uncorr_zwitt: [False, True, True, True, True]\n", + " NEW SELECT FUNCTION: coincide: [True, False, False, True, True]\n", + " NEW SELECT FUNCTION: listofmintot: [0, 2]\n", + " NEW SELECT FUNCTION: listofminabs: [0]\n", + " NEW SELECT FUNCTION: tmplist: [0], including:\n", + " NEW SELECT FUNCTION: Corr_charge=-1\n", + " NEW SELECT FUNCTION: Smiles=[H]C1=C([H])C([H])([H])C([H])=C1[H]\n", + " NEW SELECT FUNCTION: found corr_charges=[-1]\n", + " NEW SELECT FUNCTION: doing tgt_charge=-1\n", + " NEW SELECT FUNCTION: charge_state added\n", + " NEW SELECT FUNCTION: Case 1, only one entry for -1 in tmplist\n", + " POSCHARGE will try charges [0, -1, 1, -2, 2]\n", + "smiles='[H][C+]1CC([H])([H])[C+]([H])[C-]1[H]'\n", + " POSCHARGE: charge 0 with smiles [H][C+]1CC([H])([H])[C+]([H])[C-]1[H]\n", + "smiles='[H]C1=[C-]C([H])([H])C([H])=C1[H]'\n", + " POSCHARGE: charge 0 with smiles [H]C1=[C-]C([H])([H])C([H])=C1[H]\n", + "smiles='[H][C+]1[C+]([H])C([H])([H])C[C-]1[H]'\n", + " POSCHARGE: charge 0 with smiles [H][C+]1[C+]([H])C([H])([H])C[C-]1[H]\n", + "smiles='[H][C+]1CC([H])([H])[C-]([H])[C-]1[H]'\n", + " POSCHARGE: charge 0 with smiles [H][C+]1CC([H])([H])[C-]([H])[C-]1[H]\n", + "smiles='[H][C+]1CC([H])([H])[C+]([H])[C+]1[H]'\n", + " POSCHARGE: charge 0 with smiles [H][C+]1CC([H])([H])[C+]([H])[C+]1[H]\n", + " NEW SELECT FUNCTION: uncorr_total: [1, -1, 1, -1, 3]\n", + " NEW SELECT FUNCTION: uncorr_abs_total: [1, 1, 1, 1, 3]\n", + " NEW SELECT FUNCTION: uncorr_abs_atcharge: [3, 1, 3, 3, 3]\n", + " NEW SELECT FUNCTION: uncorr_zwitt: [True, False, True, True, False]\n", + " NEW SELECT FUNCTION: coincide: [False, True, True, False, False]\n", + " NEW SELECT FUNCTION: listofmintot: [0, 1, 2, 3]\n", + " NEW SELECT FUNCTION: listofminabs: [1]\n", + " NEW SELECT FUNCTION: tmplist: [1], including:\n", + " NEW SELECT FUNCTION: Corr_charge=-2\n", + " NEW SELECT FUNCTION: Smiles=[H]C1=[C-]C([H])([H])C([H])=C1[H]\n", + " NEW SELECT FUNCTION: found corr_charges=[-2]\n", + " NEW SELECT FUNCTION: doing tgt_charge=-2\n", + " NEW SELECT FUNCTION: charge_state added\n", + " NEW SELECT FUNCTION: Case 1, only one entry for -2 in tmplist\n", + "BALANCE: iterlist [[-1], [2], [-1], [-2], [2], [2, 3, 0]]\n", + "BALANCE: unique_indices [0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 4, 5, 3, 2, 0, 4, 5]\n", + "BALANCE: tmpdistr [(-1, 2, -1, -2, 2, 2), (-1, 2, -1, -2, 2, 3), (-1, 2, -1, -2, 2, 0)]\n", + "BALANCE: alldistr added: [-1, -1, -1, -1, -1, -1, 2, 2, -1, -2, -1, 2, 2, -2, -1, -1, 2, 2]\n", + "d=[-1, -1, -1, -1, -1, -1, 2, 2, -1, -2, -1, 2, 2, -2, -1, -1, 2, 2]\n", + "BALANCE: alldistr added: [-1, -1, -1, -1, -1, -1, 2, 2, -1, -2, -1, 2, 3, -2, -1, -1, 2, 3]\n", + "d=[-1, -1, -1, -1, -1, -1, 2, 2, -1, -2, -1, 2, 2, -2, -1, -1, 2, 2]\n", + "d=[-1, -1, -1, -1, -1, -1, 2, 2, -1, -2, -1, 2, 3, -2, -1, -1, 2, 3]\n", + "BALANCE: alldistr added: [-1, -1, -1, -1, -1, -1, 2, 2, -1, -2, -1, 2, 0, -2, -1, -1, 2, 0]\n", + "d=[-1, -1, -1, -1, -1, -1, 2, 2, -1, -2, -1, 2, 2, -2, -1, -1, 2, 2]\n", + "d=[-1, -1, -1, -1, -1, -1, 2, 2, -1, -2, -1, 2, 3, -2, -1, -1, 2, 3]\n", + "d=[-1, -1, -1, -1, -1, -1, 2, 2, -1, -2, -1, 2, 0, -2, -1, -1, 2, 0]\n", + "\n", + "FINAL Charge Distribution: [[-1, -1, -1, -1, -1, -1, 2, 2, -1, -2, -1, 2, 3, -2, -1, -1, 2, 3]]\n", + "\n", + "#########################################\n", + "Assigning Charges and Preparing Molecules\n", + "#########################################\n", + "------------- Cell2mol LIGAND Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = ligand\n", + " Number of Atoms = 1\n", + " Formula = Cl\n", + " Has Adjacency Matrix = YES\n", + " Origin = split_complex\n", + " Number of Groups = 1\n", + "---------------------------------------------------\n", + " [0, 1, 2, 3, 4, 5, 10, 15] -1\n", + "Target charge -1 of Cl exists in [-1].\n", + "Cl\n", + " GET_PROTONATION_STATES: evaluating non-haptic group with index 0 and label Cl\n", + "protonation_states=[------------- Cell2mol Protonation ----------------\n", + " Status = True\n", + " Labels = ['Cl']\n", + " Type = Local\n", + " Atoms added in positions = [0]\n", + " Atoms blocked (no atoms added) = [1]\n", + "---------------------------------------------------\n", + "]\n", + " POSCHARGE will try charges [0, -1, 1, -2, 2]\n", + "smiles='[Cl-]'\n", + " POSCHARGE: charge 0 with smiles [Cl-]\n", + "smiles='[Cl-]'\n", + " POSCHARGE: charge 0 with smiles [Cl-]\n", + "smiles='[Cl-]'\n", + " POSCHARGE: charge 0 with smiles [Cl-]\n", + "smiles='[Cl-]'\n", + " POSCHARGE: charge 0 with smiles [Cl-]\n", + "smiles='[Cl-]'\n", + " POSCHARGE: charge 0 with smiles [Cl-]\n", + " NEW SELECT FUNCTION: uncorr_total: [-1, -1, -1, -1, -1]\n", + " NEW SELECT FUNCTION: uncorr_abs_total: [1, 1, 1, 1, 1]\n", + " NEW SELECT FUNCTION: uncorr_abs_atcharge: [1, 1, 1, 1, 1]\n", + " NEW SELECT FUNCTION: uncorr_zwitt: [False, False, False, False, False]\n", + " NEW SELECT FUNCTION: coincide: [False, True, False, False, False]\n", + " NEW SELECT FUNCTION: listofmintot: [0, 1, 2, 3, 4]\n", + " NEW SELECT FUNCTION: listofminabs: [0, 1, 2, 3, 4]\n", + " NEW SELECT FUNCTION: tmplist: [1], including:\n", + " NEW SELECT FUNCTION: Corr_charge=-1\n", + " NEW SELECT FUNCTION: Smiles=[Cl-]\n", + " NEW SELECT FUNCTION: found corr_charges=[-1]\n", + " NEW SELECT FUNCTION: doing tgt_charge=-1\n", + " NEW SELECT FUNCTION: charge_state added\n", + " NEW SELECT FUNCTION: Case 1, only one entry for -1 in tmplist\n", + "Target charge -1 of Cl exists in [-1].\n", + "------------- Cell2mol LIGAND Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = ligand\n", + " Number of Atoms = 1\n", + " Formula = Cl\n", + " Has Adjacency Matrix = YES\n", + " Total Charge = -1\n", + " Smiles = [Cl-]\n", + " Origin = split_complex\n", + " Number of Groups = 1\n", + "---------------------------------------------------\n", + " [0, 1, 2, 3, 4, 5, 10, 15] -1\n", + "Target charge -1 of Cl exists in [-1].\n", + "Cl\n", + "ADD_ATOM: Metalist length 1\n", + "ADD_ATOM: Ligand Atoms 1\n", + "ADD_ATOM: site= 0\n", + "ADD_ATOM: evaluating apos=array([2.9351153, 0.5309238, 9.0521877]) and tgt.coord=[2.8686395, 1.120505, 6.7807219]\n", + "ADD_ATOM: received tmpconnec[posadded]=1\n", + "ADD_ATOM: Chosen Metal index None. H is added at site 0\n", + " GET_PROTONATION_STATES: evaluating non-haptic group with index 0 and label Cl\n", + "protonation_states=[------------- Cell2mol Protonation ----------------\n", + " Status = True\n", + " Labels = ['Cl']\n", + " Type = Local\n", + " Atoms added in positions = [0]\n", + " Atoms blocked (no atoms added) = [1]\n", + "---------------------------------------------------\n", + "]\n", + " POSCHARGE will try charges [0, -1, 1, -2, 2]\n", + "smiles='[Cl-]'\n", + " POSCHARGE: charge 0 with smiles [Cl-]\n", + "smiles='[Cl-]'\n", + " POSCHARGE: charge 0 with smiles [Cl-]\n", + "smiles='[Cl-]'\n", + " POSCHARGE: charge 0 with smiles [Cl-]\n", + "smiles='[Cl-]'\n", + " POSCHARGE: charge 0 with smiles [Cl-]\n", + "smiles='[Cl-]'\n", + " POSCHARGE: charge 0 with smiles [Cl-]\n", + " NEW SELECT FUNCTION: uncorr_total: [-1, -1, -1, -1, -1]\n", + " NEW SELECT FUNCTION: uncorr_abs_total: [1, 1, 1, 1, 1]\n", + " NEW SELECT FUNCTION: uncorr_abs_atcharge: [1, 1, 1, 1, 1]\n", + " NEW SELECT FUNCTION: uncorr_zwitt: [False, False, False, False, False]\n", + " NEW SELECT FUNCTION: coincide: [False, True, False, False, False]\n", + " NEW SELECT FUNCTION: listofmintot: [0, 1, 2, 3, 4]\n", + " NEW SELECT FUNCTION: listofminabs: [0, 1, 2, 3, 4]\n", + " NEW SELECT FUNCTION: tmplist: [1], including:\n", + " NEW SELECT FUNCTION: Corr_charge=-1\n", + " NEW SELECT FUNCTION: Smiles=[Cl-]\n", + " NEW SELECT FUNCTION: found corr_charges=[-1]\n", + " NEW SELECT FUNCTION: doing tgt_charge=-1\n", + " NEW SELECT FUNCTION: charge_state added\n", + " NEW SELECT FUNCTION: Case 1, only one entry for -1 in tmplist\n", + "Target charge -1 of Cl exists in [-1].\n", + "------------- Cell2mol LIGAND Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = ligand\n", + " Number of Atoms = 1\n", + " Formula = Cl\n", + " Has Adjacency Matrix = YES\n", + " Total Charge = -1\n", + " Smiles = [Cl-]\n", + " Origin = split_complex\n", + " Number of Groups = 1\n", + "---------------------------------------------------\n", + " [0, 1, 2, 3, 4, 5, 10, 15] -1\n", + "Target charge -1 of Cl exists in [-1].\n", + "Cl\n", + "ADD_ATOM: Metalist length 1\n", + "ADD_ATOM: Ligand Atoms 1\n", + "ADD_ATOM: site= 0\n", + "ADD_ATOM: evaluating apos=array([ 1.3562608, -0.0638992, 5.1197601]) and tgt.coord=[2.8686395, 1.120505, 6.7807219]\n", + "ADD_ATOM: received tmpconnec[posadded]=1\n", + "ADD_ATOM: Chosen Metal index None. H is added at site 0\n", + "ADD_ATOM: Metalist length 1\n", + "ADD_ATOM: Ligand Atoms 1\n", + "ADD_ATOM: site= 0\n", + "ADD_ATOM: evaluating apos=array([ 1.3562608, -0.0638992, 5.1197601]) and tgt.coord=[2.8686395, 1.120505, 6.7807219]\n", + "ADD_ATOM: received tmpconnec[posadded]=1\n", + "ADD_ATOM: Chosen Metal index None. H is added at site 0\n", + " GET_PROTONATION_STATES: evaluating non-haptic group with index 0 and label Cl\n", + "protonation_states=[------------- Cell2mol Protonation ----------------\n", + " Status = True\n", + " Labels = ['Cl']\n", + " Type = Local\n", + " Atoms added in positions = [0]\n", + " Atoms blocked (no atoms added) = [1]\n", + "---------------------------------------------------\n", + "]\n", + " POSCHARGE will try charges [0, -1, 1, -2, 2]\n", + "smiles='[Cl-]'\n", + " POSCHARGE: charge 0 with smiles [Cl-]\n", + "smiles='[Cl-]'\n", + " POSCHARGE: charge 0 with smiles [Cl-]\n", + "smiles='[Cl-]'\n", + " POSCHARGE: charge 0 with smiles [Cl-]\n", + "smiles='[Cl-]'\n", + " POSCHARGE: charge 0 with smiles [Cl-]\n", + "smiles='[Cl-]'\n", + " POSCHARGE: charge 0 with smiles [Cl-]\n", + " NEW SELECT FUNCTION: uncorr_total: [-1, -1, -1, -1, -1]\n", + " NEW SELECT FUNCTION: uncorr_abs_total: [1, 1, 1, 1, 1]\n", + " NEW SELECT FUNCTION: uncorr_abs_atcharge: [1, 1, 1, 1, 1]\n", + " NEW SELECT FUNCTION: uncorr_zwitt: [False, False, False, False, False]\n", + " NEW SELECT FUNCTION: coincide: [False, True, False, False, False]\n", + " NEW SELECT FUNCTION: listofmintot: [0, 1, 2, 3, 4]\n", + " NEW SELECT FUNCTION: listofminabs: [0, 1, 2, 3, 4]\n", + " NEW SELECT FUNCTION: tmplist: [1], including:\n", + " NEW SELECT FUNCTION: Corr_charge=-1\n", + " NEW SELECT FUNCTION: Smiles=[Cl-]\n", + " NEW SELECT FUNCTION: found corr_charges=[-1]\n", + " NEW SELECT FUNCTION: doing tgt_charge=-1\n", + " NEW SELECT FUNCTION: charge_state added\n", + " NEW SELECT FUNCTION: Case 1, only one entry for -1 in tmplist\n", + "Target charge -1 of Cl exists in [-1].\n", + "------------- Cell2mol LIGAND Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = ligand\n", + " Number of Atoms = 1\n", + " Formula = Cl\n", + " Has Adjacency Matrix = YES\n", + " Total Charge = -1\n", + " Smiles = [Cl-]\n", + " Origin = split_complex\n", + " Number of Groups = 1\n", + "---------------------------------------------------\n", + " [0, 1, 2, 3, 4, 5, 10, 15] -1\n", + "Target charge -1 of Cl exists in [-1].\n", + "Cl\n", + "ADD_ATOM: Metalist length 1\n", + "ADD_ATOM: Ligand Atoms 1\n", + "ADD_ATOM: site= 0\n", + "ADD_ATOM: evaluating apos=array([ 2.7576338, -3.8316994, 5.1099833]) and tgt.coord=[3.3561142, -1.7460605999999999, 4.0823379]\n", + "ADD_ATOM: received tmpconnec[posadded]=1\n", + "ADD_ATOM: Chosen Metal index None. H is added at site 0\n", + " GET_PROTONATION_STATES: evaluating non-haptic group with index 0 and label Cl\n", + "protonation_states=[------------- Cell2mol Protonation ----------------\n", + " Status = True\n", + " Labels = ['Cl']\n", + " Type = Local\n", + " Atoms added in positions = [0]\n", + " Atoms blocked (no atoms added) = [1]\n", + "---------------------------------------------------\n", + "]\n", + " POSCHARGE will try charges [0, -1, 1, -2, 2]\n", + "smiles='[Cl-]'\n", + " POSCHARGE: charge 0 with smiles [Cl-]\n", + "smiles='[Cl-]'\n", + " POSCHARGE: charge 0 with smiles [Cl-]\n", + "smiles='[Cl-]'\n", + " POSCHARGE: charge 0 with smiles [Cl-]\n", + "smiles='[Cl-]'\n", + " POSCHARGE: charge 0 with smiles [Cl-]\n", + "smiles='[Cl-]'\n", + " POSCHARGE: charge 0 with smiles [Cl-]\n", + " NEW SELECT FUNCTION: uncorr_total: [-1, -1, -1, -1, -1]\n", + " NEW SELECT FUNCTION: uncorr_abs_total: [1, 1, 1, 1, 1]\n", + " NEW SELECT FUNCTION: uncorr_abs_atcharge: [1, 1, 1, 1, 1]\n", + " NEW SELECT FUNCTION: uncorr_zwitt: [False, False, False, False, False]\n", + " NEW SELECT FUNCTION: coincide: [False, True, False, False, False]\n", + " NEW SELECT FUNCTION: listofmintot: [0, 1, 2, 3, 4]\n", + " NEW SELECT FUNCTION: listofminabs: [0, 1, 2, 3, 4]\n", + " NEW SELECT FUNCTION: tmplist: [1], including:\n", + " NEW SELECT FUNCTION: Corr_charge=-1\n", + " NEW SELECT FUNCTION: Smiles=[Cl-]\n", + " NEW SELECT FUNCTION: found corr_charges=[-1]\n", + " NEW SELECT FUNCTION: doing tgt_charge=-1\n", + " NEW SELECT FUNCTION: charge_state added\n", + " NEW SELECT FUNCTION: Case 1, only one entry for -1 in tmplist\n", + "Target charge -1 of Cl exists in [-1].\n", + "------------- Cell2mol LIGAND Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = ligand\n", + " Number of Atoms = 1\n", + " Formula = Cl\n", + " Has Adjacency Matrix = YES\n", + " Total Charge = -1\n", + " Smiles = [Cl-]\n", + " Origin = split_complex\n", + " Number of Groups = 1\n", + "---------------------------------------------------\n", + " [0, 1, 2, 3, 4, 5, 10, 15] -1\n", + "Target charge -1 of Cl exists in [-1].\n", + "Cl\n", + "ADD_ATOM: Metalist length 1\n", + "ADD_ATOM: Ligand Atoms 1\n", + "ADD_ATOM: site= 0\n", + "ADD_ATOM: evaluating apos=array([ 3.2896384, -1.1564794, 1.8108721]) and tgt.coord=[3.3561142, -1.7460605999999999, 4.0823379]\n", + "ADD_ATOM: received tmpconnec[posadded]=1\n", + "ADD_ATOM: Chosen Metal index None. H is added at site 0\n", + " GET_PROTONATION_STATES: evaluating non-haptic group with index 0 and label Cl\n", + "protonation_states=[------------- Cell2mol Protonation ----------------\n", + " Status = True\n", + " Labels = ['Cl']\n", + " Type = Local\n", + " Atoms added in positions = [0]\n", + " Atoms blocked (no atoms added) = [1]\n", + "---------------------------------------------------\n", + "]\n", + " POSCHARGE will try charges [0, -1, 1, -2, 2]\n", + "smiles='[Cl-]'\n", + " POSCHARGE: charge 0 with smiles [Cl-]\n", + "smiles='[Cl-]'\n", + " POSCHARGE: charge 0 with smiles [Cl-]\n", + "smiles='[Cl-]'\n", + " POSCHARGE: charge 0 with smiles [Cl-]\n", + "smiles='[Cl-]'\n", + " POSCHARGE: charge 0 with smiles [Cl-]\n", + "smiles='[Cl-]'\n", + " POSCHARGE: charge 0 with smiles [Cl-]\n", + " NEW SELECT FUNCTION: uncorr_total: [-1, -1, -1, -1, -1]\n", + " NEW SELECT FUNCTION: uncorr_abs_total: [1, 1, 1, 1, 1]\n", + " NEW SELECT FUNCTION: uncorr_abs_atcharge: [1, 1, 1, 1, 1]\n", + " NEW SELECT FUNCTION: uncorr_zwitt: [False, False, False, False, False]\n", + " NEW SELECT FUNCTION: coincide: [False, True, False, False, False]\n", + " NEW SELECT FUNCTION: listofmintot: [0, 1, 2, 3, 4]\n", + " NEW SELECT FUNCTION: listofminabs: [0, 1, 2, 3, 4]\n", + " NEW SELECT FUNCTION: tmplist: [1], including:\n", + " NEW SELECT FUNCTION: Corr_charge=-1\n", + " NEW SELECT FUNCTION: Smiles=[Cl-]\n", + " NEW SELECT FUNCTION: found corr_charges=[-1]\n", + " NEW SELECT FUNCTION: doing tgt_charge=-1\n", + " NEW SELECT FUNCTION: charge_state added\n", + " NEW SELECT FUNCTION: Case 1, only one entry for -1 in tmplist\n", + "Target charge -1 of Cl exists in [-1].\n", + "------------- Cell2mol LIGAND Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = ligand\n", + " Number of Atoms = 1\n", + " Formula = Cl\n", + " Has Adjacency Matrix = YES\n", + " Total Charge = -1\n", + " Smiles = [Cl-]\n", + " Origin = split_complex\n", + " Number of Groups = 1\n", + "---------------------------------------------------\n", + " [0, 1, 2, 3, 4, 5, 10, 15] -1\n", + "Target charge -1 of Cl exists in [-1].\n", + "Cl\n", + "ADD_ATOM: Metalist length 1\n", + "ADD_ATOM: Ligand Atoms 1\n", + "ADD_ATOM: site= 0\n", + "ADD_ATOM: evaluating apos=array([ 4.8684929, -0.5616564, 5.7432997]) and tgt.coord=[3.3561142, -1.7460605999999999, 4.0823379]\n", + "ADD_ATOM: received tmpconnec[posadded]=1\n", + "ADD_ATOM: Chosen Metal index None. H is added at site 0\n", + "ADD_ATOM: Metalist length 1\n", + "ADD_ATOM: Ligand Atoms 1\n", + "ADD_ATOM: site= 0\n", + "ADD_ATOM: evaluating apos=array([ 4.8684929, -0.5616564, 5.7432997]) and tgt.coord=[3.3561142, -1.7460605999999999, 4.0823379]\n", + "ADD_ATOM: received tmpconnec[posadded]=1\n", + "ADD_ATOM: Chosen Metal index None. H is added at site 0\n", + " GET_PROTONATION_STATES: evaluating non-haptic group with index 0 and label Cl\n", + "protonation_states=[------------- Cell2mol Protonation ----------------\n", + " Status = True\n", + " Labels = ['Cl']\n", + " Type = Local\n", + " Atoms added in positions = [0]\n", + " Atoms blocked (no atoms added) = [1]\n", + "---------------------------------------------------\n", + "]\n", + " POSCHARGE will try charges [0, -1, 1, -2, 2]\n", + "smiles='[Cl-]'\n", + " POSCHARGE: charge 0 with smiles [Cl-]\n", + "smiles='[Cl-]'\n", + " POSCHARGE: charge 0 with smiles [Cl-]\n", + "smiles='[Cl-]'\n", + " POSCHARGE: charge 0 with smiles [Cl-]\n", + "smiles='[Cl-]'\n", + " POSCHARGE: charge 0 with smiles [Cl-]\n", + "smiles='[Cl-]'\n", + " POSCHARGE: charge 0 with smiles [Cl-]\n", + " NEW SELECT FUNCTION: uncorr_total: [-1, -1, -1, -1, -1]\n", + " NEW SELECT FUNCTION: uncorr_abs_total: [1, 1, 1, 1, 1]\n", + " NEW SELECT FUNCTION: uncorr_abs_atcharge: [1, 1, 1, 1, 1]\n", + " NEW SELECT FUNCTION: uncorr_zwitt: [False, False, False, False, False]\n", + " NEW SELECT FUNCTION: coincide: [False, True, False, False, False]\n", + " NEW SELECT FUNCTION: listofmintot: [0, 1, 2, 3, 4]\n", + " NEW SELECT FUNCTION: listofminabs: [0, 1, 2, 3, 4]\n", + " NEW SELECT FUNCTION: tmplist: [1], including:\n", + " NEW SELECT FUNCTION: Corr_charge=-1\n", + " NEW SELECT FUNCTION: Smiles=[Cl-]\n", + " NEW SELECT FUNCTION: found corr_charges=[-1]\n", + " NEW SELECT FUNCTION: doing tgt_charge=-1\n", + " NEW SELECT FUNCTION: charge_state added\n", + " NEW SELECT FUNCTION: Case 1, only one entry for -1 in tmplist\n", + "Target charge -1 of Cl exists in [-1].\n", + "------------- Cell2mol METAL Object --------------\n", + " Version = 0.1\n", + " Type = atom\n", + " Sub-Type = metal\n", + " Label = Hg\n", + " Atomic Number = 80\n", + " Index in Molecule = 0\n", + " Metal Adjacency (mconnec) = 4\n", + " Regular Adjacencies (connec) = 4\n", + " Coordination Sphere Formula = Cl4\n", + " Possible Charges = [2]\n", + "----------------------------------------------------\n", + " [6, 7] 2\n", + "Target charge 2 of Hg exists in [2].\n", + "Hg\n", + "Target charge 2 of Hg exists in [2].\n", + "------------- Cell2mol METAL Object --------------\n", + " Version = 0.1\n", + " Type = atom\n", + " Sub-Type = metal\n", + " Label = Hg\n", + " Atomic Number = 80\n", + " Index in Molecule = 0\n", + " Metal Adjacency (mconnec) = 4\n", + " Regular Adjacencies (connec) = 4\n", + " Atom Charge = 2\n", + " Coordination Sphere Formula = Cl4\n", + " Possible Charges = [2]\n", + "----------------------------------------------------\n", + " [6, 7] 2\n", + "Target charge 2 of Hg exists in [2].\n", + "Hg\n", + "Target charge 2 of Hg exists in [2].\n", + "------------- Cell2mol LIGAND Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = ligand\n", + " Number of Atoms = 10\n", + " Formula = H5-C5\n", + " Has Adjacency Matrix = YES\n", + " Origin = split_complex\n", + " Number of Groups = 1\n", + "---------------------------------------------------\n", + " [8, 14] -1\n", + "Target charge -1 of H5-C5 exists in [-1].\n", + "H5-C5\n", + " GET_PROTONATION_STATES: addressing group with hapticity: ['h5-Cp']\n", + " GET_PROTONATION_STATES: and parent indices: [0, 2, 4, 6, 8]\n", + " GET_PROTONATION_STATES: Added H to atom 0 with: a.mconnec=1 and label=C\n", + "protonation_states=[------------- Cell2mol Protonation ----------------\n", + " Status = True\n", + " Labels = ['C', 'H', 'C', 'H', 'C', 'H', 'C', 'H', 'C', 'H', 'H']\n", + " Type = Local\n", + " Atoms added in positions = [1 0 0 0 0 0 0 0 0 0]\n", + " Atoms blocked (no atoms added) = [1 0 1 0 1 0 1 0 1 0]\n", + "---------------------------------------------------\n", + "]\n", + " POSCHARGE will try charges [0, -1, 1, -2, 2]\n", + "smiles='[H]C1=C([H])C([H])([H])C([H])=C1[H]'\n", + " POSCHARGE: charge 0 with smiles [H]C1=C([H])C([H])([H])C([H])=C1[H]\n", + "smiles='[H][C+]1[C-]([H])[C-]([H])C([H])([H])[C-]1[H]'\n", + " POSCHARGE: charge 0 with smiles [H][C+]1[C-]([H])[C-]([H])C([H])([H])[C-]1[H]\n", + "smiles='[H][C+]1[C-]([H])[C+]([H])C([H])([H])[C-]1[H]'\n", + " POSCHARGE: charge 0 with smiles [H][C+]1[C-]([H])[C+]([H])C([H])([H])[C-]1[H]\n", + "smiles='[H][C+]1[C-]([H])[C-]([H])[C-]([H])C1([H])[H]'\n", + " POSCHARGE: charge 0 with smiles [H][C+]1[C-]([H])[C-]([H])[C-]([H])C1([H])[H]\n", + "smiles='[H][C+]1[C+]([H])C([H])([H])[C+]([H])[C-]1[H]'\n", + " POSCHARGE: charge 0 with smiles [H][C+]1[C+]([H])C([H])([H])[C+]([H])[C-]1[H]\n", + " NEW SELECT FUNCTION: uncorr_total: [0, -2, 0, -2, 2]\n", + " NEW SELECT FUNCTION: uncorr_abs_total: [0, 2, 0, 2, 2]\n", + " NEW SELECT FUNCTION: uncorr_abs_atcharge: [0, 4, 4, 4, 4]\n", + " NEW SELECT FUNCTION: uncorr_zwitt: [False, True, True, True, True]\n", + " NEW SELECT FUNCTION: coincide: [True, False, False, True, True]\n", + " NEW SELECT FUNCTION: listofmintot: [0, 2]\n", + " NEW SELECT FUNCTION: listofminabs: [0]\n", + " NEW SELECT FUNCTION: tmplist: [0], including:\n", + " NEW SELECT FUNCTION: Corr_charge=-1\n", + " NEW SELECT FUNCTION: Smiles=[H]C1=C([H])C([H])([H])C([H])=C1[H]\n", + " NEW SELECT FUNCTION: found corr_charges=[-1]\n", + " NEW SELECT FUNCTION: doing tgt_charge=-1\n", + " NEW SELECT FUNCTION: charge_state added\n", + " NEW SELECT FUNCTION: Case 1, only one entry for -1 in tmplist\n", + "Target charge -1 of H5-C5 exists in [-1].\n", + "------------- Cell2mol LIGAND Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = ligand\n", + " Number of Atoms = 9\n", + " Formula = H4-C5\n", + " Has Adjacency Matrix = YES\n", + " Origin = split_complex\n", + " Number of Groups = 1\n", + "---------------------------------------------------\n", + " [9, 13] -2\n", + "Target charge -2 of H4-C5 exists in [-2].\n", + "H4-C5\n", + " GET_PROTONATION_STATES: addressing group with hapticity: ['h5-Cp']\n", + " GET_PROTONATION_STATES: and parent indices: [0, 1, 3, 5, 7]\n", + " GET_PROTONATION_STATES: Added H to atom 1 with: a.mconnec=1 and label=C\n", + "protonation_states=[------------- Cell2mol Protonation ----------------\n", + " Status = True\n", + " Labels = ['C', 'C', 'H', 'C', 'H', 'C', 'H', 'C', 'H', 'H']\n", + " Type = Local\n", + " Atoms added in positions = [0 1 0 0 0 0 0 0 0]\n", + " Atoms blocked (no atoms added) = [0 1 0 1 0 1 0 1 0]\n", + "---------------------------------------------------\n", + "]\n", + " POSCHARGE will try charges [0, -1, 1, -2, 2]\n", + "smiles='[H][C+]1CC([H])([H])[C+]([H])[C-]1[H]'\n", + " POSCHARGE: charge 0 with smiles [H][C+]1CC([H])([H])[C+]([H])[C-]1[H]\n", + "smiles='[H]C1=[C-]C([H])([H])C([H])=C1[H]'\n", + " POSCHARGE: charge 0 with smiles [H]C1=[C-]C([H])([H])C([H])=C1[H]\n", + "smiles='[H][C+]1[C+]([H])C([H])([H])C[C-]1[H]'\n", + " POSCHARGE: charge 0 with smiles [H][C+]1[C+]([H])C([H])([H])C[C-]1[H]\n", + "smiles='[H][C+]1CC([H])([H])[C-]([H])[C-]1[H]'\n", + " POSCHARGE: charge 0 with smiles [H][C+]1CC([H])([H])[C-]([H])[C-]1[H]\n", + "smiles='[H][C+]1CC([H])([H])[C+]([H])[C+]1[H]'\n", + " POSCHARGE: charge 0 with smiles [H][C+]1CC([H])([H])[C+]([H])[C+]1[H]\n", + " NEW SELECT FUNCTION: uncorr_total: [1, -1, 1, -1, 3]\n", + " NEW SELECT FUNCTION: uncorr_abs_total: [1, 1, 1, 1, 3]\n", + " NEW SELECT FUNCTION: uncorr_abs_atcharge: [3, 1, 3, 3, 3]\n", + " NEW SELECT FUNCTION: uncorr_zwitt: [True, False, True, True, False]\n", + " NEW SELECT FUNCTION: coincide: [False, True, True, False, False]\n", + " NEW SELECT FUNCTION: listofmintot: [0, 1, 2, 3]\n", + " NEW SELECT FUNCTION: listofminabs: [1]\n", + " NEW SELECT FUNCTION: tmplist: [1], including:\n", + " NEW SELECT FUNCTION: Corr_charge=-2\n", + " NEW SELECT FUNCTION: Smiles=[H]C1=[C-]C([H])([H])C([H])=C1[H]\n", + " NEW SELECT FUNCTION: found corr_charges=[-2]\n", + " NEW SELECT FUNCTION: doing tgt_charge=-2\n", + " NEW SELECT FUNCTION: charge_state added\n", + " NEW SELECT FUNCTION: Case 1, only one entry for -2 in tmplist\n", + "Target charge -2 of H4-C5 exists in [-2].\n", + "------------- Cell2mol LIGAND Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = ligand\n", + " Number of Atoms = 1\n", + " Formula = Cl\n", + " Has Adjacency Matrix = YES\n", + " Total Charge = -1\n", + " Smiles = [Cl-]\n", + " Origin = split_complex\n", + " Number of Groups = 1\n", + "---------------------------------------------------\n", + " [0, 1, 2, 3, 4, 5, 10, 15] -1\n", + "Target charge -1 of Cl exists in [-1].\n", + "Cl\n", + "ADD_ATOM: Metalist length 1\n", + "ADD_ATOM: Ligand Atoms 1\n", + "ADD_ATOM: site= 0\n", + "ADD_ATOM: evaluating apos=array([6.985123 , 2.3016164, 7.6030555]) and tgt.coord=[6.4998052, 2.1910413, 5.3595078]\n", + "ADD_ATOM: received tmpconnec[posadded]=1\n", + "ADD_ATOM: Chosen Metal index None. H is added at site 0\n", + " GET_PROTONATION_STATES: evaluating non-haptic group with index 0 and label Cl\n", + "protonation_states=[------------- Cell2mol Protonation ----------------\n", + " Status = True\n", + " Labels = ['Cl']\n", + " Type = Local\n", + " Atoms added in positions = [0]\n", + " Atoms blocked (no atoms added) = [1]\n", + "---------------------------------------------------\n", + "]\n", + " POSCHARGE will try charges [0, -1, 1, -2, 2]\n", + "smiles='[Cl-]'\n", + " POSCHARGE: charge 0 with smiles [Cl-]\n", + "smiles='[Cl-]'\n", + " POSCHARGE: charge 0 with smiles [Cl-]\n", + "smiles='[Cl-]'\n", + " POSCHARGE: charge 0 with smiles [Cl-]\n", + "smiles='[Cl-]'\n", + " POSCHARGE: charge 0 with smiles [Cl-]\n", + "smiles='[Cl-]'\n", + " POSCHARGE: charge 0 with smiles [Cl-]\n", + " NEW SELECT FUNCTION: uncorr_total: [-1, -1, -1, -1, -1]\n", + " NEW SELECT FUNCTION: uncorr_abs_total: [1, 1, 1, 1, 1]\n", + " NEW SELECT FUNCTION: uncorr_abs_atcharge: [1, 1, 1, 1, 1]\n", + " NEW SELECT FUNCTION: uncorr_zwitt: [False, False, False, False, False]\n", + " NEW SELECT FUNCTION: coincide: [False, True, False, False, False]\n", + " NEW SELECT FUNCTION: listofmintot: [0, 1, 2, 3, 4]\n", + " NEW SELECT FUNCTION: listofminabs: [0, 1, 2, 3, 4]\n", + " NEW SELECT FUNCTION: tmplist: [1], including:\n", + " NEW SELECT FUNCTION: Corr_charge=-1\n", + " NEW SELECT FUNCTION: Smiles=[Cl-]\n", + " NEW SELECT FUNCTION: found corr_charges=[-1]\n", + " NEW SELECT FUNCTION: doing tgt_charge=-1\n", + " NEW SELECT FUNCTION: charge_state added\n", + " NEW SELECT FUNCTION: Case 1, only one entry for -1 in tmplist\n", + "Target charge -1 of Cl exists in [-1].\n", + "------------- Cell2mol METAL Object --------------\n", + " Version = 0.1\n", + " Type = atom\n", + " Sub-Type = metal\n", + " Label = Hg\n", + " Atomic Number = 80\n", + " Index in Molecule = 0\n", + " Metal Adjacency (mconnec) = 2\n", + " Regular Adjacencies (connec) = 2\n", + " Coordination Sphere Formula = C-Cl\n", + " Possible Charges = [2]\n", + "----------------------------------------------------\n", + " [11, 16] 2\n", + "Target charge 2 of Hg exists in [2].\n", + "Hg\n", + "Target charge 2 of Hg exists in [2].\n", + "------------- Cell2mol METAL Object --------------\n", + " Version = 0.1\n", + " Type = atom\n", + " Sub-Type = metal\n", + " Label = Fe\n", + " Atomic Number = 26\n", + " Index in Molecule = 1\n", + " Metal Adjacency (mconnec) = 10\n", + " Regular Adjacencies (connec) = 10\n", + " Coordination Sphere Formula = C10\n", + " Possible Charges = [2, 3, 0]\n", + "----------------------------------------------------\n", + " [12, 17] 3\n", + "Target charge 3 of Fe exists in [2, 3, 0].\n", + "Fe\n", + "Target charge 3 of Fe exists in [2, 3, 0].\n", + "------------- Cell2mol LIGAND Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = ligand\n", + " Number of Atoms = 9\n", + " Formula = H4-C5\n", + " Has Adjacency Matrix = YES\n", + " Total Charge = -2\n", + " Smiles = [H]C1=[C-]C([H])([H])C([H])=C1[H]\n", + " Origin = split_complex\n", + " Number of Groups = 1\n", + "---------------------------------------------------\n", + " [9, 13] -2\n", + "Target charge -2 of H4-C5 exists in [-2].\n", + "H4-C5\n", + "LIGAND.SPLIT_LIGAND: self.indices=[0, 1, 2, 3, 4, 5, 6, 7, 8]\n", + "LIGAND.SPLIT_LIGAND: conn_idx=[0, 2, 3, 5, 7]\n", + "LIGAND.SPLIT_LIGAND: conn_labels=['C', 'C', 'C', 'C', 'C']\n", + "LIGAND.SPLIT_LIGAND: conn_coord=[[-3.028007, 7.7619381, 8.3134996], [-2.7651809, 6.6251757, 7.5020291], [-2.1733829, 5.6749186, 8.3189312], [-2.0313814, 6.1721819, 9.660519], [-2.5627616, 7.4609076, 9.6279299]]\n", + "LIGAND.SPLIT_LIGAND: conn_radii=[0.73, 0.73, 0.73, 0.73, 0.73]\n", + "blocklist=[[0, 1, 2, 3, 4]]\n", + "LIGAND.SPLIT_LIGAND: block=[0, 1, 2, 3, 4]\n", + "\tAtom 0 : C \tMetal : Fe \tdistance : 2.077 \tthres : 2.501\n", + "\tAtom 1 : C \tMetal : Hg \tdistance : 2.042 \tthres : 2.501\n", + "\tAtom 2 : C \tMetal : Fe \tdistance : 2.051 \tthres : 2.501\n", + "\tAtom 3 : C \tMetal : Fe \tdistance : 2.081 \tthres : 2.501\n", + "\tAtom 4 : C \tMetal : Fe \tdistance : 2.068 \tthres : 2.501\n", + "ratio_list=[0.83, 0.816, 0.82, 0.832, 0.827] std_dev=0.006\n", + " GET_PROTONATION_STATES: addressing group with hapticity: ['h5-Cp']\n", + " GET_PROTONATION_STATES: and parent indices: [0, 2, 3, 5, 7]\n", + " GET_PROTONATION_STATES: Added H to atom 0 with: a.mconnec=1 and label=C\n", + "protonation_states=[------------- Cell2mol Protonation ----------------\n", + " Status = True\n", + " Labels = ['C', 'H', 'C', 'C', 'H', 'C', 'H', 'C', 'H', 'H']\n", + " Type = Local\n", + " Atoms added in positions = [1 0 0 0 0 0 0 0 0]\n", + " Atoms blocked (no atoms added) = [1 0 0 1 0 1 0 1 0]\n", + "---------------------------------------------------\n", + "]\n", + " POSCHARGE will try charges [0, -1, 1, -2, 2]\n", + "smiles='[H][C+]1CC([H])([H])[C+]([H])[C-]1[H]'\n", + " POSCHARGE: charge 0 with smiles [H][C+]1CC([H])([H])[C+]([H])[C-]1[H]\n", + "smiles='[H]C1=[C-]C([H])([H])C([H])=C1[H]'\n", + " POSCHARGE: charge 0 with smiles [H]C1=[C-]C([H])([H])C([H])=C1[H]\n", + "smiles='[H][C+]1CC([H])([H])[C-]([H])[C+]1[H]'\n", + " POSCHARGE: charge 0 with smiles [H][C+]1CC([H])([H])[C-]([H])[C+]1[H]\n", + "smiles='[H][C+]1[C-]([H])[C-]([H])CC1([H])[H]'\n", + " POSCHARGE: charge 0 with smiles [H][C+]1[C-]([H])[C-]([H])CC1([H])[H]\n", + "smiles='[H][C+]1CC([H])([H])[C+]([H])[C+]1[H]'\n", + " POSCHARGE: charge 0 with smiles [H][C+]1CC([H])([H])[C+]([H])[C+]1[H]\n", + " NEW SELECT FUNCTION: uncorr_total: [1, -1, 1, -1, 3]\n", + " NEW SELECT FUNCTION: uncorr_abs_total: [1, 1, 1, 1, 3]\n", + " NEW SELECT FUNCTION: uncorr_abs_atcharge: [3, 1, 3, 3, 3]\n", + " NEW SELECT FUNCTION: uncorr_zwitt: [True, False, True, True, False]\n", + " NEW SELECT FUNCTION: coincide: [False, True, True, False, False]\n", + " NEW SELECT FUNCTION: listofmintot: [0, 1, 2, 3]\n", + " NEW SELECT FUNCTION: listofminabs: [1]\n", + " NEW SELECT FUNCTION: tmplist: [1], including:\n", + " NEW SELECT FUNCTION: Corr_charge=-2\n", + " NEW SELECT FUNCTION: Smiles=[H]C1=[C-]C([H])([H])C([H])=C1[H]\n", + " NEW SELECT FUNCTION: found corr_charges=[-2]\n", + " NEW SELECT FUNCTION: doing tgt_charge=-2\n", + " NEW SELECT FUNCTION: charge_state added\n", + " NEW SELECT FUNCTION: Case 1, only one entry for -2 in tmplist\n", + "Target charge -2 of H4-C5 exists in [-2].\n", + "------------- Cell2mol LIGAND Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = ligand\n", + " Number of Atoms = 10\n", + " Formula = H5-C5\n", + " Has Adjacency Matrix = YES\n", + " Total Charge = -1\n", + " Smiles = [H]C1=C([H])C([H])([H])C([H])=C1[H]\n", + " Origin = split_complex\n", + " Number of Groups = 1\n", + "---------------------------------------------------\n", + " [8, 14] -1\n", + "Target charge -1 of H5-C5 exists in [-1].\n", + "H5-C5\n", + "LIGAND.SPLIT_LIGAND: self.indices=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]\n", + "LIGAND.SPLIT_LIGAND: conn_idx=[1, 2, 4, 6, 8]\n", + "LIGAND.SPLIT_LIGAND: conn_labels=['C', 'C', 'C', 'C', 'C']\n", + "LIGAND.SPLIT_LIGAND: conn_coord=[[-5.0807517, 5.0475424, 10.4980609], [-5.66988, 6.2701729, 10.2873176], [-6.088064, 6.3514951, 8.8751198], [-5.7244276, 5.1338652, 8.3037229], [-5.1291871, 4.3765899, 9.2944339]]\n", + "LIGAND.SPLIT_LIGAND: conn_radii=[0.73, 0.73, 0.73, 0.73, 0.73]\n", + "blocklist=[[0, 1, 2, 3, 4]]\n", + "LIGAND.SPLIT_LIGAND: block=[0, 1, 2, 3, 4]\n", + "\tAtom 0 : C \tMetal : Fe \tdistance : 2.062 \tthres : 2.501\n", + "\tAtom 1 : C \tMetal : Fe \tdistance : 2.045 \tthres : 2.501\n", + "\tAtom 2 : C \tMetal : Fe \tdistance : 2.084 \tthres : 2.501\n", + "\tAtom 3 : C \tMetal : Fe \tdistance : 2.104 \tthres : 2.501\n", + "\tAtom 4 : C \tMetal : Fe \tdistance : 2.065 \tthres : 2.501\n", + "ratio_list=[0.824, 0.818, 0.833, 0.841, 0.826] std_dev=0.008\n", + " GET_PROTONATION_STATES: addressing group with hapticity: ['h5-Cp']\n", + " GET_PROTONATION_STATES: and parent indices: [1, 2, 4, 6, 8]\n", + " GET_PROTONATION_STATES: Added H to atom 1 with: a.mconnec=1 and label=C\n", + "protonation_states=[------------- Cell2mol Protonation ----------------\n", + " Status = True\n", + " Labels = ['H', 'C', 'C', 'H', 'C', 'H', 'C', 'H', 'C', 'H', 'H']\n", + " Type = Local\n", + " Atoms added in positions = [0 1 0 0 0 0 0 0 0 0]\n", + " Atoms blocked (no atoms added) = [0 1 1 0 1 0 1 0 1 0]\n", + "---------------------------------------------------\n", + "]\n", + " POSCHARGE will try charges [0, -1, 1, -2, 2]\n", + "smiles='[H]C1=C([H])C([H])([H])C([H])=C1[H]'\n", + " POSCHARGE: charge 0 with smiles [H]C1=C([H])C([H])([H])C([H])=C1[H]\n", + "smiles='[H][C+]1[C-]([H])[C-]([H])C([H])([H])[C-]1[H]'\n", + " POSCHARGE: charge 0 with smiles [H][C+]1[C-]([H])[C-]([H])C([H])([H])[C-]1[H]\n", + "smiles='[H][C+]1[C-]([H])[C+]([H])C([H])([H])[C-]1[H]'\n", + " POSCHARGE: charge 0 with smiles [H][C+]1[C-]([H])[C+]([H])C([H])([H])[C-]1[H]\n", + "smiles='[H][C+]1[C-]([H])[C-]([H])[C-]([H])C1([H])[H]'\n", + " POSCHARGE: charge 0 with smiles [H][C+]1[C-]([H])[C-]([H])[C-]([H])C1([H])[H]\n", + "smiles='[H][C+]1[C+]([H])C([H])([H])[C+]([H])[C-]1[H]'\n", + " POSCHARGE: charge 0 with smiles [H][C+]1[C+]([H])C([H])([H])[C+]([H])[C-]1[H]\n", + " NEW SELECT FUNCTION: uncorr_total: [0, -2, 0, -2, 2]\n", + " NEW SELECT FUNCTION: uncorr_abs_total: [0, 2, 0, 2, 2]\n", + " NEW SELECT FUNCTION: uncorr_abs_atcharge: [0, 4, 4, 4, 4]\n", + " NEW SELECT FUNCTION: uncorr_zwitt: [False, True, True, True, True]\n", + " NEW SELECT FUNCTION: coincide: [True, False, False, True, True]\n", + " NEW SELECT FUNCTION: listofmintot: [0, 2]\n", + " NEW SELECT FUNCTION: listofminabs: [0]\n", + " NEW SELECT FUNCTION: tmplist: [0], including:\n", + " NEW SELECT FUNCTION: Corr_charge=-1\n", + " NEW SELECT FUNCTION: Smiles=[H]C1=C([H])C([H])([H])C([H])=C1[H]\n", + " NEW SELECT FUNCTION: found corr_charges=[-1]\n", + " NEW SELECT FUNCTION: doing tgt_charge=-1\n", + " NEW SELECT FUNCTION: charge_state added\n", + " NEW SELECT FUNCTION: Case 1, only one entry for -1 in tmplist\n", + "Target charge -1 of H5-C5 exists in [-1].\n", + "------------- Cell2mol LIGAND Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = ligand\n", + " Number of Atoms = 1\n", + " Formula = Cl\n", + " Has Adjacency Matrix = YES\n", + " Total Charge = -1\n", + " Smiles = [Cl-]\n", + " Origin = split_complex\n", + " Number of Groups = 1\n", + "---------------------------------------------------\n", + " [0, 1, 2, 3, 4, 5, 10, 15] -1\n", + "Target charge -1 of Cl exists in [-1].\n", + "Cl\n", + "LIGAND.SPLIT_LIGAND: self.indices=[0]\n", + "LIGAND.SPLIT_LIGAND: conn_idx=[0]\n", + "LIGAND.SPLIT_LIGAND: conn_labels=['Cl']\n", + "LIGAND.SPLIT_LIGAND: conn_coord=[[-3.6481031, 6.3843261, 3.2600042]]\n", + "LIGAND.SPLIT_LIGAND: conn_radii=[1.02]\n", + "blocklist=[[0]]\n", + "LIGAND.SPLIT_LIGAND: block=[0]\n", + "ADD_ATOM: Metalist length 1\n", + "ADD_ATOM: Ligand Atoms 1\n", + "ADD_ATOM: site= 0\n", + "ADD_ATOM: evaluating apos=array([-3.6481031, 6.3843261, 3.2600042]) and tgt.coord=[-3.1627853000000004, 6.4949012, 5.503552]\n", + "ADD_ATOM: received tmpconnec[posadded]=1\n", + "ADD_ATOM: Chosen Metal index None. H is added at site 0\n", + " GET_PROTONATION_STATES: evaluating non-haptic group with index 0 and label Cl\n", + "protonation_states=[------------- Cell2mol Protonation ----------------\n", + " Status = True\n", + " Labels = ['Cl']\n", + " Type = Local\n", + " Atoms added in positions = [0]\n", + " Atoms blocked (no atoms added) = [1]\n", + "---------------------------------------------------\n", + "]\n", + " POSCHARGE will try charges [0, -1, 1, -2, 2]\n", + "smiles='[Cl-]'\n", + " POSCHARGE: charge 0 with smiles [Cl-]\n", + "smiles='[Cl-]'\n", + " POSCHARGE: charge 0 with smiles [Cl-]\n", + "smiles='[Cl-]'\n", + " POSCHARGE: charge 0 with smiles [Cl-]\n", + "smiles='[Cl-]'\n", + " POSCHARGE: charge 0 with smiles [Cl-]\n", + "smiles='[Cl-]'\n", + " POSCHARGE: charge 0 with smiles [Cl-]\n", + " NEW SELECT FUNCTION: uncorr_total: [-1, -1, -1, -1, -1]\n", + " NEW SELECT FUNCTION: uncorr_abs_total: [1, 1, 1, 1, 1]\n", + " NEW SELECT FUNCTION: uncorr_abs_atcharge: [1, 1, 1, 1, 1]\n", + " NEW SELECT FUNCTION: uncorr_zwitt: [False, False, False, False, False]\n", + " NEW SELECT FUNCTION: coincide: [False, True, False, False, False]\n", + " NEW SELECT FUNCTION: listofmintot: [0, 1, 2, 3, 4]\n", + " NEW SELECT FUNCTION: listofminabs: [0, 1, 2, 3, 4]\n", + " NEW SELECT FUNCTION: tmplist: [1], including:\n", + " NEW SELECT FUNCTION: Corr_charge=-1\n", + " NEW SELECT FUNCTION: Smiles=[Cl-]\n", + " NEW SELECT FUNCTION: found corr_charges=[-1]\n", + " NEW SELECT FUNCTION: doing tgt_charge=-1\n", + " NEW SELECT FUNCTION: charge_state added\n", + " NEW SELECT FUNCTION: Case 1, only one entry for -1 in tmplist\n", + "Target charge -1 of Cl exists in [-1].\n", + "------------- Cell2mol METAL Object --------------\n", + " Version = 0.1\n", + " Type = atom\n", + " Sub-Type = metal\n", + " Label = Hg\n", + " Atomic Number = 80\n", + " Index in Molecule = 0\n", + " Metal Adjacency (mconnec) = 2\n", + " Regular Adjacencies (connec) = 2\n", + " Atom Charge = 2.0\n", + " Coordination Sphere Formula = C-Cl\n", + " Possible Charges = [2]\n", + "----------------------------------------------------\n", + " [11, 16] 2\n", + "Target charge 2 of Hg exists in [2].\n", + "Hg\n", + "Target charge 2 of Hg exists in [2].\n", + "------------- Cell2mol METAL Object --------------\n", + " Version = 0.1\n", + " Type = atom\n", + " Sub-Type = metal\n", + " Label = Fe\n", + " Atomic Number = 26\n", + " Index in Molecule = 1\n", + " Metal Adjacency (mconnec) = 10\n", + " Regular Adjacencies (connec) = 10\n", + " Atom Charge = 3.0\n", + " Coordination Sphere Formula = C10\n", + " Possible Charges = [2, 3, 0]\n", + "----------------------------------------------------\n", + " [12, 17] 3\n", + "Target charge 3 of Fe exists in [2, 3, 0].\n", + "Fe\n", + "Target charge 3 of Fe exists in [2, 3, 0].\n" + ] + }, + { + "data": { + "text/plain": [ + "[------------- Cell2mol MOLECULE Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = molecule\n", + " Number of Atoms = 8\n", + " Formula = Cl6-Hg2\n", + " Has Adjacency Matrix = YES\n", + " Total Charge = -2\n", + " Smiles = ['[Cl-]', '[Cl-]', '[Cl-]', '[Cl-]', '[Cl-]', '[Cl-]']\n", + " Origin = cell.reconstruct\n", + " Number of Ligands = 6\n", + " Number of Metals = 2\n", + " ---------------------------------------------------,\n", + " ------------- Cell2mol MOLECULE Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = molecule\n", + " Number of Atoms = 22\n", + " Formula = H9-C10-Cl-Fe-Hg\n", + " Has Adjacency Matrix = YES\n", + " Total Charge = 1\n", + " Smiles = ['[H]C1=C([H])C([H])([H])C([H])=C1[H]', '[H]C1=[C-]C([H])([H])C([H])=C1[H]', '[Cl-]']\n", + " Origin = cell.reconstruct\n", + " Number of Ligands = 3\n", + " Number of Metals = 2\n", + " ---------------------------------------------------,\n", + " ------------- Cell2mol MOLECULE Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = molecule\n", + " Number of Atoms = 22\n", + " Formula = H9-C10-Cl-Fe-Hg\n", + " Has Adjacency Matrix = YES\n", + " Total Charge = 1\n", + " Smiles = ['[H]C1=[C-]C([H])([H])C([H])=C1[H]', '[H]C1=C([H])C([H])([H])C([H])=C1[H]', '[Cl-]']\n", + " Origin = cell.reconstruct\n", + " Number of Ligands = 3\n", + " Number of Metals = 2\n", + " ---------------------------------------------------]" + ] + }, + "execution_count": 22, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "newcell.assign_charges(debug=2)" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "id": "678fa41f", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "False" + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "newcell.error_prepare_mols" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "id": "43c42769", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "CELL.CREATE_BONDS: Creating Bonds for molecule Cl6-Hg2\n" + ] + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "CREATE BONDS: Number of atoms in ligand object and RDKit MOL are equal: 1 1\n", + "idx=0 Cl Number of bonds : 0\n", + "NO BONDS CREATED\n" + ] + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "CREATE BONDS: Number of atoms in ligand object and RDKit MOL are equal: 1 1\n", + "idx=0 Cl Number of bonds : 0\n", + "NO BONDS CREATED\n" + ] + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "CREATE BONDS: Number of atoms in ligand object and RDKit MOL are equal: 1 1\n", + "idx=0 Cl Number of bonds : 0\n", + "NO BONDS CREATED\n" + ] + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "CREATE BONDS: Number of atoms in ligand object and RDKit MOL are equal: 1 1\n", + "idx=0 Cl Number of bonds : 0\n", + "NO BONDS CREATED\n" + ] + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "CREATE BONDS: Number of atoms in ligand object and RDKit MOL are equal: 1 1\n", + "idx=0 Cl Number of bonds : 0\n", + "NO BONDS CREATED\n" + ] + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "CREATE BONDS: Number of atoms in ligand object and RDKit MOL are equal: 1 1\n", + "idx=0 Cl Number of bonds : 0\n", + "NO BONDS CREATED\n", + "CELL.CREATE_BONDS: Creating Metal-Metal Bonds for molecule Cl6-Hg2\n", + "CELL.CREATE_BONDS: Metals: [------------- Cell2mol METAL Object --------------\n", + " Version = 0.1\n", + " Type = atom\n", + " Sub-Type = metal\n", + " Label = Hg\n", + " Atomic Number = 80\n", + " Index in Molecule = 0\n", + " Metal Adjacency (mconnec) = 4\n", + " Regular Adjacencies (connec) = 4\n", + " Atom Charge = 2.0\n", + " Coordination Sphere Formula = Cl4\n", + " Possible Charges = [2]\n", + "----------------------------------------------------\n", + ", ------------- Cell2mol METAL Object --------------\n", + " Version = 0.1\n", + " Type = atom\n", + " Sub-Type = metal\n", + " Label = Hg\n", + " Atomic Number = 80\n", + " Index in Molecule = 4\n", + " Metal Adjacency (mconnec) = 4\n", + " Regular Adjacencies (connec) = 4\n", + " Atom Charge = 2.0\n", + " Coordination Sphere Formula = Cl4\n", + " Possible Charges = [2]\n", + "----------------------------------------------------\n", + "]\n", + "0 Cl\n", + "Cl Hg 0.5\n" + ] + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0 Cl\n", + "Cl Hg 0.5\n" + ] + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0 Cl\n", + "Cl Hg 0.5\n", + "Cl Hg 0.5\n" + ] + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0 Cl\n", + "Cl Hg 0.5\n" + ] + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0 Cl\n", + "Cl Hg 0.5\n" + ] + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0 Cl\n", + "Cl Hg 0.5\n", + "Cl Hg 0.5\n" + ] + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "CELL.CREATE_BONDS: Creating Bonds for molecule H9-C10-Cl-Fe-Hg\n" + ] + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "CREATE BONDS: Number of atoms in ligand object and RDKit MOL are different: 10 11\n", + "[(0, 'C'), (1, 'H'), (2, 'C'), (3, 'H'), (4, 'C'), (5, 'H'), (6, 'C'), (7, 'H'), (8, 'C'), (9, 'H')]\n", + "[(0, 'C'), (1, 'H'), (2, 'C'), (3, 'H'), (4, 'C'), (5, 'H'), (6, 'C'), (7, 'H'), (8, 'C'), (9, 'H'), (10, 'H')]\n", + "NON_BONDED_ATOMS [10]\n", + "idx=0 C Number of bonds : 4\n", + "C : 0 , H : 1 , 1.0\n", + "BOND CREATED 0 0 1 1.0 C H\n", + "C : 0 , C : 2 , 1.0\n", + "BOND CREATED 0 0 2 1.0 C C\n", + "C : 0 , C : 8 , 1.0\n", + "BOND CREATED 0 0 8 1.0 C C\n", + "C : 0 , H : 10 , 1.0\n", + "NO BOND CREATED bond_startatom=0 or bond_endatom=10 is not in the specie.atoms. It belongs to non_bonded_atoms=[10].\n", + "BONDS [('C', 'H', 1.0, 0.931), ('C', 'C', 1.0, 1.379), ('C', 'C', 1.0, 1.382)]\n", + "idx=1 H Number of bonds : 1\n", + "C : 0 , H : 1 , 1.0\n", + "BOND CREATED 1 1 0 1.0 H C\n", + "BONDS [('H', 'C', 1.0, 0.931)]\n", + "idx=2 C Number of bonds : 3\n", + "C : 0 , C : 2 , 1.0\n", + "BOND CREATED 2 2 0 1.0 C C\n", + "C : 2 , H : 3 , 1.0\n", + "BOND CREATED 2 2 3 1.0 C H\n", + "C : 2 , C : 4 , 2.0\n", + "BOND CREATED 2 2 4 2.0 C C\n", + "BONDS [('C', 'C', 1.0, 1.379), ('C', 'H', 1.0, 0.929), ('C', 'C', 2.0, 1.373)]\n", + "idx=3 H Number of bonds : 1\n", + "C : 2 , H : 3 , 1.0\n", + "BOND CREATED 3 3 2 1.0 H C\n", + "BONDS [('H', 'C', 1.0, 0.929)]\n", + "idx=4 C Number of bonds : 3\n", + "C : 2 , C : 4 , 2.0\n", + "BOND CREATED 4 4 2 2.0 C C\n", + "C : 4 , H : 5 , 1.0\n", + "BOND CREATED 4 4 5 1.0 C H\n", + "C : 4 , C : 6 , 1.0\n", + "BOND CREATED 4 4 6 1.0 C C\n", + "BONDS [('C', 'C', 2.0, 1.373), ('C', 'H', 1.0, 0.933), ('C', 'C', 1.0, 1.475)]\n", + "idx=5 H Number of bonds : 1\n", + "C : 4 , H : 5 , 1.0\n", + "BOND CREATED 5 5 4 1.0 H C\n", + "BONDS [('H', 'C', 1.0, 0.933)]\n", + "idx=6 C Number of bonds : 3\n", + "C : 4 , C : 6 , 1.0\n", + "BOND CREATED 6 6 4 1.0 C C\n", + "C : 6 , H : 7 , 1.0\n", + "BOND CREATED 6 6 7 1.0 C H\n", + "C : 6 , C : 8 , 2.0\n", + "BOND CREATED 6 6 8 2.0 C C\n", + "BONDS [('C', 'C', 1.0, 1.475), ('C', 'H', 1.0, 0.926), ('C', 'C', 2.0, 1.393)]\n", + "idx=7 H Number of bonds : 1\n", + "C : 6 , H : 7 , 1.0\n", + "BOND CREATED 7 7 6 1.0 H C\n", + "BONDS [('H', 'C', 1.0, 0.926)]\n", + "idx=8 C Number of bonds : 3\n", + "C : 0 , C : 8 , 1.0\n", + "BOND CREATED 8 8 0 1.0 C C\n", + "C : 6 , C : 8 , 2.0\n", + "BOND CREATED 8 8 6 2.0 C C\n", + "C : 8 , H : 9 , 1.0\n", + "BOND CREATED 8 8 9 1.0 C H\n", + "BONDS [('C', 'C', 1.0, 1.382), ('C', 'C', 2.0, 1.393), ('C', 'H', 1.0, 0.93)]\n", + "idx=9 H Number of bonds : 1\n", + "C : 8 , H : 9 , 1.0\n", + "BOND CREATED 9 9 8 1.0 H C\n", + "BONDS [('H', 'C', 1.0, 0.93)]\n", + "idx=10 H Number of bonds : 1\n", + "C : 0 , H : 10 , 1.0\n", + "NO BOND CREATED bond_startatom=0 or bond_endatom=10 is not in the specie.atoms. It belongs to non_bonded_atoms=[10].\n", + "NO BONDS\n" + ] + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "CREATE BONDS: Number of atoms in ligand object and RDKit MOL are different: 9 10\n", + "[(0, 'C'), (1, 'C'), (2, 'H'), (3, 'C'), (4, 'H'), (5, 'C'), (6, 'H'), (7, 'C'), (8, 'H')]\n", + "[(0, 'C'), (1, 'C'), (2, 'H'), (3, 'C'), (4, 'H'), (5, 'C'), (6, 'H'), (7, 'C'), (8, 'H'), (9, 'H')]\n", + "NON_BONDED_ATOMS [9]\n", + "idx=0 C Number of bonds : 2\n", + "C : 0 , C : 1 , 1.0\n", + "BOND CREATED 0 0 1 1.0 C C\n", + "C : 0 , C : 7 , 2.0\n", + "BOND CREATED 0 0 7 2.0 C C\n", + "BONDS [('C', 'C', 1.0, 1.386), ('C', 'C', 2.0, 1.421)]\n", + "idx=1 C Number of bonds : 4\n", + "C : 0 , C : 1 , 1.0\n", + "BOND CREATED 1 1 0 1.0 C C\n", + "C : 1 , H : 2 , 1.0\n", + "BOND CREATED 1 1 2 1.0 C H\n", + "C : 1 , C : 3 , 1.0\n", + "BOND CREATED 1 1 3 1.0 C C\n", + "C : 1 , H : 9 , 1.0\n", + "NO BOND CREATED bond_startatom=1 or bond_endatom=9 is not in the specie.atoms. It belongs to non_bonded_atoms=[9].\n", + "BONDS [('C', 'C', 1.0, 1.386), ('C', 'H', 1.0, 0.93), ('C', 'C', 1.0, 1.438)]\n", + "idx=2 H Number of bonds : 1\n", + "C : 1 , H : 2 , 1.0\n", + "BOND CREATED 2 2 1 1.0 H C\n", + "BONDS [('H', 'C', 1.0, 0.93)]\n", + "idx=3 C Number of bonds : 3\n", + "C : 1 , C : 3 , 1.0\n", + "BOND CREATED 3 3 1 1.0 C C\n", + "C : 3 , H : 4 , 1.0\n", + "BOND CREATED 3 3 4 1.0 C H\n", + "C : 3 , C : 5 , 2.0\n", + "BOND CREATED 3 3 5 2.0 C C\n", + "BONDS [('C', 'C', 1.0, 1.438), ('C', 'H', 1.0, 0.93), ('C', 'C', 2.0, 1.394)]\n", + "idx=4 H Number of bonds : 1\n", + "C : 3 , H : 4 , 1.0\n", + "BOND CREATED 4 4 3 1.0 H C\n", + "BONDS [('H', 'C', 1.0, 0.93)]\n", + "idx=5 C Number of bonds : 3\n", + "C : 3 , C : 5 , 2.0\n", + "BOND CREATED 5 5 3 2.0 C C\n", + "C : 5 , H : 6 , 1.0\n", + "BOND CREATED 5 5 6 1.0 C H\n", + "C : 5 , C : 7 , 1.0\n", + "BOND CREATED 5 5 7 1.0 C C\n", + "BONDS [('C', 'C', 2.0, 1.394), ('C', 'H', 1.0, 0.931), ('C', 'C', 1.0, 1.426)]\n", + "idx=6 H Number of bonds : 1\n", + "C : 5 , H : 6 , 1.0\n", + "BOND CREATED 6 6 5 1.0 H C\n", + "BONDS [('H', 'C', 1.0, 0.931)]\n", + "idx=7 C Number of bonds : 3\n", + "C : 0 , C : 7 , 2.0\n", + "BOND CREATED 7 7 0 2.0 C C\n", + "C : 5 , C : 7 , 1.0\n", + "BOND CREATED 7 7 5 1.0 C C\n", + "C : 7 , H : 8 , 1.0\n", + "BOND CREATED 7 7 8 1.0 C H\n", + "BONDS [('C', 'C', 2.0, 1.421), ('C', 'C', 1.0, 1.426), ('C', 'H', 1.0, 0.93)]\n", + "idx=8 H Number of bonds : 1\n", + "C : 7 , H : 8 , 1.0\n", + "BOND CREATED 8 8 7 1.0 H C\n", + "BONDS [('H', 'C', 1.0, 0.93)]\n", + "idx=9 H Number of bonds : 1\n", + "C : 1 , H : 9 , 1.0\n", + "NO BOND CREATED bond_startatom=1 or bond_endatom=9 is not in the specie.atoms. It belongs to non_bonded_atoms=[9].\n", + "NO BONDS\n" + ] + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "CREATE BONDS: Number of atoms in ligand object and RDKit MOL are equal: 1 1\n", + "idx=0 Cl Number of bonds : 0\n", + "NO BONDS CREATED\n", + "CELL.CREATE_BONDS: Creating Metal-Metal Bonds for molecule H9-C10-Cl-Fe-Hg\n", + "CELL.CREATE_BONDS: Metals: [------------- Cell2mol METAL Object --------------\n", + " Version = 0.1\n", + " Type = atom\n", + " Sub-Type = metal\n", + " Label = Hg\n", + " Atomic Number = 80\n", + " Index in Molecule = 0\n", + " Metal Adjacency (mconnec) = 2\n", + " Regular Adjacencies (connec) = 2\n", + " Atom Charge = 2.0\n", + " Coordination Sphere Formula = C-Cl\n", + " Possible Charges = [2]\n", + "----------------------------------------------------\n", + ", ------------- Cell2mol METAL Object --------------\n", + " Version = 0.1\n", + " Type = atom\n", + " Sub-Type = metal\n", + " Label = Fe\n", + " Atomic Number = 26\n", + " Index in Molecule = 1\n", + " Metal Adjacency (mconnec) = 10\n", + " Regular Adjacencies (connec) = 10\n", + " Atom Charge = 3.0\n", + " Coordination Sphere Formula = C10\n", + " Possible Charges = [2, 3, 0]\n", + "----------------------------------------------------\n", + "]\n", + "0 C\n", + "C H 1.0\n", + "0 1\n", + "C C 1.0\n", + "0 2\n", + "C C 1.0\n", + "0 8\n", + "C Fe 0.5\n", + "1 H\n", + "H C 1.0\n", + "1 0\n", + "2 C\n", + "C C 1.0\n", + "2 0\n", + "C H 1.0\n", + "2 3\n", + "C C 2.0\n", + "2 4\n", + "C Fe 0.5\n", + "3 H\n", + "H C 1.0\n", + "3 2\n", + "4 C\n", + "C C 2.0\n", + "4 2\n", + "C H 1.0\n", + "4 5\n", + "C C 1.0\n", + "4 6\n", + "C Fe 0.5\n", + "5 H\n", + "H C 1.0\n", + "5 4\n", + "6 C\n", + "C C 1.0\n", + "6 4\n", + "C H 1.0\n", + "6 7\n", + "C C 2.0\n", + "6 8\n", + "C Fe 0.5\n", + "7 H\n", + "H C 1.0\n", + "7 6\n", + "8 C\n", + "C C 1.0\n", + "8 0\n", + "C C 2.0\n", + "8 6\n", + "C H 1.0\n", + "8 9\n", + "C Fe 0.5\n", + "9 H\n", + "H C 1.0\n", + "9 8\n" + ] + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0 C\n", + "C C 1.0\n", + "0 1\n", + "C C 2.0\n", + "0 7\n", + "C Hg 0.5\n", + "C Fe 0.5\n", + "1 C\n", + "C C 1.0\n", + "1 0\n", + "C H 1.0\n", + "1 2\n", + "C C 1.0\n", + "1 3\n", + "C Fe 0.5\n", + "2 H\n", + "H C 1.0\n", + "2 1\n", + "3 C\n", + "C C 1.0\n", + "3 1\n", + "C H 1.0\n", + "3 4\n", + "C C 2.0\n", + "3 5\n", "C Fe 0.5\n", "4 H\n", "H C 1.0\n", "4 3\n", - "SINGLE\n", "5 C\n", "C C 2.0\n", "5 3\n", - "DOUBLE\n", "C H 1.0\n", "5 6\n", - "SINGLE\n", "C C 1.0\n", "5 7\n", - "SINGLE\n", "C Fe 0.5\n", "6 H\n", "H C 1.0\n", "6 5\n", - "SINGLE\n", "7 C\n", "C C 2.0\n", "7 0\n", - "DOUBLE\n", "C C 1.0\n", "7 5\n", - "SINGLE\n", "C H 1.0\n", "7 8\n", - "SINGLE\n", "C Fe 0.5\n", "8 H\n", "H C 1.0\n", - "8 7\n", - "SINGLE\n", - "[H]C1=[C-][C-]([H])C([H])=C1[H]\n" + "8 7\n" ] }, { "data": { "image/png": "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", "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -3489,32 +4849,198 @@ "name": "stdout", "output_type": "stream", "text": [ - "C -1.0\n", - "BONDS [('C', 'C', 1.0, 1.386), ('C', 'C', 2.0, 1.421), ('C', 'Hg', 0.5, 2.042), ('C', 'Fe', 0.5, 2.084)]\n", - "C -1.0\n", - "BONDS [('C', 'C', 1.0, 1.386), ('C', 'H', 1.0, 0.93), ('C', 'C', 1.0, 1.438), ('C', 'Fe', 0.5, 2.051)]\n", - "H 0.0\n", + "0 Cl\n", + "Cl Hg 0.5\n" + ] + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "CELL.CREATE_BONDS: Creating Bonds for molecule H9-C10-Cl-Fe-Hg\n" + ] + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "CREATE BONDS: Number of atoms in ligand object and RDKit MOL are different: 9 10\n", + "[(0, 'C'), (1, 'H'), (2, 'C'), (3, 'C'), (4, 'H'), (5, 'C'), (6, 'H'), (7, 'C'), (8, 'H')]\n", + "[(0, 'C'), (1, 'H'), (2, 'C'), (3, 'C'), (4, 'H'), (5, 'C'), (6, 'H'), (7, 'C'), (8, 'H'), (9, 'H')]\n", + "NON_BONDED_ATOMS [9]\n", + "idx=0 C Number of bonds : 4\n", + "C : 0 , H : 1 , 1.0\n", + "BOND CREATED 0 0 1 1.0 C H\n", + "C : 0 , C : 2 , 1.0\n", + "BOND CREATED 0 0 2 1.0 C C\n", + "C : 0 , C : 7 , 1.0\n", + "BOND CREATED 0 0 7 1.0 C C\n", + "C : 0 , H : 9 , 1.0\n", + "NO BOND CREATED bond_startatom=0 or bond_endatom=9 is not in the specie.atoms. It belongs to non_bonded_atoms=[9].\n", + "BONDS [('C', 'H', 1.0, 0.93), ('C', 'C', 1.0, 1.421), ('C', 'C', 1.0, 1.426)]\n", + "idx=1 H Number of bonds : 1\n", + "C : 0 , H : 1 , 1.0\n", + "BOND CREATED 1 1 0 1.0 H C\n", + "BONDS [('H', 'C', 1.0, 0.93)]\n", + "idx=2 C Number of bonds : 2\n", + "C : 0 , C : 2 , 1.0\n", + "BOND CREATED 2 2 0 1.0 C C\n", + "C : 2 , C : 3 , 2.0\n", + "BOND CREATED 2 2 3 2.0 C C\n", + "BONDS [('C', 'C', 1.0, 1.421), ('C', 'C', 2.0, 1.386)]\n", + "idx=3 C Number of bonds : 3\n", + "C : 2 , C : 3 , 2.0\n", + "BOND CREATED 3 3 2 2.0 C C\n", + "C : 3 , H : 4 , 1.0\n", + "BOND CREATED 3 3 4 1.0 C H\n", + "C : 3 , C : 5 , 1.0\n", + "BOND CREATED 3 3 5 1.0 C C\n", + "BONDS [('C', 'C', 2.0, 1.386), ('C', 'H', 1.0, 0.93), ('C', 'C', 1.0, 1.438)]\n", + "idx=4 H Number of bonds : 1\n", + "C : 3 , H : 4 , 1.0\n", + "BOND CREATED 4 4 3 1.0 H C\n", "BONDS [('H', 'C', 1.0, 0.93)]\n", - "C 0.0\n", - "BONDS [('C', 'C', 1.0, 1.438), ('C', 'H', 1.0, 0.93), ('C', 'C', 2.0, 1.394), ('C', 'Fe', 0.5, 2.081)]\n", - "H 0.0\n", + "idx=5 C Number of bonds : 3\n", + "C : 3 , C : 5 , 1.0\n", + "BOND CREATED 5 5 3 1.0 C C\n", + "C : 5 , H : 6 , 1.0\n", + "BOND CREATED 5 5 6 1.0 C H\n", + "C : 5 , C : 7 , 2.0\n", + "BOND CREATED 5 5 7 2.0 C C\n", + "BONDS [('C', 'C', 1.0, 1.438), ('C', 'H', 1.0, 0.93), ('C', 'C', 2.0, 1.394)]\n", + "idx=6 H Number of bonds : 1\n", + "C : 5 , H : 6 , 1.0\n", + "BOND CREATED 6 6 5 1.0 H C\n", "BONDS [('H', 'C', 1.0, 0.93)]\n", - "C 0.0\n", - "BONDS [('C', 'C', 2.0, 1.394), ('C', 'H', 1.0, 0.931), ('C', 'C', 1.0, 1.426), ('C', 'Fe', 0.5, 2.068)]\n", - "H 0.0\n", + "idx=7 C Number of bonds : 3\n", + "C : 0 , C : 7 , 1.0\n", + "BOND CREATED 7 7 0 1.0 C C\n", + "C : 5 , C : 7 , 2.0\n", + "BOND CREATED 7 7 5 2.0 C C\n", + "C : 7 , H : 8 , 1.0\n", + "BOND CREATED 7 7 8 1.0 C H\n", + "BONDS [('C', 'C', 1.0, 1.426), ('C', 'C', 2.0, 1.394), ('C', 'H', 1.0, 0.931)]\n", + "idx=8 H Number of bonds : 1\n", + "C : 7 , H : 8 , 1.0\n", + "BOND CREATED 8 8 7 1.0 H C\n", "BONDS [('H', 'C', 1.0, 0.931)]\n", - "C 0.0\n", - "BONDS [('C', 'C', 2.0, 1.421), ('C', 'C', 1.0, 1.426), ('C', 'H', 1.0, 0.93), ('C', 'Fe', 0.5, 2.077)]\n", - "H 0.0\n", + "idx=9 H Number of bonds : 1\n", + "C : 0 , H : 9 , 1.0\n", + "NO BOND CREATED bond_startatom=0 or bond_endatom=9 is not in the specie.atoms. It belongs to non_bonded_atoms=[9].\n", + "NO BONDS\n" + ] + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "CREATE BONDS: Number of atoms in ligand object and RDKit MOL are different: 10 11\n", + "[(0, 'H'), (1, 'C'), (2, 'C'), (3, 'H'), (4, 'C'), (5, 'H'), (6, 'C'), (7, 'H'), (8, 'C'), (9, 'H')]\n", + "[(0, 'H'), (1, 'C'), (2, 'C'), (3, 'H'), (4, 'C'), (5, 'H'), (6, 'C'), (7, 'H'), (8, 'C'), (9, 'H'), (10, 'H')]\n", + "NON_BONDED_ATOMS [10]\n", + "idx=0 H Number of bonds : 1\n", + "H : 0 , C : 1 , 1.0\n", + "BOND CREATED 0 0 1 1.0 H C\n", + "BONDS [('H', 'C', 1.0, 0.929)]\n", + "idx=1 C Number of bonds : 4\n", + "H : 0 , C : 1 , 1.0\n", + "BOND CREATED 1 1 0 1.0 C H\n", + "C : 1 , C : 2 , 1.0\n", + "BOND CREATED 1 1 2 1.0 C C\n", + "C : 1 , C : 8 , 1.0\n", + "BOND CREATED 1 1 8 1.0 C C\n", + "C : 1 , H : 10 , 1.0\n", + "NO BOND CREATED bond_startatom=1 or bond_endatom=10 is not in the specie.atoms. It belongs to non_bonded_atoms=[10].\n", + "BONDS [('C', 'H', 1.0, 0.929), ('C', 'C', 1.0, 1.373), ('C', 'C', 1.0, 1.379)]\n", + "idx=2 C Number of bonds : 3\n", + "C : 1 , C : 2 , 1.0\n", + "BOND CREATED 2 2 1 1.0 C C\n", + "C : 2 , H : 3 , 1.0\n", + "BOND CREATED 2 2 3 1.0 C H\n", + "C : 2 , C : 4 , 2.0\n", + "BOND CREATED 2 2 4 2.0 C C\n", + "BONDS [('C', 'C', 1.0, 1.373), ('C', 'H', 1.0, 0.933), ('C', 'C', 2.0, 1.475)]\n", + "idx=3 H Number of bonds : 1\n", + "C : 2 , H : 3 , 1.0\n", + "BOND CREATED 3 3 2 1.0 H C\n", + "BONDS [('H', 'C', 1.0, 0.933)]\n", + "idx=4 C Number of bonds : 3\n", + "C : 2 , C : 4 , 2.0\n", + "BOND CREATED 4 4 2 2.0 C C\n", + "C : 4 , H : 5 , 1.0\n", + "BOND CREATED 4 4 5 1.0 C H\n", + "C : 4 , C : 6 , 1.0\n", + "BOND CREATED 4 4 6 1.0 C C\n", + "BONDS [('C', 'C', 2.0, 1.475), ('C', 'H', 1.0, 0.926), ('C', 'C', 1.0, 1.393)]\n", + "idx=5 H Number of bonds : 1\n", + "C : 4 , H : 5 , 1.0\n", + "BOND CREATED 5 5 4 1.0 H C\n", + "BONDS [('H', 'C', 1.0, 0.926)]\n", + "idx=6 C Number of bonds : 3\n", + "C : 4 , C : 6 , 1.0\n", + "BOND CREATED 6 6 4 1.0 C C\n", + "C : 6 , H : 7 , 1.0\n", + "BOND CREATED 6 6 7 1.0 C H\n", + "C : 6 , C : 8 , 2.0\n", + "BOND CREATED 6 6 8 2.0 C C\n", + "BONDS [('C', 'C', 1.0, 1.393), ('C', 'H', 1.0, 0.93), ('C', 'C', 2.0, 1.382)]\n", + "idx=7 H Number of bonds : 1\n", + "C : 6 , H : 7 , 1.0\n", + "BOND CREATED 7 7 6 1.0 H C\n", "BONDS [('H', 'C', 1.0, 0.93)]\n", - "H4-C5 -2 C.C.C.[C-].[C-].[H].[H].[H].[H]\n" + "idx=8 C Number of bonds : 3\n", + "C : 1 , C : 8 , 1.0\n", + "BOND CREATED 8 8 1 1.0 C C\n", + "C : 6 , C : 8 , 2.0\n", + "BOND CREATED 8 8 6 2.0 C C\n", + "C : 8 , H : 9 , 1.0\n", + "BOND CREATED 8 8 9 1.0 C H\n", + "BONDS [('C', 'C', 1.0, 1.379), ('C', 'C', 2.0, 1.382), ('C', 'H', 1.0, 0.931)]\n", + "idx=9 H Number of bonds : 1\n", + "C : 8 , H : 9 , 1.0\n", + "BOND CREATED 9 9 8 1.0 H C\n", + "BONDS [('H', 'C', 1.0, 0.931)]\n", + "idx=10 H Number of bonds : 1\n", + "C : 1 , H : 10 , 1.0\n", + "NO BOND CREATED bond_startatom=1 or bond_endatom=10 is not in the specie.atoms. It belongs to non_bonded_atoms=[10].\n", + "NO BONDS\n" ] }, { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAcIAAACWCAIAAADCEh9HAAAABmJLR0QA/wD/AP+gvaeTAAAWXklEQVR4nO3deVSU1/kH8GdYhXE4LCoIFXCBSFkVQUCkHBZF5GDEKqKNFBKBEzUxMRgaimlrUkOtVnOSVqKNEkM0oIYlCppEAweNCIjIzgiKIouAg8Mus/z+eH+dQ4ZF4quSefl+/pq5976XZ0b88s6978zw5HI5AQDA01Kb6AIAAFQbYhQAgBXEKAAAK4hRAABWEKMAAKwgRjliYGCgt7d3ePvg4GBvb+9o12M8ePBAKBQODAw85+oAuAwxyhFr1qzh8/kymUyp/b333uPz+ZWVlUrtX3zxhbm5ubGxsbW1ta6ublhY2P37919UsQCcghidjM6cORMeHm5qanr+/PmioqI9e/akpaUFBgYOT2EAeCKNiS4AJkBmZiYRHT161MbGhoicnZ1v3Lhx4sSJsrIyR0fHia4OQMXgbHQyEovFRKSurq5oEQgERMTj8SasJgCVhRidLIqLi1955ZWzZ88Skb+/PxFt2LChqqqKiFpaWs6cOePq6mpvbz/BVQKoILyo55S1a9cqtZSVlTE37t69++WXX9rZ2a1cuTI6Orq0tDQpKcnW1nbp0qVNTU1OTk5fffUVczZaUlJy8ODB/fv3GxoavugHAKCCEKOc0tHRodTS39/P3Fi2bFltbe20adOISCQS1dXVGRkZrVmz5ttvv21qahKLxT/++COTwtevX09JSdmxYwdiFGBc5MAJK1euJCKpVKrU/s477xBReXn50EZ/f38dHR2mUSKRZGRkzJo1i8fj/fDDD8yA7u7uF1M2AAdgbXTSaWxs/O677wIDA21tbYlIXV09ODj41KlTcrn8+PHjzBg+nz+hNQKoEsTopNPV1UU/36YnIn19fSLq6+ubmJoAVBlidLKoqqratWtXfn6+lZWViYnJuXPnbt68yXTJ5fIDBw4QkY+Pz4TWCKCSsMU0WVRXV+/evZvP53t6en7++edr1qxxcXHx9/efMWNGYWFheXn5qlWrIiIiJrpMANWDGOWIoKAgS0vL4dfPL1mypK+vz8jIaMmSJefPn7e2tiaiFStWVFZWJicn19TUNDY2Llq06K9//evq1atx+T3AU+DJ8V1MAAAsYG0UAIAVxCgAACuIUQAAVhCjAACsIEYBAFhBjAIAsIIYBQBgBTEKAMAKYhQAgBXEKAAAK4hRAABWEKMAAKwgRgEAWEGMAgCwghgFAGAFH9vMEdnZ2Q0NDTExMUrtV69evXHjRmhoqIGBwWjHnjlzpr29nYiioqKeb5UAXISPbeaIoKCgs2fPSqVSNbWfvcKIjY395z//WV5eznwP6HAXL1708/PT1NR8/PgxfhkAngJe1E9qfX190dHRtra2y5cvn+haAFQVYnRS27VrV319/aFDh7S0tCa6FgBVhRidRGQy2dC7paWlBw8e3Lx585IlSyaqJAAOQIxySm9vb8/PDQ4OMl3ffPONurp6YmIic1cikURGRhoaGu7Zs2fi6gXgAuzUc4pAIBity8jIyM3NzczMjLm7d+/e69evp6SkjLiD/9577504caK6ulpbW/t51QrAFYhRTjly5IjSd82npaXl5OQQkZeX108//cQ01tbW7t6929vbOywsbMR55s2b5+zsrKGBXw+AJ8P/E06JiIhQuuCpqqqKiVEFuVweFRX1+PHjP/3pT7dv32Yae3p6iKi+vl5fX9/Q0DAyMjIyMvKFlQ2g0hCjk05paWlubi4RDb/Iae7cuX/+85937949EXUBqCrE6KRjYWGRmpqq1Lhv376CgoLU1FQbG5sJqQpAdSFGJ4sLFy5ERUXFxcXFxMSsXbtWqffrr78uKCgY3g4AT4QLniYLqVTa398vlUonuhAArsF76jlCKBSKRCJXV1el9nv37jU3N9vb2+vo6IxxeH19vUgkcnZ2fp41AnATYhQAgBW8qAcAYAUxCgDACmIUAIAVxCgAACuIUQAAVhCjAACsIEYBAFhBjAIAsIIYBQBgBTEKAMAKYhQAgBXEKAAAK4hRAABWEKMAAKwgRgEAWMGXiHBNTk5ORkbGrVu3pFKptbX1H/7wB09PT0VvT0/P22+/PeKBr7/+uqOjY1JSkpaWVkRExIuqF0Dl4WObuaO3tzcsLCwzM1MgELi6umpqal67du3hw4exsbH/+Mc/mDFisdjHx0fpwKampubm5vPnzy9btszR0ZHP51+5cuWFlw+gqnA2yh3bt2/PzMwMCwtLSkoSCARE1N/f/+abb8rlcplMxnx/vZ6eXlFRkdKBHh4eampq3t7eRJSfn8/j8V547QAqDGejHHH37t05c+ZYWVmVlpZqaWmN/8DLly97enomJibu3LmTiAYHB3k8noYG/r4CjBe2mDgiJydHKpWGh4ePmKE9PT35+fl1dXXDu/bt2ycQCKKiopi7np6ey5Yte761AnALYpQjKisricja2nrEXqFQuHTp0r179yq119fXZ2ZmRkZG6uvrMy3BwcErV658rqUCcAxeu3FEV1cXEZmZmY3YO2PGjLffftvDw0Opfd++fUS0bds2RUt8fPxzqxGAmxCjHDFlyhQiEolEI/aampoyiTnUw4cPk5OTQ0JC5s6dq2jMysrS0tJavnz58ysVgGMQoxxhbm5ORA0NDeM/5N///vfwy0h37NjB5/MRowDjh516jrh69aq7u3twcHBGRsZ4xg8MDMyePXvOnDn5+flD22/fvq2urs6EMgCMB7aYOMLNzc3Z2TkrK+vUqVNKXYODgxKJpKmp6dGjR4rGL7/8srm5eceOHUqDZ8+ejQwF+EVwNsodFRUV3t7eDx8+DAsLCwgI4PP5QqEwLS3N29t748aNCxYsiI6OPnToEBHJ5XJ7e/ve3l6hUKiurj50ktWrV+vq6qakpEzQgwBQPVgb5Q5bW9vCwsKEhISMjAwmB6dMmeLm5ubl5aWvr7969eoFCxYwI7OzsysqKj755BOlDCUiY2NjHR2dF106gCrD2SgHDQ4Otre383g8ExOTia4FgPsQowAArGCLCQCAFcQoAAAriFEAAFYQowAArCBGAQBYQYwCALCCGAUAYAUxCgDACmIUAIAVxCgAACuIUQAAVhCjAACsIEYBAFhBjAIAsIIY5ab+/v7e3t6xx0gkkoGBgRdTDwCHIUY5pbm5edu2bWZmZjo6Onw+39TUNC4urru7W2lYdnb24sWLdXV1dXR0LCwsdu/e3d/fz3Rt3brV19f3hRcOoMLwJSLcIRQKvb29m5qagoKCYmNj1dXV8/Pz9+7dm5eXl5+fr6b2/38yk5OTIyMjfX19//Wvf2lqap4+fXrXrl2VlZUnTpwgIgMDg2nTpk3o4wBQMfj0e+5wc3MrKCg4duxYeHi4ojEjI4PP5/v5+Sla3njjjUePHh07dozH4xGRTCZzdna+efNmR0eHvr7+BNQNoOIQoxxRUFDg5uYWEBCQnZ39S48NCgo6e/ZsS0uLsbFxTU1NZ2fn4sWLn0eRAJyEtVGOyM3NJaJVq1aN2Nvc3BwXF5eenj68q7a2Njc318XFxdjYmIiioqJWrlz5XEsF4BjEKEc0NDQQkaWl5Yi9ra2tiYmJOTk5ihahULhz587169c7OTk5OTmdPn2aaf/444/T0tKef70A3IEtJo5gttoNDAxG7J03b96lS5dMTU0VLR0dHRcvXuzs7Ozv79fW1lbs5js6Or6AagG4BGejHCEQCIioqalpxN6pU6d6e3tbW1srWtzc3IqKim7dulVaWlpRUeHj48Mk6d///vdXX331xdQMwA2IUY6wsbEholu3bv3SA+3t7V9//fWWlpbvv/+eiOrq6srLy599fQDchRjliOXLl6upqR0/flwikYw9UiaTKbXo6ekRkVgsJqL//ve/BQUFz6lIAE5CjHKEpaXlK6+8UlZWtmXLFsVbkojo/v37QqGwo6Pjs88+y8/Pl8vlmzdv3rFjhyJte3t7v/jiCx6P5+rqSkTt7e3MbhUAjJccuEIsFvv4+BCRsbFxaGhoRETE0qVLNTQ0NmzYUFJSQkTR0dFyuTwhIYHH482bNy8iIuKPf/yjmZkZEb3zzjvMJD4+PsbGxhP6OABUDC6/5xSZTJaampqeni4UCtXV1WfNmuXh4REeHq6mppaenj5//nwPDw8iysvLO3LkSFlZmUQisba23rRpk+KC0wsXLrS0tGzatGlCHweAKkGMAgCwgrVRAABWEKMAAKwgRgEAWEGMAgCwghgFAGAFMQoAwApiFACAFcQoAAAriFEAAFYQowAArCBGAQBYQYwCALCCGAUAYAUxCgDACmIUAIAVfMEy18hksps3b9bV1clksnnz5jk5OfF4vGcyc19f37Vr11paWnR0dBYsWDBr1qwRh5WWltbV1U2dOtXOzm7oVzqPobW1taioqLu728DAwMPDY+rUqUoD2tra7t69q9To6OiooaFBROXl5b/97W/V1P7/nKC6urqxsXHp0qXa2tpDx9+7d6+mpmbhwoWGhobDayguLpZKpS4uLmM8XUVFRRoaGk5OTkrtFRUVYrHY3d19xKMqKytramqIyNra2tbWdrTJQYVN9Mfvw7OUlZU1e/bsof++dnZ2RUVFIw7Oz89vamoaz7RSqfT999/n8/mKaXk83tq1a0Ui0dBhNTU1ixYtUoxRU1OLiYmRSCRjzNzS0hISEjI0uXR1dffs2aM07MMPP1T6vdXU1GRmzs7OJqLk5GTF4KioKCK6e/eu0iQHDhwgopycHKWHlpmZ6efnx0zb3d09RrWmpqYODg7D2/38/DQ0NIa337x5c+gTQkQxMTFjzA8qCmej3PHNN9/8/ve/nz59+n/+8x9fX19NTc28vLz4+PjXXnvt0qVL+fn5ipG+vr5SqdTLy2vDhg3Hjx9/4swxMTGHDx92c3NLSEiws7MTi8VpaWkfffSRlZWVIuC6u7t9fHwGBwdPnjzp5eXV0dGxffv2Q4cOWVtbv/XWWxUVFd3d3cxIMzOz3/zmN0TU1dXl5eVVW1u7efPm1157zcTE5N69e/v374+Pj/f09PT09FQU0NzcTEQ//fSTpqYm06KhoaGurk5E7u7uf/nLX5YtW/YUz5hUKnVwcKiurnZ3d7exsamqqnqKSUbT0NDg7e0tl8uTkpJWrFihoaFRXFxsYWHxDH8E/FpMdI7Ds9Hf329sbKyjo1NRUTG0vaGhoa2traGhYcMQDx48kMvlaWlpVVVVT5yZyd9Fixb19fUNbS8pKZFKpYq7HR0dsbGxV65cUbS0tLSoqakxUbJlyxb//zl69CgzIC4ujoji4uKGTiuTya5fv65UQ0hIiKGh4TieBrn8F56NXrhwobW1VS6XM18/9QzPRtevX09EFy9eHGfZoLoQoxyRkZFBz+c1I5NKZ8+efYpjZ86caW5uPlqvqampQCAYO7kY7u7udnZ2I3Y1NzdHRkbeunVLqeBxxqjCs43Rrq4ubW1tFxeXMWYDzsBOPUcUFhYS0Wi7HGxcu3ZtjJmTkpLs7Ozy8vKGdz1+/Li9vX3GjBkjHtjY2NjU1OTg4DB0yXWoDRs22NvbM7ebm5v19fWzsrISExMPHDhw48YNxbCampqjR48y3yA9TmVlZXPnzv3b3/42/kPG6dNPP7Wzs7ty5UppaenAwMDChQvFYvHJkycTExNTUlIePXr0zH8i/BpgbZQjWltbiWj8S2+PHz/29fUNCQl56623njizQCAwMDAYsbezs/POnTu9vb3Du1JTUwcHB4ODg0c88MGDB0Rkbm4+2s9tbm6+c+cOc7ujo+POnTu1tbW6urr3798fHBzcvHlzUlISj8f73e9+19bWZmRkpHT4okWLFHv3DEWRUqlULBb39/eP9qMZ+/fvT09P/+GHHxQLskRUXV09Z84cpZEtLS3MDebZ6Ovr6+joIKLa2lpLS8vOzk4tLa2BgYFp06alp6cvWbKEiLZs2dLZ2ZmSkjJ2DaASEKOcwuy6jJNMJpNKpSynfffdd999993h7Q8ePNi5c6epqenWrVtHPFAul48986VLlxS3Kyoq+vr6rK2tiaitrS08PPzw4cPOzs7R0dFEpKWlNfzwdevWCQSCoS1FRUXfffcdETk5ObW1tY32cxWkUimz+Du0UU9Pb9WqVUojz5w509TURETx8fHx8fFElJycTERVVVUHDx5cs2aNtrZ2Tk7OunXrQkND6+vrtbS0pFKpTCZ7Yg2gGiZ6VQGeDSbLUlJSnvnMzKWOjx49Gv8hIpHIxcWFz+fn5+ePNub27dtE5OXl9RQlMWd/zLG5ubk8Hu/UqVOK3l/D2ujXX39NRB999NHQRuYvCjaduAdroxyxcOFCIhq6aDhRMzc0NPj4+JSVlSlewI7IwsLCyMiooqJicHDwl5ZkbGw8derU9vZ2IrKystq0aZODg8MvneS5srS0JCKltwwwjczrfeASxChHrFixQk9P7/PPP2fWHMcjMzNTKBQ+cVhoaCgRJSYmyn/+8nZEly5dcnV1bW1tvXjxouKa9hHxeLx169Z1dHQcPnz4idOKRKKhd2tqarq7u+fOnUtEM2fOPHbsmJWV1RMneZEcHBz09PTOnTs3dNnk6tWrRPRrKxXYQ4xyhEAg+OCDDzo6Onx9ffPy8ph1t87OziNHjnz77bfDx3d3d69evXo8u9WBgYEBAQHnzp3buHGjYs+nrq5u165d9+/fT01NDQ4OZt4o9eGHH/r7+xsbG1+4cGH+/Pmi/xltETAhIWHatGnbt2/fv3+/WCwmIolEcvny5ffff5+IYmNjmVXI9PR0S0vLTz75hBlTWVm5ceNGHo+3bds2IhKLxR988AGzwzZOtbW1fn5+n376KRENDAwwRQ4MDDDPmEgk6uvrG/9sQ3311VfBwcElJSVTpkx59dVX79y58+abb3Z2dkokko8//vj06dMeHh6Ojo5PNzn8ek30qgI8S/v27dPV1SUiPp/PXGnE4/HeeOONEQfn5eU1NjaOZ9qurq7Q0FDmLZvTp09ntm50dHQyMzOZIM7Kyjp58uRov2N1dXWjzVxWVsasvWpqapqYmDB74qampu3t7a6urszv571797y8vJjHwrzdXldXNykpiZnhKd4MylzCtXXrVrlc/tlnnw0vOD4+fsRqn7g2mpCQQP9bfu3p6Vm+fDlTNvPufgcHh4aGhvE84aBaePJxvFIDFdLW1padnV1fX8/j8SwtLRcvXjx//vxnMnNVVdX333/f0tKir69vbm7u7+9vaGjY29vb3d2tr6/f0NAwdG99qPXr1+vp6Y02rVQqzc3NLSwsFIvFJiYmL730ko+Pj4aGhkgkkkgk06dPZ4YVFhZevnxZJBJZWloGBQUp2uVyeUlJiaOjo2LTv7CwUCgUvvzyy8xfFIWampri4mIfH58ZM2b09PRoaWlpa2vX19cXFxcrlWRjY2NnZze81JMnT06ZMuXll19Was/JyWlubo6IiOjp6enp6dHX12cuHpDL5T/++OPVq1clEsmCBQsCAgKYz1IBjkGMAgCwgrVReIKhO+nMhyqN2AUwaSFGYSznz5/n8/mK93o6OzuHhIQwt48fPy4QCCoqKiauOoBfBazUwFgsLCwCAwMVn9AcEBAwc+ZM5vZLL70UGBg42lvmASYPrI0CALCCF/UAAKwgRgEAWEGMAgCwghgFAGAFMQoAwApiFACAlf8DzFNz2WYAAcwAAAB8elRYdHJka2l0UEtMIHJka2l0IDIwMjIuMDMuNQAAeJx7v2/tPQYg4GWAAEYg5oSyGxjZFJqA9H9mRo0OkByjBCObBkREgolNowHIYpFASLLAhFjhQmwwIXa4EAe3CIN4GdQqMIDZBwUODgh2gz2qHDIfrg5ZPRIbu5wYABg0Ej0kB7HEAAAAyHpUWHRNT0wgcmRraXQgMjAyMi4wMy41AAB4nH2RTQ6DIBCF95ziXaANgn8sulA02rRq0qp36L73T0cTWh2kAwnD8M28lyCwxKO6vd74hqqEAOSfbYzBrKWUosOSoKybaw87FqWr2GHqxycM8evak8U4dK4SwUKe5RpHCWzbXE4R5uJOh+tSaKHDXRzXJBKFcXUsEm+t+e2a4Ql5+j16eMzwlKarsKeE4RlNj8N4yvB8692XyRhutt59mZzhdV/tPnG5u++nXHwAdvFy2BVzqowAAACnelRYdFNNSUxFUyByZGtpdCAyMDIyLjAzLjUAAHicZcs9C8IwFIXhv+KocBua73AySRcXxb20UMHNkFJ06483Tca7PJy83IxDBzWJcegOoKu26os3yKqpumqYTvtZUk+xb0iKqi1FUbelKZq2DF1olrDkyFOg2eL4ocqFoeWb03PLK3qR8udaXvdlffzS670JBcWjhubRwvDoYXmUcDwaeB4dAo9h/wNDllteOahfyAAAAABJRU5ErkJggg==", + "image/png": "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", "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -3524,118 +5050,95 @@ "name": "stdout", "output_type": "stream", "text": [ + "CREATE BONDS: Number of atoms in ligand object and RDKit MOL are equal: 1 1\n", + "idx=0 Cl Number of bonds : 0\n", + "NO BONDS CREATED\n", + "CELL.CREATE_BONDS: Creating Metal-Metal Bonds for molecule H9-C10-Cl-Fe-Hg\n", + "CELL.CREATE_BONDS: Metals: [------------- Cell2mol METAL Object --------------\n", + " Version = 0.1\n", + " Type = atom\n", + " Sub-Type = metal\n", + " Label = Hg\n", + " Atomic Number = 80\n", + " Index in Molecule = 0\n", + " Metal Adjacency (mconnec) = 2\n", + " Regular Adjacencies (connec) = 2\n", + " Atom Charge = 2.0\n", + " Coordination Sphere Formula = C-Cl\n", + " Possible Charges = [2]\n", + "----------------------------------------------------\n", + ", ------------- Cell2mol METAL Object --------------\n", + " Version = 0.1\n", + " Type = atom\n", + " Sub-Type = metal\n", + " Label = Fe\n", + " Atomic Number = 26\n", + " Index in Molecule = 1\n", + " Metal Adjacency (mconnec) = 10\n", + " Regular Adjacencies (connec) = 10\n", + " Atom Charge = 3.0\n", + " Coordination Sphere Formula = C10\n", + " Possible Charges = [2, 3, 0]\n", + "----------------------------------------------------\n", + "]\n", "0 C\n", "C H 1.0\n", "0 1\n", - "SINGLE\n", "C C 1.0\n", "0 2\n", - "SINGLE\n", "C C 1.0\n", "0 7\n", - "SINGLE\n", "C Fe 0.5\n", "1 H\n", "H C 1.0\n", "1 0\n", - "SINGLE\n", "2 C\n", "C C 1.0\n", "2 0\n", - "SINGLE\n", "C C 2.0\n", "2 3\n", - "DOUBLE\n", "C Hg 0.5\n", "C Fe 0.5\n", "3 C\n", "C C 2.0\n", "3 2\n", - "DOUBLE\n", "C H 1.0\n", "3 4\n", - "SINGLE\n", "C C 1.0\n", "3 5\n", - "SINGLE\n", "C Fe 0.5\n", "4 H\n", "H C 1.0\n", "4 3\n", - "SINGLE\n", "5 C\n", "C C 1.0\n", "5 3\n", - "SINGLE\n", "C H 1.0\n", "5 6\n", - "SINGLE\n", "C C 2.0\n", "5 7\n", - "DOUBLE\n", "C Fe 0.5\n", "6 H\n", "H C 1.0\n", "6 5\n", - "SINGLE\n", "7 C\n", "C C 1.0\n", "7 0\n", - "SINGLE\n", "C C 2.0\n", "7 5\n", - "DOUBLE\n", "C H 1.0\n", "7 8\n", - "SINGLE\n", "C Fe 0.5\n", "8 H\n", "H C 1.0\n", - "8 7\n", - "SINGLE\n", - "[H]C1=[C-][C-]([H])C([H])=C1[H]\n" + "8 7\n" ] }, { "data": { "image/png": "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", "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "C -1.0\n", - "BONDS [('C', 'H', 1.0, 0.93), ('C', 'C', 1.0, 1.421), ('C', 'C', 1.0, 1.426), ('C', 'Fe', 0.5, 2.077)]\n", - "H 0.0\n", - "BONDS [('H', 'C', 1.0, 0.93)]\n", - "C -1.0\n", - "BONDS [('C', 'C', 1.0, 1.421), ('C', 'C', 2.0, 1.386), ('C', 'Hg', 0.5, 2.042), ('C', 'Fe', 0.5, 2.084)]\n", - "C 0.0\n", - "BONDS [('C', 'C', 2.0, 1.386), ('C', 'H', 1.0, 0.93), ('C', 'C', 1.0, 1.438), ('C', 'Fe', 0.5, 2.051)]\n", - "H 0.0\n", - "BONDS [('H', 'C', 1.0, 0.93)]\n", - "C 0.0\n", - "BONDS [('C', 'C', 1.0, 1.438), ('C', 'H', 1.0, 0.93), ('C', 'C', 2.0, 1.394), ('C', 'Fe', 0.5, 2.081)]\n", - "H 0.0\n", - "BONDS [('H', 'C', 1.0, 0.93)]\n", - "C 0.0\n", - "BONDS [('C', 'C', 1.0, 1.426), ('C', 'C', 2.0, 1.394), ('C', 'H', 1.0, 0.931), ('C', 'Fe', 0.5, 2.068)]\n", - "H 0.0\n", - "BONDS [('H', 'C', 1.0, 0.931)]\n", - "H5-C5 -1 C.C.C.C.[C-].[H].[H].[H].[H].[H]\n" - ] - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -3648,86 +5151,65 @@ "0 H\n", "H C 1.0\n", "0 1\n", - "SINGLE\n", "1 C\n", "C H 1.0\n", "1 0\n", - "SINGLE\n", "C C 1.0\n", "1 2\n", - "SINGLE\n", "C C 1.0\n", "1 8\n", - "SINGLE\n", "C Fe 0.5\n", "2 C\n", "C C 1.0\n", "2 1\n", - "SINGLE\n", "C H 1.0\n", "2 3\n", - "SINGLE\n", "C C 2.0\n", "2 4\n", - "DOUBLE\n", "C Fe 0.5\n", "3 H\n", "H C 1.0\n", "3 2\n", - "SINGLE\n", "4 C\n", "C C 2.0\n", "4 2\n", - "DOUBLE\n", "C H 1.0\n", "4 5\n", - "SINGLE\n", "C C 1.0\n", "4 6\n", - "SINGLE\n", "C Fe 0.5\n", "5 H\n", "H C 1.0\n", "5 4\n", - "SINGLE\n", "6 C\n", "C C 1.0\n", "6 4\n", - "SINGLE\n", "C H 1.0\n", "6 7\n", - "SINGLE\n", "C C 2.0\n", "6 8\n", - "DOUBLE\n", "C Fe 0.5\n", "7 H\n", "H C 1.0\n", "7 6\n", - "SINGLE\n", "8 C\n", "C C 1.0\n", "8 1\n", - "SINGLE\n", "C C 2.0\n", "8 6\n", - "DOUBLE\n", "C H 1.0\n", "8 9\n", - "SINGLE\n", "C Fe 0.5\n", "9 H\n", "H C 1.0\n", - "9 8\n", - "SINGLE\n", - "[H]C1=C([H])[C-]([H])C([H])=C1[H]\n" + "9 8\n" ] }, { "data": { "image/png": "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", "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -3737,186 +5219,80 @@ "name": "stdout", "output_type": "stream", "text": [ - "H 0.0\n", - "BONDS [('H', 'C', 1.0, 0.929)]\n", - "C -1.0\n", - "BONDS [('C', 'H', 1.0, 0.929), ('C', 'C', 1.0, 1.373), ('C', 'C', 1.0, 1.379), ('C', 'Fe', 0.5, 2.062)]\n", - "C 0.0\n", - "BONDS [('C', 'C', 1.0, 1.373), ('C', 'H', 1.0, 0.933), ('C', 'C', 2.0, 1.475), ('C', 'Fe', 0.5, 2.045)]\n", - "H 0.0\n", - "BONDS [('H', 'C', 1.0, 0.933)]\n", - "C 0.0\n", - "BONDS [('C', 'C', 2.0, 1.475), ('C', 'H', 1.0, 0.926), ('C', 'C', 1.0, 1.393), ('C', 'Fe', 0.5, 2.084)]\n", - "H 0.0\n", - "BONDS [('H', 'C', 1.0, 0.926)]\n", - "C 0.0\n", - "BONDS [('C', 'C', 1.0, 1.393), ('C', 'H', 1.0, 0.93), ('C', 'C', 2.0, 1.382), ('C', 'Fe', 0.5, 2.104)]\n", - "H 0.0\n", - "BONDS [('H', 'C', 1.0, 0.93)]\n", - "C 0.0\n", - "BONDS [('C', 'C', 1.0, 1.379), ('C', 'C', 2.0, 1.382), ('C', 'H', 1.0, 0.931), ('C', 'Fe', 0.5, 2.065)]\n", - "H 0.0\n", - "BONDS [('H', 'C', 1.0, 0.931)]\n" + "0 Cl\n", + "Cl Hg 0.5\n" ] + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" } ], "source": [ - "for mol in newcell.moleclist:\n", - " if mol.iscomplex:\n", - " for lig in mol.ligands:\n", - " if lig.formula != \"Cl\":\n", - " print(lig.formula, lig.totcharge, lig.smiles)\n", - " display(mol_with_atom_index(lig.rdkit_obj))\n", - "\n", - " smiles, obj = correct_smiles_ligand(lig)\n", - " print(smiles)\n", - " display(mol_with_atom_index(obj))\n", - " for atom in lig.atoms:\n", - " print(atom.label, atom.charge)\n", - " print(\"BONDS\", [(bd.atom1.label, bd.atom2.label, bd.order, round(bd.distance,3)) for bd in atom.bonds])\n", - " # for met in mol.metals:\n", - " # print(met.label, met.charge)\n" + "newcell.create_bonds(debug=debug)" ] }, { "cell_type": "code", - "execution_count": 28, - "id": "c9ab3401", + "execution_count": 25, + "id": "887ac5a7", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "None\n", - "None\n", - "None\n" + "Cl6-Hg2\n", + "mol.smiles=['[Cl-]', '[Cl-]', '[Cl-]', '[Cl-]', '[Cl-]', '[Cl-]']\n", + "mol.smiles_with_H=['[Cl-]', '[Cl-]', '[Cl-]', '[Cl-]', '[Cl-]', '[Cl-]']\n", + "[Cl-]\n" ] - } - ], - "source": [ - "for mol in newcell.moleclist:\n", - " print(mol.smiles)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "48a7df8d", - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "57b8c9e0", - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "6d500255", - "metadata": {}, - "outputs": [], - "source": [ - "def create_bonds_spicie (specie, debug: int=0):\n", - " from cell2mol.classes import bond\n", - " if not hasattr(specie,\"rdkit_obj\"): specie.get_parent(\"cell\").assign_charges()\n", - " n_atoms = specie.natoms # e.g. 9 \n", - " n_atoms_rdkit = specie.rdkit_obj.GetNumAtoms() # e.g.10 \n", - " \n", - " if n_atoms == n_atoms_rdkit:\n", - " if debug >= 1: print(f\"CREATE BONDS: Number of atoms in {specie.subtype} object and RDKit MOL are equal: {n_atoms} {n_atoms_rdkit}\")\n", - " for idx, rdkit_atom in enumerate(specie.rdkit_obj.GetAtoms()): # e.g. idx 0, 1, 2, 3, 4, 5, 6, 7, 8\n", - " if debug >= 2: print(f\"{idx=}\", rdkit_atom.GetSymbol(), \"Number of bonds :\", len(rdkit_atom.GetBonds()))\n", - " for b in rdkit_atom.GetBonds():\n", - " bond_startatom = b.GetBeginAtomIdx()\n", - " bond_endatom = b.GetEndAtomIdx()\n", - " bond_order = b.GetBondTypeAsDouble()\n", - " if debug >= 2: \n", - " print(specie.atoms[bond_startatom].label, specie.rdkit_obj.GetAtomWithIdx(bond_startatom).GetSymbol(), \":\", bond_startatom, \",\", \n", - " specie.atoms[bond_endatom].label, specie.rdkit_obj.GetAtomWithIdx(bond_endatom).GetSymbol(), \":\", bond_endatom, \",\", bond_order) \n", - " if specie.atoms[bond_endatom].label != specie.rdkit_obj.GetAtomWithIdx(bond_endatom).GetSymbol():\n", - " if debug >= 1: print(\"Error with Bond EndAtom\", specie.atoms[bond_endatom].label, specie.rdkit_obj.GetAtomWithIdx(bond_endatom).GetSymbol())\n", - " else:\n", - " if bond_endatom == idx:\n", - " start = bond_endatom\n", - " end = bond_startatom\n", - " elif bond_startatom == idx:\n", - " start = bond_startatom\n", - " end = bond_endatom \n", - " # define new bond object\n", - " if debug >=1: print(\"BOND CREATED\", idx, start, end, bond_order, specie.atoms[start].label, specie.atoms[end].label)\n", - " new_bond = bond(specie.atoms[start], specie.atoms[end], bond_order)\n", - " specie.atoms[idx].add_bond(new_bond)\n", - " if debug >=1: print(\"BONDS\", [(bd.atom1.label, bd.atom2.label, bd.order, round(bd.distance,3)) for bd in specie.atoms[idx].bonds])\n", - " else:\n", - " if debug >= 1: print(f\"CREATE BONDS: Number of atoms in {specie.subtype} object and RDKit MOL are different: {n_atoms} {n_atoms_rdkit}\")\n", - " if debug >= 2: print([(i, atom.label) for i, atom in enumerate(specie.atoms)])\n", - " if debug >= 2: print([(i, atom.GetSymbol()) for i, atom in enumerate(specie.rdkit_obj.GetAtoms())]) \n", - " non_bonded_atoms = list(range(0, n_atoms_rdkit))[n_atoms:]\n", - " print(\"NON_BONDED_ATOMS\", non_bonded_atoms)\n", - " for idx, rdkit_atom in enumerate(specie.rdkit_obj.GetAtoms()): # e.g. idx 0, 1, 2, 3, 4, 5, 6, 7, 8, 9\n", - " if debug >= 2: print(f\"{idx=}\", rdkit_atom.GetSymbol(), \"Number of bonds :\", len(rdkit_atom.GetBonds()))\n", - " for b in rdkit_atom.GetBonds():\n", - " bond_startatom = b.GetBeginAtomIdx()\n", - " bond_endatom = b.GetEndAtomIdx()\n", - " bond_order = b.GetBondTypeAsDouble()\n", - " if debug >= 2: \n", - " print(specie.rdkit_obj.GetAtomWithIdx(bond_startatom).GetSymbol(), \":\", bond_startatom, \",\", \n", - " specie.rdkit_obj.GetAtomWithIdx(bond_endatom).GetSymbol(), \":\", bond_endatom, \",\", bond_order) \n", - " if bond_startatom in non_bonded_atoms or bond_endatom in non_bonded_atoms:\n", - " if debug >= 1: print(f\"NO BOND CREATED {bond_startatom=} or {bond_endatom=} is not in the specie.atoms. It belongs to {non_bonded_atoms=}.\")\n", - " \n", - " else :\n", - " if bond_endatom == idx:\n", - " start = bond_endatom\n", - " end = bond_startatom\n", - " elif bond_startatom == idx:\n", - " start = bond_startatom\n", - " end = bond_endatom \n", - " # define new bond object\n", - " if debug >=1: print(\"BOND CREATED\", idx, start, end, bond_order, specie.atoms[start].label, specie.atoms[end].label)\n", - " new_bond = bond(specie.atoms[start], specie.atoms[end], bond_order)\n", - " specie.atoms[idx].add_bond(new_bond)\n", - " if idx not in non_bonded_atoms:\n", - " if debug >=1: print(\"BONDS\", [(bd.atom1.label, bd.atom2.label, bd.order, round(bd.distance,3)) for bd in specie.atoms[idx].bonds])\n", - " else :\n", - " if debug >=1: print(\"NO BONDS\")" - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "id": "f5dfc5a5", - "metadata": {}, - "outputs": [ + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAcIAAACWCAIAAADCEh9HAAAABmJLR0QA/wD/AP+gvaeTAAAGD0lEQVR4nO3dS2hc9R7A8TNJJgnJTaqlE29vX9BbW8SNL+pOCEjEWtSKSkG3LkQQarc+UERF0I3gA125qlSwbgRRiRQEDVWRtlykmkpyqb01TdI278zk3MXIsVQT2/4m56Tl81n9/2dOJr/A8OWQw2FKaZomAFyupqIHALiyyShAiIwChMgoQIiMAoTIKECIjAKEyChAiIwChMgoQIiMAoTIKECIjAKEyChAiIwChMgoQIiMAoTIKECIjAKEyChAiIwChMgoQIiMAoTIKECIjAKEyChAiIwChMgoQIiMAoTIKECIjAKEyChAiIwChMgoQIiMAoTIKECIjAKEyChAiIwChMgoQIiMAoTIKECIjAKEyChAiIwChMgoQIiMAoTIKECIjAKEyChAiIwChMgoQIiMAoTIKECIjAKEyChAiIwChMgoQEhL0QPAxTo4cXBobihJklJSemT1I0WPA78rpWla9AxwUXYN7jowfqC+Tm/xuWWlcDVKkU5XT3858eWxmWMjtZHx6nhnc2elpbK5dXNfd9+aljVFTwcXRUYpwEKysH9s/+unXj80eWghWfjzCc2l5jv+ccfenr33rLon//HgkrjFRN4OTx++9T+37j6+e2By4C8bmiRJLa31n+vf+fPOh48/fK52LucJ4ZK4GiVX/ef6Hxh8YLw2fv7BdeV1W9q2VFoqU+nU0NzQ0emjafL7vz73j+0/Pnv8i+u/6G7uLmJe+HsySn6OTB/Z8fOOmYWZ+rZ+w31Pz56bO24uJaXstOG54fdOv/fq/16tn3lo6tC7I+/uvW7vX77n+6Pvf3Lmk8V+4xsb3qi0VBr6R8CFZJSczKazj/7yaNbQjqaOjzZ/1Nfd9+czN7RueH7t87uv3d13rO/E/IkX//XiU9c9tdjbfjf13QdjHyz26ivrXqkkMsryklFy8vZvb/8w/UN93ZQ0ffzvj+/sunOJ829ov+Hz6z//afanpe8y3bfqvvXl9Yu9urp59eVNCxdPRslDmqRvjbyVbR+vPL50Q+u2tW/b1r5t6XN6u3p7u3qj80GAO/Xk4eDEwR9nfqyvy6Xys2ufLXYeaCAZJQ/95/qz9d3dd/e09BQ4DDSWjJKHgcmBbH1X910FTgINJ6Pk4fvp77P1TR03FTgJNJyMkoeR6ki23tq2tcBJoOFklGU3sTBRTavZ1vNIXGVklGV3tnY2W7eV2lpLrQUOAw0noyy7cqmcratJNXteHq4OMsqyu6b5mmxdS2uTC5MFDgMNJ6Msu3Kp3NHUkW3Pv90EVwEZJQ+bWjdl68PThwucBBpORsnD9s7t2frbqW8LnAQaTkbJw/aOPzL64diHBU4CDSej5GHnqp3Npeb6+ujM0fOfDYUrnYySh42tG3d078i2T/73ycW+hQmuODJKTvb07Mm+KeSbyW+eOfFMsfNAo8goOent6n1szWPZ9qWTLz0x/MTEwsQSP3Kqeuq5X58bq40t/3Rw+WSU/Ly2/rUb22/Mtm/+9ubWo1tfPvly9uUidcNzw/vG9j04+OCmI5te+PWFfaP7cp8ULkEpTT2ZR35Gq6P3Dt771cRXFxwvl8qVlkp7U/tIdeT8Z/CTJLm98/avt32dJMmuwV0Hxg/UD6a3+NyyUrgaJVerW1Z/tuWzp//5dGdT5/nH59P5E/MnBmcHL2hoW6lte8d296NYyVyNUoyT8yffGXnn07OfDkwN1NLaBa92NXfd1nHb/avuf+jah9aW19YPuhplZZJRCnamdmZobuhU9dRodbS1qbW7qXtj68bNbZuz2/qwwskoQIj/jQKEyChAiIwChMgoQIiMAoTIKECIjAKEyChAiIwChMgoQIiMAoTIKECIjAKEyChAiIwChMgoQIiMAoTIKECIjAKEyChAiIwChMgoQIiMAoTIKECIjAKEyChAiIwChMgoQIiMAoTIKECIjAKEyChAiIwChMgoQIiMAoTIKECIjAKEyChAiIwChMgoQIiMAoTIKECIjAKEyChAiIwChMgoQIiMAoTIKECIjAKEyChAiIwChMgoQIiMAoTIKECIjAKEyChAiIwChMgoQMj/Ae92YRAnZ8RAAAAAQ3pUWHRyZGtpdFBLTCByZGtpdCAyMDIyLjAzLjUAAHice79v7T0GIOBlgABGKAaBBkZBBSYg/Z9bhEFcDEkCwQABMQAeJAVf7p5QigAAAIV6VFh0TU9MIHJka2l0IDIwMjIuMDMuNQAAeJzjUgCBIBfvzBIFODBy4eJSUDDAgywtLRXCjA0MDLh8FUAMBSdXd08/BecQRyeYiLN/qF9IsIIhUD0Yoqp0DPH3hYkYKjjnKBjoGYABNoaCs4e7ra6hQpijD5CCaXP1c0ExBsSHOQDI5gIAiwMq33CRhHAAAAAuelRYdFNNSUxFUyByZGtpdCAyMDIyLjAzLjUAAHici3bO0Y1VqNEw0DHQ0awBAB02A7ay0haSAAAAAElFTkSuQmCC", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, { "name": "stdout", "output_type": "stream", "text": [ - "Hg 2.0\n", - "Hg 2.0\n" + "[Cl-]\n" ] }, { "data": { - "image/png": "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", + "image/png": "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", "text/plain": [ - "" + "" ] }, "metadata": {}, "output_type": "display_data" }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[Cl-]\n" + ] + }, { "data": { - "image/png": "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", + "image/png": "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", "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -3926,93 +5302,31 @@ "name": "stdout", "output_type": "stream", "text": [ - "CREATE BONDS: Number of atoms in ligand object and RDKit MOL are different: 10 11\n", - "[(0, 'C'), (1, 'H'), (2, 'C'), (3, 'H'), (4, 'C'), (5, 'H'), (6, 'C'), (7, 'H'), (8, 'C'), (9, 'H')]\n", - "[(0, 'C'), (1, 'H'), (2, 'C'), (3, 'H'), (4, 'C'), (5, 'H'), (6, 'C'), (7, 'H'), (8, 'C'), (9, 'H'), (10, 'H')]\n", - "NON_BONDED_ATOMS [10]\n", - "idx=0 C Number of bonds : 4\n", - "C : 0 , H : 1 , 1.0\n", - "BOND CREATED 0 0 1 1.0 C H\n", - "C : 0 , C : 2 , 1.0\n", - "BOND CREATED 0 0 2 1.0 C C\n", - "C : 0 , C : 8 , 1.0\n", - "BOND CREATED 0 0 8 1.0 C C\n", - "C : 0 , H : 10 , 1.0\n", - "NO BOND CREATED bond_startatom=0 or bond_endatom=10 is not in the specie.atoms. It belongs to non_bonded_atoms=[10].\n", - "BONDS [('C', 'H', 1.0, 0.931), ('C', 'C', 1.0, 1.379), ('C', 'C', 1.0, 1.382)]\n", - "idx=1 H Number of bonds : 1\n", - "C : 0 , H : 1 , 1.0\n", - "BOND CREATED 1 1 0 1.0 H C\n", - "BONDS [('H', 'C', 1.0, 0.931)]\n", - "idx=2 C Number of bonds : 3\n", - "C : 0 , C : 2 , 1.0\n", - "BOND CREATED 2 2 0 1.0 C C\n", - "C : 2 , H : 3 , 1.0\n", - "BOND CREATED 2 2 3 1.0 C H\n", - "C : 2 , C : 4 , 2.0\n", - "BOND CREATED 2 2 4 2.0 C C\n", - "BONDS [('C', 'C', 1.0, 1.379), ('C', 'H', 1.0, 0.929), ('C', 'C', 2.0, 1.373)]\n", - "idx=3 H Number of bonds : 1\n", - "C : 2 , H : 3 , 1.0\n", - "BOND CREATED 3 3 2 1.0 H C\n", - "BONDS [('H', 'C', 1.0, 0.929)]\n", - "idx=4 C Number of bonds : 3\n", - "C : 2 , C : 4 , 2.0\n", - "BOND CREATED 4 4 2 2.0 C C\n", - "C : 4 , H : 5 , 1.0\n", - "BOND CREATED 4 4 5 1.0 C H\n", - "C : 4 , C : 6 , 1.0\n", - "BOND CREATED 4 4 6 1.0 C C\n", - "BONDS [('C', 'C', 2.0, 1.373), ('C', 'H', 1.0, 0.933), ('C', 'C', 1.0, 1.475)]\n", - "idx=5 H Number of bonds : 1\n", - "C : 4 , H : 5 , 1.0\n", - "BOND CREATED 5 5 4 1.0 H C\n", - "BONDS [('H', 'C', 1.0, 0.933)]\n", - "idx=6 C Number of bonds : 3\n", - "C : 4 , C : 6 , 1.0\n", - "BOND CREATED 6 6 4 1.0 C C\n", - "C : 6 , H : 7 , 1.0\n", - "BOND CREATED 6 6 7 1.0 C H\n", - "C : 6 , C : 8 , 2.0\n", - "BOND CREATED 6 6 8 2.0 C C\n", - "BONDS [('C', 'C', 1.0, 1.475), ('C', 'H', 1.0, 0.926), ('C', 'C', 2.0, 1.393)]\n", - "idx=7 H Number of bonds : 1\n", - "C : 6 , H : 7 , 1.0\n", - "BOND CREATED 7 7 6 1.0 H C\n", - "BONDS [('H', 'C', 1.0, 0.926)]\n", - "idx=8 C Number of bonds : 3\n", - "C : 0 , C : 8 , 1.0\n", - "BOND CREATED 8 8 0 1.0 C C\n", - "C : 6 , C : 8 , 2.0\n", - "BOND CREATED 8 8 6 2.0 C C\n", - "C : 8 , H : 9 , 1.0\n", - "BOND CREATED 8 8 9 1.0 C H\n", - "BONDS [('C', 'C', 1.0, 1.382), ('C', 'C', 2.0, 1.393), ('C', 'H', 1.0, 0.93)]\n", - "idx=9 H Number of bonds : 1\n", - "C : 8 , H : 9 , 1.0\n", - "BOND CREATED 9 9 8 1.0 H C\n", - "BONDS [('H', 'C', 1.0, 0.93)]\n", - "idx=10 H Number of bonds : 1\n", - "C : 0 , H : 10 , 1.0\n", - "NO BOND CREATED bond_startatom=0 or bond_endatom=10 is not in the specie.atoms. It belongs to non_bonded_atoms=[10].\n", - "NO BONDS\n" + "[Cl-]\n" ] }, { "data": { - "image/png": "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", + "image/png": "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", "text/plain": [ - "" + "" ] }, "metadata": {}, "output_type": "display_data" }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[Cl-]\n" + ] + }, { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAcIAAACWCAIAAADCEh9HAAAABmJLR0QA/wD/AP+gvaeTAAAgAElEQVR4nO3deVgT19oA8JOQsMmusiuLIKJUcWkFVBQBEdnUulRbQItL3UBUitYqYqlSEURxw1tZ5FYtnxuguOGCtSoogoJgRGRLgLAqGCCQZL4/5t5cGrZAgEng/f3Bk56ZM/PmKb6cOXMWEoZhCAAAQG+RiQ4AAAAkG6RRAAAQCaRRAAAQCaRRAAAQCaRRAAAQCYXoAAAQOy0tLXl5eaqqqqNHjxY4RKfTa2pqxo4dKycn11l1Fov19u1bhNDw4cP19fX7NVQgDqA1CoCg4uJic3PzXbt2tT/0yy+/mJub5+XldVF969at06ZNmzZtWkBAQL/FCMQIpFEA+lJqaurZs2ddXV2JDgQMHEijAPSZpqamNWvWaGpq/vLLL0THAgYO9I0C0Gf27dv3/v37S5cuKSsrEx0LGDjQGgWgN4qLi729vc+dO8cvefXq1ZEjRxwdHb/++msCAwMDD1qjAHQsIyNj69atAoVPnz7FP5SXl0dERKxcudLDwwMhxOFwvLy8qFTqiRMnBjpQQDRIowB0rLCwsG1jE9fY2Ih/GDdu3PXr13V0dPD/DA0NzcjICAkJMTAwGNAogRiAh3oAOrZkyZLadjw9PfGjKioqTk5O5ubmCKH8/PzAwMAvvvjCx8eH0JABMaA1CoCofvjhh6amplGjRu3Zswcvqa+vRwi9fPly586dGzdubD+MHwwmkEYlWHFxcWNjo6mpqUB5U1NTUVGRmpqahoZGhxXLy8tpNBqXyzU0NISHUNGlp6cjhJKTk5OTk9uW5+Tk5OTkLFy4ENLo4AYP9RJs5cqV48ePb21tFSjPysoaP378r7/+2r4KjUazt7fX0dGxsbGxs7MzNDR0cHCApbt7obm5mUajlZeXI4QaGhqwfyoqKkIIeXh4YBhmYWFBcKygn0FrdAh5//79rFmz6uvrd+zY4eTkJC0tnZOTIycnRyKRiA5N8mRlZVlaWq5cufKPP/4gOhZAMEijQ8iWLVuqqqri4+OXLl2Kl1haWhIbkuRSUVGZP38+/ooJDHGQRoeK4uLi27dvW1hY8HMo6IyRkVFTU5OUlFT7QydOnDh69KiMjAyJRLp582ZnV9DT04OukqED+kYHuUOHDm3fvp3L5f71118YhllbWyOEPn78mJOTU1VVRXR04qilpcXNze3hw4dUKrX9UQqFIisrC90goC1ojUq8nTt3ksn/+HNYVlbG/xwVFUWj0Q4ePJifn48QkpKScnFxuXnzJpfLJZFIc+fO/de//gUv69s6duxYUlJSfn6+nZ0dhQL/QED34LdE4p05c0aghMfj8T8fP368oaGBSqXiIxmDg4MdHBxOnz49bNiwu3fvxsTEzJs3Lysra9iwYQMatLhiMplBQUEIobCwMMihQEjwiyLxamtrBR4/nz59amVlhX+2s7PDP+BJISgo6KeffsJLVqxYgRCKjo6+fPkyPjEc+Pv7f/r0yc3NzdHRkehYgMSAvtGhYvjw4QghJSWltoXz589HCGVnZxMTk5h58eJFXFycjIxMSEgI0bEASQJpdKj44osvULuM+fnzZ4QQPNEjhHg83qZNm3g8np+fn7GxMdHhAEkCaXSQYzAYhYWFCCEbGxslJaWLFy/W1NTghzgczu+//44Qmjt3LpEhiofo6Oj09HRdXd2dO3cSHQuQMJBGBzlbW1tDQ8OWlhZ5efnAwMD6+vqZM2ceOnQoOjraxsbm6dOnbm5us2bNIjpMgtXX1+OrioSEhEDbHPQUvGIa5KysrHR1dfERUVu3biWRSEFBQf7+/gihYcOG+fj4BAcH46MgP3z4oK2tLSsrS3DERNi3b195efmMGTOWL19OdCxA8pBgroXkamxs5HA4Am+NEEJcLpfFYsnIyMjIyLSvxeVyCwoKOByOoaEhP2mmpaU5Ozvb2NhcvHhRYBTqoJeXlzdp0iQej5eRkTFp0iSiwwGSB1qjEkxeXr7Dcikpqfa5te3RsWPHChQqKipyudz/+7//GzFixMmTJ/sySrG3bdu21tbWjRs3Qg4FvQOtUfAfjx49cnBwaG5uPnz48Pbt24kOZ4BcvXp18eLFqqqq7969GzFiBNHhAIk0tB7fQBesra1jY2PJZLKfn19cXBzR4QwENpuNdxMHBQVBDgW9BmkU/M+yZcsiIiIwDPPy8rp79y7R4fS7Q4cO5efnT5gwYd26dUTHAiQYPNQDQdu2bTty5IiSklJqauogXk+TTqePGzeOxWI9ePBgzpw5RIcDJBi0RoGg0NBQd3f3+vp6Jyen4uJiosPpLzt27GCxWN988w3kUCAiaI2CDrS0tDg5OaWkpIwfP/7x48eqqqpER9THHj9+bG1tLSsrm5eXp6enR3Q4QLJBaxR0QFpa+vLly5MmTcrNzV24cGFzczPREfUlLpe7efNmDMN++uknyKFAdJBGQceUlJSSk5NHjx796NEjDw+PtmuYSrrTp0+/evXK0NBwx44dRMcCBgN4qAddyc3NnTlzZl1d3YYNGwbHsPza2loTE5Pq6uqrV68uXLiQ6HDAYACtUdCV8ePHX7t2TVZW9tSpU6GhoUSH0wd+/vnn6upqW1tbyKGgr0BrFHQvPj5+xYoVGIbFxsa6u7sTHU7v5eTkTJ48GSGUmZlpZmZGdDhgkIDWKOgef1j+mjVrJHpY/ubNmzkcjre3N+RQ0IegNQqExR+W/+jRI0lcxePixYsrVqzQ0NCg0WjKyspEhwMGD0ijQFgYhnl6esbFxWlraz958kTihgpVVVXt3r3byspq1apVRMcCBhVIo6AHBv2wfAB6AfpGQQ9IyrB8NpsdERExY8YMFRUVKpWqp6e3YcMGOp3e/sxz585Nnz5dUVFx+PDhVlZWFy5cgIYF6ClojYIeKysrs7S0LCkpWbp0qRiull9bW+vo6Jienq6tre3g4KCmpvb27dvbt28rKio+fPhw4sSJ/DPXr19/5syZ2bNnW1paNjY2Xrp0qaysbNeuXQcOHCAwfiB5MAB67vXr1yoqKnJycllZWUTHImjZsmUIoZUrVzY2NvIL09LSFi9eXF1dzS8pKChQVFTcv38/v4TJZKqpqcnKyratCEC3oDUKeik1NZVCocyYMYPoQP4hPz/fxMRET08vLy+v2+35qqur1dTU2ramraysnj59SqfTdXR0+jlSMHjAXkygezweLzMzMzc3t6mpSUtLa/bs2UpKSrNnz257DovFevr0qUBFLS2tCRMmDGCk6Pbt2xiGrVixorMcmp2dXVdX99VXX8nKygqseF9ZWZmTk6Orq6ulpTUgwYLBgujmMBB3d+7cEdgCT15e/tChQwKnPX78uP1vl5+f3wBHu2HDBoRQVFRUZyfY2dkhhN6/f88vodPpT58+jY2NnTBhwrBhw/BEDIDwoDUKunLr1i0XFxcqlRoYGOjm5qakpPT27duDBw/6+/tPnz7d2tqaf2ZFRQVC6MCBA/PmzeMX9t+jcUNDA4PBqKysLC0traysZDAYGhoafn5+9fX1CCFdXd3OKjo4OOjq6rbdOfX48ePBwcEIITKZHBoaiudZAIQHaRR0qrW1de3atVwu9/r16w4ODnihgYGBnZ3d33//3TaHIoQYDAZCyNLScurUqX1y96ampvLy8rKysvY/y8rKPn78KHC+ubm5n5+fjIwMQqiLZf3aL47n5+f33XffFRcXnzt3ztfX9/Xr11FRUX3yFcAQAWkUdOr27dt0Ot3V1ZWfQ3FUKrX9xhvl5eUIIW1tbeGvz2QyKysr6XQ6k8lkMBj4z4qKirKysoqKiq4HpcrLy+vo6Ghqampra+M/x4wZgxDCuzWLioqED0NNTU1NTW3ChAkLFiyorq6Ojo7etGlTX/0xAEMBpFHQKfyV0dy5czs7ITAwMDs7+9SpUyNHjsTTqIKCwsOHDz99+jR27FhTU1P8NDabHRcXhydHfrpkMpmtra1d3F1JSUlHR0dDQwP/qaurq66urquri5coKip2WGv69OkIodu3b69fv74XX3nWrFn37t17/fo1pFEgPEijoFP4tJ8u5s6npqY+ePDg8OHD/DRqaGjIZrPxo7Nnz46Lixs1ahSZTF6/fn37B21ZWVltbW0tLa32P3V0dFRUVHoRs4ODg5aWVmJi4pMnT6ysrLo++c6dO7a2tlJSUvySwsJChBBMcgU9Q/Q7LiC+li9fjhBKTU3t7IR3795lZGSw2WwMw9LT03/77bf09PSKioqsrKy1a9cihCZNmsThcDAM27x5888//xwREXHlypW///67qKioubm5n8K+cuUKiURSVlY+fvx4RUUFhmF0Ov3cuXOenp4Yhq1du9bMzKy0tDQtLY1EIjk5Ob158wbDsMbGxlOnTklJSWloaLBYrH6KDQxKkEZBp9atW4cQSkxM7F11R0dHhNCdO3f6NiphxMfHa2ho4A0FEomEf9DR0amsrGw74CksLAwfXiotLY2fNnr06PT09IEPGEg0eKgHnRo3bhxCKCsry8XFpRfVbWxsbt68+fbtW3t7+74OrRtLly51cnJ68OBBbm4ui8XS09MzMjKytLSkUChJSUlcLldeXh4h5Ovru3LlyuTk5KKiIikpKTMzM0dHRzk5uQGOFkg6SKOgU3j6O3/+/K5duyiUHv+q1NbWIoR618UpOnl5eScnJycnJ4FygdlNGhoaq1evHsC4wCAkXmvzALFiZma2YMGCt2/fbt++ncvltj2EjxJ99erVw4cPm5ubuVyur6/vmzdv+CcwmcyYmBgZGRkYzQ4GPViaBHSlrKxs7ty5NBptwoQJixYt0tTULC0tvX///rt378rLy/EH58LCwurqamtraw6Hs2jRosmTJ1dVVcXFxVVVVYWHh/v4+IgYA4ZhlZWVTCaTTqcLjDO1t7fft2+f8JdqaGjobKQUAL0GD/WgK9ra2s+ePTt06NCFCxeCgoIQQvLy8iYmJj/++CNCaMGCBQYGBoqKivr6+i9fvvz111+vX78eHx8vJSVlaWkZFRXl7Ows5I3q6uo6nLBUXl5eWlra2QhTTU1N4b9LUFBQSEjI1atXuxgJC0AvQGsUCKupqamlpaXbzeAaGhrk5eXbDsZsj8VieXt786ctVVZWdjF9EyE0YsSIthOWtP5LX1+/i+nzAvbv3x8QEODq6pqQkCBkFQCEAWkU9JnQ0NCxY8c6ODhIS0t3fSaHw5GVlW3b36qqqiowAl9VVRX/oKenp6CgIHp4VVVVo0ePZrPZeXl5JiYmol+wT1RXVzOZzNGjR7fvbXj79i2FQjEyMuqw1tu3b9lstomJifB/SEB/IXa8FRg06urqyGSyrKwsPhq/W7GxsYmJic+fP2cwGK2trf0dHu77779HCHl7ew/M7YTxyy+/IISuXbvW/pCKioqRkZFAYUNDw6pVq9r+oZo5c2ZJScmABAs6Bm/qQd949uwZj8ebOnVqt01RnIeHh4uLy7Rp07S1tXsxmqp3fH19SSRSdHT0p0+fBuaOfQvDMBcXl9jYWC8vrwcPHqSmpq5evfrx48eLFi3qulcE9CtIo6BvPHv2DCFkaWlJdCBdMTMzs7GxaWhoOHv2LNGx9MbHjx/V1NQCAwNPnjw5Z84ca2vrqKgoCwuLjIyM9PR0oqMbuiCNgr6RlpaG/rvAkjjDB2AdO3ZMYCSsRFBVVb18+fKePXvaFuK7ubx//56goACkUdAXMAzDW0MWFhZEx9INFxcXExOT4uJiCXpfn5CQ4Ovrm5OT0+FRFouFEILxsASCcaOgD9BotNraWm1tbfF/a0wikTZu3Ojj43P06NHFixcTHc5/REdHP3r0SKCwqakJ//Dw4cPw8PA5c+aYmZkJnMPj8e7evUuhUMS8O2VwgzQK+gC+wHO363uKidWrV+/du/fRo0fPnz//8ssviQ4HIYTu3r374MEDgUL+yq1eXl5z5szpsMMkJiaGRqOtXr1aXV2936MEnYCHetAH8I5R8X+ixykqKuIjn44fP050LP9x/vz5T+3wV3UxMzNzc3NrP2XrxYsX3t7e+vr6ISEhAx4y+B9Io6AP4K/pJSWNIoS8vb2lpKQuXryIb2gqidLT0+fNm6esrJySkjJ8+HCiwxnSII0CUbFYrDdv3lCp1ClTphAdi7D09fVdXV1bWlpOnz5NSAA0Gi0yMrLX1aOiombPno3nUHwvP0AgSKNAVOnp6RwOx9zcXLIWPMZHPp08ebLrLUj7XF1d3c6dOydNmrRp06bs7GxhqtTU1BQUFDQ2NiKE2Gy2j4+Pl5fXV199lZaWxt83EBAIXjEBUUncEz1u9uzZ06ZNe/HixYULFwZm5ebW1tbTp0/v27evtrZWSkrq+++/5+900rWgoKDw8PBr165ZWFg4Ozu/ePFCQ0Nj3rx50dHR/HMmTpyI79oCBh6kUSAqCU2jCKHNmzevWrUqLCxs1apV/C2b+klKSgp/7KeNjU1YWJi5ubmQdceNG2dvb6+urp6RkfHixQuEEJPJ/Pnnn9ue4+XlBWmUKLDCExCVpqYmk8ksKCgwNDQkOpaeaWlp0dPTq6iouH//vo2NTT/dhUaj7dix4/r16wghIyOjAwcOLF26lH+0tbWVzWbLycm1X1qQxWKRSCR82yj+yZ8/f+7wLjIyMm3PBAOK4KVRgIQrKChACKmrqxMdSC/hi+e7ubn1x8Vramq8vb3xhVdUVFSCg4P7b1tpQCB4xQREIrlP9LiNGzfKysomJSXhfw/6Smtr65kzZ0xMTI4dO8bj8dzd3Wk0mr+/v4yMTB/eBYgJSKNAJHgaFf8VSTozcuTIFStW8Hi8iIiIvrpmSkqKubn5+vXrq6urbW1tMzMzz507B7OMBjFIo0AkErE+Xte2bdtGIpGioqJEX4Q0Ly9vwYIF9vb2ubm5Y8eOjY+PT0lJmThxYp/ECcQWpFHQe83Nza9evZKSkpo6dSrRsfSemZnZnDlzGhoaoqKien2RmpoaHx+fL7744ubNm6qqqsHBwdnZ2W1fJYFBDNIo6L2MjIyWlhYzMzMlJSWiYxGJKIuQtrS0HD16dMyYMceOHSOTyevWrcO7QYXcBQAMApBGQe9J+vslPhcXlzFjxhQVFd26datHFZOSkkxNTbdu3frp0yc7O7vMzMzIyMiRI0f2U5xAPMHwe9B7kv5+iY9MJoeEhJDJZOFHsL98+dLX1xdfJHTcuHGhoaELFizozxiB+ILh96D3Ro0aRafT8/Lyxo0bR3QsQqHT6XQ6nUKhGBsbKysrd3Yaj8ej0+mjRo3qcGpTWVlZYGDg2bNnuVyumpra3r17N23aNGC78gFxRPTAVSCpGAwGQkhFRYXL5RIdS/fOnz/fNtdTqdRly5YxGAyB0xoaGiIiIvA1k/bs2SNwtLGxMTg4GO8IplKp3t7edXV1A/UNgPiCP6Ggl548eYIQsrCwIJPFvYc9MDBw3759qqqqu3fvnjZtGofDuXv3blRU1Js3b7KysvgNyZCQkIMHD9bV1eno6CCEsH8+qCUlJfn4+BQWFiKEnJ2djxw5YmRkNPDfBYghSKOglyRlK9D09PT9+/dramo+efLEwMAAL1yyZMmiRYtUVVXbPoyrqant2bPHzc2NwWBYW1u3vcgPP/yALw9qbm5+5MiROXPmDOA3AOIO0ijoJXz/JfF/TX/ixAkejxcUFMTPobj58+cLnOnl5YV/wPsr2vL09Lxy5cru3bs3b97cfg0RMMRBGgW90dra+vLlSxKJ9NVXXxEdSzdSU1MRQm5ubh0e/fTpU3h4uIGBgYeHRxcXsbS0LC0thRnxoEPi3qsFxFNdXZ29vf3MmTPV1NSIjqUrXC63pKREQUFhxIgRHZ5QV1e3b9++mJiYbi8FORR0BlqjoDfU1dUTEhKIjqJ7TU1NGIZ1scj8yJEjY2JitLS0BjIqMMhAGgUIIZSamvrHH3+8fv26oaEB36Bi48aNbad43rx5MywsrMO6O3bscHBwGKhIe0ZeXp5MJuO7GHVo2LBhnp6eAxkSGHzgoX6o43A4Xl5ec+bMiY6OJpPJRkZGlZWVu3btmjBhwrt37/insdnsunZycnJSUlLq6uoIjL9rZDIZX99enIMEkg5ao0Pdr7/+GhUVNXXq1EuXLunr6+OFycnJfn5+TU1N/NMWLly4cOFCgboWFhZsNtvZ2XnAou0F/C/E5cuX16xZQ3QsYHCC1uiQ9unTp8OHDysoKCQkJPBzKEJowYIF2dnZkyZN6qLuo0eP0tLS1q9fr6Cg0PVd2qbjgbdp0yYymbx3796ioiKBQ1wul8fj1dTU1NfXExEaGCSk8L1owNB048aNf//738uXL2/fP4hPJ//48WNdXZ2srGz7wZLe3t4fPnz4448/ul4l78OHD6ampk1NTRYWFoRMPNfW1kYIXb9+PS4urqmpqaWlpbCwMDk5edu2bQUFBcbGxjo6OmlpaZ6eng0NDbGxsRkZGc+ePXvy5ImCggKLxcrIyDAxMYFV70BXiJ6NCogUEBCAEDp48GBnJyxfvhwhlJaWJlBOo9HIZLKHh0e3twgNDcV/04yMjBITE0WNuLfi4uLwmfJ8enp6J0+eLCsrmzZt2oYNGzAM+/DhQ4f/RkpKSogKG0gE6Bsd0vAXL6NHj+7sBBMTEysrK0VFRYHysLAwHo+3devWbm+xbdu2KVOm+Pj4vH792tXV1dbW9ujRoxMmTBAx8p767rvvvvvuu4KCAgaDIScnN3r0aP4oqOfPn+MfRo0a1eHGdlpaWjweLzMzU6IX+Qf9iOg8Dojk6+uLEPrzzz97VKuyslJOTs7W1lb4Kq2trZGRkfgYeHxtpI8fP/Yw2L7022+/nTp1SsiTm5ubbWxsZGVls7Oz+zUqIKHgFdOQhm9XSafTe1Tr5MmTTU1N27dvF74KhULBd9fw9vbm8XjHjh0bM2bM0aNHeTxezyIWGY/H27Jli7+/v7e3d/uXTh2SkZExNjZubm5evnw5sa/LgJgiOo8DIt25cwch5OzsLHyV5uZmTU1NExMTgWVGL1++/PnzZ2Gu8PLly1mzZuG/flOnTn3y5EnPghZBc3PzsmXLEEIyMjIXL14UviKLxcKXK92yZUv/hQckFKTRIa2lpUVbW5tCobx48ULIKvh6cb///nvbwoyMDDKZrK2tHRsby+PxhLlOYmIi3idLIpHc3d0rKip6HH0P1dbW4ulbVVU1NTW1p9VfvnwpLS1NIpEIfFEGxBOk0aHu/PnzCCENDY2EhAQOh4MXZmZm7t27F8OwsLCwxYsX5+fn4+U8Hs/U1FRdXR2fq86XlZXFX+pp1qxZmZmZwtyaxWIFBATIysoihIYNGxYQENDc3NynX+5/ioqKTE1NEULa2tqvXr3q3UVCQkIQQiNHjiwrK+vb8IBEgzQKsBMnTsjLyyOElJSUxo4dy98kIz8/X2DAU1JSEkJo//797S/C4/FiY2M1NTURQmQy2d3dnclkCnP3/Px8/n7uY8eOvXHjRl9+NwzDMOz169e6uroIITMzM1FGL/F4PHzfunnz5gnZ6AZDAaRRgGEYVlZWFhERsWbNmpUrV/r5+UVGRtLpdAzDioqKMjMzWSwWftrFixf9/f0rKys7u87nz58DAgLwNeVUVVXDw8NbW1uFCSAlJYU/CsrZ2bmgoKBPvheGYffu3cN3r5s7d67owwMqKirwkVJHjhzpk/DAIABpdCjicrkJCQlxcXH9dH0ajcbfbXjcuHG3bt0SplZLS0t4eDjeFpaWlvb29q6vrxcxkri4OHwC0pIlSwQ6InotOTmZRCLJyMgI2XcBBj1Io0NLQ0NDZGQk3kvYvouzbyUmJhoaGvIbmIWFhcLUKisr8/DwwKeiHjp0SJQAwsPD8e32vL29+3b70o0bNyKETE1N+e10MJRBGh0qPnz4sG3bNv7m7AYGBqGhoY2Njf16UzabHR4ejk+CkpeXDwgIEDJxP3nyZNGiRb0Oj8PhbNq0CR8GEBIS0ruLdKGpqWnixIkIIXwWKRjiII0Ofi9evHB3d+cvCzJ16tTY2Fghuyz7BIPBcHd3xxuYurq6sbGx/Xq7Xg8O7ZGcnBw5OTmE0LVr1/rpFkBSQBolDI/H4w8wEsDhcLp4CK2rqyspKek2D7LZ7Pj4eP7OndLS0kuXLn369KlIQYsgNTWVv/KejY1NP02sFHFwaI8cOXIEvxGsXTLEQRolzPfff48Qaj+GEV8uxN7evn2VyMhI/jIiVCr1m2++KSoqan8ak8kMDg7Gh/jg4xz9/f1LS0v75Wv0BJfLjY2NHTlyJEKIQqH0+cz6wsJCfK6Rjo5OrweHCo/H4+FLVs+ePbtv+16BZIE0SpieplF8xbnJkyefP38+OTl5165d+A4ZbadgZmVlrVu3Dn/YRAiZmJiEh4f3dwdoT9XW1np7e+MLmA4fPjw8PLyzVnmPtB0cOmB/M5hMJj5Utj96YIGkgDRKmJ6mURMTExKJxGAwBK5w6dIlDMOSkpLmzp2LZ08ymezq6nrv3r3+/gqiyM3Ntbe3xwOeMmXK33//LcrVUlJS8JFSfTI4tEdu3bpFIpGoVGr7VVnBEAErPEmMhoYGKpWKr8mEw4cTNTQ0IISioqLu37+voKCwbt26nJychIQEflYVT6ampnfu3ElMTNTT03v58uXMmTM9PDwqKip6cam4uDhHR8f6+volS5bcuHGDPxphYDg4OGzZsqW1tfXbb7/F/1+AIYfoPD50CdMavX37dmRkZE1NDYZheDecr68v/nKJy+VOnz5dWloa7x599uxZaGgosYt49o7wM+urqqqePXv2+PFjfIYVLj4+Hh8D4O/vT9QEzebmZvzt2dq1awkJABAL0ihh8DQaEBDwr386duwYP426ubnxU21ubi7eFDU2Nj5w4ICHh4eCggL+RD8IlJSUuLu743/ajY2Nr1+/3vboX3/9NWPGDDxd4qysrPBVqVgs1owZM44fP05Q4P/x5s0bvEu6/4ZYAVlrGPcAAAVpSURBVLEFaZQweBrtDJ5Gr1y5EhwcjM9hb2lpwYeUq6mp4efMnDmTRqMR/T360q1bt/BX7QghNzc3vN197do1KpUqLS39ww8/xMfHJyYm7t27V0VFRUFBobS0tKqqisFgMJlMJpMp+uRRUURERCCEVFRUiouLCQwDDDxIo4TB02hKSgrjn/Ly8lBHr5iWL19OIpFiY2M5HM6dO3fw/1RWVhZ+qVCJgM+sV1ZW9vT0xDCsrq5OTU2NQqEIvDF79+4d3u6bOHGi1n9t376dkJhxPB7P1dUVIWRtbd0nYw+ApIA0Spgeval/9uwZQmjJkiVtC8+dO4cQmj9/fr/HOuDKy8vxdfaOHz+OEFq3bh3REQmlsrJSS0sLdbnZKhh84E29ZMjJyUEImZubty389ttvpaSk8NbrIKOpqYl3BD969AghhLfyxN/IkSNjYmJIJFJAQEBJSQnR4YABAhssSwZ8jHdGRkbbwpycHC6XO2rUKIKCGgiFhYUIIX19faIDEda8efMCAwMnT57cxbbVYJCB1qhYW7JkCZVKzc7OtrW1HTNmzNWrV3/88ceioqLPnz8/fPhwxYoVCCEfHx+iw+xHjY2NCCH+nvISYc+ePc7OzjQaLTc3t/3R+vr6169fV1VVdVj3/fv3169fv3fvXn19fT+HCfoMpFGxpqKioqmpSaVSZWVlb9++PWPGjJCQEAMDA0VFRRsbGwaDcebMmSVLlhAdZj9SUFBA/02mksXR0ZG/AWpbKSkpkyZN+v333wXKS0tLbW1tjY2NXVxc7OzsNDQ0Dhw4MCCRAlHBQz1h9u7du2HDBmNjY4FyRUXF58+f41Nx2v5jGzNmzOPHjwsKCt69e1ddXa2lpTVjxgz+9PnBytDQMC0tLTc3d3A/Izc2Njo4OOTl5W3cuHH58uV0Oj0sLGz37t2qqqobNmwgOjrQHaLfcQHQldOnTyOE1qxZQ3QgPWZgYKCmpta+/PLlywihAwcOtC3E/16uXr2aX1JVVSUnJ6eurj6QK8OC3oGHeiDWVqxYMWLEiJiYmHv37gkc4nK5hITUH/ABbd9++y2/ZMSIEa6urpWVlc+fPycuLiAUSKNArCkpKUVHR5PJZEdHxw0bNly7du3+/ftnz551c3ObP38+0dGJaufOnT/99BNCqLW1FSHUdrYrQgif0NXheyogVqBvFIg7Z2fnBw8e/Pjjj5GRkfgzPkJo+PDh7u7uGIYJpB6x0tjY6OvrK1D4/v17/udTp05RKJQDBw58+eWXsbGxf/75J39drtbW1oKCAoRQbW3tgAUMegfSKJAAVlZWjx8/rqysxPev19fX19TUxHf9FGdsNjsmJkagEG944vjLU3l4eBw9evTMmTMMBmPWrFm1tbWXL18uLS1FCGEYNoAhg96ANAokhrq6etvlVsWfqqpqTU2NQOGVK1e+/vpr/LODgwP+QVFRMTU1ddu2bQkJCTdu3NDU1PT09ORyuYcPH1ZRURnQoEHPQRoFQCxoaWlduHABIfT582d8tOzKlSsRQqampgRHBroj7o9FAAw1eA5taWm5f/++srLytGnTiI4IdAPSKACEKSgowN8jtbd//34mk7lmzZpBP8NiEICHegAIM2XKFAqFgvef/vzzzxQKxcTEhMViXbly5ebNm5MnTw4ICCA6RtA9SKMAEMbOzg7faLqlpSUnJycpKYnH4yGEhg8fvnXr1n379ikqKhIdI+geCYZTANAf2Gw2hmH4Vn1t8Xg8NptNpVIpFMFGTFNTU0lJiby8vLa2Np5egUSANAoAACKBV0wAACASSKMAACASSKMAACASSKMAACASSKMAACASSKMAACASSKMAACCS/wcSolIt24u0FgAAAQV6VFh0cmRraXRQS0wgcmRraXQgMjAyMi4wMy41AAB4nHu/b+09BiDgZYAARiDmguIGRjYBLSD9n5lZEiTvWJKfC8KZyX6luYpSbFAtMgzabBwKQAaLBCMjhwbIEEYJJjYwi5lFghkuxgIXY4WLscHF2OFiHHAWJzfIQewaTIxMDIzMDIycQIUMzKwaTKxsDKzsCuwcDCKMrEAZVnbxJqjjwYBrx1GjvVxpB/aDOLYfOu3TdjOC2bezJRyUAwrsQOyM/5/t5ojF2YPYwuLz7B+EczmA2DOFm/afLLUAi/84y3DA/+BrMHuB1er9i+bagc25OFH3gIn9GjBb8uhP+5b3d8BsMQC2fjccr+8NfgAAAVB6VFh0TU9MIHJka2l0IDIwMjIuMDMuNQAAeJx9kktywyAMhvc+BRewRxJ6wKKLxM4knU6cmTbNHbrv/afCGQzZFFgg+PSjB0Mo43P5+PkN+6BlGEKAf1bOOTwiAAzXUDbheDq/r2G+H471ZL59r/evgFDWNl/Zw/12rScY5jDCBByVNYw4CUREDn60DfeeL+e3EasDuQNOYKbMxVNATbXxOxjDJdAUE0qKfk2RNWHjqHLsgjCxqUjyTVKTSI2LlRPXQ5cRsOzCqD5j47hyWjLyCFGJyr0RCFsDpYLmgiM5SGLo0okxxQ7UCqanYoxmZCVnY5bcvW2VzE9JQwKSzYdFPdydTHvdYUsnC8aiiR6mgnRkruRpXV469uzh8bYurYdlUusQuZlaH/yulZE3k1tVi4nQqoeOdDVytq8EOtGlW8w+J3/3NfI+zmLXf+r74Q//rJB1lz0zAQAAAPh6VFh0U01JTEVTIHJka2l0IDIwMjIuMDMuNQAAeJxljbtqAzEQRX8lpQ1aMe/RzpIiuHGTkH7ZwoF0WdaYpPPHR1Ir1Nx77hGzXqYNX9dL+HZar1G2c83as23nNnAv0gfcsBWq5Rrz9vI8TZBB2EQtTZgVGDEtNTG7c6qri+jMlVF2JKCmcdVL1wCNKFWLQMW7BUjqCXMRLJIWyOKmWqpUzJUpLZiJFUqijFZfA+Bu0s4pmJulhTIX7L+IxUqXZkXmdt/JwNI53X6P/fNx3APzfvy81fZ+u3/87V/fj+xBIyzBI9SQEVroCDlshBI+QowyQop5hPPzH2IOfBRPECf7AAAAAElFTkSuQmCC", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAcIAAACWCAIAAADCEh9HAAAABmJLR0QA/wD/AP+gvaeTAAAGD0lEQVR4nO3dS2hc9R7A8TNJJgnJTaqlE29vX9BbW8SNL+pOCEjEWtSKSkG3LkQQarc+UERF0I3gA125qlSwbgRRiRQEDVWRtlykmkpyqb01TdI278zk3MXIsVQT2/4m56Tl81n9/2dOJr/A8OWQw2FKaZomAFyupqIHALiyyShAiIwChMgoQIiMAoTIKECIjAKEyChAiIwChMgoQIiMAoTIKECIjAKEyChAiIwChMgoQIiMAoTIKECIjAKEyChAiIwChMgoQIiMAoTIKECIjAKEyChAiIwChMgoQIiMAoTIKECIjAKEyChAiIwChMgoQIiMAoTIKECIjAKEyChAiIwChMgoQIiMAoTIKECIjAKEyChAiIwChMgoQIiMAoTIKECIjAKEyChAiIwChMgoQIiMAoTIKECIjAKEyChAiIwChMgoQEhL0QPAxTo4cXBobihJklJSemT1I0WPA78rpWla9AxwUXYN7jowfqC+Tm/xuWWlcDVKkU5XT3858eWxmWMjtZHx6nhnc2elpbK5dXNfd9+aljVFTwcXRUYpwEKysH9s/+unXj80eWghWfjzCc2l5jv+ccfenr33rLon//HgkrjFRN4OTx++9T+37j6+e2By4C8bmiRJLa31n+vf+fPOh48/fK52LucJ4ZK4GiVX/ef6Hxh8YLw2fv7BdeV1W9q2VFoqU+nU0NzQ0emjafL7vz73j+0/Pnv8i+u/6G7uLmJe+HsySn6OTB/Z8fOOmYWZ+rZ+w31Pz56bO24uJaXstOG54fdOv/fq/16tn3lo6tC7I+/uvW7vX77n+6Pvf3Lmk8V+4xsb3qi0VBr6R8CFZJSczKazj/7yaNbQjqaOjzZ/1Nfd9+czN7RueH7t87uv3d13rO/E/IkX//XiU9c9tdjbfjf13QdjHyz26ivrXqkkMsryklFy8vZvb/8w/UN93ZQ0ffzvj+/sunOJ829ov+Hz6z//afanpe8y3bfqvvXl9Yu9urp59eVNCxdPRslDmqRvjbyVbR+vPL50Q+u2tW/b1r5t6XN6u3p7u3qj80GAO/Xk4eDEwR9nfqyvy6Xys2ufLXYeaCAZJQ/95/qz9d3dd/e09BQ4DDSWjJKHgcmBbH1X910FTgINJ6Pk4fvp77P1TR03FTgJNJyMkoeR6ki23tq2tcBJoOFklGU3sTBRTavZ1vNIXGVklGV3tnY2W7eV2lpLrQUOAw0noyy7cqmcratJNXteHq4OMsqyu6b5mmxdS2uTC5MFDgMNJ6Msu3Kp3NHUkW3Pv90EVwEZJQ+bWjdl68PThwucBBpORsnD9s7t2frbqW8LnAQaTkbJw/aOPzL64diHBU4CDSej5GHnqp3Npeb6+ujM0fOfDYUrnYySh42tG3d078i2T/73ycW+hQmuODJKTvb07Mm+KeSbyW+eOfFMsfNAo8goOent6n1szWPZ9qWTLz0x/MTEwsQSP3Kqeuq5X58bq40t/3Rw+WSU/Ly2/rUb22/Mtm/+9ubWo1tfPvly9uUidcNzw/vG9j04+OCmI5te+PWFfaP7cp8ULkEpTT2ZR35Gq6P3Dt771cRXFxwvl8qVlkp7U/tIdeT8Z/CTJLm98/avt32dJMmuwV0Hxg/UD6a3+NyyUrgaJVerW1Z/tuWzp//5dGdT5/nH59P5E/MnBmcHL2hoW6lte8d296NYyVyNUoyT8yffGXnn07OfDkwN1NLaBa92NXfd1nHb/avuf+jah9aW19YPuhplZZJRCnamdmZobuhU9dRodbS1qbW7qXtj68bNbZuz2/qwwskoQIj/jQKEyChAiIwChMgoQIiMAoTIKECIjAKEyChAiIwChMgoQIiMAoTIKECIjAKEyChAiIwChMgoQIiMAoTIKECIjAKEyChAiIwChMgoQIiMAoTIKECIjAKEyChAiIwChMgoQIiMAoTIKECIjAKEyChAiIwChMgoQIiMAoTIKECIjAKEyChAiIwChMgoQIiMAoTIKECIjAKEyChAiIwChMgoQIiMAoTIKECIjAKEyChAiIwChMgoQIiMAoTIKECIjAKEyChAiIwChMgoQMj/Ae92YRAnZ8RAAAAAQ3pUWHRyZGtpdFBLTCByZGtpdCAyMDIyLjAzLjUAAHice79v7T0GIOBlgABGKAaBBkZBBSYg/Z9bhEFcDEkCwQABMQAeJAVf7p5QigAAAIV6VFh0TU9MIHJka2l0IDIwMjIuMDMuNQAAeJzjUgCBIBfvzBIFODBy4eJSUDDAgywtLRXCjA0MDLh8FUAMBSdXd08/BecQRyeYiLN/qF9IsIIhUD0Yoqp0DPH3hYkYKjjnKBjoGYABNoaCs4e7ra6hQpijD5CCaXP1c0ExBsSHOQDI5gIAiwMq33CRhHAAAAAuelRYdFNNSUxFUyByZGtpdCAyMDIyLjAzLjUAAHici3bO0Y1VqNEw0DHQ0awBAB02A7ay0haSAAAAAElFTkSuQmCC", "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -4022,89 +5336,68 @@ "name": "stdout", "output_type": "stream", "text": [ - "CREATE BONDS: Number of atoms in ligand object and RDKit MOL are different: 9 10\n", - "[(0, 'C'), (1, 'C'), (2, 'H'), (3, 'C'), (4, 'H'), (5, 'C'), (6, 'H'), (7, 'C'), (8, 'H')]\n", - "[(0, 'C'), (1, 'C'), (2, 'H'), (3, 'C'), (4, 'H'), (5, 'C'), (6, 'H'), (7, 'C'), (8, 'H'), (9, 'H')]\n", - "NON_BONDED_ATOMS [9]\n", - "idx=0 C Number of bonds : 2\n", - "C : 0 , C : 1 , 1.0\n", - "BOND CREATED 0 0 1 1.0 C C\n", - "C : 0 , C : 7 , 2.0\n", - "BOND CREATED 0 0 7 2.0 C C\n", - "BONDS [('C', 'C', 1.0, 1.386), ('C', 'C', 2.0, 1.421)]\n", - "idx=1 C Number of bonds : 4\n", - "C : 0 , C : 1 , 1.0\n", - "BOND CREATED 1 1 0 1.0 C C\n", - "C : 1 , H : 2 , 1.0\n", - "BOND CREATED 1 1 2 1.0 C H\n", - "C : 1 , C : 3 , 1.0\n", - "BOND CREATED 1 1 3 1.0 C C\n", - "C : 1 , H : 9 , 1.0\n", - "NO BOND CREATED bond_startatom=1 or bond_endatom=9 is not in the specie.atoms. It belongs to non_bonded_atoms=[9].\n", - "BONDS [('C', 'C', 1.0, 1.386), ('C', 'H', 1.0, 0.93), ('C', 'C', 1.0, 1.438)]\n", - "idx=2 H Number of bonds : 1\n", - "C : 1 , H : 2 , 1.0\n", - "BOND CREATED 2 2 1 1.0 H C\n", - "BONDS [('H', 'C', 1.0, 0.93)]\n", - "idx=3 C Number of bonds : 3\n", - "C : 1 , C : 3 , 1.0\n", - "BOND CREATED 3 3 1 1.0 C C\n", - "C : 3 , H : 4 , 1.0\n", - "BOND CREATED 3 3 4 1.0 C H\n", - "C : 3 , C : 5 , 2.0\n", - "BOND CREATED 3 3 5 2.0 C C\n", - "BONDS [('C', 'C', 1.0, 1.438), ('C', 'H', 1.0, 0.93), ('C', 'C', 2.0, 1.394)]\n", - "idx=4 H Number of bonds : 1\n", - "C : 3 , H : 4 , 1.0\n", - "BOND CREATED 4 4 3 1.0 H C\n", - "BONDS [('H', 'C', 1.0, 0.93)]\n", - "idx=5 C Number of bonds : 3\n", - "C : 3 , C : 5 , 2.0\n", - "BOND CREATED 5 5 3 2.0 C C\n", - "C : 5 , H : 6 , 1.0\n", - "BOND CREATED 5 5 6 1.0 C H\n", - "C : 5 , C : 7 , 1.0\n", - "BOND CREATED 5 5 7 1.0 C C\n", - "BONDS [('C', 'C', 2.0, 1.394), ('C', 'H', 1.0, 0.931), ('C', 'C', 1.0, 1.426)]\n", - "idx=6 H Number of bonds : 1\n", - "C : 5 , H : 6 , 1.0\n", - "BOND CREATED 6 6 5 1.0 H C\n", - "BONDS [('H', 'C', 1.0, 0.931)]\n", - "idx=7 C Number of bonds : 3\n", - "C : 0 , C : 7 , 2.0\n", - "BOND CREATED 7 7 0 2.0 C C\n", - "C : 5 , C : 7 , 1.0\n", - "BOND CREATED 7 7 5 1.0 C C\n", - "C : 7 , H : 8 , 1.0\n", - "BOND CREATED 7 7 8 1.0 C H\n", - "BONDS [('C', 'C', 2.0, 1.421), ('C', 'C', 1.0, 1.426), ('C', 'H', 1.0, 0.93)]\n", - "idx=8 H Number of bonds : 1\n", - "C : 7 , H : 8 , 1.0\n", - "BOND CREATED 8 8 7 1.0 H C\n", - "BONDS [('H', 'C', 1.0, 0.93)]\n", - "idx=9 H Number of bonds : 1\n", - "C : 1 , H : 9 , 1.0\n", - "NO BOND CREATED bond_startatom=1 or bond_endatom=9 is not in the specie.atoms. It belongs to non_bonded_atoms=[9].\n", - "NO BONDS\n", - "Hg 2.0\n", - "Fe 3.0\n" + "[Cl-]\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAcIAAACWCAIAAADCEh9HAAAABmJLR0QA/wD/AP+gvaeTAAAGD0lEQVR4nO3dS2hc9R7A8TNJJgnJTaqlE29vX9BbW8SNL+pOCEjEWtSKSkG3LkQQarc+UERF0I3gA125qlSwbgRRiRQEDVWRtlykmkpyqb01TdI278zk3MXIsVQT2/4m56Tl81n9/2dOJr/A8OWQw2FKaZomAFyupqIHALiyyShAiIwChMgoQIiMAoTIKECIjAKEyChAiIwChMgoQIiMAoTIKECIjAKEyChAiIwChMgoQIiMAoTIKECIjAKEyChAiIwChMgoQIiMAoTIKECIjAKEyChAiIwChMgoQIiMAoTIKECIjAKEyChAiIwChMgoQIiMAoTIKECIjAKEyChAiIwChMgoQIiMAoTIKECIjAKEyChAiIwChMgoQIiMAoTIKECIjAKEyChAiIwChMgoQIiMAoTIKECIjAKEyChAiIwChMgoQEhL0QPAxTo4cXBobihJklJSemT1I0WPA78rpWla9AxwUXYN7jowfqC+Tm/xuWWlcDVKkU5XT3858eWxmWMjtZHx6nhnc2elpbK5dXNfd9+aljVFTwcXRUYpwEKysH9s/+unXj80eWghWfjzCc2l5jv+ccfenr33rLon//HgkrjFRN4OTx++9T+37j6+e2By4C8bmiRJLa31n+vf+fPOh48/fK52LucJ4ZK4GiVX/ef6Hxh8YLw2fv7BdeV1W9q2VFoqU+nU0NzQ0emjafL7vz73j+0/Pnv8i+u/6G7uLmJe+HsySn6OTB/Z8fOOmYWZ+rZ+w31Pz56bO24uJaXstOG54fdOv/fq/16tn3lo6tC7I+/uvW7vX77n+6Pvf3Lmk8V+4xsb3qi0VBr6R8CFZJSczKazj/7yaNbQjqaOjzZ/1Nfd9+czN7RueH7t87uv3d13rO/E/IkX//XiU9c9tdjbfjf13QdjHyz26ivrXqkkMsryklFy8vZvb/8w/UN93ZQ0ffzvj+/sunOJ829ov+Hz6z//afanpe8y3bfqvvXl9Yu9urp59eVNCxdPRslDmqRvjbyVbR+vPL50Q+u2tW/b1r5t6XN6u3p7u3qj80GAO/Xk4eDEwR9nfqyvy6Xys2ufLXYeaCAZJQ/95/qz9d3dd/e09BQ4DDSWjJKHgcmBbH1X910FTgINJ6Pk4fvp77P1TR03FTgJNJyMkoeR6ki23tq2tcBJoOFklGU3sTBRTavZ1vNIXGVklGV3tnY2W7eV2lpLrQUOAw0noyy7cqmcratJNXteHq4OMsqyu6b5mmxdS2uTC5MFDgMNJ6Msu3Kp3NHUkW3Pv90EVwEZJQ+bWjdl68PThwucBBpORsnD9s7t2frbqW8LnAQaTkbJw/aOPzL64diHBU4CDSej5GHnqp3Npeb6+ujM0fOfDYUrnYySh42tG3d078i2T/73ycW+hQmuODJKTvb07Mm+KeSbyW+eOfFMsfNAo8goOent6n1szWPZ9qWTLz0x/MTEwsQSP3Kqeuq5X58bq40t/3Rw+WSU/Ly2/rUb22/Mtm/+9ubWo1tfPvly9uUidcNzw/vG9j04+OCmI5te+PWFfaP7cp8ULkEpTT2ZR35Gq6P3Dt771cRXFxwvl8qVlkp7U/tIdeT8Z/CTJLm98/avt32dJMmuwV0Hxg/UD6a3+NyyUrgaJVerW1Z/tuWzp//5dGdT5/nH59P5E/MnBmcHL2hoW6lte8d296NYyVyNUoyT8yffGXnn07OfDkwN1NLaBa92NXfd1nHb/avuf+jah9aW19YPuhplZZJRCnamdmZobuhU9dRodbS1qbW7qXtj68bNbZuz2/qwwskoQIj/jQKEyChAiIwChMgoQIiMAoTIKECIjAKEyChAiIwChMgoQIiMAoTIKECIjAKEyChAiIwChMgoQIiMAoTIKECIjAKEyChAiIwChMgoQIiMAoTIKECIjAKEyChAiIwChMgoQIiMAoTIKECIjAKEyChAiIwChMgoQIiMAoTIKECIjAKEyChAiIwChMgoQIiMAoTIKECIjAKEyChAiIwChMgoQIiMAoTIKECIjAKEyChAiIwChMgoQIiMAoTIKECIjAKEyChAiIwChMgoQMj/Ae92YRAnZ8RAAAAAQ3pUWHRyZGtpdFBLTCByZGtpdCAyMDIyLjAzLjUAAHice79v7T0GIOBlgABGKAaBBkZBBSYg/Z9bhEFcDEkCwQABMQAeJAVf7p5QigAAAIV6VFh0TU9MIHJka2l0IDIwMjIuMDMuNQAAeJzjUgCBIBfvzBIFODBy4eJSUDDAgywtLRXCjA0MDLh8FUAMBSdXd08/BecQRyeYiLN/qF9IsIIhUD0Yoqp0DPH3hYkYKjjnKBjoGYABNoaCs4e7ra6hQpijD5CCaXP1c0ExBsSHOQDI5gIAiwMq33CRhHAAAAAuelRYdFNNSUxFUyByZGtpdCAyMDIyLjAzLjUAAHici3bO0Y1VqNEw0DHQ0awBAB02A7ay0haSAAAAAElFTkSuQmCC", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "H9-C10-Cl-Fe-Hg\n", + "mol.smiles=['[H]C1=C([H])[C-]([H])C([H])=C1[H]', '[H]C1=[C-][C-]([H])C([H])=C1[H]', '[Cl-]']\n", + "mol.smiles_with_H=['[H]C1=C([H])C([H])([H])C([H])=C1[H]', '[H]C1=[C-]C([H])([H])C([H])=C1[H]', '[Cl-]']\n", + "[H]C1=C([H])[C-]([H])C([H])=C1[H]\n" + ] + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[H]C1=[C-][C-]([H])C([H])=C1[H]\n" ] }, { "data": { - "image/png": "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", + "image/png": "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", "text/plain": [ - "" + "" ] }, "metadata": {}, "output_type": "display_data" }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[Cl-]\n" + ] + }, { "data": { - "image/png": "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", + "image/png": "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", "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -4114,308 +5407,941 @@ "name": "stdout", "output_type": "stream", "text": [ - "CREATE BONDS: Number of atoms in ligand object and RDKit MOL are different: 9 10\n", - "[(0, 'C'), (1, 'H'), (2, 'C'), (3, 'C'), (4, 'H'), (5, 'C'), (6, 'H'), (7, 'C'), (8, 'H')]\n", - "[(0, 'C'), (1, 'H'), (2, 'C'), (3, 'C'), (4, 'H'), (5, 'C'), (6, 'H'), (7, 'C'), (8, 'H'), (9, 'H')]\n", - "NON_BONDED_ATOMS [9]\n", - "idx=0 C Number of bonds : 4\n", - "C : 0 , H : 1 , 1.0\n", - "BOND CREATED 0 0 1 1.0 C H\n", - "C : 0 , C : 2 , 1.0\n", - "BOND CREATED 0 0 2 1.0 C C\n", - "C : 0 , C : 7 , 1.0\n", - "BOND CREATED 0 0 7 1.0 C C\n", - "C : 0 , H : 9 , 1.0\n", - "NO BOND CREATED bond_startatom=0 or bond_endatom=9 is not in the specie.atoms. It belongs to non_bonded_atoms=[9].\n", - "BONDS [('C', 'H', 1.0, 0.93), ('C', 'C', 1.0, 1.421), ('C', 'C', 1.0, 1.426)]\n", - "idx=1 H Number of bonds : 1\n", - "C : 0 , H : 1 , 1.0\n", - "BOND CREATED 1 1 0 1.0 H C\n", - "BONDS [('H', 'C', 1.0, 0.93)]\n", - "idx=2 C Number of bonds : 2\n", - "C : 0 , C : 2 , 1.0\n", - "BOND CREATED 2 2 0 1.0 C C\n", - "C : 2 , C : 3 , 2.0\n", - "BOND CREATED 2 2 3 2.0 C C\n", - "BONDS [('C', 'C', 1.0, 1.421), ('C', 'C', 2.0, 1.386)]\n", - "idx=3 C Number of bonds : 3\n", - "C : 2 , C : 3 , 2.0\n", - "BOND CREATED 3 3 2 2.0 C C\n", - "C : 3 , H : 4 , 1.0\n", - "BOND CREATED 3 3 4 1.0 C H\n", - "C : 3 , C : 5 , 1.0\n", - "BOND CREATED 3 3 5 1.0 C C\n", - "BONDS [('C', 'C', 2.0, 1.386), ('C', 'H', 1.0, 0.93), ('C', 'C', 1.0, 1.438)]\n", - "idx=4 H Number of bonds : 1\n", - "C : 3 , H : 4 , 1.0\n", - "BOND CREATED 4 4 3 1.0 H C\n", - "BONDS [('H', 'C', 1.0, 0.93)]\n", - "idx=5 C Number of bonds : 3\n", - "C : 3 , C : 5 , 1.0\n", - "BOND CREATED 5 5 3 1.0 C C\n", - "C : 5 , H : 6 , 1.0\n", - "BOND CREATED 5 5 6 1.0 C H\n", - "C : 5 , C : 7 , 2.0\n", - "BOND CREATED 5 5 7 2.0 C C\n", - "BONDS [('C', 'C', 1.0, 1.438), ('C', 'H', 1.0, 0.93), ('C', 'C', 2.0, 1.394)]\n", - "idx=6 H Number of bonds : 1\n", - "C : 5 , H : 6 , 1.0\n", - "BOND CREATED 6 6 5 1.0 H C\n", - "BONDS [('H', 'C', 1.0, 0.93)]\n", - "idx=7 C Number of bonds : 3\n", - "C : 0 , C : 7 , 1.0\n", - "BOND CREATED 7 7 0 1.0 C C\n", - "C : 5 , C : 7 , 2.0\n", - "BOND CREATED 7 7 5 2.0 C C\n", - "C : 7 , H : 8 , 1.0\n", - "BOND CREATED 7 7 8 1.0 C H\n", - "BONDS [('C', 'C', 1.0, 1.426), ('C', 'C', 2.0, 1.394), ('C', 'H', 1.0, 0.931)]\n", - "idx=8 H Number of bonds : 1\n", - "C : 7 , H : 8 , 1.0\n", - "BOND CREATED 8 8 7 1.0 H C\n", - "BONDS [('H', 'C', 1.0, 0.931)]\n", - "idx=9 H Number of bonds : 1\n", - "C : 0 , H : 9 , 1.0\n", - "NO BOND CREATED bond_startatom=0 or bond_endatom=9 is not in the specie.atoms. It belongs to non_bonded_atoms=[9].\n", - "NO BONDS\n" + "H9-C10-Cl-Fe-Hg\n", + "mol.smiles=['[H]C1=[C-][C-]([H])C([H])=C1[H]', '[H]C1=C([H])[C-]([H])C([H])=C1[H]', '[Cl-]']\n", + "mol.smiles_with_H=['[H]C1=[C-]C([H])([H])C([H])=C1[H]', '[H]C1=C([H])C([H])([H])C([H])=C1[H]', '[Cl-]']\n", + "[H]C1=[C-][C-]([H])C([H])=C1[H]\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAcIAAACWCAIAAADCEh9HAAAABmJLR0QA/wD/AP+gvaeTAAAgAElEQVR4nO3daVwT19oA8BOWsCMlrLIpiwXEhYIga7EqCApu1IWCVbTuF4XqxVaFKqXq1SrYKm2tInVBocqFKgUUpOCCyFYVEBBFZBVkCQkQssz7Yd6bmwuIgSQMCc//g79w5szkmSBPzpk55wwJwzAEAABgpKSIDgAAAMQbpFEAABAIpFEAABAIpFEAABAIpFEAABAIpFFxxeFwmEwmh8MZdCuTyWSz2UPs3tjYWF1dzWQyRROdhGOxWO/66PDfy9ADYOh0emVl5evXr9/16wPiBdKouDpw4ACZTD5x4sTATcXFxWQy2c3NbeCm9vb2jRs3qqioTJw40dTUVFFRcf78+WVlZSIPV7KYmJiQyeS3b98O3BQSEkImk8+ePTvojpmZma6urhMmTPjwww8NDQ0nTJiwbds2SKbiToboAMDoYbFYCxYsyM/Pt7Oz++yzzxQVFW/fvn316lVnZ+fi4mIjIyOiA5RwMTEx27Ztk5KS8vHxsba2ZrFYjx49wjBMSgpaM+IN0ug4kpWVlZ+fb2pqmpOTIycnhxDasGGDvLx8XFzc6dOnjxw5QnSAkqykpCQoKEhZWTk9Pd3BwYHocIAwwdfgOPLq1SuEkK2tLZ5Dca6urtxNQHSOHDnCYrHCwsIgh0oeSKPjiL6+PkLowYMHnZ2d3MLy8nKEkKWlJWFhjQMsFislJQUhtGbNGqJjAcIHaVTChYeHk0ikr7/+GiE0b948c3PzV69eWVtbJyYmMhiMwsLCmJgYMzOzbdu2ER2pBDIyMiKRSJWVlZWVld3d3ZqampqampmZmV9//fX27dtPnDjR2NhIdIxACODaqHg7ePDg999/36+QxWJxX+Mjb/B/ZWVl09PTFy5c+PTp0xUrVqirqzMYDCsrq5SUFAqFMpphSwYrKysSidSvkEqlcl9zP3w8Xaqqqjo6Oubl5XErhIWF/fbbb0uXLh2VeIGoQBoVbzo6OoaGhv0Ku7q6Wlpa8Nf79+/fs2ePrKws/mN8fHxFRYWTk9O0adMSExPpdPqjR4+++uqrU6dOycvLj2ro4u/DDz/kfrBclZWVdDqd+5rD4SgoKFRUVCCEqqur9fT0bt686ejoSKPR4uLi9u/f7+/vX15ePvCXCMQJBsRTWFgYQujYsWMDNxUVFSGEnJ2d+5XHxcUhhObMmdPX14dhGIPBSExM1NPTQwj5+fmNRtCSAs96ra2tAzft2LEDIXTmzBnewrS0NITQ9OnT2Ww2b/mqVasQQpGRkaINF4gYXBsdR6KjoxFC33zzDd6GIpPJvr6+Dx8+lJeXj4+Pb21tJTpAiaWpqYkQ6urq6jdE1NnZGSFUWVlJTFhASCCNjiO1tbUIIQMDA95CPT09fX19DMPq6+sJikvymZuby8rK1tXVdXR08JbjF1JVVVUJigsIB6TRcQTviubm5vIWNjQ01NTUyMrKwiwm0VFUVJw3bx6TyeSdJMpgMC5evIj+M3QXiC9IoxIuLCyMRCJ99dVXCKEtW7YghHbu3Hnp0iUajcZmswsKCpYuXcpisdauXaumpkZ0sJLG0NCQRCLh95f2798vLS29f//+EydOlJeX5+TkeHl5lZWVWVtbL168mOhIgUDgTv04smHDhsbGxoiICH9/f4QQmUzu6+tDCPn7+588eZLo6CScg4PD+fPnt2zZEhISEhISghfOnj07MTFx4O1+IF5IGDzSTjyVlJQUFxfb2dlNnTq136a2trbk5GQdHR1PT098STdZWVkZmf//ymxoaLh582ZVVRWTyTQwMHB3d7eyshr18MVbYmIijUbz8/PjnVaLy8/PLy0tdXZ2NjMzYzAYHA5HXl6eO7y0paXljz/+qKmpUVJSsre3//jjjweOPAViB9Io+B91dXX4nFEwqLS0tPnz50tLSxMdCBhD4Noo+K+9e/eampryTrMBvJKTk728vBYtWgSND8AL0ij4LyaTyWAw/Pz8eNcuAbj6+vr169djGObp6Qk9ccALOvXgv5hMpqura15e3qeffpqQkEB0OGMIh8OZP39+VlaWp6fnzZs3IY0CXtAaBf8lKyt78eJFVVXVxMTE2NhYosMZQyIjI7OysrS1tWNjYyGHgn6gNQr6S0hIWLlypZKSUkFBgbm5OdHhEC8/P9/Z2ZnNZqenp8+bN4/ocMCYA61R0N+KFSsCAgLodPqKFSt6e3uJDodgHR0dK1euZDKZoaGhkEPBoKA1CgZBo9FsbW0rKiqCg4OPHz9OdDhE8vPzi4+PnzVr1t27d8lkMtHhgLEI0igYXGFhoaOjI5PJTE5O9vb2JjocYpw5c2bjxo3KyspFRUVmZmZEhwPGKOjUg8HZ2Nh8++23GIatX7++oaGB6HAIUFVVhc/a/OmnnyCHgiFAaxS8E4Zh3t7eN2/edHNzu3379riausNgMGbPnl1SUrJu3bpz584RHQ4Y06A1Ct6JRCKdO3dOR0cnOzv72LFjRIczqnbv3l1SUmJqaoqvdQ3AEKA1Ct4jPT3d09NTWlo6JydnnDxj/c8//1y4cCGZTL5///5HH31EdDhgrIPWKHgPDw+PkJAQFovl7+/P+9hLSVVfX79mzRoMww4dOgQ5FPADWqPg/ZhMpouLy8OHD1esWHH16lWiwxEhDofj7u6emZm5YMGC1NRUmLAE+AGtUfB+srKyly5dUlVVTUhIwB8vKqkOHTqUmZmppaUFkz4B/6A1CvgVFxe3du1aJSWlwsLCDz/8kOhwhO/Ro0dOTk5sNhtfVJTocIDYgNYo4Nfnn3/u7+9Pp9P9/Pzwp49Iks7OTnzS5+7duyGHgmGB1igYBhqNZmNjU1lZ+eWXX0rYEKjPPvvs8uXLtra29+7dg0mfYFggjYLhKSgocHJyYjKZKSkpixYtIjoc4Th79uyGDRuUlZULCwunTJlCdDhAzECnHgyPra3twYMHMQwLDAxsbGwkOhwheP78eXBwMEIoJiYGcigYAWiNgmHjcDgLFiy4deuWu7v7n3/+KSUlxl/GDAbDwcGhuLj4888/P3/+PNHhALEkxn8AgChSUlIXL17U0dHJyMj4/vvviQ5HIKGhocXFxSYmJidPniQ6FiCuoDUKRgifMSkjI/Po0aMZM2YQHc5IFBcX29jYyMrK3r9/38bGhuhwgLiSIToAIK48PT1DQkJkZGQsLS2JjmWErK2t4+LiqFQq5FAgCGiNAn4xmUxZWVmioxCIBJwCGIPg2igYSmNj465duywsLMhkMplMplAoK1euLCkp6Vdt9erVJu+wePFiQiLnlZqa6uPjQ6FQ8LOYOnVqZGRkT0/PwJo+Pj4DTyE8PHz0YwZiBDr14J1yc3MXL17c3t7+wQcfLFiwQEVFpbKyMjEx8fr163FxcX5+ftyaurq6xsbG/XZva2srKirS19cf3aj/B5vN3rRp09mzZxFCM2bMWLBgAZ1Ov3fv3r59+xITE7OystTV1XnrFxYWvn371sXFhbcQRkGB98AAGEx9fT2FQkEIbdmyhU6nc8tzc3MNDAwuXbr03iPggzFjY2NFGOX7REZGIoQoFEpWVha3sKenZ/v27Q4ODo2NjbyVWSyWtLS0lZXVqIcJxBtcGwWDCwkJOXHihIeHx59//tlvraO+vr73TpekUqmGhoby8vI1NTXy8vKijHSoGPT09Gg0Wnp6uru7O+8mDMOYTGa/s2hoaNDT03N3d09PTx/dSIF4g2ujYHAJCQkIodDQ0IHrxfEz5fznn3/u7OwMCgoiKocihFJTU2k02kcffdQvhyKESCTSwLPAn9ynq6s7SvEBSQFpFAyioaGhvr6eTCY7OTm9q86tW7dMTU0DAwMHbmIymT/++KOiouKmTZtEGeZ7FBQUIITc3NyGqLNq1SpTU9N79+4hhJqamhBCampqqampUVFR0dHR2dnZ0F0D7wW3mMAg3rx5gxDS0dEZouFJo9Gqq6tNTU0Hbrp69Wptbe22bdvwq6sIoTNnzozmes8eHh779+9vbm5GCBkZGQ1Rs66urrq6uru7G/2nNRodHc37GDtbW9vExMRJkyaJNmIgziCNgkEwGAyEkJyc3BB15s6d+/jxYxUVlYGbjh8/LiUltXPnTm5JTU0N3uIbHXjWw89i6EsQv/32G51Onzx5MkLI19e3s7PT2NjY3t5eXl6+srLym2++uXXrlo+PT1FRkYwM/LGAwcH/DDAIPDl2dnYOUUdVVXXatGkDyzMzM4uLi5cuXcrbUN24caOnp6fQ43wXLS0tPEKE0NCP4eMdp6Wurr57927ujxoaGqmpqTNnznzy5ElaWprErAoIhA7SKBjEpEmTZGRk3rx509LSoqmpOax98cVKvvzyS95CIyOjoTvXomBiYoIQKi0tHfERZGRk3NzcSktL//77b0ij4F3gFhMYhKKiIj7NPCkpaVg7VlRUpKenz5o1a4h7U6PG1dUVIZSamor37keGw+EghGAKKRgCpFEwuI0bNyKEDh48iN9u4tPRo0c5HA5v15hAjo6OU6dObW1t5XM2Z11dXVVVFW9JT09PRkYGQsjW1lYkIQLJQPDwfzBWsdlsfKiQiYlJYmIiPpGpra3txo0bPj4+L1++zMjIMDY2XrduHXeX5uZmeXn5SZMmMZlM4gL/H9wHKwUGBpaWlmIYxmKxqqqqDh06FBwcjGHYihUrjI2N7969S6PRpkyZoq6uHhUV1dDQwGKxnjx54uHhgRBydnbmcDhEnwoYuyCNgnfq6ury9fXlfuNyb8pLSUldvnz5+vXrCCEPDw9u/X379iGEoqKiCIx5oIyMjIkTJ+KRy8nJcW/cGxkZMZlM/OJDRkYGhmHnzp1TU1Pr185wc3NraWkh+iTAmAaTQcF7FBUV/fHHH9XV1b29vfjd+UWLFpmYmHR1db169UpFRYV77+jYsWOtra179+4ddBQUgbq7u5OTk+/fv9/c3CwlJWVkZOTg4ODh4aGgoPDy5Ut8wJOSkhJCqL29PSkp6dGjRx0dHXp6egsWLJg7d+7AeVwA8II0CoQDlvIE4xYMeAJC0NnZOWnSJHd39/j4eD6fcBccHDzoip8jc/z4cUVFRX5qMpnMiIiI7OzsO3fuSEtLCysAMJ5BaxQIwYULF9asWTN37tzbt2/zuYuqqmpXV5ewAmhra/vggw/4rGxhYfHs2bOsrKw5c+YIKwAwnkFrFAjBtWvXEELLly/nf5eoqKi+vj5hBYBf2eTTsmXLvvvuu2vXrkEaBUIBrVEgKBqNpqWlxWAw6urqxGKVuaKiIhsbGx0dnfr6ej4vQQAwBPg/BASVmpra09Pj5OQkFjkUIfTRRx+ZmJg0NTXl5eURHQuQBJBGgaBG0KMn3NKlS9F/IgdAQNCpBwLp7e3V0tKi0Wg1NTWGhoZEh8OvvLw8BweHSZMmvXjxAoaFAgFBaxQIJC0traury87OToxyKELI3t7ewMCgpqamsLCQ6FiA2IM0CgQijj16hBCJRIJ+PRAW6NSDkWMymdra2u3t7c+fP8cX9xQjOTk5H3/8sZmZWWVlJdGxAPEGrVEwcrdv325vb585c6bY5VCEkLOzs66ublVV1ZMnT4iOBYg3SKNg5MS0R4+TkpLy8fFB0K8HAoM0CkaIzWanpKQgsU2j6D+R//7770QHAsQbpFEwQtnZ2S0tLZaWlhYWFkTHMkJz5szR0NAoLS199uwZ0bEAMQZpFIyQWPfocTIyMt7e3gghfAlqAEYG0igYCQ6H8+9//xuJeRpF/4kfLo8CQcCAJzASubm5rq6ukydPfvHiBdGxCITBYGhra3d2dlZXV/M+sx4A/kFrFIwE3nz79NNPiQ5EUHJycgsXLkTQrwcCgDQKhg3DMPz59eLeo8dBvx4ICDr1YNjy8/Pt7e319fVra2slYF2Pnp4eTU3N7u7uV69eGRgYEB0OED/QGgXDhjfcfH19JSCHIoQUFBQ8PT0xDMNvmgEwXJBGwbDhlxElo0ePg349EAR06sHwlJSUWFtba2tr19fXS8yTNWk0mqamZl9fn7g8BwWMKdAaBcPDHXUvMTkUIaSsrOzu7s7hcPDprQAMC6RRMDwSMHlpUNCvByMGnXowDBUVFebm5hQKpampSUZGop7O3dHRoa2tzeFwGhsbNTQ0iA4HiBNojYJhSExMRAgtWbJEwnIoQkhNTW3OnDksFuvGjRtExwLEDKRRMAyS2qPHQb8ejAx06gG/Xr58aWxsrKam1tzcTCaTiQ5H+FpbW3V1daWlpZubmydMmEB0OEBsQGsU8Avv0Xt7e0tkDkUIaWhouLi4MBiMmzdvEh0LECeSdoULiI6FhYW7u7sELEcyBD8/P1VVVT09PaIDAeIEOvUAACAQaI2CoRQXF9+4caO6urq3t1dHR2fu3LleXl6SNPB+UPX19cnJySUlJR0dHWpqanZ2dr6+vmpqagNr9vb2Xr58uaCgoLOz09DQcPbs2d7e3lJScK1snMEAGAyVSl22bNnA/zC2tra1tbVERycqHA4nIiJCXl6+31lra2unp6f3q1xcXGxoaIhXUFBQwF98/PHHVCqVkOABUSCNgkEwmUwXFxeEkKmp6e+//97Z2cliscrKyjZt2oQQCgoKqq+vv86juLiY6JCFIywsDCGkrKx87Nix169fYxjW2Nh4/PhxZWXladOmMZlMbs23b99qampSKJTExEQGg4FhWHFx8fTp0xFCu3btIuwEABEgjYJBxMTEIIQMDAyam5v7bbp16xabzf7rr79ceBw9epSQOIWroqJCWlpaSkrqzp07/Tbl5+e3tbXxlrS2tm7dujUtLY238Pbt2wghKysrUYcKxhS4NgoGcebMGYTQgQMHtLS0+m2aN28eQsjV1TUnJ4eAyETp3LlzbDZ79erVbm5u/TbNmjWrXwmFQjl16lS/QvyqsaQOCAPvAmkU9EelUktKSkgk0pIlS4iOZVTl5uYihIY4676+vu+++05aWnr//v2DVsC/fvCHNoPxAwY8gf6ePHkyffp0XV3dhoYGomMRjhcvXhw9evSHH34YeikAXV3dpqamx48fT5s2bdAKXV1dqqqqMjIyTCaTW9jQ0PDXX3+9fv06KSkpLy9v5cqVcXFxcnJyQj4HMIZBaxT019XVhRBSVVUlOhDhiI+P37x5M5VKNTIy2rNnzxA133vicnJyoaGh/cZ7FRYW+vn54a8tLCx27NgBOXS8gQFuoD987A6DwSA6EEH19PTs2LHDz88PH7y1cePGoevj45yGOHEymXz48OHIyEjewrlz51ZXV+fn558+fZpKpbq4uFy5ckUo8QOxQfQ9LkA8FouVm5sbFBRkZWXFZDLr6+sRQmQyGR/HI6YKCwunTJmCEFJQUIiKiuJnl6lTpyKEBo4P5V9BQQFCSEdHh8VijfggQOxAa3T8wtfgCAwM1NLScnFxOXny5NOnTx88eDBx4kR9ff2+vr579+4RHeNIYBgWHR3t6OhYWVk5derUhw8f7tixg58d8dvxd+7cGfFb29jYaGpqNjU11dbWjvggQPwQncfBaOvp6UlJSQkICOBdC87S0jI0NDQ3Nxev8+WXXyKEPDw8iA11BN68ebNw4UL8pAICAuh0Ov/7pqWlIYQ0NDRaW1v5qd/S0tKvhMViKSsrI4TwoftgnIA0Ol7Q6XQ8e6qoqPBmz/Dw8LKysn6VGxoa8AdpbNmyhUajccsZDMbVq1e7u7sxDLt//76vry+fGWd0ZGZmTpw4EU+FKSkp/OxSW1vr5eVVUVGBYRiHw/nkk08QQrNnz66pqeGtdvfu3dLSUgaDERYWduDAAQzDnj59qqGhERYWxtt///bbbxFC5ubmHA5HqGcGxjRIoxKuvb09ISEhICBASUmpX/bEc8e75OTkfPDBBwghdXX1ZcuWffHFF56ennhuvXz5MofDsba2Rgjp6+tnZ2eP2um8C5PJDA8Px9cEmTNnTl1dHT97Xb9+XV1dHSG0aNEivKSxsXHmzJkIITKZPHfu3C+++MLX19fU1BQhtG7dOiqVihCSkZHBMKylpQX/BExMTNatW7d582YbGxuEkJycHHcSVGpqKu+XEJBUkEYl09u3b+Pi4hYtWsSdUSMlJeXk5BQVFcV/f7OhoSE4ONjMzAwf4iMvL29nZxcREYG3QGtra11dXRFCJBIpKCior69PlCc0lJcvXzo6OuIJLjw8nJ/bOz09PUFBQSQSCSHk7u7e2NjI3dTb23vixAk7Ozt83JK0tPSUKVO2bt2Kt0b37Nmzd+9e7kEiIyMtLCzw46ioqCxfvvzx48f41hcvXuAf2qJFi+Li4trb20Vx7mAsgDQqUVpaWvDsKSsri2dPaWlpPHs2NDSM+LAcDmfQVhWLxQoPD8eTrJ2dXXV1tQCxj1BCQgK+hJ2hoeHdu3f52aWsrGzGjBl4yzEqKmqIDnhXVxc/B2QymQNXdSooKHB2duYumkcmk728vH799dcxdRkECAWkUZGwtrY2MzMb9O/zn//8p5mZWUZGxqA7ZmVleXt7m5mZXblyhf+3e/XqVVRU1Lx587izdLjZs6mpaYTnwLcHDx5MnjwZIaSqqnr58mVRvx0XlUrlDgVdvnx5v6VD3iUuLk5RURG/gjkKC1MN8cVWX18/9L5r166dOHHioN8NV69enThx4r59+4Y+wosXL6ZMmWJsbGxsbCwxq3CNQZBGRQK/jcNmswduCggIQAhdu3aNt7Cvry8hIWH27Nncy5eHDh1677u8fPkyKirKyckJ71TydiE7OjqEdjJ86OjoWLlyJff++OhcEMzIyCCRSEpKSmfPnuWnPiFBcnEvs3DnOOGXWQ4fPlxVVTXoLvjc/MzMzIGbzp07hxDavn370G/q7u5OIpHwZ6I8ePBACKcBBgNpVCSGm0YfPnxIIpFsbW0jIiK2bt06dBqtrq7Gsyc35yoqKuLZk9gFg0e5oYdhWFRUVHl5OT81iWoyD8S96YcPjeK96ffs2TPemgKm0fPnz+N3xnx8fCCNihSkUZEYbhrFMIzbxfv+++8HTaNPnz4NDw+3tLTk/u2pqal9+umncXFxY+d2MP+XHUfNWLiAO6ju7m58CBrvLH48n5aWlmKCpdGWlhZ8Vek3b95AGhU1WJpkrMAHPA6qvLx84cKFL1++xH/U1NRcsmTJ8uXLP/nkE+4VtzHCwsIiLy8vNDT0hx9+2LlzZ2pqalxcnI6ODlHxvH79+rPPPsvNzcWHExw7dmzsfGIKCgre3t7e3t69vb23bt26ceNGUlJSWVnZgQMHMjMz8VX7Rmz79u0tLS2xsbGamprCChi8C0wGJZK9vb2VlVVbW9vQ1YyNjd++fauhoREQEJCSklJfX//LL794eHiMnYzAS15ePjo6+vr16xQKJSMjY+bMmenp6YREkpSUNHPmzNzcXG1t7bS0tOjo6DH7iXl7e//88891dXWpqanr16///PPP+d/9iy++mDx5cmpqKrckNTX16tWrrq6uwzoOGDFojYqQh4fHwMLS0lLu67KyMhqNxmKxhj6OnJxcQUGBiYmJGD1ycsmSJTY2Nv7+/jk5OZ6env/4xz9GsyXY29sbGhp68uRJhNDixYvPnj1LoVBG560FQSaTPT09PT09eQuDgoIGrt3X0tLCfd3U1FRTU0Oj0fAfqVTq5s2byWTyTz/9xL33CEQK0qgIlZWVDSzs6Ojgvs7JyWGz2fhEmqGZmZkJM7JRYWBgcOfOnR9++GH37t0nT5588OBBfHy8iYmJqN+3rKxs9erVjx8/lpeXP3z4MHeYvZjq6OgYuHYfPp8Kd/r06SNHjujr6+M/7tmz5/Xr12FhYRYWFqMX5ThH9MVZyTSCW0xc77rFJL7y8vKMjY0RQqqqqhcvXhTpe3FHC1hYWJSUlIj0vURtBLeY7t+/LyUlZWZm1tPTwy2EW0yiBq1RIHL29vZFRUWbN2++cuWKv79/enr66dOneYf7CEVHR8emTZsSEhIQQgEBATExMbzLCIwHDAYjMDCQw+FYWVlFR0dzy6uqqhBCFy5cyMvL27lzJ3EBSixIo2A0TJgwIT4+3tPTc+vWrRcuXMjPz4+Pj8eX9hCK7OzsgICAurq6CRMm/PTTT6tWrRLWkcVIXV3ds2fPEEJJSUlJSUn9tp4+fVpVVRXSqChAGgWjZ82aNba2tqtWrXry5ImDg0NsbOzq1asFP+yJEyd2797NZrOdnZ0vXbpkaGgo+DHFkb6+Pr78fj8hISE5OTmxsbH44lVA6CCNEsnOzo5Op+fm5qqrq3d3d+N3Enp6evB/29vbEULKyspjc5jOyFhaWubn54eGhp45cwZ/aIfgbG1tpaWld+3aFRERIUmfFZ82bNhw+/btU6dOLVy4EF+srx986RZzc3NIoyIiNgNoJFJ5eXlZWRk+4CkkJERdXV1dXX3fvn0IoYMHD+I/ZmRkEB2mkOEDSysqKqZPny6UA7q4uDx//vzw4cPjMIcihJqbm1+9ekWn04kOZPyC1qhIBAUF9fb2DjrOxsvLS0tLC3/aWm5uLnfAk4eHB95q6GcURggRwsDAgPs6MzMzOTn52bNnVCpVW1vb1dV13bp1g44De/r06dmzZ8vLy6lU6qRJk3x9fZcuXUoikXiPJjFWr15tbW2NLwXQj7W1dVhYmL29PUIoJibmX//6F3fA00DLli2zsLAYYpocEBAJwzCiYwDjV0dHx6pVq/BpTkpKSurq6m/evGEwGFpaWteuXXN2duatfPjw4b1793I4HF1dXRkZmdevXyOE1qxZc/78ebEeGQrEHXTqAWHYbPbixYvT09MtLS2zsrKoVGptbW1bW9vJkyepVGpsbCxv5bS0tK+++srU1LSgoKChoaG2tvbhw4cUCuW3335LTExECGVnZ1/l0dnZSdBpgXEHWqOAMBcuXFizZo2uru7ff//dbwWN8vJyc3Nz3jbm8+fPjx49GhwcbG5uzi387rvv9u7du3LlyitXruzataukpIS76VRU2dcAAAI4SURBVJdffsHH/AMganBtFBAGXxAzNDR04CpEAycympqa/vzzz/0K8ZGndXV1CKFjx46JKE4AhgadekAMNpv98OFDhBD3sfIDVVdXr1+//uDBg++qgI8Jw59gCgBRII0CYrx9+5ZOp8vIyAwxFKG5ufncuXMDJ+Rw4fem8AeUAkAU6NQDYuDjHJWUlIa4yW5sbPzjjz++a+HhsrKyK1euqKioBAYGiipKAPgAt5gAMZqbm3V0dGRlZfv6+kawO5VKdXR0LC0t/fXXX9evXy/08ADgH3TqATEoFIqCggKTyaytrR3uvnQ63dvbu7S0dN++fZBDAeEgjQJiyMjI4BPAh/uIkerqaicnp5ycnODg4IiICNFEB8AwQBoFhPH390cIHT16FF+NhR83b96cNWtWaWnp4cOHjx8/LsroAOAXpFFAmLVr106fPr2qqsrT0/PFixfc8s7OzpiYmNra2urq6sDAwAMHDiCEMAw7cuSIj4+PlJRUWlpaaGgocYED8D/gFhMgUm1trZeXV2lpqZSU1IwZM3R0dBobG589e9bb2xsZGenm5ubk5DRz5szi4uKdO3fiK7qrq6sPXMOltLRUXl6eiDMAAAY8AUIZGhoWFRXFxsYmJyeXlZXV1NRQKJT58+d7eXkFBAR0dXWdOnUKH/BEoVDmzZv3ruPA0iSAQNAaBQAAgcC1UQAAEAikUQAAEAikUQAAEAikUQAAEAikUQAAEAikUQAAEAikUQAAEAikUQAAEMj/ARzifn4nW8k5AAAAx3pUWHRyZGtpdFBLTCByZGtpdCAyMDIyLjAzLjUAAHice79v7T0GIOBlgABGIOaE4gZGtgQtIP2fmZlRQwMkySjByJYBFZJgYssACTKzSCCkWeBirHAxNrgYO1yMgxtkE1MCA3sCE3MGEzMLAzNrAisbAyt7BhM7B4MIIysDEzMru3gZ1ElgwHkuZPb+48+M94M4E79rHDD0mLofItWw1OzcKTAbqMYeSY0DQo2D/SNfS3sQ69KtC/b7f3+3h4rvRxLfDxMXAwBvzjQy8gG/GQAAASJ6VFh0TU9MIHJka2l0IDIwMjIuMDMuNQAAeJx9Uktuw0AI3fsUXMCjYf6zyMKfKKna2FLr5g7d9/4qxMI4UmrwApjH4+cGWD7H959f2MSNTQNgD75aK9y9tba5ARvQny9vEwxL10tkmL+n5QsqqWV9RnbLfJMIwgAtGoc+ugitNdm6HCjF2IdQ9nC9nFqEe/dx8pLm4AqtMylYRMsEmJJLSdNQkJ4LbGFCxhICFkW6lwUCpR21tQEjdXLUSBBgIkbiietUJjtfQlRcFFwmQjTJY8qFjOqzz7vCSXBlHexfwizAyrs6YCwCPE/j023Wa/XzNOq1WJ1eIZDrddXsFl1h4JAuCikQdR38nnRqpFDW4ehNqSrzQt03um+Lffn9yG7+AAPcicPdxNpGAAAAxXpUWHRTTUlMRVMgcmRraXQgMjAyMi4wMy41AAB4nG3Luw7CMAwF0F9hbKUkqu28cCc2FhB7lKFUbFStKtj68SQdaxbr+vg6jTpDk64MuU2jZsxpZMpVbBV2e/Z7DhlKjvm0NRoMAjlSujOhw2BVr9F42wGocgPvMai+q9lFa1H18uFP3wSnykCK1tUXT+CjAnOmQOWuDwV9bLRq+MzTY50XBjPN70vZbsNy/07P12qAUSIySSS2Ei07iY69RM9BYuAoMW4/HGRsFVRxm54AAAAASUVORK5CYII=", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[H]C1=C([H])[C-]([H])C([H])=C1[H]\n" + ] + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[Cl-]\n" + ] + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "for mol in newcell.moleclist:\n", + " if mol.iscomplex:\n", + " print(mol.formula)\n", + " print(f\"{mol.smiles=}\")\n", + " print(f\"{mol.smiles_with_H=}\")\n", + " for lig in mol.ligands:\n", + " print(lig.smiles)\n", + " display(mol_with_atom_index(lig.rdkit_obj))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8745e88c", + "metadata": {}, + "outputs": [], + "source": [ + "newcell.moleclist" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "id": "8a0c7280", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "------------- Cell2mol GROUP Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = group\n", + " Number of Atoms = 1\n", + " Formula = Cl\n", + " Has Adjacency Matrix = YES\n", + " Origin = split_ligand\n", + " Number of Metals = 1\n", + "---------------------------------------------------\n", + "\n", + "['Hg', 'Cl'] [[3.3561142, -1.7460605999999999, 4.0823379], [3.4671199, 3.2061439, 5.7530764]]\n", + "------------- Cell2mol GROUP Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = group\n", + " Number of Atoms = 1\n", + " Formula = Cl\n", + " Has Adjacency Matrix = YES\n", + " Origin = split_ligand\n", + " Number of Metals = 1\n", + "---------------------------------------------------\n", + "\n", + "['Hg', 'Cl'] [[3.3561142, -1.7460605999999999, 4.0823379], [2.9351153, 0.5309238, 9.0521877]]\n", + "------------- Cell2mol GROUP Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = group\n", + " Number of Atoms = 1\n", + " Formula = Cl\n", + " Has Adjacency Matrix = YES\n", + " Origin = split_ligand\n", + " Number of Metals = 2\n", + "---------------------------------------------------\n", + "\n", + "['Hg', 'Cl'] [[3.3561142, -1.7460605999999999, 4.0823379], [1.3562608, -0.0638992, 5.1197601]]\n", + "------------- Cell2mol GROUP Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = group\n", + " Number of Atoms = 1\n", + " Formula = Cl\n", + " Has Adjacency Matrix = YES\n", + " Origin = split_ligand\n", + " Number of Metals = 1\n", + "---------------------------------------------------\n", + "\n", + "['Hg', 'Cl'] [[3.3561142, -1.7460605999999999, 4.0823379], [2.7576338000000002, -3.8316994000000006, 5.1099833]]\n", + "------------- Cell2mol GROUP Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = group\n", + " Number of Atoms = 1\n", + " Formula = Cl\n", + " Has Adjacency Matrix = YES\n", + " Origin = split_ligand\n", + " Number of Metals = 1\n", + "---------------------------------------------------\n", + "\n", + "['Hg', 'Cl'] [[3.3561142, -1.7460605999999999, 4.0823379], [3.2896384000000003, -1.1564794000000003, 1.8108721]]\n", + "------------- Cell2mol GROUP Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = group\n", + " Number of Atoms = 1\n", + " Formula = Cl\n", + " Has Adjacency Matrix = YES\n", + " Origin = split_ligand\n", + " Number of Metals = 2\n", + "---------------------------------------------------\n", + "\n", + "['Hg', 'Cl'] [[3.3561142, -1.7460605999999999, 4.0823379], [4.8684929, -0.5616564000000004, 5.7432997]]\n", + "coord_group=[------------- Cell2mol GROUP Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = group\n", + " Number of Atoms = 1\n", + " Formula = Cl\n", + " Has Adjacency Matrix = YES\n", + " Origin = split_ligand\n", + " Number of Metals = 2\n", + "---------------------------------------------------\n", + ", ------------- Cell2mol GROUP Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = group\n", + " Number of Atoms = 1\n", + " Formula = Cl\n", + " Has Adjacency Matrix = YES\n", + " Origin = split_ligand\n", + " Number of Metals = 1\n", + "---------------------------------------------------\n", + ", ------------- Cell2mol GROUP Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = group\n", + " Number of Atoms = 1\n", + " Formula = Cl\n", + " Has Adjacency Matrix = YES\n", + " Origin = split_ligand\n", + " Number of Metals = 1\n", + "---------------------------------------------------\n", + ", ------------- Cell2mol GROUP Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = group\n", + " Number of Atoms = 1\n", + " Formula = Cl\n", + " Has Adjacency Matrix = YES\n", + " Origin = split_ligand\n", + " Number of Metals = 2\n", + "---------------------------------------------------\n", + "]\n", + "self.coord_nr=4\n", + "Cl [1.3562608, -0.0638992, 5.1197601]\n", + "Cl [2.7576338000000002, -3.8316994000000006, 5.1099833]\n", + "Cl [3.2896384000000003, -1.1564794000000003, 1.8108721]\n", + "Cl [4.8684929, -0.5616564000000004, 5.7432997]\n", + "symbols=['Hg', 'Cl', 'Cl', 'Cl', 'Cl']\n", + "positions=[[3.3561142, -1.7460605999999999, 4.0823379], [1.3562608, -0.0638992, 5.1197601], [2.7576338000000002, -3.8316994000000006, 5.1099833], [3.2896384000000003, -1.1564794000000003, 1.8108721], [4.8684929, -0.5616564000000004, 5.7432997]]\n", + "4\n", + "[[1, 2], [1, 3], [1, 4], [1, 5]]\n", + "Hg [3.3561142, -1.7460605999999999, 4.0823379]\n", + "Cl [1.3562608, -0.0638992, 5.1197601]\n", + "Cl [2.7576338000000002, -3.8316994000000006, 5.1099833]\n", + "Cl [3.2896384000000003, -1.1564794000000003, 1.8108721]\n", + "Cl [4.8684929, -0.5616564000000004, 5.7432997]\n", + "\n", + "The number of coordinating points (including the mid point of haptic ligands) : 4\n", + "{'Tetrahedral': 1.839, 'Square planar': 29.907, 'Seesaw': 7.15}\n", + "The most likely geometry : 'Tetrahedral' with deviation value 1.839\n", + "The type of hapticity : []\n", + "\n", + "self.coord_geometry='Tetrahedral' self.geom_deviation=1.839\n", + "[1.792, 1.381, 1.328, 1.519]\n", + "1.505\n", + "self.rel_metal_radius=1.14\n", + "------------- Cell2mol GROUP Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = group\n", + " Number of Atoms = 1\n", + " Formula = Cl\n", + " Has Adjacency Matrix = YES\n", + " Origin = split_ligand\n", + " Number of Metals = 1\n", + "---------------------------------------------------\n", + "\n", + "['Hg', 'Cl'] [[2.8686395, 1.120505, 6.7807219], [3.4671199, 3.2061439, 5.7530764]]\n", + "------------- Cell2mol GROUP Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = group\n", + " Number of Atoms = 1\n", + " Formula = Cl\n", + " Has Adjacency Matrix = YES\n", + " Origin = split_ligand\n", + " Number of Metals = 1\n", + "---------------------------------------------------\n", + "\n", + "['Hg', 'Cl'] [[2.8686395, 1.120505, 6.7807219], [2.9351153, 0.5309238, 9.0521877]]\n", + "------------- Cell2mol GROUP Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = group\n", + " Number of Atoms = 1\n", + " Formula = Cl\n", + " Has Adjacency Matrix = YES\n", + " Origin = split_ligand\n", + " Number of Metals = 2\n", + "---------------------------------------------------\n", + "\n", + "['Hg', 'Cl'] [[2.8686395, 1.120505, 6.7807219], [1.3562608, -0.0638992, 5.1197601]]\n", + "------------- Cell2mol GROUP Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = group\n", + " Number of Atoms = 1\n", + " Formula = Cl\n", + " Has Adjacency Matrix = YES\n", + " Origin = split_ligand\n", + " Number of Metals = 1\n", + "---------------------------------------------------\n", + "\n", + "['Hg', 'Cl'] [[2.8686395, 1.120505, 6.7807219], [2.7576338000000002, -3.8316994000000006, 5.1099833]]\n", + "------------- Cell2mol GROUP Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = group\n", + " Number of Atoms = 1\n", + " Formula = Cl\n", + " Has Adjacency Matrix = YES\n", + " Origin = split_ligand\n", + " Number of Metals = 1\n", + "---------------------------------------------------\n", + "\n", + "['Hg', 'Cl'] [[2.8686395, 1.120505, 6.7807219], [3.2896384000000003, -1.1564794000000003, 1.8108721]]\n", + "------------- Cell2mol GROUP Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = group\n", + " Number of Atoms = 1\n", + " Formula = Cl\n", + " Has Adjacency Matrix = YES\n", + " Origin = split_ligand\n", + " Number of Metals = 2\n", + "---------------------------------------------------\n", + "\n", + "['Hg', 'Cl'] [[2.8686395, 1.120505, 6.7807219], [4.8684929, -0.5616564000000004, 5.7432997]]\n", + "coord_group=[------------- Cell2mol GROUP Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = group\n", + " Number of Atoms = 1\n", + " Formula = Cl\n", + " Has Adjacency Matrix = YES\n", + " Origin = split_ligand\n", + " Number of Metals = 1\n", + "---------------------------------------------------\n", + ", ------------- Cell2mol GROUP Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = group\n", + " Number of Atoms = 1\n", + " Formula = Cl\n", + " Has Adjacency Matrix = YES\n", + " Origin = split_ligand\n", + " Number of Metals = 1\n", + "---------------------------------------------------\n", + ", ------------- Cell2mol GROUP Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = group\n", + " Number of Atoms = 1\n", + " Formula = Cl\n", + " Has Adjacency Matrix = YES\n", + " Origin = split_ligand\n", + " Number of Metals = 2\n", + "---------------------------------------------------\n", + ", ------------- Cell2mol GROUP Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = group\n", + " Number of Atoms = 1\n", + " Formula = Cl\n", + " Has Adjacency Matrix = YES\n", + " Origin = split_ligand\n", + " Number of Metals = 2\n", + "---------------------------------------------------\n", + "]\n", + "self.coord_nr=4\n", + "Cl [3.4671199, 3.2061439, 5.7530764]\n", + "Cl [2.9351153, 0.5309238, 9.0521877]\n", + "Cl [1.3562608, -0.0638992, 5.1197601]\n", + "Cl [4.8684929, -0.5616564000000004, 5.7432997]\n", + "symbols=['Hg', 'Cl', 'Cl', 'Cl', 'Cl']\n", + "positions=[[2.8686395, 1.120505, 6.7807219], [3.4671199, 3.2061439, 5.7530764], [2.9351153, 0.5309238, 9.0521877], [1.3562608, -0.0638992, 5.1197601], [4.8684929, -0.5616564000000004, 5.7432997]]\n", + "4\n", + "[[1, 2], [1, 3], [1, 4], [1, 5]]\n", + "Hg [2.8686395, 1.120505, 6.7807219]\n", + "Cl [3.4671199, 3.2061439, 5.7530764]\n", + "Cl [2.9351153, 0.5309238, 9.0521877]\n", + "Cl [1.3562608, -0.0638992, 5.1197601]\n", + "Cl [4.8684929, -0.5616564000000004, 5.7432997]\n", + "\n", + "The number of coordinating points (including the mid point of haptic ligands) : 4\n", + "{'Tetrahedral': 1.839, 'Square planar': 29.907, 'Seesaw': 7.15}\n", + "The most likely geometry : 'Tetrahedral' with deviation value 1.839\n", + "The type of hapticity : []\n", + "\n", + "self.coord_geometry='Tetrahedral' self.geom_deviation=1.839\n", + "[1.381, 1.328, 1.519, 1.792]\n", + "1.505\n", + "self.rel_metal_radius=1.14\n", + "------------- Cell2mol GROUP Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = group\n", + " Number of Atoms = 5\n", + " Formula = C5\n", + " Has Adjacency Matrix = YES\n", + " Origin = split_ligand\n", + " Number of Metals = 1\n", + "---------------------------------------------------\n", + "\n", + "['Hg', 'C', 'C', 'C', 'C', 'C'] [[6.4998052, 2.1910413, 5.3595078], [8.4662071, 4.3093526, 1.5686258], [8.4177716, 3.6384001, 0.3649988], [9.0069, 2.4157695, 0.5757422], [9.425084, 2.3344473, 1.9879399], [9.061447600000001, 3.5520773, 2.5593369]]\n", + "------------- Cell2mol GROUP Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = group\n", + " Number of Atoms = 5\n", + " Formula = C5\n", + " Has Adjacency Matrix = YES\n", + " Origin = split_ligand\n", + " Number of Metals = 2\n", + "---------------------------------------------------\n", + "\n", + "['Hg', 'C', 'C', 'C', 'C', 'C'] [[6.4998052, 2.1910413, 5.3595078], [6.1022008, 2.0607668, 3.3610307], [5.5104028, 3.0110239, 2.5441286], [5.3684013, 2.5137605, 1.2025407], [5.8997816, 1.2250349, 1.2351299], [6.3650269, 0.9240044, 2.5495601]]\n", + "------------- Cell2mol GROUP Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = group\n", + " Number of Atoms = 1\n", + " Formula = Cl\n", + " Has Adjacency Matrix = YES\n", + " Origin = split_ligand\n", + " Number of Metals = 1\n", + "---------------------------------------------------\n", + "\n", + "['Hg', 'Cl'] [[6.4998052, 2.1910413, 5.3595078], [6.985123, 2.3016164, 7.6030555]]\n", + "coord_group=[------------- Cell2mol GROUP Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = group\n", + " Number of Atoms = 5\n", + " Formula = C5\n", + " Has Adjacency Matrix = YES\n", + " Origin = split_ligand\n", + " Number of Metals = 2\n", + "---------------------------------------------------\n", + ", ------------- Cell2mol GROUP Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = group\n", + " Number of Atoms = 1\n", + " Formula = Cl\n", + " Has Adjacency Matrix = YES\n", + " Origin = split_ligand\n", + " Number of Metals = 1\n", + "---------------------------------------------------\n", + "]\n", + "self.coord_nr=2\n", + "group.haptic_type=['h5-Cp']\n", + "[[6.1022008, 2.0607668, 3.3610307], [5.5104028, 3.0110239, 2.5441286], [5.3684013, 2.5137605, 1.2025407], [5.8997816, 1.2250349, 1.2351299], [6.3650269, 0.9240044, 2.5495601]]\n", + "[5.8491627 1.9469181 2.178478 ]\n", + "mid point of group.haptic_type=['h5-Cp'] [5.8491627 1.9469181 2.178478 ]\n", + "Cl [6.985123, 2.3016164, 7.6030555]\n", + "symbols=['Hg', \"['h5-Cp']\", 'Cl']\n", + "positions=[[6.4998052, 2.1910413, 5.3595078], [5.8491627, 1.9469181, 2.178478], [6.985123, 2.3016164, 7.6030555]]\n", + "2\n", + "[[1, 2], [1, 3]]\n", + "Hg [6.4998052, 2.1910413, 5.3595078]\n", + "['h5-Cp'] [5.8491627, 1.9469181, 2.178478]\n", + "Cl [6.985123, 2.3016164, 7.6030555]\n", + "\n", + "The number of coordinating points (including the mid point of haptic ligands) : 2\n", + "{'Linear': 0.989, 'Bent (V-shape, 109.47°)': 14.426, 'Bent (L-shape, 90°)': 24.794}\n", + "The most likely geometry : 'Linear' with deviation value 0.989\n", + "The type of hapticity : [['h5-Cp']]\n", + "\n", + "self.coord_geometry='Linear' self.geom_deviation=0.989\n", + "[2.526, 1.278]\n", + "1.902\n", + "self.rel_metal_radius=1.441\n", + "------------- Cell2mol GROUP Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = group\n", + " Number of Atoms = 5\n", + " Formula = C5\n", + " Has Adjacency Matrix = YES\n", + " Origin = split_ligand\n", + " Number of Metals = 1\n", + "---------------------------------------------------\n", + "\n", + "['Fe', 'C', 'C', 'C', 'C', 'C'] [[7.3654285, 2.5762879, 1.7854525], [8.4662071, 4.3093526, 1.5686258], [8.4177716, 3.6384001, 0.3649988], [9.0069, 2.4157695, 0.5757422], [9.425084, 2.3344473, 1.9879399], [9.061447600000001, 3.5520773, 2.5593369]]\n", + "------------- Cell2mol GROUP Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = group\n", + " Number of Atoms = 5\n", + " Formula = C5\n", + " Has Adjacency Matrix = YES\n", + " Origin = split_ligand\n", + " Number of Metals = 2\n", + "---------------------------------------------------\n", + "\n", + "['Fe', 'C', 'C', 'C', 'C', 'C'] [[7.3654285, 2.5762879, 1.7854525], [6.1022008, 2.0607668, 3.3610307], [5.5104028, 3.0110239, 2.5441286], [5.3684013, 2.5137605, 1.2025407], [5.8997816, 1.2250349, 1.2351299], [6.3650269, 0.9240044, 2.5495601]]\n", + "------------- Cell2mol GROUP Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = group\n", + " Number of Atoms = 1\n", + " Formula = Cl\n", + " Has Adjacency Matrix = YES\n", + " Origin = split_ligand\n", + " Number of Metals = 1\n", + "---------------------------------------------------\n", + "\n", + "['Fe', 'Cl'] [[7.3654285, 2.5762879, 1.7854525], [6.985123, 2.3016164, 7.6030555]]\n", + "coord_group=[------------- Cell2mol GROUP Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = group\n", + " Number of Atoms = 5\n", + " Formula = C5\n", + " Has Adjacency Matrix = YES\n", + " Origin = split_ligand\n", + " Number of Metals = 1\n", + "---------------------------------------------------\n", + ", ------------- Cell2mol GROUP Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = group\n", + " Number of Atoms = 5\n", + " Formula = C5\n", + " Has Adjacency Matrix = YES\n", + " Origin = split_ligand\n", + " Number of Metals = 2\n", + "---------------------------------------------------\n", + "]\n", + "self.coord_nr=2\n", + "group.haptic_type=['h5-Cp']\n", + "[[8.4662071, 4.3093526, 1.5686258], [8.4177716, 3.6384001, 0.3649988], [9.0069, 2.4157695, 0.5757422], [9.425084, 2.3344473, 1.9879399], [9.061447600000001, 3.5520773, 2.5593369]]\n", + "[8.8754821 3.2500094 1.4113287]\n", + "mid point of group.haptic_type=['h5-Cp'] [8.8754821 3.2500094 1.4113287]\n", + "group.haptic_type=['h5-Cp']\n", + "[[6.1022008, 2.0607668, 3.3610307], [5.5104028, 3.0110239, 2.5441286], [5.3684013, 2.5137605, 1.2025407], [5.8997816, 1.2250349, 1.2351299], [6.3650269, 0.9240044, 2.5495601]]\n", + "[5.8491627 1.9469181 2.178478 ]\n", + "mid point of group.haptic_type=['h5-Cp'] [5.8491627 1.9469181 2.178478 ]\n", + "symbols=['Fe', \"['h5-Cp']\", \"['h5-Cp']\"]\n", + "positions=[[7.3654285, 2.5762879, 1.7854525], [8.8754821, 3.2500094, 1.4113287], [5.8491627, 1.9469181, 2.178478]]\n", + "2\n", + "[[1, 2], [1, 3]]\n", + "Fe [7.3654285, 2.5762879, 1.7854525]\n", + "['h5-Cp'] [8.8754821, 3.2500094, 1.4113287]\n", + "['h5-Cp'] [5.8491627, 1.9469181, 2.178478]\n", + "\n", + "The number of coordinating points (including the mid point of haptic ligands) : 2\n", + "{'Linear': 0.007, 'Bent (V-shape, 109.47°)': 13.717, 'Bent (L-shape, 90°)': 24.293}\n", + "The most likely geometry : 'Linear' with deviation value 0.007\n", + "The type of hapticity : [['h5-Cp'], ['h5-Cp']]\n", + "\n", + "self.coord_geometry='Linear' self.geom_deviation=0.007\n", + "[0.965, 0.958]\n", + "0.962\n", + "self.rel_metal_radius=0.729\n", + "******Generating feature vector for Fe\n", + "elem_nr=26 m_ox=3.0 valence_elec=5.0\n", + "------------- Cell2mol GROUP Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = group\n", + " Number of Atoms = 5\n", + " Formula = C5\n", + " Has Adjacency Matrix = YES\n", + " Origin = split_ligand\n", + " Number of Metals = 1\n", + "---------------------------------------------------\n", + "\n", + "['Fe', 'C', 'C', 'C', 'C', 'C'] [[7.3654285, 2.5762879, 1.7854525], [8.4662071, 4.3093526, 1.5686258], [8.4177716, 3.6384001, 0.3649988], [9.0069, 2.4157695, 0.5757422], [9.425084, 2.3344473, 1.9879399], [9.061447600000001, 3.5520773, 2.5593369]]\n", + "------------- Cell2mol GROUP Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = group\n", + " Number of Atoms = 5\n", + " Formula = C5\n", + " Has Adjacency Matrix = YES\n", + " Origin = split_ligand\n", + " Number of Metals = 2\n", + "---------------------------------------------------\n", + "\n", + "['Fe', 'C', 'C', 'C', 'C', 'C'] [[7.3654285, 2.5762879, 1.7854525], [6.1022008, 2.0607668, 3.3610307], [5.5104028, 3.0110239, 2.5441286], [5.3684013, 2.5137605, 1.2025407], [5.8997816, 1.2250349, 1.2351299], [6.3650269, 0.9240044, 2.5495601]]\n", + "------------- Cell2mol GROUP Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = group\n", + " Number of Atoms = 1\n", + " Formula = Cl\n", + " Has Adjacency Matrix = YES\n", + " Origin = split_ligand\n", + " Number of Metals = 1\n", + "---------------------------------------------------\n", + "\n", + "['Fe', 'Cl'] [[7.3654285, 2.5762879, 1.7854525], [6.985123, 2.3016164, 7.6030555]]\n", + "metal.coord_nr=2 metal.coord_geometry='Linear' geom_nr=0\n", + "metal.rel_metal_radius=0.729\n", + "hapticity=1\n", + "------------- Cell2mol GROUP Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = group\n", + " Number of Atoms = 5\n", + " Formula = C5\n", + " Has Adjacency Matrix = YES\n", + " Origin = split_ligand\n", + " Number of Metals = 2\n", + "---------------------------------------------------\n", + "\n", + "['Hg', 'C', 'C', 'C', 'C', 'C'] [[-3.1627853000000004, 6.4949012, 5.503552], [-3.028007, 7.7619381, 8.3134996], [-2.7651809, 6.6251757, 7.5020291], [-2.1733829, 5.6749186, 8.3189312], [-2.0313814, 6.1721819, 9.660519], [-2.5627616, 7.4609076, 9.6279299]]\n", + "------------- Cell2mol GROUP Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = group\n", + " Number of Atoms = 5\n", + " Formula = C5\n", + " Has Adjacency Matrix = YES\n", + " Origin = split_ligand\n", + " Number of Metals = 1\n", + "---------------------------------------------------\n", + "\n", + "['Hg', 'C', 'C', 'C', 'C', 'C'] [[-3.1627853000000004, 6.4949012, 5.503552], [-5.0807517, 5.0475424, 10.4980609], [-5.66988, 6.2701729, 10.2873176], [-6.088064, 6.3514951, 8.8751198], [-5.7244276, 5.1338652, 8.3037229], [-5.1291871, 4.3765899, 9.2944339]]\n", + "------------- Cell2mol GROUP Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = group\n", + " Number of Atoms = 1\n", + " Formula = Cl\n", + " Has Adjacency Matrix = YES\n", + " Origin = split_ligand\n", + " Number of Metals = 1\n", + "---------------------------------------------------\n", + "\n", + "['Hg', 'Cl'] [[-3.1627853000000004, 6.4949012, 5.503552], [-3.6481031, 6.3843261, 3.2600042]]\n", + "coord_group=[------------- Cell2mol GROUP Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = group\n", + " Number of Atoms = 5\n", + " Formula = C5\n", + " Has Adjacency Matrix = YES\n", + " Origin = split_ligand\n", + " Number of Metals = 2\n", + "---------------------------------------------------\n", + ", ------------- Cell2mol GROUP Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = group\n", + " Number of Atoms = 1\n", + " Formula = Cl\n", + " Has Adjacency Matrix = YES\n", + " Origin = split_ligand\n", + " Number of Metals = 1\n", + "---------------------------------------------------\n", + "]\n", + "self.coord_nr=2\n", + "group.haptic_type=['h5-Cp']\n", + "[[-3.028007, 7.7619381, 8.3134996], [-2.7651809, 6.6251757, 7.5020291], [-2.1733829, 5.6749186, 8.3189312], [-2.0313814, 6.1721819, 9.660519], [-2.5627616, 7.4609076, 9.6279299]]\n", + "[-2.5121428 6.7390244 8.6845818]\n", + "mid point of group.haptic_type=['h5-Cp'] [-2.5121428 6.7390244 8.6845818]\n", + "Cl [-3.6481031, 6.3843261, 3.2600042]\n", + "symbols=['Hg', \"['h5-Cp']\", 'Cl']\n", + "positions=[[-3.1627853000000004, 6.4949012, 5.503552], [-2.5121428, 6.7390244, 8.6845818], [-3.6481031, 6.3843261, 3.2600042]]\n", + "2\n", + "[[1, 2], [1, 3]]\n", + "Hg [-3.1627853000000004, 6.4949012, 5.503552]\n", + "['h5-Cp'] [-2.5121428, 6.7390244, 8.6845818]\n", + "Cl [-3.6481031, 6.3843261, 3.2600042]\n", + "\n", + "The number of coordinating points (including the mid point of haptic ligands) : 2\n", + "{'Linear': 0.989, 'Bent (V-shape, 109.47°)': 14.426, 'Bent (L-shape, 90°)': 24.794}\n", + "The most likely geometry : 'Linear' with deviation value 0.989\n", + "The type of hapticity : [['h5-Cp']]\n", + "\n", + "self.coord_geometry='Linear' self.geom_deviation=0.989\n", + "[2.526, 1.278]\n", + "1.902\n", + "self.rel_metal_radius=1.441\n", + "------------- Cell2mol GROUP Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = group\n", + " Number of Atoms = 5\n", + " Formula = C5\n", + " Has Adjacency Matrix = YES\n", + " Origin = split_ligand\n", + " Number of Metals = 2\n", + "---------------------------------------------------\n", + "\n", + "['Fe', 'C', 'C', 'C', 'C', 'C'] [[-4.028408600000001, 6.1096545, 9.0776072], [-3.028007, 7.7619381, 8.3134996], [-2.7651809, 6.6251757, 7.5020291], [-2.1733829, 5.6749186, 8.3189312], [-2.0313814, 6.1721819, 9.660519], [-2.5627616, 7.4609076, 9.6279299]]\n", + "------------- Cell2mol GROUP Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = group\n", + " Number of Atoms = 5\n", + " Formula = C5\n", + " Has Adjacency Matrix = YES\n", + " Origin = split_ligand\n", + " Number of Metals = 1\n", + "---------------------------------------------------\n", + "\n", + "['Fe', 'C', 'C', 'C', 'C', 'C'] [[-4.028408600000001, 6.1096545, 9.0776072], [-5.0807517, 5.0475424, 10.4980609], [-5.66988, 6.2701729, 10.2873176], [-6.088064, 6.3514951, 8.8751198], [-5.7244276, 5.1338652, 8.3037229], [-5.1291871, 4.3765899, 9.2944339]]\n", + "------------- Cell2mol GROUP Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = group\n", + " Number of Atoms = 1\n", + " Formula = Cl\n", + " Has Adjacency Matrix = YES\n", + " Origin = split_ligand\n", + " Number of Metals = 1\n", + "---------------------------------------------------\n", + "\n", + "['Fe', 'Cl'] [[-4.028408600000001, 6.1096545, 9.0776072], [-3.6481031, 6.3843261, 3.2600042]]\n", + "coord_group=[------------- Cell2mol GROUP Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = group\n", + " Number of Atoms = 5\n", + " Formula = C5\n", + " Has Adjacency Matrix = YES\n", + " Origin = split_ligand\n", + " Number of Metals = 2\n", + "---------------------------------------------------\n", + ", ------------- Cell2mol GROUP Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = group\n", + " Number of Atoms = 5\n", + " Formula = C5\n", + " Has Adjacency Matrix = YES\n", + " Origin = split_ligand\n", + " Number of Metals = 1\n", + "---------------------------------------------------\n", + "]\n", + "self.coord_nr=2\n", + "group.haptic_type=['h5-Cp']\n", + "[[-3.028007, 7.7619381, 8.3134996], [-2.7651809, 6.6251757, 7.5020291], [-2.1733829, 5.6749186, 8.3189312], [-2.0313814, 6.1721819, 9.660519], [-2.5627616, 7.4609076, 9.6279299]]\n", + "[-2.5121428 6.7390244 8.6845818]\n", + "mid point of group.haptic_type=['h5-Cp'] [-2.5121428 6.7390244 8.6845818]\n", + "group.haptic_type=['h5-Cp']\n", + "[[-5.0807517, 5.0475424, 10.4980609], [-5.66988, 6.2701729, 10.2873176], [-6.088064, 6.3514951, 8.8751198], [-5.7244276, 5.1338652, 8.3037229], [-5.1291871, 4.3765899, 9.2944339]]\n", + "[-5.5384621 5.4359331 9.451731 ]\n", + "mid point of group.haptic_type=['h5-Cp'] [-5.5384621 5.4359331 9.451731 ]\n", + "symbols=['Fe', \"['h5-Cp']\", \"['h5-Cp']\"]\n", + "positions=[[-4.028408600000001, 6.1096545, 9.0776072], [-2.5121428, 6.7390244, 8.6845818], [-5.5384621, 5.4359331, 9.451731]]\n", + "2\n", + "[[1, 2], [1, 3]]\n", + "Fe [-4.028408600000001, 6.1096545, 9.0776072]\n", + "['h5-Cp'] [-2.5121428, 6.7390244, 8.6845818]\n", + "['h5-Cp'] [-5.5384621, 5.4359331, 9.451731]\n", + "\n", + "The number of coordinating points (including the mid point of haptic ligands) : 2\n", + "{'Linear': 0.007, 'Bent (V-shape, 109.47°)': 13.717, 'Bent (L-shape, 90°)': 24.293}\n", + "The most likely geometry : 'Linear' with deviation value 0.007\n", + "The type of hapticity : [['h5-Cp'], ['h5-Cp']]\n", + "\n", + "self.coord_geometry='Linear' self.geom_deviation=0.007\n", + "[0.958, 0.965]\n", + "0.962\n", + "self.rel_metal_radius=0.729\n", + "******Generating feature vector for Fe\n", + "elem_nr=26 m_ox=3.0 valence_elec=5.0\n", + "------------- Cell2mol GROUP Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = group\n", + " Number of Atoms = 5\n", + " Formula = C5\n", + " Has Adjacency Matrix = YES\n", + " Origin = split_ligand\n", + " Number of Metals = 2\n", + "---------------------------------------------------\n", + "\n", + "['Fe', 'C', 'C', 'C', 'C', 'C'] [[-4.028408600000001, 6.1096545, 9.0776072], [-3.028007, 7.7619381, 8.3134996], [-2.7651809, 6.6251757, 7.5020291], [-2.1733829, 5.6749186, 8.3189312], [-2.0313814, 6.1721819, 9.660519], [-2.5627616, 7.4609076, 9.6279299]]\n", + "------------- Cell2mol GROUP Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = group\n", + " Number of Atoms = 5\n", + " Formula = C5\n", + " Has Adjacency Matrix = YES\n", + " Origin = split_ligand\n", + " Number of Metals = 1\n", + "---------------------------------------------------\n", + "\n", + "['Fe', 'C', 'C', 'C', 'C', 'C'] [[-4.028408600000001, 6.1096545, 9.0776072], [-5.0807517, 5.0475424, 10.4980609], [-5.66988, 6.2701729, 10.2873176], [-6.088064, 6.3514951, 8.8751198], [-5.7244276, 5.1338652, 8.3037229], [-5.1291871, 4.3765899, 9.2944339]]\n", + "------------- Cell2mol GROUP Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = group\n", + " Number of Atoms = 1\n", + " Formula = Cl\n", + " Has Adjacency Matrix = YES\n", + " Origin = split_ligand\n", + " Number of Metals = 1\n", + "---------------------------------------------------\n", + "\n", + "['Fe', 'Cl'] [[-4.028408600000001, 6.1096545, 9.0776072], [-3.6481031, 6.3843261, 3.2600042]]\n", + "metal.coord_nr=2 metal.coord_geometry='Linear' geom_nr=0\n", + "metal.rel_metal_radius=0.729\n", + "hapticity=1\n" ] }, { "data": { - "image/png": "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", - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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", "text/plain": [ - "" + "[------------- Cell2mol MOLECULE Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = molecule\n", + " Number of Atoms = 8\n", + " Formula = Cl6-Hg2\n", + " Has Adjacency Matrix = YES\n", + " Total Charge = -2\n", + " Spin = 1\n", + " Smiles = ['[Cl-]', '[Cl-]', '[Cl-]', '[Cl-]', '[Cl-]', '[Cl-]']\n", + " Origin = cell.reconstruct\n", + " Number of Ligands = 6\n", + " Number of Metals = 2\n", + " ---------------------------------------------------,\n", + " ------------- Cell2mol MOLECULE Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = molecule\n", + " Number of Atoms = 22\n", + " Formula = H9-C10-Cl-Fe-Hg\n", + " Has Adjacency Matrix = YES\n", + " Total Charge = 1\n", + " Spin = 2\n", + " Smiles = ['[H]C1=C([H])[C-]([H])C([H])=C1[H]', '[H]C1=[C-][C-]([H])C([H])=C1[H]', '[Cl-]']\n", + " Origin = cell.reconstruct\n", + " Number of Ligands = 3\n", + " Number of Metals = 2\n", + " ---------------------------------------------------,\n", + " ------------- Cell2mol MOLECULE Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = molecule\n", + " Number of Atoms = 22\n", + " Formula = H9-C10-Cl-Fe-Hg\n", + " Has Adjacency Matrix = YES\n", + " Total Charge = 1\n", + " Spin = 2\n", + " Smiles = ['[H]C1=[C-][C-]([H])C([H])=C1[H]', '[H]C1=C([H])[C-]([H])C([H])=C1[H]', '[Cl-]']\n", + " Origin = cell.reconstruct\n", + " Number of Ligands = 3\n", + " Number of Metals = 2\n", + " ---------------------------------------------------]" ] }, + "execution_count": 26, "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "CREATE BONDS: Number of atoms in ligand object and RDKit MOL are different: 10 11\n", - "[(0, 'H'), (1, 'C'), (2, 'C'), (3, 'H'), (4, 'C'), (5, 'H'), (6, 'C'), (7, 'H'), (8, 'C'), (9, 'H')]\n", - "[(0, 'H'), (1, 'C'), (2, 'C'), (3, 'H'), (4, 'C'), (5, 'H'), (6, 'C'), (7, 'H'), (8, 'C'), (9, 'H'), (10, 'H')]\n", - "NON_BONDED_ATOMS [10]\n", - "idx=0 H Number of bonds : 1\n", - "H : 0 , C : 1 , 1.0\n", - "BOND CREATED 0 0 1 1.0 H C\n", - "BONDS [('H', 'C', 1.0, 0.929)]\n", - "idx=1 C Number of bonds : 4\n", - "H : 0 , C : 1 , 1.0\n", - "BOND CREATED 1 1 0 1.0 C H\n", - "C : 1 , C : 2 , 1.0\n", - "BOND CREATED 1 1 2 1.0 C C\n", - "C : 1 , C : 8 , 1.0\n", - "BOND CREATED 1 1 8 1.0 C C\n", - "C : 1 , H : 10 , 1.0\n", - "NO BOND CREATED bond_startatom=1 or bond_endatom=10 is not in the specie.atoms. It belongs to non_bonded_atoms=[10].\n", - "BONDS [('C', 'H', 1.0, 0.929), ('C', 'C', 1.0, 1.373), ('C', 'C', 1.0, 1.379)]\n", - "idx=2 C Number of bonds : 3\n", - "C : 1 , C : 2 , 1.0\n", - "BOND CREATED 2 2 1 1.0 C C\n", - "C : 2 , H : 3 , 1.0\n", - "BOND CREATED 2 2 3 1.0 C H\n", - "C : 2 , C : 4 , 2.0\n", - "BOND CREATED 2 2 4 2.0 C C\n", - "BONDS [('C', 'C', 1.0, 1.373), ('C', 'H', 1.0, 0.933), ('C', 'C', 2.0, 1.475)]\n", - "idx=3 H Number of bonds : 1\n", - "C : 2 , H : 3 , 1.0\n", - "BOND CREATED 3 3 2 1.0 H C\n", - "BONDS [('H', 'C', 1.0, 0.933)]\n", - "idx=4 C Number of bonds : 3\n", - "C : 2 , C : 4 , 2.0\n", - "BOND CREATED 4 4 2 2.0 C C\n", - "C : 4 , H : 5 , 1.0\n", - "BOND CREATED 4 4 5 1.0 C H\n", - "C : 4 , C : 6 , 1.0\n", - "BOND CREATED 4 4 6 1.0 C C\n", - "BONDS [('C', 'C', 2.0, 1.475), ('C', 'H', 1.0, 0.926), ('C', 'C', 1.0, 1.393)]\n", - "idx=5 H Number of bonds : 1\n", - "C : 4 , H : 5 , 1.0\n", - "BOND CREATED 5 5 4 1.0 H C\n", - "BONDS [('H', 'C', 1.0, 0.926)]\n", - "idx=6 C Number of bonds : 3\n", - "C : 4 , C : 6 , 1.0\n", - "BOND CREATED 6 6 4 1.0 C C\n", - "C : 6 , H : 7 , 1.0\n", - "BOND CREATED 6 6 7 1.0 C H\n", - "C : 6 , C : 8 , 2.0\n", - "BOND CREATED 6 6 8 2.0 C C\n", - "BONDS [('C', 'C', 1.0, 1.393), ('C', 'H', 1.0, 0.93), ('C', 'C', 2.0, 1.382)]\n", - "idx=7 H Number of bonds : 1\n", - "C : 6 , H : 7 , 1.0\n", - "BOND CREATED 7 7 6 1.0 H C\n", - "BONDS [('H', 'C', 1.0, 0.93)]\n", - "idx=8 C Number of bonds : 3\n", - "C : 1 , C : 8 , 1.0\n", - "BOND CREATED 8 8 1 1.0 C C\n", - "C : 6 , C : 8 , 2.0\n", - "BOND CREATED 8 8 6 2.0 C C\n", - "C : 8 , H : 9 , 1.0\n", - "BOND CREATED 8 8 9 1.0 C H\n", - "BONDS [('C', 'C', 1.0, 1.379), ('C', 'C', 2.0, 1.382), ('C', 'H', 1.0, 0.931)]\n", - "idx=9 H Number of bonds : 1\n", - "C : 8 , H : 9 , 1.0\n", - "BOND CREATED 9 9 8 1.0 H C\n", - "BONDS [('H', 'C', 1.0, 0.931)]\n", - "idx=10 H Number of bonds : 1\n", - "C : 1 , H : 10 , 1.0\n", - "NO BOND CREATED bond_startatom=1 or bond_endatom=10 is not in the specie.atoms. It belongs to non_bonded_atoms=[10].\n", - "NO BONDS\n", - "Hg 2.0\n", - "Fe 3.0\n" - ] + "output_type": "execute_result" } ], "source": [ - "def mol_with_atom_index(mol):\n", - " for atom in mol.GetAtoms():\n", - " atom.SetAtomMapNum(atom.GetIdx())\n", - " return mol\n", - "\n", - "for mol in newcell.moleclist:\n", - " if mol.iscomplex:\n", - " for lig in mol.ligands:\n", - " # print(lig.formula, lig.totcharge, lig.smiles)\n", - " if lig.formula != \"Cl\" :\n", - " # display(mol_with_atom_index(lig.rdkit_obj))\n", - " create_bonds_spicie(lig, debug=2)\n", - "\n", - " for met in mol.metals:\n", - " print(met.label, met.charge) " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "ef8d51d6", - "metadata": {}, - "outputs": [], - "source": [ - "for g in ligand.groups:" + "newcell.assign_spin(debug=2)" ] }, { "cell_type": "code", - "execution_count": null, - "id": "725df503", + "execution_count": 29, + "id": "5a3cb6dc", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Cl6-Hg2 -2 1\n", + "Hg 2.0 1\n", + "4 Tetrahedral 1.839 1.14\n", + "Hg 2.0 1\n", + "4 Tetrahedral 1.839 1.14\n", + "H9-C10-Cl-Fe-Hg 1 2\n", + "Hg 2.0 1\n", + "2 Linear 0.989 1.441\n", + "Fe 3.0 2\n", + "2 Linear 0.007 0.729\n", + "H9-C10-Cl-Fe-Hg 1 2\n", + "Hg 2.0 1\n", + "2 Linear 0.989 1.441\n", + "Fe 3.0 2\n", + "2 Linear 0.007 0.729\n" + ] + } + ], "source": [ "for mol in newcell.moleclist:\n", " if mol.iscomplex:\n", - " for lig in mol.ligands:\n", - " print(lig.formula, lig.totcharge, lig.smiles)\n", - " print([atom.label for atom in lig.atoms])\n", - " for cs in lig.possible_cs:\n", - " print(cs.protonation.addedlist)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "e48cf3f8", - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "8a0c7280", - "metadata": {}, - "outputs": [], - "source": [ - "newcell.assign_spin(debug=2)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "252f2372", - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "b6142455", - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "7345cc62", - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "b99356c0", - "metadata": {}, - "outputs": [], - "source": [ - "newcell.error_prepare_mols" + " print(mol.formula, mol.totcharge, mol.spin)\n", + " for met in mol.metals:\n", + " print(met.label, met.charge, met.spin)\n", + " print(met.coord_nr, met.coord_geometry, met.geom_deviation, met.rel_metal_radius)" ] }, { "cell_type": "code", - "execution_count": null, - "id": "d68955a2", + "execution_count": 30, + "id": "1c46ec64", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "[------------- Cell2mol MOLECULE Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = molecule\n", + " Number of Atoms = 8\n", + " Formula = Cl6-Hg2\n", + " Has Adjacency Matrix = YES\n", + " Total Charge = -2\n", + " Spin = 1\n", + " Smiles = ['[Cl-]', '[Cl-]', '[Cl-]', '[Cl-]', '[Cl-]', '[Cl-]']\n", + " Origin = cell.reconstruct\n", + " Number of Ligands = 6\n", + " Number of Metals = 2\n", + " ---------------------------------------------------,\n", + " ------------- Cell2mol MOLECULE Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = molecule\n", + " Number of Atoms = 22\n", + " Formula = H9-C10-Cl-Fe-Hg\n", + " Has Adjacency Matrix = YES\n", + " Total Charge = 1\n", + " Spin = 2\n", + " Smiles = ['[H]C1=C([H])[C-]([H])C([H])=C1[H]', '[H]C1=[C-][C-]([H])C([H])=C1[H]', '[Cl-]']\n", + " Origin = cell.reconstruct\n", + " Number of Ligands = 3\n", + " Number of Metals = 2\n", + " ---------------------------------------------------,\n", + " ------------- Cell2mol MOLECULE Object --------------\n", + " Version = 0.1\n", + " Type = specie\n", + " Sub-Type = molecule\n", + " Number of Atoms = 22\n", + " Formula = H9-C10-Cl-Fe-Hg\n", + " Has Adjacency Matrix = YES\n", + " Total Charge = 1\n", + " Spin = 2\n", + " Smiles = ['[H]C1=[C-][C-]([H])C([H])=C1[H]', '[H]C1=C([H])[C-]([H])C([H])=C1[H]', '[Cl-]']\n", + " Origin = cell.reconstruct\n", + " Number of Ligands = 3\n", + " Number of Metals = 2\n", + " ---------------------------------------------------]" + ] + }, + "execution_count": 30, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "newcell.moleclist" ] }, { "cell_type": "code", - "execution_count": null, - "id": "6da80a03", - "metadata": { - "scrolled": false - }, - "outputs": [], - "source": [ - "newcell.assign_spin(debug=2)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "5a3cb6dc", - "metadata": {}, - "outputs": [], - "source": [ - "for mol in newcell.moleclist:\n", - " if mol.iscomplex:\n", - " for met in mol.metals:\n", - " print(met.label, met.spin)" - ] - }, - { - "cell_type": "code", - "execution_count": null, + "execution_count": 31, "id": "d5ab74f4", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "SAVING cell2mol CELL object to BACZUB/BACZUB.cell\n" + ] + } + ], "source": [ "newcell.save(f\"{name}/{name}.cell\")" ]