              result->location[whichRead] = bestResultGenomeLocation[whichRead];
              result->direction[whichRead] = bestResultDirection[whichRead];
 +			float hits_per_lookup = (float)(totalHashTableHits[whichRead][FORWARD] + totalHashTableHits[whichRead][RC]) / countOfHashTableLookups[whichRead];
-+			result->features[whichRead].init(bestResultScore[whichRead],
++			result->features[whichRead].init(bestResultScore[whichRead] == 0 &&
++											   bestResultScore[whichRead ^ 1] == 0 &&
++											   probabilityOfAllPairs <= probabilityOfBestPair &&
++											   popularSeedsSkipped[0] + popularSeedsSkipped[1] == 0,
++											 bestResultScore[whichRead],
 +											 0xffff,
 +											 probabilityOfAllPairs,
 +											 probabilityOfBestPair,

+	hitsPerLookup(0.0f),
+	hitsPerLookupPair(0.0f) { }
+	
+	void init(unsigned _bestScore,
+			  unsigned _secondBestScore,
+			  double _probabilityOfAllCandidates,
+			  double _probabilityOfBestCandidate,

             result->status[whichRead] = result->mapq[whichRead] > MAPQ_LIMIT_FOR_SINGLE_HIT ? SingleHit : MultipleHits;
             result->score[whichRead] = bestResultScore[whichRead];
diff -rupN -x Xcode -x .git tmp/snap/SNAPLib/ReadWriter.cpp snap/SNAPLib/ReadWriter.cpp
--- tmp/snap/SNAPLib/ReadWriter.cpp	2016-01-18 14:55:36.000000000 -0500
+++ snap/SNAPLib/ReadWriter.cpp	2015-07-28 15:36:56.000000000 -0400
@@ -174,7 +174,9 @@ SimpleReadWriter::writeReads(
             finalLocations[whichResult] = results[whichResult].location;
