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
ligand_docking
ligand_options
Interface.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 core/protocols/ligand_docking/ligand_options/Interface.hh
11
/// @brief header of classes for resfile options
12
/// @author Gordon Lemmon
13
14
#ifndef INCLUDED_protocols_ligand_docking_ligand_options_Interface_hh
15
#define INCLUDED_protocols_ligand_docking_ligand_options_Interface_hh
16
17
//// Unit Headers
18
#include <
protocols/ligand_docking/ligand_options/Interface.fwd.hh
>
19
20
//// Project Headers
21
// AUTO-REMOVED #include <core/conformation/Residue.fwd.hh>
22
23
//// Utility Headers
24
// AUTO-REMOVED #include <utility/vector1.hh>
25
#include <
core/types.hh
>
26
27
// STL Headers
28
// AUTO-REMOVED #include <string>
29
#include <sstream>
30
31
#include <utility/vector1_bool.hh>
32
33
34
///////////////////////////////////////////////////////////////////////
35
36
namespace
protocols {
37
namespace
ligand_docking {
38
namespace
ligand_options {
39
40
41
///@brief info for each residue- is it part of the interface and if so, what ligands is it near
42
struct
InterfaceInfo
{
43
enum
Type
{
44
non_interface
,
45
near_interface
,
46
is_interface
47
};
48
Type
type
;
49
core::Size
chain_id
;
// chains that are causing this to be part of the interface
50
char
chain
;
51
52
InterfaceInfo
():
type
(
non_interface
){}
53
InterfaceInfo
(
Type
t
):
type
(t){};
54
};
55
56
///@brief For each residue is it in the interface, a mobile region or a non-mobile region?
57
class
Interface
:
public
utility::vector1
<InterfaceInfo>{
58
59
public
:
60
Interface
(
core::Size
num,
InterfaceInfo
info);
61
62
core::Size
find_first_interface_residue
(
core::Size
chain_begin,
core::Size
const
chain_end)
const
;
63
64
core::Size
find_start_of_next_interface_region
(
65
core::Size
start_from,
66
core::Size
const
chain_end
67
)
const
;
68
69
core::Size
find_stop_of_this_interface_region
(
70
core::Size
start_from,
71
core::Size
const
chain_end
72
)
const
;
73
74
void
enforce_minimum_length
(
75
core::Size
const
chain_begin,
76
core::Size
const
chain_end,
77
core::Size
const
window
78
);
79
80
utility::vector1<core::Size>
get_interface_residues
()
const
;
81
utility::vector1<core::Size>
get_near_interface_residues
()
const
;
82
std::string
get_python_string
()
const
;
83
84
//static int test();
85
86
private
:
87
88
void
set_interface_residue
(
89
core::Size
const
potential_interface_residue_id,
90
core::Size
const
ligand_interface_residue_id
91
);
92
};
93
94
std::ostream &
operator<<
(std::ostream& output,
Interface
const
& interface);
95
96
}
//namespace ligand_options
97
}
//namespace ligand_docking
98
}
//namespace protocols
99
100
#endif
Generated on Sat Jun 1 2013 11:55:55 for Rosetta 3.5 by
1.8.4