File: CifFileUtil.h

package info (click to toggle)
librcsb-core-wrapper 1.005-13
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 16,576 kB
  • sloc: xml: 122,915; cpp: 25,250; ansic: 3,736; makefile: 1,033; sh: 772; lex: 294; yacc: 235; perl: 213; python: 121; csh: 30
file content (55 lines) | stat: -rw-r--r-- 1,697 bytes parent folder | download | duplicates (6)
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
//$$FILE$$
//$$VERSION$$
//$$DATE$$
//$$LICENSE$$


#ifndef CIFFILEUTIL_H
#define CIFFILEUTIL_H


#include <string>

#include "DicFile.h"
#include "CifFile.h"


DicFile* GetDictFile(DicFile* ddlFileP, const std::string& dictFileName,
  const std::string& dictSdbFileName = std::string(), const bool verbose =
  false, const eFileMode fileMode = READ_MODE);
void CheckDict(DicFile* dictFileP, DicFile* ddlFileP,
  const string& dictFileName, const bool extraDictChecks = false);
void CheckCif(CifFile* cifFileP, DicFile* dictFileP,
  const string& cifFileName, const bool extraCifChecks = false);

DicFile* ParseDict(const std::string& dictFileName, DicFile* ddlFileP = NULL,
  const bool verbose = false);
CifFile* ParseCif(const std::string& fileName, const bool verbose = false,
  const Char::eCompareType caseSense = Char::eCASE_SENSITIVE,
  const unsigned int maxLineLength = CifFile::STD_CIF_LINE_LENGTH,
  const std::string& nullValue = CifString::UnknownValue,
  const std::string& parseLogFileName = std::string());
CifFile* ParseCifString(const std::string& cifString,
  const bool verbose = false,
  const Char::eCompareType caseSense = Char::eCASE_SENSITIVE,
  const unsigned int maxLineLength = CifFile::STD_CIF_LINE_LENGTH,
  const std::string& nullValue = CifString::UnknownValue);

/**
**  Corrects a CIF file with respect to the following:
**    - Sets proper casing of the case-insensitive enumerations
**
**  \param[in] dicRef - reference to a dictionary file. The check is
**    done against the first block in the dictionary file.
**
**  \return None
**
**  \pre None
**
**  \post None
**
**  \exception: None
*/
void DataCorrection(CifFile& cifFile, DicFile& dicRef);

#endif