Hallo wieder! bez. der lokal/semi-global-Frage warte ich auf Antwort von David. Ich bin gerade an dem BLASTX-Modus meiner Bachelor-Arbeit. Dabei komme ich nicht weiter. Ich möchte einfach mit einer Blosum62 ein Alignment scoren, dazu benutze ich als Aufruf (jenach Option wird hier das Nucleotide oder das Protein-Scoring verwendet): int score = globalAlignment(align, (options.blastMode == 1) ? options.blastNScoring : options.blastPScoring, Gotoh()); Vorher habe ich das nur mit blastNScoring gemacht, problemlos. BlastNScoring ist vom Typ Score<int>, BlastPScoring ist vom Typ Blosum62. Der Compiler spuckt dabei als Fehler aus: /usr/include/c++/4.2/bits/stl_algobase.h:283: error: cannot convert 'seqan::Score<int, seqan::Simple>' to 'char' in assignment Die etwas längeren Vorlauf habe ich angehangen. Danke für Tipps! Gruß, Hannes
/usr/include/c++/4.2/bits/stl_algobase.h: In static member function 'static _OI std::__copy<_BoolType, std::random_access_iterator_tag>::copy(_II, _II, _OI) [with _II = seqan::Score<int, seqan::Simple>*, _OI = char*, bool _BoolType = false]': /usr/include/c++/4.2/bits/stl_algobase.h:315: instantiated from '_OI std::__copy_aux(_II, _II, _OI) [with _II = seqan::Score<int, seqan::Simple>*, _OI = char*]' /usr/include/c++/4.2/bits/stl_algobase.h:340: instantiated from 'static _OI std::__copy_normal<<anonymous>, <anonymous> >::__copy_n(_II, _II, _OI) [with _II = seqan::Score<int, seqan::Simple>*, _OI = char*, bool <anonymous> = false, bool <anonymous> = false]' /usr/include/c++/4.2/bits/stl_algobase.h:401: instantiated from '_OutputIterator std::copy(_InputIterator, _InputIterator, _OutputIterator) [with _InputIterator = seqan::Score<int, seqan::Simple>*, _OutputIterator = char*]' /home/hannes/devel/seqan/teaching/master/hauswedell/razerblasts/../../../../seqan/projects/library/seqan/basic/basic_alphabet_interface.h:509: instantiated from 'void seqan::_arrayCopyForward_Default(TSource1, TSource2, TTarget) [with TTarget = char*, TSource1 = seqan::Score<int, seqan::Simple>*, TSource2 = seqan::Score<int, seqan::Simple>*]' /home/hannes/devel/seqan/teaching/master/hauswedell/razerblasts/../../../../seqan/projects/library/seqan/basic/basic_alphabet_interface.h:518: instantiated from 'void seqan::arrayCopyForward(TSource1, TSource2, TTarget) [with TTarget = char*, TSource1 = seqan::Score<int, seqan::Simple>*, TSource2 = seqan::Score<int, seqan::Simple>*]' /home/hannes/devel/seqan/teaching/master/hauswedell/razerblasts/../../../../seqan/projects/library/seqan/basic/basic_alphabet_trait_basic.h:102: instantiated from 'void seqan::_arrayConstructCopy_Pointer(TValueSource*, TValueSource*, TValueTarget*, seqan::True) [with TValueSource = seqan::Score<int, seqan::Simple>, TValueTarget = char]' /home/hannes/devel/seqan/teaching/master/hauswedell/razerblasts/../../../../seqan/projects/library/seqan/basic/basic_alphabet_trait_basic.h:132: instantiated from 'void seqan::arrayConstructCopy(TValueSource*, TValueSource*, TValueTarget*) [with TValueSource = seqan::Score<int, seqan::Simple>, TValueTarget = char]' /home/hannes/devel/seqan/teaching/master/hauswedell/razerblasts/../../../../seqan/projects/library/seqan/sequence/string_base.h:764: instantiated from 'static void seqan::_Assign_String<TExpand>::assign_(TTarget&, TSource&) [with TTarget = seqan::String<char, seqan::Alloc<void> >, TSource = const seqan::String<seqan::Score<int, seqan::Simple>, seqan::Alloc<void> >, TExpand = const seqan::Tag<seqan::TagGenerous_>]' /home/hannes/devel/seqan/teaching/master/hauswedell/razerblasts/../../../../seqan/projects/library/seqan/sequence/string_base.h:812: instantiated from 'void seqan::assign(seqan::String<TValue, TSpec>&, const TSource&, seqan::Tag<TUsage>) [with TTargetValue = char, TTargetSpec = seqan::Alloc<void>, TSource = seqan::String<seqan::Score<int, seqan::Simple>, seqan::Alloc<void> >, TExpand = seqan::TagGenerous_]' /home/hannes/devel/seqan/teaching/master/hauswedell/razerblasts/../../../../seqan/projects/library/seqan/sequence/string_base.h:772: instantiated from 'static void seqan::_Assign_String<TExpand>::assign_(TTarget&, TSource&) [with TTarget = seqan::String<char, seqan::Alloc<void> >, TSource = const seqan::Score<int, seqan::Simple>, TExpand = const seqan::Tag<seqan::TagGenerous_>]' /home/hannes/devel/seqan/teaching/master/hauswedell/razerblasts/../../../../seqan/projects/library/seqan/sequence/string_base.h:812: instantiated from 'void seqan::assign(seqan::String<TValue, TSpec>&, const TSource&, seqan::Tag<TUsage>) [with TTargetValue = char, TTargetSpec = seqan::Alloc<void>, TSource = seqan::Score<int, seqan::Simple>, TExpand = seqan::TagGenerous_]' /home/hannes/devel/seqan/teaching/master/hauswedell/razerblasts/../../../../seqan/projects/library/seqan/sequence/string_base.h:746: instantiated from 'void seqan::assign(seqan::String<TValue, TSpec>&, const TSource&) [with TTargetValue = char, TTargetSpec = seqan::Alloc<void>, TSource = seqan::Score<int, seqan::Simple>]' /home/hannes/devel/seqan/teaching/master/hauswedell/razerblasts/../../../../seqan/projects/library/seqan/sequence/string_alloc.h:79: instantiated from 'seqan::String<TValue, seqan::Alloc<void> >::String(const TSource&) [with TSource = seqan::Score<int, seqan::Simple>, TValue = char]' /home/hannes/devel/seqan/teaching/master/hauswedell/razerblasts/../../../../seqan/projects/library/seqan/score/score_matrix.h:312: instantiated from 'void seqan::loadScoreMatrix(seqan::Score<TValue, seqan::ScoreMatrix<TSequenceValue, TSpec> >&, TString&) [with TValue = int, TSequenceValue = seqan::SimpleType<unsigned char, seqan::_AminoAcid>, TSpec = seqan::_Blosum62, TString = const seqan::Score<int, seqan::Simple>]' /home/hannes/devel/seqan/teaching/master/hauswedell/razerblasts/../../../../seqan/projects/library/seqan/score/score_matrix.h:92: instantiated from 'seqan::Score<TValue, seqan::ScoreMatrix<TSequenceValue, TSpec> >::Score(const TString&, TValue) [with TString = seqan::Score<int, seqan::Simple>, TValue = int, TSequenceValue = seqan::SimpleType<unsigned char, seqan::_AminoAcid>, TSpec = seqan::_Blosum62]' /home/hannes/devel/seqan/teaching/master/hauswedell/razerblasts/outputFormat_withBlast.h:1132: instantiated from 'void seqan::dumpMatches(TMatches&, const TGenomeNames&, seqan::StringSet<seqan::String<char, seqan::Alloc<void> >, seqan::Owner<const seqan::Tag<seqan::Default_> > >&, std::map<unsigned int, std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int>, std::less<unsigned int>, std::allocator<std::pair<const unsigned int, std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int> > > >&, const TReads&, TCounts&, const TReadNames&, std::string, std::string, seqan::RazerSOptions<TSpec>&) [with TMatches = seqan::String<seqan::ReadMatch<int>, seqan::Alloc<void> >, TGenomeNames = seqan::StringSet<seqan::String<char, seqan::Alloc<void> >, seqan::Owner<const seqan::Tag<seqan::Default_> > >, TReads = seqan::StringSet<seqan::String<seqan::SimpleType<unsigned char, seqan::_Dna5Q>, seqan::Alloc<void> >, seqan::Owner<seqan::ConcatDirect<void> > >, TReadNames = seqan::StringSet<seqan::String<char, seqan::Alloc<void> >, seqan::Owner<const seqan::Tag<seqan::Default_> > >, TCounts = seqan::String<seqan::String<short unsigned int, seqan::Alloc<void> >, seqan::Alloc<void> >, TSpec = seqan::RazerBlastSSpec<false, false>]' /home/hannes/devel/seqan/teaching/master/hauswedell/razerblasts/razer_blast_s.cpp:191: instantiated from 'int mapReads(const char*, const char**, const char*, seqan::RazerSOptions<TSpec>&) [with TSpec = seqan::RazerBlastSSpec<false, false>]' /home/hannes/devel/seqan/teaching/master/hauswedell/razerblasts/razer_blast_s.cpp:1636: instantiated from here /usr/include/c++/4.2/bits/stl_algobase.h:283: error: cannot convert 'seqan::Score<int, seqan::Simple>' to 'char' in assignment gmake[2]: *** [CMakeFiles/razerblasts.dir/razer_blast_s.cpp.o] Fehler 1 gmake[1]: *** [CMakeFiles/razerblasts.dir/all] Fehler 2 gmake: *** [all] Fehler 2