Dear Nick,

We're getting into C++ API questions, which I think are best dealt
with on a different mailing list.
Could you please subscribe to RDKit-devel and re-post this there?

Thanks,
-greg


On Thu, Mar 8, 2012 at 5:34 PM, Nicholas Firth <[email protected]> wrote:
> Hi Greg.
> I've run into a few more problems with Fingerprinting, I'm trying to create
> a database of these finger prints, I've tried a few different methods to
> write the fingerprints
>
> SparseIntVect<boost::uint32_t> *finger;
> mol=SmilesToMol(line);
> finger = MorganFingerprints::getFingerprint(*mol, 2);
> cout << finger.toString() << endl;
>
> Which returns
>
> Fingerprint.cpp:49: error: request for member ‘toString’ in ‘finger’, which
> is of non-class type ‘RDKit::SparseIntVect<unsigned int>*’
>
> Then as a fix i tried intreated over the entries in the vector however
> firstly I can't use the getLength function because of the same error above,
> and when I put in an arbitrary depth and managed to get some output, however
> it seemed only to output a huge amount of zero's
>
> Thanks,
> Nick
> On 8 Mar 2012, at 13:07, Greg Landrum wrote:
>
> Hi Nick,
>
> On Thu, Mar 8, 2012 at 1:10 PM, Nicholas Firth <[email protected]>
> wrote:
>
> Hi All,
>
> Further to my post yesterday, I have most of my RDKit functionality back
>
> (hooray!). Now I'm going to ask the question I should of asked yesterday
>
> before I decided to 'fix' it myself.
>
> I'm trying to get Morgan fingerprints of molecules, the code that I'm using
>
> is
>
> …
>
>     SparseIntVect<boost::uint32_t> *finger;
>
>     ROMol *mol;
>
>     while(!infile.eof()){
>
>         getline(infile, line);
>
>         line = line.substr(0,line.size()-2);
>
>         std::cout << line << "\n";
>
>         mol=SmilesToMol(line);
>
>         finger = MorganFingerprints::getFingerprint(*mol, 2);
>
>     }
>
> …
>
>
> This does not compile, I get the error
>
>
> 103528cthdt:MOOPGA nfirth$  g++ Fingerprint.cpp -I/usr/local/include/rdkit
>
> -L/usr/local/lib -lChemReactions -lFileParsers -lSmilesParse -lDepictor
>
> -lSubstructMatch -lGraphMol -lDataStructs -lRDGeometryLib -lRDGeneral
>
> Undefined symbols for architecture x86_64:
>
>   "RDKit::MorganFingerprints::getFingerprint(RDKit::ROMol const&, unsigned
>
> int, std::vector<unsigned int, std::allocator<unsigned int> >*,
>
> std::vector<unsigned int, std::allocator<unsigned int> > const*, bool, bool,
>
> bool, std::map<unsigned int, std::vector<std::pair<unsigned int, unsigned
>
> int>, std::allocator<std::pair<unsigned int, unsigned int> > >,
>
> std::less<unsigned int>, std::allocator<std::pair<unsigned int const,
>
> std::vector<std::pair<unsigned int, unsigned int>,
>
> std::allocator<std::pair<unsigned int, unsigned int> > > > > >*)",
>
> referenced from:
>
>       _main in ccezHfTZ.o
>
> ld: symbol(s) not found for architecture x86_64
>
> collect2: ld returned 1 exit status
>
>
> Looks like that link command above is missing the fingerprinting library.
> There should be a "-lFingerprints" in your link line.
>
> -greg
>
>
>
> The Institute of Cancer Research: Royal Cancer Hospital, a charitable
> Company Limited by Guarantee, Registered in England under Company No. 534147
> with its Registered Office at 123 Old Brompton Road, London SW7 3RP.
>
> This e-mail message is confidential and for use by the addressee only. If
> the message is received by anyone other than the addressee, please return
> the message to the sender by replying to it and then delete the message from
> your computer and network.

------------------------------------------------------------------------------
Virtualization & Cloud Management Using Capacity Planning
Cloud computing makes use of virtualization - but cloud computing 
also focuses on allowing computing to be delivered as a service.
http://www.accelacomm.com/jaw/sfnl/114/51521223/
_______________________________________________
Rdkit-discuss mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/rdkit-discuss

Reply via email to