Class Score
Scoring scheme.

All Subcl's EditDistanceScore, MatrixScore, ProfileSeqFracScore, ProfileSeqScore, SimpleScore
Defined in <seqan/score.h>
Signature template <[typename TValue[, typename TSpec]]> class Score;

Template Parameters

TValue The scoring value, defaults to int.
TSpec The specialization type, defaults to Simple.

Interface Function Overview

Interface Metafunction Overview

Detailed Description

The Score class uses similarity scores, i.e. the greater the score value, the greater the similarity. Depending on the exact score, the scores can also be negative for dissimilarity. This choice blends in naturally with the BLOSUM and PAM matrices, for examples. For the edit distance common in computer science, this corresponds to match scores of 0, mismatch and gap scores of -1.

Examples

#include <seqan/basic.h>
#include <seqan/sequence.h>
#include <seqan/stream.h>  // for I/O
#include <seqan/align.h>
#include <seqan/score.h>

using namespace seqan;

int main()
{
    StringSet<DnaString> stringSet;
    appendValue(stringSet, "ACGTGGATCGGTGACTTACGGACTG");
    appendValue(stringSet, "ACGTGTTGAGTGATTACGGACTG");

    Align<DnaString> align(stringSet);                // Initialize the Align object using a StringSet.

    Score<int> scoreScheme(5, -6, -2, -11);           // Initialize Score object with affine gap costs.
    int score = globalAlignment(align, scoreScheme);  // Computes a global alignment usign the defined scoring scheme.

    std::cout << "Score = " << score << std::endl;
    std::cout << "Alignment:" << std::endl;
    std::cout << align << std::endl;

    return 0;
}

The output is as follows:

Score = 66
Alignment:
      0     .    :    .    :    .   
        ACGTG--GATCGGTGACTTACGGACTG
        |||||  ||   |||| ||||||||||
        ACGTGTTGA---GTGA-TTACGGACTG



Interface Functions Detail

void loadScoreMatrix(score, fileName[, meta]);

Load a score matrix from a file.

Parameters

score The MatrixScore to load.
fileName The path to the file to load, CharString.
meta Meta information is stored here, CharString.

TValue score(score, entryH, entryV);

Returns similarity score for two sequence entries.

Parameters

score The Score to use for comparing the two sequence entries.
entryH The entry in the first/horizontal sequence.
entryV The entry in the second/vertical sequence.

Returns

TValue The score similarity cost for gaps at the given position/entry. TValue is the value type of score.

TValue scoreGapExtendHorizontal(score, entryH, entryV);

Returns the score for extending a gap in horizontal direction.

Parameters

score The Score to query.
entryH Entry in sequence one (horizontal), type from Score#SequenceEntryForScore.
entryV Entry in sequence two (vertical), type from Score#SequenceEntryForScore.

Returns

TValue The score extension cost for gaps at the given position/entry. TValue is the value type of score.

Remarks

Corresponds to a deletion event in sequence two and an insertion event in sequence one, respectively.

TValue scoreGapExtendVertical(score, entryH, entryV);

Returns the score for extending a gap in vertical direction.

Parameters

score The Score to query.
entryH Entry in sequence one (horizontal), type from Score#SequenceEntryForScore.
entryV Entry in sequence two (vertical), type from Score#SequenceEntryForScore.

Returns

TValue The score extension cost for gaps at the given position/entry. TValue is the value type of score.

Remarks

Corresponds to a deletion event in sequence one and an insertion event in sequence two, respectively.

TValue scoreGapHorizontal(score, entryH, entryV);

Returns the score for a gap in horizontal direction.

Parameters

score The Score to query.
entryH Entry in sequence one (horizontal), type from Score#SequenceEntryForScore.
entryV Entry in sequence two (vertical), type from Score#SequenceEntryForScore.

Returns

TValue The score gap cost for gaps at the given position/entry. TValue is the value type of score.

Remarks

Corresponds to a deletion event in sequence two and an insertion event in sequence one, respectively.

TValue scoreGapOpenHorizontal(score, entryH, entryV);

Returns the score for opening a gap in horizontal direction.

Parameters

score The Score to query.
entryH Entry in sequence one (horizontal), type from Score#SequenceEntryForScore.
entryV Entry in sequence two (vertical), type from Score#SequenceEntryForScore.

Returns

TValue The score open cost for gaps at the given position/entry. TValue is the value type of score.

Remarks

Corresponds to a deletion event in sequence two and an insertion event in sequence one, respectively.

TValue scoreGapOpenVertical(score, entryH, entryV);

Returns the score for opening a gap in vertical direction.

Parameters

score The Score to query.
entryH Entry in sequence one (horizontal), type from Score#SequenceEntryForScore.
entryV Entry in sequence two (vertical), type from Score#SequenceEntryForScore.

Returns

TValue The score open cost for gaps at the given position/entry. TValue is the value type of score.

Remarks

Corresponds to a deletion event in sequence two and an insertion event in sequence one, respectively.

TValue scoreGapVertical(score, entryH, entryV);

Returns the score for a gap in vertical direction.

Parameters

score The Score to query.
entryH Entry in sequence one (horizontal), type from Score#SequenceEntryForScore.
entryV Entry in sequence two (vertical), type from Score#SequenceEntryForScore.

Returns

TValue The score gap cost for gaps at the given position/entry. TValue is the value type of score.

Remarks

Corresponds to a deletion event in sequence two and an insertion event in sequence one, respectively.

TAlphabet sequenceEntryForScore(scoringScheme, seq, pos);

Helper function for element access, depending on score type.

Parameters

scoringScheme The Score to get the representation for.
pos The position of the character.
seq The sequence to get the representation for.

Returns

TAlphabet The value of seq at pos.

Interface Metafunctions Detail

SequenceEntryForScore<TScore, TSequence>::Type;

Note.

This is used for unified interfaces for position dependent and independent scores.

Returns representation type for a character of a position in a sequence.

Template Parameters

TScore The score type to use. Types: Score
TSequence The underlying sequence of the alignments or gaps. Types: ContainerConcept

Returns

Type The type to use for representing a character in a sequence over its position.

Value<TScore>::Type;

Return the value type of the scoring scheme.

Template Parameters

TScore The Score specialization.

Returns

Type The score value type of the scoring scheme.