Rosetta 3.5
Main Page
Related Pages
Namespaces
Classes
Files
Examples
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
src
protocols
noesy_assign
MethylNames.hh
Go to the documentation of this file.
1
// -*- mode:c++;tab-width:2;indent-tabs-mode:t;show-trailing-whitespace:t;rm-trailing-spaces:t -*-
2
// vi: set ts=2 noet:
3
//
4
// (c) Copyright Rosetta Commons Member Institutions.
5
// (c) This file is part of the Rosetta software suite and is made available under license.
6
// (c) The Rosetta software is developed by the contributing members of the Rosetta Commons.
7
// (c) For more information, see http://www.rosettacommons.org. Questions about this can be
8
// (c) addressed to University of Washington UW TechTransfer, email: license@u.washington.edu.
9
10
/// @file protocols/noesy_assign/MethylNames.hh
11
/// @author Oliver Lange
12
13
#ifndef INCLUDED_protocols_noesy_assign_MethylNames_HH
14
#define INCLUDED_protocols_noesy_assign_MethylNames_HH
15
16
17
// Unit Headers
18
//#include <protocols/noesy_assign/MethylNames.fwd.hh>
19
20
// Package Headers
21
#include <
protocols/noesy_assign/FragsToAtomDist.hh
>
22
23
// Project Headers
24
#include <
core/chemical/AA.hh
>
25
#include <
core/types.hh
>
26
#include <
core/id/NamedAtomID.hh
>
27
28
// Utility headers
29
30
// C++ headers
31
#include <string>
32
33
namespace
protocols {
34
namespace
noesy_assign {
35
36
class
MethylNames
{
37
public
:
38
typedef
utility::vector1< std::string >
AtomList
;
39
typedef
std::map< std::string, AtomList >
NameTable
;
40
typedef
NameTable::const_iterator
const_iterator
;
41
MethylNames
( );
42
MethylNames
(
core::chemical::AA
aa
);
43
44
//which NMR proton name belongs to the ROSETTA proton ?
45
//1HG1 ---> return HG11
46
std::string
const
&
rosetta2nmr
(
std::string
const
& proton )
const
;
47
48
//return which NMR methyl name belongs to the Rosetta proton ?
49
//1HG1 --> returns QG1, QQG
50
AtomList
const
&
rosetta2methyl
(
std::string
const
& proton )
const
;
51
52
//return list of rosetta protons that belong to a proton or methyl NMR name
53
AtomList
const
&
nmr2rosetta
(
std::string
const
& proton )
const
;
54
55
//iterate over protons/methyls
56
const_iterator
begin
()
const
{
return
nmr2rosetta_
.begin(); }
57
const_iterator
end
()
const
{
return
nmr2rosetta_
.end(); }
58
59
//the amino-acid type
60
core::chemical::AA
aa
()
const
{
return
aa_
; }
61
62
//return the amino-acid name (as from chemical::name_from_aa(x) )
63
std::string
aa_name
()
const
;
64
65
//return index of nmr-name (using the same sequence as begin()...end() implies
66
core::Size
proton_index
(
std::string
const
& )
const
;
67
68
//add a nmr / rosetta proton pair
69
void
add_proton
(
std::string
const
& nmr,
std::string
const
& rosetta );
70
//add a nmr-methyl / rosetta proton pair
71
void
add_methyl
(
std::string
const
& rosetta,
std::string
const
& methyl );
72
73
private
:
74
core::chemical::AA
aa_
;
75
std::map< std::string, std::string >
rosetta2nmr_
;
76
NameTable
rosetta2methyl_
;
77
NameTable
nmr2rosetta_
;
78
};
79
80
class
MethylNameLibrary
{
81
private
:
82
//Singleton Class
83
MethylNameLibrary
();
84
85
public
:
86
static
MethylNameLibrary
const
*
get_instance
();
87
MethylNames
const
&
operator[]
(
core::chemical::AA
)
const
;
88
89
private
:
90
void
load_database_table
();
91
static
MethylNameLibrary
*
instance_
;
92
typedef
std::map< core::chemical::AA, MethylNames >
MethylNameTable
;
93
MethylNameTable
methyl_names_
;
94
};
95
96
}
97
}
98
99
#endif
Generated on Sat Jun 1 2013 12:01:16 for Rosetta 3.5 by
1.8.4