[Rdkit-discuss] What does InertialShapeFactor actually calculate?
Hello, everyone I have found the 3DDescriptors class in RDKit to be quite useful, however, I have some gripes with the documentation. The descriptors which are listed here (https://www.rdkit.org/docs/source/rdkit.Chem.Descriptors3D.html) neatly with formulas, brief descriptions, and references, which is something I appreciate. However, as I don't have a background in physics (something which I think applies to other users of this software as well), it's not always clear to me what the individual descriptors describe. As an example, InertialShapeFactor is for me diffuse. I understand how the formula works and what the components of the formula represent, but I do not exactly envision what topological features I should expect from low vs. high numbers of this descriptors without performing the necessary calculations on examples. The reference to Todeschini and Consoni's book (which, as a book, is not freely available) on these descriptors also fails to give a "layman's" understanding of this descriptor. I therefore think it would be beneficial if the brief description in this documentation would be expanded to reflect on the nature of what these descriptors describe. What are the thoughts of the other members in this community on this? Illimar Rekand Ph.D. candidate, Brenk-lab, Haug-lab Department of Biomedicine Department of Chemistry University of Bergen ___ Rdkit-discuss mailing list Rdkit-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/rdkit-discuss
[Rdkit-discuss] Problems with xyz-coordinates after setting PDBResidueinfo
Hello, all I have written a script which extracts certain residues from a PDB file, and writes them out to a new PDB-file. The script looks like this: from rdkit import Chem def create_sub_mol(mol_in, mol_in_conf, bs_atom_list): """ Creates a mol of given atoms atoms, e.g. the atoms where deltaSASA is larger than zero. """ empty_mol = Chem.Mol() #create empty mol mol_rw = Chem.RWMol(empty_mol) #make empty mol editable. This will be our output conformer = Chem.Conformer(len(bs_atom_list)) # create conformer for new mol. Otherwise, unable to add xyz for idx in bs_atom_list: #get original atom info original_atom = mol_in.GetAtomWithIdx(idx) res_info = original_atom.GetPDBResidueInfo() original_element = original_atom.GetAtomicNum() original_res_name = res_info.GetResidueName() original_xyz = list(mol_in_conf.GetAtomPosition(idx)) # #set new atom, info new_xyz = Chem.rdGeometry.Point3D(original_xyz[0], original_xyz[1], original_xyz[2]) #create Point3D object which can be added to conformer new_atom_idx = mol_rw.AddAtom(Chem.Atom(original_element)) #add atom, returns new atom idx print(new_atom_idx) new_atom = mol_rw.GetAtomWithIdx(new_atom_idx) conformer.SetAtomPosition(new_atom_idx, new_xyz) #assign new xyz to new mol new_res_inf = Chem.AtomPDBResidueInfo() new_res_inf.SetResidueName(original_res_name) new_atom.SetMonomerInfo(new_res_inf) #invoking this line creates trouble mol_out = mol_rw.GetMol() mol_out_conf = mol_out.AddConformer(conformer, assignId = True) #merges conformer with mol return mol_out, mol_out_conf rna = Chem.rdmolfiles.MolFromPDBFile("./1aju.pdb") rna_conf = rna.GetConformer() short_list = [65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382] rna_extract, rna_extract_conf = create_sub_mol(rna, rna_conf, short_list) Chem.rdmolfiles.MolToPDBFile(rna_extract, "1aju_extr.pdb") When I invoke the line with the function SetMonomerInfo() for the new atom, the coordinates for the extracted residues suddenly get jumbled and compressed, and make no sense, as opposed to when I create this mol-object without invoking this line. What is happening here that I do not understand? Looking forward to hearing from you all, Illimar Rekand Ph.D. candidate, Brenk-lab, Haug-lab Department of Biomedicine Department of Chemistry University of Bergen ___ Rdkit-discuss mailing list Rdkit-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/rdkit-discuss
Re: [Rdkit-discuss] Constructing a mol object from a PDB ligand
Thanks, Paolo, for a good and clear example. I adapted your code into my workflow to calculate some Lipinski-properties of RNA pdb-structures, and ran into some issues. I'm not sure if I should make a new thread or throw this onto this one I already created? I used the following code under from rdkit import Chem from rdkit.Chem import rdmolops, Lipinski from urllib.request import urlopen import gzip import pprint pp = pprint.PrettyPrinter(indent=4) Lipinski_dic = {'FractionCSP3':Lipinski.FractionCSP3, 'HeavyAtomCount':Lipinski.HeavyAtomCount, 'NHOHCount': Lipinski.NHOHCount, "NOCount":Lipinski.NOCount, "NumAliphaticCarbocycles": Lipinski.NumAliphaticCarbocycles, "NumAliphaticHeterocycles" : Lipinski.NumAliphaticHeterocycles, 'NumAliphaticRings' : Lipinski.NumAliphaticRings, 'NumAromaticCarbocycles' : Lipinski.NumAromaticCarbocycles, 'NumAromaticHeterocycles' : Lipinski.NumAromaticHeterocycles, 'NumAromaticRings' : Lipinski.NumAromaticRings, 'NumHAcceptors' : Lipinski.NumHAcceptors, 'NumHDonors' : Lipinski.NumHDonors, 'NumHeteroatoms' : Lipinski.NumHeteroatoms, 'NumRotatableBonds' : Lipinski.NumRotatableBonds, 'NumSaturatedCarbocycles' : Lipinski.NumSaturatedCarbocycles, 'NumSaturatedHeterocycles' : Lipinski.NumSaturatedHeterocycles, 'NumSaturatedRings' : Lipinski.NumSaturatedRings, 'RingCount' : Lipinski.RingCount } url = "https://files.rcsb.org/download/1arj.pdb.gz; pdb_data = gzip.decompress(urlopen(url).read()) mol = Chem.RWMol(Chem.MolFromPDBBlock(pdb_data)) bonds_to_cleave = {(b.GetBeginAtomIdx(), b.GetEndAtomIdx()) for b in mol.GetBonds() if b.GetBeginAtom().GetPDBResidueInfo().GetIsHeteroAtom() ^ b.GetEndAtom().GetPDBResidueInfo().GetIsHeteroAtom()} [mol.RemoveBond(*b) for b in bonds_to_cleave] hetatm_frags = [f for f in rdmolops.GetMolFrags(mol, asMols=True, sanitizeFrags=True) if f.GetNumAtoms() and f.GetAtomWithIdx(0).GetPDBResidueInfo().GetIsHeteroAtom()] for hetatm in hetatm_frags: res_name = hetatm.GetAtomWithIdx(0).GetPDBResidueInfo().GetResidueName() calculated_props = {} for prop in Lipinski_dic: function = Lipinski_dic[prop] x = function(hetatm) calculated_props[prop] = x pp.pprint(calculated_props) and as you can see the properties of the ligand doesn't match up with what is expected (The number of SP3-atoms doesn't match up). When parsing through the structure 3got, it fails to recognize the aromatic rings of the ligand A2F. I'm assuming this is caused by RDKit not assigning bond orders correctly when reading in RNA and DNA pdb files (something which I have reported in earlier on this mailing list)? Running hetatm.UpdatePropertyCache(strict=True) does not remedy this problem. Is there a clever way I can fix this quickly without waiting for this to be fixed in a future version? Illimar Rekand Ph.D. candidate, Brenk-lab, Haug-lab Department of Biomedicine Department of Chemistry University of Bergen ________ From: Illimar Hugo Rekand Sent: Monday, December 16, 2019 5:55:56 PM To: Paolo Tosco Subject: Re: [Rdkit-discuss] Constructing a mol object from a PDB ligand Hey, Paolo, thanks for a good and clear example! all the best, Illimar Rekand Ph.D. candidate, Brenk-lab, Haug-lab Department of Biomedicine Department of Chemistry University of Bergen From: Paolo Tosco Sent: Monday, December 16, 2019 5:52:18 PM To: Illimar Hugo Rekand; rdkit-discuss@lists.sourceforge.net Subject: Re: [Rdkit-discuss] Constructing a mol object from a PDB ligand Hi Illimar, this gist: https://gist.github.com/ptosco/2ee199b219b27e01052a7a1433b3bd22 shows a way to achieve this. Cheers, p. On 16/12/2019 16:07, Illimar Hugo Rekand wrote: > Hello, everyone > > > Is there a simple way to create a mol object from just the HETATM/ligand > lines from a pdb-file? > > Would it be viable to create a function where you could create a mol object > from specific lines within a pdb-file? > > > Illimar Rekand > Ph.D. candidate, > Brenk-lab, Haug-lab > Department of Biomedicine > Department of Chemistry > University of Bergen > > > > ___ > Rdkit-discuss mailing list > Rdkit-discuss@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/rdkit-discuss ___ Rdkit-discuss mailing list Rdkit-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/rdkit-discuss
Re: [Rdkit-discuss] Constructing a mol object from a PDB ligand
Fair point. But when working in the 100s and 1000s range of PDB-files it would be nice to have some fewer steps when designing a pipeline. Illimar Rekand Ph.D. candidate, Brenk-lab, Haug-lab Department of Biomedicine Department of Chemistry University of Bergen From: Dimitri Maziuk via Rdkit-discuss Sent: Monday, December 16, 2019 5:24:49 PM To: rdkit-discuss@lists.sourceforge.net Subject: Re: [Rdkit-discuss] Constructing a mol object from a PDB ligand On 12/16/2019 10:07 AM, Illimar Hugo Rekand wrote: > Would it be viable to create a function where you could create a mol object > from specific lines within a pdb-file? PDB file is simple text. There's any number of utilities to extract the lines you want, incl. a plain text editor, why spend time on reinventing the wheel? Dima ___ Rdkit-discuss mailing list Rdkit-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/rdkit-discuss ___ Rdkit-discuss mailing list Rdkit-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/rdkit-discuss
[Rdkit-discuss] Constructing a mol object from a PDB ligand
Hello, everyone Is there a simple way to create a mol object from just the HETATM/ligand lines from a pdb-file? Would it be viable to create a function where you could create a mol object from specific lines within a pdb-file? Illimar Rekand Ph.D. candidate, Brenk-lab, Haug-lab Department of Biomedicine Department of Chemistry University of Bergen ___ Rdkit-discuss mailing list Rdkit-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/rdkit-discuss
[Rdkit-discuss] Perceived bond orders of RNA PDB-files
Hello, everyone I was wondering if there is any reason for why aromaticity and perceived bond orders are not set properly when using the MolFromPDB-function for RNA PDB files, while it works perfectly for protein PDB files? Illimar Rekand Ph.D. candidate, Brenk-lab, Haug-lab Department of Biomedicine Department of Chemistry University of Bergen ___ Rdkit-discuss mailing list Rdkit-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/rdkit-discuss
Re: [Rdkit-discuss] Setting custom coordinates for new atoms
Hello, Paolo Thank you for your help and feedback :) I implemented the changes and it worked like a charm! Illimar Rekand Ph.D. candidate, Brenk-lab, Haug-lab Department of Biomedicine Department of Chemistry University of Bergen From: Paolo Tosco Sent: Thursday, August 29, 2019 2:31:37 AM To: Illimar Hugo Rekand; rdkit-discuss@lists.sourceforge.net Subject: Re: [Rdkit-discuss] Setting custom coordinates for new atoms Hi Illimar, The problem here is that you are adding atoms to your RWMol, but the Conformer object that you are trying to access with the newly added atom indices is still tied to the original molecule which does not have the newly added atoms, hence your indices are out of bounds. If you reference the Conformer object associated to the RWMol this won't happen. I have slightly modifed your code below: from rdkit import Chem from rdkit.Chem import AllChem, rdFreeSASA, RDConfig, \ rdmolops, rdMolTransforms, rdGeometry def block_apolar_N_atoms(mol): """ Method: The unit vector is found from two neighbouring atoms. This unit vector is scaled to the appropiate distance of the two new dummy atoms from the N-atom (2.4 Å) The two atoms are placed at the N-atom coord + and - the scaled unit vector """ #places two C-atoms 2.4 Å above and below aromatic N-atoms. mw = Chem.RWMol(mol) conf = mw.GetConformer() for atom in mol.GetAtoms(): idx = 0 if atom.GetSymbol() == "N" and atom.GetIsAromatic(): idx = atom.GetIdx() print(idx) print("Found aromatic N") atom_3d_point = conf.GetAtomPosition(idx) n = 0 vector_list = [] #need two neighbors to find cross product -> unit vector while n < 2: for nbr in atom.GetNeighbors(): nbridx = nbr.GetIdx() nbr_3d_point = conf.GetAtomPosition(nbridx) vector = nbr_3d_point - atom_3d_point print("vector", vector, list(vector)) vector_list.append(vector) n += 1 #the unit vector is perpendicular to the two vectors unit_vector = rdGeometry.Point3D.CrossProduct( vector_list[0], vector_list[1]) #this is usually ~1.72 Å for a N in an aromatic six-membered ring length_unit_vector = rdGeometry.Point3D.Length(unit_vector) print("length:", length_unit_vector, "Å") #let's figure out how much the unit vector needs to be scaled scalar = 2.4 / length_unit_vector #let's scale the vector scaled_vector =[i * scalar for i in list(unit_vector)] #make a Point3D object. Easier to handle in RDKit scaled_vector_3d = rdGeometry.Point3D( scaled_vector[0], scaled_vector[1], scaled_vector[2]) A1 = atom_3d_point + scaled_vector_3d # New atom coordinate A2 = atom_3d_point - scaled_vector_3d # New atom coordinate print("A1", list(A1), A1,"A2", list(A2), A2) A1_idx = mw.AddAtom(Chem.Atom(6)) print("A1_ix", A1_idx) print(type(A1_idx)) c = conf.SetAtomPosition(A1_idx, A1) A2_idx = mw.AddAtom(Chem.Atom(6)) print("A2_idx", A2_idx) prot = Chem.MolFromPDBFile("C:/data/paolo/support/illimar/3etr.pdb") block_apolar_N_atoms(prot) Cheers, p. On 26/08/2019 02:13, Illimar Hugo Rekand wrote: Hello, everyone and thanks for the help. I tried out implementing the functionality in my code, but after running the following function: #!/usr/bin/env python3.7 from rdkit import Chem from rdkit.Chem import AllChem, rdFreeSASA, RDConfig, rdmolops, rdMolTransforms, rdGeometry def block_apolar_N_atoms(mol, conf): #places two C-atoms 2.4 Å above and below aromatic N-atoms. """ Method: The unit vector is found from two neighbouring atoms. This unit vector is scaled to the appropiate distance of the two new dummy atoms from the N-atom (2.4 Å) The two atoms are placed at the N-atom coord + and - the scaled unit vector """ mw = Chem.RWMol(mol) for atom in mol.GetAtoms(): idx = 0 if atom.GetSymbol() == "N" and atom.GetIsAromatic(): idx = atom.GetIdx() print(idx) print("Found aromatic N") atom_3d_point = conf.GetAtomPosition(idx) n = 0 vector_list = [] while n < 2: #need two neighbors to find cross product -> unit vector for nbr in atom.GetNeighbors(): nbridx = nbr.GetIdx() nbr_3d_point = conf.GetAtomPosition(nbrid
Re: [Rdkit-discuss] Setting custom coordinates for new atoms
Hello, everyone and thanks for the help. I tried out implementing the functionality in my code, but after running the following function: #!/usr/bin/env python3.7 from rdkit import Chem from rdkit.Chem import AllChem, rdFreeSASA, RDConfig, rdmolops, rdMolTransforms, rdGeometry def block_apolar_N_atoms(mol, conf): #places two C-atoms 2.4 Å above and below aromatic N-atoms. """ Method: The unit vector is found from two neighbouring atoms. This unit vector is scaled to the appropiate distance of the two new dummy atoms from the N-atom (2.4 Å) The two atoms are placed at the N-atom coord + and - the scaled unit vector """ mw = Chem.RWMol(mol) for atom in mol.GetAtoms(): idx = 0 if atom.GetSymbol() == "N" and atom.GetIsAromatic(): idx = atom.GetIdx() print(idx) print("Found aromatic N") atom_3d_point = conf.GetAtomPosition(idx) n = 0 vector_list = [] while n < 2: #need two neighbors to find cross product -> unit vector for nbr in atom.GetNeighbors(): nbridx = nbr.GetIdx() nbr_3d_point = conf.GetAtomPosition(nbridx) vector = nbr_3d_point - atom_3d_point print("vector", vector, list(vector)) vector_list.append(vector) n += 1 unit_vector = rdGeometry.Point3D.CrossProduct(vector_list[0], vector_list[1]) #the unit vector is perpendicular to the two vectors length_unit_vector = rdGeometry.Point3D.Length(unit_vector) #this is usually ~1.72 Å for a N in an aromatic six-membered ring print("length:", length_unit_vector, "Å") scalar = 2.4 / length_unit_vector #let's figure out how much the unit vector needs to be scaled scaled_vector =[i * scalar for i in list(unit_vector)] #let's scale the vector scaled_vector_3d = rdGeometry.Point3D(scaled_vector[0], scaled_vector[1], scaled_vector[2]) #make a Point3D object. Easier to handle in RDKit A1 = atom_3d_point + scaled_vector_3d # New atom coordinate A2 = atom_3d_point - scaled_vector_3d # New atom coordinate print("A1", list(A1), A1,"A2", list(A2), A2) A1_idx = mw.AddAtom(Chem.Atom(6)) print("A1_ix", A1_idx) print(type(A1_idx)) c = conf.SetAtomPosition(A1_idx, A1) A2_idx = mw.AddAtom(Chem.Atom(6)) print("A2_idx", A2_idx) prot = Chem.MolFromPDBFile("./3etr.pdb") protconf = prot.GetConformer() block_apolar_N_atoms(prot, protconf) I get the following error: RuntimeError: Pre-condition Violation Violation occurred on line 51 in file Code/GraphMol/Conformer.cpp Failed Expression: dp_mol->getNumAtoms() == d_positions.size() RDKIT: 2019.09.1dev1 BOOST: 1_67 Hoping to hear from you soon! Illimar Rekand Ph.D. candidate, Brenk-lab, Haug-lab Department of Biomedicine Department of Chemistry University of Bergen From: Paolo Tosco Sent: Thursday, August 22, 2019 11:47:19 AM To: Illimar Hugo Rekand; rdkit-discuss@lists.sourceforge.net Subject: Re: [Rdkit-discuss] Setting custom coordinates for new atoms Hi Illimar, AddAtom() will return the index i of the added atom, then you can call SetAtomPosition on that index on the molecule conformer and pass a Point3D with the desired coordinates: conf.SetAtomPosition(i, Point3D(x, y, z)) Cheers, p. On 08/22/19 09:24, Illimar Hugo Rekand wrote: > Hello, everyone > > > I'm wondering whether there is a way to set custom coordinates to an atom in > a conformer? > > In particular I'm interested in using the AddAtom() function in the RWMol > class to place a new dummy atom in a PDB-file. > > > Illimar Rekand > Ph.D. candidate, > Brenk-lab, Haug-lab > Department of Biomedicine > Department of Chemistry > University of Bergen > > > > ___ > Rdkit-discuss mailing list > Rdkit-discuss@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/rdkit-discuss ___ Rdkit-discuss mailing list Rdkit-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/rdkit-discuss
[Rdkit-discuss] Setting custom coordinates for new atoms
Hello, everyone I'm wondering whether there is a way to set custom coordinates to an atom in a conformer? In particular I'm interested in using the AddAtom() function in the RWMol class to place a new dummy atom in a PDB-file. Illimar Rekand Ph.D. candidate, Brenk-lab, Haug-lab Department of Biomedicine Department of Chemistry University of Bergen ___ Rdkit-discuss mailing list Rdkit-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/rdkit-discuss
[Rdkit-discuss] FreeSASA surface coordinates
Hello, everyone I was wondering if there is any way to access the surface coordinates calculated on individual atoms from the FreeSASA package? Illimar Rekand Ph.D. candidate, Brenk-lab, Haug-lab Department of Biomedicine Department of Chemistry University of Bergen ___ Rdkit-discuss mailing list Rdkit-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/rdkit-discuss
Re: [Rdkit-discuss] Get distances between two atoms in different molecules
Thanks, this worked like a charm! I was wondering on another thing: I wanted to calculate the bond angle between three atoms in the two conformers (essentially looking for possible hydrogen bonding). Again, rdMolTransforms.GetAngleDeg() inputs only one conformer, while the Point3D angle functions inputs either two or four atom indices. Is there some function I've either misunderstood/missed or is it better to retrieve this angle from vector calculations? Illimar Rekand Ph.D. candidate, Brenk-lab, Haug-lab Department of Biomedicine Department of Chemistry University of Bergen From: Paolo Tosco Sent: Friday, August 16, 2019 4:33:36 PM To: Illimar Hugo Rekand Cc: rdkit-discuss@lists.sourceforge.net Subject: Re: [Rdkit-discuss] Get distances between two atoms in different molecules Hi Illimar, You may use Point3D.Distance: conf_a.GetAtomPosition(i).Distance(conf_b.GetAtomPosition(j)) Cheers, p. > On 16 Aug 2019, at 16:01, Illimar Hugo Rekand wrote: > > Hello everyone, > > > I see that GetBondDistance() is a useful tool for calculating the distances > between atoms, whether bonded or nonbonded. However, I am unsure on how to > implement this function to calculate distances between atoms in different > molecule, as the functions requires a conformer as an argument. > > > Would I need to generate a conformer containing both molecules in order to > use this function for calculating the intermolecular atom distances? > > > Illimar Rekand > Ph.D. candidate, > Brenk-lab, Haug-lab > Department of Biomedicine > Department of Chemistry > University of Bergen > > > > ___ > Rdkit-discuss mailing list > Rdkit-discuss@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/rdkit-discuss ___ Rdkit-discuss mailing list Rdkit-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/rdkit-discuss
[Rdkit-discuss] Get distances between two atoms in different molecules
Hello everyone, I see that GetBondDistance() is a useful tool for calculating the distances between atoms, whether bonded or nonbonded. However, I am unsure on how to implement this function to calculate distances between atoms in different molecule, as the functions requires a conformer as an argument. Would I need to generate a conformer containing both molecules in order to use this function for calculating the intermolecular atom distances? Illimar Rekand Ph.D. candidate, Brenk-lab, Haug-lab Department of Biomedicine Department of Chemistry University of Bergen ___ Rdkit-discuss mailing list Rdkit-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/rdkit-discuss
[Rdkit-discuss] Read only first model of a pdb-file
Hey, RDKitters! I am currently trying to figure out how to only read in the first model of a pdb-file. I've designed a script that performs calculations on a per-atom basis, and this is very slow when it tries to account for multiple models, for example with a NMR-structure. my code is structured something like this: prot = Chem.MolFromPDBFile(prot_cofac, sanitize = False) for atom in prot.GetAtoms(): property = atom.GetProp("property) etc. Hope to hear from you soon Illimar Rekand Ph.D. candidate, Brenk-lab, Haug-lab Department of Biomedicine Department of Chemistry University of Bergen ___ Rdkit-discuss mailing list Rdkit-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/rdkit-discuss
[Rdkit-discuss] FreeSASA proberadius
Hello, RDKitters! I have an oddly specific question for you today. I am using RDKit's implemented FreeSASA feature for some contact surface area calculations. So far it's worked fine, but I'm missing a feature for setting the probe-radius for the SASA-calculations. I see that this radius is possible to specify in the original FreeSASA-build, but in RDKit, from what I have seen, it seems to be hardcoded to 1.4Å, which does makes sense for actual SASA-calculations, but is not so great for contact surface area calculations. Is it possible to change this setting in any way? And, if no, would it be likely to see this as an implemented in the future? Looking forward to hear from you! Illimar Rekand Ph.D. candidate, Brenk-lab, Haug-lab Department of Biomedicine Department of Chemistry University of Bergen ___ Rdkit-discuss mailing list Rdkit-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/rdkit-discuss
[Rdkit-discuss] Atom coordinates from PDB-file
Hello, I am currently trying to access the xyz-coordinates for specific atoms (in a loop) from a .PDB-file. Is there an easy way to do this without creating a conformer of the molecule? all the best, Illimar Rekand Ph.D. Candidate Department of Biomedicine University of Bergen ___ Rdkit-discuss mailing list Rdkit-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/rdkit-discuss