File: CifOutput.h

package info (click to toggle)
macromoleculebuilder 4.2%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 119,404 kB
  • sloc: cpp: 23,722; python: 5,098; ansic: 2,101; awk: 145; perl: 144; makefile: 40; sh: 38
file content (40 lines) | stat: -rw-r--r-- 1,328 bytes parent folder | download | duplicates (5)
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
32
33
34
35
36
37
38
39
40

#ifndef CifOutput_h
#define CifOutput_h

#include <BiopolymerClass.h>
#include <MonoAtoms.h>
#include <iostream>
#include <fstream>
#include <string>
#include "molmodel/internal/Compound.h"

#include "PeriodicPdbAndEnergyWriter.h"
#include "SimTKsimbody.h"

#include <gemmi/align.hpp>

namespace SimTK
{
    namespace CIFOut
    {
        class Data {
        public:
            using Biopolymers = std::map<const String, BiopolymerClass>;

            const Biopolymers&        biopolymers;
            const MonoAtomsContainer& monoatoms;

            Data (const Biopolymers& biopolymers, const MonoAtomsContainer& monoatoms) :
                biopolymers{biopolymers},
                monoatoms{monoatoms}
            {}
        };

        void buildModel     ( const State& state, gemmi::Model& gModel, const Data &data, const CompoundSystem& system, int precision );
        void writeOutCif    ( const gemmi::Structure& outStruct, const std::string& fileName, const std::vector < std::pair < std::string, std::string > >& remarks );
        void reWriteOutCif  ( const gemmi::Model& gModel, const std::string& modelName, const std::string& fileName, ParameterReader& myParameterReader, const CompoundSystem& system, bool firstInStage );
    } // End namespace CIFOut
} // End namespace SimTK

#endif /* CifOutput_h */