LOOS 4.1.0
The Lightweight Object Oriented Structural analysis library/toolkit
Loading...
Searching...
No Matches
mmcif.hpp
1/*
2 This file is part of LOOS.
3
4 LOOS (Lightweight Object-Oriented Structure library)
5 Copyright (c) 2023, Tod D. Romo, Alan Grossfield
6 Department of Biochemistry and Biophysics
7 School of Medicine & Dentistry, University of Rochester
8
9 This package (LOOS) is free software: you can redistribute it and/or modify
10 it under the terms of the GNU General Public License as published by
11 the Free Software Foundation under version 3 of the License.
12
13 This package is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 GNU General Public License for more details.
17
18 You should have received a copy of the GNU General Public License
19 along with this program. If not, see <http://www.gnu.org/licenses/>.
20*/
21
22#if !defined(LOOS_MMCIF_HPP)
23#define LOOS_MMCIF_HPP
24
25#include <loos_defs.hpp>
26#include <AtomicGroup.hpp>
27#include <gemmi/mmread.hpp>
28#include <gemmi/cif.hpp>
29#include <gemmi/mmcif.hpp> // cif::Document -> Structure
30#include <gemmi/gz.hpp>
31
32namespace loos {
33
35
36 class MMCIF : public AtomicGroup {
37 public:
38 MMCIF() : _filename("not set") {}
39 virtual ~MMCIF() {}
40
41 explicit MMCIF(const std::string& filename) : _filename(filename) {
42 read(filename);
43 }
44
45 static pAtomicGroup create(const std::string& filename) {
46 return pAtomicGroup(new MMCIF(filename));
47 }
48
50 virtual MMCIF* clone(void) const;
51
52 void read(const std::string& filename);
53
54
55 private:
56 std::string _filename;
57 };
58
59}
60#endif
Class for handling groups of Atoms (pAtoms, actually)
Definition AtomicGroup.hpp:108
Class to read pdbx/mmcif files.
Definition mmcif.hpp:36
virtual MMCIF * clone(void) const
Clones an object for polymorphism (see AtomicGroup::clone() for more info)
Definition mmcif.cpp:26
Namespace for most things not already encapsulated within a class.
Definition version.cpp:3