ID              h81
TITLE           dombias output was in nats, not bits
AFFECTS         3.0 and earlier
FIXED_IN        -
STATUS          CLOSED
XREF            J6/53
REPORTED_BY     Elena Rivas
OPENED_DATE     SRE, 6 May 2010
CLOSED_DATE     SRE, Mon May 24 15:57:18 2010
DESCRIPTION     
  "dombias" field in output was in nats, not bits.
//
ID              h80
TITLE           hmmconvert can't read H2 "Nucleic" save files
AFFECTS         3.0 and earlier.
FIXED_IN        -
STATUS          CLOSED
XREF            J6/61
REPORTED_BY     Martin Hartmann <martinha@interchange.ubc.ca>
OPENED_DATE     SRE, Tue May 18 14:16:19 2010
CLOSED_DATE     SRE, Tue May 18 14:16:20 2010
DESCRIPTION     
  H2 save files use the tag "nucleic" on their ALPH line. Modern
  Easel/H3 expects "DNA" or "RNA". p7_hmmfile.c::read_asc20hmm()
  was passing the token to esl_abc_EncodeType(), which then failed
  to recognize "nucleic".

  Fix is for read_asc20hmm() to decode the tag itself: "nucleic"
  mapped to eslDNA, "amino" mapped to eslAMINO.
//
ID              h79
TITLE           Memory corruption in resized generic P7_GMX
AFFECTS         3.0 and earlier.
FIXED_IN        -
STATUS          CLOSED
XREF            J6/61
REPORTED_BY     Elena Rivas
OPENED_DATE     SRE, Tue May 18 11:50:02 2010
CLOSED_DATE     SRE, Tue May 18 11:50:03 2010
DESCRIPTION     
   p7_gmx_GrowTo() could get into a situation where it is required to
   shrink allocW to set enough valid rows, but it does
   not. Specifically, in Elena's example, a sequence of GrowTo calls
   results in a situation where ncells and allocR are sufficient for
   the new M,L request, but validR is not, and allocW is too large to
   be able to set enough rows:

   1. M=100, L=100  =>  ncells=10201,allocW=101,allocL=101,validR=101
   2. M=179, L=55   =>  ncells=10201,allocW=180,allocL=101,validR=56
   3. M=87,  L=57   =>  bug:
       88*58 will fit (5104 cells < 10201), but 180*58 does not (10440
       cells > 10201), so allocW must shrink to be able to use the same
       10201 cell allocation.

   The unit test failed to detect the bug, partly because it didn't
   exercise this particular kind of call sequence, and partly because 
   gmx_testpattern() used allocR, allocW when it fills, not M,L;
   the unit test didn't detect that validR < L+1 upon "successful"
   return from p7_gmx_GrowTo().

   Fixed unit test: it now detects the bug;
   Fixed p7_gmx_GrowTo(): it now always resizes the rows to allocW=M+1
   when it resets row pointers. This is what p7_omx implementations do.
   (Which is why this bug went undetected; p7_gmx is only used in
   internal testing, not in production H3.)
//
#### 
####  3.0 release: 28 March 2010
####
####
####  3.0rc2 release: 6 March 2010
####
ID              h78
TITLE           phmmer --acc segfaults when no accession is available
AFFECTS         3.0rc1
FIXED_IN        3.0rc2
STATUS          CLOSED
XREF            SRE J6/13
REPORTED_BY     Eric Pelletier <ericp@genoscope.cns.fr>, 23 Feb 2010
OPENED_DATE     SRE, Sat Mar  6 08:58:51 2010
CLOSED_DATE     SRE, Sat Mar  6 11:12:13 2010
DESCRIPTION     
  phmmer --acc segfaults after "Domain annotation" header if targets
  contain no accessions.

  p7_tophits.c::p7_tophits_Domains() was failing to check for NULL
  accession.
//
ID              h77
TITLE           hmmalign corrupts column before an all-deleted column
AFFECTS         3.0rc1
FIXED_IN        3.0rc2
STATUS          CLOSED
XREF            SRE J6/8; SRE 2010/0302-hmmer-bug-h77
REPORTED_BY     Denis Schmidt  <Denis.Schmidt@merck.de>
OPENED_DATE     SRE, Tue Mar  2 11:06:49 2010
CLOSED_DATE     SRE, Tue Mar  2 11:47:25 2010
DESCRIPTION     
   hmmalign corrupts sequences, overwriting column with -'s if an
   all-delete column occurs.

   Bug was introduced in svn r3041, in fixing problems handling 
   X states, detected by Elena.

   Fix: in tracealign.c::make_{digital,text}_msa, test for matuse[k]
   before writing a delete '-'. 
  
   i12-delete-corruption.pl in testsuite tests for this bug.
//
####
####  3.0rc1 release: 9 Feb 2010
####
ID              h76
TITLE           esl_tmpfile*() string must be modifiable; char tmpfile[] = "tmpXXXXXX" insufficient
AFFECTS         3.0b3 and earlier
FIXED_IN        3.0rc1
STATUS          CLOSED
XREF            J5/148
REPORTED_BY     Sebastien Moretti <sebastien.moretti@unil.ch>   
OPENED_DATE     SRE, Fri Feb  5 11:10:53 2010
CLOSED_DATE     SRE, Fri Feb  5 11:27:13 2010
DESCRIPTION     
   Moretti reports a number of unit test failures. We asked for a 
   gdb stack trace, which he provided; it shows a failure in 
   esl_dirichlet.c, utest_io, esl_tmpfile_named(). Here we
   are assigning char tmpfile[] = "esltmpXXXXXX". This may be
   insufficient to make the compiler give a modifiable string;
   it should be char tmpfile[16] or some such.

   Replace tmpfile[] with tmpfile[16] in esl_dirichlet.c; this
   is the only place that this error appears to occur. (And thus,
   this bug cannot account for all of Moretti's observed test
   failures.)
//
ID              h75
TITLE           HMMER_NCPU environment variable has no effect
AFFECTS         3.0b3 and earlier
FIXED_IN        3.0rc1
STATUS          CLOSED
XREF            -
REPORTED_BY     Olli Tourunen <olli.tourunen@csc.fi>, 19 Jan 2010
OPENED_DATE     SRE, Sat Jan 30 10:31:15 2010
CLOSED_DATE     SRE, Sat Jan 30 10:31:16 2010
DESCRIPTION     
  HMMER_NCPU environment variable had no effect in the four search
  programs because they never called esl_opt_ProcessEnvironment.
//
ID              h74
TITLE           Different envelopes, identical alignment
AFFECTS         3.0b3 and earlier
FIXED_IN        3.0rc1
STATUS          CLOSED
XREF            J5/130; notebook/1222-hmmer-bug-h74
REPORTED_BY     Craig McAnulla <craigm@ebi.ac.uk>, 26 Nov 2009
OPENED_DATE     SRE, Tue Dec 22 15:36:03 2009
CLOSED_DATE     
DESCRIPTION     
  Rarely, two different (overlapping) envelopes can produce the
  same OA alignment. 

  McAnulla's example is the Pfam_B model Pfam-B_9291 against 
  Uniparc UPI0000022264.

  Implemented workaround_bug_h74() in p7_tophits.c. This hides all but
  one envelope containing a duplicate alignment.

  A better fix is to define envelope by profile endpoints in addition
  to sequence endpoints, revise rescore_isolated_domain() to take
  profile endpoints into account, and write versions of Forward and
  Backward that limit the calculation to an envelope on the profile.
  Defer this to future.
//
ID              h73
TITLE           hmmalign --mapali fails if msa contains fragments
AFFECTS         3.0b3 and earlier
FIXED_IN        3.0rc1
STATUS          CLOSED
XREF            J5/129
REPORTED_BY     Elena Rivas, 17 Nov 2009 
OPENED_DATE     21 Dec 2009
CLOSED_DATE     SRE, Mon Dec 21 16:20:14 2009
DESCRIPTION     
   If MSA contains fragments, fragments get marked, then checksum is calculated; 
   thus checksum in HMM file doesn't match checksum of original (unmarked) MSA,
   and hmmalign --mapali throws a fault.

   Rearranged order of checksum determination in p7_Builder();
   checksum is calculated on original MSA, before any manipiulation.
//
ID              h72
TITLE           jackhmmer segfaults if target seqdb contains duplicate names
AFFECTS         3.0b3 and earlier
FIXED_IN        3.0rc1
STATUS          CLOSED
XREF            J5/122
REPORTED_BY     James Wasmuth <besnoitia@gmail.com>
OPENED_DATE     SRE, Sun Dec 13 15:24:30 2009
CLOSED_DATE     SRE, Sun Dec 13 15:24:24 2009
DESCRIPTION     
  A small bug in esl_keyhash_Store(). opt_index is optional; but was
  not checking before storing to *opt_index on a duplicate key. 
  jackhmmer (unique among the search programs) uses keyhashes to
  mark new target sequences in each iteration.

  fixed in Easel, and added a test (i10-duplicate-names.pl) to test this
  in future.
//
ID              h71
TITLE           hmm->compo calculation was wrong, bug in iocc[] calculation
AFFECTS         3.0b3 and earlier
FIXED_IN        3.0rc1
STATUS          CLOSED
XREF            J5/120
REPORTED_BY     Elena Rivas
OPENED_DATE     4 Dec 2009
CLOSED_DATE     7 Dec 2009
DESCRIPTION     
  Elena reports a bug in p7_hmm_CalculateOccupancy. Mean of the insert geometric 
  is 1/t_IM, not 1/t_II. 

  This affects the calculation of hmm->compo, the model mean
  composition, which is used to construct the two-state HMM used by
  the bias filter. Therefore the bugfix had the potential to alter
  results. Verified that a benchmark (profmark) is essentially
  unchanged -- there is a tiny change, insignificant but unfortunately
  detrimental (by about 1%). 

  This bugfix may change results, because targers can appear/disappear
  due to the alteration in the bias filter.

  Added a unit test, utest_composition(), to verify that compo is
  correctly calculated -- validation against composition of large set
  of sampled emitted seqs.

//
ID              h70
TITLE           hmmbuild gives cryptic error on msa containing internal ~ chars
AFFECTS         3.0b3 and earlier (reported against 3.0b2)
FIXED_IN        3.0rc1
STATUS          CLOSED
XREF            J5/119
REPORTED_BY     Erick Matsen <ematsen@gmail.com>; 20 Nov 2009
OPENED_DATE     SRE, Thu Dec  3 16:12:31 2009
CLOSED_DATE     SRE, Thu Dec  3 16:30:54 2009
DESCRIPTION     
  If the input MSA contains an internal ~ character, H3 throws a confusing error:
  Fatal exception (source file build.c, line 247):
  validation failed: expected k doesn't match trace's k

  Rejecting the internal ~ is correct, but the error should be more
  informative. 

  Added validate_msa() step to p7_Builder.
//
ID              h69
TITLE           hmmscan --tblout segfaults if HMM lacks accession/description
AFFECTS         3.0b3 (and earlier?)
FIXED_IN        3.0rc1
STATUS          CLOSED
XREF            J5/114
REPORTED_BY     Jordan Fish <jrdn.fish@gmail.com> 19 Nov 2009
OPENED_DATE     SRE, 21 Nov 2009
CLOSED_DATE     SRE, Sun Nov 29 15:02:10 2009
DESCRIPTION     
   hmmscan --tblout seg faults if it tries to write information for an
   HMM that lacks optional accession or description information.

   The problem is a lack of consistency (and documentation) in how
   P7_HIT handles optional information. hit->acc and hit->desc should
   be NULL. But p7_pipeline.c was just strdup'ing different
   conventions: ESL_SQ (in hmmsearch mode) uses \0 convention,
   P7_OPROFILE (in hmmscan mode) uses NULL convention.
   TabularTargets() and TabularDomains() were checking against the \0
   convention, which meant that they'd access a NULL ptr and segfault
   in hmmscan mode.
//
####
####  beta3 release: 13 Nov 2009
####
ID              h68
TITLE           hmmalign fails on some seqs: Decoding ERANGE error
AFFECTS         3.0b2 and earlier
FIXED_IN        3.0b3
STATUS          CLOSED
XREF            J5/105
REPORTED_BY     Jordan Fish <jrdn.fish@gmail.com> 12 Nov 2009
OPENED_DATE     SRE, Fri Nov 13 08:29:32 2009
CLOSED_DATE     SRE, Fri Nov 13 08:59:56 2009
DESCRIPTION     
  Fish provides an example of an rpoB HMM and a high-scoring sequence.
  hmmalign silently fails on this sequence because p7_Decoding()
  returns an ERANGE error.

  The ERANGE error is documented in [J3/119-121] and in the
  impl_sse/decoding.c::p7_Decoding() code. Models in unilocal mode may
  have numeric overflow on targets containing more than one
  "domain". Search progams avoid this problem because of careful
  domain postprocessing; it is rare for p7_Decoding() to see a
  multidomain target, except in unusual situations that I believe
  always involve garbage repetitive sequences, and therefore the
  failure can be silently ignored. 

  But in hmmalign, we are in unilocal mode to begin with, and a user
  may provide us with a "multidomain" target. 

  This needs more thought, but for now, the fix is to detect the
  overflow in hmmalign and fail over to slow generic routines.
//
ID              h67
TITLE           H2 models produced by H2 hmmconvert aren't readable
AFFECTS         3.0b2 and earlier
FIXED_IN        3.0b3
STATUS          CLOSED
XREF            J5/105
REPORTED_BY     Lorenzo Cerutti <lorenzo.cerutti@unil.ch> 23 Sept 2009
OPENED_DATE     12 Nov 2009
CLOSED_DATE     SRE, Thu Nov 12 13:34:17 2009
DESCRIPTION     
  Cerutti takes H1 models and converts them to H2 models using H2's
  hmmconvert, and wants to use them with H3. But H3, despite having
  a read_asc20hmm() for backwards compat with H2, won't read them.

  Two tweaks made in read_asc20hmm(): accept NSEQ 0 in header, and
  don't look for a map character for nodes if MAP is "no".
//

ID              h66
TITLE           hmmscan output of HMM names/descriptions corrupted somehow
AFFECTS         3.0b2?
FIXED_IN        3.0b3
STATUS          CLOSED
XREF            J5/105
REPORTED_BY     Jaina Mistry <jm14@sanger.ac.uk> 11 Nov 2009
OPENED_DATE     SRE, Thu Nov 12 10:40:50 2009
CLOSED_DATE     SRE, Fri Nov 13 07:27:14 2009
DESCRIPTION     
   Under circumstances that have not been identified:
   hmmscan ASCII output replaces HMM "<name> <description>\n" with
   "<name>"; the loss of the newline corrupts the output and breaks
   parsers including pfam_scan.pl.

   Jaina reports an example of it occurring on an "older" Opteron
   running SUSE Linux. It does not happen on our Opteron/SUSE system.
   There is no apparent problem in the source. One suspicion is the
   crossplatform binary compatibility of press'ed HMM databases.

   This appears to be a bug on the Opteron/SUSE, with its handling
   of the "%-.*s" precision in fprintf() when the precision is set
   to INT_MAX. OK, maybe that was asking a little much of it. Changed
   the way unlimited line length is handled; now it formats
   unlimited desc lines simply as "%s".
//
ID              h65
TITLE           hmmpress -f corrupts HMM database instead of overwriting it
AFFECTS         3.0b2 and earlier
FIXED_IN        3.0b3
STATUS          CLOSED
XREF            J5/105
REPORTED_BY     Rob Finn <rdf@sanger.ac.uk> 30 Sept 2009
OPENED_DATE     SRE, Thu Nov 12 09:16:39 2009
CLOSED_DATE     SRE, Thu Nov 12 09:33:55 2009
DESCRIPTION     
  hmmpress -f destroys the previous index and fails, rather than
  cleanly overwriting.

  Problem is that p7_hmmfile_Open() sees the press'ed database and
  opens it, because it's supposed to use the binary db if available;
  but unfortunately the db is about to be overwritten.
 
  Fix is to implement p7_hmmfile_OpenNoDB(), which opens only the
  <hmmfile>, even if a press'ed db is available for it.
//
ID              h64
TITLE           traces containing X (fragments) are misaligned
AFFECTS         3.0b2 and earlier
FIXED_IN        3.0b3
STATUS          CLOSED
XREF            J5/105
REPORTED_BY     Elena Rivas
OPENED_DATE     6 Nov 2009
CLOSED_DATE     SRE, Thu Nov 12 08:34:23 2009
DESCRIPTION     
  Core traces from model construction involving fragments may result
  in B->X->{MDI}k and {MDI}k->X->E entry/exit transitions, not just
  B->X->Mk and Mk->X->E. Elena saw one bug having to do with X state
  handling in p7_tracealign_MSA(). There were in fact several bugs,
  there and elsewhere. The problem has not manifested itself in any
  bug reports yet. If it did, it would manifest as odd placement of
  N/C terminal residues in hmmbuild -O resaved alignments. 
//
ID              h63
TITLE           stotrace unit test may fail on i686 platforms
AFFECTS         3.0b2 and earlier
FIXED_IN        3.0b3
STATUS          CLOSED
XREF            -
REPORTED_BY     Serdar Dalgic <dalgic.srdr@gmail.com>
OPENED_DATE     SRE, Fri Oct 30 10:39:00 2009
CLOSED_DATE     SRE, Fri Oct 30 10:39:02 2009
DESCRIPTION     
  "make check" shows a stotrace unit test failure. Does not occur on
  x86_64, but reproduced on cf-debian, one of our i686 platforms.
  Issue is a harmless floating point comparison; gets (sc > vsc)
  when really (sc == vsc). That is, the sampled trace is identical
  to the Viterbi optimal path, but due to floating point roundoff,
  the score of the sampled trace is a teensy bit more than the Viterbi
  score, and this triggers test failure. Fixed by adding some
  slop/tolerance to the test.
//
ID              h62
TITLE           hmmscan segfaults on sequences containing * characters
AFFECTS         3.0b2 for sure; probably earlier too
FIXED_IN        3.0b3
STATUS          CLOSED
XREF            J5/98
REPORTED_BY     Francisco J. Ossandon <fossandon@vtr.net>, Santiago, Chile
OPENED_DATE     SRE, Sat Oct 24 10:53:21 2009
CLOSED_DATE     SRE, Thu Oct 29 09:04:33 2009
DESCRIPTION     
  Ossandon reports a segfault when running hmmscan of Pfam24 on a
  sequence file with * residue characters. The fault reproduces
  sporadically here, suggesting a memory corruption. valgrind sees
  uninitialized memory problems. 

  Problem traced to failure to initialize * (and ~, and -) odds ratios
  in null2 model.

  Decreed these odds ratios to be 1.0 (i.e. it isn't clear what the
  probabilities should be, but whatever they are, they're the same in
  null1 and null2 models, and we're only operating with odds ratios
  anyway; so the odds ratios are 1.0). 

  Unit tests should have caught this - and would have, if they'd been
  checking with valgrind (null2_utest fails under valgrind). Added
  valgrind tests to test suite. Added i8-nonresidues.pl to regression
  test the handling of * residues.
//
ID              h61
TITLE           hmmscan --cut_{ga,nc,tc} fails to impose correct thresholds
AFFECTS         3.0{a1,a2,b1,b2}
FIXED_IN        3.0b3
STATUS          CLOSED
XREF            J5/92
REPORTED_BY     Sarah Hunter <hunter@ebi.ac.uk>
OPENED_DATE     18 October 2009
CLOSED_DATE     19 October 2009
DESCRIPTION     
  Model-specific score thresholds were being imposed by p7_tophits_Threshold(),
  which is stupid, because by the end of all the targets in hmmscan,
  we don't know what the thresholds of anything but the final target model.

  Model-specific thresholds are now applied in the pipeline itself,
  and the overall thresholding system is rethought and slightly improved.

  [Sarah reported that hmmscan GA thresholds don't work. This turns out
  to be two bugs (see also #h60).]
//
ID              h60
TITLE	        hmmbuild --mpi fails to record GA,TC,NC thresholds
AFFECTS		3.0{a1,a2,b1,b2}
FIXED_IN        3.0b3
STATUS          CLOSED
XREF            J5/92
REPORTED_BY     Sarah Hunter <hunter@ebi.ac.uk>
OPENED_DATE     18 Oct 2009
CLOSED_DATE     19 Oct 2009
DESCRIPTION     
  Profile files built with hmmbuild --mpi do not record GA, TC, NC
  cutoffs. The MPI send/recv for esl_msa was not including the cutoff
  data.

  [Sarah reported that hmmscan GA thresholds don't work. This turns
  out to be two bugs (see also #h61).]  
//
ID		h59
TITLE           seq descriptions containing '%' cause segfault
AFFECTS         3.0b2
FIXED_IN        3.0b3
STATUS          CLOSED
XREF            J5/75
REPORTED_BY     Michael Remmert <remmert@genzentrum.lmu.de> 11 Aug 2009
OPENED_DATE     SRE, Fri Sep 11 10:38:37 2009
CLOSED_DATE     SRE, Fri Sep 11 13:54:24 2009
DESCRIPTION     
   Original email report shows a jackhmmer segfault that appeared
   fairly obscure -- only with certain queries, only in jackhmmer.
   Traced to a segfault when using esl_msa_SetSeqDescription()
   to copy a seq description to a new MSA. This reveals a general
   flaw in the entire {msa,seq}_Set* functions -- they can't be used
   to copy a string that might contain a naked '%', from user
   input outside program's control.
   
   Requires changing the {msa,sq} API: _Set* functions changed to
   _Format*; new _Set* functions take a const string, not a
   printf()-style format string and varargs.

//
ID              h58
TITLE           hmmscan tabular domain output reverses target, query lengths
AFFECTS         3.0b2
FIXED_IN        3.0b3
STATUS          CLOSED
XREF            J5/69
REPORTED_BY     Phil Jones <pjones@ebi.ac.uk> 30 Jul 2009
OPENED_DATE     SRE, Tue Aug 25 08:56:04 2009
CLOSED_DATE     SRE, Tue Aug 25 08:56:06 2009
DESCRIPTION     
   hmmscan tabular domain output reverses target and query lengths.

   P7_ALIDISPLAY stores actual L and M of sequence and HMM, but
   tabular domain output is query and target lengths. hmmsearch has
   HMM query, seq targets; hmmscan has seq query, HMM targets.
   p7_tophits_TabularTargets() needs to set tlen, qlen using
   PIPELINE's {p7_SEARCH_SEQS | p7_SCAN_MODELS} flag.
//
ID              h57
TITLE           jackhmmer fails: "backconverted subseq didn't end at expected length"
AFFECTS         3.0b2
FIXED_IN        -
STATUS          CLOSED
XREF            J5/52
REPORTED_BY     Michael Seidl <m.f.seidl@uu.nl>, 22 June 2009
OPENED_DATE     1 July 2009
CLOSED_DATE     1 July 2009
DESCRIPTION     
  jackhmmer fails at p7_alidisplay.c line 422 with error message, 
  "backconverted subseq didn't end at expected length".

  Seidl sends an example involving a large FASTA database. 

  Turns out to be a problem with * characters; Seidl's db is full of
  them, and his example is one that puts a * in an insertion in an
  otherwise highly significant alignment. A routine that is supposed
  to be counting residue lengths was failing to count the *, so it
  was getting the wrong length.

//
####
####  beta2 release: 21 June 2009
####
ID              h56
TITLE           hmmbuild fails trace validation on frag-rich MSA
AFFECTS         3.0b1
FIXED_IN        3.0b2
STATUS          CLOSED
XREF            -
REPORTED_BY     Peter Williams (LBL)
OPENED_DATE     SRE, Sun Jun 21 09:49:30 2009
CLOSED_DATE     SRE, Sun Jun 21 09:49:31 2009
DESCRIPTION     
  On some alignments, hmmbuild fails with fatal exception;
  "validation failed" expected k doesn't match trace's k.

  With fragments, an X->Ik transition is possible.
  p7_trace_Validate wasn't expecting it. 

//
####
####  beta1 release: 17 June 2009
####
ID              h55
TITLE           hmmbuild fails to build reasonable model on frag-rich MSA
STATUS          CLOSED
XREF            J5/45
REPORTED_BY     Peter Williams (LBL)
OPENED_DATE     SRE, Tue Jun 16 14:19:52 2009
CLOSED_DATE     SRE, Tue Jun 16 14:19:53 2009
DESCRIPTION     
  hmmbuild did not have the fragment-marking step that I thought it
  did; it failed to deal gracefully with fragment-filled alignments,
  and built too-short models. Added call to esl_msa_MarkFragments()
  to the build pipeline.
//
ID              h54
TITLE           hmmpress fails in ftello() on a large HMM database.
STATUS          CLOSED
XREF            J5/44
REPORTED_BY     Peter Williams (LBL)
OPENED_DATE     SRE, Tue Jun 16 12:03:43 2009
CLOSED_DATE     SRE, Fri Jun 19 13:18:34 2009
DESCRIPTION     
   In alpha2 code, hmmpress fails with:

   Fatal exception (source file p7_hmmfile.c, line 619):
   ftello() failed

   on a large HMM database.

   Initially this did not seem to reproduce, because I was testing
   current dev code, not alpha2 code. Now I've reproduced it not only
   on AMD Opteron (cf-suse; close to Williams' machine) and even on
   the desktop, using alpha2 code. beta1 code does not show the same
   bug. Attributable to the change to autoconf 2.63; autoconf 2.61
   (used by alpha2) had a bug in how it detected ftello().
//
ID              h53
TITLE           hmmalign --trim memory faults
STATUS          CLOSED
XREF            -
REPORTED_BY     Alex Ochoa
OPENED_DATE     SRE, Thu Jun 11 08:24:56 2009
CLOSED_DATE     SRE, Thu Jun 11 08:24:58 2009
DESCRIPTION     
   hmmalign --trim had a memory corruption problem.
   annotate_posterior_probability() was writing postprobs
   for N and C states even when p7_TRIM option was set.
//


ID              h52
TITLE           hmmscan seg faults in rare cases trying to output per-sequence hit
STATUS          CLOSED
XREF            -
REPORTED_BY     Rob Finn <rdf@sanger.ac.uk>, 8 Jun 09
OPENED_DATE     8 Jun 09
CLOSED_DATE     SRE, Tue Jun  9 08:35:02 2009
DESCRIPTION     
  Domain definition could result in nregions>0 and nenvelopes==0 and
  thus no available domain information if the region(s) were handled
  by stochastic traceback clustering; this resulted in passing the
  nregions==0 failsafe in p7_pipeline, uninitialized domain info
  fields in tophits structure, and segfaults and/or valgrind bleating
  when top sequence hit output routines try to access at least one
  best domain.

  Fix is to add a check for nenvelopes==0 in addition to (could be in
  lieu of) nregions==0 failsafe.
//
ID              h51
TITLE           hmmconvert -2 creates an invalid HMMER2 model if ali len > 9999
STATUS          CLOSED
XREF            J5/10
REPORTED_BY     benjamin.schuster@crg.es
OPENED_DATE     SRE, Thu May 14 08:42:08 2009
CLOSED_DATE     SRE, Thu May 14 08:42:09 2009
DESCRIPTION     
  On models built from large alignments (alilen > 9999), the H2 save file
  leaves no space between the last match emission and the map index; this 
  merges two fields into one, and results in an invalid file.

  h2_io.c::p7_h2io_WriteASCII() needs to assure a space before it
  prints the map.
//
ID              h50
TITLE           hmmbuild -n (assign name to HMM) option doesn't have any effect
STATUS          CLOSED
XREF            -
REPORTED_BY     Benjamin Schuster-Bckler <benjamin.schuster@crg.es>
OPENED_DATE     SRE, Tue Apr 28 13:10:48 2009
CLOSED_DATE     SRE, Tue Apr 28 14:04:24 2009
DESCRIPTION     
   hmmbuild -n doesn't work.
     % hmmbuild -n myname foo.hmm fn3.sto
   should result in foo.hmm being assigned "myname".

   Fixed: rewrote hmmbuild.c::set_msa_name(), and added cfg->nnamed 
   to enable testing for another situation where first MSA has no name.

   Wrote i5-hmmbuild-naming to test for this and any related bugs.
     % cd testsuite
     % ./i5-hmmbuild-naming.pl ../src/hmmbuild  . ../tutorial  foo
//
ID		h49
TITLE           domain definition finds same domain twice
STATUS          CLOSED
XREF            J5/26
REPORTED_BY     Michael Remmert <remmert@lmb.uni-muenchen.de>
OPENED_DATE     SRE, Tue Apr 21 10:06:15 2009
CLOSED_DATE     SRE, Tue Jun  2 09:40:12 2009
DESCRIPTION     
 Domain definition failure; it's finding two copies of exactly the
 same domain.
 
 Remmert saw this with jackhmmer -A, where the output alignment can't
 be parsed because it has a dup name in it.

 Simpler reproduction:
   phmmer d1bd8a_.seq bug.fa

 Domain hits include:
  3 !   22.2   0.1   6.5e-09   6.5e-09      48     151 ..     191     262 ..     145     266 .. 0.57
  4 !   21.3   0.0   1.3e-08   1.3e-08      48     151 ..     191     262 ..     176     264 .. 0.53

 There was a bug in "domain domination" logic in
 p7_domaindef.c::region_trace_ensemble(): ESL_MIN(len(d), len(d2) was
 doing ESL_MIN(len(d), len(d)) and failing to detect many cases of
 dominated domains.
//
ID              h48
TITLE           Degenerate residues cause target seq to be bias-filtered.
STATUS          CLOSED
XREF            J4/134
REPORTED_BY     Hiroshi (email accidentally deleted)
OPENED_DATE     SRE, Thu Apr  9 11:49:17 2009
CLOSED_DATE     SRE, Thu Apr  9 11:49:14 2009
DESCRIPTION     
  To reproduce:
    % hmmpress Pkinase_Tyr
    % hmmscan Pkinase_Tyr bug.fa
  produces no hits with 3.0a2 code, but 3.0a1 code sees a hit, as does
  hmmscan --max or hmmscan --nobias.

  Problem is that esl_hmm_Configure() doesn't set degenerate residue
  scores properly. I introduced this bug in r326, when I allowed a
  NULL fq[] array to default to uniform background
  frequencies. Background frequency of degenerate residues wasn't
  being summed correctly, resulting in scores getting set to garbage.

  Problem exists from Easel r326 to r331. Fixed in r332.
//
ID              h47
TITLE           jackhmmer -A segfaults.
STATUS          CLOSED
XREF            J4/118
REPORTED_BY     Rob Finn <rdf@sanger.ac.uk>; Wed, 18 Mar 2009 12:07:09 +0000
OPENED_DATE     SRE, Wed Mar 18 08:20:08 2009
CLOSED_DATE     SRE, Wed Mar 18 11:09:37 2009
DESCRIPTION     
   jackhmmer -A always segfaults.

   A stray ESL_MSA *msa = NULL (jackhmmer.c:421) initialization 
   clobbers the existing MSA.

   Test code should have caught this!
//
ID              h46
TITLE           hmmscan --cut_ga segfaults
STATUS          DUPLICATE
XREF            J4/114; 2009/0311-bug-h46
REPORTED_BY     Luke Ulrich <ulrich.luke@gmail.com>
OPENED_DATE     SRE, Wed Mar 11 14:52:18 2009
CLOSED_DATE     SRE, Wed Mar 11 14:52:20 2009
DESCRIPTION     
   % hmmscan --cut_ga pfam bug.fa
   causes a segfault, in alpha1 code.
   Fault is in output of the per-model hitlist, and appears
   to be due to an uninitialized p7_Logsum() table.

   Does not occur in current dev code; must have been fixed
   already in fixing something else. Marked as DUPLICATE and
   closed. Emailed Ulrich.
//
ID              h45
TITLE           Zero length sequences crash hmmscan
STATUS          CLOSED in 3.0a2
XREF            J4/112  2009/0310-bug-h45
REPORTED_BY     Ryan Richt <ryan_richt@cofactorgenomics.com>
OPENED_DATE     SRE, Tue Mar 10 13:28:00 2009
CLOSED_DATE     SRE, Tue Mar 10 14:48:40 2009
DESCRIPTION     
  Searching a sequence of length 0 crashes:
     % hmmscan tutorial/minifam test.fa 
     ...
     Fatal exception (source file fwdback.c, line 140):
     Forward implementation makes assumptions that only work for local alignment
     Abort
   or for hmmsearch:
     Fatal exception (source file fwdback.c, line 461):
     forward score underflow (is 0.0)
     Abort

  Need to skip targets of length 0 in p7_Pipeline() because models
  can't be set to a length model of 0; they'll look like global models
  and trigger an exception in Forward() implementation.

  Need to ignore queries of length 0 (phmmer, jackhmmer) because length 0
  models can't be calibrated (crash in p7_Tau).
//
ID              h44
TITLE           Compiler "option -xk not supported" warnings on MacOS/X
STATUS          OPEN
XREF            J4/110 
REPORTED_BY     Ryan Richt, 5 March 2009
OPENED_DATE     8 March 2009
CLOSED_DATE     -
DESCRIPTION     
   These are harmless, but the autoconf macro for choosing optimized
   options needs to be improved.
//
ID              h43
TITLE           "non-aligned pointer being freed" on MacOS/X x86_64 icc
STATUS          OPEN
XREF            J4/110
REPORTED_BY     Ryan Richt <ryan_richt@cofactorgenomics.com>  5 Mar 2009
OPENED_DATE     SRE, Sun Mar  8 10:21:57 2009
CLOSED_DATE     -
DESCRIPTION     

Ryan's email:
================================================================
Hey Sean!

I hope you are well. Just FYI, this could be somehow my fault, but at  
the tail of every hmm* program of HMMER3 on MacOSX, x86_64, which I  
recompiled from your source using icc as you suggested (which gave a  
ton of "option -xk not supported" warnings"), I get the little error:

hmmstat(53966) malloc: *** error for object 0x7fff703c7b20: Non- 
aligned pointer being freed (2)
*** set a breakpoint in malloc_error_break to debug
hmmstat(53966) malloc: *** error for object 0x7fff703c7c50: Non- 
aligned pointer being freed (2)
*** set a breakpoint in malloc_error_break to debug

Have a nice day!

Ryan

Ryan Richt
CEO, Cofactor Genomics
ryan_richt@cofactorgenomics.com
+1 (314) 412-1537
+1 (888) 8-COFACTOR
//
ID              h42 
TITLE           Low information content models have poor sensitivity
STATUS          OPEN
XREF            J4/82
REPORTED_BY     me
OPENED_DATE     13 Feb 2009 [J4/82]
CLOSED_DATE     -
DESCRIPTION     
   Title was: PF00301 Rubredoxin fails to identify four seqs in its seed

   This may be related to issues with low information content
   models and glocal power. Rob did a comprehensive experiment
   on H3 vs H2 [J5/13, 15 May 09].
//
ID              h41
TITLE           hmmbuild --enone reports duplicate lines in header
STATUS          CLOSED in 3.0a2
XREF            J4/82
REPORTED_BY     me
OPENED_DATE     13 Feb 2009 [J4/82]
CLOSED_DATE     14 Feb 2009 [J4/83]
DESCRIPTION     
  Testing for ! esl_opt_IsDefault() doesn't work because option
  might be ON by default and OFF by toggle-tying. To show it in
  the header nondefault-options-that-are-on table, logic is different;
  want to know what options are on that weren't on by default.
  Wrote esl_opt_IsUsed() for this.
//
ID              h40
TITLE           Different runs of hmmsearch give different answers.
STATUS          CLOSED in 3.0a2
XREF            J4/81
REPORTED_BY     me
OPENED_DATE     13 Feb 2009 [J4/81]
CLOSED_DATE     24 Feb 2009 [J4/95,97,99]
DESCRIPTION     
  Random number generator needs to be seeded reproducibly by default.
//
ID              h39
TITLE           hmmsearch faults when reading alignment file. 
STATUS          CLOSED in 3.0a2
XREF            J4/84
REPORTED_BY     me
OPENED_DATE     13 Feb 2009 [J4/81]
CLOSED_DATE     16 Feb 2009 [J4/94]
DESCRIPTION     
  hmmsearch faults when reading alignment file because it tries
  to Position() it to 0 to rewind. Have esl_sqfile_Position(0)
  close/reopen MSAs as a special case of a full rewind.
//
ID              h38
TITLE           hmmscan failed to report some hits (rarely).
STATUS          CLOSED in 3.0a2
XREF            J4/70
REPORTED_BY     me
OPENED_DATE     20 Jan 2009 [J4/61]
CLOSED_DATE     29 Jan 2009 [J4/70]
DESCRIPTION     
   compo was in 2nd part of pressed HMM db, but it needs to 
   be in first part for MSV.
//
ID              h37
TITLE           hmmfetch failed on hmmpress'ed HMM files.
STATUS          CLOSED in 3.0a2
XREF            J4/61
REPORTED_BY     me
OPENED_DATE     20 Jan 2009 [J4/61]
CLOSED_DATE     20 Jan 2009 [J4/61]
DESCRIPTION     
   .ssi is the SSI index of the flatfile; it is generated with
   hmmfetch --index. .h3{mifp} are the press'ed indices for 
   binary db, generated by hmmpress. Wasn't keeping these
   straight enough in hmm i/o.
//
ID              h36
TITLE           hmmscan gave error message of (null).
STATUS          CLOSED in 3.0a2
XREF            J4/61,70
REPORTED_BY     me
OPENED_DATE     20 Jan 2009 [J4/61]
CLOSED_DATE     29 Jan 2009 [J4/70]
DESCRIPTION     
   sqfp->linenumber is a uint64_t, and this MUST be formatted
   as <%" PRId64 "> or cast to an int.
//
ID              h35
TITLE           jackhmmer crashed because code wasn't done. 
STATUS          CLOSED in 3.0a2
XREF            J4/55
REPORTED_BY     Rob Finn
OPENED_DATE     16 Jan 2009 [J4/55]
CLOSED_DATE     16 Jan 2009 [J4/55]
DESCRIPTION     
   jackhmmer code wasn't finished, but executable got built
   for 3.0a1.
//
#
################################################################
# HMMER3 / HMMER2 boundary
################################################################
#
ID              h34
TITLE           hmmbuild -o crashes if alignment has #=GR SS or #=GR SA lines
STATUS          CLOSED in 2.3 branch
XREF            ~/notebook/2008/0802-hmmer-bug-h34  [J3/87]
REPORTED_BY     Bernd Brandt <bernd.brandt@gmail.com>
OPENED_DATE     SRE, Sat Aug  2 11:49:40 2008
CLOSED_DATE     SRE, Sat Aug  2 11:57:37 2008: SVN r2518
DESCRIPTION     
  hmmbuild -o foo segfaults when trying to re-save an alignment if
  the alignment contains #=GR SS or SA annotation. 
  trace.c:P7Traces2Alignment() wasn't initializing these optional
  fields correctly to NULL after allocating them.
//
ID              h33
TITLE           ExtremeValueFitHistogram() crashes on uncensored fitting
STATUS          CLOSED (in 2.4-stable branch)
XREF            ~/notebook/2007/0531-hmmer-bug-h32
REPORTED_BY     Yaniv Loewenstein (lonshy@cs.huji.ac.il)
OPENED_DATE     SRE, Thu May 31 13:49:27 2007
CLOSED_DATE     SRE, Thu May 31 13:49:29 2007
DESCRIPTION     
  ExtremeValueFitHistogram() crashes with a bad malloc() if 
  asked to fit an uncensored histogram. z is uninitialized.
  Fix is to initialize z=0. Made this change in 2.4stable branch.
//
ID              h32
TITLE		hmmalign can't handle length 0 sequences
STATUS          OPEN
XREF            2006/0316-hmmer-bug-h32
REPORTED_BY     Allen Bryan <awbryan@mit.edu>
OPENED_DATE     SRE, Thu Mar 16 17:46:42 2006
CLOSED_DATE     -
DESCRIPTION     
  hmmalign segfaults when a sequence is "empty" (length 0) in 
  an input fasta file.
//
ID              h31
TITLE           Malloc failure in hmmsearch
STATUS          CLOSED
XREF            2005:1002-hmmer-bug-h31
REPORTED_BY     Robert Petryszak <rpetry@ebi.ac.uk>
OPENED_DATE     SRE, Sun Oct  2 10:39:30 2005
CLOSED_DATE     SRE, Sun Oct 16 13:37:50 2005
DESCRIPTION     
  hmmsearch fails w/ "realloc of X bytes failed: file core_algorithms.c line
  157". Petryszak provides a "test case" consisting of a 1.9 GB FASTA
  file and an HMM:
     hmmsearch PF01121.10.fs UPI0000000001_UPI00005B0DDD

  However, this runs fine on whelk01, wildebeest (Power5/Linux), and
  an AIX Power 5 in Warren's lab. Petryszak's machine is an IBM p690
  Regatta (8x Power4, AIX 5.2), hanni1 at HLRN
  (http://www.hlrn.de/doc/basics.html). Tests on hanni1 reproduce
  the failure.

  The problem appears to be that IBM AIX inscrutably limits 32-bit
  applications to one 256 MB data segment of memory by default.  On
  hanni, w/ 8 processors and a RAMLIMIT of 32 MB/proc, this limitation
  is exposed.  This memory limitation needs to be lifted. There are
  three options:

  1. Compile w/ xlc_r -q64 flag, to create a 64-bit executable. 
     ar needs -X64 flag as well, to archive 64-bit object files.
     Manually modify AR command in Makefile.in in hmmer/ and squid/
     subdirs.

  2. Compile w/ xlc_r -bmaxdata:0x80000000 flag, to make a 32-bit
     executable w/ "large memory model".

  3. Don't run that many cpus; use --cpu <n> flag.

//
ID              h30
TITLE           get_wee_midpt crashes out if given seq of L=1
STATUS          CLOSED
XREF            2004:1119-hmmer-bug-h30
REPORTED_BY     James Stroud <jstroud@mbi.ucla.edu>
OPENED_DATE     SRE, Fri Nov 19 13:28:55 2004
CLOSED_DATE     SRE, Fri Nov 19 13:58:08 2004
DESCRIPTION     
  hmmpfam crashes on Pfam_fs w/ "FATAL: you can't init get_wee_midpt
  with a T", on a long HMM Arena_RNA_pol.

  The problem is that P7WeeViterbi() is called w/ subseq of L=1. The
  init of P7WeeViterbi sets begin,end points initially to STS, STT;
  but when 1==L, assignment of tassign[L] to STT clobbers tassign[1].

  Fixing this properly will require rethinking get_wee_midpt carefully.

  Instead, hack around it. P7WeeViterbi() is only called once, from
  within P7SmallViterbi(). Insert an extra test; if sqlen==1, do not
  call P7WeeViterbi(), instead allocate a tiny L=1 matrix and use 
  P7Viterbi().

  Document P7WeeViterbi(): it can't take L=1.
//
ID              h29
TITLE           hmmsearch does not scale on SMP Xeons with hyperthreads
STATUS          CLOSED
XREF            notebook/0115-hmmer-bug-h29
REPORTED_BY     Gordon Gremme <gremme@zbh.uni-hamburg.de>
OPENED_DATE     SRE, Thu Jan 15 13:30:00 2004
CLOSED_DATE     SRE, Thu Jan 15 15:43:25 2004
DESCRIPTION     
  See the notes [xref] for details.

  This appears to be a Linux 2.4 SMP scheduler problem.
  No action taken.	
//

ID              h28
TITLE           P7Forward typo: bsc[M-1] should be bsc[M]
STATUS          CLOSED
XREF            STL7 p.123
REPORTED_BY     Robel Kahsay <kahsay@mail.capsl.udel.edu>
CLOSED_DATE     SRE, Fri Oct  3 12:48:50 2003
DESCRIPTION     
  Calculation of mmx[M] should touch bsc[M], not bsc[M-1].
//
ID              h27
TITLE           Negative element in dsq; char vs. unsigned char.
STATUS          CLOSED
XREF            STL7 p.123
REPORTED_BY     Kaivalya Dixit <dixit@austin.ibm.com>, Sept 2003.
OPENED_DATE     SRE, Thu Oct  2 2003
CLOSED_DATE     SRE, Thu Oct  2 11:25:57 2003
DESCRIPTION     
  Turned up in SPEC certification process. Alan L. MacKay
  <amackay@us.ibm.com>, of IBM AIX Compilers/Performance group, sends
  an Insure++ report that shows a case where dsq[] was a negative
  number. Kaivalya reports that they "fixed" this by forcing compilers
  to use unsigned chars by default. A confusing discussion ensues;
  MacKay thinks the problem is the use of char dsq[] as an array index,
  whereas I think the code "guarantees" nonnegative dsq[] and that
  there isn't a problem here; I think the crash IBM saw was coming
  from memory corruption due to bug #h25.

  Nonetheless, he has a point: if I'm going to use dsq[] as an array
  index, it would be better coding practice to declare it as 
  unsigned char.

  Changed dsq from char to unsigned char throughout (and some
  instances of sym, symidx). Removed (int) casts whereever dsq[],
  symidx were being used as array indices.
//
ID              h26
TITLE           Memory crash in hmmpfam.
STATUS          CLOSED
XREF            STL7 p.122.
REPORTED_BY     Gary Montry <montry@spsoft.com>, 15 Aug 2003.
OPENED_DATE	SRE, Wed Oct  1 12:29:25 2003
CLOSED_DATE     SRE, Thu Oct  2 11:20:00 2003
DESCRIPTION     
  hmmpfam search with 125,000aa sequence eventually crashes 
  because of lack of RAM, instead of successfully using small
  memory routines.

  Problem is that the code assumed that M,N can't both grow in
  allocating a matrix, but that's not true in hmmpfam; after P7SmallViterbi(),
  we may hand various sized bits of sequence off for subalignment,
  with different sized models.

  Wrote P7ViterbiSpaceOK(); used it instead of P7ViterbiSize() to switch
  between normal and small variants; allow creation routine to grow in M
  and N (padM and padN can both be positive); make initial allocs for 
  hmmpfam matrices to be 300x300, to avoid pathologically asymmetric
  matrices.
//
ID              h25
TITLE           Memory-related hmmsearch crash on Swissprot.
STATUS          CLOSED
XREF            STL7 p.121
REPORTED_BY     Niklaus Fankhauser <niklaus.fankhauser@izb.unibe.ch> 26 Sept 2003;
		Kaivalya Dixit <dixit@austin.ibm.com>, 24 Sept 2003.
OPENED_DATE	SRE, Tue Sep 30 14:53:19 2003
CLOSED_DATE     SRE, Wed Oct  1 08:07:18 2003
DESCRIPTION     
  hmmsearch crashes unpredictably on Swissprot searches (EMBL
  format).

  AMD contributes an Insure++ report showing three problems:
  1. Alphabet[] is not a string but is being passed to strchr();
  2. readEMBL is looking for a \0 in a growing seq, but a growing
     seq has no \0 until ReadSeq() polishes it off;
  3. xmx[] is shown as a dangling/wild ptr in core_algorithms.c 
     and fast_algorithms.c.
  AMD and/or Intel also indicate, via Kaivalya, that the problem
  is in sqio.c: they explicitly nul-terminate after every reallocation
  of the seq, and the problem disappears.
  Fixed problems 1 and 2. Can't find the problem that Insure++ is
  bitching about for 3; worrying. Bug goes away: it was clearly the result
  of problem 2. Bugs in #1 should only appear for databases with
  nonstandard residues.
//
ID              h24
TITLE           Does not use CPPFLAGS, LDFLAGS in environment
STATUS          CLOSED
XREF            STL7 p.71
REPORTED_BY     Ajay Khanna <askhanna@genetics.wustl.edu> 13 June 2003
CLOSED_DATE     SRE, Fri Jun 13 14:59:13 2003
DESCRIPTION     
  ./configure claims to use CPPFLAGS, LDFLAGS from environment,
  but doesn't.
//
ID              h23
TITLE           Does not compile w/ --enable-pvm
STATUS          CLOSED
XREF            STL7 p.71
REPORTED_BY     Goran Ceric <goran@genetics.wustl.edu> 12 June 2003
CLOSED_DATE     SRE, Fri Jun 13 14:57:58 2003
DESCRIPTION     
  Didn't compile w/ PVM support, because of #define name changes
  in 2.3.
//
ID              h22
TITLE           hmmpfam crash related to resizing DP matrix
STATUS          CLOSED
XREF            STL7 p.70
REPORTED_BY     James Cuff <james@sanger.ac.uk> 12 June 2003
CLOSED_DATE     SRE, Fri Jun 13 14:56:42 2003
DESCRIPTION     
  hmmpfam crashes on Pfam_ls.
  Problem is with reallocation in ResizePlan7Matrix(), when it
  is called with N < maxN - it didn't reinitialize ptrs up to 
  maxN, it only did it up to N. 
//
ID              h21
TITLE           "make install" doesn't create target directories
STATUS          CLOSED
XREF            STL7 p.70
REPORTED_BY     Gisle Slensminde <gisle@ii.uib.no> [10 Jun 2003]
CLOSED_DATE     SRE, Thu Jun 12 12:37:54 2003
DESCRIPTION     
  "make install" doesn't create target directories if they 
  don't exist, and fails w/ poor error message. Added and documented
  mkdir -p steps in Makefile.in
//
ID              h20
TITLE           hmmpfam E-values dependent on # of threads.
STATUS          CLOSED
XREF            STL7 p.70
REPORTED_BY     Robert A. Wilson <robwilso@us.ibm.com>
CLOSED_DATE     SRE, Fri Jun  6 18:56:43 2003
DESCRIPTION     
 Original report cited difference in E-values between 
 IBM 2.2g binaries and 2.3 binaries. Investigation shows
 problem is really in both: # of threads is added to
 nhmms, and counted as Z, so E-values end up depending
 on thread #. (IBM 2.2g binaries weren't compiled w/ threads,
 hence the difference seen by IBM.) In hmmpfam.c:worker_thread(), 
 we were bumping nhmm++ before successfully reading the HMM,
 so on normal exit, each thread bumps nhmm one extra time after
 the HMM file is emptied.

 To reproduce:   hmmpfam --cpu 0 <any hmm> <any seq> vs.
                 hmmpfam --cpu <n> <any hmm> <any seq> 
 should give identical E-values.
 Fixed; verified on Intel/Linux.
 No test case built for bugs.sqc. 
//
ID              h19
TITLE           floating point exception on Alpha/Linux
STATUS          CLOSED
XREF            none
REPORTED_BY     "Yungok S. Ihm" <youngok@iastate.edu>
CLOSED_DATE     SRE, Fri May  9 15:31:23 2003
DESCRIPTION     
 hmmpfam crashes on extremely low scoring hits (<-1000),
 on Alpha/Linux. Appears in both 2.2g and 2.3dev. 
 mathsupport.c:PValue() doesn't check for underflow before
 calling sreEXP2() on the score; the Alpha crashes on this.
 No test case built for bugs.sqc.
//
STATUS          closed
DESCRIPTION     HMMs differ when built from mul vs. Stockholm format
NOTED_DATE      3/16/02
NOTED_XREF      STL6 p.12
REPORTED_BY     Sam Griffiths (sjg@sanger.ac.uk)
REPRODUCE_WITH  bug18.sh - was deleted from CVS.
REPRODUCE_ON    Alpha (waterbug) 
CLOSED_DATE     3/29/02
CLOSED_XREF     STL6 p.12
CLOSED_ACTION   Not a bug. 
//
ID              17
STATUS          closed
DESCRIPTION     threaded, unthreaded hmmsearch don't give same histogram
NOTED_DATE      2/27/02
NOTED_XREF      STL6 p.1
REPORTED_BY     Yang Yang
REPRODUCE_WITH  bug17.sh
REPRODUCE_ON    any
CLOSED_DATE     2/27/02
CLOSED_XREF     STL6 p.1
CLOSED_ACTION   modifications to hmmsearch.c; see notes.
//
ID              16
STATUS          untested
DESCRIPTION     PVMConfirmSlaves() assumes nslaves=nhosts 
NOTED_DATE      10/25/01
NOTED_XREF      STL5 p. 66
REPORTED_BY     John Blanchard (johnb@incyte.com), email 10/17/01
REPRODUCE_WITH  
REPRODUCE_ON    any PVM; only when DEBUGLEVEL>0
CLOSED_DATE     
CLOSED_XREF     STL5 p.66
CLOSED_ACTION   pvm.c:PVMConfirmSlaves()... replace pvm_config() w/ pvm_tasks().
//
ID              15
STATUS          untested
DESCRIPTION     hmmpfam slave process leak when nhmm < nslaves
NOTED_DATE      10/25/01
NOTED_XREF      STL5 p. 66
REPORTED_BY     John Blanchard (johnb@incyte.com), email 10/17/01
REPRODUCE_WITH  
REPRODUCE_ON    any PVM
CLOSED_DATE     
CLOSED_XREF     STL5 p.66
CLOSED_ACTION   hmmpfam.c modified: kill slaves off in a separate loop
//
ID              14
STATUS          closed
DESCRIPTION     hmmconvert doesn't complain about appending binary to 
	        ASCII HMMs, or vice versa
NOTED_DATE      12/24/00
NOTED_XREF      STL3 p.133
REPORTED_BY     vanschlun@gcg.com, email 12/14/00
REPRODUCE_WITH  bug13.pl
REPRODUCE_ON    any
CLOSED_DATE     SRE, Sun Dec 24 15:33:11 2000
CLOSED_XREF     STL3 p. 133
CLOSED_ACTION   hmmconvert.c now tests for this case
//
ID              13
STATUS          closed
DESCRIPTION     hmmconvert happily converts a bogus HMM database w/ 
                both DNA and protein
NOTED_DATE      12/24/00
NOTED_XREF      STL3 p.133
REPORTED_BY     vanschlun@gcg.com, email 12/14/00
REPRODUCE_WITH  bug13.pl
REPRODUCE_ON    any
CLOSED_DATE     SRE, Sun Dec 24 11:58:28 2000
CLOSED_XREF     STL3 p.133
CLOSED_ACTION   hmmio.c now checks for changes in Alphabet_type while reading HMMs.
//
ID              12
STATUS          closed
DESCRIPTION     --domE, --domT don't work correctly in hmmpfam; E-value
                is assumed to be monotonic w/ score.
NOTED_DATE      11/29/00
NOTED_XREF      STL3 p.127
REPORTED_BY     vanschlun@gcg.com
REPRODUCE_WITH  bug12.pl
REPRODUCE_ON    any
CLOSED_DATE     SRE, Tue Dec 19 17:47:01 2000
CLOSED_XREF     STL3 p.127
CLOSED_ACTION   removed the break statements when looping over domain list.
//
ID              11
STATUS          OPEN
NOTED_DATE      11/15/99
NOTED_XREF      
REPORTED_BY     marcel@cs.berkeley.edu
REPRODUCE_WITH  
REPRODUCE_ON    
CLOSED_DATE     
CLOSED_XREF     
CLOSED_ACTION   
DESCRIPTION     
   hmmbuild, illegal B->E in traceback.
   Appears to be exacerbated by fragment detection code;
   a blank sequence in a multiple alignment will trigger it.
//
ID              10
STATUS          closed
DESCRIPTION     Floating point exception in ExtremeValueP() on Digital 4.0b: 
                range error. 
NOTED_DATE      7/2/99
NOTED_XREF      
REPORTED_BY     ju@harvard
REPRODUCE_WITH  
REPRODUCE_ON    Digital UNIX 4.0b
CLOSED_DATE     9/17/99
CLOSED_XREF     
CLOSED_ACTION   
//
ID              9
STATUS          OPEN
DESCRIPTION     C->T transition doesn't seem to be parsed from save files
NOTED_DATE      6/29/99
NOTED_XREF      
REPORTED_BY     Bob Farrington
REPRODUCE_WITH  
REPRODUCE_ON    
CLOSED_DATE     
CLOSED_XREF     
CLOSED_ACTION   
//
ID              8
STATUS          closed
DESCRIPTION     hmmpfam segfaults on GCG-reformatted Swissprot file 
NOTED_DATE      1/19/99
NOTED_XREF      
REPORTED_BY     James Holzwarth
REPRODUCE_WITH  
REPRODUCE_ON    
CLOSED_DATE     1/19/99
CLOSED_XREF     
CLOSED_ACTION   
//
ID              7
STATUS          closed
DESCRIPTION     Digital 4.0d binaries do not run on 4.0b; 
                pthread_setconcurrency() missing
NOTED_DATE      1/18/99
NOTED_XREF      
REPORTED_BY     Bill Pearson
REPRODUCE_WITH  
REPRODUCE_ON    Digital UNIX
CLOSED_DATE     1/19/99
CLOSED_XREF     
CLOSED_ACTION   
//
ID              6
STATUS          closed
DESCRIPTION     getseq clashes with GCG program of same name
NOTED_DATE      1/18/99
NOTED_XREF      
REPORTED_BY     sre
REPRODUCE_WITH  
REPRODUCE_ON    n/a
CLOSED_DATE     1/19/99
CLOSED_XREF     
CLOSED_ACTION   renamed getseq to sfetch
//
ID              5
STATUS          closed
DESCRIPTION     hmmbuild core dumps when building model from single 
	        seqs FASTA file
NOTED_DATE      1/18/99
NOTED_XREF      
REPORTED_BY     agb
REPRODUCE_WITH  
REPRODUCE_ON    
CLOSED_DATE     1/19/99
CLOSED_XREF     
CLOSED_ACTION   
//
ID              4
STATUS          closed
DESCRIPTION     sreformat core dumps when reformatting single seq to SELEX
NOTED_DATE      1/18/99
NOTED_XREF      
REPORTED_BY     sre
REPRODUCE_WITH  
REPRODUCE_ON    any
CLOSED_DATE     1/19/99
CLOSED_XREF     
CLOSED_ACTION   
//
ID              3
STATUS          closed
DESCRIPTION     hmmbuild segfaults on alignments labeled with #=ID
NOTED_DATE      1/15/99
NOTED_XREF      
REPORTED_BY     SRE
REPRODUCE_WITH  
REPRODUCE_ON	Solaris
CLOSED_DATE     1/19/99
CLOSED_XREF     
CLOSED_ACTION   
//
ID              2
STATUS          closed
DESCRIPTION     null2 consistency problem between per-seq and per-domain
NOTED_DATE      1/7/99
NOTED_XREF      notebook STL1 p.117 
REPORTED_BY     David Kerk
REPRODUCE_WITH  bug2.pl
REPRODUCE_ON	ANY
CLOSED_DATE     SRE, Tue Dec 19 17:45:46 2000
CLOSED_XREF     STL3 notebook, p.127
CLOSED_ACTION   created postprocess_hit() in hmmpfam.c
//
ID              1
STATUS          closed
DESCRIPTION     BPA1_HUMAN crashes Pfam server
NOTED_DATE      1/16/98
NOTED_XREF      
REPORTED_BY     David Kerk
REPRODUCE_WITH  
REPRODUCE_ON	ANY
CLOSED_DATE     1/16/98
CLOSED_XREF     
CLOSED_ACTION   
//
