RxDock 0.1.0
A fast, versatile, and open-source program for docking ligands to proteins and nucleic acids
Loading...
Searching...
No Matches
CSVFileSink.h
Go to the documentation of this file.
1//===-- CSVFileSink.h - Model output to a CSV file --------------*- C++ -*-===//
2//
3// Part of the RxDock project, under the GNU LGPL version 3.
4// Visit https://rxdock.gitlab.io/ for more information.
5// Copyright (c) 1998--2006 RiboTargets (subsequently Vernalis (R&D) Ltd)
6// Copyright (c) 2006--2012 University of York
7// Copyright (c) 2012--2014 University of Barcelona
8// Copyright (c) 2019--2020 RxTx
9// SPDX-License-Identifier: LGPL-3.0-only
10//
11//===----------------------------------------------------------------------===//
16//===----------------------------------------------------------------------===//
17
18#ifndef _RBTCSVFILESINK_H_
19#define _RBTCSVFILESINK_H_
20
21#include "rxdock/BaseMolecularFileSink.h"
22#include "rxdock/ElementFileSource.h"
23
24namespace rxdock {
25
27public:
28 RBTDLL_EXPORT CSVFileSink(const std::string &fileName, ModelPtr spModel,
29 std::size_t nAtoms, std::size_t nDataFields);
30
31 virtual ~CSVFileSink();
32
33 virtual void Render();
34
35private:
36 std::string RenderAtomList(const AtomList &atomList);
37 std::string RenderData(const StringVariantMap &dataMap);
38
39 CSVFileSink(); // Disable default constructor
40 CSVFileSink(const CSVFileSink &); // Copy constructor disabled by
41 // default
43 operator=(const CSVFileSink &); // Copy assignment disabled by default
44
45 std::size_t m_nAtoms;
46 std::size_t m_nDataFields;
47 ElementFileSourcePtr m_spElementData;
48};
49
50// Useful typedefs
51typedef SmartPtr<CSVFileSink> CSVFileSinkPtr; // Smart pointer
52
53} // namespace rxdock
54
55#endif //_RBTCSVFILESINK_H_
Definition BaseMolecularFileSink.h:29
Definition CSVFileSink.h:26