Pteros  2.0
Molecular modeling library for human beings!
atom.h
1 /*
2  * This file is a part of
3  *
4  * ============================================
5  * ### Pteros molecular modeling library ###
6  * ============================================
7  *
8  * https://github.com/yesint/pteros
9  *
10  * (C) 2009-2021, Semen Yesylevskyy
11  *
12  * All works, which use Pteros, should cite the following papers:
13  *
14  * 1. Semen O. Yesylevskyy, "Pteros 2.0: Evolution of the fast parallel
15  * molecular analysis library for C++ and python",
16  * Journal of Computational Chemistry, 2015, 36(19), 1480–1488.
17  * doi: 10.1002/jcc.23943.
18  *
19  * 2. Semen O. Yesylevskyy, "Pteros: Fast and easy to use open-source C++
20  * library for molecular analysis",
21  * Journal of Computational Chemistry, 2012, 33(19), 1632–1636.
22  * doi: 10.1002/jcc.22989.
23  *
24  * This is free software distributed under Artistic License:
25  * http://www.opensource.org/licenses/artistic-license-2.0.php
26  *
27 */
28 
29 
30 #pragma once
31 
32 #include <string>
33 
34 namespace pteros {
39 class Atom {
40  public:
43 
45  int resid;
47  std::string name;
49  char chain;
51  std::string resname;
53  std::string tag;
55  float occupancy;
57  float beta;
61  int resindex;
66 
69 
71  float mass;
73  float charge;
75  int type;
77  std::string type_name;
79 
80  Atom():
81  resid(-1),
82  name(""),
83  chain(' '),
84  resname(""),
85  tag(""),
86  occupancy(0),
87  beta(0),
88  resindex(-1),
89  mass(0),
90  charge(0),
91  type(-1),
92  type_name(""),
93  atomic_number(0)
94  {}
95 };
96 
97 }
98 
99 
100 
101 
pteros::Atom::mass
float mass
Atom mass
Definition: atom.h:71
pteros::Atom::name
std::string name
Atom name (CA, O, N, etc.)
Definition: atom.h:47
pteros::Atom::atomic_number
int atomic_number
Element atomic number zero means particle, which is not real atom (for example dummy)
Definition: atom.h:64
pteros::Atom::chain
char chain
Chain. Single letter (A,B,Z)
Definition: atom.h:49
pteros::Atom::tag
std::string tag
Arbitrary textual tag.
Definition: atom.h:53
pteros::Atom::resindex
int resindex
Unique residue ID.
Definition: atom.h:61
pteros::Atom::occupancy
float occupancy
Occupancy field.
Definition: atom.h:55
pteros::Atom::beta
float beta
B-factor field.
Definition: atom.h:57
pteros::Atom::resid
int resid
Residue ID (unique only inside given chain)
Definition: atom.h:45
pteros::Atom::resname
std::string resname
Residue name in 3-letters code (ALA, GLY, MET, etc.)
Definition: atom.h:51
pteros::Atom::charge
float charge
Atom charge
Definition: atom.h:73
pteros::Atom::type
int type
Atom type code. -1 means unknown.
Definition: atom.h:75
pteros::Atom
Class which represents a single atom.
Definition: atom.h:39
pteros::Atom::type_name
std::string type_name
Atom type name - textual representation of the atom type
Definition: atom.h:77