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

