Pteros  2.0
Molecular modeling library for human beings!
gnm.h
1 /*
2  *
3  * This source code is part of
4  * ******************
5  * *** Pteros ***
6  * ******************
7  * molecular modeling library
8  *
9  * Copyright (c) 2009-2013, Semen Yesylevskyy
10  *
11  * This program is free software; you can redistribute it and/or
12  * modify it under the terms of Artistic License:
13  *
14  * Please note, that Artistic License is slightly more restrictive
15  * then GPL license in terms of distributing the modified versions
16  * of this software (they should be approved first).
17  * Read http://www.opensource.org/licenses/artistic-license-2.0.php
18  * for details. Such license fits scientific software better then
19  * GPL because it prevents the distribution of bugged derivatives.
20  *
21 */
22 
23 #ifndef GNM_H_INCLUDED
24 #define GNM_H_INCLUDED
25 
26 #include "pteros/core/selection.h"
27 #include <Eigen/Core>
28 
29 namespace pteros {
30 
33 class GNM {
34  public:
35  Eigen::MatrixXf eigenvectors;
36  Eigen::VectorXf eigenvalues;
37  Eigen::MatrixXf c,p;
38 
39  GNM(Selection& sel, float cutoff);
40 
41  void compute(Selection& sel, float cutoff);
42  void write_eigenvectors(std::string fname, int v1, int v2);
43  void compute_c_matrix(bool normalize=false);
44  void compute_p_matrix();
45  void write_c_matrix(std::string fname);
46  void write_p_matrix(std::string fname);
47 private:
48  int N;
49 };
50 
51 }
52 #endif // GNM_H_INCLUDED
Pteros namespace.
Definition: options.cpp:32
Selection class.
Definition: atom_proxy.h:57
Implementation of the Gaussian Network Model (GNM) protein model.
Definition: gnm.h:33