Ansonsten habe ich noch ein kleineres Compile-Problem gerade, was
irgendwie nicht sehr verständlich ist. Ich hab bei dem
Vergleichsoperator noch einen Vergleich eingebaut um nach e-Value zu
sortieren, siehe unten. Dazu bekomme ich:
razers_withBlast.h:631: error: `.' cannot appear in a constant-
expression
razers_withBlast.h:631: error: parse error in template argument list
Danke!
Gruß,
Hannes
template <typename TReadMatch>
struct LessRNoGPos : public ::std::binary_function < TReadMatch,
TReadMatch, bool >
{
inline bool operator() (TReadMatch const &a, TReadMatch const &b)
const
{
// read number
if (a.rseqNo < b.rseqNo) return true;
if (a.rseqNo > b.rseqNo) return false;
#ifdef RAZERS_BLAST
// evalue
if (a.eValue < b.eValue) return true;
if (a.eValue > b.eValue) return false;
#endif
// genome position and orientation
if (a.gseqNo < b.gseqNo) return true;
if (a.gseqNo > b.gseqNo) return false;
if (a.gBegin < b.gBegin) return true;
if (a.gBegin > b.gBegin) return false;
if (a.orientation < b.orientation) return true;
if (a.orientation > b.orientation) return false;
// quality
#ifdef RAZERS_MATEPAIRS
return a.pairScore > b.pairScore;
#else
return a.editDist < b.editDist;
#endif
}
};
_______________________________________________
seqan-dev mailing list
seqan-dev@lists.fu-berlin.de
https://lists.fu-berlin.de/listinfo/seqan-dev