Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
DisulfPairingsList.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 src/protocols/jumping/PairingTemplate
11 /// @brief header file for ClassicAbinitio protocol
12 /// @detailed
13 /// from converting jumping_pairings.cc of rosetta++ into mini
14 ///
15 ///
16 ///
17 /// @author Oliver Lange
18 
19 #ifndef INCLUDED_protocols_jumping_DisulfPairingsList_hh
20 #define INCLUDED_protocols_jumping_DisulfPairingsList_hh
21 
22 // Unit Headers
24 
25 // Package Headers
26 
27 // Project Headers
28 #include <core/types.hh>
29 
30 // Utility headers
31 // we need utility/vector1.hh because of declarations in fwd.hh
32 #include <utility/vector1.hh>
33 
34 // ObjexxFCL Headers
35 #include <ObjexxFCL/FArray1A.fwd.hh>
36 
37 //// C++ headers
38 // AUTO-REMOVED #include <cstdlib> //required by GCC 4.3.2
39 #include <string>
40 
41 //#include <vector>
42 
43 namespace protocols {
44 namespace jumping {
45 
47 public:
52 
54  pos1( 0 ),
55  pos2( 0 ),
56  seq_sep( 0 ),
57  ss_type( 0 )
58  {}
59 
60  DisulfPairing( core::Size pos1_in, core::Size pos2_in ) :
61  pos1( pos1_in),
62  pos2( pos2_in),
63  seq_sep( 0 ),
64  ss_type( 0 )
65  {}
66 
67  //c'stor to translate from old-style version of pairing
68  DisulfPairing( ObjexxFCL::FArray1A_int );
69 
70  DisulfPairing( core::Size pos1_in, core::Size pos2_in, core::Size ori_in, core::Size pleat_in ) :
71  pos1( pos1_in),
72  pos2( pos2_in),
73  seq_sep( ori_in),
74  ss_type( pleat_in )
75  {}
76 
77  bool operator ==( DisulfPairing const& p ) const {
78  return ( (p.pos1 == pos1)
79  && ( p.pos2 == pos2 )
80  && ( p.seq_sep == seq_sep )
81  && ( p.ss_type == ss_type )
82  );
83  };
84 
85  // bool operator < ( DisulfPairing const& p ) const {
86  // return p.pos1 != pos1 ? pos1 < p.pos1 :
87  // ( p.pos2 != pos2 ? pos2 < p.pos2 :
88  // ( p.seq_sep != seq_sep ? seq_sep < p.seq_sep : ss_type < p.ss_type ) );
89  // };
90 };
91 
92 ///@brief list of pairings
93 //typedef utility::vector1<DisulfPairing> DisulfDisulfPairingsList;
94 
95 extern std::ostream& operator<< ( std::ostream& out, DisulfPairing const& );
96 extern std::ostream& operator<< ( std::ostream& out, DisulfPairingsList const& p);
97 
98 ///@brief add pairings in pairing_file to list "pairings"
99 //extern void read_disulf_pairing_list( std::string disulf_pairing_file, DisulfPairingsList& disulf_pairings);
100 extern void read_disulf_pairing_list( std::istream &is, DisulfPairingsList& disulf_pairings);
101 
102 
103 
104 } //protocols
105 } //jumping
106 
107 #endif
108