For all query models but the first, the first sequence in the target database gets skipped.
I've tracked it down to the line
index = ncbi->index + 1;
in sqncbi_ReadWindow().
The first time through that function (for the first query model), at line 1060,
ncbi->index == -1
In subsequent iterations
ncbi->index == 0
The result is that all queries after the first start against sequence 0+1=1, meaning that the first sequence is skipped.
This appears to be the result of the call that's supposed to reset (rewind) the target database:
esl_sqfile_Position(dbfp, 0);
which is called for every query model after the first in hmmsearch's serial_master(). I do not have a solution.
To reproduce with hmmsearch (h3-develop):
For all query models but the first, the first sequence in the target database gets skipped.
I've tracked it down to the line
index = ncbi->index + 1;
in sqncbi_ReadWindow(). The first time through that function (for the first query model), at line 1060,ncbi->index == -1
In subsequent iterationsncbi->index == 0
The result is that all queries after the first start against sequence 0+1=1, meaning that the first sequence is skipped.This appears to be the result of the call that's supposed to reset (rewind) the target database:
esl_sqfile_Position(dbfp, 0);
which is called for every query model after the first in hmmsearch's serial_master(). I do not have a solution.