[Seqan-dev] Trouble Using Custom SeedSpec
- From: Brett Bowman <bnbowman@gmail.com>
- To: SeqAn Development <seqan-dev@lists.fu-berlin.de>
- Date: Mon, 24 Nov 2014 17:57:40 -0800
- Reply-to: SeqAn Development <seqan-dev@lists.fu-berlin.de>
- Subject: [Seqan-dev] Trouble Using Custom SeedSpec
The algorithm I'm trying to implement with SeqAn (1.4.1) uses log-probabilities as scores, so I need to customize the Seed<> to change the default ScoreValue type:
(Following the docs here: http://docs.seqan.de/seqan/1.4.2-dox/?p=SimpleSeed)
"""
// Declare our Seed Config and associated Seed type
struct SeedConfig
{
typedef size_t TPosition;
typedef MakeSigned_<size_t>::Type TDiagonal;
typedef size_t TSize;
typedef float TScoreValue; // Changed to Float to be compatible with existing scoring scheme
};
typedef Seed<Simple, SeedConfig> TSeed;
typedef SeedSet<SeedConfig> TSeedSet;
"""
But when I try to add seeds to my SeedSet,
"""
TSeed seed = TSeed(queryPos, refPos, 12);
float score = 15.5;
setScore(seed, score);
std::cout << seed << " " << seqan::score(seed) << " " << score << std::endl;
if (!addSeed(seeds, seed, 0, Merge()))
{
addSeed(seeds, seed, Single());
}
"""
I get the following error no matter what I try:
"""
/home/bbowman/git/SRSLI/src/C++/SparseAlignment.hpp:220:18: error: no matching function for call to 'addSeed'
if (!addSeed(seeds, seed, 0, Merge()))
^~~~~~~
/usr/include/seqan/seeds/seeds_seed_set_unordered.h:361:1: note: candidate function [with TSeedSpec = SeedConfig, TDistanceThreshold = int] not viable: no known conversion from
'Seed<Simple, struct SeedConfig>' to 'const Seed<struct SeedConfig, (default) struct seqan::DefaultSeedConfig>' for 2nd argument
addSeed(SeedSet<TSeedSpec, Unordered> & seedSet,
"""
What am I missing?
Sincerely,
Brett
-
seqan-dev - November 2014 - Archives indexes sorted by:
[ thread ] [ subject ] [ author ] [ date ] - Complete archive of the seqan-dev mailing list
- More info on this list...