Hi Paolo, I got this new error when I tried with different chemicals:
python 3DAlignmentwith3OAwithGRO.py CCNC\(N\)N_afterMD.pdb
CC\[NH2\+\]CCN_Ligpargen.pdb
[12:02:45] Explicit valence for atom # 2 N, 4, is greater than permitted
Traceback (most recent call last):
File "3DAlignmentwith3OAwithGRO.py", line 12, in <module>
rdDistGeom.EmbedMolecule(prbMolwithH)
Boost.Python.ArgumentError: Python argument types in
rdkit.Chem.rdDistGeom.EmbedMolecule(NoneType)
did not match C++ signature:
EmbedMolecule(RDKit::ROMol {lvalue} mol, unsigned int maxAttempts=0,
int randomSeed=-1, bool clearConfs=True, bool useRandomCoords=False, double
boxSizeMult=2.0, bool randNegEig=True, unsigned int numZeroFail=1,
boost::python::dict {lvalue} coordMap={}, double forceTol=0.001, bool
ignoreSmoothingFailures=False)
The second argument I also downloaded it from Ligpargen but it gave me this
error. I am not so sure why it happened.
I also attached the two files :
On Tue, Aug 21, 2018 at 3:19 PM, Paolo Tosco <[email protected]>
wrote:
> Hi Phuong,
>
> it does have hydrogens after the alignment:
>
> $ ls
> UNK_A1C198.pdb align.py drug.pdb
>
> $ python align.py drug.pdb UNK_A1C198.pdb
>
> $ ls
> UNK.pdb UNK_A1C198.pdb align.py drug.pdb
> $ cat UNK.pdb
> ATOM 1 C00 UNK 1 37.884 56.016 51.678 1.00
> 0.00 C
> ATOM 2 C01 UNK 1 37.501 54.554 51.968 1.00
> 0.00 C
> ATOM 3 C02 UNK 1 36.085 54.316 52.531 1.00
> 0.00 C
> ATOM 4 C03 UNK 1 35.697 55.221 53.715 1.00
> 0.00 C
> ATOM 5 C04 UNK 1 34.907 56.485 53.304 1.00
> 0.00 C
> ATOM 6 C05 UNK 1 35.788 57.733 53.108 1.00
> 0.00 C
> ATOM 7 C06 UNK 1 36.227 57.998 51.654 1.00
> 0.00 C
> ATOM 8 C07 UNK 1 36.813 56.799 50.889 1.00
> 0.00 C
> ATOM 9 H08 UNK 1 38.821 56.001 51.080 1.00
> 0.00 H
> ATOM 10 H09 UNK 1 38.160 56.522 52.625 1.00
> 0.00 H
> ATOM 11 H0A UNK 1 37.598 53.969 51.027 1.00
> 0.00 H
> ATOM 12 H0B UNK 1 38.243 54.138 52.684 1.00
> 0.00 H
> ATOM 13 H0C UNK 1 35.325 54.368 51.723 1.00
> 0.00 H
> ATOM 14 H0D UNK 1 36.057 53.262 52.884 1.00
> 0.00 H
> ATOM 15 H0E UNK 1 35.031 54.622 54.375 1.00
> 0.00 H
> ATOM 16 H0F UNK 1 36.586 55.471 54.333 1.00
> 0.00 H
> ATOM 17 H0G UNK 1 34.203 56.712 54.134 1.00
> 0.00 H
> ATOM 18 H0H UNK 1 34.270 56.304 52.411 1.00
> 0.00 H
> ATOM 19 H0I UNK 1 35.198 58.620 53.428 1.00
> 0.00 H
> ATOM 20 H0J UNK 1 36.665 57.714 53.788 1.00
> 0.00 H
> ATOM 21 H0K UNK 1 36.982 58.814 51.667 1.00
> 0.00 H
> ATOM 22 H0M UNK 1 35.352 58.378 51.082 1.00
> 0.00 H
> ATOM 23 H0N UNK 1 35.991 56.144 50.537 1.00
> 0.00 H
> ATOM 24 H0O UNK 1 37.280 57.194 49.960 1.00
> 0.00 H
> CONECT 1 2 8 9 10
> CONECT 2 3 11 12
> CONECT 3 4 13 14
> CONECT 4 5 15 16
> CONECT 5 6 17 18
> CONECT 6 7 19 20
> CONECT 7 8 21 22
> CONECT 8 23 24
> END
>
> p.
>
>
> On 08/21/18 20:46, Phuong Chau wrote:
>
> Hi Paolo,
>
> I tried the code, it worked with the alignment but the new chemical after
> alignment still does not have any H atoms. If I add H after alignment, it
> has weird structure with H atoms. Would you please show me how to fix this
> problem?
>
> Best,
> Phuong Chau
>
> On Tue, Aug 21, 2018 at 8:01 AM, Paolo Tosco <[email protected]>
> wrote:
>
>> Hi Phuong,
>>
>> If you wish to retain Hs you just need to set removeHs = False when you
>> call MolFromPDBFile():
>>
>> # align.py
>>
>> import sys
>> from rdkit import Chem
>> from rdkit.Chem import rdDistGeom, rdMolAlign, rdForceFieldHelpers
>> from rdkit import Chem
>>
>> refMolwithH = Chem.MolFromPDBFile(sys.argv[1], removeHs = False)
>> s = sys.argv[2]
>> prbMolwithH = Chem.MolFromPDBFile(s, removeHs = False)
>> idx=s.find('_')
>> chemB= s[:idx]
>>
>> rdDistGeom.EmbedMolecule(prbMolwithH)
>> rdForceFieldHelpers.UFFOptimizeMolecule(prbMolwithH)
>>
>> ##Alignment
>> pyO3A = rdMolAlign.GetO3A(prbMolwithH, refMolwithH)
>> score = pyO3A.Align()
>>
>> ##3D coords of Chem B after alignmnet
>> Chem.MolToPDBFile(prbMolwithH,'{}.pdb'.format(chemB))
>>
>> and then
>>
>> ./align.py drug.pdb UNK_A1C198.pdb
>> Cheers,
>> p.
>>
>> On 08/20/18 19:02, Phuong Chau wrote:
>>
>> Hello everyone,
>>
>> I am trying to align two chemicals using their pdb files with the
>> following script:
>>
>> *refMolwithH = Chem.MolFromPDBFile(sys.argv[1])*
>> *s = sys.argv[2]*
>> *prbMolwithH = Chem.MolFromPDBFile(s)*
>> *idx=s.find('_')*
>> *chemB= s[:idx]*
>>
>> *rdDistGeom.EmbedMolecule(prbMolwithH)*
>> *AllChem.UFFOptimizeMolecule(prbMolwithH)*
>>
>> *##Alignment*
>> *pyO3A = rdMolAlign.GetO3A(prbMolwithH, refMolwithH)*
>> *score = pyO3A.Align()*
>>
>> *##3D coords of Chem B after alignmnet*
>> *Chem.MolToPDBFile(prbMolwithH,'{}.pdb'.format(chemB))*
>>
>> The probe chemical pdb is generated from GRO file generated from
>> LigParGen browser by this script:
>> *gmx editconf -f input.gro -o output.pdb*
>>
>> The problem is the new aligned chemical is not aligned with the refMol
>> but with probMol and the new chemical does not have H atoms on it.
>>
>> Would you please help me with this problem? Are there other ways to align
>> the pdb files generated from LIgParGen?
>>
>> Thank you so much for your help
>>
>>
>>
>> ------------------------------------------------------------------------------
>> Check out the vibrant tech community on one of the world's most
>> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
>>
>>
>>
>> _______________________________________________
>> Rdkit-discuss mailing
>> [email protected]https://lists.sourceforge.net/lists/listinfo/rdkit-discuss
>>
>>
>>
>
>
> --
> Phuong Chau
> Smith College '20
> Engineering Major
>
>
>
--
Phuong Chau
Smith College '20
Engineering Major
CC[NH2+]CCN_Ligpargen.pdb
Description: application/aportisdoc
CCNC(N)N_afterMD.pdb
Description: application/aportisdoc
------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________ Rdkit-discuss mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/rdkit-discuss

