Hi Greg,
I just omitted the from rdkit import Chem. This is the full code (I tried doing
it in console):
from rdkit import Chem
from rdkit.Chem import rdmolfiles
import gzip
suppl = ForwardSDMolSupplier(gzip.open('G:\Joanna\RDC\rdkit gz
files\pubchem-compound-rnd-1k.sdf.gz'))
Traceback (most recent call last):
File "<ipython-input-15-0da953541062>", line 1, in <module>
suppl = ForwardSDMolSupplier(gzip.open('G:\Joanna\RDC\rdkit gz
files\pubchem-compound-rnd-1k.sdf.gz'))
NameError: name 'ForwardSDMolSupplier' is not defined
I tried using your suggestion, and this is what appeared:
from rdkit import Chem
suppl = Chem.ForwardSDMolSupplier(gzip.open('G:\Joanna\RDC\rdkit gz
files\pubchem-compound-rnd-1k.sdf.gz'))
Traceback (most recent call last):
File "<ipython-input-24-6d5cbe646b63>", line 1, in <module>
suppl = Chem.ForwardSDMolSupplier(gzip.open('G:\Joanna\RDC\rdkit gz
files\pubchem-compound-rnd-1k.sdf.gz'))
File "D:\Anaconda3\lib\gzip.py", line 58, in open
binary_file = GzipFile(filename, gz_mode, compresslevel)
File "D:\Anaconda3\lib\gzip.py", line 168, in __init__
fileobj = self.myfileobj = builtins.open(filename, mode or 'rb')
OSError: [Errno 22] Invalid argument: 'G:\\Joanna\\RDC\rdkit gz
files\\pubchem-compound-rnd-1k.sdf.gz'
What actually worked was using a '/' instead of '\'. At least this is only
applicable in Spyder4 IDE. Maybe the back slash works in other IDEs.
Thank you for the assistance.
Joanna
________________________________
From: Greg Landrum <[email protected]>
Sent: Thursday, July 9, 2020 10:42 AM
To: ITS RDC <[email protected]>
Cc: [email protected] <[email protected]>
Subject: Re: [Rdkit-discuss] ForwardSDMolSupplier function
Hi Joanna,
The usual way to do this is something like:
from rdkit import Chem
suppl = Chem.ForwardSDMolSupplier(gzip.open('G:\Joanna\RDC\rdkit gz
files\pubchem-compound-rnd-1k.sdf.gz'))
-greg
On Thu, Jul 9, 2020 at 4:22 AM ITS RDC
<[email protected]<mailto:[email protected]>> wrote:
Hi all/Greg,
I have a database of sdf.gz files and I want to gzip it in Windows. From the
manual, ForwardSDMolSupplier is found in Chem.rdmolfiles of the 2020.03.01
verson.
class rdkit.Chem.rdmolfiles.ForwardSDMolSupplier((object)arg1,
(AtomPairsParameters)fileobj[, (bool)sanitize=True[, (bool)removeHs=True[,
(bool)strictParsing=True]]]) → None :
Bases: Boost.Python.instance
A class which supplies molecules from file-like object containing SD data.
Usage examples:
1. Lazy evaluation: the molecules are not constructed until we ask for them:
>>> suppl = ForwardSDMolSupplier(file('in.sdf'))
>>> for mol in suppl:
... if mol is not None: mol.GetNumAtoms()
2. we can also read from compressed files:
>>> import gzip
>>> suppl = ForwardSDMolSupplier(gzip.open('in.sdf.gz'))
>>> for mol in suppl:
... if mol is not None: print mol.GetNumAtoms()
Then when I tried it in Spyder 4, this appeared:
suppl = ForwardSDMolSupplier(gzip.open('G:\Joanna\RDC\rdkit gz
files\pubchem-compound-rnd-1k.sdf.gz'))
Traceback (most recent call last):
File "<ipython-input-15-0da953541062>", line 1, in <module>
suppl = ForwardSDMolSupplier(gzip.open('G:\Joanna\RDC\rdkit gz
files\pubchem-compound-rnd-1k.sdf.gz'))
NameError: name 'ForwardSDMolSupplier' is not defined
I traced the location of rdmolfiles, but it is in pyd so I cannot check if the
function was encoded there. I was tracing the location of ForwardSDMolSupplier
and I found something in a folder under the "Chem" class folder named
"Supplier" but I am not sure if I am in the right direction. I could not locate
the location of the function so maybe someone can help me out so I can call out
the right subclass. Thank you.
Joanna
_______________________________________________
Rdkit-discuss mailing list
[email protected]<mailto:[email protected]>
https://lists.sourceforge.net/lists/listinfo/rdkit-discuss
_______________________________________________
Rdkit-discuss mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/rdkit-discuss