File: pubchemDownloader.C

package info (click to toggle)
ball 1.5.0%2Bgit20180813.37fc53c-3
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 239,848 kB
  • sloc: cpp: 326,149; ansic: 4,208; python: 2,303; yacc: 1,778; lex: 1,099; xml: 958; sh: 322; makefile: 93
file content (31 lines) | stat: -rw-r--r-- 803 bytes parent folder | download | duplicates (7)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
// -*- Mode: C++; tab-width: 2; -*-
// vi: set ts=2:
//

#include <BALL/FORMAT/pubchemDownloader.h>
#include <BALL/SYSTEM/simpleDownloader.h>

namespace BALL
{
	PubChemDownloader::PubChemDownloader()
		: pubchem_rest_url_("http://pubchem.ncbi.nlm.nih.gov/rest/pug/compound/")
	{
	}

	bool PubChemDownloader::downloadSDFByName(const String& query, const String& filename)
	{ 
		return downloadSDF_(query, "name", filename);
	}

	bool PubChemDownloader::downloadSDFByCID(int cid, const String& filename)
	{
		return downloadSDF_(String(cid), "cid", filename);
	}

	bool PubChemDownloader::downloadSDF_(const String& query, const String& type, const String& filename)
	{ 
		SimpleDownloader entrez_dl(pubchem_rest_url_ + type + "/" + query + "/SDF");

		return entrez_dl.downloadToFile(filename) == 0;
	}
}