Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
SimpleScoringScheme.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 SimpleScoringScheme.hh
11 /// @brief class definition for a given scoring scheme for an alignment.
12 /// @detailed Scoring scheme based on comparing single characters from two sequences
13 /// with three types of score:
14 /// - score for a match (characters are equal)
15 /// - score for a mismatch (characters are not equal)
16 /// - affine gap penalties of the form penalty = A + Bk
17 /// @author James Thompson
18 
19 #ifndef INCLUDED_core_sequence_SimpleScoringScheme_hh
20 #define INCLUDED_core_sequence_SimpleScoringScheme_hh
21 
22 #include <core/types.hh>
23 // AUTO-REMOVED #include <core/sequence/Sequence.hh>
26 
27 #include <utility/file/FileName.fwd.hh>
28 
29 namespace core {
30 namespace sequence {
31 
33 
34 public:
35 
36  /// @brief ctor
38  Real match_score = 4,
39  Real mismatch_score = 1,
40  Real gap_open_in = -4,
41  Real gap_extend_in = -1
42  ) :
45  {
46  gap_open( gap_open_in );
47  gap_extend( gap_extend_in );
48  type("Simple");
49  }
50 
52  return new SimpleScoringScheme(
53  match_score(),
55  gap_open(),
56  gap_extend()
57  );
58  }
59 
60  /// @brief dtor
61  virtual ~SimpleScoringScheme() {}
62 
63  virtual void read_from_file( utility::file::FileName const & fn );
64 
65  Real match_score() const;
66 
67  Real mismatch_score() const;
68 
69  virtual Real score( SequenceOP seq1, SequenceOP seq2, core::Size pos1, core::Size pos2 );
70 
71 private:
74 }; // class SimpleScoringScheme
75 
76 } // sequence
77 } // core
78 
79 #endif