The following works for me:

        std::stringstream ss;
        SDWriter *writer = new SDWriter(&ss);
        writer->setProps(propNames);
        writer->write(*mol);
        writer->flush();
        delete mol;     
        delete writer;  
        std::string sdf=ss.str();

Igor

On Fri, 2008-08-08 at 12:05 +0100, Evgueni Kolossov wrote:
> 
> Dear Greg,
> 
> Can you please show how to extract text from stringstream (which in
> your case actually ostream) into string? 
> ROMol *mol; 
> mol = SmilesToMol(strSmile); 
> ostream *ss = new stringstream(); 
> SDWriter *writer = new SDWriter(ss, false);
> writer->write(*mol);
> 
> string strMolStructure;
> //Now we want to put MDLMol into the string. For stringstream
> ss->str() will do the job but ss is ostream....)
> 
> Regards,
> Evgueni
> 
> 
> -----Original Message-----
> From: [email protected]
> [mailto:[email protected]] On Behalf Of Greg
> Landrum
> Sent: 05 August 2008 19:07
> To: Igor Filippov [Contr]
> Cc: [email protected]
> Subject: Re: [Rdkit-discuss] SD File output
> 
> 
> Dear Igor,
> 
> This is a good one for the mailing list, so I'm cross-posting my
> reply.
> 
> On Tue, Aug 5, 2008 at 6:47 PM, Igor Filippov [Contr]
> <[email protected]> wrote:
> >
> > Is there any way to convert a mol object into an SD file (i.e. CTAB
> > plus user-defined properties) and have the result in a string?
> > MolToMolBlock() only outputs CTAB portion without the properties.
> 
> Indeed there is. You can construct an SDWriter (defined in
> $RDBASE/GraphMol/FileParsers/MolWriters.h) using a pointer to a
> stringstream, then use the SDWriter's write() method. It's probably
> safest to call the flush() method before reading your text out of the
> stringstream.
> 
> An example for using this with a SmilesWriter is in the function
> testSmilesWriter2() in testMolWriter.cpp. Using an SDWriter is exactly
> equivalent.
> 
> -greg
> 
> -------------------------------------------------------------------------
> This SF.Net email is sponsored by the Moblin Your Move Developer's
> challenge Build the coolest Linux based applications with Moblin SDK &
> win great prizes Grand prize is a trip for two to an Open Source event
> anywhere in the world
> http://moblin-contest.org/redirect.php?banner_id=100&url=/
> _______________________________________________
> Rdkit-discuss mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/rdkit-discuss
> 
> 
> -------------------------------------------------------------------------
> This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
> Build the coolest Linux based applications with Moblin SDK & win great prizes
> Grand prize is a trip for two to an Open Source event anywhere in the world
> http://moblin-contest.org/redirect.php?banner_id=100&url=/
> _______________________________________________ Rdkit-discuss mailing list 
> [email protected] 
> https://lists.sourceforge.net/lists/listinfo/rdkit-discuss
-- 
Igor Filippov <[email protected]>


Reply via email to