STORMM Source Documentation
Loading...
Searching...
No Matches
molecule_file_io.h
1// -*-c++-*-
2#ifndef STORMM_MOLECULE_FILE_IO
3#define STORMM_MOLECULE_FILE_IO
4
5#include "copyright.h"
6#include "Constants/behavior.h"
7#include "DataTypes/stormm_vector_types.h"
8#include "Parsing/textfile.h"
9#include "molecule_format_enumerators.h"
10
11namespace stormm {
12namespace structure {
13
14using constants::ExceptionResponse;
15using parse::TextFile;
16using parse::TextFileReader;
17
32int getMdlMolSectionEnd(const TextFileReader &tfr, int line_start, int line_end_in = -1);
33
34int getMdlMolSectionEnd(const TextFile &tf, int line_start, int line_end_in = -1);
36
42int getCompoundSectionEnd(const TextFileReader &tfr, int line_start, int line_end_in = -1);
43
44int getCompoundSectionEnd(const TextFile &tf, int line_start, int line_end_in = -1);
46
58MdlMolVersion findMolObjVersion(const char* text, const int nchar);
59
60MdlMolVersion findMolObjVersion(const TextFile &tf, const int line_number);
62
68std::vector<int2> findEntryLimits(const TextFile &tf, const std::string &marker);
69
84std::vector<double3> extractSdfCoordinates(const TextFile &tf, int line_start, int line_end_in,
85 ExceptionResponse policy = ExceptionResponse::WARN);
86
87std::vector<double3> extractSdfCoordinates(const TextFile &tf, int frame_number = 0,
88 ExceptionResponse policy = ExceptionResponse::WARN);
90
97std::vector<double3> extractPdbCoordinates(const TextFile &tf, int line_start, int line_end_in,
98 ExceptionResponse policy = ExceptionResponse::WARN);
99
100std::vector<double3> extractPdbCoordinates(const TextFile &tf, int frame_number = 0,
101 ExceptionResponse policy = ExceptionResponse::WARN);
103
104} // namespace structure
105} // namespace stormm
106
107#endif
Structure for translating a text file into a compact, rapidly parsable vector of characters in CPU RA...
Definition textfile.h:45
Abstract for the TextFile object, providing read-only access.
Definition textfile.h:20