2017-01-14  twu

    * stage3hr.c: Fixed a memory leak in resolving inner splices

2017-01-13  twu

    * dynprog_end.c: Fixed conditional jump based on finalscore, by not checking
      when endalign is QUERYEND_NOGAPS

    * stage1hr.c: Fixed uninitialized value for successp.  Using FREE_ALIGN
      macro

    * spanningelt.c: Using MALLOC_ALIGN instead of MALLOC when needed

    * indexdb_hr.c: Using MALLOC_ALIGN instead of MALLOC when needed

    * oligoindex_hr.c: Including atoi.h

    * samprint.c, substring.c, substring.h: Fixed coordinates reported in XT
      field, which depend on the donor and acceptor strands

    * merge.c: Using macros FREE_ALIGN and CHECK_ALIGN

    * mem.h: Defined macros FREE_ALIGN and CHECK_ALIGN

2017-01-10  twu

    * genome128_hr.c: Fixed incorrect AVX macro

    * oligoindex_hr.c: Changed _mm_bsrli_si128 to _mm_srli_si128.  Added atoi
      and ttoc modes to all code.

2017-01-09  twu

    * gsnap.c: Removed option --microexon-spliceprob

2017-01-06  twu

    * stage1hr.c: Using alignments with most matches, even if they are
      translocations compared with other hitpairs

2017-01-02  twu

    * genome128_hr.c: For handling middle rows, using <= and >= to endptr and
      startptr, instead of < and >

2017-01-01  twu

    * stage3.c: Using new interface to Dynprog_end5_gap and Dynprog_end3_gap

    * stage1hr.c: In identify_all_segments, filtering out diagonals <
      querylength from the merged array

    * dynprog_single.c: Using use8p_size

    * dynprog_simd.h: Removing fixed definition for SIMD_MAXLENGTH_EPI8

    * dynprog_simd.c: Added assertions for traceback procedures for vertical and
      horizontal jumps not to go past the main diagonal.  Put macros around
      memory fences in debugging print procedures.

    * dynprog_end.c, dynprog_end.h: Using use8p_size and introduced parameter
      require_pos_score_p

    * dynprog_cdna.c, dynprog_genome.c: Using use8p_size

    * dynprog.c, dynprog.h: Introducing an array for use8p_size that depends on
      the mismatch type

2016-12-30  twu

    * stage3hr.c: Not converting splices when resolving insides of
      paired-end-reads

2016-12-29  twu

    * dynprog_genome.c, gsnap.c, pair.c, pair.h, sarray-read.c, smooth.c, src,
      stage1hr.c, stage1hr.h, stage2.c, stage3.c, stage3.h, stage3hr.c,
      stage3hr.h, substring.c, substring.h, trunk, uniqscan.c: Merged revisions
      201789 through 202030 from branches/2016-12-18-stage2-soa to make various
      improvements to alignments

    * stage1hr.c: Added debugging statements

    * indexdb_hr.c: Checking for nmerged being 0

2016-12-16  twu

    * ax_ext.m4: Not adding -mno options to an Intel compiler

    * indexdb_hr.c: Returning an array created by malloc, rather than
      _mm_malloc, from the merge version of Indexdb_merge_compoundpos

    * sarray-read.c: Using qsort instead of Sedgesort, because of seg faults
      observed on Intel compiler

    * Makefile.gsnaptoo.am: Including merge.c, merge.h, merge-heap.c, and
      merge-heap.h where needed

    * stage1hr.c: Providing a version of identify_all_segments for LARGE_GENOMES

    * indexdb_hr.c: Cleaned up code so there are three versions of
      Indexdb_merge_compoundpos.  Fixed the merge version.

    * oligoindex_hr.c: Fixed faulty svn merge

    * genome128_hr.c: Fixed faulty svn merge, and hid shift_lo and shift_hi
      procedures

    * Makefile.gsnaptoo.am, indexdb_hr.c, mem.h, merge-heap.c, merge-heap.h,
      merge.c, merge.h, src, stage1hr.c, trunk: Merged revisions 200992 through
      201743 from branches/2016-11-28-simd-merging to revise SIMD merge code

    * spanningelt.c, spanningelt.h: Merged revisions 200992 through 201743 from
      branches/2016-11-28-simd-merging to change a calloc to a malloc

    * Makefile.gsnaptoo.am, ax_cpuid_intel.m4, ax_cpuid_non_intel.m4, ax_ext.m4,
      configure.ac, cpuid.c, src, trunk: Merged revisions 200476 through 201735
      from branches/2016-11-14-avx512 to make provisions for AVX-512

    * gmap.c: Merged revisions 200476 through 201735 from
      branches/2016-11-14-avx512 to change Genome_hr_user_setup to
      Genome_hr_setup

    * gmap_select.c, gmapl_select.c, gsnap_select.c, gsnapl_select.c: Merged
      revisions 200476 through 201735 from branches/2016-11-14-avx512 to add
      provisions for AVX-512

    * genome128_hr.c, genome128_hr.h: Merged revisions 200476 through 201735
      from branches/2016-11-14-avx512 to add shift and wrap procedures

    * oligoindex_hr.c, oligoindex_hr.h: Merged revisions 200476 through 201735
      from branches/2016-11-14-avx512 to revise algorithms substantially

    * oligoindex_old.c, oligoindex_old.h: Merged revisions 200476 through 201735
      from branches/2016-11-14-avx512 to make checking code work with current
      code

    * stage2.c: Merged revisions 200476 through 201735 from
      branches/2016-11-14-avx512 to fix debugging comment

    * sarray-read.c: Merged revisions 200476 through 201735 from
      branches/2016-11-14-avx512 to add AVX-512 code

    * stage1hr.c: Fixed uninitialized variable

2016-12-13  twu

    * VERSION, config.site.rescomp.prd, config.site.rescomp.tst, genome128_hr.c,
      src, trunk: Merged revisions 201421 through 201532 from
      branches/2016-12-09-genomebits-serial-simd to change structure of SIMD
      code in genome128_hr.c

    * index.html: Updated for version 2016-11-07

    * configure.ac: Allowing sse4.1 and sse4.2 as responses to --with-simd-level

    * samprint.c: Added missing pair of braces

    * gsnap.c, stage1hr.c, stage1hr.h: Removed references to indel_knownsplice
      mode for gmap

2016-11-18  twu

    * oligoindex_hr.c: Fixed debugging statements to use SIMD commands in count
      procedures

2016-11-16  twu

    * ax_ext.m4: Removed -mno... flags for compilers

    * configure.ac: Restricting response to --with-simd-level

    * ax_cpuid_intel.m4: Fixed configure issue for AVX2 support using Intel
      compiler

2016-11-14  twu

    * pair.c: Removed initialization of static variables

    * gsnap.c, outbuffer.c, outbuffer.h, output.c, output.h: Separate output
      files for single-end and paired-end results

2016-11-08  twu

    * sam_sort.c: Added printing at monitor intervals

    * stage3hr.c: Checking for cases where insertions and deletions extend past
      genomicpos 0

    * samprint.c: Added preliminary code for printing extended cigar strings

    * pair.c, pair.h: Added code for printing extended cigar strings.  Not
      printing BLAST e-values.

    * indexdb.c: Removed unused statement

    * gsnap.c, uniqscan.c: Using new interface to Pair_setup

    * gmap_select.c, gmapl_select.c, gsnap_select.c, gsnapl_select.c: Using new
      interface to CPUID_support

    * gmap.c: Added option --sam-cigar-extended

    * cpuid.c, cpuid.h: Added provisions for AVX512

2016-10-24  twu

    * stage1hr.c: Not computing floors if querylength is less than index1part

    * pair.c: Showing blast_evalue function for GMAP

    * samprint.c: Removing assertions and aborts that do not hold for DNA-Seq
      chimeras

2016-10-23  twu

    * bitpack64-read.c, pair.c, samprint.c, stage3hr.c, stage3hr.h, substring.c,
      substring.h: Printing BLAST e-values

    * indexdb-write.c: For initializing counters, using packsizes from
      offsetsmeta, rather than recomputing them from offsetsstrm

    * bitpack64-write.c: Handling problem with ptri overflowing a signed int. 
      Now just advancing a pointer.

    * bitpack64-read.h: Added interface for a function

    * bitpack64-access.c, bitpack64-incr.c, bitpack64-read.c,
      bitpack64-readtwo.c: Handling the case where nwritten*4 overflows an
      unsigned int.  Casting it first to UINT8.

2016-10-17  twu

    * bitpack64-access.c: Fixed an increment of out in extract_28

2016-09-26  twu

    * archive.html, index.html: Updated for latest version

2016-09-24  twu

    * stage3.c: In solving dual introns, handling the case where single_gappairs
      is NULL.  Added code for gmapl.

    * stage1.c: Modified debugging statements

    * pair.c: Added a check for monotonicity of query coordinates to the
      debugging procedure

    * dynprog_genome.c: If procedure is returning NULL instead of the computed
      gap pairs, then setting finalscore to be negative, so the result is not
      used by the calling procedure

    * access.c: If shm_attach fails, and using mmap instead, then not trying to
      copy a file to a read-only memory segment

    * Makefile.gsnaptoo.am: Added uint8list.c and uint8list.h for gmap

    * stage2.c: Added back find_shifted_canonical procedure as unused code

2016-09-21  twu

    * substring.h: Using sensedir as a field, instead of chimera_sensedir

    * substring.c: Substring_new can use trimmed ends to determine the sensedir.
       Using sensedir as a field, instead of chimera_sensedir

    * stage3hr.h: Stage3end_new_gmap takes sensedir_knownp as an argument

    * stage3hr.c: Stage3end_new_gmap takes sensedir_knownp as an argument, and
      can use trimmed ends to determine the sensedir.  Stage3end_new_substrings
      can determine sensedir from its component substrings and junctions.  For
      comparing alignments, using nmatches rather than nmatches_posttrim

    * stage3.h: Changed variable name

    * stage3.c: Removing maxpeelback restriction on peeling back for introns. 
      For microexons, just transferring without checking.  In comparing single
      and dual gaps, not using middle exonprob to evaluate middle exon.  In
      solving dual breaks for microexons, allowing for multiple possible outer
      splice positions.  Changed order of operations to smooth first, then find
      dual breaks, and then single introns.

    * stage1hr.c: Deciding separately whether to run gmap on 5' and 3' ends,
      depending on max_matches found on each end

    * pair.c: Putting macro around GSNAP-specific output code for using mate
      sensedir

    * dynprog_genome.c: Not using probabilities to determine if dinucleotide
      solution is good

    * boyer-moore.c: Added debugging statement

2016-09-20  twu

    * dynprog_genome.c: Removed backup algorithm for best score above a
      probability threshold. Instead, using best probability among canonical or
      semicanonical dinucleotides.

2016-09-16  twu

    * stage3.c: Solving for microexons inside of traverse_dual_break.  Solving
      for dual breaks before solving introns.

    * splice.c, splice.h: Splice_trim_novel_spliceends function now returning
      new splicedir

    * stage3.c: Added intron-specific functions for peelback, to handle long
      similarity between exon ends and intron segments on the other end.
      Function for finding novel spliceends now returns new splicedir, although
      currently not used.

2016-09-15  twu

    * samprint.c: Using new interface for Substring_sensedir

    * pair.c: Printing mate sensedir, to be consistent with samprint code

2016-09-14  twu

    * stage3hr.h: Removed obsolete functions

    * stage3hr.c: Fixed cases where trim was added to amb_length.  Removed
      specific amb_length fields for GMAP alignments, and calculating instead
      using trim_left_splicep and trim_right_splicep

    * stage1hr.c: Modified debugging statements

    * substring.h: Removed an include statement

    * substring.c: Removed an include statement

    * splice.c, splice.h: Moved splice site probability calculations from
      substring_trim_novel_spliceends to here

    * stage3.c: Fixed gmap_trim_novel_spliceends to initialize mismatchp to be
      true if the alignment does not extend to the end

2016-09-13  twu

    * dynprog_genome.c: Turned off debugging

    * substring.c: Added comments

    * dynprog_genome.c: Fixed bug in decision-making for using bestscore when it
      has a good probability.  Previously, this switched to the
      probability-based algorithm.  Renamed variables to clarify the algorithms.

2016-09-12  twu

    * stage3hr.c: For overlap calculation, using just trim, not trim plus amb
      length

2016-09-10  twu

    * stage3hr.h: Defining Stage3end_nmatches

    * stage3hr.c: Defining nmatches to be nmatches_posttrim plus amb length. 
      Requiring minimum number of matches to allow a transloc splice.  Favoring
      definite ambig results, plus insertlength, over definite splices or
      trimmed ambig, and then favoring definite splices over trimmed ambig.

    * stage1hr.c: Using Stage3end_nmatches instead of
      Stage3end_nmatches_posttrim to decide whether to run GMAP

    * substring.h: Defining procedures for returning nmatches and amb lengths

    * substring.c: Defining nmatches to be nmatches_posttrim plus ambiguous
      length. Computing MAPQ over trimmed region to be consistent with
      pair-based method.  For new donor and acceptor substrings, extending the
      trim calculation to 0 or querylength.

2016-09-08  twu

    * stage1hr.c: Checking whether result of Stage3end_new_splice is NULL

    * stage3hr.c: Using number of matches and nmatches_posttrim in
      hit_goodness_cmp and hitpair_goodness_cmp.  Requiring a minimum number of
      matches in donor and acceptor before creating a transloc splice.  Added
      code for checking suffix array mismatches.

    * sarray-read.c: After finding an insertion, modifying querystart of current
      diagonal, so next substring operation starts from that position

    * indel.c: Improved debugging statements

    * bitpack64-incr.c: Fixed errors in code for transferring from bitpack sizes
      22 to 24, and from 26 to 28

2016-09-03  twu

    * gmap.c, gsnap.c, uniqscan.c: Using new interface to Indexdb_new_genome

    * splice.c: When splice is not found, return -1 as values for nmismatches

    * sarray-read.c: Allowing initial value of nmismatches to be used if it is
      0.  Fixed case involving ambiguous substrings.

    * sarray-read.c: Setting nmismatches correctly in various cases, so we do
      not have to recompute them.  Looking at endpoints to determine if the
      nmismatches value is correct.

2016-09-01  twu

    * indexdb.c, indexdb.h: For the option --unload-shared-memory, use
      allocation and not memory mapping to make sure we deallocate any shared
      memory

2016-08-24  twu

    * genome.c: Not accessing beyond end of blocks when enddiscard is 0

2016-08-16  twu

    * VERSION: Updated version number

    * README: Discussing MAX_STACK_READLENGTH

    * gsnap.c, uniqscan.c: Using MAX_FLOORS_READLENGTH instead of MAX_READLENGTH

    * configure.ac: Using MAX_STACK_READLENGTH instead of MAX_READLENGTH

    * Makefile.gsnaptoo.am: Using MAX_STACK_READLENGTH instead of MAX_READLENGTH

    * stage1hr.h: Adding max_floor_readlength to setup

    * stage1hr.c: Removed local allocation of arrays of size MAX_READLENGTH. 
      Now checking querylength against MAX_STACK_READLENGTH to determine whether
      to allocate from stack or heap.  Adding max_floor_readlength to setup

    * indel.c, mapq.c, sarray-read.c, splice.c: Removed local allocation of
      arrays of size MAX_READLENGTH.  Now checking querylength against
      MAX_STACK_READLENGTH to determine whether to allocate from stack or heap

    * stage3hr.c: Not allowing any indels to set trims in determining optimal
      score

    * stage1hr.c: Using pre-processor macro LONG_READLENGTHS to allocate
      read-related memory on heap instead of stack.  Setting spliceable_high_p
      to be false for last segment.  In computing end indels, ensuring that
      shifti is not negative when looking up array value.

    * shortread.c: Using MAX_EXPECTED_READLENGTH instead of MAX_READLENGTH

    * stage3.c: Handling the case when trimming ends that exon is empty

    * stage3hr.c: Restored setting of abort_pairing_p when nconcordant exceeds
      maxpairedpaths

    * gsnap.c, uniqscan.c: Using new interface to Pair_setup

    * indel.c, mapq.c, sarray-read.c, splice.c, substring.c: Using pre-processor
      macro LONG_READLENGTHS to allocate read-related memory on heap instead of
      stack

    * gmap.c, pair.c, pair.h: Added option --gff3-swap-phase

    * bytecoding.c: Added explanation messages to remove shared memory segments

2016-08-12  twu

    * Makefile.gsnaptoo.am, config.site.rescomp.prd, configure.ac, filestring.c,
      genome_sites.c, gsnap.c, pair.c, samprint.c, sarray-read.c, sedgesort.c,
      sedgesort.h, shortread.c, splice.c, src, stage1hr.c, stage3hr.c,
      stage3hr.h, substring.c, substring.h, trunk, univdiag.c, univdiag.h, util:
      Merged revisions 195608 to 196272 from
      branches/2016-08-09-genome-sites-hr, which contains merged revisions from
      branches/2016-08-02-long-read-fusions and 2016-07-01-better-triage

    * VERSION, trunk: Updated version number

    * Makefile.gsnaptoo.am: Removed chrsubset.c and chrsubset.h for
      splicing-score

    * pair.c: Added variable to swap phase for gff3 output

    * configure.ac: Added a line to disable maintainer mode for users

    * config.site.rescomp.prd, config.site.rescomp.tst: Updated for latest
      version

    * MAINTAINER: Added note about PATH

    * archive.html, index.html: Updated for latest version

2016-08-08  twu

    * gtf_genes.pl.in, gtf_introns.pl.in, gtf_splicesites.pl.in: Printing both
      gene_id and gene_name

    * atoi.c, cmet.c: Fixed reduce procedures for 64-bit computers

    * Makefile.gsnaptoo.am: Added semaphore.c and semaphore.h to list of files
      for splicing-score

    * stage1hr.c: Fixed debugging statements

    * stage3.c: Fixed issue where we tried to use pairs_pretrim after path_trim
      altered the pairs

    * samprint.c, substring.c, substring.h: Fixed XT field to print correct
      junction coordinates

2016-08-02  twu

    * stage3hr.c: Restoring final procedure based on nmatches in
      Stage3pair_optimal_score

    * stage3.c: Reverting from revision 195487 to allow extraexon comps again
      and from revision 193238 to always insert dual break alignments

    * comp.h, pair.c, pairpool.c: Reverting from revision 195484 to allow
      extraexon comps again

    * gtf_genes.pl.in, gtf_introns.pl.in, gtf_splicesites.pl.in: Imposing
      preference order based on desired keys, rather than the text

    * inbuffer.c, shortread.c, src: Merged revisions 195492 and 195493 to fix
      problem where --force-single-end terminated when a file had reads that
      were a multiple of --input-buffer-size

    * stage3.c: Using shortgap comp instead of extraexon comp for representing
      dual breaks

    * comp.h, pair.c, pairpool.c: Using shortgap comp instead of extraexon comp
      for representing dual breaks

    * shortread.c: Fixed issues in reading multiple pairs of files from command
      line

2016-07-23  twu

    * atoiindex.c: Fixed calculation of oligo using new block algorithm

2016-07-12  twu

    * stage1hr.c: For paired terminals, assigning final pairtype to be
      concordant

    * archive.html: Exposed version 2015-07-23.  Improved formatting.

    * stage3hr.c, substring.c: Handling the special case when alignstart or
      alignend is requested on an ambiguous substring

    * stage3hr.c: Computing insertlength and concordance properly for
      overlapping dual GMAP alignments

    * stage1hr.c: For dynamic programming of anchor segments, proceeding from
      closest to farthest segments, to favor shorter splice distances.  Resolved
      uninitialized variable when completeset algorithm is called but
      spanningset was not called, so read_oligos was not called.  Skipping
      re-alignment of hits that are already have a type of GMAP.

    * sarray-read.c: Resolving ambiguous ends if one dominates by both
      probability and splice distance

    * gmap.c, gsnap.c, uniqscan.c: Using new interface to Stage3_setup

    * stage3.c, stage3.h: Adding dual break for both SAM and non-SAM output,
      needed to give the correct CIGAR starting coordinate

    * doublelist.c, doublelist.h, intlist.c, intlist.h, uintlist.c, uintlist.h:
      Implemented procedures for keeping a single item in the list

2016-07-11  twu

    * sarray-read.c: Among ambiguous splice segments, ranking by probability and
      selecting closest one if it is less than half the distance of the second
      one

    * substring.c: Improved debugging statements

    * stage3hr.c: Improved debugging statements

    * sarray-read.c: Fixed value of substring1p passed to Substring_new_ambig
      for alignments on the minus strand, which resulted in problems with the
      --merge-overlap feature

2016-07-06  twu

    * stage3.c: Restored backward movement of ptr

    * stage1hr.c: Fixed infinite loop due to circular list

    * gsnap.c: Changed default end detail to be medium

    * substring.c: Fixed standard GSNAP output for deletions, by reducing the
      number of final dashes

    * stage3hr.c: Added debugging statements

    * pair.c: Restored backward movement of ptr

2016-06-30  twu

    * pair.c, stage3.c: No longer going backward after an indel, which could
      cause an infinite loop

    * splice.c: Using looser criteria for accepting a splice

    * sarray-read.c: Revising previous number of mismatches instead of replacing
      it

    * substring.c: Using correct memory category for substrings

    * stage3hr.c: Penalizing bad introns

    * pair.c, pair.h: Pair_nmismatches_region returning number of bad introns

    * indel.c: Improved debugging statements

    * gmap.c: Including -K for backward compatibility

    * stage1hr.c: Merged revision 193193 from branches/2016-06-29-add-listpool
      to change from lists to a vector for anchor_segments

2016-06-29  twu

    * resulthr.c, resulthr.h: Added UNPAIRED_TERMINALS result type

    * stage1hr.c: Handling unpaired_terminals.  Consolidated memory allocation
      for plus and minus cases in Stage1hr_T object.

2016-06-21  twu

    * shortread.c: Made fixes for --force-single-end option to work properly

2016-06-15  twu

    * configure.ac: Added provision for user-selected SIMD level

2016-06-09  twu

    * cpuid.c: Providing more detailed information from standalone program

    * splicetrie.c: Commented out a debugging statement

    * splice.c: Restored check for sufficient splice probabilities on splices

    * sarray-read.c: Restored _pext_u32 command

    * Makefile.gsnaptoo.am, cpuid.c: Added cpuid main program

    * stage3.c: Added comment

2016-06-08  twu

    * ax_ext.m4: Added -mbmi2 flag for avx2

2016-06-03  twu

    * VERSION: Updated version number

    * stage1hr.c: Replaced constant value of 15 with
      min_distantsplicing_end_matches

    * indexdb.c: Removed sanity check on positions filesize, which can fail on
      multiple simultaneous instances of the process

    * stage1hr.c, stage3hr.c, stage3hr.h: Searching for distant splicing based
      on trim

    * sarray-read.c: Turning off AVX2-specific version of
      fill_positions_filtered_first

    * sam_sort.c: Fixed warning message.  Fixed memory leak.

    * gmap_select.c, gmapl_select.c, gsnap_select.c, gsnapl_select.c: Improved
      warning messages

2016-05-25  twu

    * pair.c: Fixed calculation of circularpos for plus strand

2016-05-24  twu

    * Makefile.gsnaptoo.am, VERSION, acinclude.m4, asm-bsr.m4, ax_ext.m4,
      bootstrap.gsnaptoo, builtin-popcount.m4, configure.ac, cpuid.c,
      index.html, src, trunk: Merged revisions 189683 through 190434 from
      branches/2016-05-12-power8

    * uniqscan.c: Using new interface to Stage3_setup

    * iit-read-univ.c: Commented out warning when IIT file cannot be read

    * gsnap.c: Using new interface to Stage3_setup

    * gmap.c: Changed flag names to --max-intronlength-middle,
      --max-intronlength-ends, and --trim-end-exons

    * stage3.c, stage3.h: Checking for end exon length with minendexon variable

    * config.site.rescomp.dev, config.site.rescomp.tst: Added a configuration
      file for run-time checking

2016-05-17  twu

    * stage3hr.c: Fixed uninitialized variable

    * gmap.c, gsnap.c, uniqscan.c: Using new interface to Stage3_setup

    * stage3.h: Added variable maxintronlen_ends

    * stage3.c: In trimming ends, always going to intron, and not allowing
      indel. Comparing end intron length with maxintronlen_ends.

2016-05-06  twu

    * dynprog_simd.c: Computing X_prev_nogap correctly for the case of zero gap
      penalty

    * stage1hr.c: Modified debugging statements

    * stage2.c: Added assertions

    * acinclude.m4, ax_cpuid_intel.m4, ax_cpuid_non_intel.m4, ax_ext.m4,
      configure.ac: Writing own cpuid configure checks based on same code as in
      src/cpuid.c

2016-05-01  twu

    * dynprog.c, dynprog.h, dynprog_genome.c, gmap.c, gsnap.c, pair.c, pair.h,
      sarray-read.c, splice.c, src, stage1hr.c, stage3.c, stage3.h, stage3hr.c,
      stage3hr.h, trunk, uniqscan.c: Merged revisions 188721 through 188751 from
      branches/2016-04-29-improve-alignments

    * Makefile.gsnaptoo.am, trunk: Property changes

    * VERSION, config.site.rescomp.prd: Updated version number

    * config.site.rescomp.tst: Added sanitize flag

2016-04-30  twu

    * papers: Removed papers directory from SVN

    * Makefile.gsnaptoo.am, gmap.c, pair.c, src, stage3.c, translation.c,
      translation.h: Merged revisions 188558 to 188717 from
      branches/2016-04-27-alt-codons to allow for alternate genetic codes

2016-04-20  twu

    * archive.html, index.html: Updated for latest version

    * stage3.c: Not allowing any ambiguous matches at 3' or 5' ends when
      trimming

    * datadir.c: Modified comments

    * datadir.c: In find_fileroot, showing preference if <dbroot>.version is
      found. Otherwise, handling the case where multiple .version files are
      found.

2016-04-04  twu

    * archive.html, index.html: Revised for latest version

    * splice.c: Checking for more than 10% mismatches in either end.  Using
      value of min_shortend in Splice_resolve_sense and
      Splice_resolve_antisense.

    * sarray-read.c: Modified debugging statements

2016-03-31  twu

    * gmapindex.c: Not creating altscaffold IIT file if no alt scaffolds are
      observed

2016-03-30  twu

    * gmap.c: Using new interface to Univ_IIT_altlocp

    * VERSION: Updated version number

    * uniqscan.c: Using new interface to Univ_IIT_altlocp

    * index.html: Updated for latest version

    * stage3hr.c: Removed low_alias and high_alias fields.  Using altlocp,
      alias_starts, and alias_ends.

    * resulthr.c: Using npaths_primary and npaths_altloc

    * gsnap.c, iit-read-univ.c, iit-read-univ.h: Reading altloc IIT file

2016-03-29  twu

    * sam_sort.c: Added option --restore-orig-order

    * samprint.c: Removed print statement

    * iit-read.c: Trying adding .iit suffix first

    * stage3hr.c: Turning off DISTANT_SPLICE_SPECIAL, so we can find distant
      splices. For substrings, updating found_score only when the new one is
      better. Using nmismatches_whole for score field.

    * sarray-read.c: Fixed debugging statements

2016-03-17  twu

    * gff3_genes.pl.in, gff3_introns.pl.in, gff3_splicesites.pl.in: Handling
      Parent and ID fields in exon and CDS types of recent NCBI gff3 files. 
      Handling new transcript types.

    * pair.c: Changed occurrences of abs() to explicit conditional statements,
      since abs() can give large integers with -m64 compiler flag

    * stage2.c: Added parentheses

    * gsnap.c, stage1hr.c, stage1hr.h, uniqscan.c: Added option --max-anchors

    * samread.c: Added debugging statements

2016-02-19  twu

    * VERSION: Updated for latest version

    * index.html: Updated version latest version

    * stage3hr.c: Turned off debugging

    * stage1hr.c, stage3hr.c, substring.c: Fixed query coordinates for salvage
      terminal procedure on minus strand

2016-02-18  twu

    * stage3hr.c: Checking for stage2pairs being NULL when running GMAP on
      substrings or previous GMAP

    * gmap_build.pl.in: Restored removal of fasta_sources and coordsfile
      temporary files

    * gmap_build.pl.in: Added quotes around bindir programs

    * stage3hr.c: Fixed creating stage 2 pairs for circular chromosomes

    * stage3.c: Fixed debugging statements

    * indel.c: Require more matches on both ends than the length of the
      insertion

    * indel.c, oligoindex_hr.c, sarray-read.c, stage1hr.c, stage3hr.c,
      stage3hr.h, substring.c, substring.h: Removed genomiclength as a field
      from Substring_T objects.  Fixed overflow bug for large insertion
      substrings.

    * sarray-read.c: Fixed code for SSE2 compilation

    * stage3hr.c: Removed assertion, which is not valid

    * indexdb.c: Handling stderr message for single sequence, where number of
      seconds is not defined

    * stage3hr.c: Changed assertion to handle large genomes

    * stage1hr.c: Removed unused variables and parameters

    * splicetrie_build.c: Removed unused variables

    * splicetrie.c: Using new interface to dynprog procedures

    * smooth.c: Removed unused variables and parameters

    * sarray-write.c: Removed unused variables

    * pbinom.c: Hiding unused procedures

    * pair.c: Removed unused parameters

    * output.c, stage3.h: Removed unused parameters in Stage3_print_sam

    * stage3.c, translation.c, translation.h: Removed unused variables and
      parameters

    * outbuffer.c: Hiding unused procedures

    * oligoindex_hr.c: Fixed comparison between unsigned and signed values

    * indexdb.c: Removed unused variables

    * indexdb-write.c: Removed unused variables

    * indel.c, indel.h, sarray-read.c, sarray-read.h: Removed unused parameters

    * iit-write.c: Hiding unused procedures

    * gmapindex.c: Removed unused variables

    * gmap.c, gregion.c, gregion.h, stage1.c, stage1.h: Removed unused variables
      and parameters

    * get-genome.c: Hiding unused procedures

    * genome128_hr.c: Hiding procedures specific to GSNAP

    * dynprog_cdna.c, dynprog_end.c, dynprog_end.h, dynprog_genome.c,
      dynprog_single.c, dynprog_single.h: Changed check for HAVE_SSE4_1 or
      HAVE_SSE2 to just HAVE_SSE2

    * compress.c: Put macros around a variable

    * bitpack64-readtwo.c: Put macros around a variable

2016-02-17  twu

    * stage1hr.c, stage3.c: Removed unused parameters

    * sarray-read.c, splice.c, splice.h: Removed unused variables and parameters

    * dynprog_single.c: Removed unused variables

    * stage3hr.c: Using new interfaces to stage 2 procedures

    * splicetrie.c: Using new interfaces to dynprog procedures

    * gmap.c, stage1hr.c, stage2.c, stage2.h, stage3.c: Removed stage2_source
      and stage2_indexsize as return values from procedures

    * dynprog_single.c: Removed unused parameters

    * dynprog.c, dynprog_cdna.c, dynprog_cdna.h, dynprog_end.c, dynprog_end.h,
      dynprog_genome.c, dynprog_simd.c, dynprog_simd.h: Removed unused
      parameters

    * stage3hr.c: Fixed comparisons of signed and unsigned integers

    * gmap.c, stage3.c, stage3.h: Removed stage2 and stage3 benchmarking fields
      from Stage3_T object

    * output.c, samprint.c, samprint.h: Removed unused variables and parameters
      from pair procedures

    * chimera.c, pair.c, pair.h: Removed unused variables and parameters from
      pair procedures

    * dynprog_single.c: Reduced parameters for Pairpool_add_genomeskip and
      Dynprog_traceback_std

    * dynprog.c, dynprog.h, dynprog_cdna.c, dynprog_end.c, dynprog_genome.c,
      dynprog_simd.c, pairpool.c, pairpool.h: Reduced parameters for
      Pairpool_add_genomeskip and Dynprog_traceback_std

    * gsnap.c, stage1hr.c, stage3hr.c, stage3hr.h, uniqscan.c: Putting
      subopt_levels into Stage3hr_setup.  Removing cutoff_level as parameter
      from optimal score procedures

    * stage1hr.c, stage3hr.c, stage3hr.h: Removed unused parameters from display
      and eval procedures

    * sarray-read.c, stage1hr.c, stage3hr.c, stage3hr.h: Removed unused
      parameters for stage3hr procedures

    * sarray-read.c, splice.c, stage1hr.c, stage3hr.c, stage3hr.h: Removed
      unused parameters and variables

2016-02-16  twu

    * stage1hr.c, stage3hr.c, stage3hr.h: Using new interfaces to functions
      without first_read_p

    * mapq.c, mapq.h: Hiding unused functions

    * bitpack64-readtwo.c: Hiding unused functions

    * bitpack64-read.c: Put correct macros around variable

    * indel.c, splice.c: Using new interfaces to procedures without first_read_p

    * sarray-read.c: Removed unused field first_read_p

    * substring.c, substring.h: Removed unused field first_read_p

    * samprint.c: Removed unused parameter concordant_chrpos

2016-02-13  twu

    * gsnap.c, stage1hr.c, stage1hr.h, uniqscan.c: Removed unused variables and
      parameters in stage1hr.c

    * gmap.c, gsnap.c, indexdb_hr.c, oligo.c, sarray-read.c, sarray-read.h,
      stage1hr.c, stage2.c, stage2.h, stage3.c, stage3hr.c: Removed unused
      variables and parameters from sarray procedures

2016-02-12  twu

    * genome-write.c, genome-write.h, gmapindex.c: Removed altstrain_iit as a
      parameter to Genome_write_comp32

    * genome_sites.c: Hiding unused function

    * genome_sites.c, genome_sites.h: Hiding unused functions

    * genome128_hr.c, genome128_hr.h, indel.c, mapq.c, sarray-read.c, splice.c,
      splicetrie.c, stage1hr.c, stage3hr.c, substring.c: Removed first_read_p as
      a parameter from all genome128 procedures

    * sequence.c: Hiding unused function

    * compress.c: Removed unused variables

    * iit_get.c: Removed unused variables and parameters

    * parserange.c: Removed unused variable

    * iit-read.c, iit-read.h, stage3.c: Removed map_bothstrands_p as a parameter
      to IIT_print_header

    * iit-read-univ.c, iit-read.c, iit-read.h, iit_get.c: Removed sortp as a
      parameter from IIT_get_values routines

    * get-genome.c, gmap.c, gsnap.c, iit-read.c, iit-read.h, iit_dump.c,
      iit_fetch.c, iit_get.c, parserange.c, snpindex.c, uniqscan.c: Removed
      labels_read_p as a parameter from IIT_read

    * access.c: Restored check for number of attached processes when
      deallocating

    * iit-read-univ.c: Removed unused variable

    * iit-read.c, iit-read.h, splicing-scan.c: Removed parameter annotationonlyp
      from IIT_dump

    * access.c: Hiding unused functions

    * genome128.c, gmapindex.c, sarray-read.c, snpindex.c: Removed eltsize as an
      argument to Access_mmap routines

    * access.c, access.h, atoiindex.c, cmetindex.c, genome.c, iit-read-univ.c,
      iit-read.c, indexdb-write.c, indexdb.c, sarray-write.c: Removed eltsize as
      an argument to Access_mmap routines

    * gsnap.c, stage3hr.c, stage3hr.h, uniqscan.c: Added --end-detail flag

    * access.c: No longer printing long string of periods and commas during
      pre-load

2016-02-10  twu

    * gmap.c, gsnap.c: Added message to remove shared memory manually

    * access.c: Removed warning message

    * spanningelt.c: Removed debugging code

    * spanningelt.c: For debugging purposes

2016-02-09  twu

    * atoiindex.c, cmetindex.c, gmapindex.c, indexdb.c, indexdb_hr.c,
      sarray-write.c, src: Using new interface to Access_allocate_private

    * sarray-read.c: Using new interface to Access_allocate_shared and
      Access_allocate_private.  Removed code for USE_CSA.

    * genome.c, indexdb.c, indexdb.h, indexdbdef.h: Using new interface to
      Access_allocate_shared and Access_allocate_private

    * access.c, access.h: If shared allocation fails, now using memory mapping
      if possible. Setting access variable.

    * gsnap.c: Using new interface to Access_setup

    * gmap.c: Using new interface to Access_setup

    * dynprog_cdna.c: Changed variable initialization

    * uniqscan.c: Using new interface to Access_setup

    * semaphore.c: Changed variable names

    * access.c: Storing all semaphore IDs, and looking at their
      resident/freeable status.  Handling emergency stops better.

    * Makefile.gsnaptoo.am, access.c, semaphore.c, semaphore.h: Put semaphore
      commands in a separate file.  Fixed small bugs with deleting semaphores
      and shared memory.

2016-02-05  twu

    * stage2.c: Removed unnecessary calls to abs().  Replaced with a comparison
      between gendistance and querydistance.

    * shortread.c: Using size_t instead of unsigned long long

    * bitpack64-write.c, indexdb_hr.c, junction.c, pair.c, parserange.c,
      sarray-write.c, splicetrie_build.c, substring.c, uint8list.c: Using %llu
      for formatting instead of %u

    * access.c, access.h, genuncompress.c, iit-read-univ.c, iit-read.c,
      indexdb-write.c, indexdb.c, sam_sort.c: Changed off_t to size_t for
      filesize

    * gsnap.c: Removed testing code

    * gsnap.c: For testing purposes

2016-02-04  twu

    * pairpool.c: Fixed assertion on genomepos

    * stage3hr.c: Fixed computation of minus chromosome coordinates for circular
      chromosomes

2016-02-03  twu

    * gmap.c: Creating altlocp, alias_starts, and alias_ends for user-provided
      genomic segment

    * coords1.test.ok: Revised for alternate genomic contigs

    * gsnap.c: Allowing for npaths_primary and npaths_alternate.  Letting
      insertion length be arbitrarily long when user does not specify
      --max-middle-insertions.

    * gmap.c: Allowing for npaths_primary and npaths_alternate

    * uniqscan.c: Using new interfaces to functions

    * substring.h: Trimming novel spliceends for substrings

    * substring.c: Trimming novel spliceends for substrings

    * stage3hr.h: Allowing for npaths_primary and npaths_alternate

    * stage3hr.c: Allowing for npaths_primary and npaths_alternate.  Changed
      logic for extending substrings using GMAP.  Implemented extension of GMAP
      alignments.

    * stage3.h: Allowing for npaths_primary and npaths_alternate

    * stage3.c: In find_novel_spliceends, using trim lengths at ends to define
      two regions, one with a stronger and one with a weaker criterion for
      splice site probability.

    * stage2.c, stage2.h: Implemented Stage2_compute_starts and
      Stage2_compute_ends for extending ends of alignments.  Fixed a condition
      for termination of while loop.

    * stage1hr.h: Allowing for npaths_primary and npaths_alternate.  Allowing
      for arbitrarily long insertions when --max-middle-insertions is not set by
      user.

    * stage1hr.c: Allowing for npaths_primary and npaths_alternate.  Making call
      to extend gmap alignments.  Allowing for arbitrarily long insertions when
      --max-middle-insertions is not set by user

    * sarray-read.h: Allowing for arbitrarily long insertions when
      --max-middle-insertions is not set by user

    * sarray-read.c: Allowing for arbitrarily long insertions when
      --max-middle-insertions is not set by user

    * samprint.c, samprint.h: Allowing for npaths_primary and npaths_alternate. 
      Added parameter for artificial mate in --add-paired-nomappers.

    * pairpool.c: Added assertion for genomepos

    * pair.c, pair.h: Allowing for npaths_primary and npaths_alternate.  Added
      function Pair_trim_distances, used by new find_novel_spliceends function
      for pairs.

    * output.c: Allowing for npaths_primary and npaths_alternate.  Using new
      interface using artificial_mate_p.

    * gmapindex.c: Allowing for alternate scaffolds

    * dynprog_simd.c: Calling correct printing procedures for debugging

    * dynprog_genome.c: Requiring finalscore to be >= 0

    * Makefile.gsnaptoo.am: Added parserange.c and parserange.h for sam_sort

2016-01-15  twu

    * result.c, result.h, resulthr.c, resulthr.h, src: Merging revision 182439
      from branches/2014-09-04-secondary-chr to handle npaths_primary and
      npaths_altloc

    * iit-read.c, iit_store.c, src: Merging revision 182435 to use new interface
      to Chrom_from_string

    * parserange.c, src: Merging revision 182431 from
      branches/2014-09-04-secondary-chr to check if contig_iit is NULL

    * Makefile.gsnaptoo.am: Merging revisions 162111 and 182429 from
      branches/2014-09-04-secondary-chr to add tableint.c, tableint.h,
      parserange.c, and parserange.h where needed

    * chrom.c, chrom.h: Merged revisions 162112 and 182427 from
      branches/2014-09-04-secondary-chr to add fields for alt_scaffold_start and
      alt_scaffold_end

    * table.c, tableint.c, tableuint.c, tableuint8.c: Merged revision 162110
      from branches/2014-09-04-secondary-chr to fix memory leak

    * iit-read-univ.c, iit-read-univ.h: Merged revision 182424 from
      branches/2014-09-04-secondary-chr to add function Univ_IIT_altlocp

    * fa_coords.pl.in, gmap_build.pl.in, gmap_process.pl.in, util: Merged
      revisions 146896 through 182422 from branches/2014-09-04-secondary-chr

    * index.html: Updated to latest version

    * archive.html: Added revision for 2014-12-31.v2

    * stage1hr.c: Fixed array overflow in segmentation procedure

2016-01-14  twu

    * uniqscan.c: Using new interface to Stage3hr_setup

    * gsnap.c, stage3hr.c, stage3hr.h: Distinguishing between pairmax_linear and
      pairmax_circular

    * pair.c: Removed SOFT_CLIPS_AVOID_CIRCULARIZATION code in computing
      circularpos, since it isn't needed

    * substring.c, substring.h: Defining Substring_mandatory_trim_left and
      Substring_mandatory_trim_right.

    * stage3hr.c: Turning SOFT_CLIPS_AVOID_CIRCULARIZATION back on.  Using
      Substring_mandatory_left_trim and Substring_mandatory_right_trim.

2016-01-13  twu

    * gmap_select.c, gmapl_select.c, gsnap_select.c, gsnapl_select.c: Checking
      for ENOENT instead of EACCES

    * substring.c: Handling trim_left_action and trim_right_action, instead of
      trim_left_p and trim_right_p

    * substring.h: Using trim_left_action and trim_right_action, instead of
      trim_left_p and trim_right_p

    * stage3hr.c: Using trim_left_action and trim_right_action, instead of
      trim_left_p and trim_right_p

2016-01-12  twu

    * gmap_select.c, gmapl_select.c, gsnap_select.c, gsnapl_select.c: Returning
      return code from execvp

    * gmap_select.c, gmapl_select.c, gsnap_select.c, gsnapl_select.c: Handling
      case where no path is given, by using execvp to find the correct program

    * stage3hr.c, substring.c: Computing coordinates correctly in salvage
      procedure for terminal alignments with too many mismatches

2016-01-11  twu

    * iit-read.c: Removed debugging code which was not adding .iit ending to
      file suffix

2016-01-08  twu

    * dynprog_cdna.c, dynprog_end.c, dynprog_genome.c, dynprog_single.c: Added
      parameters for Dynprog_standard in non-SIMD code

    * samprint.c, stage3hr.c, stage3hr.h: Changed name of function from
      Stage3end_substring2 to Stage3end_substringN

    * gsnap.c, sarray-read.c, sarray-read.h: Not allowing for ambiguous splicing
      on circular chromosomes

    * dynprog_single.c: Added assertion

    * dynprog_genome.c: Checking for the case where no intron is found in a gap

2016-01-07  twu

    * stage1hr.c: Removed extra debugging code

    * sarray-read.c, stage3hr.c: Handling Junction_gc from within
      Stage3end_new_substrings

    * stage1hr.c: Defining MAX_ANCHORS instead of EXHAUSTIVE_ANCHORS.  Keeping
      track of both all_segments and anchor_segments, and using whichever
      satisfies MAX_ANCHORS.

    * dynprog_cdna.c, dynprog_end.c, dynprog_genome.c, dynprog_simd.h,
      dynprog_single.c: Replacing DEBUG14 and DEBUG16 with DEBUG_SIMD and
      DEBUG_AVX2, respectively

    * dynprog.c: Allocating space needed for AVX2 debugging

    * dynprog.h: Providing SIMD variables for non-AVX2 debugging procedures

    * dynprog_simd.c: Fixed SIMD variables in non-AVX2 debugging procedures

    * dynprog_simd.c: Added code for AVX2

    * dynprog_cdna.c, dynprog_end.c, dynprog_genome.c, dynprog_simd.h: Passing
      debugging parameters for both SIMD and AVX2 debugging

    * dynprog.c: Generalized allocation procedures to use ALIGN_SIZE

    * stage3hr.c: In Stage3end_optimal_score and Stage3pair_optimal_score,
      turning off comparison of score_eventrim with cutoff_level.  In
      Stage3end_new_terminal, if number of mismatches between pos5 and pos3
      exceeds number allowed, then recomputing pos5 or pos3 that does fit within
      the number allowed.

    * stage1hr.c: Allowing for an exhaustive set of anchor segments

2015-12-19  twu

    * types.h: Revised comment

    * dynprog.h: Moved definitions of infinite gap penalties here

    * dynprog.c: Adjusting for negative infinity in last_nogap in F loop

    * atoi.c, cmet.c: Added types to make sure 64 bits are used

2015-12-18  twu

    * dynprog_simd.c: Fixed initial conditions for all three types of initial
      gap penalty

2015-12-15  twu

    * dynprog.c: Added initializtion for ZERO_INITIAL_GAP_PENALTY.  Made fixes
      for initial Fgap calculation for standard initial gap penalty, by
      initializing last_nogap appropriately.

    * dynprog_simd.c: Using a filter on lband for the E calculation for the
      first column when using a standard initial gap penalty

    * dynprog_end.c: Added function needed for debugging

    * dynprog_simd.c: For standard initial gap penalty, revising extend_ladder
      for first column of values, in second and later blocks.

    * dynprog_simd.c: Implemented code for ZERO_INITIAL_GAP_PENALTY and
      INFINITE_INITIAL_GAP_PENALTY.  Added filters on lband for first column of
      values in ZERO_INITIAL_GAP_PENALTY.

2015-12-11  twu

    * dynprog.c, dynprog.h: Added upperp and lowerp parameters to
      Dynprog_standard, to give it the same behavior as the SIMD upper and lower
      procedures

2015-12-10  twu

    * VERSION: Updated version number

    * oligoindex_hr.h: Removed duplicate definition of Shortoligmer_T

    * Makefile.gsnaptoo.am, Makefile.pmaptoo.am, alphabet.c, alphabet.h, atoi.h,
      bitpack64-read.c, bitpack64-read.h, block.c, block.h, cmet.h,
      compress-write.c, config.site.rescomp.tst, dynprog.c, dynprog_single.c,
      gmap.c, gmapindex.c, indexdb-write.c, indexdb-write.h, indexdb.c,
      indexdb.h, oligoindex.h, oligoindex_hr.c, oligoindex_pmap.c,
      oligoindex_pmap.h, oligop.c, oligop.h, pair.c, pmap_select.c, pmapindex.c,
      src, stage1.c, stage2.c, stage2.h, stage3.c, trunk, types.h: Merged
      revisions 179384 through 180698 from branches/2015-11-20-pmap

2015-12-09  twu

    * indexdb.c: Defining blocksize for PMAP

    * stage3hr.c: Adjusting cutoff levels in Stage3end_pair_up_concordant to
      consider the best alignment on each end, if has mismatches that exceed the
      given cutoff level.  Added a field distant_splice_p, and using that for
      filtering, rather than chrnum == 0.

    * output.c, samprint.c, samprint.h: Printing NH to be the maximum of the two
      npaths in --add-paired-nomappers option

2015-12-07  twu

    * Makefile.gsnaptoo.am, VERSION, atoi.c, atoi.h, atoiindex.c,
      bitpack64-access.c, bitpack64-access.h, bitpack64-incr.c,
      bitpack64-incr.h, bitpack64-read.c, bitpack64-read.h, bitpack64-readtwo.c,
      bitpack64-readtwo.h, bitpack64-write.c, bitpack64-write.h, block.c,
      block.h, cmet.c, cmet.h, cmetindex.c, config.site.rescomp.prd,
      config.site.rescomp.tst, gdiag.c, genome_sites.c, gmap.c, gmapindex.c,
      gsnap.c, indexdb-write.c, indexdb-write.h, indexdb.c, indexdb.h,
      indexdb_hr.c, indexdb_hr.h, oligo.c, oligo.h, oligoindex_hr.c,
      sarray-read.c, sarray-write.c, snpindex.c, spanningelt.c, spanningelt.h,
      splicetrie_build.c, src, stage1.c, stage1hr.c, trunk, types.h: Merged
      revisions 179335 through 180340 from branches/2015-11-20-16mers to allow
      for genomic indices up to 18-mers

    * index.html: Updated for latest version

2015-12-04  twu

    * samprint.c: Fixed printing under --add-paired-nomappers for unpaired
      multiple alignments where npaths2 > npaths1

2015-12-02  twu

    * stage2.c: In looking back, skipping positions where no hits were found

2015-12-01  twu

    * configure.ac: Building only one level of SIMD

    * ax_ext.m4: Added "no" flags for various SIMD levels

2015-11-20  twu

    * gsnap.c: Fixed incorrect check on floating-point values for --min-coverage

    * gmap_select.c, gmapl_select.c, gsnap_select.c, gsnapl_select.c: Picking
      best available program at run-time

    * stage1hr.c: In computing gmap using segments, introducing a min_genomepos
      and max_genomepos

    * samread.c: Fixed incorrect parsing needed by sam_sort, resulting from
      missing break commands in case statements

    * samprint.c: Fixed some issues with --add-paired-nomappers option

    * inbuffer.c: Initializing variables

    * pair.c: Excluding alignments to circular chromosomes that extend below the
      first copy or above the second copy

    * stage3hr.c: Excluding alignments to circular chromosomes that extend below
      the first copy or above the second copy

    * atoiindex.c, cmetindex.c, gmapindex.c: Using new interface to suffix array
      write procedures

    * sarray-write.h: Using a list of Cell_T objects to compute exceptions

    * sarray-write.c: Using a list of Cell_T objects to compute exceptions

    * bytecoding.c, bytecoding.h: Implemented procedures for writing bytes file
      and interleaving bytes files.

2015-11-19  twu

    * Makefile.gsnaptoo.am: Removed uinttable.c and uinttable.h from programs
      with bytecoding.c

2015-11-13  twu

    * Makefile.gsnaptoo.am: Added uinttable files needed by bytecoding

2015-10-29  twu

    * stage3hr.c: Turning off SOFT_CLIPS_AVOID_CIRCULARIZATION.  Handling
      deletions on minus strand that go beyond genomic position 0.

2015-10-06  twu

    * Makefile.gsnaptoo.am: Added "=1" to some pre-processor flags

    * access.h: Added LOADED type for cases where IIT file is loaded from memory
      instead of being read from file

    * iit-write.c: Adding padding to character arrays in IIT file, so the
      integer arrays are aligned.

    * iit-read.c, iit-read.h: Added IIT_load function to obtain IIT from a
      region of memory

2015-09-28  twu

    * oligoindex_hr.c: Handling the case where left_plus_length < indexsize

2015-09-24  twu

    * gmap.c, gsnap.c: Revised explanation message for illegal instructions

    * datadir.c: Increased buffer size for dbversion file name

    * access.c: Looping until we get a semaphore, either by creation or by using
      existing one

2015-09-22  twu

    * stage3hr.c: Using nsegments field for all alignment types.  Filtering
      results if nsegments is relatively high compared with the best result.

    * stage3.c: Using higher standard for microexons.  Using nmatches instead of
      support for sufficient_splice_prob.

    * stage1hr.c: Handling case of paired-end alignments where both ends do not
      satisfy minimum coverage.  Fixed debugging statements.

    * splice.c: Using correct variable names inside FREEA calls

    * pair.c, pair.h: Implemented Pair_maxnegscore

    * dynprog_genome.c: Revised bridge_intron_gap procedures to make reasoning
      clearer.  Using weaker values for scoreI.  Using maxnegscore to filter out
      bad alignments.

2015-09-16  twu

    * stage1hr.c: Removed debugging comment

    * stage1hr.c, stage3hr.c: Fixed calls to Genome_get_segment_blocks_left,
      where we were providing the left coordinate instead of the right one.

    * genome.c: Added comment

2015-09-12  twu

    * cpuid.c: Added to repository

2015-09-11  twu

    * uniqscan.c: Using new interfaces to stage 1 procedures

    * substring.c, substring.h: Removed reject_trimlength

    * stage3hr.c, stage3hr.h: Added procedures for filtering by coverage

    * stage1hr.h: Added --min-coverage and removed --terminal-threshold

    * stage1hr.c: Added --min-coverage.  Changed criteria for running
      find_terminals.

    * gsnap.c: Added --min-coverage and removed --terminal-threshold

    * gmap_build.pl.in: Allowing for spaces in destination directory

2015-09-09  twu

    * stage3hr.c: Fixed debugging statement

2015-09-01  twu

    * gmap.c: Setting some uninitialized variables for chimera

    * chimera.c: When chimeric breakpoint is beyond chromosomal bounds,
      returning NN for dinucleotides

    * stage3hr.c: Favoring non-zero sensedirs when sorting results

    * splice.c: Fixed variable names for FREEA command, which was observed by
      compiler only when alloca is not available.

    * oligoindex_hr.c: Initializing some return variables when exiting trimming
      procedure early

    * chimera.c, chimera.h, gmap.c, pair.c: Fixed issues when chimeras extend to
      beginning or end of chromosomes, causing a search for donor and acceptor
      nucleotides beyond chromosomal bounds.  Fixed Pair_pathscores to extend to
      last pair of path.

    * dynprog_genome.c: Resolved fatal bug in bridging intron gaps when when no
      probabilities are found

2015-08-31  twu

    * stage1.c: No longer using alloca for array of Batch_T objects

2015-08-28  twu

    * gmap.c: Changed MALLOC of array to MALLOC_OUT.  Fixed code for memusage.

    * outbuffer.c: Changed FREE of outputs to FREE_KEEP

    * stage3.c: Using known splices in pick_cdna_direction.  Changed MALLOC of
      Stage3_new to MALLOC_OUT.

2015-08-27  twu

    * stage3.c: Changed criterion for evaluating splice neighborhood to allow
      for short ends

2015-08-24  twu

    * sarray-read.c: Using max_mismatches_allowed from original call to suffix
      array algorithm, and not allowing it to be unlimited

    * splice.c: Added debugging statements

    * genome.c: Setting end of genomealt string to be NULL

    * dynprog_genome.c: Changed loop end condition to avoid accessing
      uninitialized variables

    * stage3hr.c: Calling Genome_get_segment_blocks_left with chroffset and not
      chrhigh. Setting resolve value to be -1 in case of
      AMB_UNRESOLVED_TOOCLOSE.

2015-08-19  twu

    * gsnap.c: Removed extraneous space after newline

    * access.c: Added header file

2015-08-13  twu

    * gsnap.c: Using new interface to SAM_setup

    * oligoindex_hr.h: Changing Inquery_T types to be unsigned

    * oligoindex_hr.c: Removed old code that caused counts to be incremented
      twice

    * access.c, access.h, atoiindex.c, cmetindex.c, genome.c, gmapindex.c,
      indexdb-write.c, indexdb.c, sarray-read.c, sarray-write.c, snpindex.c:
      Replaced Access_allocate with Access_allocate_private and
      Access_allocate_shared

    * gsnap.c, samprint.c, samprint.h: Added option
      --paired-flag-means-concordant

2015-08-11  twu

    * genome.c, indexdb.c, indexdbdef.h, sarray-read.c: Storing keys from shared
      memory to check semaphores to see if the memory should be retained

    * access.c, access.h, gsnap.c: Added code for preloading and unloading of
      shared memory

    * configure.ac: No longer offering options to enable or disable CPU types

    * ax_ext.m4: Various changes to handle CPU types and features

    * oligoindex_hr.c, oligoindex_hr.h: Created Inquery_T type to handle both
      SSE2 and non-SSE code

    * genome128_hr.c: Fixed branch for clz/ctz for SSE4.2

    * configure.ac: Removing mpi for now

    * ax_ext.m4: Requiring BMI2 as part of AVX2

    * sarray-read.c: Allowing stream_load of si128 only for HAVE_SSE4_1

    * genome.c, genome.h, indexdb.c, indexdb.h, sarray-read.h: Commented unused
      procedures for shmem_remove

2015-08-10  twu

    * Makefile.am, Makefile.gsnaptoo.am, acinclude.m4, ax_compiler_vendor.m4,
      ax_ext.m4, config.site.rescomp.tst, configure.ac, cpuid.h, genome128_hr.c,
      gmap.c, gmap_select.c, gmapindex.c, gmapl_select.c, gsnap.c,
      gsnap_select.c, gsnapl_select.c, popcount.c, popcount.h, sarray-read.c,
      src, trunk: Merged revisions 171384 through 171613 from
      branches/2015-08-06-run-time-variants to allow for run-time variants

    * VERSION, config.site.rescomp.tst, index.html, oligoindex_hr.c,
      oligoindex_hr.h, sarray-read.c, src, trunk: Merged revisions 170634 to
      171595 to add code for AVX2

2015-08-05  twu

    * oligoindex_hr.c: Changed debugging statements

2015-08-04  twu

    * oligoindex_hr.c: Added debugging statements

2015-08-03  twu

    * gsnap.c, samprint.c, samprint.h: Added flag --add-paired-nomappers

2015-07-28  twu

    * oligoindex_hr.c: Restored missing line in counting of 9-mers

2015-07-23  twu

    * VERSION: Updated version number

    * stage1hr.c: Removed an abort command from debugging

    * sarray-read.c: Using new interface to Bytecoding lcp_next function. 
      Commented out code that is not used when SUBDIVIDE_ENDS is not defined.

    * bytecoding.c, bytecoding.h: Call to lcp_next now returns child_next

    * VERSION: Updated version number

    * dynprog_genome.c: Fixed boundaries that led to negative coordinates for
      splice site candidates.

    * stage1hr.c: Removed unused variables

    * stage1hr.c: Removed allvalidp as parameter to align_end and align_pair.

2015-07-22  twu

    * stage1hr.c: Setting spanningsetp and completesetp to false if querylength
      < min_kmer_readlength

    * stage1hr.c: Removed restriction on min_readlength.  Running only suffix
      array, if possible, if reads are too short.

    * access.c: Changed user message

    * sarray-write.c: Changing plcp[n] to be 0 instead of -1

    * sarray-read.c: Improved debugging results

    * access.c: Printing user message if shmem fails

2015-07-17  twu

    * get-genome.c, sequence.c, sequence.h: Added flags for --stream-chars and
      --stream-ints

2015-06-26  twu

    * 2015-statgen, Makefile.gsnaptoo.am, algorithm.tex, discussion.tex,
      features.tex, introduction.tex, trunk, util: Modified mergeinfo

    * config.site.rescomp.tst: Updated version

    * index.html: Updated for version 2015-06-23

    * archive.html: Updated for version 2014-12-31

    * README: Removed references to Goby

    * access.c, bigendian.c, bigendian.h, bitpack64-access.c, bitpack64-read.c,
      bitpack64-readtwo.c, bytecoding.c, compress.c, compress.h, genome-write.c,
      genome.c, genome.h, genome128_hr.c, iit-read-univ.c, indexdb.c,
      indexdb_hr.c, sarray-read.c, sarray-write.c, snpindex.c, src, types.h,
      univinterval.h: Merged revisions 167282 through 168383 from
      branches/2015-06-10-bigendian to support bigendian architectures

    * Makefile.dna.am, Makefile.util.am: Added instructions for check-bigendian

2015-06-24  twu

    * VERSION, config.site.rescomp.tst: Updated version number

    * algorithm.tex, biblio.bib, discussion.tex, features.tex, introduction.tex,
      toplevel.tex: Final version

    * stage1hr.c: Added comments

    * gmap.c: Removed message about different batch levels

    * gsnap.c: Added option --master-is-worker for MPI version

    * access.c: Using malloc whenever shmget fails

2015-06-15  twu

    * stage1hr.c: Removed extra #endif statements

    * 2015-statgen, Ambiguous-splicing.eps, Hierarchical-GMAP.eps,
      Large-hash-table.eps, Makefile.gsnaptoo.am, Overlapping-alignment.eps,
      VERSION, biblio.bib, config.site.rescomp.tst, toplevel.tex, trunk, util:
      Updated version number

    * stage1hr.c: Fixed indentation

    * genome.c, genome128_hr.c, gmap.c, gsnap.c, indexdb.c, mode.h,
      sarray-read.c, src, stage1hr.c, substring.c, uniqscan.c: Merged revisions
      165630 through 167691 from branches/2015-05-13-ttoc to implement ttoc mode

    * splice.c: Applied revision 167580 from releases/public-2014-12-17.  In
      group_by_segmenti_aux and group_by_segmentj_aux, checking plusp for each
      individual hit in deciding whether to group donor or acceptor.

    * bitpack64-readtwo.c: Added debugging statements

    * sarray-read.c: Defining a variable for debugging

    * oligoindex_hr.c: Defining reverse_nt for machines without SSE4.1

2015-06-11  twu

    * stage3hr.c: Changed occurrences of Uintlist_next to Uint8list_next for
      LARGE_GENOMES

    * oligoindex_hr.c: Providing alternative to _mm_extract_epi32 for machines
      without SSE4.1

    * access.c, acinclude.m4, configure.ac, shm-flags.m4: Including check for
      SHM_NORESERVE

    * Makefile.gsnaptoo.am: Removed -lrt

    * sarray-read.c: Initializing chromosome values to be those for chrnum 1 to
      handle left == 0

    * VERSION, index.html: Updated version number

    * sarray-write.c: Removing rankfile

    * gmapindex.c: Removing rankfile

2015-06-10  twu

    * gmap_build.pl.in: Changed flag from --no-sarray to --build-sarray

    * atoiindex.c, cmetindex.c: Added flag --build-sarray

2015-06-09  twu

    * indel.c: Added debugging statements

    * stage1hr.c: Bypassing gmap on region if mappingend is less than or equal
      to mappingstart, which can happen if the region is pushed to the beginning
      or end of the chromosome

    * stage3hr.c: Assigning loop variable to given junctions before we push
      left_ambig

2015-06-07  twu

    * stage3.c: Reversed last revision, and put trim_novel_spliceends at
      beginning of path_trim, since putting it at the end results in an infinite
      loop

2015-06-06  twu

    * stage3hr.c: Added debugging statement

    * stage3.c: Moved trimming of novel spliceends from beginning of path_trim
      procedure to end

    * pair.c: Fixed computation of circularpos for minus alignments

2015-06-05  twu

    * samprint.c: Removed unused variables

    * stage3hr.c: In printing translocations, getting separate chrs for the two
      halves. Turned on TRANSLOC_SPECIAL.

    * samprint.c: In printing halfdonors and halfacceptors, comparing endlengths
      to trimlengths to determine whether to print H or S in CIGAR string

    * samprint.c: Fixed printing of CIGAR strings for minus alignments

2015-06-04  twu

    * stage1hr.c: Added lowpos and highpos to Segment_T object.  Rewrote dynamic
      programming procedures for converting segments to pairs.

2015-06-03  twu

    * stage1hr.c: In converting segments to GMAP, changed criteria for dynamic
      programming to be relative to anchor_segment and not to segment[k].

    * sarray-read.c, stage3hr.c: Using new interface to Substring_new_ambig

    * substring.c, substring.h: Setting trim_left and trim_right for ambiguous
      substrings

2015-06-02  twu

    * stage3hr.c, substring.c, substring.h: Renamed outofbounds variables to
      outofbounds_start and outofbounds_end.  Handling the case where the
      alignment is out of bounds to the left of the current chromosome.

    * VERSION: Updated version number

    * archive.html, index.html: Made changes for new version

    * stage1hr.c: Handling the case where floors is NULL, such as for a poly-A
      read

    * stage3hr.c: Fixed genomic segments for converting substrings to GMAP

    * stage1hr.c: For converting segments to GMAP, fixed criteria for allowing
      non-monotonic query orders and possible insertions

    * stage3hr.c: Fixed bug in referring to uninitialized substring

    * substring.c, substring.h: Removed left_genomicseg field

    * stage3hr.c: In converting substrings to GMAP, using correct genomic
      nucleotide now

    * gsnap.c: Made batch level 4 the default

    * stage1hr.c: Reordered search algorithms.  Limiting number of anchor
      segments, and pairing up those instead.  Disabling doublesplicing
      algorithm.

    * sarray-read.h: Removed references to sarray_gmap

    * sarray-read.c: Removed references to sarray_gmap

    * pair.c, pair.h: For GSNAP default output format, no longer printing pair
      info for single-end reads

    * memory-check.pl: Handling results for non-threaded runs

    * sarray-read.c: Fixed memory leak

    * stage1hr.c: Deferring read_oligos until we need them for spanning set or
      complete set algorithms

    * stage1hr.c: Fixed call to single hit alignment of GMAP.  Made batch level
      4 the default for memory.

    * stage1hr.c: Allowing terminal alignments only if no single-end alignments
      are found, or if no concordant alignments are found.

    * sarray-read.c: Fixed memory leak

    * stage1hr.c: Limiting number of anchor segments.  Implementing terminal
      alignments.

    * stage3hr.c: Using new interface to Substring procedures

    * substring.c, substring.h: Removed unused variables

    * samprint.c: Removed obsolete code for printing specific GSNAP types

    * stage1hr.c: Implemented finding of terminals based on anchor segments

    * stage3hr.c: Fixed accumulation of ilength_high.  In comparing GMAP against
      substrings, iterating through all substrings.

    * stage3hr.c, stage3hr.h, substring.c, substring.h: Fixed issues with
      substring boundaries, computing genomic_diff, and marking mismatches

    * stage2.c: Removed GMAP-specific code from GSNAP

    * samprint.c: Changed call to get querylengths

    * genome128_hr.c, genome128_hr.h: Removed mismatch_offset

2015-05-31  twu

    * samprint.c: Removed references to Pair_check_cigar.  Changed calls to get
      cdna_direction to those for sensedir.

    * pair.c: Removed printing of state

    * substring.c: Removed references to genomicstart_adj and genomicend_adj in
      converting substrings to pairs

    * stage3hr.h: Removed interface for Stage3end_indel_pos

    * stage3hr.c: Changed calls to Substring_new for insertion and deletion
      types to conform to new substrings standards, where each substring has its
      genomicstart and genomicend adjusted for indels.  Removed indel_pos and
      indel_low fields from Stage3end_T object.  Removed code for printing
      separate GSNAP types.

    * stage3hr.c: Setting trim_left, trim_right, trim_left_splicep, and
      trim_right_splicep for substring hit type

2015-05-30  twu

    * stage3hr.c: Fixed coordinate error in test_hardclips

    * stage3hr.c: Fixed typo

2015-05-29  twu

    * samprint.c, stage3hr.c: Fixed issues in finding substring_low for minus
      alignments using hardclip_low

    * stage3hr.c: Fixed computation of ilength for substrings

    * 2015-statgen, Ambiguous-splicing.eps, DP-triangles.eps,
      Diagonalization.eps, Hierarchical-GMAP.eps, Large-hash-table.eps,
      Makefile.gsnaptoo.am, Overlapping-alignment.eps, README,
      SIMD-oligomers.eps, Vertical-format.eps, algorithm.tex, biblio.bib,
      context.tex, diag.c, diag.h, diagpool.c, diagpool.h, discussion.tex,
      doublelist.c, doublelist.h, features.tex, genome128_hr.c, gmap.c, gsnap.c,
      indel.c, indel.h, intlist.c, intlist.h, introduction.tex, junction.c,
      junction.h, list.c, list.h, oligoindex_hr.c, oligoindex_hr.h, pair.c,
      pair.h, samprint.c, samprint.h, sarray-read.c, sarray-read.h, sequence.c,
      splice.c, splice.h, splicing-score.c, src, stage1hr.c, stage1hr.h,
      stage2.c, stage2.h, stage3.c, stage3.h, stage3hr.c, stage3hr.h,
      substring.c, substring.h, toplevel.tex, trunk, uint8list.c, uint8list.h,
      uintlist.c, uintlist.h, uniqscan.c, univdiag.c, univdiag.h, univdiagdef.h,
      util: Merged revisions 162218 to 166640 from
      branches/2015-03-28-sarray-gmap, 2015-03-31-new-sarray-,
      2015-05-07-sarray-ambig, 2015-05-21-segment-gmap, and
      2015-05-22-fast-oligoindex

    * config.site.rescomp.tst, trunk: Updated version number

    * index.html: Made changes for 2014-12-29

    * samprint.c: Moved position of #endif line

2015-05-28  twu

    * substring.c: Fixes to debugging statements

    * stage3.c: Fixes to debugging statements

    * samprint.c, samprint.h: Revisions to SAM_compute_chrpos

    * output.c: Using new interface to SAM_compute_chrpos

2015-05-20  twu

    * gmapindex.c, src: Allowing genomecomp to be a command-line argument. 
      Merged changes from branches-2015-05-15-compressed-sarray to allow for
      compressed suffix arrays.

    * gmap_build.pl.in, util: Providing genomecomp file as a command-line
      argument, instead of piping it into gmapindex

    * sarray-write.c, sarray-write.h: Merged changes from
      branches/2015-05-15-compressed-sarray to allow for compressed suffix
      arrays, but removed csafile needed for debugging

    * sarray-read.c: Turning off code for compressed suffix arrays

    * indexdb-write.c, indexdb-write.h: Allowing the case where genomelength is
      less than index1part

    * bitpack64-write.h: Improved comments

    * access.c: Merged changes from branches/2015-05-15-compressed-sarray to
      assign *fd, even if file is empty

    * sarray-read.c: Merged code for compressed suffix array.  Implemented
      different methods for Elt_fill_positions_filtered, depending on whether
      the filtering occurs more than once.

    * gmap.c: Using new interface to Pair_setup

2015-05-16  twu

    * output.c: Not computing chrpos for SAMECHR_SPLICE and TRANSLOC_SPLICE
      hittypes

    * gmap.c, gsnap.c, pair.c, pair.h, uniqscan.c: Fixed issue with printing
      nsnpdiffs for GMAP alignments

    * stage3hr.c: Turned on TRANSLOC_SPECIAL to remove translocations when
      non-translocation alignments are found.  Using effective_chr for printing
      purposes.  Pushing both substrings for a distant splice. Using querystart
      and queryend instead of querystart_adj and queryend_adj for computing
      insertlength.

    * samprint.c: Using Substring_compute_chrpos to compute chrpos based on
      substrings instead of Stage3end_T object

    * substring.c, substring.h: Implemented Substring_compute_chrpos

2015-05-01  twu

    * iit-read.c: Checking for the possibility in IIT_get_highs_for_low and
      IIT_get_lows_for_high of a zero-length array.

    * stage3hr.c: Fixed order of LtoH substrings for deletions

    * oligoindex_hr.c: Replaced count_fwdrev_simd with individual
      count_*mer_fwd|rev_simd procedures

    * substring.c: Revised some debugging statements

    * stage3hr.c: Retaining old information about sarrayp when copying a
      Stage3_T object

    * stage3.c: Initializing max_nmatches to be 0 in end-trimming procedures

    * Makefile.gsnaptoo.am: Added -lrt to get shm commands

    * algorithm.tex, context.tex, features.tex, introduction.tex: Augmented
      captions

    * biblio.bib: Added references

2015-04-30  twu

    * discussion.tex: Added material

    * biblio.bib, toplevel.tex: Added references

    * algorithm.tex, features.tex, introduction.tex: Added citations

    * discussion.tex: Added text

    * context.tex: Added description of GSTRUCT

    * context.tex, discussion.tex: Moved HTSeqGenie to context.tex

    * introduction.tex: Added caption

    * features.tex: Revisions

    * Diagonalization.eps, Hierarchical-GMAP.eps, Large-hash-table.eps,
      Overlapping-alignment.eps, SIMD-oligomers.eps: Revised figures

    * algorithm.tex: Expanded caption

    * context.tex: Revisions

2015-04-29  twu

    * algorithm.tex: Revisions

2015-04-29  matthejb

    * discussion.tex: + adding content to discussion

2015-04-29  twu

    * algorithm.tex: Revisions to diagonalization

    * toplevel.tex: Changed symbols for logical operations

    * algorithm.tex: Revisions

    * algorithm.tex: Revisions to linear genome

2015-04-28  matthejb

    * discussion.tex: + initial additions to discussion by MB

2015-04-28  twu

    * algorithm.tex: Moved material on large genomes from features.tex to here

    * introduction.tex: Revisions

    * features.tex: Revisions

    * algorithm.tex: Moved section on ranking alignments and eliminating
      duplicates to features.tex

    * discussion.tex: Added notes

    * algorithm.tex: Changed table

    * features.tex: Revisions

    * introduction.tex: Revisions

2015-04-27  twu

    * introduction.tex: Revisions

2015-04-27  michafla

    * biblio.bib, context.tex: first draft of gmapR writeup

2015-04-25  twu

    * Hierarchical-GMAP.eps, algorithm.tex, features.tex, introduction.tex,
      toplevel.tex: Revisions

2015-04-24  twu

    * algorithm.tex, features.tex, introduction.tex: Revisions

    * Ambiguous-splicing.eps, DP-triangles.eps, Diagonalization.eps,
      Hierarchical-GMAP.eps, Large-hash-table.eps, Overlapping-alignment.eps,
      SIMD-oligomers.eps, Vertical-format.eps: Added figures

2015-04-23  twu

    * 2015-statgen, algorithm.tex, context.tex, discussion.tex, features.tex,
      introduction.tex, papers, toplevel.tex: Added directory for editing papers

2015-04-07  twu

    * splice.c: Fixed probability calculation for an ambiguous splice

2015-03-27  twu

    * stage3hr.c: Allowing insertlength to be negative, up to -pairmax, to allow
      for overlaps.  For debugging messages involving insert length, using
      chromosomal coordinates.

    * stage1hr.c: Added address of GMAP alignment to debugging messages

    * chimera.c: Added information about querypos and homology to XT field for
      GMAP

    * samprint.c: Removed old version of adjust_hardclips

2015-03-26  twu

    * filestring.c: Turned off debugging output to stdout

    * outbuffer.c: Allow possibility in MPI for output to stdout

    * mpidebug.h: Added tag for writing to stdout

    * mpidebug.c: Handling debugging output for MPI_BOOL_T as an unsigned char

    * master.c, master.h: Allow possibility in MPI for output to stdout

    * gsnap.c: Allow possibility in MPI for output to stdout

    * filestring.c: Allow possibility in MPI for output to stdout

    * gsnap.c: Allowing MPI with only a single thread per rank, by calling
      Master_parser as a detached thread

    * sarray-read.c: Allowing memory mapping for indexij_access

2015-03-25  twu

    * gmap.c, gsnap.c: Added USE_MPI checks around final MPI_Barrier

    * VERSION: Updated version number

    * access.c, access.h, atoiindex.c, cmetindex.c, configure.ac, genome.c,
      genome.h, get-genome.c, gmap.c, gmapindex.c, gsnap.c, iit-read-univ.c,
      iit-read.c, index.html, indexdb-write.c, indexdb.c, indexdb.h,
      indexdbdef.h, outbuffer.c, sarray-read.c, sarray-read.h, sarray-write.c,
      snpindex.c, src, trunk, uniqscan.c: Merged revisions 161768 through 161939
      from branches/2015-03-23-shmem to implement shared memory

2015-03-24  twu

    * stage3hr.c: In test_hardclips, checking if low and high coordinates are
      equal

    * stage3hr.c: Fixed comparison of chrpos in adjust_hardclips_right and
      adjust_hardclips_left

    * stage3hr.c: In adjust_hardclips, advancing both low_querypos and
      high_querypos on either failure, to prevent infinite loop

2015-03-23  twu

    * stage3hr.c: In adjust_hardclips, advancing either low_querypos or
      high_querypos if needed

    * stage3hr.c: Doing a final test_hardclip when shift right and shift left
      are not possible

    * substring.c: In alias_circular and unalias_circular, updating
      genomicstart_adj and genomicend_adj

2015-03-22  twu

    * stage3hr.c: Changed endpoint test in Stage3end_substring_low

    * substring.c: Removed debugging string

    * substring.c, substring.h: Added fields genomicstart_adj and genomicend_adj
      for substring2 of insertions and deletions to handle computations with
      querypos to obtain a genomic position

    * stage3hr.c: Using genomicstart_adj and genomicend_adj in insertions and
      deletions to handle computations with querypos to obtain a genomic
      position

2015-03-21  twu

    * substring.c, substring.h: Substring_convert_to_pairs now takes
      genomicstart_indel_adj

    * stage3hr.c: No longer changing left2, genomicstart2, and genomicend2 for
      substring2 of insertions and deletions.  Providing indel adjustments
      instead to Substring_convert_to_pairs.

    * pair.c: Made Pairarray_contains_p routine look for any case of a gap or
      indel for a given querypos

    * stage3hr.c: In adjust_hardclips, for dual GMAP, added the ability to shift
      low_querypos or high_querypos independently to make the low genomicpos and
      high genomicpos equal.

    * stage3hr.c: In test_hardclips, for dual GMAP, checking that the
      coordinates match for the two ends

    * stage3hr.c: On recomputing of hardclips near center, decrementing the
      higher value to make the clipping more even

    * stage3hr.c: Fixed bug in defining left2 for deletion

    * stage3hr.c: In find_ilengths, returning false instead of aborting

    * VERSION: Updated version number

    * list.c, list.h: Implemented List_pop_out

    * substring.c: Fixed genomic coordinates to be 0-based when converting from
      substrings to pairs

    * stage3hr.c: In test_hardclips, fixed bug with uninitialized values.  In
      adjust_hardclips, checking querypos, querypos-1, and querypos+1 again.
      Also, for dual GMAP, checking that genomepos matches for the given
      low_querypos and high_querypos, meaning that alignments are similar.
      Always doing a recompute of ilengths after adjust_hardclips. Implemented
      stripping of gaps and indels that occur between the two parts when doing a
      merge overlap.

2015-03-20  twu

    * stage3hr.c: Subtracting 1 from alignstart or alignend in computing
      overlaps.  The find_ilengths function returns false if a common point is
      not found. Added a test_hardclips step and separate right and left shifts
      for adjust_hardclip.  Computing a separate genomicstart2 for substring2 of
      insertions and deletions.

    * pair.c, pair.h: Implemented Pairarray_lookup

2015-03-19  twu

    * stage3hr.c: Computing second hardclip from its ilength, not overlap.  In
      finding common point involving GMAP, skipping introns and indels.  Added
      code to check that merged overlap pieces are next to each other.

2015-03-18  twu

    * stage3hr.c: Fixed bug in some of the initial loops of adjust_hardclips

    * splice.c, stage1hr.c: Using only sensedir and not sensep in calling
      Substring_new_donor, acceptor, and shortexon

    * stage3hr.c, substring.c, substring.h: Removed unused variables and
      parameters.  Using sensedir instead of sensep.

2015-03-17  twu

    * samprint.c: Removed unused parameters and variables

    * substring.c, substring.h: Making Substring_print_shortexon use sensedir
      instead of sensep. Removed unused parameters.

    * stage3hr.c: Calling Substring_print_donor, acceptor, and shortexon
      procedures with sensedir instead of sensep

    * pair.c, pair.h: Removed unused parameters

    * VERSION: Updated version number

    * output.c: Using new interface to SAM_compute_chrpos

    * samprint.c, samprint.h: Corrected calculations in SAM_compute_chrpos

    * stage3hr.c, stage3hr.h: Using substring_LtoH instead of substring_low and
      substring_high. Added initial shift in adjust_hardclips.  Fixed
      calculation of overlap to depend only on common_left and common_right.

    * substring.c, substring.h: Changed Substring_chrstart and Substring_chrend
      to Substring_alignstart_chr and Substring_alignend_chr

    * output.c, samprint.c, samprint.h: Did a reverse merge to undo revision
      160876 which used substring_hardclipped instead of substring_low

2015-03-13  twu

    * VERSION: Updated version number

    * output.c, samprint.c, samprint.h: Revised SAM_compute_chrpos to search for
      the hardclipped substring, rather than using substring_low

    * stage3hr.c: Changed comment

    * shortread.c: Initializing nextchar2 in various procedures

    * gsnap.c: Fixed small memory leak

2015-03-11  twu

    * stage3hr.c: Adjusting hardclips by checking adjacent positions left and
      right of the crossover querypos.

    * substring.c: Removed comment

    * stage3hr.c: Restored correct ilength calculations for minus strand

2015-03-06  twu

    * VERSION, config.site.rescomp.prd, config.site.rescomp.tst, index.html:
      Updated version number

    * stage3hr.c: Added comparisons in hitpair_sort_cmp to fix issue where
      duplicate alignments were not being put together for removal

    * oligoindex_hr.c: Implemented bit twiddling and SIMD-based method for
      computing reverse_nt

2015-03-03  twu

    * stage3.c: Removed automatic trimming of ends less than 12 bp.  Fixed bug
      in assigning splice pair in end trimming procedures.

    * ax_ext.m4: Performing run test for tzcnt_u32 and tzcnt_u64

    * stage3hr.c: Made minor fixes in --clip-overlap feature, including fixes to
      gaps and overlaps, more even division of overlaps, and preference for
      clipping heads rather than tails in cases of ties

    * stage3.c: Turning off branch that can lead to bad CIGAR strings

    * inbuffer.c: Defining variable needed when MPI_FILE_INPUT is specified

    * gsnap.c: Doing a chromosome_iit_setup before worker_setup

    * genome128_hr.c: Using HAVE_TZCNT instead of HAVE_BMI1

2015-02-25  twu

    * stage1hr.c, stage3hr.c, stage3hr.h: Printing an accession when reporting a
      CIGAR error

    * inbuffer.c, inbuffer.h: Changed nspaces to be an unsigned int

    * gsnap.c: Moved pthread_attr_init to places just before they are needed

    * Makefile.gsnaptoo.am: Added master.c and master.h as extra files to be
      distributed

    * master.c: Added pre-processor macros

    * gsnap.c: Added pre-processor macro around inclusion of master.h

    * Makefile.gsnaptoo.am, VERSION, config.site.rescomp.prd,
      config.site.rescomp.tst, filestring.c, filestring.h, gsnap.c, inbuffer.c,
      inbuffer.h, index.html, master.c, master.h, mpidebug.c, mpidebug.h, src,
      trunk, util: Merged revisions 158119 through 159424 from
      branches/2015-02-05-mpi-workers-0 to allow for worker threads in rank 0

2015-02-12  twu

    * gmap.c: Added debugging statements

    * chimera.c, pair.c, pair.h: Providing Pair_pathscores with a
      pre_extension_slop parameter. Distinguishing between call to
      Pair_pathscores when finding non-extended paths to pair up, and when
      finding a breakpoint between the final, extended paths.

    * outbuffer.c: Rearranged procedures for compilation to work

    * pair.c: In Pair_print_sam, always doing a Pair_compute_cigar

    * outbuffer.c: Printing SAM headers on empty files

2015-02-10  twu

    * gmap.c: Allowing PMAP to have variables for gff3_separators_p

    * gmap.c, gsnap.c, pair.c, pair.h, uniqscan.c: For gff3 output, always
      adding a separator line.  Added --gff3-add-separators flag to GMAP.

    * stage1.c: In find_range, limiting number of results to 100 to avoid
      getting bogged down in repeats

    * gff3_genes.pl.in, gff3_introns.pl.in, gff3_splicesites.pl.in: For gff3
      files without a gene name, always read $chr from line

2015-02-05  twu

    * pair.c: GMAP always recompute cigar_tokens, in case merging has affected
      them

2015-02-04  twu

    * pair.c: Added slop in computing Pair_pathscores, to allow for better
      identification of translocations

    * gmap.c: Improved debugging statements

    * chimera.c: Changed type of some debugging statements

2015-02-03  twu

    * VERSION, gmap.c, gsnap.c, pair.c, pair.h, samprint.c, src, stage3.c,
      stage3hr.c, stage3hr.h, trunk, uniqscan.c: Merged revisions 157793 through
      157918 from branches/2015-01-30-cigar-check to create and check cigar
      strings when Stage3_T or Stage3end_T objects are created

2015-01-30  twu

    * stage1hr.c: Using new interface to Stage3_compute

    * gmap.c: Using new interface to Stage3_compute and Stage3_new.  No longer
      calling Stage3_recompute_goodness.

    * pair.c, pair.h: Implemented Pair_fracidentity_array, which returns
      goodness

    * stage3.h: Changed Stage3_recompute_goodness to Stage3_compute_mapq. 
      Always recomputing matches and goodness when this->pairarray is assigned.
      Removed references to END_KNOWNSPLICING_SHORTCUT.

    * stage3.c: Changed Stage3_recompute_goodness to Stage3_compute_mapq. 
      Always recomputing matches and goodness when this->pairarray is assigned.
      Removed references to END_KNOWNSPLICING_SHORTCUT.

2015-01-29  twu

    * stage3.c: In Stage3_cmp, using npairs and matches as secondary criteria
      beyond goodness

    * gmap.c: Cleaned up unused variables and parameters.  Using new interface
      to Stage3_compute

    * filestring.c: Added ability to handle %f

    * stage3.c, stage3.h: Cleaned up unused variables and parameters

    * stage1hr.c: Using new interface to Stage3_compute

    * pair.c: Using false instead of 0

2015-01-28  twu

    * gmap.c: Added call to Outbuffer_cleanup()

    * outbuffer.c: Moved lock outside of loop to prevent a race condition

    * inbuffer.c: Removed check of nextchar == EOF, which causes standard GSNAP
      and GMAP not to terminate

    * shortread.c, shortread.h: Fixed some issues with variable names for MPI
      code

    * outbuffer.c, outbuffer.h: Added Outbuffer_cleanup, which frees array of
      outputs

    * inbuffer.c: Allowing for gzipped and bzipped2 files in MPI version by
      sending and receiving filecontents

    * gsnap.c: Calling Outbuffer_cleanup

    * gmap.c: Revealed variable needed for debugging

    * filestring.c, filestring.h: Implemented Filestring_send and
      Filestring_recv

    * compress.c: Fixed comment

2015-01-27  twu

    * shortread.c: Made code consistent across text, gzip and bzip2.  Added
      hooks for filling a Filestring_T object in gzip and bzip2 procedures.

2015-01-26  twu

    * index.html: Updated for 2014-12-17.v2

    * shortread.c, shortread.h: Using workers_comm in MPI_fopen

    * mpidebug.c, mpidebug.h: Using workers_comm in MPI_fopen

    * inbuffer.c, inbuffer.h: Passing workers_comm to
      Shortread_read_filecontents

    * gsnap.c: Introduced a workers_comm so MPI_File_open and MPI_File_close can
      be restricted to that group

    * shortread.c: Added debugging statements for opening and closing files

    * gsnap.c: Added debugging statements for opening and closing files.  For
      MPI master using MPI_File input, explicitly closing those inputs.

    * gsnap.c: Using new interfaces to Inbuffer_setup, Inbuffer_new, and
      Inbuffer_master_process.  Master rank 0 no longer calling Inbuffer_new.

    * gmap.c: Using new interface to Inbuffer_new

    * inbuffer.c: No longer making a special case in fill_buffer for MPI when
      nextchar at end of block is EOF.

    * shortread.c, shortread.h: MPI procedures for reading from filecontents
      also close and open input files

    * inbuffer.h: Moved nspaces into Inbuffer_T object and into Inbuffer_new
      instead of Inbuffer_setup.  Made Inbuffer_master_process free of an
      Inbuffer_T object.

    * inbuffer.c: Moved nspaces into Inbuffer_T object and into Inbuffer_new
      instead of Inbuffer_setup.  Made Inbuffer_master_process free of an
      Inbuffer_T object.

2015-01-23  twu

    * inbuffer.c: Added comments

    * gsnap.c: Created separate worker_setup and worker_cleanup procedures

    * inbuffer.c: Assigning filecontents buffers to the IN category for memusage

    * config.site.rescomp.prd, gsnap.c, inbuffer.c, inbuffer.h, shortread.c,
      shortread.h, src, trunk: Merged revisions 157242 to 157253 from
      branches/2015-01-22-mpi-file-block to have worker ranks read blocks into a
      buffer

2015-01-22  twu

    * memchk.c, popcount.c: Added include of config.h

    * configure.ac: Changed variable name from USE_MPI_FILE to
      USE_MPI_FILE_INPUT

    * samheader.h: Added include of <mpi.h>

    * oligoindex_pmap.h: Added explanation of why config.h needs to be included

    * iit-read-univ.h: Added include of <mpi.h>

    * gsnap.c, inbuffer.c, inbuffer.h, shortread.c, shortread.h: Checking for
      both USE_MPI and USE_MPI_FILE_INPUT in using MPI_File for input

    * chrsubset.h: Added blank line for formatting

    * bitpack64-read.h, bitpack64-serial-read.h, compress.h, dynprog.h,
      except.h, genomicpos.h, iit-read.h, indexdb-write.h, indexdb.h,
      indexdbdef.h, popcount.h, sequence.h: Added include of config.h

    * filestring.h, mpidebug.h, oligoindex_hr.h, samprint.h, sortinfo.h: Removed
      include of config.h, since not necessary

    * bigendian.h, fopen.h, iitdef.h, littleendian.h, mem.h, oligoindex.h,
      types.h: Added explanation of why config.h needs to be included

    * atoi.h, bitpack64-write.h, cmet.h: Added $Id$ string

    * access.h, alphabet.h, backtranslation.h, block.h, boyer-moore.h,
      bp-read.h, bp-write.h, bytecoding.h, bzip2.h, chrom.h, chrsegment.h,
      datadir.h, diag.h, diagdef.h, diagpool.h, genome-write.h,
      genome128-write.h, genome_hr.h, genome_sites.h, genomepage.h, gregion.h,
      iit-write-univ.h, iit-write.h, indel.h, indexdb_hr.h, interval.h,
      intlist.h, intpool.h, intron.h, match.h, matchdef.h, matchpool.h,
      maxent128_hr.h, maxent_hr.h, oligo.h, oligop.h, pairdef.h, parserange.h,
      reader.h, stage1.h, tableuint8.h, tally.h, translation.h, univinterval.h:
      Added blank line for formatting

2015-01-21  twu

    * stage3hr.c: Turning on SOFT_CLIPS_AVOID_CIRCULARIZATION again to avoid
      duplicates in circular chromosomes

    * ax_mpi.m4: Added cc to list of possible values for MPICC, for systems that
      use a wrapper called cc

    * shortread.c: Fixed parsing issues for blank lines and ends of files

    * configure.ac: Added configure flag --enable-mpi-file

    * Makefile.gsnaptoo.am: Removed mpi_gmap for now

    * gsnap.c, pair.c, pair.h: Added noprint option for --action-if-cigar-error
      and made it the default

    * gsnap.c, inbuffer.c: Made -q or --part flag work for MPI code

    * inbuffer.c: Added ending brace for MPI code

    * shortread.c: Fixed bug in a print statement where a pointer was not being
      provided. In input_oneline, making a single read to get nextchar.

    * inbuffer.c: Not doing fseek if nextchar is EOF

    * gsnap.c: Removed a debugging statement

    * filestring.c: Increased size of buffer

    * outbuffer.c, outbuffer.h: Added parameter for output_file

    * gmap.c: Using new interface to Outbuffer_setup and
      Outbuffer_print_filestrings

    * samheader.c, samheader.h: Applied changes from branches/2015-01-17-mpi-seq

    * outbuffer.c, outbuffer.h: Applied changes from
      branches/2015-01-17-mpi-seq.  Removed code for Outbuffer_mpi_process.

    * inbuffer.c: Removed requestid variable from fill_buffer for GMAP

    * iit-read-univ.c, iit-read-univ.h: Applied changes from
      branches/2015-01-17-mpi-seq

    * gsnap.c: Applied changes from branches/2015-01-17-mpi-seq

    * gmap.c: Put in dummy variables for Inbuffer_new

    * filestring.c, filestring.h: Applied changes from
      branches/2015-01-17-mpi-seq

2015-01-20  twu

    * config.site.rescomp.tst, filestring.c, filestring.h, gsnap.c, inbuffer.c,
      inbuffer.h, mpidebug.c, mpidebug.h, outbuffer.c, shortread.c, shortread.h,
      src, trunk: Merged revisions 156908 to 157083 from
      branches/2015-01-17-mpi-seq to change the input side of mpi_gsnap

    * index.html: Updated for version 2014-12-17

    * VERSION: Updated version number

    * samprint.c: Consolidated print statements

    * output.c: Defining abbrev for a nomapper

    * diag.c: Added debugging statement

2015-01-16  twu

    * gmap.c, pair.c, stage2.c, stage3.c: Merged revisions 156824 to 156843 from
      branches/2015-01-15-fix-chimeras to make better decisions for last exons
      having partial alignments

2015-01-15  twu

    * oligoindex_hr.c: Allowing diagonals where ptr->i < querylength.  Reveals
      alignments that were otherwise missed.

    * gmap.c: Fixed debugging statements to use Sequence_stdout instead of
      Sequence_print

    * chimera.c, chimera.h, gmap.c: Fixed algorithm for finding non-exon-exon
      chimeric breakpoint and finding dinucleotides

2015-01-14  twu

    * stage3hr.c: In anomalous_splice_p procedures, checking for samechr_splice
      hittypes

    * stage1hr.c: Not applying GMAP to samechr_splice hittypes

2015-01-07  twu

    * oligoindex_hr.c: Fixed type for positions_space field in Oligoindex_T

    * oligoindex_hr.c: Fixed type for positions_space field in Oligoindex_T

    * oligoindex_hr.c, oligoindex_hr.h, oligoindex_old.c, oligoindex_old.h, src,
      stage2.c, trunk: Merged revisions 154793 through 156263 from
      branches/2014-12-06-stage2-larger-kmers to allow for 9-mers in stage 2

    * config.site.rescomp.prd, config.site.rescomp.tst: Updated version number

    * VERSION: Updated version number

    * index.html: Added changes for version 2014-12-16 (v2)

    * substring.c: Fixed assertions to account for out-of-bounds regions

    * README: Added explanation of XI field

    * pair.c, samprint.c, shortread.c, shortread.h: Added code for XI field

2015-01-05  twu

    * stage1hr.c: Using correct typecast of ambcoords to (Uint8list_T) NULL for
      large genomes

    * stage2.c: Fixed uninitialized variable for firstactive

2014-12-17  twu

    * gsnap.c, uniqscan.c: Using new interface to Stage3hr_setup

    * stage3hr.c, stage3hr.h: Computing outofbounds_left and outofbounds_right. 
      Using new interface to Substring_new.

    * substring.c, substring.h: Added provision for outofbounds_left and
      outofbounds_right, to be considered part of trimming

2014-12-16  twu

    * gsnap.c: Changed input sequence to open input streams to get one character
      and determine if it is FASTQ format, and then to do Shortread_setup, and
      then to fill the inbuffer.

    * sarray-read.c: Fixed typo: spliceends_antisense => spliceends_sense

    * substring.c: Removed debugging statement

    * samheader.c: Not printing tabs if there are no headers

    * sam_sort.c: Setting fileposition variable for each file

    * filestring.c: Handling the case where filestring is NULL

2014-12-12  twu

    * doublelist.c: Fixed type error in doublelist_to_array_out

    * Makefile.gsnaptoo.am, config.site.rescomp.prd, gsnap.c, samprint.c, src,
      stage1hr.c, stage1hr.h, stage3hr.c, substring.c, substring.h, trunk,
      uniqscan.c: Merged revisions 154499 through 155289 from
      branches/2014-12-03-dna-chimeras

    * VERSION, config.site.rescomp.prd: Updated version number

    * sam_sort.c: Revised sam_sort to handle multiple input files

    * Makefile.am, Makefile.gsnaptoo.am, VERSION, access.c, ax_mpi.m4,
      backtranslation.c, backtranslation.h, bool.h, bootstrap.gsnaptoo,
      chimera.c, chimera.h, config.site, config.site.rescomp.prd,
      config.site.rescomp.tst, configure.ac, filestring.c, filestring.h,
      genomicpos.c, genomicpos.h, get-genome.c, gmap.c, gsnap.c,
      iit-read-univ.c, iit-read-univ.h, iit-read.c, iit-read.h, inbuffer.c,
      inbuffer.h, md5.c, md5.h, mem.c, mem.h, memory-check.pl, mpi, mpidebug.c,
      mpidebug.h, outbuffer.c, outbuffer.h, output.c, output.h, pair.c, pair.h,
      request.c, request.h, resulthr.c, resulthr.h, revcomp.c, sam_sort.c,
      samflags.h, samheader.c, samheader.h, samprint.c, samprint.h,
      sarray-read.c, segmentpos.c, segmentpos.h, sequence.c, sequence.h,
      shortread.c, shortread.h, src, stage1hr.c, stage2.c, stage2.h, stage3.c,
      stage3.h, stage3hr.c, stage3hr.h, substring.c, substring.h, translation.c,
      translation.h, trunk, types.h, uniqscan.c: Merged revisions 154226 to
      155279 from branches/2014-11-27-mpi to implement MPI versions and to use
      Filestring_T objects for all output

    * VERSION, config.site.rescomp.prd, index.html: Updated version number

    * genome.c, genome.h: Changed type of gbuffer from unsigned char to char

2014-12-10  twu

    * oligoindex_hr.c: Added code for handling 9-mers

2014-12-06  twu

    * stage1hr.c: Fixed typo in assigning probs_acceptor

    * VERSION, config.site.rescomp.prd, doublelist.c, doublelist.h, gsnap.c,
      samprint.c, sarray-read.c, splice.c, src, stage1hr.c, stage1hr.h,
      stage3hr.c, stage3hr.h, trunk, uniqscan.c: Merged revisions 154673 through
      154777 from branches/2014-12-04-stage1-ambig to compute ambiguous splicing
      better in suffix array, stage1, and combining splices.  Fixed memory leak
      and changed criteria for comparing across hits

2014-12-05  twu

    * samprint.c, stage3hr.c, stage3hr.h: Merged revisions 154673 through 154678
      from branches/2014-12-04-stage1-ambig to change XA field

    * index.html: Updated for latest version

    * configure.ac: Added more detailed messages about our own loading of
      config.site files to counteract the warning message from the standard
      autoconf loading

2014-12-04  twu

    * uniqscan.c: Using new interface to Substring_setup

    * gsnap.c: Replaced --terminal-output-minlength with --reject-trimlength

    * stage1hr.c, stage1hr.h: Calling Sarray_search_greedy with nmisses_allowed
      being cutoff_level, and not querylength.  Using reject_trimlength instead
      of terminal_output_minlength.

    * stage3hr.c, stage3hr.h: Replaced Stage3_filter_terminals with
      Stage3_reject_trimlengths

    * substring.c, substring.h: Implemented new logic based on
      reject_trimlength.  True terminals from the GSNAP algorithm are allowed at
      this point (but taken care of now by Stage3end_reject_trimlengths).

    * sarray-read.c: Improved debugging statements

2014-12-03  twu

    * stage3hr.c: No longer trying to clip overlaps when the two ends are not in
      a concordant orientation

    * outbuffer.c: Using new interface to SAM_print_nomapping

    * samprint.c, samprint.h: Allowing for non-zero npaths to be printed in
      SAM_print_nomapping as an NH field, which can occur with the
      --quiet-if-excessive feature

    * samread.c: Allowing for the possibility that XO is the first field in a
      SAM line

    * stage3hr.c: Fixed problem with --merge-distant-samchr feature giving the
      wrong chrpos on SAM output on distant splices, since this was being
      treated the same as a translocation (chrnum == 0)

    * samread.c: Terminating parse_XO procedures for either '\0' or '\n'

    * gmap.c, gsnap.c: Including default variables in --help statement

2014-12-02  twu

    * stage3hr.c: Calculating common_shift to get more even splits between the
      two paired ends, by accounting for the common shared point between
      common_right and common_left.

    * sarray-read.c: Fixed typo in a for loop

    * sam_sort.c: Made --no-sam-headers option work correctly

    * sam_sort.c, samheader.c, samheader.h: For --split-output function, writing
      SAM header files to each output file

2014-11-27  twu

    * archive.html, index.html: Updated for latest version

2014-11-26  twu

    * README: Added comment about sam_sort and --split-output

2014-11-25  twu

    * sam_sort.c, samflags.h, samread.c, samread.h: Added --split-output and
      --append-output options

    * outbuffer.c: Changed abbrev NM in comment

    * stage1hr.c: Changed calculation of amb_nmatches to amb_length

    * stage3hr.c: Swapping ilength_low and ilength_high for GMAP when alignment
      is minus

    * stage1hr.c: Turning off debugging

    * bootstrap.gsnaptoo: Running automake to add missing files

    * trunk, util: Merged revisions 153682 to 154020 from
      branches/2014-11-20-redo-overlap to compute overlap better using ilength53
      and ilength35 and a common shift

    * outbuffer.c, pair.c, pair.h, samprint.c, samprint.h, src, stage3hr.c,
      stage3hr.h, substring.c, substring.h: Merged revisions 153682 to 154020
      from branches/2014-11-20-redo-overlap to compute overlap better using
      ilength53 and ilength35 and a common shift

    * sarray-read.c: Merged revisions 153682 to 154020 to handle ambiguous
      splicing better

2014-11-24  twu

    * INSTALL, VERSION, config.site.rescomp.prd, index.html, trunk: No longer
      keeping track of INSTALL

    * config.guess, config.sub, ltmain.sh: No longer keeping track of
      config.guess, config.sub, or ltmain.sh

    * gmap_build.pl.in: Added comment about meaning of -D flag

    * acinclude.m4, configure.ac: Adding check for MPI

    * ax_mpi.m4: Added code for MPI

    * access.c, bitpack64-read.c, bitpack64-readtwo.c, bitpack64-write.c,
      compress-write.c, genome-write.c, genome.c, genome128-write.c,
      genome128.c, genome_sites.c, get-genome.c, gmapindex.c, iit-read-univ.c,
      iit-read.c, iit_get.c, iit_store.c, indel.c, indexdb-write.c, indexdb.c,
      indexdb_hr.c, mem.c, oligoindex_hr.c, sam_sort.c, samheader.c, snpindex.c,
      src, stage1hr.c, stage3.c, table.c, tableuint8.c, uniqscan.c,
      univinterval.c: Merged revisions 153114 to 153944 from
      branches/2014-11-12-make-check-i386 to make tests work in i386 computers

    * stage3hr.c: Not using ambiguous splices to update found_score

    * stage2.c: Removed adjacentp as unused variables

    * samprint.c, samprint.h: For circular alignments, checking for sole HS
      pattern.  Also checking for chrpos > chrlength, and subtracting chrlength
      if necessary.

    * pair.c, pair.h: Added Cigar_action_T.  Added Pair_check_cigar.  Removed
      prev as an unused variable.

    * iit-write-univ.c: Handling the case if total_nintervals is 0

    * gmap.c, gsnap.c: Added --action-if-cigar-error

2014-11-18  twu

    * bytecoding.c: Removed unused variable

    * gmapindex.c: Printing genome length to stderr

    * bytecoding.c: Using a buffer of 10,000,000 block-sizes, and writing
      iteratively, rather than a single buffer and single write.

2014-11-13  twu

    * gmapindex.c: Made some changes in casting.  Fixed printf format to use
      %llu.

    * stage3hr.c: Renamed amb_nmatches to amb_length.

    * stage3hr.h: Renamed amb_nmatches to amb_length.

    * samprint.c: In adjust_hardclips, not changing hardclips if shift downward
      fails. Renamed amb_nmatches to amb_length.

    * splice.c: Renamed amb_nmatches to amb_length.  Providing
      Substring_match_length_orig to amb_length in Stage3end_new_splice and
      Stage3end_new_shortexon

    * stage1hr.c: Renamed amb_nmatches to amb_length.  Providing
      Substring_match_length_orig to amb_length in Stage3end_new_splice and
      Stage3end_new_shortexon

2014-10-31  twu

    * iit-read-univ.c, iit-read.c: Using %llu and casting to (long long int) for
      printing offset and filesize

    * gmap.c, gsnap.c: Using %zu for printing results of sizeof().

2014-10-29  twu

    * stage3hr.c: Restoring revision of SAM insertlength for ends involving GMAP
      when method is successful

    * stage3hr.c: Fixed SAM output of insert length of 0 when no overlap is
      found in a GMAP alignment

    * stage3.c: Added debugging statements

    * gmap.c, gmapindex.c, gsnap.c: Added output statement at end of checking
      compiler assumptions

    * README: Added comment about change from PG: to XG:

    * ax_ext.m4, configure.ac: Added option to enable or disable sse4.2

    * samprint.c: Fixed typo in adjust_hardclips.  Also, when querypos increase
      fails, trying querypos decrease.

    * samprint.c: Fixed infinite loop in adjust_hardclips

2014-10-28  twu

    * stage3hr.c: Fixed bug with uninitialized variables

    * outbuffer.c: Fixing potential data race as noted by valgrind for
      this->ntotal between input and output threads, although not problematic
      before, because this->ntotal increases monotonically

2014-10-27  twu

    * stage3hr.c: Fixed computation of overlap between GMAP and non-GMAP
      alignments

2014-10-22  twu

    * gregion.c: Checking size before deciding to use alloca or malloc.

2014-10-16  twu

    * stage2.c: Fixed an uninitialized variable in grand_fwd and grand_rev
      procedures, plus the checks on maxintronlen in computing
      grand_fwd_lookforward and grand_rev_lookforward.

    * shortread.c: Allowing queryseq1 to be equal to SKIPPED.  Removed unused
      parameter acc from input_oneline routines.

    * VERSION, index.html: Updated version number

    * stage1hr.c: Added debugging statement

    * sarray-read.c: Don't limit filling of best elt based on nmatches being
      more than half of the read length

    * stage3hr.c: Restored previous behavior where soft clips avoid
      circularization

    * indexdb-write.c, sarray-write.c: Removed unnecessary includes of
      popcount.h

    * bitpack64-write.c, genome128_hr.c: In lookups of clz_table, removing the
      intermediate variable "top".

    * stage3hr.c: Not allowing soft-clipping at ends to avoid circularization. 
      Added pre-processor macro SOFT_CLIPS_AVOID_CIRCULARIZATION to preserve
      previous code.

2014-10-15  twu

    * VERSION, config.site.rescomp.prd, config.site.rescomp.tst, index.html:
      Updated version number

    * outbuffer.c: Added gff3 header for GMAP gff3 output to stdout.  Added HD
      and PG headers for GMAP sam output to --split-output files.

2014-10-14  twu

    * Makefile.gsnaptoo.am: Changed variable name to SIMD_CFLAGS

    * configure.ac: Changed variable name to SIMD_CFLAGS.  Setting -mpopcnt
      based only on acx_mpopcnt_ok, and not on individual builtin functions.

    * builtin-popcount.m4: Setting CFLAGS instead of LIBS.  Checking for builtin
      functions regardless of whether -mpopcnt works.

    * ax_ext.m4: Setting CFLAGS instead of LIBS.  Changed variable name to
      SIMD_CFLAGS

    * builtin-popcount.m4, configure.ac: Changed macro name to
      ACX_BUILTIN_POPCOUNT

    * acinclude.m4: Renamed program to builtin-popcount.m4

    * builtin-popcount.m4, builtin.m4: Renamed program to builtin-popcount.m4

    * popcnt.m4: Added comment

    * builtin.m4: Added check from popcnt.m4

    * shortread.c: Made input procedures robust to incomplete entries

    * indexdb.c: Fixed bug where munmap was called twice on positions_high for
      GSNAPL and GMAPL.

2014-10-09  twu

    * VERSION: Updated version number

    * ax_ext.m4: Seeing of avx and avx2 are enabled

    * configure.ac: Added ability to disable avx and avx2

    * gmap_build.pl.in: Calling gmapindex initially to check for compiler
      assumptions

    * gmapindex.c: Added check for compiler assumptions

    * gmap.c, gsnap.c: Added description of --check option to --help message

    * gmap.c, gsnap.c: Improved check for compiler assumptions, and added
      --check option

    * samprint.c: Fixed flag for merged overlap to not have PAIRED_READ set. 
      When clipdir == 0, not calling adjust_hardclips.

2014-10-07  twu

    * sarray-read.c: Fixed bug when setting array_stop and finalptr is less than
      4

2014-10-02  twu

    * samprint.c: Further fixes to mapping quality for merged alignments

    * samprint.c: For merged alignments, printing mapping quality of 40

2014-10-01  twu

    * pair.c, samprint.c: Putting XB and XP tags after XH

    * VERSION: Updated version number

    * samprint.c: Calling GMAP procedure for querystart and queryend when
      necessary in adjust_hardclips

    * stage3.c: Initializing variables

    * pair.c: Passing correct values for hardclip_low and hardclip_high to
      hardclip_pairs

    * samprint.c: Removed static initialization of hide_soft_clips_p

    * outbuffer.c, pair.c, pair.h, samprint.c, samprint.h, src, trunk: Merged
      revisions 149547 through 149570 from branches/2014-10-01-hardclip-adj to
      improve adjustment of hardclipping

    * stage3.c: Removed diagnosticp from some procedures

2014-09-30  twu

    * sam_sort.c: Providing timing information to user

    * sam_sort.c, samread.c, samread.h: Changed algorithm to parse just for
      linelengths initially, which allows for the SAM file to be read using
      buffers

    * VERSION, index.html: Updated version number

    * sam_sort.c: Fixed usage statement

    * samread.c, samread.h: Commented out unused procedures

    * samread.c: Added header file

    * samheader.c, samheader.h: Removing computation of .sortinfo file

    * chimera.c, chimera.h, get-genome.c, gmap.c, gsnap.c, iit-read-univ.c,
      iit-read-univ.h, outbuffer.c, outbuffer.h, pair.c, pair.h, samprint.c,
      samprint.h, shortread.c, shortread.h, stage3.c, stage3.h, uniqscan.c:
      Removing computation of .sortinfo file

    * Makefile.gsnaptoo.am: Removed sortinfo.c and sortinfo.h

    * sam_sort.c, samflags.h, samheader.c, samheader.h, samread.c, samread.h:
      Made sam_sort independent of a .sortinfo file.  Computes sortinfo
      information directly from the SAM input file

2014-09-27  twu

    * outbuffer.c: Providing sortinfo to Pair_print_sam_nomapping

    * VERSION, index.html: Updated version number

    * index.html, outbuffer.c, pair.c, pair.h, sam_sort.c, samflags.h,
      samprint.c, samprint.h, samread.c, samread.h, sortinfo.c, sortinfo.h, src,
      stage3.c, trunk: Merged revisions 148987 through 149172 from
      branches/2014-09-25-sam-sort to yield a working version of sortinfo
      feature

    * stage3hr.c: Reverting to previous version 149160 in trunk

    * stage3hr.c: Rewrote Stage3pair_remove_overlap procedures to use
      hitpair_overlap_score_cmp, hitpair_overlap_test,
      hitpair_equiv_preference_cmp, and hitpair_equiv_tst

2014-09-25  twu

    * samprint.c: Not merging paired ends if there is no overlap

    * pair.c: Enabled call to Sortinfo_update to work for GMAP

    * VERSION, index.html: Updated version number

    * chimera.c, chimera.h, pair.c, samprint.c: Using @ instead of : for
      coordinates for XT field.  Made GMAP XT field same as that for GSNAP.

    * config.site.rescomp.tst: Allowing builtin_popcount

    * README: Added description of XH field

    * Makefile.gsnaptoo.am: Added samheader.c to sam_sort

    * sam_sort.c: Handling single-end alignments

    * samread.c: Setting terminating character at end of computation

    * samheader.c, samheader.h: Implemented change of HD header to SO:sorted

    * sam_sort.c, samread.c, samread.h: Handling hard-clipped alignments

    * pair.c, pair.h, samprint.c, shortread.c, shortread.h: Added XH field to
      provide hard-clipped sequence

2014-09-24  twu

    * substring.c: For --merge-overlap feature, in deciding whether to add
      insertion, deletion, or intron between the pieces, using <= instead of <
      to decide.

    * samprint.c: In SAM_compute_chrpos, always using substring_low to compute
      chrpos

    * indel.c: Initializing variables

    * sam_sort.c: Implemented --dups-only and --uniq-only

    * sortinfo.c: Fixed typo in comment

    * pair.c, pair.h, samprint.c, sortinfo.c, sortinfo.h: Sortinfo_update uses
      sign on chrnum to indicate whether a read is the low or high end

    * iit-read-univ.c: Using safer computation of an average

    * Makefile.gsnaptoo.am, sam_sort.c, samread.c, samread.h: Implemented
      --mark-dups function into sam_sort.  Works except for hard-clipping.

    * samread.c, samread.h: Brought over copy from GSTRUCT

    * sam_sort.c: Introduced readindex, needed for marking duplicates

    * Makefile.gsnaptoo.am, iit-read-univ.c, iit-read-univ.h, sam_sort.c,
      sortinfo.c: Using genome chromosome_iit file in sam_sort, instead of
      storing information in .sortinfo files

    * VERSION: Updated version number

    * Makefile.gsnaptoo.am, chimera.c, chimera.h, chrnum.h, get-genome.c,
      gmap.c, gsnap.c, iit-read-univ.c, iit-read-univ.h, outbuffer.c,
      outbuffer.h, pair.c, pair.h, sam_sort.c, samheader.c, samheader.h,
      samprint.c, samprint.h, shortread.c, shortread.h, sortinfo.c, sortinfo.h,
      src, stage1hr.h, stage3.c, stage3.h, trunk, types.h, uint8list.h,
      uintlist.h, uniqscan.c: Merged revisions 148659 through 148720 from
      branches/2014-09-23-sam-sort to add --make-sortinfo option and sam_sort
      program

    * index.html: Updated version number

2014-09-23  twu

    * VERSION: Updated version number

    * splice.c: Fixed bug in reading Stage3end_T object that was already freed

    * configure.ac: Loading default ./config.site file only if it exists

    * VERSION, config.site.rescomp.prd, config.site.rescomp.tst, configure.ac,
      index.html: Handling cases differently if CONFIG_SITE file begins with ./.
       Allowing for multiple files in CONFIG_SITE.

    * Makefile.gsnaptoo.am: Interchanged order of POPCNT_CFLAGS and SIMD_FLAGS

    * samprint.c: Fixed bugs introduced in adding --merge-overlap feature

2014-09-22  twu

    * INSTALL, config.guess, config.sub, ltmain.sh: Updated to more recent
      version of autoconf

    * bootstrap.gsnaptoo: Changed /usr/bin/touch to touch

    * configure.ac: Testing first for ./ in front of CONFIG_SITE.  Added
      AC_SUBST of POPCNT_CFLAGS

    * shortread.c, shortread.h: Removed unused procedures

    * stage1hr.c: Changed nmisses_allowed for sarray method to be querylength,
      for both --use-sarray=2 and normal method

2014-09-21  twu

    * pair.c: Changed PG field to XG

    * configure.ac: Change flag to --disable-builtin-popcount

    * splice.c: In procedures that group for ambiguous hits, separating sense
      and antisense segments

    * substring.c: Improved debugging statements

    * stage3hr.c: Improved debugging statements

    * stage1hr.c: Improved debugging statements

2014-09-19  twu

    * stage3.c: Using new interface to Pair_print_sam

    * ax_ext.m4, builtin.m4: Restoring value of LIBS at end of procedure

    * builtin.m4: Setting LIBS to -mpopcnt before running tests

    * gsnap.c: Added comment that --merge-overlap is a beta implementation

    * VERSION, config.site.rescomp.tst, gsnap.c, index.html, list.c, list.h,
      outbuffer.c, outbuffer.h, pair.c, pair.h, samprint.c, samprint.h,
      shortread.c, shortread.h, src, stage3hr.c, stage3hr.h, substring.c,
      substring.h, trunk: Merged revisions 148190 through 1418357 from
      branches/2014-10-18-merge-overlap to add --merge-overlap feature

    * ax_ext.m4: Changed name of cpu features to sse4.1 and sse4.2

    * configure.ac: Showing pthread and popcnt flags at end

    * README: Explaining XG flag

    * samprint.c: Changed PG flag to XG flag

    * samheader.c: Commenting out code for extra @PG lines

    * configure.ac: Setting POPCNT_CFLAGS based on result from builtin.m4

    * builtin.m4: Setting a variable ax_cv_compile_builtin_ext

    * ax_ext.m4: Setting LIBS properly before running AC_LINK_IFELSE

2014-09-18  twu

    * genome128_hr.c: Using Harley's method to reduce number of popcount
      operations for SSE2

    * genome128_hr.c: Fixed HAVE_MM_POPCNT alternative for SSE2-based popcount

    * archive.html, index.html: Updated for version 2014-09-18

    * VERSION: Updated version number

    * genome128_hr.c: Added macro for debug4

    * genome128_hr.c: Using _mm_extract_epi16 for SSE2 code instead of casting
      to (UINT4 *), because casting leads some compilers to generate wrong
      ordering of statements

2014-09-16  twu

    * ax_ext.m4, configure.ac: Providing information to user about SIMD cpu
      features available and compiler flags to be used

    * gmap.c, gsnap.c: Added extra information to --version about type of popcnt
      supported

    * ax_ext.m4: Changed ordering of ifthen clauses.  Added variable to indicate
      compiler or linker problems.

    * configure.ac: Added warnings for compiler or linker problems for SIMD
      extensions

    * configure.ac: Changed flag name from --enable-popcnt to
      --enable-builtin-popcnt

    * genome128_hr.c, sarray-read.c: Using mm_popcnt when _popcnt not available

    * ax_ext.m4: Revamped tests to check for CPU, compile, and linking, in that
      order.  Renamed variables more systematically.

2014-09-15  twu

    * pair.c, pair.h, pairpool.c, pairpool.h, stage3.c, stage3.h: Moved
      Pairpool_clip_bounded to pair.c, and created Pair_clip_bounded_pairs for
      computing chimeras by the working thread and Pair_clip_bounded_array for
      truncation by the output thread.  This enables the --truncate flag to work
      again for GMAP.

    * gmap.c: Improved error message when invalid argument is given to -f

    * stage3.c: Made cdna direction choices based on splice site scores more
      stringent, so both donor and acceptor sites have to be significantly
      better.

2014-09-13  twu

    * gmap.c, outbuffer.c, pair.c, pair.h, stage3hr.c, stage3hr.h, substring.c,
      substring.h: For BLAST m8 output, adding endings to accessions for
      paired-end reads

2014-09-12  twu

    * gmap.c, gsnap.c, outbuffer.c, outbuffer.h, pair.c, pair.h, stage3hr.c,
      stage3hr.h, substring.c, substring.h, uniqscan.c: Added implementation of
      BLAST m8 output format

2014-09-10  twu

    * VERSION: Updated version number

    * ax_ext.m4: Fixed typo for handling AVX

2014-09-09  twu

    * uniqscan.c: Using new interface to Stage1hr_setup

    * stage1hr.c, stage1hr.h: Added option --use-sarray=2 to use only suffix
      array algorithm

    * gsnap.c: Added option --use-sarray=2 to use only suffix array algorithm

    * stage3hr.c: Stopped using alloca for hitlists, since they can cause stack
      overflow.  Made loops more efficient for pair_up_concordant_aux.

2014-09-08  twu

    * gmap.c: Stopping memory error when a chimera is found, --npaths is set to
      1, and one part of the chimera fails the conditions for --min-identity or
      --min-trimmed-coverage

2014-09-05  twu

    * sarray-read.c: Implemented faster SIMD algorithm for
      Elt_fill_positions_filtered

    * sarray-read.c: Implemented Elt_fill_positions_filtered using alloca and
      copying from stack, instead of guessing allocation

2014-09-03  twu

    * VERSION, config.site.rescomp.prd: Updated version number

    * stage3hr.c: In pair_remove_bad_superstretches, keeping track of better and
      worse children separately, and handling list order correctly.  Now chooses
      shorter insert lengths correctly.  Added OUTERLENGTH_SLOP.

2014-09-02  twu

    * stage3hr.c: In Stage3end_optimal_score_aux and
      Stage3pair_optimal_score_aux, counting indels only if they are within
      trim_left and trim_right

    * gsnap.c, stage3hr.c, stage3hr.h, uniqscan.c: Added option
      --order-among-best to GSNAP to control randomization among best alignments

    * stage3hr.c: When SCORE_INDELS is true for comparing alignments, not
      counting indel_penalty in new->penalties to avoid double-counting

    * stage2.c: Turned off debugging

    * stage1hr.c: Calling GMAP pairsearch if indels5 or indels3 is not NULL, as
      well as if found_score is too high

    * src, trunk: Merged revisions 145502 to 146146 from
      branches/2014-08-19-stack-alloca and 146146 to 146618 from
      branches/2014-08-27-parallel-stage2

    * oligoindex_hr.c: Merging revisions 145502 to 146146 from
      branches/2014-08-19-stack-alloca to ignore check on querylength and to use
      alloca for GSNAP

    * stage2.c, stage2.h: Merging revisions 146146 to 146618 from
      branches/2014-08-27-parallel-stage2 to make stage 2 computation faster

    * list.c, list.h, spanningelt.c, spanningelt.h: Merging revisions 145502 to
      146146 from branches/2014-08-19-stack-alloca to work directly on arrays of
      Spanningelt_T objects

    * dynprog_simd.c, dynprog_single.c: Merging revisions 146146 to 146618 from
      branches/2014-08-27-parallel-stage2 to fix debugging procedures and to use
      a stricter check for using 8-bit SIMD

    * diag.c: Merging revisions 145502 to 146146 from
      branches/2014-08-19-stack-alloca to ignore check on querylength and to use
      alloca for GSNAP

    * gmap.c, gsnap.c, stage3.c, stage3.h: Merging revisions 145502 to 146146
      from branches/2014-08-19-stack-alloca to use stage2_alloc only for GMAP
      initial stage 2 computation

    * stage1hr.c, stage1hr.h: Merging revisions 145502 to 146146 from
      branches/2014-08-19-stack-alloca to work directly on arrays of
      Spanningelt_T objects

    * stage3hr.c: Turned off debugging

    * stage3.c: Turned off debugging

    * stage1hr.c: Fixed debugging statements

2014-08-25  twu

    * configure.ac, trunk: Merged revisions 145989 through 145990 from
      branches/2014-08-19-stack-alloca to adde flag to configure.ac

    * VERSION, boyer-moore.c, boyer-moore.h, chimera.c, chop_primers.c, diag.c,
      doublelist.c, doublelist.h, dynprog.c, dynprog_cdna.c, dynprog_end.c,
      dynprog_genome.c, dynprog_simd.c, dynprog_single.c, genome.c, genome.h,
      genome128_hr.c, genome_sites.c, genomicpos.h, gmap.c, gregion.c,
      gregion.h, gsnap.c, gvf_iit.pl.in, indel.c, index.html, intlist.c,
      intlist.h, list.c, list.h, mapq.c, mem.c, mem.h, oligo.c, oligoindex_hr.c,
      outbuffer.c, pair.c, pair.h, pairpool.c, parserange.c, samprint.c,
      sarray-read.c, shortread.c, shortread.h, smooth.c, splice.c, splicetrie.c,
      src, stage1.c, stage1hr.c, stage1hr.h, stage2.c, stage2.h, stage3.c,
      stage3.h, stage3hr.c, substring.c, trunk, uint8list.c, uint8list.h,
      uintlist.c, uintlist.h, uinttable.c, uinttable.h: Merged revisions 145503
      through 145988 from branches/2014-08-19-stack-alloca to use alloca

2014-08-20  twu

    * uniqscan.c: Using new interface to Shortread_new

    * shortread.c, shortread.h: Made Shortread_new extern again

    * INSTALL, README, config.guess, config.site.rescomp.prd,
      config.site.rescomp.tst, config.sub, gmap.c, gsnap.c, indel.c, ltmain.sh,
      mapq.c, mem.c, mem.h, sarray-read.c, shortread.c, shortread.h, splice.c,
      src, stage1hr.c, stage3hr.c, stage3hr.h, substring.c, trunk: Merged
      revisions 145503 through 145603 from branches/2014-08-19-stack-alloca to
      use alloca instead of statck arrays based on MAX_READLENGTH and to handle
      reads longer than MAX_READLENGTH

2014-08-19  twu

    * VERSION, index.html: Updated version number

    * configure.ac: Added configure flag for enabling or disabling ssse3
      instructions

    * ax_ext.m4: Checking whether user wants SSSE3 instructions

    * stage2.c, stage3.c: Not putting gapholders into starts and ends.  Removing
      gapholders from middle before calling Pairpool_join_end5 and
      Pairpool_join_end3. Gapholders were causing problems with the join
      operation.

    * pairpool.c, pairpool.h: Implemented Pairpool_remove_gapholders

2014-08-04  twu

    * stage3.c: Not setting best_pairs or best_path when the result is NULL

    * shortread.c: Ignoring spaces in read

    * pairpool.c: In joining paths, handling the case when one path is NULL

2014-07-29  twu

    * ltmain.sh: Updated from 2.2.6 to 2.2.6b

    * config.sub: Updated from 2008 version to 2009 version

    * config.guess: Updated from 2008 version to 2009 version

    * INSTALL: Updated from 2007 version to 2009 version

    * archive.html, index.html: Made changes for new version

    * gff3_genes.pl.in, gff3_introns.pl.in, gff3_splicesites.pl.in: Handling
      GFF3 files that have both exon and CDS fields

2014-07-22  twu

    * stage3hr.c: Restored random behavior for equivalent alignments

    * VERSION: Updated version number

    * atoiindex.c, cmetindex.c: Making correct calls to
      Sarray_discriminating_chars

    * dynprog_simd.c: Added code for having no initial gap penalties, to be used
      for bam_indelfix

2014-07-19  twu

    * dynprog_simd.c: Improvements to debugging procedures to handle 3-digit
      indices

2014-07-17  twu

    * gmap.c: Using new interface to Stage3_compute

    * stage3hr.h: Added interfaces for Stage3end_shortexonA_distance and
      Stage3end_shortexonD_distance

    * stage3hr.c: Added hook for amb_prob in Stage3end_new_gmap.  Removed
      penalty for ambig end lengths if amb_prob > 0.9.  Fixed pointer advances
      in removing bad superstretches.

    * stage3.c: Made fixes to choice of cdna_direction: using presence/absence
      of intron types, rather than number, and decreased binomial threshold for
      alignments around intron.  Fixed handling of multiple start or end paths
      by joining them at the outset.

    * stage2.c: Allowing for multiple end cells from each rootposition

    * dynprog_genome.c: Altered decision-making between best alignment and
      probability-based alignment

    * dynprog_simd.c: Added debugging statements

    * dynprog.h: Made open gap penalties more uniform for different defect rates

    * pair.c: Fixed calculation of nmatches at end for Pair_trim_ends

2014-07-16  twu

    * pairpool.c: Enhanced debugging statement

    * stage3.h: Stage3_compute now returns ambig_prob_5 and ambig_prob_3

    * stage3.c: For ambiguous ends, no longer calling clean_pairs_end5,
      clean_path_end3, trim_end5_exon_indels, or trim_end3_exon_indels

    * stage1hr.c: Passing amb_prob_5 and amb_prob_3 to Stage3end_new_gmap

    * pair.c, pair.h: In Pair_trim_ends, not trimming ambiguous ends

2014-07-15  twu

    * stage3.c: In trim_end5_exon_indels and trim_end3_exon_indels, counting
      trimmed ends as mismatches and handling large indels differently from
      small indels.  Added hooks for ambig_prob.

    * pair.c, pair.h, stage3hr.c: Eliminating ambig_end_nmatches from
      consideration in Pair_nmismatches_region

    * stage3hr.c: Restored eventrim algorithm from revision 140363, which had
      only a single eventrim calculation and not separate calculations for the
      two ends.

2014-07-04  twu

    * VERSION: Updated version number

    * dynprog_end.c: Fixed typo in calling matrix for 16_upper twice, instead of
      16_upper and 16_lower

    * splicetrie.c: Handling the case where Dynprog_end5_splicejunction or
      Dynprog_end3_splicejunction returns NULL

    * dynprog_simd.h: Decreased value of SIMD_MAXLENGTH_EPI8 from 40 to 30 to
      prevent issues with overflows

    * dynprog_simd.c: In traceback, using main loop to decide whether to handle
      dir == DIAG

    * dynprog_end.c: In traceback, using main loop to decide whether to handle
      dir == DIAG. In Dynprog_end5_splicejunction and
      Dynprog_end3_splicejunction, requiring finalscore to be positive before
      doing any traceback.

    * dynprog.c: In traceback, using main loop to decide whether to handle dir
      == DIAG

2014-07-03  twu

    * sarray-write.c: Made monitoring statements work for
      Sarray_discriminating_chars

    * sarray-write.c: Implemented batch reading method for
      Sarray_discriminating_chars

    * gmapindex.c, sarray-write.c, sarray-write.h: Made the building of the LCP
      array and discriminating chars array more memory efficient by writing
      temporary files for rank and permuted sarray

    * genome.c, genome.h: Changed type of counts to be Univcoord_T

    * access.c: Fixed bug in handling of final partial block.  Added debugging
      code for checking results.

2014-07-02  twu

    * access.c: Increased FREAD_BATCH to 100 million bytes.  Modified
      Access_allocated to always read in batches of size FREAD_BATCH.

    * config.site.rescomp.prd, config.site.rescomp.tst, genome128_hr.c, gmap.c,
      intlist.c, intlist.h, samprint.c, sarray-read.c, splice.c, splice.h, src,
      stage1hr.c, stage3.c, stage3hr.c, stage3hr.h, substring.c, trunk,
      uint8list.c, uint8list.h, uintlist.c, uintlist.h: Merged revisions 140131
      through 140367 from branches/2014-06-27-fix-amb to implement separate
      eventrim scores for start/end of read, fix cmet-stranded and
      cmet-nonstranded modes, implement separate sense/antisense for
      Splice_solve_single, and rewrite of ambiguous parameters from left/right
      to donor/acceptor

    * index.html: Updated for version 2014-06-10

    * archive.html: Added link to version 2011-12-28

    * VERSION: Updated version number

    * stage3hr.c: In Stage3end_new_shortexon, setting amb_nmismatches_start and
      amb_nmismatches_end separately

    * stage3.c: Using score_introns (which looks at splice site neighborhood),
      instead of score_alignment to count canonical introns.  Using defect_rate
      to determine whether to rely on splice site probabilities.

    * stage1hr.c: Added blank lines

2014-07-01  twu

    * gmap.c: Preventing leftpos and rightpos from exceeding query coordinates
      in solving for chimeras.  Not using extension in finding remaining
      alignment, since it makes alignment harder.

2014-06-30  twu

    * stage3.c: Transferring microexon pairs without looking at probabilities

    * dynprog_single.c: Using MIN_MICROEXON_LENGTH instead of 8

2014-06-26  twu

    * stage3hr.c: Fixed assignment of amb_nmatches_start and amb_nmatches_end
      for shortexons on minus strand

2014-06-25  twu

    * stage3hr.c: Removed debugging code

    * sarray-write.c: In Sarray_compute_child, cleaning out stack at end,
      because skipping it results in an incorrect child array

2014-06-24  twu

    * stage3hr.c: Commenting out assertions that are not always true

    * stage1hr.c: Assigning correct values of amb_nmatches_donor and
      amb_nmatches_acceptor to Stage3end_new_shortexon

2014-06-11  twu

    * VERSION: Updated version number

    * config.site.rescomp.prd, config.site.rescomp.tst, sarray-read.c, splice.c,
      src, stage1hr.c, stage3hr.c, stage3hr.h, trunk: Merged revisions 138722
      through 138743 from branches/2014-06-01-amb-shortexon-fix1 to allow for
      ambiguous shortexons and to place a limit of MAX_LOCALSPLICING_POTENTIAL
      on splicing and shortexons

    * archive.html, index.html: Put version 2014-05-15.v3 into archive

    * stage1hr.c: Not processing splicing or shortexons if number of
      possibilities exceeds MAX_LOCALSPLICING_POTENTIAL

    * gsnap.c: In memusage debugging, printing accession for each thread at the
      start of its processing

    * substring.c, substring.h: Added function Substring_chimera_prob_2

    * segmentpos.c, segmentpos.h: Added function Segmentpos_compare_order

    * samprint.c: Removed unused variable

    * iitdef.h: Added FILENAME_SORT as a sorting type

    * gsnap.c: Added commas to memusage debugging output

    * dynprog_end.c: Removed assertions, which do not hold

2014-06-09  twu

    * gmap_build.pl.in: Added option for sorting chromosomes by order in a file

    * chrom.c, chrom.h, gmapindex.c: Added option for sorting chromosomes by
      order in a file

2014-06-04  twu

    * VERSION: Updated version number

    * README, configure.ac: Increased default MAX_READLENGTH for GSNAP from 250
      to 300

    * dynprog_simd.c: Fixed formatting

    * dynprog_genome.c: Using correct interface to Dynprog_standard for non-SSE2
      systems

    * dynprog_cdna.c: Using correct interface to Dynprog_standard for non-SSE2
      systems

    * dynprog_end.c: Enabled non-SSE2 compilation to work.  Made traceback
      procedures follow those in dynprog_simd.c.

    * dynprog.c, dynprog.h: Modified traceback_std (non-SIMD) to behave the same
      as the SIMD traceback routines.  Improved debugging output.

    * stage3.c: Added comments

    * dynprog.c, dynprog.h: Exposed Dynprog_standard, needed for systems without
      SSE2 instructions

    * gmap.c, gsnap.c: In checking behavior of _mm_extract_epi8, just reporting
      results and not exiting based on behavior

    * genome128_hr.c: Casting _mm_extract_epi16 to unsigned short, or a zero
      extended result, which is technically the correct behavior

    * dynprog_simd.c: Being very explicit about casting between int and Score8_T
      and Score16_T types

    * dynprog.h: Removed conditionals around defining Score_8 and Score_16 types

    * compress.c: Calling _mm_free to match _mm_malloc

2014-05-31  twu

    * VERSION, compress.c, config.site.rescomp.prd, config.site.rescomp.tst,
      genome128_hr.c, index.html, src, trunk: Merged revisions 137093 through
      137694 from branches/2014-05-23-genome128-32bit-shortchut to implement
      32-bit shortcuts for 128-bit genomebits

2014-05-30  twu

    * stage3hr.c: Not checking any more for duplicate Stage3end_T objects

    * stage2.c: Eliminated penalty when exon length < EXON_DEFN, which misses
      short exons

    * stage1hr.c: Restored usage of paired_usedp to avoid excess calls to GMAP
      for halfmapping alignments

    * stage1hr.c: Not using paired_usedp in computing GMAP for halfmapping
      alignments

    * dynprog_simd.c: Fixed traceback procedures to follow correct paths on gaps

    * dynprog.c, dynprog.h, dynprog_genome.c, dynprog_single.c: Moved gap
      penalties to dynprog.h, and reduced open penalties to allow for multiple
      indels

2014-05-28  twu

    * stage3.c: In merge_local_single, checking filledp to see if merge failed. 
      When merge fails, recompute pairarray for this_left and this_right.

2014-05-27  twu

    * dynprog_simd.c: Implemented replacement for _mm_min_epi8 for non-SSE4.1
      systems

2014-05-24  twu

    * dynprog_simd.c: Fixed computations of E and H for values near
      NEG_INFINITY, to prevent horizontal or vertical jumps into the empty
      triangle.  Added an E_mask variable to set horizontal/vertical scores into
      the empty triangle to be NEG_INFINITY.  Setting directions_nogap
      explicitly to DIAG along the main diagonal to take care of ties between E
      and H.

    * dynprog_end.c: Using computed lband and uband in find_best_endpoint
      procedures, instead of trying to recompute them, which led to incorrect
      results

2014-05-23  twu

    * get-genome.c, iit-read-univ.c: Fixed zero-based behavior of -L option to
      one-based behavior. Zero-based behavior introduced in revision 99737 on
      2013-06-27.

    * index.html: Made changes for version 2014-05-15

    * gmap.c, gsnap.c: Added better test for behavior of max operation in SSE4.1

    * stage1hr.c: Fixed a memory leak involving ambcoords

    * stage1hr.c: Using nmatches_posttrim in evaluating alignments.  Doing a
      comparison between concordant alignments involving terminals and
      halfmapping alignments, to determine the best solution.

    * stage3hr.c: Fixed assignment of amb_nmatches to correct end for minus
      alignments in Stage3end_new_splice.  Extending hardclips by
      amb_nmatches_start and amb_nmatches_end in Stage3pair_overlap.

    * stage3hr.c, stage3hr.h: Changed Stage3end_nmatches and Stage3pair_nmatches
      to Stage3end_nmatches_posttrim and Stage3pair_nmatches_posttrim

2014-05-21  twu

    * samprint.c, samprint.h: Fixed typo in keeping a parameter

    * README: Clarified effect of --failed-input option

    * README: Fixed typo

    * acx_mmap_fixed.m4, acx_mmap_variable.m4: Fixed type incompatibility when
      char * is cast to int

    * stage1hr.c: Changed categories for some debugging statements

    * gmap.c, gsnap.c, outbuffer.c, outbuffer.h, samprint.c, samprint.h,
      stage3hr.c, stage3hr.h: Changed --fails-as-input flag to --failed-input
      flag, which takes an argument.  Printing failed inputs in addition to
      nomapping output.

    * genome.c: Made error message clearer when genomebits128 file not found

2014-05-17  twu

    * stage3hr.c: Setting amb_nmatches_start, amb_nmatches_end,
      start_ambiguous_p, and end_ambiguous_p based on amb_nmatches for halfdonor
      and halfacceptor splices, even when ambcoords_left and ambcoords_right are
      NULL

    * stage1hr.c: Minor fixes to debugging statements

2014-05-16  twu

    * stage1hr.c: Turned on macro for finding middle alignments.

    * stage1hr.c: Turned on finding of middle alignments in find_terminals.  Set
      length threshold to be querylength/3 instead of index1part.

2014-05-15  twu

    * stage3.c: Removed revisions of coordinates near indels, which is not
      needed any more with the latest dynamic programming procedures

2014-05-14  twu

    * VERSION, index.html: Updated version number

    * dynprog_simd.c: For systems with SSE2 but not SSE4.1, subtracting 128 from
      pairscore in F loop of Dynprog_simd_8, and from initial column in
      Dynprog_simd_8_lower, to obtain correct results

    * dynprog_genome.c: Removed debugging statements

    * dynprog_genome.c: Fixed an uninitialized variable, best_prob

2014-05-13  twu

    * Makefile.gsnaptoo.am, README, bytecoding.c, samprint.c, sarray-read.c,
      sarray-read.h, splice.c, splice.h, src, stage1hr.c, stage3hr.c,
      stage3hr.h, substring.c, substring.h, trunk, uint8list.c, uint8list.h,
      uintlist.c, uintlist.h: Merged revisions 135802 through 136084 from
      branches/2014-05-09-novel-ambiguous to consolidate ambiguous splices to
      save on memory usage and to consider them as a single concordant alignment

    * pairpool.c: Not advancing coordinate at start of Pairpool_add_queryskip
      and Pairpool_add_genomeskip

2014-05-09  twu

    * VERSION, config.site.rescomp.prd, config.site.rescomp.tst, index.html,
      sarray-read.c, splice.c, splice.h, src, stage1hr.c, stage3hr.c,
      stage3hr.h, substring.c, substring.h, trunk: Merged revisions 135797
      through 135801 from branches/2014-05-09-novel-ambiguous to save state
      before implementing novel ambiguous positions

    * gsnap.c: Improved output for MEMUSAGE

    * dynprog_simd.c: Speeding up traceback for upper and lower triangles, to
      take advantage of the fact that the main diagonal is filled with DIAGs.

    * sarray-read.c, stage1hr.c, stage3hr.c, stage3hr.h: Grouping multiple
      splice segments connected to a given splice site, and selecting the best
      among these.  If multiple best choices are found, creating an ambiguous
      splice.

    * dynprog_simd.c: In traceback procedures, added check after each indel to
      see if we are in row 0 or column 0, and if so, not to trust the value in
      directions_nogap.

    * splicetrie_build.c: Fixed comparison with MAX_SITES_ALLOCATED for
      intron-level splicing files

    * gsnap.c: Setting POOL_FREE_INTERVAL to be 1

    * gsnap.c, outbuffer.c: Using new interface to memusage routines

    * mem.c, mem.h: Changed variable names for memusage.  Added memusage report
      for keep pool.

    * dynprog_simd.c: Fixed bug with infinite loop at row 1 or column 1, leading
      to error in memory allocation for pairpool

    * dynprog_simd.c, pairpool.c: Adding 1 to r and c only on final indel

2014-05-08  twu

    * pairpool.c: When adding indel (queryskip or genomeskip), not advancing
      coordinate by 1, since that can cross over chromosomal bounds

2014-05-07  twu

    * VERSION: Updated version number

    * Makefile.gsnaptoo.am, cellpool.c, cellpool.h, gmap.c, smooth.c,
      stage1hr.c, stage1hr.h, stage2.c, stage2.h, stage3.c, stage3.h,
      uniqscan.c: Added Cellpool_T object to handle allocations of Cell_T in
      stage 2

    * gsnap.c: Calling Pairpool_reset, Diagpool_reset, and Cellpool_reset before
      processing each request.  Previously, this memory was not being freed
      until the end of the process.

    * splicestringpool.c: Changed memory procedures to use standard pool instead
      of keep pool

    * dynprog_simd.c: Fixed saturation bug in F loop when trying to add
      pairscore.  Setting E and H so non-diag directions are placed in row 0 and
      column 0.  At end of traceback procedures, adding final indel to (0,0).

    * stage3.c: Having make_pairarray_merge return a boolean to indicate success
      or failure.  Trying to use the old pairarray in case of failure.

    * gmap.c, gsnap.c, uniqscan.c: Using new interface to Splicetrie_retrieve
      procedures, using Splicestringpool_T object

    * Makefile.gsnaptoo.am, splicestringpool.c, splicestringpool.h,
      splicetrie_build.c, splicetrie_build.h: Using Splicestringpool_T object to
      reduce number of memory allocations for Splicestring_T objects.  Using
      local array for sites to also reduce number of memory allocations.

    * splicetrie_build.c: Allocating struct Interval_T when copies are needed,
      to reduce the number of calls to allocate memory.  Allocating triecontents
      as an array instead of uintlist, also to reduce the number of calls to
      allocate memory.

    * interval.c, interval.h: Allocating struct Interval_T when copies are
      needed, to reduce the number of calls to allocate memory

2014-05-06  twu

    * dynprog.h: Added definitions of POS_INFINITY_8 and POS_INFINITY_16

    * pair.c: Returning correct type of NULL

    * dynprog_cdna.c, dynprog_genome.c: Fixed potential memory leak with
      SNP-tolerant alignment

    * genome.c: If glength == 0, Genome_get_segment_blocks now returns NULL

    * stage3.c: Changed condition for not running Dynprog_single_gap from
      (queryjump < 0 || genomejump < 0) to (queryjump <= 0 || genomejump <= 0)

2014-05-05  twu

    * stage1hr.c: Checking for anomalous splice (samechr splice) before trying
      to compute mapping position from distal end

    * compress.c: Bypassing SSSE3 version of Compress_shift when
      DEFECTIVE_SSE2_COMPILER is true

2014-05-02  twu

    * ax_ext.m4: Not allowing AVX unless immintrin.h is present

    * indexdb.c: Freeing offsetspages for large genomes

    * gsnap.c: For MEMUSAGE, changing pool free interval to be 1

    * dynprog.c: Freeing nt_to_int_array

    * dynprog_simd.c: Simplified traceback procedures

2014-05-01  twu

    * stopwatch.c: Removed comment

    * stage3hr.c: Allocating ambi and amb_nmismatches into output memory pool

    * stage1hr.c: Limiting the number of terminals

    * mem.c: Fixed memusage_reset procedure and revised debugging messages to
      print pool type

    * intlist.c, intlist.h: Implemented Intlist_to_array_out

    * compress.c, compress.h: Implemented SSSE3 procedure and fixed bug in SSE2
      procedure for Compress_shift

    * genome128_hr.c: Fixed block_diff_snp procedure to perform the complete
      calculation for query, ref, and alt sequences.

    * genome.c: Fixed Genome_get_segment_blocks_left and _right to provide
      correct alternate genomic segment

    * dynprog_simd.c: Setting values along bands to be DIAG to avoid going out
      of bounds. Revised loops for gaps in traceback procedures.  Compensating
      for open value in comparing E vs H for dir_horiz and dir_vert.  Using
      nt_to_int_array. Improved debugging print procedures.

    * dynprog.c, dynprog.h: Introduced nt_to_int_array.  Setting score for
      AMBIGUOUS to be 0, and setting N-N to be that score.

2014-04-24  twu

    * ax_ext.m4: Removing -mavx and -mavx2 compiler flags for now.  Being added
      to Mac OS X Mavericks, where they are causing problems.

    * stopwatch.c: Added macro for specifying POSIX C time

    * stage3hr.c: Allowing pair_insert_length_trimmed to handle non-concordant
      paired ends

    * genome128_hr.c: Implemented code for defective SSE2 compilers that cannot
      handle shifts with a non-immediate scalar

    * samprint.c: Fixed printing of XS for half-donor and half-acceptor reads

2014-04-21  twu

    * iit-read-univ.c: Printing tp:circular for circular chromosomes

    * stage3.c: Using new interface to Pair_circularpos

    * stage3hr.c: Computing insertlength properly for circular chromosomes when
      ends have different aliases.  Handling duplicates of aliases better.

    * pair.c, pair.h: Computing alias correctly in Pair_circularpos

    * pair.c: Fixed bug when Pair_trim_ends is called when pairs is NULL

2014-04-20  twu

    * Makefile.gsnaptoo.am, atoiindex.c, cmetindex.c, genome.c, genome.h,
      genome128_hr.c, genome128_hr.h, gmapindex.c, gsnap.c, indel.c, indel.h,
      indexdb.c, mapq.c, mapq.h, oligo.c, oligoindex_hr.c, sarray-read.c,
      sarray-read.h, sarray-write.c, sarray-write.h, splice.c, splice.h,
      splicetrie.c, splicetrie.h, src, stage1hr.c, stage1hr.h, stage3hr.c,
      stage3hr.h, substring.c, substring.h, trunk: Merged revisions 133654
      through 133759 from branches/2014-04-18-cmet-atoi-suffix-arrays to fix
      CMET and ATOI procedures

    * VERSION, config.site.rescomp.prd, config.site.rescomp.tst: Updated version
      number

    * index.html: Updated for version 2014-04-17

    * stage3.c: Fixed uninitialized variable

2014-04-17  twu

    * indexdb.c: Creating correct bitpack filenames when snps_root is given

    * snpindex.c: Handling the case when an IIT file is not provided on the
      command-line, and installation is not needed

2014-04-10  twu

    * gmap_build.pl.in: Fixed documentation for compression types

    * dynprog_simd.c, dynprog_simd.h, dynprog_single.c: Added traceback
      procedure for Score16_T variables

    * snpindex.c: Creating genomebits128 format instead of genomebits format

2014-04-09  twu

    * sarray-read.c: Made changes in code (commented out) to try to infer
      lcp-intervals for short oligomers from 12-mer index, but still has some
      bugs

    * archive.html, index.html: Made changes for version 2014-04-08 and
      2013-03-28.v2

    * VERSION: Updated version number

    * gmap.c: Removed unnecessary const

    * stage2.c: Applying maxintronlen in deciding whether to create a grand
      lookback

2014-04-08  twu

    * pairpool.c: Fixed bug in Pairpool_compact_copy

    * stage3.c: Removed debugging statement

    * Makefile.gsnaptoo.am, dynprog.c, dynprog.h, dynprog_cdna.c,
      dynprog_cdna.h, dynprog_end.c, dynprog_end.h, dynprog_genome.c,
      dynprog_genome.h, dynprog_simd.c, dynprog_simd.h, dynprog_single.c,
      dynprog_single.h, gmap.c, gsnap.c, sarray-read.c, sequence.c, sequence.h,
      splicetrie.c, src, stage3.c, stage3.h, trunk, uniqscan.c, util: Merged
      --reintegrate branches/2014-04-04-dynprog-shift to change dynprog_end
      routines to use upper/lower algorithm without F loops

    * index.html: Updated for version 2014-04-06

    * pairpool.c, pairpool.h: Implemented Pairpool_compact_copy

    * oligoindex_hr.c: Freeing storage memory in Oligoindex_array_T object

    * stage1.c: Checking extensions to make sure they fall within
      --max_totallength

    * chimera.c, chimera.h, gmap.c, stage3.c, stage3.h: Checking chimeras to see
      that they satisfy --min-trimmed-coverage and --min-identity filters

    * mem.c: Turned off DEBUG macro

    * iit-read-univ.c: Restored warning message when IIT file cannot be read

    * gmapindex.c, sarray-write.c, sarray-write.h: Implemented
      Sarray_child_uncompress

    * gmap.c: No longer proceeding to align if Stage2_scan yields max_ncovered
      of less than 10% of the querylength.

    * genome128_hr.c: Made additional changes to avoid _mm_extract_ps on
      non-SSE4.1 systems

2014-04-07  twu

    * sarray-read.c: When effective querylength is less than bucket indexsize,
      no longer trying to infer lcp-interval from bucket array, but just
      starting from entire lcp-interval.

2014-04-06  twu

    * gmap.c, gsnap.c, uniqscan.c: Checking for valid float values between 0.0
      and 1.0

    * dynprog_genome.c, splicetrie.c: Fixed headers for dynprog routines

    * dynprog_single.c: Using a variable in the F loop to see if H needs to be
      reloaded

    * oligoindex_hr.c: Allocating storage for Oligoindex_array_T

    * Makefile.gsnaptoo.am, dynprog.c, dynprog.h, dynprog_genome.c,
      dynprog_genome.h, dynprog_single.c, dynprog_single.h, gmap.c, gsnap.c,
      pairpool.c, pairpool.h, src, stage3.c, stage3.h, trunk, uniqscan.c, util:
      erge reintegrated branches/2014-04-04-dynprog-shift to use new SIMD
      routines that are row-first and reduce use of F loops

    * util: Removed property changes

    * src: Removed property changes

    * VERSION: Updated version number

    * gmap.c, gsnap.c, oligoindex_hr.c, oligoindex_hr.h, stage1hr.c, stage1hr.h,
      stage2.c, stage2.h, stage3.c, stage3.h, uniqscan.c: Created a separate
      Oligoindex_array_T object, which also holds storage

    * configure.ac: Added AC_FUNC_ALLOCA

    * mem.h: Added hooks for memory allocation using alloca

    * bitpack64-readtwo.c: Added missing #endif

    * indexdb.c: Fixed type of offsets from UINT4 back to Positionsptr_T

    * iit-read-univ.c: aking Univ_FNode_T struct separate from FNode_T struct

    * gmapindex.c: Checking genomelength before trying to create suffix array or
      LCP/child/DC arrays

    * bitpack64-readtwo.c: Fixed bug where not enough 128-bit registers were
      provided for large genomes

    * bitpack64-read.c: Eliminated an extra addition from computing offset in
      large genomes

2014-04-03  twu

    * uniqscan.c: Using new interface to Oligoindex_new routines

    * index.html: Updated for 2014-04-01 version

    * archive.html: oved 2014-03-28 and earlier versions to archive

    * acinclude.m4, ax_ext.m4, ax_gcc_x86_avx_xgetbv.m4: Updated ax_ext.m4 and
      added ax_gcc_x86_avx_xgetbv

    * uniqscan.c: Using new interface to Stage3_setup

    * stage3.c, stage3.h: Providing min_end_indel_matches to end trimming
      procedures

    * sarray-read.c, sarray-read.h: Added separate access control for lcpchilddc

    * oligoindex_hr.c, oligoindex_hr.h: Allocating dedicated space needed for
      Oligoindex_get_mappings, to avoid memory allocation/deallocation

    * gsnap.c: Using new interface to Oligoindex_new routines, Stage3_setup, and
      Sarray_new

    * gmap.c: Using new interface to Oligoindex_new routines and Stage3_setup

    * genome128_hr.c: Provided alternative to _mm_extract_ps, which also
      requires SSE4.1

    * dynprog.c: odified debugging statements

2014-04-02  twu

    * ax_ext.m4: Adding warning messages when immintrin.h is not found and could
      be used

    * ax_ext.m4: Checking for immintrin.h before allowing popcnt, lzcnt, or bmi1

    * ax_ext.m4: Improved warning messages

    * Makefile.gsnaptoo.am, VERSION, atoiindex.c, ax_ext.m4, bitpack64-access.c,
      bitpack64-read.c, bitpack64-read.h, bitpack64-readtwo.c,
      bitpack64-readtwo.h, bitpack64-serial-read.c, bitpack64-serial-read.h,
      bitpack64-serial-write.c, bitpack64-serial-write.h, bitpack64-write.c,
      bitpack64-write.h, bytecoding.c, bytecoding.h, cmetindex.c,
      compress-write.c, compress-write.h, compress.c, compress.h, compress128.c,
      config.site.rescomp.prd, config.site.rescomp.tst, dynprog.c,
      genome-write.c, genome-write.h, genome.c, genome128-write.c,
      genome128-write.h, genome128_hr.c, genome128_hr.h, genome_hr.c,
      genome_hr.h, genome_sites.c, gmap.c, gmap_build.pl.in, gmapindex.c,
      gsnap.c, iit-read-univ.c, iit-read.h, iit-write-univ.h, iit-write.h,
      iitdef.h, indel.c, indexdb-write.c, indexdb-write.h, indexdb.c, indexdb.h,
      indexdb_hr.c, indexdbdef.h, mapq.c, sarray-read.c, sarray-read.h,
      sarray-write.c, sarray-write.h, snpindex.c, splice.c, splicetrie.c,
      splicetrie_build.c, src, stage1hr.c, stage2.c, stage3.c, stage3hr.c,
      substring.c, trunk, types.h, uniqscan.c, util: ajor change.  Merged
      revisions 131573 to 132142 from branches/2014-03-26-bitpack-esa to use
      genomebits128 format, bp64-columnar, and enhanced suffix arrays

    * VERSION: Updated version number

    * index.html: Revised for latest version

    * stage3hr.c: Not using number of introns to determine equivalence in
      hit_equiv_cmp and hitpair_equiv_cmp

    * genome_sites.c: Resolved comparison between unsigned and signed values for
      -1

2014-04-01  twu

    * boyer-moore.c, dynprog.c, stage3.c: Implemented changes to restore finding
      microexons

    * shortread.c: Handling Casava reads ending in ";1".  Fixed problem where -q
      and --allow-pe-name-mismatch together caused a fatal bug.

    * genome_hr.c: Changed debugging output for splice fragments to print
      unsigned shorts

2014-03-28  twu

    * indexdb.c: Changed type of offsets (called only for regular bitpack
      procedure) from Positionsptr_T * to UINT4 *

    * indexdb_hr.c: Calling correct procedures for LARGE_GENOMES

    * substring.c, substring.h: Fixing comparisons of coordinates to handle
      circular chromosomes

    * stage3hr.h: Removed queryseq as arguments to Stage3end_remove_duplicates

    * stage3hr.c: Fixing comparisons of coordinates to handle circular
      chromosomes

    * stage1hr.c: Calling Stage3end_remove_duplicates after
      Stage3end_remove_circular_alias

    * stage1hr.c, stage3hr.c, stage3hr.h: Trying to salvage alias +1 within
      Stage3end_remove_circular_alias, and calling that rather than
      Stage3end_unalias_circular

2014-03-27  twu

    * stage3hr.c: In Stage3_new_splice, not trying to merge long-distance
      splices at this time, which can lead to bad coordinates for GMAP

    * stage1hr.c: Initializing variable, previously not initialized

    * pair.c: Fixed assertion on CIGAR length to include hardclips

    * gsnap.c: Including splice.h

    * chimera.c: Rearrange order of loops in Chimera_bestpath

2014-03-26  twu

    * stage3hr.c: Fixed bug where overlap across circular chromosome origin is
      entirely trimmed, leading to an "SH" cigar string

    * VERSION, config.site.rescomp.prd, config.site.rescomp.tst, index.html,
      trunk, util: Updated version number

    * gmap.c: Checking return value of Chimera_bestpath

    * gmap.c: Checking return value of Chimera_bestpath

    * chimera.c, chimera.h: Chimera_bestpath returning a value to indicate if a
      chimera was found

    * stage3.c: In Stage3_merge_local, traversing cDNA gap any time intronlength
      is less than 0

    * pairpool.c: Created separate debugging category for Pairpool_clean_join

    * gsnap.c, splice.c, splice.h: Using min_shortend to control splice length
      at ends

    * sarray-read.c: Fixed problem where splice or deletion could extend into
      next chromosome

2014-03-17  twu

    * translation.c: Fixed bug where assign_cdna_backward was returning ncdna
      instead of codon

2014-03-13  twu

    * sarray-read.c: Put sarray_search loop into a new function,
      find_longest_match

    * sarray-read.c: Improved sarray_search by looking up genome only when lcp
      advances by more than one position

    * oligoindex_hr.c: Using faster method for checking for zero 128-bit
      register when SSE4.1 is available

    * dynprog.c, gdiag.c, indexdb_hr.c, oligo.c, pair.c, sarray-read.c,
      spanningelt.c, stage1.c, stage1hr.c, stage2.c: Using safer method for
      computing average of lowi and highi in binary search

    * access.c: Handling empty files

2014-03-01  twu

    * gmap.c, stage3.c, stage3.h: Removed alignment_score_fwd and
      alignment_score_rev from Stage3_T object

    * VERSION: Updated version number

    * stage3.h: Using maxintronlen_bound in Stage3_mergeable

    * stage3.c: Not trimming exons at end based on splice site probabilities

    * stage2.c: In D4 section, when diffdistance <= EQUAL_DISTANCE_NO_SPLICING,
      adding CONSEC_POINTS_PER_MATCH, to extend chains further

    * gmap.c: Using maxintronlen_bound in Stage3_mergeable

    * gmap.c: Performing iterations for finding a local join, before iterations
      for finding a chimera.

    * stage3.c: Revised criteria for pick_cdna_direction.  When cdna_direction
      == 0, assigning fwd or rev introntype instead of NONINTRON.

2014-02-28  twu

    * Makefile.dna.am, Makefile.gsnaptoo.am, get-genome.c, gmap.c, outbuffer.c,
      outbuffer.h, stage1.c, stage1.h: Removed references to Chrsubset_T.  Made
      -c flag work again by setting universal coordinate bounds in stage 1.

    * gmap.c: Checking coverage of nonchimericbest against each chimeric part,
      and if coverage is large enough on each side, picking non-chimeric
      alignment over chimera.

    * stage3.c, stage3.h: Not determining mergeable based on cdna_directions of
      the left and right part.  In that situation, fixing the alignment by
      recomputing to find the best cdna_direction.

    * pair.c: Disallowing transitions even 10 bp outside of alignments

    * chimera.c: Calling Pair_pathscores directly, instead of through
      Stage3_pathscores

    * gmap_build.pl.in: Removed reference to localdir.  Putting tempfiles for
      <genome>.coords and <genome>.sources into destination directory.

    * sarray-read.c: Slight speed improvement in handling pre-alignment loop. 
      Now using 0 instead of 4.

    * stage3hr.c: Restored old version of Stage3end_remove_overlaps, with
      different algorithm from that for paired ends

2014-02-26  twu

    * stage1hr.c: For paired-end reads, when only one end is too short, aligning
      the other end as part of a halfmapping alignment

2014-02-24  twu

    * stage3hr.c: Implemented recursive, list-based approach to removing bad
      superstretches in paired-end alignments, instead of O(n^3) algorithm,
      which occasionally hanged in repetitive regions

    * gmap.c: Added debugging statements for chimera

    * stage2.c: Reducing NINTRON_PENALTY_MISMATCH from 32 to 1, because short
      exons were being missed.  Also, eliminated querydist_credit and restored
      querydist_penalty.

    * chimera.c: In Chimera_local_join_p, checking genomic positions to make
      sure they make sense

2014-02-22  twu

    * gsnap.c, pair.c, pair.h, samprint.c, samprint.h: Implemented option
      --hide-soft-clips

    * stage3.c: Returning value from merge_local_single

    * substring.c, substring.h: Added function Substring_queryend_orig

2014-02-20  twu

    * gsnap.c: Using new interface to Stage2_setup

    * chimera.c, diagpool.c, gmap.c, oligoindex.c, oligoindex_hr.c, pair.c, src,
      stage2.c, stage2.h, stage3.c, uniqscan.c: erged revisions 128075 to 128117
      from branches/2014-02-20-chimera-breakpoint to fix cases where breakpoint
      was found outside of alignments

    * dynprog.c: Handling lower-case nucleotides correctly in dynamic
      programming. Handling alternate alleles equally in dynamic programming.

    * bitpack64-read.c, indexdb.c: Fixed bugs in handling bitpackpages file for
      huge genomes

2014-02-18  twu

    * pair.c, pair.h, stage3.c: Added numbers of matches, mismatches, indels and
      unknowns to GFF3 output

    * VERSION: Updated version

    * ax_ext.m4: Fixed typo

    * gmap_build.pl.in: Not printing warning message about -T unless it is used.
       Deleting .sources file.

    * chimera.c, chimera.h, gmap.c: Added donor_watsonp and acceptor_watsonp to
      fields for GMAP

    * stage3hr.c: Fixed bug in printing header twice for concordant
      translocations in standard GSNAP output format

    * get-genome.c: Added output for vareffect

    * samprint.c: Added strands to XT field

    * indexdb-write.c: When checking bitpack64, printing warning messages rather
      than exiting.

2014-02-15  twu

    * sarray-read.c: Fixed a bug where r for an lcp-interval was being
      decremented from 0 to -1U.

2014-02-13  twu

    * samprint.c: Added distant splice information to XT field, but without
      strand information

    * samprint.c: Added XC flag to indicate a circular alignment

2014-02-12  twu

    * stage1hr.c: Removed unnecessary variables that have been made global
      within the file

    * branchpoint.c, branchpoint.h, splicing-score.c: Added bpa-all option to
      print all marginals

    * iit-read.c: Handling cases in signed matching where sign == 0

    * get-genome.c: Added option --aslabel

    * sarray-read.c: Turning off debugging

2014-02-02  twu

    * get-genome.c: Added debugging statements

2014-02-01  twu

    * get-genome.c: Making typed queries when user provides a typestring

2014-01-31  twu

    * Makefile.dna.am, Makefile.gsnaptoo.am, README, branchpoint.c,
      branchpoint.h, gsnap.c, indel.c, indel.h, sarray-read.c, splicing-score.c,
      src, stage1hr.c, translation.c, trunk, uniqscan.c, util: Merged revisions
      125127 to 125307 from branches/2014-01-30-lsm-branch-point to add bpa
      analysis to splicing-score

2014-01-29  twu

    * splicing-score.c: Added -v flag to handle alternate alleles

2014-01-22  twu

    * fa_coords.pl.in: Fixed syntax error

    * VERSION, closeparen-table.pl, config.site.rescomp.prd,
      config.site.rescomp.tst, excess-leftward.pl, excess-rightward.pl,
      index.html, openparen-table.pl, select1-table.pl, src: Updated version
      number

    * fa_coords.pl.in: Fixed syntax error

2014-01-21  twu

    * Makefile.dna.am, Makefile.gsnaptoo.am: Added SIMD_FLAGS and POPCNT_FLAGS
      to all programs that include compress.c

    * sarray-read.c: Added benchmarking procedure Sarray_traverse_children

    * oligo.c: Added "U" to end of integer constants where necessary

    * gsnap.c: Fixed typo in --help statement

    * gmap.c: Fixed revision of extension length relative to end-segment length
      for finding chimeras

2014-01-15  twu

    * gmap_build.pl.in: Fixed variable name

2013-12-24  twu

    * sarray-read.c: Added comments

    * Makefile.gsnaptoo.am: Added files for bp-read and bp-write

    * bp-read.c, bp-read.h, bp-write.c, bp-write.h, bp.h, gmapindex.c,
      sarray-write.c, sarray-write.h, types.h: Merged revisions 119699 to 122378
      from branches/2013-11-27-child-bitvector to add code for bitvector
      representation of child array

    * bitpack64-read.c: Removed extraneous addition for second half of block for
      packsize of 32

2013-12-20  twu

    * gmap_build.pl.in, util: Merged revisions 119700 through 122189 from
      branches/2013-11-27-child-bitvector/util to write genome indices in
      destination directory

    * fa_coords.pl.in, gmap_build.pl.in, gmap_process.pl.in: Writing FASTA
      sources to a file

    * Makefile.dna.am: Added gamma-speed-test and bitpack64-speed-test

    * splicing-score.c: Checking if coordinates are valid

    * gamma-speed-test.c: Printing nanoseconds per query

    * bitpack64-speed-test.c: Using new interface to bitpack64 read commands

2013-12-17  twu

    * stage1hr.c, stage3hr.c, stage3hr.h: Requiring single or unpaired terminals
      to be 2/3rds of the querylength

    * sarray-read.c: Fixed memory leak

    * dynprog.c: Fixed a bug where the wrong genomic position was provided for a
      high-probability microexon.

2013-12-16  twu

    * stage1hr.c: Not passing in max_terminal_length to find_terminals

    * sarray-read.c: Allowing initial lcp interval for the first nucleotide

    * gmapindex.c: Changed name of child_uncompress procedure

    * bitpack64-write.c: Handling the case for Bitpack64_write_direct where the
      packsize is 0.

    * sarray-write.c, sarray-write.h: Included code for bp version of child
      information

2013-12-13  twu

    * Makefile.dna.am, Makefile.gsnaptoo.am, atoiindex.c, bitpack64-access.c,
      bitpack64-access.h, bitpack64-read.c, bitpack64-read.h, bitpack64-write.c,
      bitpack64-write.h, chimera.c, cmetindex.c, config.site.rescomp.tst,
      dynprog.c, dynprog.h, genome.c, genome.h, gmap.c, gmapindex.c,
      indexdb-write.c, indexdb-write.h, indexdb.c, indexdb.h, indexdb_hr.c,
      indexdbdef.h, oligoindex_hr.c, oligoindex_hr.h, oligoindex_pmap.c,
      oligoindex_pmap.h, pmapindex.c, sarray-read.c, sarray-write.c,
      sarray-write.h, sequence.c, sequence.h, snpindex.c, splicetrie.c,
      splicetrie.h, splicing-score.c, src, stage1hr.h, stage2.c, stage2.h,
      stage3.c, stage3.h, trunk, util: Merged revisions 120874 through 121506
      from branches/2013-12-10-pmap

2013-12-05  twu

    * substring.c: Fixed issue where circularpos was assigned in the region of
      soft-clipping, leading to an improper CIGAR string

    * pair.c: In GFF output, printing '.' instead of '?' for unknown strand

2013-11-27  twu

    * index.html: Added statement about portability of NAN

    * iit_store.c: Handling NAN when it is not available

    * VERSION, index.html: Updated version number

    * popcount.c, popcount.h: Added popcount.c and popcount.h to store tables

    * Makefile.gsnaptoo.am: Added popcount.c and popcount.h

    * genome_sites.c: Added include of popcount.h.

    * genome_hr.c: Moved tables to popcount.c, and added include of popcount.h.

    * indexdb-write.c: Revised size of memory reserved for bitpackptrs.  Moved
      tables to popcount.c, and added include of popcount.h.

    * sarray-write.c: Revised size of memory reserved.  Added include of
      popcount.h

2013-11-23  twu

    * VERSION, config.site.rescomp.prd, config.site.rescomp.tst, index.html:
      Updated version number

    * stage3.c: In build_pairs_singles, build_pairs_introns, and
      build_pairs_dualintrons, remove gaps at the beginning and any gap at the
      end of the path.

2013-11-22  twu

    * VERSION, config.site.rescomp.prd, config.site.rescomp.tst, index.html:
      Updated version number

    * outbuffer.c: Fixed bug in using --fails-as-input on single-end reads

    * stage3.c: Replaced one call to insert_gapholders with List_reverse

    * Makefile.dna.am: Added files needed for gmapindex and uniqscan

    * stage3.c: Inserting gapholders before calling assign_intron_probs

2013-11-21  twu

    * iit-read.c: Fixed issue with IIT_fieldvalue returning the previous line
      from what is desired

    * stage3hr.c: Slight improvement in efficiency of randomization procedure

2013-11-20  twu

    * stage3hr.c: Using a different formula for generating a random integer

    * stage3hr.c: Put an explicit type conversion to double before RAND_MAX

    * stage3hr.c: Now picking primary alignment randomly among best alignments
      with ties

    * Makefile.dna.am, Makefile.gsnaptoo.am, VERSION, config.site.rescomp.prd,
      config.site.rescomp.tst, dynprog.c, iit-read.c, iit-read.h, iit-write.c,
      iit-write.h, iit_get.c, iit_store.c, iitdef.h, index.html, littleendian.h,
      src, trunk, util: Merged revisions 115687 to 115891 from
      branches/2013-11-19-iit-values

    * archive.html: Moved version 2013-10-28 to archive

    * README: Changed discussion to use gmap_build and not gmap_setup

    * Makefile.am, configure.ac: Removing gmap_setup program

    * gmap_build.pl.in: Added --contigs-are-mapped and --fasta-pipe options. 
      Providing arguments to subroutines.

    * archive.html: Added link to old database format using gamma compression

    * index.html: Provided link to old genome database formats

    * spanningelt.c, src: Fixed bug in code for spanning elt in regular-sized
      genomes

    * index.html: Updated for version 2013-10-28

2013-11-19  twu

    * README: Changed N1 and N2 abbreviations to NM

    * configure.ac: Added ensembl_genes program

    * Makefile.am, ensembl_genes.pl.in: Added ensembl_genes program

    * gmap_build.pl.in: Clarified usage of --circular feature when --names
      feature is also used

    * bitpack64-read.c: Declared variable needed for non-SSE2 compilation

    * stage2.c: Revised debugging statement

    * gmap.c: Added debugging statement

    * oligoindex_hr.c: Made debugging statements print counts for each oligomer

    * oligoindex.c: Resetting query_evaluated_p in Oligoindex_untally, to avoid
      interactions between queryseqs

    * dynprog.c: Not adding dashes if gap is long.  Not performing simple genome
      gap if finalp is true.

    * Makefile.dna.am, Makefile.gsnaptoo.am: Added sarray-read.c and
      sarray-read.h to gsnapl and uniqscanl

    * uniqscan.c: Using new interface to Stage3hr_setup

    * stage3hr.c: Removed unused code

    * smooth.c, stage3.c: In traverse_dual_intron, if dual scores win over
      single score, protecting that exon from being smoothed by size

    * pairdef.h: Added comment about protectedp

    * pair.c, pair.h: Added function Pair_protect_list

    * outbuffer.c: Removed unused code

2013-11-18  twu

    * gmap.c: Reduced threshold for discarding gegion from 0.80*max_ncovered to
      0.25.

    * stage3.c: Reduced amount of peelback.  Made fixes to improve finding of
      short exons, including reducing criteria for dual_canonical_p, and
      eliminating smoothing by size.

    * access.c, atoiindex.c, bitpack64-read.c, bitpack64-read.h,
      bitpack64-speed-test.c, cmetindex.c, genome_hr.c, genome_hr.h, gmap.c,
      gmapindex.c, gsnap.c, iit-read-univ.c, indexdb-write.c, indexdb-write.h,
      indexdb.c, indexdb.h, indexdb_hr.c, indexdbdef.h, littleendian.c,
      littleendian.h, snpindex.c, spanningelt.c, spanningelt.h, stage1hr.c,
      stage2.c, types.h: Merged changes from branches/2013-10-16-huge-genomes to
      allow for huge genomes, where offsets (or length of positions file)
      exceeds 2^32 entries

    * table.c, table.h: Changed type of keyfree procedure to take const void as
      argument type

    * stage3hr.c, stage3hr.h: Allowing --fails-as-input to work with new xs
      files

    * shortread.c, shortread.h: Allowing --fails-as-input to work with new xs
      files

    * samflags.h: Changed N1 and N2 abbreviations to be NM

    * outbuffer.c, samprint.c, samprint.h: Allowing --fastq-as-input to work
      with new xs files

    * gmap_build.pl.in: Merged changes from branches/2013-10-16-huge-genomes to
      count offsets and to allow for huge genomes

2013-11-16  twu

    * README: Added discussion of XS categories

    * stage1hr.c: Setting ignore_found_score to be found_score, so the input
      value will be correct for those procedures

    * stage1.c: For short sequences (< 4 times the default matchsize),
      performing scan_ends twice, once with a short matchsize and once with a
      default matchsize, to improve sensitivity and specificity

    * outbuffer.c, samflags.h, samprint.c, samprint.h, stage3hr.c, stage3hr.h:
      Added xs (for quiet-if-excessive) output files and categories.  Added
      file_setup procedures for SAM and standard output types for GSNAP.

    * gmap.c: Removed --quiet-if-excessive option from GMAP, because not working
      properly

2013-11-15  twu

    * gmap_build.pl.in: Added comment

    * indexdb-write.c: Not performing check of bitpack compression when there
      are no k-mers

    * sarray-write.c: Include code for reading sarray using fread instead of
      mmap

    * Makefile.gsnaptoo.am, gmapindex.c, sarray-write.c, sarray-write.h: Using
      less memory for creating LCP array and saindex.  Using permuted LCP
      algorithm.  Memory mapping suffix array file and compressed LCP files.

2013-11-14  twu

    * genome_hr.c: Made some fixes to Genome_consecutive_matches_pair

    * genome_hr.c, genome_hr.h: Implemented Genome_consecutive_matches_pair

2013-10-29  twu

    * indexdb.c: Using a separate sanity check on positions filesize when
      expanding bitpack offsets

    * stage1.c: Reducing intial matchsize for short reads to be less than half
      the read length

    * stage3hr.c: Fixed bug where insert length was being computed between GMAP
      and a TRANSLOC_SPLICE using pair_insert_length on a NULL substring.

2013-10-25  twu

    * samheader.c: Changed SO:unknown to SO:unsorted

    * gregion.c: Added comment

2013-10-24  twu

    * gregion.c: In Gregion_extend, when chrend goes past chrhigh, setting it to
      chrlength - 1 and not chrlength

    * stage3.c: In peel_leftward and peel_rightward, removing initial pairs that
      are gaps or indels, so we don't leave a gap or indel on the top.

    * genome_sites.c: Fixed bug in large genomes where -1U was being compared to
      -1UL

2013-10-23  twu

    * samprint.c: For non-concordant pairs, setting clipdir to 0 when calling
      SAM_compute_chrpos.

    * stage3hr.c: Now calling pair_insert_length_unpaired for unpaired
      alignments involving GMAP, which helps to eliminate duplicate alignments.

    * README, acinclude.m4, configure.ac, sse2_shift_defect.m4: Added a test to
      see if compiler can handle SSE2 shift commands properly, and setting
      config.h variable automatically

2013-10-22  twu

    * VERSION: Updated version number

    * dynprog.c: Fixed bug in checking for either rlength or glength to be too
      long

2013-10-21  twu

    * stage3.c: Added hooks for HMM step, but still not using it

    * stage3.h: Allowing stage3debug value of middle

    * gmap.c: Allowing stage3debug value of middle

    * oligoindex.c: Adjusting lookback for querypos with no hits.  Making
      lookback value equal for all oligoindices.

2013-10-18  twu

    * gmap.c, stage3.c, stage3.h: Made stage3debug work

2013-10-15  twu

    * stage1hr.c: Restored previous criteria for distant splicing

    * stage1hr.c: Loosened criteria for distant splice probabilities.  Checking
      for gmap_allowance on single-end GMAP and terminal improvement GMAP
      alignments.

    * samprint.c: Fixed bug in printing deletion resulting in consecutive M
      tokens

2013-10-11  twu

    * indexdb.c: Fixed memory leak when snp_root is given and desired file is
      not found

    * boyer-moore.c: Checking if result of Genome_get_segment_blocks_left is
      NULL

    * dynprog.c, genome.c: In Genome_get_segment_blocks_right and
      Genome_get_segment_blocks_left, returning NULL if the entire segment is
      outside the chromosomal bounds

    * psl_splices.pl.in: Replaced hard-coded path

2013-10-10  twu

    * stage3.c: Fixed typo in variable name

    * stage2.c: Adding query_offset to pairs in non-standard (cmet or atoi)
      modes

    * VERSION, index.html: Updated version

    * README: Added section on compiler issues.  Added section numbers.  Revised
      some sections for latest version.

    * configure.ac: Added option --with-defective-sse2-compiler

    * diag.c: Added debugging statements

    * compress.c: Added code for defective SSE2 compilers

    * stage3hr.c: In cases of overreach when concordant is expected, returning
      NULL

    * gmap_build.pl.in: Added --no-sarray option to gmap_build

    * stage3.c: Making sure not to leave an INDEL_COMP or SHORTGAP_COMP on the
      path/pairs after peelback.  Treating SHORTGAP_COMP the same as INDEL_COMP
      throughout the code.

2013-10-09  twu

    * VERSION: Updated version number

    * stage3hr.c: Fixed insert length calculation for GMAP/substring to go from
      start5 to end3.  Fixed overreach criteria to consider only substrings that
      entirely pass the end of the other hit.

    * substring.c, substring.h: Added procedures for segment-based trimmed
      overlap

    * stage3hr.c: Added a general segment-based algorithm for finding trimmed
      insert length.  Skipping cases with dual overreach.

2013-10-08  twu

    * stage3hr.c: Fixed bug in computing start and end positions in computing
      non-GMAP trimmed insert length.  Added code for handling overreach, by
      changing splices to halfsplices.

    * stage3hr.c: Fixed bug in computing overlap between non-GMAP hits

2013-10-07  twu

    * stage3hr.c, substring.c, substring.h: Checking all possible substring
      combinations in computing trimmed insertlength for non-GMAP hits

2013-10-05  twu

    * stage1hr.c: Fixed the computation of goal for finding the next chromosome
      bounds

    * sarray-read.c: Handling the case where nmisses_allowed < 0.  When saindex
      yields no result, setting low and high to be the beginning and end of the
      suffix array, rather than iterating through saindex for a hit.

2013-10-04  twu

    * gmap.c, stage3.c, stage3.h: In Stage3_merge_local, recovering gracefully
      if clipping leads to a NULL list for either Stage3_T object

    * substring.c, substring.h: Revised calculation of substring trimmed
      insertlength to account for trimming of 3' end

    * stage3hr.c: Revised calculation of GMAP-GMAP trimmed insertlength to
      account for trimming

    * samprint.c: Revised criteria for printing D token in deletion.  Made
      compute_cigar follow the logic of print_cigar.

    * samprint.c: Not computing pair overlaps when a pair involves a circular
      alignment

    * stage3hr.c: Improvements to computing insertlength for calculating pair
      overlap. Using querylength instead of querylength_adj.  Searching through
      GMAP pairarray to find intersecting genomic position.  Added checks for
      (left + genomiclength) > chrhigh.

2013-10-02  twu

    * stage3.c: Reduced some parameters for looping in stage 3.  Not looping for
      GSNAP.

    * bitpack64-access.c: Added an access procedure for packsize of zero

    * bitpack64-read.c: Added a read procedure for packsize of zero

    * sarray-write.c: Changed type of len to size_t

    * indexdb-write.c: Handling the case when all offset differences are zero,
      resulting in a packsize of zero

    * bitpack64-write.c: Allow writing when packsize is zero

    * stage3.c: Using new interface to Pair_print_sam

    * config.site.rescomp.prd, config.site.rescomp.tst: Updated version number

    * archive.html, index.html: Made changes for new version, including the one
      with suffix arrays

    * outbuffer.c, pair.c, pair.h, samprint.c, samprint.h, stage3hr.c,
      substring.c, substring.h: Made numerous changes to fix --clip-overlap,
      involving trimming and GMAP alignments

    * sarray-read.c: Fixed memory leak

2013-10-01  twu

    * stage3.c: Turned off HMM in stage 3, because of possible core dumps

    * VERSION, config.site.rescomp.prd: Updated version number

    * stage3.c: Allowing iteration of outer loop based on dual_break_p. 
      Restored filtering by HMM to remove bad sections.  Removing noncanonical
      end exons only if both canonical and noncanonical introns exist.

    * index.html: Updated for latest version

    * fa_coords.pl.in, gmap_build.pl.in: Allowing user to specify circular
      chromosomes using a file instead of the command line.

    * bitpack64-read.c: Fixed Bitpack64_offsetptr_only to work on poly-T.

    * bitpack64-read.c, dynprog.c, indexdb-write.c, sarray-write.c, src, trunk,
      util: Merged revisions from branches/2013-09-27-bidir-bitpack64 to
      implement bidirectional bitpack64 format

2013-09-30  twu

    * stage3hr.c: Fixed Stage3pair_overlap to handle trimmed ends

    * access.c: Disabling memory allocation on Macintoshes when single fread
      fails

    * stage3hr.c: Added debugging statements

    * stage1hr.c: Added debugging statements

    * resulthr.c: Handing a missing case in Pairtype_string

    * gsnap.c: No longer setting terminal_output_minlength to be MAX_READLENGTH

    * genome_hr.c: For determining trim mismatches, setting query_unk_mismatch_p
      to be false

    * access.c: Eliminated check for i >= 0, which is always true for size_t

    * dynprog.c, src, trunk, util: Merged revisions 109420 through 109556 from
      releases/internal-2013-09-27

    * stage1hr.c, stage3hr.c, stage3hr.h: Merged revisions 109420 through 109556
      from releases/internal-2013-09-27 to check for concordance after running
      GMAP improvement on paired results

    * madvise-flags.m4: Added check for MADV_SEQUENTIAL

    * dynprog.c: Making NEG_INFINITY_16 and NEG_INFINITY_8 visible outside SIMD
      code

    * gmap.c: No longer bounding chimera_margin by CHIMERA_SLOP

    * stage3.c: Avoiding indels at chimeric join by cleaning ends, extending
      with no gaps, and then clipping at breakpoint

    * substring.c: Fixed assertions relative to chrhigh

    * samprint.c: Fixed bug in --clip-overlap SAM output where deletion occurs
      at the clip site

2013-09-27  twu

    * VERSION, config.site.rescomp.prd, config.site.rescomp.tst: Updated version
      number

    * access.c: Fixed workaround for Macintosh fread bug to handle large files

    * uniqscan.c: Providing --gmap-allowance

    * gsnap.c: Providing --gmap-allowance

    * samprint.c: Fixing problem with mate flags when the mate is a
      translocation

    * sarray-read.h: Passing max_end_deletions into Sarray_setup

    * sarray-read.c: If read from beginning does not go halfway across read,
      trying a search from the middle of the read to see if it finds
      substitutions

    * substring.c: No longer allowing donor or acceptor substrings in circular
      chromosomes, thereby preventing translocations to those chromosomes

    * stage1hr.c, stage3hr.c, stage3hr.h: Using
      Stage3end_better_equiv_unpaired_p as a way to determine whether to do
      spanning set or complete set algorithms after suffix array method.

    * stage1hr.h: Added gmap_allowance to filter bad GMAP alignments

    * stage1hr.c: Added gmap_allowance to filter bad GMAP alignments.  No longer
      allowing GMAP splicing on circular chromosomes.  No GMAP improvement on
      sarray hits.  Doing spanning set algorithm after suffix array algorithm if
      nconcordant == 0.

2013-09-26  twu

    * sarray-read.c: Applying max_end_deletions.  In collect_elt_matches,
      looking at multiple hits between goal and high.

2013-09-25  twu

    * substring.c: Disallowing donor and acceptor substrings on the duplicate
      length of a circular chromosome

    * dynprog.c, src, trunk, util: Reintegrated changes from
      releases/internal-2013-09-01

    * stage3.c, stage3.h: Merged changes from releases/internal-2013-09-01 to
      clean ends of local merges

    * sarray-read.c, sarray-read.h: Merged changes from
      releases/internal-2013-09-01 to fix problem with insertions that are too
      long

    * pairpool.c: Merged changes from releases/internal-2013-09-01 to add
      debugging statements

    * pair.c: Merged changes from releases/internal-2013-09-01 to fix
      Pair_start_bound and Pair_end_bound

    * gsnap.c: Merged changes from releases/internal-2013-09-01 to use new
      interfaces to Sarray_setup

    * gmap.c: Merged changes from releases/internal-2013-09-01 to use new
      interfaces to stage 3 chimera commands

2013-09-24  twu

    * VERSION: Updated version number

    * bitpack64-speed-test.c, gamma-speed-test.c: Finding both start and end of
      position blocks

    * sarray-read.c, sarray-read.h: Make some fields available for benchmarking
      purposes

2013-09-20  twu

    * pairpool.c: In Pairpool_clean_join, making sure that no gaps are left at
      the medial ends

    * gmap.c, stage3.c, stage3.h: In Stage3_merge_local_splice, when a new
      intron is required, performing a full call to path_compute_dir and
      path_compute_final

2013-09-19  twu

    * gmap.c: Fixed behavior of -n 1 in GMAP, so it does not print chimeric
      alignments

    * substring.c: Added new assertions to make sure alignstart and alignend do
      not exceed chrhigh

    * sarray-read.c: For indels and splices, using subtract_bounded and
      add_bounded to make sure the other piece is on the same chromosome

2013-09-18  twu

    * stage3hr.c: Stage3pair_overlap inverts return value for minus alignments

    * pair.c, stage3hr.c: Reworking of computation for pair overlap

    * bitpack64-speed-test.c: Added code for uncompressing offsets

    * stage3hr.c: Computing pair overlap based on difference between totallength
      and insertlength, not alignment coordinates

2013-09-17  twu

    * indexdb.c: Fixed user message about expanding bitpackcomp

    * stage1hr.c: Fixed memory leak when newpair involving GMAP is not kept

    * stage3.c: When queryjump > nullgap and genomejump < 16 (not enough
      material for stage 2), performing cDNA gap rather than dual break.  In
      path_compute_final, resolving dual breaks as single gaps.

    * stage3hr.c: Fixed memory leak when resolving inner splices

    * stage3hr.c: Fixed memory leak

    * shortread.c: Fixed invalid read in chopping adapters when read lengths are
      unequal

    * stage3.c: Removed uninitialized variable

2013-09-16  twu

    * bitpack64-speed-test.c: Initial import into SVN

    * Makefile.dna.am: Made instructions match those for Makefile.gsnaptoo.am. 
      Added gamma-speed-test and bitpack64-speed-test.

    * gamma-speed-test.c: Simplified code to focus only on decoding

    * splicing-score.c: Fixed code for universal chromosome IIT

    * indexdb.c, indexdb.h: Exposing different types of filename retrieval

    * gregion.c: Considering fraction of overlap

    * samprint.c: Fixed CIGAR strings for splicing on minus strand with
      clip-overlap

2013-09-13  twu

    * gmap.c: Increased default value for shortsplicedist from 200,000 to
      2,000,000. For chimeric alignments that overlap, fixed bug where
      maxpeelback was negative, and now computing based on midpoint of the ends.

    * stage3.h: In Stage3_mergeable, using shortsplicedist

    * stage3.c: No longer calling Smooth_pairs_by_netgap.  In Stage3_mergeable,
      using shortsplicedist.  For extend5 and extend3, handling case where path
      or pairs is NULL after peelback.

2013-09-12  twu

    * index.html: Updated for version 2013-09-11

    * VERSION, config.site.rescomp.prd, config.site.rescomp.tst: Updated version
      numbers

    * stage1.c: Added debugging statement

    * gregion.c: For determining overlaps, using chrstart and chrend instead of
      extentstart and extentend

    * pairpool.c, pairpool.h, stage3.c: In merging for local splice, added
      procedure Pairpool_clean_join to peel back both ends to remove negative
      genomejumps

2013-09-11  twu

    * stage3hr.c: Fixed memory leak on new pairs.  Handling the case where pair
      overlap is negative.

    * stage1hr.c: Fixed memory leak on terminal alignments that fail
      terminal_output_minlength test

    * shortread.c: Not checking for Illumina endings on shortreads that are
      skipped

    * dynprog.c: Initializing value of introntype

    * pair.c: Fixed memory leak under --clip-overlap feature

    * stage3.c: Requiring 25 bp on both sides of a chimeric alignment

2013-09-10  twu

    * sarray-read.c: Fixed bug in Elt_fill_positions_all where position could be
      negative

2013-09-09  twu

    * VERSION, config.site.rescomp.prd, config.site.rescomp.tst: Updated version
      number

    * stage3.c: Restored finding of microexons when sequence quality is high

    * pair.c: Making value of trim_5p dependent on trim_left

    * iit_get.c: Fixed behavior of iit_get to work when reading queries from
      stdin

    * stage3.c: In build_pairs_introns, when finalp is true, solving cDNA gaps
      as single gaps

    * stage3.c: When finalp is true, not relying upon stored solutions for any
      traversal functions.  Performing iterative calls to trimming non-canonical
      introns at ends.

    * stage3.c: In traverse_single_gap, not relying upon previous result if
      finalp is true

    * stage2.c: Checking to make sure calls to genome canonicalp procedures do
      not have negative coordinates

    * gmap.c: Initializing genome_sites for pairalign and usersegment queries

    * samprint.c: Allowing printing of results where chrpos == 0

2013-09-06  twu

    * index.html: Updated for latest version

    * stage1hr.c: Fixed bug in add_bounded where coordinates extended past
      chrhigh

    * dynprog.c: Fixed problem where prob_trunc was not being initialized

    * fa_coords.pl.in, gmap_build.pl.in: Added -n flag for substituting
      chromosome names

2013-09-05  twu

    * gmap.c, gsnap.c: Allowed compilation when pthreads are disabled

2013-09-04  twu

    * stage1hr.c: Fixed a fatal bug in find_middle_indels when floors is NULL,
      from all oligos being omitted

    * README: Added discussion about output types

    * stage3.c: Put an absolute limit on peelback.  In build_pairs_introns, when
      queryjump exceeds nullgap, traversing a dual break.

    * pair.c: Eliminated possible infinite loop in
      Pair_guess_cdna_direction_array

    * gsnap.c: Fixed error message

2013-09-03  twu

    * VERSION, config.site.rescomp.prd, config.site.rescomp.tst: Updated version
      number

    * outbuffer.c, stage3.c, stage3.h: Providing XO abbrev information for SAM
      output from GMAP

    * outbuffer.c, pair.c, pair.h, samflags.h, samprint.c, samprint.h: Added XO
      flag to SAM output

2013-08-31  twu

    * gsnap.c, stage3hr.c, stage3hr.h, uniqscan.c: Fixed genomicstart for
      distant samechr splices when --merge-distant-samechr is specified

    * gregion.c: Fixed bug where overlaps were found in error because we used
      chromosomal coordinates instead of univeral coordinates

    * dynprog.c: Made single and paired indel penalties the same

    * README, configure.ac: Modified to include gvf_iit program

    * Makefile.am, gvf_iit.pl.in: Added gvf_iit program

2013-08-30  twu

    * gsnap.c, stage1hr.c, stage1hr.h, stage3hr.c, stage3hr.h, uniqscan.c:
      Filtering terminals with minlength less than value of
      --terminal-output-minlength

    * stage3hr.c, stage3hr.h: Creating Stage3pair_T for terminals only if the
      terminal lengths exceed terminal_output_minlength

2013-08-29  twu

    * dynprog.c, dynprog.h, gmap.c, gsnap.c, pair.c, pair.h, src, stage1hr.c,
      stage2.c, stage3.c, stage3.h, stage3hr.c, stage3hr.h, trunk, util: Did
      reintegration merge (revisions 106186 to 106267) of
      branches/2013-08-20-stage23-work

    * src, trunk, util: Commit property changes

2013-08-28  twu

    * Makefile.gsnaptoo.am, config.site.rescomp.tst, diag.c, diag.h,
      doublelist.c, dynprog.c, dynprog.h, genome_sites.c, genome_sites.h,
      gmap.c, gsnap.c, pairpool.c, pairpool.h, smooth.c, smooth.h, src,
      stage1.c, stage1hr.c, stage2.c, stage2.h, stage3.c, stage3.h, stage3hr.c,
      trunk, uniqscan.c, util: Merged revisions 105272 to 106186 from
      branches/2013-08-20-stage23-work to improve stage 2 and stage 3 procedures

2013-08-20  twu

    * dynprog.c, gmap.c, scores.h, src, trunk, util: Reintegrated changes from
      branches/2013-08-20-stage23-work to fix alignment rankings and evaluation
      of chimeric alignment

    * index.html: Updated for latest version

    * gmap_build.pl.in: Handling case where -d argument contains a directory

    * stage3.c: Fixed infinite loop in peelback.  Made some changes in stage 3
      procedures.

    * smooth.c, smooth.h: Restoring procedures for smoothing by net gap

    * pairpool.c: If all pairs are outside bounds, returning NULL

    * dynprog.c: Reduced indel penalties for low-quality alignments

2013-08-19  twu

    * outbuffer.c: Adding q() line for R output

2013-08-14  twu

    * stage3hr.c: Restoring filter where terminal alignments are removed if
      mismatches in trimmed region are too high.

    * stage1hr.c: In computing genomic bounds for GMAP alignment, truncating at
      chromosomal boundaries

    * chimera.c, chimera.h, gmap.c: For local chimeric joins, requiring that
      pieces are locally joinable in Chimera_bestpath

2013-08-08  twu

    * dynprog.c: Added cache flush command needed for opencc compiler using -O3
      optimization on AMD computers

2013-08-06  twu

    * genome_sites.c: Added lookup tables needed when popcnt is not available

    * genome_hr.c: Made debugging statements work when popcnt is not available

2013-08-02  twu

    * acinclude.m4, configure.ac: Removed popcnt.m4 and relying upon ACX_BUILTIN

    * Makefile.gsnaptoo.am, outbuffer.c, samheader.c, samheader.h, samprint.c,
      samprint.h: Moved SAM header code to new samheader.c file

    * gmap.c, gsnap.c, outbuffer.c, outbuffer.h, samprint.c, samprint.h: Added
      @HD and @PG header lines to SAM output

2013-07-25  twu

    * Makefile.gsnaptoo.am, NOTICE, config.site.rescomp.prd, dynprog.c,
      fastlog.h, mapq.c, mapq.h, oligoindex.c, oligoindex_hr.c, pair.c, pair.h,
      pairpool.c, smooth.c, smooth.h, src, stage1hr.c, stage2.c, stage3.c,
      stage3hr.c, stage3hr.h, substring.c, substring.h, trunk, univinterval.c,
      univinterval.h, util: Reintegrated revisions from
      branches/2013-07-24-fastlog to use a fast approximate log function, to
      change calloc to malloc in several places, to eliminate a smoothing step,
      and to improve the oligoindex SIMD procedures slightly

2013-07-24  twu

    * Makefile.gsnaptoo.am, compress.c, compress.h, dynprog.c, dynprog.h,
      genome_hr.c, gmap.c, pair.c, pairpool.c, pairpool.h, src, stage1hr.c,
      stage2.c, stage3.c, stage3.h, stage3hr.c, stage3hr.h, table.c, table.h,
      trunk, univinterval.c, univinterval.h, util: Merged revisions 102329 to
      102725 from branches/2012-07-22-stage3-dir to restructure stage 3
      algorithm, including reduction of insert_gapholders and early
      determination of cdna direction; to add gmap_history to memoize GMAP
      alignment results; and SIMD instructions for Compress_shift

2013-07-23  twu

    * stage3.c: Changing Pairpool_pop to List_transfer_one in some procedures

    * config.site.rescomp.prd, config.site.rescomp.tst, dynprog.c, dynprog.h,
      src, stage3.c, trunk, util: Reintegrated revisions from
      branches/2013-07-22-stage3-dir to determine cdna direction early in stage
      3

    * VERSION, index.html: Updated version number

    * dynprog.c: Added memory fences at beginning of each SIMD loop

2013-07-22  twu

    * stage2.c: Returned to safer code that keeps ranges 3 and 4 separate

    * dynprog.c: Added needed variables

    * dynprog.c: Making a single call to find splice sites from IIT file,
      instead of individual calls.  Removed old code.

    * iit-read.c, iit-read.h: Added functions IIT_get_lows_signed and
      IIT_get_highs_signed

    * dynprog.c: In bridge_intron_gap procedures, using genomic sequence instead
      of get_genomic_nt.  Also, implemented code for a single call to
      splicesites IIT, instead of one call for each position.

2013-07-20  twu

    * gmap_setup.pl.in: Added backslash escape that was missing

    * gsnap.c: Fixed help string

    * sarray-read.c: Handling N's in query sequence

    * types.h: Added comment

    * iit-write-univ.c: Fixed message

    * types.h: Prefer to use unsigned long long for UINT8

2013-07-19  twu

    * stage3hr.c: Changed debugging statement

    * stage1hr.c: Changed single-end statement for terminals to look like
      paired-end statement

    * gsnap.c: Turned default for --terminal-threshold back to 2 for DNA-Seq
      alignments, since terminal alignments are needed for some GMAP alignments

    * bitpack64-write.c: Using _mm_store_si128 instead of type casting and a
      memory fence

    * compress-write.h: Added comment

    * iit-write-univ.c: Added message about coordinate sizes

    * iit-write.c: Including types.h just to make sure we have it

    * stage1hr.c: Keeping lowprob splices, unless dominated by other splices

    * gsnap.c, uniqscan.c: Restored --pairexpect and --pairdev flags.  Giving
      information to Stage3hr_setup.

    * stage3hr.h: Using insertlength, outerlength, and splice probabilities to
      resolve difficult cases

    * stage3hr.c: Using insertlength, outerlength, and splice probabilities to
      resolve difficult cases

    * dynprog.c: Added memory fences between SIMD and non-SIMD code

    * bitpack64-write.c: Added comment

    * bitpack64-write.c: Added _mm_lfence to take care of incorrect SIMD
      behavior.

2013-07-18  twu

    * sarray-write.c: Fixed procedure for checking bitpack compression

    * indexdb.c: Fixed procedure for expanding bitpack

    * indexdb-write.c: Added procedure for checking bitpack compression

    * indexdb.c: Added extra information to message when expanding offsets

    * bitpack64-access.c: Added extra information to error message

    * bitpack64-read.c: Fixed Bitpack64_block_offsets function

2013-07-17  twu

    * config.site.rescomp.tst, dynprog.c, src, trunk, util: Reintegrated
      revisions from branches/2013-07-16-faster-stage2

    * stage2.c: Reintegrated revisions from branches/2013-07-16-faster-stage2 to
      speed up stage2 procedure

    * dynprog.c, goby.c, goby.h, inbuffer.c, shortread.c, shortread.h, src,
      trunk, uniqscan.c, util: Reintegrated changes from
      branches/2013-07-17-reduce-memset to not allocate memory for short reads
      that are skipped

    * VERSION, index.html: Updated version number

    * dynprog.c: Preventing read of uninitialized variable at matrix position
      0,0 during traceback

    * dynprog.c: Not initializing directions_Egap or directions_nogap

    * stage1.c: In find_first_pair, restored decision of which end to advance
      based on number of hits

2013-07-16  twu

    * gregion.c: Turned off debugging

    * stage1.c: Allowing arbitrarily long scanning of ends to find first pair

    * sequence.c: Modified definition of Sequence_trimlength

    * gregion.c: Handling case where extentstart goes past genomic position 0

    * gmap.c: Handling case where genomebits is absent

    * genome.c: Handling case of negative genomic coordinates

    * diag.c, oligoindex_hr.c, stage3.c: Fixed ends to capture last oligomers of
      sequence and chimeras exactly

    * stage2.c: Added comment

    * bitpack64-access.c: Fixed size of accessor table

    * dynprog.c: For non-SSE4.1 8-bit SIMD, using a separate pairscore array
      incremented by 128.

    * dynprog.c: Turned off debugging

2013-07-15  twu

    * dynprog.c, src, trunk, util: Reintegrated revisions from
      branches/2013-07-15-sse2-simd8 allowing SSE computers to run 8-bit SIMD
      dynamic programming procedures

    * VERSION, config.site.rescomp.prd, index.html: Updated version number

    * dynprog.c: Before calling Boyer-Moore procedure, requiring that textlen >=
      querylen

    * dynprog.c: Not calling Boyer-Moore procedure if textright <= textleft

    * dynprog.c: Fixed variable name for SSE2 code

    * gsnap.c: Fixed --help comment for --mode flag

    * gmap.c: Including a header file for compress-write.h

    * compress-write.c: Fixed bug in writing genomebits for user-provided
      segment in GMAP

    * genomicpos.c, genomicpos.h: Fixed formatting routine to work on large
      files

    * Makefile.am, Makefile.gsnaptoo.am, bitpack64-access.c, bitpack64-access.h,
      bitpack64-write.c, bitpack64-write.h, gmap_build.pl.in, gmap_setup.pl.in,
      gmapindex.c, gsnap.c, indexdb-write.c, sarray-read.c, sarray-write.c,
      sarray-write.h, src, trunk, util: Reintegrated revisions from
      branches/2013-07-11-compress-lcp to compress lcp file

    * VERSION, config.site.rescomp.prd: Updated version number

    * stage1hr.c: Disallowing diagonals < querylength, which lead to left < 0,
      again

    * boyer-moore.c, dynprog.c: Using new Genome_get_segment_blocks_left and
      Genome_get_segment_blocks_right procedures

    * genome.c, genome.h: Added separate Genome_get_segment_blocks_left and
      Genome_get_segment_blocks_right

    * stage1hr.c: In batch_init and identify_all_segments, allowing diagonal to
      be less than querylength, needed for insertions in reads at the beginning
      of the genome.

    * genome.c: Fixed memory leak when genomebits file is not available

    * Makefile.am, NOTICE: Added NOTICE file for distribution

    * Makefile.gsnaptoo.am: Using new saca-k.c and saca-k.h files

    * compress-write.c: Fixed bug where coordinates above 2^31 were being
      treated as negative values

    * genome.c: Fixed bug where coordinates above 2^31 were being treated as
      negative values

    * iit_store.c: For IITs with divs (versions above 1), converting from
      Univinterval_T objects to Interval_T objects

    * saca-k.c, saca-k.h, sarray-write.c: Moved suffix array construction
      procedures to a separate file.  Using latest version of SACA-K code.

    * gmap_build.pl.in: Added command for making suffix array

2013-07-12  twu

    * Makefile.gsnaptoo.am, VERSION, compress-write.c, compress-write.h,
      compress.c, compress.h, compress128.c, compress128.h,
      config.site.rescomp.prd, config.site.rescomp.tst, genome-write.c,
      genome-write.h, genome.c, genome.h, genome128-write.c, genome128-write.h,
      genome128.c, genome128.h, genome128_hr.c, genome128_hr.h, genome_hr.c,
      genome_hr.h, genome_sites.c, genome_sites.h, get-genome.c, gmap.c,
      gmap_build.pl.in, gmapindex.c, gsnap.c, indexdb-write.c, maxent128_hr.c,
      maxent128_hr.h, snpindex.c, splice.c, splicetrie.c, splicetrie_build.c,
      src, stage1hr.c, stage2.c, trunk, uniqscan.c, util: Merged changes from
      branches/2013-07-05-new-genomecomp to implement 32-bit unshuffled
      representation of genome

    * gmap_setup.pl.in: Added offsets, bitpackptrs, and bitpackcomp suffixes

    * gff3_splicesites.pl.in: Removed debugging statement

    * boyer-moore.c, dynprog.c: Using Genome_get_segment_blocks to avoid making
      repeated calls to Genome_get_char_blocks

    * genome.c, genome.h: Implemented Genome_get_segment_blocks

    * sarray-read.c: Fixed bug in known splicing, where index j was not being
      incremented

    * samprint.c: Fixed hardclipping ends for circular alignments

2013-07-10  twu

    * stage1hr.c: Fixed debugging statement

2013-07-09  twu

    * gff3_introns.pl.in: Fixed warning statements

2013-07-06  twu

    * setup1.test.in: Fixed test to use gmap_build, rather than gmap_setup

2013-07-05  twu

    * oligoindex_hr.c: Handling special cases now within general case.  Not
      allowing count/store rev SIMD procedures to have ptr go below 0.  Fixed
      debugging comparison of std and SIMD results.

    * gmap.c, stage2.c: Using new interfaces to Oligoindex_untally and
      Oligoindex_clear_inquery

    * VERSION, config.site.rescomp.prd, config.site.rescomp.tst: Updated version
      number

    * sarray-read.c, sarray-write.c: Changed lcp file suffix to be .salcp. 
      Checking to see if suffix array files are present, and returning NULL
      gracefully if not.

    * oligoindex.c, oligoindex.h: Clearing Oligoindex_T data structures after
      alignment by going through oligomers in the query, rather than using
      memset on the entire structure.

    * uniqscan.c: Using new interface to Stage1hr_setup

    * gsnap.c: Added --use-sarray flag

    * stage1hr.c, stage1hr.h: Added parameter use_sarray_p to setup procedure. 
      Improved warning message for very short reads.

    * gff3_genes.pl.in: Printing genes with a single exon

    * gff3_genes.pl.in, gff3_introns.pl.in, gff3_splicesites.pl.in: Allowing
      type CDS to be equivalent to exon

2013-07-04  twu

    * oligoindex_hr.c: Removed global memcpy of oligospace in
      allocate_positions, and copying individual pointers at the same time as
      positions are assigned.

    * gsnap.c, uniqscan.c: Using new interfaces to Stage1hr procedures

    * stage1hr.c, stage1hr.h: Generalized mergeable list to be used for middle
      indels as well as splicing

    * oligoindex_hr.c: Fixed values for startdiscard and enddiscard in special
      case of count_fwdrev_simd and store_fwdrev_simd when startptr + 3 ==
      endptr.

    * sarray-read.c: Implemented SIMD procedure for scanning array in
      Elt_fill_positions_filtered

    * gsnap.c: For a single read, changing sarray access to be USE_MMAP_ONLY

    * stage1hr.c: Removed requirement of nconcordant == 0 from performing GMAP
      terminal alignments.  The concordant pairs can sometimes include pairs of
      terminal alignments.

    * sarray-read.c: In calls to Genome_count_mismatches_limit, changed
      nmismatches_allowed parameter from incorrect value of 2 to
      nmisses_allowed.

2013-07-03  twu

    * sarray-read.c: Increased value of SARRAY_EXCESS_HITS from 1000 to 100,000.
       Providing separate actions for USE_MMAP_PRELOAD and USE_MMAP_ONLY in
      Sarray_new.

    * Makefile.gsnaptoo.am, access.c, genome.c, genome.h, genome_hr.c,
      genome_hr.h, gmapindex.c, gsnap.c, pair.c, pair.h, samprint.c,
      sarray-read.c, sarray-read.h, sarray-write.c, sarray-write.h,
      spanningelt.c, splice.c, splice.h, src, stage1hr.c, stage3hr.c,
      stage3hr.h, trunk, types.h, util: Merged revisions 100273 to 100402 from
      branches/2013-07-02-suffix-array-redo to implement suffix array algorithm

    * gsnap.c: Added comment

    * gmap_build.pl.in: When compression type is specified to be none, setting
      base size to be equal to the k-mer size.

    * gmapindex.c: Fixed bug from failing to initialize compression_types. 
      Changing to NO_COMPRESSION when base size is equal to k-mer size.

2013-07-02  twu

    * indexdb-write.c, indexdb-write.h: When compression_type is NO_COMPRESSION,
      writing file as "offsets", rather than "offsetscomp".

    * indexdb.c, indexdb_hr.c: Checking for NO_COMPRESSION case first

    * oligoindex_hr.c: Fixed case for SIMD where startptr and endptr are 3 units
      apart (adjacent blocks).

    * shortread.c: Ignoring accession and header for second queryseq in
      paired-end FASTA format over two files

    * indexdb-write.c: Computing basesize separately for bitpack and gamma
      compression

    * atoiindex.c, cmetindex.c, gmapindex.c, indexdb.c, indexdb.h, snpindex.c:
      Added offsets_only_p argument to Indexdb_get_filenames

    * gmap_build.pl.in: Added -z flag for specifying compression types

    * config.site.rescomp.prd, src, trunk, util: Merged changes from
      branches/2013-07-01-faster-splicing to speed up find_singlesplices and
      find_doublesplices

    * gsnap.c, uniqscan.c: Using new interface to Stage1hr procedures

    * stage1hr.c, stage1hr.h: Merged changes from
      branches/2013-07-01-faster-splicing to use a spliceable array.  Removed
      code for quicksort version of identify_all_segments.

    * genome_hr.c: Added comment about unshuffle procedure

    * VERSION, config.site.rescomp.tst: Updated version number

    * gff3_genes.pl.in, gff3_introns.pl.in, gff3_splicesites.pl.in: Handling
      GFF3 files that lack gene lines

    * indexdb.c: Changed stderr message when allocating memory for output
      pointers

    * bitpack64-read.c: Using a procedure dispatch table instead of a switch
      statement

    * atoiindex.c, cmetindex.c, indexdb-write.c, indexdb-write.h, snpindex.c:
      Added support for bitpack compression

2013-07-01  twu

    * gmapindex.c: Added ability to write positions from offsets compressed with
      bitpacking method

    * indexdb.c, indexdb.h: Added ability to write positions from offsets
      compressed with bitpacking method

    * indexdb-write.c, indexdb-write.h: Added ability to write positions from
      offsets compressed with bitpacking method

    * bitpack64-read.c: Implemented Bitpack64_block_offsets to compute all
      offsets

    * bitpack64-read.c: Gave distinct variable names for debugging statements

    * indexdb-write.c: Added code so bitpack offsets file can be written without
      SIMD instructions.

    * bitpack64-write.c: Added code so bitpack offsets file can be written
      without SIMD instructions.

    * bitpack16-read.c, bitpack32-read.c: Fixed debugging code

    * bitpack64-read.c: Made some speed improvements in non-SIMD code by only
      adding as many terms as needed.

2013-06-30  twu

    * bitpack64-read.c: Added code for decoding of bitpack files without SSE2
      present

    * Makefile.gsnaptoo.am, bitpack64-read.c, bitpack64-read.h,
      bitpack64-write.c, bitpack64-write.h, gmapindex.c, indexdb-write.c,
      indexdb.c, indexdb_hr.c, indexdbdef.h: Changed back to 64-element blocks,
      with only two pieces of meta-information, pointer and offset0, and
      packsize inferred from successive pointers.

    * bitpack32-read.c, bitpack32-read.h: Performing cumulative sums within each
      unpack procedure

    * bitpack32-read.c, bitpack32-read.h, bitpack32-write.c, bitpack32-write.h,
      indexdb-write.c, indexdb.c, indexdb_hr.c, indexdbdef.h: Changed from
      64-element blocks to 32-element half-blocks

    * gmapindex.c: Changed from 64-element blocks to 32-element half-blocks

    * Makefile.gsnaptoo.am: Changed from 64-element blocks to 32-element
      half-blocks

2013-06-29  twu

    * indexdb.c, indexdb.h: Added Indexdb_get_filenames procedure that returns a
      Filenames_T object.  Put definition of Filenames_T into header file.

    * genome_hr.c, genome_hr.h: Using Offsetscomp_T type

    * bitpack16-write.c: Changed write procedure to take a pointer as argument,
      to avoid compiler warnings

    * bitpack16-read.h: Added procedure to compute all offsets

    * gmapindex.c, indexdb-write.h: Determining selection of filenames based on
      compression type for offsets.

    * bitpack16-read.c, indexdb-write.c: Changed forrmat to put all metablock
      information, including offset and packsize, into the pointers file

    * indexdbdef.h: Added values for compression types, and compression type
      field in Indexdb_T object.

    * indexdb_hr.c: Calling bitpack or gamma compression at run time, as needed

    * indexdb.c, indexdb.h: Searching for bitpack format, then gamma format, and
      then no compression. Created Filenames_T object to standardize routines.

    * indexdb-write.c, indexdb-write.h: Added compression_types as a parameter,
      so multiple formats can be written

    * bitpack16-read.c, bitpack16-read.h: Moved data structures to static
      variables, so they do not need to be passed as arguments each time.

    * bitpack16-read.c: Using Blocksize_T type

2013-06-28  twu

    * indexdb-write.c, indexdb-write.h: Restored lost code from large genome
      revisions

    * bitpack16-read.h: Using Blocksize_T type

    * Makefile.gsnaptoo.am: Added bitpack files for large genome programs

    * Makefile.gsnaptoo.am, bitpack16-read.c, bitpack16-read.h,
      bitpack16-write.c, bitpack16-write.h, config.site.rescomp.prd,
      indexdb-write.c, indexdb-write.h, indexdb.c, indexdb_hr.c, src, trunk,
      util: Reintegrated revisions from branches/2013-06-14-bitpacking to add
      bitpack compression code

    * index.html, src, trunk, util: Added link to large genomes version

    * oligoindex_hr.c: Merged revisions 99785 to 99781 from
      branches/2013-06-27-simd-oligo to add SIMD code for counting and storing
      olimers

2013-06-27  twu

    * types.h: Added comment

    * stage1.c: Using Width_T type

    * spanningelt.c, spanningelt.h: Using Width_T types

    * pair.c, pair.h: Changed types for binary search to be Chrpos_T

    * indexdbdef.h: Using Width_T and Blocksize_T types

    * indexdb.c, indexdb.h: Using Width_T and Blocksize_T types

    * indexdb-write.c: Resolved compiler warnings about signed/unsigned
      comparisons

    * gsnap.c: Using Width_T type

    * gmap.c: Using Width_T type

    * genome_hr.c, genome_hr.h: Using Blocksize_T type for offsetscomp_blocksize

    * block.c, block.h: Using Width_T type for oligosize

    * types.h: Added Width_T and Blocksize_t types

    * Makefile.gsnaptoo.am, README, access.c, alphabet.c, alphabet.h, atoi.c,
      atoiindex.c, bigendian.c, bigendian.h, block.c, block.h, boyer-moore.c,
      boyer-moore.h, chimera.c, chimera.h, chrnum.c, chrnum.h, chrom.c, chrom.h,
      chrsubset.c, chrsubset.h, cmet.c, cmetindex.c, compress.c, compress.h,
      configure.ac, diag.c, diag.h, diagdef.h, dynprog.c, dynprog.h, gdiag.c,
      genome-write.c, genome-write.h, genome.c, genome.h, genome_hr.c,
      genome_hr.h, genomicpos.c, genomicpos.h, genuncompress.c, get-genome.c,
      gmap.c, gmapindex.c, goby.c, goby.h, gregion.c, gregion.h, gsnap.c,
      gsnap_tally.c, iit-read-univ.c, iit-read-univ.h, iit-read.c, iit-read.h,
      iit-write-univ.c, iit-write-univ.h, iit-write.c, iit_dump.c, iit_get.c,
      iit_store.c, iitdef.h, iittest.iit.ok, indexdb-write.c, indexdb-write.h,
      indexdb.c, indexdb.h, indexdb_hr.c, indexdb_hr.h, indexdbdef.h,
      interval.c, interval.h, intron.c, intron.h, littleendian.c,
      littleendian.h, mapq.c, mapq.h, match.c, match.h, matchdef.h, matchpool.c,
      matchpool.h, maxent_hr.c, maxent_hr.h, oligo.c, oligo.h, oligoindex.c,
      oligoindex.h, oligoindex_hr.c, oligoindex_hr.h, oligop.c, oligop.h,
      outbuffer.c, outbuffer.h, pair.c, pair.h, pairdef.h, parserange.c,
      parserange.h, samprint.c, samprint.h, segmentpos.c, segmentpos.h,
      snpindex.c, spanningelt.c, spanningelt.h, splicetrie.c, splicetrie.h,
      splicetrie_build.c, splicetrie_build.h, src, stage1.c, stage1.h,
      stage1hr.c, stage1hr.h, stage2.c, stage2.h, stage3.c, stage3.h,
      stage3hr.c, stage3hr.h, substring.c, substring.h, tableint.c, tableuint.c,
      tableuint.h, tableuint8.c, tableuint8.h, trunk, types.h, uint8list.c,
      uint8list.h, uintlist.c, uintlist.h, uniqscan.c, univinterval.c,
      univinterval.h, util: Reintegrated changes from
      branches/2012-02-14-biggenomes to handle large genomes

    * index.html: Updated comments for latest version

    * dynprog.c, oligoindex.c, oligoindex.h, oligoindex_hr.c, src, stage2.c,
      trunk, util: Merged revisions 99648 to 99702 from
      branches/2013-06-25-simd-8 to use unsigned chars for counts, and 8-bit
      SIMD instructions for allocate_positions

    * stage3.c: Removed assertion that c != g when filling in a single bp gap,
      which can occur with overabundant oligomers, such as poly-A

    * VERSION, index.html: Updated version number

    * ax_ext.m4, boyer-moore.c, config.site, config.site.rescomp.tst,
      configure.ac, dynprog.c, gmap.c, gsnap.c, src, stage3hr.c, trunk, util:
      Merged revisions 99462 to 99647 from branches/2013-06-25-simd-8 to allow
      for dynamic programming with 8-bit chars when SSE4.1 is available

    * stage3.c: Allowing insert_gapholders to fill in single mismatches, rather
      than inserting a gap.  Fixed peel_rightward and peel_leftward, so the
      extrapeel step does not remove gaps.

    * stage3hr.c: Fixed issues with wrong queryseq sequence for second end being
      printed in standard GSNAP output

2013-06-26  twu

    * VERSION, index.html: Updated version number

    * dynprog.c: Further check to make sure traceback_local does not give rise
      to negative querypos coordinates.

2013-06-25  twu

    * dynprog.c: Distinguishing between NEG_INFINITY and NEG_INFINITY_DISPLAY

    * dynprog.c: Made traceback_local code follow that for traceback

    * VERSION, index.html: Updated version number

    * dynprog.c: Fixed bug in traceback_local where r is negative

2013-06-18  twu

    * VERSION, index.html: Updated version number

    * stage3.c: Using new interface to Pair_print_sam, which requires two
      accessions

    * gsnap.c, outbuffer.c, pair.c, pair.h, samprint.c, samprint.h, shortread.c,
      shortread.h, stage3hr.c: Added flag --allow-pe-name-mismatch

    * oligoindex_hr.c: Fixed faulty cmpgt statement based on 16-bit quantities,
      instead of 32-bit quantities

2013-06-14  twu

    * dynprog.c: Removed unnecessary initialization for SIMD code

    * trunk, util: Merged revisions 98458 to 98523 from
      branches/2013-06-13-sort-not-merge to speed up update of chromosome bounds
      in identify_all_segments

    * VERSION: Removed newline from file

    * gsnap.c, iit-read.c, iit-read.h, src, stage1hr.c, stage1hr.h: Merged
      revisions 98458 to 98523 from branches/2013-06-13-sort-not-merge to speed
      up update of chromosome bounds in identify_all_segments

    * VERSION, config.site.rescomp.tst, index.html: Updated version number

    * gmap.c, gsnap.c, indexdb.c, src, stage1hr.c, trunk, util: Merged revisions
      98429 to 98457 from branches/2013-06-13-sort-not-merge to add code for
      qsort, although code not used

2013-06-13  twu

    * config.site.rescomp.prd: Removed -g flag from production CFLAGS

    * config.site.rescomp.prd, dynprog.c, index.html, src, trunk, util: Merged
      revisions 97749 to 98423 from branches/2013-06-05-dynprog-sse to use SIMD
      instructions for dynamic programming procedures

2013-06-12  twu

    * dynprog.c: Fixed an unassigned value for rlo.  Fixed code in
      make_splicejunction_3 where the standard splicejunction was reverse
      complemented, but not splicejunction_alt.

2013-06-10  twu

    * oligoindex_hr.c: Using compile-time constants to clarify code

    * gmap.c, gsnap.c: Added run-time check of compiler assumptions

    * dynprog.c: Fixes to debugging code.  Slightly more efficient
      initialization.

2013-06-08  twu

    * oligoindex_hr.c: Computing skips of empty counts to increase speed of
      allocate_positions

    * oligoindex_hr.c: Using a convert instruction instead of a store
      instruction to compute the final sum in allocate_positions.

    * oligoindex_hr.c: In allocate_positions, using SIMD commands to check when
      positions need to be computed

    * gsnap.c: Turning off terminal alignments by default for DNA-Seq alignment.
      Added "all" option for --gmap-mode.

2013-06-07  twu

    * Makefile.am, config.site.rescomp.prd, config.site.rescomp.tst, dynprog.c,
      pair.c, src, trunk, util: Merged revisions 97750 to 97963 from
      branches/2013-06-05-dynprog-sse for a faster and better implementation of
      dynamic programming procedures

    * indexdb.c: Removed forced writing of positions by chunks for debugging

    * Makefile.dna.am, Makefile.gsnaptoo.am: Removed PTHREAD_CFLAGS from LDFLAGS
      and moved SIMD_FLAGS to CFLAGS

    * config.site: Added sections for bzlib, simd, and popcnt

    * gmap.c: Moved free of usersegment to end, after we decide whether we need
      to free genome_blocks

    * configure.ac: Moved check for SIMD to be close to that for check for
      popcnt

    * VERSION: Updated version number

    * configure.ac: Added flags --enable-simd and --disable-simd to control
      check for SIMD features

    * indexdb.c: Added a second attempt to write positions file in chunks if the
      first write fails.  Added a sanity check in reading in a genomic index
      that the positions file has the expected size.

2013-06-05  twu

    * configure.ac: Fixed comment

    * ax_ext.m4: Changed comment lines for config.h to be standard definitions
      of 1

    * Makefile.dna.am, Makefile.gsnaptoo.am: Added SIMD_FLAGS

    * gmap.c, gsnap.c: Added available SIMD functions to --version output

    * indexdb.c: Added check that positions file has the expected size

    * oligoindex.c, oligoindex.h, oligoindex_hr.c: Using SIMD functions for
      allocate_positions

    * acinclude.m4, configure.ac: Added check for SIMD support

    * ax_ext.m4: Fixed spelling errors

    * ax_check_compile_flag.m4: Initial import into SVN

    * ax_gcc_x86_cpuid.m4: Initial import into SVN

    * ax_ext.m4: Initial import into SVN

    * dynprog.c: Created separate source code for jump late and jump early
      conditions

2013-05-28  twu

    * pair.c: Fixed bug in final revcomp of sequence, where genomealt was not
      being complemented

2013-05-22  twu

    * archive.html: Storing version 2013-03-31 into archive

    * index.html: Updated for version 2013-05-09

    * iit_get.c: No longer printing total, when getting queries from stdin

    * parserange.c: Handling a case where interpreting query as a contig, and
      the result is NULL

    * pair.c: Fixed computation of coverage for GFF output

2013-05-17  michafla

    * Makefile.am, bootstrap.dna, bootstrap.gmaponly, bootstrap.gsnaptoo,
      bootstrap.pmaptoo, bootstrap.three, configure.ac: Port from release: use
      only 'config' for m4 macros

2013-05-09  twu

    * dynprog.c, dynprog.h, splicetrie.c: In making splice junctions, checking
      for junctions that go to the left of genomic position 0.

2013-05-08  twu

    * samprint.c: Fixed SAM output for translocations, affected by changes to
      hardclipping

2013-05-07  twu

    * stage2.c: In find_shifted_canonical, checking for leftpos and rightpos
      that exceed chrhigh

2013-05-06  twu

    * uniqscan.c: Using new interface to Stage1_single_read

    * gsnap.c, stage1hr.c, stage1hr.h, uniqscan.c: Passing
      min_distantsplicing_end_matches and min_distantsplicing_identity to
      Stage1hr_setup.  Made GSNAP more sensitive to shorter reads, such as 50
      bp.

    * stage3.c: Removed line that is not reached.

2013-05-03  twu

    * gmap.c: Added comment in --help output about chimeric alignments being an
      exception to the filtering options

    * stage3.c, stage3.h: Added functions Stage3_recompute_coverage and
      Stage3_passes_filter

    * gmap.c: Added options --min-trimmed-coverage and --min-identity

    * stage2.c: Further check to make sure splice site does not occur in first 3
      bp of segment in find_shifted_canonical

2013-05-02  twu

    * stage2.c: In find_shifted_canonical, preventing discovery of splice sites
      in first 3 bp of segment

    * index.html: Made changes for version 2013-03-31 (v5)

    * gmap.c: Checking value of Stage3_merge_chimera before creating chimera and
      running merge_left_and_right_transloc.

    * stage3.c, stage3.h: Stage3_merge_chimera checks for pairs on left and
      right being non-NULL, and returns a bool

    * pairpool.c: Fixed Pairpool_clip_bounded so it handles the case where the
      list is NULL.

2013-04-30  twu

    * get-genome.c: Added --exact flag

    * stage3hr.c: Removed exclusions in Stage3pair_overlap that prevented tails
      from being hard clipped.

    * shortread.c: Fixed hard clipping of reads and quality strings to match new
      definitions of hardclip_low and hardclip_high

2013-04-27  twu

    * iit_get.c: Added --exact option

    * chimera.c: Adding range of chimeric overlap in XT SAM field

    * outbuffer.c: Using new interface to SAM_print

    * stage3hr.h: Revised Stage3pair_overlap to return hardclip5, hardclip3, and
      clipdir.

    * stage3hr.c: Revised Stage3pair_overlap to return hardclip5, hardclip3, and
      clipdir.

    * samprint.h: Added clipdir as a parameter to SAM_print

    * samprint.c: Handling clipping of overlaps when the low end of the first
      read and the high end of the second read should be clipped.  This is
      indicated by clipdir of -1, and occurs when the insert length is so short
      that the two reads have passed each other.

2013-04-12  twu

    * pair.c, pair.h, samprint.c: Providing effective_chrnum of mate to
      Pair_print_sam, in case GMAP alignment has a translocation for a mate

2013-04-11  twu

    * gmap.c: Made changes for PMAP to compile

2013-04-10  twu

    * gmap.c: Fixed memory issues in merging middle pieces

2013-04-09  twu

    * Makefile.dna.am: Fixed name of file

2013-04-05  twu

    * stage1hr.c, stage3hr.c, stage3hr.h: When terminal_threshold is set to a
      high value, using trim_left_raw and trim_right_raw to exclude GMAP hits.

    * samprint.c: Reverting to previous version, where chrpos of 0 indicates
      nomapping

    * oligoindex_hr.c: Fixed an issue where minus oligomers were extending past
      the beginning

    * stage3.c: Removed the unused variables nintrons, nnonintrons, intronlen,
      and nonintronlen.

2013-04-04  twu

    * gmap.c, outbuffer.c, stage3.h: Changed name from map_genes to map_ranges,
      to avoid confusion

    * iit_store.c: Handling empty files gracefully

    * iit-write.c: If no intervals are found, then returning gracefully instead
      of exiting

    * outbuffer.c: If allow_chimeras_p is false and chimera is present, then
      effective_maxpaths is 0.

    * gmap.c: Added flag --no-chimeras

    * stage3hr.c: Added debugging statement

    * samprint.c: Using NULL hit instead of zero chrpos to indicate lack of
      mapping

2013-04-03  twu

    * dynprog.c, stage3.c: Fixed uninitialized variable for g_alt in
      get_genomic_nt

    * stage3hr.c, substring.c, substring.h: Updating nmismatches_bothdiff also

2013-04-02  twu

    * stage3hr.c: Handling the new pairtype UNSPECIFIED.

    * stage1hr.c: Allowing align_pair_with_gmap to change final_pairtype.  Calls
      Stage3pair_new with pairtype UNSPECIFIED.

    * resulthr.c, resulthr.h: Added function Pairtype_string

2013-04-01  twu

    * VERSION, config.site.rescomp.tst: Updated version number

    * stage3.c: Added debugging statements

    * splicetrie.c: Using computed miss_score.  Both miss_score and
      threshold_miss_score are negative.

    * smooth.c, smooth.h: Added code for marking short exons, but not used

    * pair.c, pair.h: Removed unused procedures

    * dynprog.h: Computing miss_score.  Both miss_score and threshold_miss_score
      are negative.

    * dynprog.c: Computing miss_score.  Both miss_score and threshold_miss_score
      are negative.

2013-03-30  twu

    * stage3.c: Fixed bug in handling list for middle exon in
      build_pairs_dualintrons. In traverse_single_gap, when forcep == false, not
      adding pairs if finalscore < 0.

2013-03-28  twu

    * stage3.c: Skipping pass 9 (distalmedial) and relying instead of
      trim_noncanonical_exons.  In pass 8, for extend_endings, not removing
      indel gaps, and setting quit_on_gap_p true, to preserve indels at ends. 
      Not setting ambig_end_lengths in trim_noncanonical_exons, reserving it
      instead for trim_novel_spliceends.  Performing final extension of ends at
      end of path_compute, and not at beginning of path_trim.

    * stage1hr.c: Allowing redo of GMAP pairs based on inconsistent senses.

    * gmap.c, gsnap.c: Increased maxpeelback from 11 to 20

    * stage3.c: Added quit_on_gap_p parameter to peel_rightward and
      peel_leftward. This allows smoothing procedures after traverse_single_gap
      to merge gaps, and dynamic programming traversal of introns to add indels.
      Calling remove_indel_gaps before dynamic programming solutions of introns.
       Added computation of max_intron_score, and using it in
      pick_cdna_direction to determine if sense is NULL.

2013-03-27  twu

    * Makefile.dna.am: Added commands for splicing-score program

    * stage3hr.c: Handling case in Stage3pair_new where expect_concordant_p is
      false for a GMAP alignment

    * stage1hr.h: Added distances_observed_p to Stage1hr_setup

    * splicetrie_build.c: When observed distance is greater than
      localsplicedist, storing observed distance

    * gsnap.c, uniqscan.c: Added distances_observed_p to Stage1hr_setup

    * stage1hr.c: In find_splicepairs_distant, if splice distance is within the
      known maximum distance, then treating as a local splice, rather than a
      distant splice.

    * substring.c: Added code for Substring_intragenic_splice_p, but using
      version in stage1hr.c instead

    * stage3hr.c: In Stage3_determine_pairtype, using effective_chrnum instead
      of chrnum, so new pairs with PAIRED_UNSPECIFIED from GMAP runs work.

    * stage3hr.h: Added function Stage3pair_sense_consistent_p.

    * stage3hr.c: Changed ambig_end_interval, used in penalty, to 8.  In
      Stage3end_pick_cdna_direction, returning a non-zero cdna_direction. Added
      function Stage3pair_sense_consistentp.

    * stage3.c: Allowing ambig end only if medial prob > 0.95.  Moved
      trim_novel_spliceends earlier, so it is effective.  In
      pick_cdna_direction, making a final use of alignment score.  Checking for
      divide by zero in computing defect_rate.

    * stage1hr.c: Using matches over entire read to determine whether to perform
      GMAP. Performing halfmapping of GMAP against terminals only if nconcordant
      is 0.  Added a redo step on align_pair_with_gmap if the senses are
      inconsistent.

    * inbuffer.c, shortread.c, shortread.h: Allowing FASTA input files to be
      paired

2013-03-26  twu

    * stage1hr.c: For GMAP alignments with long trimmed ends, comparing
      terminal_threshold against user_maxlevel in deciding whether to drop them.

    * stage3hr.c: Allowing GMAP improvement to be run on paired results

    * stage1hr.c: Allowing GMAP improvement to be run on paired results

    * samprint.c: Adding PG:Z:T output for terminal alignments

2013-03-25  twu

    * stage3hr.c: Switching back to old GMAP filter, where nmatches_posttrim
      must exceed querylength/2.

    * stage1hr.c: Applying terminal_threshold test to GMAP alignments

2013-03-21  twu

    * dynprog.c: Allowing only two mismatches in a distant splice

    * gmap.c, gsnap.c: Made results of --version consistent

    * stage1hr.c: Applying match length criterion to terminal GMAP alignments

    * stage1hr.c: Incrementing nconcordant only for high-quality GMAP pairsearch
      results, where nmatches is high enough, instead of using GMAP score.

2013-03-14  twu

    * splicetrie_build.c: Fixed type

    * gsnap.c, shortread.c, shortread.h: Implemented --force-single-end flag

    * index.html: Added comment about --force-single-end flag

    * README: Added description of stranded and nonstranded cmet and atoi modes.

    * README: Added information about --force-single-end flag and multiple FASTQ
      files on the command line.

    * configure.ac: Removed --with-samtools flag

    * VERSION, config.site.rescomp.tst, index.html: Updated version number

2013-03-13  twu

    * Makefile.dna.am, gmap.c, oligoindex_hr.c, stage3.c, stage3.h: Made changes
      so PMAP would compile

    * index.html: Made changes for release 2013-03-05

    * splicetrie_build.c: Added code for get_exons, which may be needed for
      getting splice sites from a genes IIT file

    * genome-write.h: Changed UINT4 to Genomecomp_T

    * types.h: Added Genomecomp_T

    * stage3.c: Added minimum length for running stage2 in a dual break

    * stage2.c: Improved debugging statements

2013-03-12  twu

    * genome_hr.c: Returning correct reverse chrpos for
      prev_dinucleotide_position_rev. Printing universal coordinates on blocks
      for debugging.  Improved debugging statements for finding dinucleotides.

    * stage3.c: Fixed pass 7, so path is expected in loop, and then is converted
      to pairs at the end.

    * pair.c: In Pair_start_bound and Pair_end_bound, skipping pairs with
      querypos < 0, which represent gaps.

2013-03-06  twu

    * indexdb.c: Removed code for writing word-by-word

    * gsnap.c: Fixed bug where --adapter-strip=off had no effect.

2013-03-05  twu

    * fa_coords.pl.in, gmap_build.pl.in, gmap_process.pl.in: Allowing FASTA file
      names and gzipped file names to contain spaces

    * gsnap.c: Added entry for distant-splice-identity

    * VERSION, config.site.rescomp.tst: Updated version number

    * stage3hr.c: Restored check on bad GMAP alignments

    * stage1hr.c: Taking both long and short terminals, with short terminals
      based on half the number of mismatches.  Always setting long and short
      terminal pos based on one-third of the read length.

    * gmap.c: Fixed issues with computation of chimeric middle pieces, including
      memory freeing

    * dynprog.c: Fixed bug with uninitialized variable introntype in
      Dynprog_genome_gap

2013-02-28  twu

    * stage1hr.c: No longer using Stage3_short_alignment_p to rule out GMAP hits

    * gsnap.c, stage3hr.c, stage3hr.h: Using min-nconsecutive criterion instead
      of min-coverage criterion for keeping GMAP hits.

2013-02-26  twu

    * stage1hr.c: Introduced idea  of long terminals and short  terminals, with
      terminal length = querylength/3.  Allowing GMAP pairsearch to set
      nconcordant.

    * stage1hr.c: Reverted to not recording GMAP pairsearch successes as
      nconcordant

    * stage3hr.c: No longer calling Stage3_bad_stretch_p on GMAP alignment.  Not
      allowing end indels to set trims for alignment comparisons. Penalizing
      indels in alignment comparisons.

    * stage3.c, stage3.h: Added procedure Stage3_good_part

    * stage1hr.c: Recording GMAP pairsearch successes as nconcordant

2013-02-25  twu

    * index.html: Updated to reflect new version number

    * VERSION: Updated version number

    * gsnap.c: Increased values of max_gmap_pairsearch and max_gmap_terminals
      from 10 and 5, respectively, to 50 and 50

    * stage1hr.c: Sorting terminals by matches before running GMAP against a
      limited number of them

    * uniqscan.c: Printing given sequence in addition to uniqueness result

    * stage3.c: Reduced requirement for GMAP from querylength/2 to querylength/3

    * gsnap.c: Reduced gmap_min_coverage from 0.50 to 0.33

    * stage1hr.c: Counting nhits during subs and indels, and exiting when the
      value exceeds maxpaths_search

2013-02-23  twu

    * gff3_introns.pl.in, gff3_splicesites.pl.in: Disallowing negative intron
      lengths

    * gff3_genes.pl.in, gff3_introns.pl.in: Skipping blank lines.

    * gff3_splicesites.pl.in: Fixed bug in warning message.  Skipping blank
      lines.

2013-02-22  twu

    * stage3hr.c: Setting value of guided_insertlength for exact hits

    * gsnap.c, outbuffer.c, outbuffer.h, samprint.c, samprint.h, stage1hr.c,
      stage1hr.h: Created separate variables maxpaths_search and maxpaths_report

    * shortread.c: Fixed potential bug if sequence is longer than
      sequence_length

    * uniqscan.c: Computing full sequence first, then iterating from start until
      we reach a unique alignment.

2013-02-21  twu

    * samprint.c: Fixed assertion for circularpos to handle trimming at ends

    * substring.c: Handling trimmed regions in Substring_circularpos

2013-02-15  twu

    * VERSION, config.site.rescomp.tst, index.html: Updated version number

    * stage1hr.c: Changed terminal length for one-half to one-third

    * stage1hr.c: Fixed bug in the terminal position used for comparing
      mismatches in find_terminals

2013-02-14  twu

    * stage3hr.c: Preventing distant splices from being considered as circular
      aliases and removed

    * stage1hr.c: Fixed typo in comment

2013-02-12  twu

    * stage1hr.c: Increased MAXCHIMERAPATHS from 3 to 100

2013-02-08  twu

    * stage1hr.c, stage3hr.c, stage3hr.h: Added Stage3end_eval_and_sort_guided,
      to sort one end of unpaired alignments when the other end has a unique
      alignment.

2013-02-07  twu

    * get-genome.c: Fixed bug in printing accession for sequence, based on
      coordinates, for minus strand

    * uniqscan.c: Running scan for entire sequence length.  Reduced
      terminal-threshold to 5.

2013-02-05  twu

    * VERSION, index.html: Updated version number

    * genome-write.c, genome_hr.c, indexdb.c, outbuffer.c, stage1hr.c, stage3.c,
      substring.c: Fixed static analysis errors found by Nathan Weeks using the
      Clang 3.1 compiler

2013-01-24  twu

    * VERSION, archive.html, config.site.rescomp.tst, index.html: Updated
      version number

    * iit_get.c: Allowing -N flag to be used with tally IIT files

    * outbuffer.c: Fixed bug where SAM headers were duplicated in .nomapping
      file

2013-01-17  twu

    * pair.c: Added PG:Z:M flag for alignments using GMAP method within GSNAP

    * stage3.c: Made further changes to peel_leftward and peel_rightward to
      prevent an indel from being on top of pairs or path

    * Makefile.dna.am: Add bzip2 files

    * stage3.c: Changed peel_leftward and peel_rightward so they do not leave a
      gap or indel at the top of the pairs or path.

2013-01-16  twu

    * iit_store.c: Added debugging statement

    * snpindex.c: Added information for warning statement from check_acgt

    * configure.ac: Added configure commands for bzip2 library

    * README: Added comment about bunzip2

    * Makefile.gsnaptoo.am, bzip2.c, bzip2.h, gsnap.c, inbuffer.c, inbuffer.h,
      sequence.c, sequence.h, shortread.c, shortread.h: Added procedures for
      handling bunzip2

    * snpindex.c: Fixed issue where warning messages referred to wrong labels

    * stage1hr.c: Added debugging information about hits used as anchors for
      GMAP

    * stage3hr.c: Restored checks on chromosomal bounds for Stage3_new_gmap, and
      returning NULL when bounds are exceeded

2012-12-20  twu

    * VERSION, config.site.rescomp.tst, index.html: Updated version number

    * stage3.c: In assign_gap_types, handling case where cdna_direction == 0

2012-12-19  twu

    * gmap.c: Calling Stage3_guess_cdna_direction at appropriate places after
      merge_left_and_right_readthrough.  Using maxextension instead of
      max_intronlength for Stage 1 computations.

    * stage3.h: Added function Stage3_guess_cdna_direction

    * stage3.c: Using new interface to Pairpool_push_gapalign.  Not performing
      guess of cdna_direction in Stage3_merge_local_splice.

    * stage3hr.c, stage3hr.h: Stage3_pair_up_concordant now limits number of
      samechr results

    * stage1hr.c: Using new interface to Stage3_pair_up_concordant, which now
      takes nsamechr

    * stage1.c, stage1.h: Using extensionlen instead of max_intronlength. 
      Providing variables in Stage1_setup.

    * pairpool.c, pairpool.h: Handling introntype field in Pair_T object

    * pairdef.h: Added introntype as field for Pair_T object

    * pair.c, pair.h: Added function Pair_fix_cdna_direction_array

    * outbuffer.c, outbuffer.h: Adding commas to output of memory usage

    * mem.c, mem.h: Added reporting of peak memory usage

    * intron.c: For cdna_direction of 0, returning introntype rather than
      NONINTRON

2012-12-18  twu

    * stage3.c: In Stage3_merge_local_splice, if intronlength is small or
      negative, calling Stage3_merge_local_single.

    * mem.c: Increased size of hash table

    * gmap.c: Putting results of middle search into middlepieces, and iterating
      through that list.  Searching for local readthroughs first, but linking
      local middle piece to both ends in any case.

2012-12-14  twu

    * gsnap.c: Fixed --help documentation to show default for -a is off

2012-12-12  twu

    * VERSION, index.html: Updated version number

    * stage3.c: In Stage3_merge_local_splice, not advancing querypos for a
      deletion

2012-12-11  twu

    * VERSION, gmap.c, pair.c, result.c, src, stage3.c, stage3.h, trunk, util:
      Merged changes from branches/2012-11-11-middle-piece to allow for
      searching of middle pieces in GMAP

    * uinttable.c: Fixed memory leak

    * table.c: Fixed memory leak

    * samprint.c: Fixed issue with CIGAR string and hard-clipping

    * gmap.c: Not finding chimeras if --nosplicing is requested

2012-12-10  twu

    * indexdb.c: In writing gammas, using a buffer for offsetcomp, so we do not
      write words one at a time, which is slow on some filesystems

    * samprint.c: In compute_cigar, handling D and N types based on querypos

    * samprint.c: Rewrote compute_cigar

2012-12-07  twu

    * gmap.c: Added separate procedure evaluate_query for use before all calls
      to Stage1_compute.  Turned on check for repetitivep.

    * VERSION, config.site.rescomp.tst, index.html: Updated version number

    * archive.html: Added entry for 2012-07-20.v2

    * gmap_build.pl.in: Added -e or --nmessages flag

    * samprint.c: Fixed problem with CIGAR string and clip-overlap function

    * shortread.c: No longer assuming that slashes in the input FASTQ file are
      present consistently

2012-12-06  twu

    * stage1hr.c: Added debugging messages

    * iit_get.c: Added printing of flanking results in stdin mode.  Added -C
      flag to force interpretation of queries as coordinates.

    * iit-read.c: Fixed coord_search_low and coord_search_high to prevent it
      from going below given chromosome

    * gsnap.c: Revised --help message to give correct formula for fast index
      size

    * gmapindex.c: Added nmessages as a parameter

    * gmap.c: Using new interface to Stage3_merge_chimera

    * get-genome.c: Added --signed flag

    * genome-write.c, genome-write.h: Added nmessages as a parameter

    * stage3.h: Doing full trimming of inside ends of chimeras

    * stage3.c: Doing full trimming of inside ends of chimeras.  Added commented
      code from revised 2012-07-20 version to prevent chimera extensions from
      crossing chromosomal coordinates.

    * pair.c: Handling case for MD string in reverse query direction of I-to-D
      and N-to-D transitions

2012-11-28  twu

    * get-genome.c: Fixed sign to be 0 when coordend == coordstart

    * VERSION, index.html: Updated version number

    * gmap_process.pl.in: Turning off handling of pipes in FASTA headers

    * iit_get.c: Using new interface for IIT_get_flanking_typed

    * iit-read.c, iit-read.h: Added procedures for getting signed results

    * get-genome.c: Added --signed flag

    * samprint.c: Fixed bugs in cigar strings for hard clipping and
      translocations

2012-11-21  twu

    * VERSION, index.html: Updated version number

    * gmap.c: Added a limit to iterations of chimera search to prevent an
      infinite loop

2012-11-19  twu

    * VERSION, index.html: Updated version number

    * gmap.c: On chimera search, calling original found subsequence, in case
      stage 1 was led astray by the ends

    * stage2.c: Changed debugging call

    * dynprog.c: Not aborting from Dynprog_microexon_int if cdna_direction is 0,
      which can happen with chimeric joins.  Returning NULL instead.

    * stage2.c: Moved some debugging statements around

    * stage1.c: Added debugging statements for printing final results

    * gregion.c: Increasing MAX_GENOMICLENGTH from 1 million bp to 2 million bp

    * stage3.c: Using make_pairarrays instead of make_pairarrays_chimera in
      Stage3_merge_local_splice.  Calling this even for dual break.

    * stage2.c: Made slight differences in coordinates for Oligoindex_hr_tally
      on minus strand

    * oligoindex_hr.c: Added debugging statements

    * oligoindex.c, oligoindex.h: Added debugging procedure

    * pair.c: Changed all types of exon_genome positions from int to
      Genomicpos_T

2012-11-16  twu

    * stage3.c: Fixed bug in computing chrstart and chrend for
      Stage2_compute_one from traverse_dual_break.  Making all splice_genomepos
      consistently as chromosomal coordinates.

    * stage3hr.c: Handling case in Stage3_cdna_direction where stage3 is NULL

    * pair.c, pair.h, samprint.c: Fixed CIGAR strings when clip-overlap hits an
      insertion

    * pairpool.c: Added assert.h

2012-11-15  twu

    * boyer-moore.c, boyer-moore.h, config.site.rescomp.tst, diag.c, diag.h,
      diagdef.h, dynprog.c, dynprog.h, genome.c, genome_hr.c, genome_hr.h,
      gmap.c, gregion.c, gregion.h, iit-read.c, iit_dump.c, oligoindex.c,
      oligoindex.h, oligoindex_hr.c, oligoindex_hr.h, pair.c, pair.h,
      pairpool.c, splicetrie.c, splicetrie.h, splicetrie_build.c, src,
      stage1hr.c, stage2.c, stage2.h, stage3.c, stage3.h, trunk, util: Merged
      revisions 78884 to 79299 from branches/2012-11-11-middle-piece to use
      chromosomal coordinates, chroffset, and chrhigh

    * README, VERSION, index.html: Updated version number

    * genome.h: Changed interface to Genome_fill_buffer_simple_alt

    * splicetrie_build.c: Using new interface to Genome_fill_buffer_simple_alt

    * genome.c: Fixed bugs in substituting SNPs into string
      (uncompress_mmap_snps_subst)

2012-11-10  twu

    * VERSION, index.html: Updated version number

    * stage3.c, stage3.h: Implemented Stage3_set_genomicend

    * stage2.c: Remove MAX_GENOMICLENGTH restriction

    * gregion.c: Impose MAX_GENOMICLENGTH on gregion

    * gmap.c: Revising genomicend after pieces are merged

2012-11-09  twu

    * indexdb.h: Fixed type conflict involving Oligospace_T with definition in
      indexdb.c

    * stage2.c: Raised MAX_GENOMICLENGTH from 1 million to 10 million bp

    * stage3.c: Fixed identification of insertion in Stage3_mergeable

    * dynprog.c: Added debugging statement

    * gregion.c: Fixed bug where gregion could extend beyond chrhigh

2012-11-07  twu

    * stage3hr.c: Using fact that circularp[0] == false to handle translocations

    * iit-read.c: Fixed IIT_circularp for lookup of 1-based chrnum values

    * VERSION, index.html: Updated version number

    * gmap.c, gsnap.c, uniqscan.c: Using new interface to Stage3hr_setup

    * stage3hr.c: Checking hit->alias before checking hit->plusp

    * stage3hr.c, stage3hr.h: Using information about circularp in
      compute_circularpos and in computing hit->alias.

    * iit-read.c, iit-read.h: Implemented IIT_circularp function

    * VERSION, config.site.rescomp.prd, index.html: Updated version number

    * VERSION, index.html: Updated version number

    * stage1hr.c: Added checks to make sure greedy mapping positions do not
      result in a genomic segment with negative length

2012-11-06  twu

    * VERSION, index.html: Updated version number

    * access.c: Changed printf commands for off_t to use %ju

    * genome_hr.c: Fixed computation of wildcard SNP positions to exclude
      positions where reference allele is 'N'.

    * access.c, configure.ac: Handling compiler warning messages when sizeof
      off_t is not 8

    * VERSION, index.html: Updated version number

    * dynprog.c, dynprog.h, gsnap.c, uniqscan.c: Removed genome and genomealt
      from Dynprog_setup

    * stage1.c: No longer filtering for support anymore, since it leads to poor
      behavior

    * gmap.c: Fixed a bug where a NULL genomealt was being passed to
      Chimera_find_exonexon

2012-10-31  twu

    * coords1.test.ok: Changed to match current output of program, which allows
      for circular chromosomes

    * coords1.test.ok: Changed to match current output of program, which allows
      for circular chromosomes

    * Makefile.gsnaptoo.am: Made files match those of Makefile.dna.am

    * archive.html, index.html: Made changes for new version

    * README: Added discussion of --force-xs-flag, the XW and XV fields, and
      circular chromosomes.

    * VERSION, config.site.rescomp.tst: Updated version number

    * stage2.c: Prefer shorter intron in all cases

    * gsnap.c, stage1hr.c, stage1hr.h, uniqscan.c: Implemented variable for
      splice distancs at novel ends

    * stage2.c: For first intron, favoring shorter intron lengths in cases of
      ties

    * stage1hr.c: Refinements made to computing GMAP genomic region, by checking
      if a fallback mappingstart or end is available.  Performing n best GMAP
      alignments for pairsearch.  Going back to sorting terminals by matches in
      GMAP terminals.

    * stage3hr.c: Modifications made to score_eventrim for GMAP, by ignoring
      small trims and restoring indel penalty.  Fixed bug in computing
      non_terminal3_p.

    * stage3.c: Calculating ambig end lengths better in trimming noncanonical
      ends. Not doing trim of novel splice end if ambig end length already set.

    * samprint.c, samprint.h: Implemented --force-xs-direction flag

2012-10-30  twu

    * dynprog.c: Limiting indels to 3 bp around splice sites

    * stage2.c: Edited comment on debugging usage

    * stage3.c: In trimming non-canonical end exons, when end exon is actually
      canonical but with poor probability, we trim the exon but set
      ambig_end_length, so the alignment can compete with other alignments.

    * stage3.c: Made bad stretch algorithm more tolerant

2012-10-29  twu

    * genome_hr.c: Fixed compile for GMAP

    * pair.h: Added code to handle force-xs-direction.  Using
      mate_cdna_direction when necessary.

    * pair.c: Added code to handle force-xs-direction.  Using
      mate_cdna_direction when necessary.  Counting N's as mismatches for
      trimming purposes.

    * genome_hr.c, genome_hr.h, substring.c: Counting N's as mismatches for the
      purposes of end trimming

2012-10-28  twu

    * substring.c, substring.h: Added function Substring_chimera_sensedir

    * outbuffer.c, outbuffer.h: Removed snps_p as a parameter

    * gmap.c, gsnap.c, uniqscan.c: Added --force-xs-dir flag

2012-10-27  twu

    * stage3.c, stage3.h: Removed snps_p

    * dynprog.c: Fixed debugging statements

2012-10-26  twu

    * gmap.c, gsnap.c, uniqscan.c: Using new interface to Stage3_setup

    * dynprog.c: Commented out constants that should not be used by PMAP

    * stage3.c, stage3.h: Commented out constants that should not be used by
      PMAP

    * samprint.c: Printing XW and XV only when SNP-tolerant alignment is used

    * pair.c, pair.h: Printing XW and XV only when SNP-tolerant alignment is
      used

    * intron.c: Commented out constants that should not be used by PMAP

    * uniqscan.c: Using new interfaces to procedures.

    * gmap.c, gsnap.c: Added flag --md-lowercase-snp.  Using new interfaces to
      procedures.

    * dynprog.c: Using jump_late_p in cdna_gap and genome_gap, which can
      sometimes give rise to indels

    * stage1hr.c: Removed nsalvage from debugging statements

    * stage3.c: Changed Stage3_bad_stretch_p to count each indel gap as one
      mismatch, regardless of length

    * pair.c: Removed debugging statements

    * stage3.c, stage3.h: Using new interface to Intron_type.  Obtaining
      alternate genomic segments in some procedures.

    * stage2.c, stage2.h: Obtaining alternate allele and putting into Pair_T
      object when SNP-tolerant alignment is used

    * splicetrie.c, splicetrie.h: Using new interfaces to Dynprog splicejunction
      procedures

    * outbuffer.c, outbuffer.h: Added snps_p field

    * iit-read.c, iit-read.h: Added function IIT_interval_type

    * genome_hr.c: In finding dinucleotides, using alternate genome

    * genome.c, genome.h: In function used to create splicejunctions, returning
      alternate genomic segment

    * chimera.c, chimera.h: Using alternate alleles in evaluating splice sites

    * samprint.c, samprint.h: Printing lowercase MD for known SNP variants

    * pair.c, pair.h: Printing lowercase MD for known SNP variants

    * intron.c, intron.h, maxent_hr.c, maxent_hr.h: Using alternate alleles in
      evaluating splice sites

    * dynprog.c: Using alternate alleles in evaluating splice sites

    * access.c, access.h: Added function Access_file_equal

2012-10-25  twu

    * dynprog.h: Taking alternate genome sequence in splicejunction procedures

    * dynprog.c: Using alternate allele in computing dynamic programming
      matrices

    * snpindex.c: Made snpindex with with circular chromosomes

    * snpindex.c: Checking if given IIT file and installed IIT file are the same

2012-10-24  twu

    * VERSION, boyer-moore.c, boyer-moore.h, config.site.rescomp.tst, diag.c,
      diag.h, dynprog.c, dynprog.h, genome.c, gmap.c, oligoindex_hr.c,
      oligoindex_hr.h, src, stage1hr.c, stage2.c, stage2.h, stage3.c, stage3.h,
      trunk, util: Merged revisions 77378 to 77446 from
      branches/2012-10-21-no-genomicseg to remove genomicseg parameters

2012-10-23  twu

    * stage3.c: Fixed uninitialized variables knownsplice5p, knownsplice3p, and
      intronlength.

2012-10-22  twu

    * gsnap.c: Using new interface to Genome_setup and SAM_setup.

    * gmap.c: Using new interface to Genome_setup.  Using -V and -v flags as in
      GSNAP.

    * stage1.c: Fixed matchsize to be double index1part when index1part < 12

    * dynprog.c, genome.c, pair.c, pair.h, pairdef.h, pairpool.c, pairpool.h,
      stage2.c, stage3.c: Added genomealt to Pair_T object and assigning this
      value in Pairpool_push routines.  Creating GENOMEALT_DEFERRED value until
      we resolve all occurrences of genomicseg.

2012-10-21  twu

    * boyer-moore.c, dynprog.c, dynprog.h, genome.c, genome.h, maxent_hr.c,
      pair.c, stage2.c, stage3.c: Genome_get_char_blocks and get_genomic_nt now
      return alternate allele

    * samprint.h: Added snps_iit to SAM_setup

    * samprint.c: Computing mismatches for both refdiff and bothdiff, and
      printing XW and XV fields if running in SNP-tolerant mode

2012-10-20  twu

    * gmap.c: Clarified that chimera search can be turned off by setting value
      to 0

    * indexdb_hr.c: Fixed debugging statement

    * snpindex.c: Fixed program to work with sampling intervals other than 3 bp.
      Performing file copy of IIT file to maps subdirectory.

    * access.c, access.h: Added function Access_file_copy

    * samprint.c: Fixed bug where circularpos was called before results arrays
      were retrieved

    * stage3hr.c: Using hitpair score_eventrim in Stage3pair_optimal_score,
      instead of individual score5 and score3.

    * Makefile.dna.am, VERSION, chrom.c, chrom.h, config.site.rescomp.tst,
      dynprog.c, fa_coords.pl.in, gamma-speed-test.c, gdiag.c, genome-write.c,
      genome-write.h, genome.c, genome.h, gmap.c, gmap_build.pl.in,
      gmap_process.pl.in, gmapindex.c, gregion.c, gregion.h, gsnap.c,
      gsnap_tally.c, iit-read.c, iit-read.h, iit_dump.c, iit_store.c, indexdb.c,
      outbuffer.c, pair.c, pair.h, samprint.c, samprint.h, splicetrie_build.c,
      src, stage1.c, stage1.h, stage1hr.c, stage3.c, stage3.h, stage3hr.c,
      stage3hr.h, substring.c, substring.h, trunk, uniqscan.c, util: Merged
      revisions 76693 to 77345 from branches/2012-10-15-circular to handle
      circular chromosomes

2012-10-19  twu

    * outbuffer.c: Fixed write mode for appending to a file

2012-10-18  twu

    * dynprog.c: Allowing get_genomic_nt to retrieve negative coordinates

2012-10-15  twu

    * gmap.c, gsnap.c, outbuffer.c, outbuffer.h: Added --append option to append
      results to output files

    * memory-check.pl: Added -9 flag to print successive maximum memory usage

2012-10-12  twu

    * types.h: Added OLIGOSPACE_NOT_LONG

    * stage3.c: Handling PMAP case for final guess at cdna_direction

    * stage2.c: Not doing stage 2 if genomiclength > MAX_GENOMICLENGTH

    * indexdb.c: Fixed issues with %lu using OLIGOSPACE_NOT_LONG

    * sequence.c, sequence.h: Sequence_read_unlimited returns nextchar

    * inbuffer.c, inbuffer.h, outbuffer.c, outbuffer.h: Handling multiple pairs
      of sequences in --pairalign mode

    * gmap.c, gsnap.c: Requiring -m to be 0.10 or less when it is a float

    * stage3hr.c, stage3hr.h: In pair_up_concordant, treating hits and terminals
      separately.  When all results are double terminals, treating as if it were
      final.

    * stage1hr.c: Added variable gmap_rerun_p.  Fixed memory leak.  Removed use
      of segment->usedp.  Changed some uses of starti and endi.  GMAP result
      must be significantly better than original hit (reducing misses by half). 
      GMAP pairsearch run only if hit list is small enough.  Keeping hits and
      terminals in separate lists.

2012-10-10  twu

    * substring.c: Fixed bug in not copying trim_left_splicep and
      trim_right_splicep

2012-10-01  twu

    * stage3.c: Added ability for Stage3_merge_local_splice to make a deletion
      instead of an intron

    * stage3.c: Made code for coordinate change in Stage3_merge_local_splice
      match that of Stage3_merge_local_single

2012-09-26  twu

    * gmap.c, gsnap.c, pair.c, pair.h, stage3.c, stage3.h, uniqscan.c: Added
      --require-splicedir flag and code for guessing at cdna direction.

2012-09-24  twu

    * gmap.c, gsnap.c, stage3.c, stage3.h, stage3hr.c, stage3hr.h, uniqscan.c:
      Removed --pairexpect and --pairdev flags.  Removed expected_pairlength and
      pairlength_deviation variables.

    * gsnap.c: Using new interface to setup procedures

    * stage1hr.c: Turned off debugging

    * uniqscan.c: Using new interface to setup procedures

    * substring.c, substring.h: Added check for splice site at trimmed position,
      to be used in even-trimming

    * stage3hr.c, stage3hr.h: Added Stage3end_trim_left and Stage3end_trim_right
      commands.  In Stage3pair_optimal_score, eliminating hits only if both hit5
      and hit3 are worse than optimal in pre-final stages.  In final stages,
      using the sum of hit5 and hit3.  Eliminated absdifflength field.

    * stage1hr.c: For determining GMAP bounds, computing both close
      mappingstart/mappingend (at distal end) and middle
      mappingstart/mappingend, and using close if available.  If close
      mappingstart/mappingend does not give a good alignment at the end, then
      trying full pairmax plus shortsplicedist.

2012-09-21  twu

    * stage1hr.c: Consolidated calls to Stage2_compute and Stage3_compute into a
      run_gmap procedure.  Computing close_genomicstart and close_genomicend
      values, but using full pairmax for now.

2012-09-20  twu

    * stage1hr.c: In computing mappingstart and mappingend for GMAP region,
      evaluating each diagonal for shortsplicedist vs querylength extension

    * stage3hr.c: Computing trim_left_splicep and trim_right_splicep for GMAP
      alignments.  Using trim_left_splicep and trim_right_splicep to determine
      trim amount.

2012-09-19  twu

    * stage1hr.c: Taking lowprob splice only if both ends have minimum support
      (set at 20) and no subs or indels were found previously

2012-09-18  twu

    * stage1hr.c: Requiring one splice site to be sufficient for lowprob
      splices. Finding best splice first by nmismatches, and then by prob.

    * gsnap.c, stage1hr.c, stage1hr.h, uniqscan.c: Using min_intronlength to
      prevent deletions from showing up as lowprob splices

2012-09-17  twu

    * gmap.c, stage3.c, stage3.h: Implemented procedures to favor paths first by
      best goodness score, and then by shorter genomiclength

2012-09-15  twu

    * stage3.c: Compute best_absmq_score, even if it is negative

    * dynprog.c, pair.c, pair.h, stage3.c: Not protecting distal indels after
      known splice sites

    * gsnap.c: For cmet-stranded and cmet-nonstranded mode, make
      --terminal-threshold=100 the default

2012-09-14  twu

    * stage3.c: Allowing for merging when there is excess query sequence at the
      breakpoint

2012-09-13  twu

    * oligoindex_hr.c: For minus strand, not subtracting 1 from left if left is
      0, which caused the entire sequence to be skipped

    * datadir.c: Including comment about -F flag for cmetindex and atoiindex

    * snpindex.c: Allowing snpindex to work when there is no gammaptrs file

2012-09-12  twu

    * stage3hr.c: Changed a free command from FREE to FREE_OUT

2012-08-10  twu

    * oligoindex.c: Fixed assertion for PMAP to use 3*querylength

2012-07-20  twu

    * pair.c: Restored capitalized Coverage for standard output

    * index.html: Added note about lower-case coverage and identity tags in GFF3

    * pair.c: Changed Coverage and Identity in GFF3 output to be lower case

    * Makefile.three.am: Fixed Makefile instructions

    * VERSION, config.site.rescomp.tst, index.html: Updated version number

    * gmap_build.pl.in: Fixed use of short and long options

2012-07-18  twu

    * stage3.c: Merging pairs list of left and right parts for local merge, so
      that the resulting Stage3_T object can be used iteratively to find a
      chimera.

    * gmap.c: Added DEBUG2A macro to show details of chimera detection

    * gmap.c, pair.c, pair.h, stage3.c, stage3.h: Implemented iterative
      algorithm for finding chimeras

2012-07-12  twu

    * VERSION, config.site.rescomp.tst, index.html: Updated version number

    * pair.h: Fixed problem in SAM output with an unpaired alignment with one
      end being a GMAP alignment

    * pair.c, samprint.c: Fixed problem in SAM output with an unpaired alignment
      with one end being a GMAP alignment

2012-07-09  twu

    * gff3_introns.pl.in, gff3_splicesites.pl.in: Added -Q flag to suppress
      messages to stderr

    * gff3_genes.pl.in, gff3_introns.pl.in: Checking for transcript lines as
      well as mRNA lines

    * gff3_splicesites.pl.in: Checking for transcript lines as well as mRNA
      lines

2012-07-06  twu

    * README: Added instructions for using vcf_iit

    * Makefile.am, configure.ac, vcf_iit.pl.in: Added vcf_iit program for
      processing VCF files

2012-07-05  twu

    * dbsnp_iit.pl.in: Added exception types InconsistentAlleles and
      SingleAlleleFreq

    * dbsnp_iit.pl.in: Printing exception handling rules to stderr even if
      exception file not given

2012-07-04  twu

    * VERSION, index.html: Updated version number

    * parserange.c: No longer checking for labels that match a contig

    * stage3.c: In extend_ending5 and extend_ending3, checking for a gap between
      gappairs and the rest of the read

2012-06-27  twu

    * gmap.c: Fixed bug which prevented -1 flag from working

    * stage1.c: Made stage 1 work for PMAP

    * stage3hr.c: Turned off debugging

    * stage3hr.c: For hitpair_equiv_cmp, not looking at score or nmatches
      anymore

2012-06-26  twu

    * VERSION, index.html: Updated version number

    * splicetrie_build.c: Fixed contents of splicesite_i in splicestrings, after
      sorting of splice sites

2012-06-20  twu

    * uniqscan.c: Using new interface to Stage3hr_setup

    * VERSION, index.html: Updated version number

    * gsnap.c, index.html, stage3hr.c, stage3hr.h: Added --gmap-min-coverage
      flag

    * stage2.c: Changed find_shifted_canonical to go directly to Genome_hr
      procedures instead of allocating memory and saving past results

    * gsnap.c, stage1hr.c: Added indel_knownsplice as option to --gmap-mode

2012-06-19  twu

    * gmap_build.pl.in: Added -M flag for handling NCBI MD files

2012-06-18  twu

    * stage3hr.c: Cleaned up optimal_score commands for removing terminal
      alignments in final stage.  Using trim_terminals_p argument in calling
      compute_mapq functions.

    * pair.c, pair.h, substring.c, substring.h: Added trim_terminals_p argument
      to compute_mapq functions

2012-06-15  twu

    * index.html: Reverted back to old behavior for computing MAPQ in entire
      read, but trimming off ends of type TERM

    * pair.c, substring.c: Reverted back to old behavior for computing MAPQ in
      entire read, but trimming off ends of type TERM

    * index.html: Added comments for changes

    * gmap_build.pl.in: Using long flag names

    * pair.c, pair.h, stage3hr.c, substring.c: Computing MAPQ scores over
      trim-kept region, instead of entire substring

    * VERSION, config.site.rescomp.tst, index.html: Updated version number

    * stage3.c: In trim_noncanonical_end_exons, keeping known introns only if
      nmismatches == 0

    * stage3hr.c: Allowing Stage3end_remove_overlaps to work with translocations

    * stage1hr.c: Allowing for multiple translocations to be reported.  Not
      updating nconcordant for GMAP pair revisions

2012-06-14  twu

    * outbuffer.c, resulthr.c, samprint.c: Allowing for multiple single-end and
      unpaired translocations to be printed

    * resulthr.c, samprint.c: Allowing for multiple paired translocations to be
      printed

    * stage3hr.c, stage3hr.h: Changed Stage3pair_remove_overlaps and
      hitpair_sort_cmp, so they work on translocations

    * stage3hr.c: Allowing multiple concordant translocations to be printed

    * stage1hr.c: Not skipping GMAP on terminal alignments.  Performing
      align_concordant_with_gmap on with_terminal list.

    * resulthr.c, resulthr.h: Changed pairtype TRANSLOCATION to
      CONCORDANT_TRANSLOCATIONS

    * pair.c: Changed pairtype TRANSLOCATION to CONCORDANT_TRANSLOCATIONS

    * stage1hr.c, stage3hr.c, stage3hr.h: Added a category of hitpairs called
      with_terminal, with lower priority than samechr or conc_transloc

    * stage2.c: Increased value of SHIFT_EXTRA to fix a fatal bug

2012-06-13  twu

    * stage3.c: Counting indels and short gaps as mismatches in
      Stage3_bad_stretch_p

2012-06-12  twu

    * index.html: Added comment about improved detection of translocations
      within read ends

    * stage3hr.c: Computing substring_for_concordance for both translocations
      (chrnum == 0) and intrachromosomal rearrangements (shortdistancep ==
      false)

    * stage1hr.c: Checking for bad stretch in GMAP hits, as soon as we call
      Stage3end_new_gmap

    * index.html: Updated version number

    * VERSION, trunk: Updated version

    * Makefile.gsnaptoo.am: Removed extra includes of cmet and atoi files for
      GMAP

    * oligoindex_hr.c: Getting the final oligomers when computing mappings

    * stage3.c: Fixed computation of mappingstart and mappingend for traversing
      dual breaks on crick strand

    * stage1.c: Restoring old scan ends algorithm

2012-06-11  twu

    * stage1hr.c: Removed unused debugging macro

    * stage3.c: In trimming novel splice ends, allowing perfect matches to
      extend into intron

    * psl_introns.pl.in: Added print command

    * Makefile.gsnaptoo.am: Added file dependencies

    * stage3.c: Using QUERYEND_NOGAPS for pass 9a and pass 9b for GSNAP, so
      trimming will work.  Fixed computation of mappingstart and mappingend in
      traverse_dual_break.

2012-06-07  twu

    * Makefile.dna.am, stage3hr.c: Adding an absolute sufficient minlength for a
      terminal, besides using querylength

    * VERSION, config.site.rescomp.tst, index.html: Updated version number

    * src: Committing property changes from last merge

    * gmap.c: Increased max_nalignments from 3 to 10

    * stage1hr.c: Fixed bug in find_terminals, where querypos3 was used to
      compute start_endtype and querypos5 was used to compute end_endtype,
      instead of querypos5 and querypos3, respectively.

    * stage3hr.c: Allowing both ends to be of type TERM in a terminal, and
      checking for mismatches only between the trimmed ends.  Requiring that
      final length is querylength/3.

    * dynprog.c: Dropped mismatch scores, which helps GMAP extend ends and find
      chimeras.

    * stage3.c: Changed endalign for pass 9a and 9b from QUERYEND_NOGAPS to
      BEST_LOCAL.  This fixes an issue in GMAP where ends are truncated, and
      chimeras not found, as introduced in revision 64732 on 2012-05-22.

2012-06-06  twu

    * stage2.c: Fixed bug in condition on suboptimal stage 2 paths, where we
      were requiring fewer than max_nalignments results plus the score ==
      bestscore.  The condition should have been a disjunction, not a
      conjunction.

    * stage1hr.c: Skipping computation of GMAP on single-end terminal
      alignments, since that is a duplication of effort

    * stage1hr.c, stage3hr.c, stage3hr.h, substring.c, substring.h: Restored
      assignment of endtypes to terminal alignments.  Using them again determine
      whether to extend terminals left or right for GMAP alignments.

    * stage1hr.c: Integrated two criteria for finding terminals: old method
      based on counting mismatches from ends, and new method based on width of
      (querypos3 - querypos5).

2012-06-05  twu

    * stage3.c: Fixed bug in local chimera alignment with uninitialized value
      for genomicseg_ptr

2012-06-02  twu

    * genome.c: Added assertions to Genome_get_char and Genome_get_char_blocks
      to check for negative coordinates

    * dynprog.c: Removed debugging statements

    * stage3.c: Fixed get_genomic_nt to check for both genomicpos between 0 and
      genomiclength, and pos between chroffset and chrhigh

    * dynprog.c: Fixed get_genomic_nt to check for both genomicpos between 0 and
      genomiclength, and pos between chroffset and chrhigh

    * VERSION, index.html: Updated version number

    * dynprog.c, stage3.c: Checking only for genomepos < 0 in get_genomic_nt,
      not for chrpos between chroffset and chrhigh, which may need further
      debugging for chimeras.

    * dynprog.c: Checking for genomepos < 0 in get_genomic_nt.

    * stage3.c: For Stage3_extend_left and Stage3_extend_right, using
      get_genomic_nt instead of going directly to Genome_get_char.  Checking for
      genomepos < 0 in get_genomic_nt.

    * stage3hr.c: In Stage3pair_remove_overlaps, allowing separate pair to
      subsume overlapping pair only if it is better

2012-06-01  twu

    * stage3.c: Fixed check of chrpos to compare genomicpos against chrhigh

    * dynprog.c: Fixed check of chrpos to compare genomicpos against chrhigh

    * dynprog.c, stage3.c: Checking for chrpos between 0 and chrhigh - 1,
      inclusive

    * dynprog.c, dynprog.h, gmap.c, gregion.c, gregion.h, splicetrie.c,
      splicetrie.h, stage1hr.c, stage3.c, stage3.h: Passing chrhigh along with
      chroffset to all procedures

    * dynprog.c, genome.c: When chromosomal coordinate is negative, returns '*'
      instead of 'N'. Traceback procedures in dynamic programming will not add
      pairs with '*' genomic nucleotides.

    * util: Merged changes from last branch

    * config.site.rescomp.tst: Updated version number

    * README: Added note that MAX_READLENGTH applies only to GSNAP

    * VERSION, index.html: Updated version number

    * stage2.c, stage3.c: Merged changes from
      branches/2012-06-01-merge-single-gap to fix problems with merging single
      gap on minus strand

2012-05-31  twu

    * stage3.c: Protected another debugging statement from referring to
      genomicseg

    * gsnap.c: Fixed documentation for --fails-as-input flag.

    * gmap.c: Added --fails-as-input string to getopt processing.  Fixed
      documentation for --fails-as-input flag.

    * dynprog.c: Added messages to stderr before all abort statements

    * translation.c: Requiring translation_leftpos and translation_rightpos to
      be between 0 and querylength-1.

2012-05-25  twu

    * gmap_build.pl.in: If -k 15 specified, but not -b, setting basesize to be
      12

    * Makefile.gsnaptoo.am: Added uniqscan program

    * stage1hr.c: Decreased max_nalignments from 3 to 2

    * dynprog.c: For known splicesites, adjusted low and high boundaries so
      contlength is always between 0 and endlength-1, inclusive.

    * stage3.c: Not reducing genomejump at ends anymore

2012-05-23  twu

    * VERSION, index.html: Updated version number

    * gmap.c, stage1hr.c: Increased max_nalignments for stage 2 to 3

    * stage3hr.c: Turned off check for cdna_direction != 0 and SENSE_NULL in
      declaring a GMAP alignment as bad

    * stage3.c: Changed pass 9 from queryend_indels to queryend_nogaps, to avoid
      false positive indels at ends and to prepare for noncanonical end trimming

    * splicetrie.c: Improved debugging statements

    * pair.c: Added information about knowngapp and protectedp in printing pair
      information for debugging purposes

    * stage3.c: In trimming of noncanonical introns near end, making an
      exception for known introns

    * dynprog.c: Replaced noindel version of Dynprog_end_splicejunction
      functions with version allowing indels

    * stage3.c, stage3.h, stage3hr.c: In Stage3_bad_stretch_p, excluding trimmed
      regions on ends

    * uniqscan.c: Using new interfaces to setup procedures

    * stage1hr.c: Added debugging statements

    * genome_hr.c: Removed debugging statements

    * gamma-speed-test.c: Using new interface to setup procedures

    * dynprog.c, dynprog.h, stage3.c: Introduced new endalign type,
      QUERYEND_GAP, and using it in pass 8. Restored call of Dynprog_end
      procedures in trim ends using BEST_LOCAL, which does not try to find an
      intron.

    * stage3.c: Better handling of ends: pass 8, best_local plus known splicing;
      pass 9, queryend_indels; pass 10, queryend_nogaps.  Medial gap not using
      known splicing.  Simplified trim_ends procedure.  Not removing or
      re-inserting known intron gaps.  Bayesian computation of mapping scores
      for GMAP alignments.

    * splicetrie.c: Computing separate offsets for anchor and far splicesites
      for use in Dynprog_end_splicejunction procedures.  Not calling
      Dynprog_add_known_splice procedures.

    * pairdef.h, pairpool.c, pairpool.h: Added knowngapp field to Pair_T object

    * dynprog.c, dynprog.h: Allowing compute_scores procedures to work on
      genomicseg (for splicejunctions).  Added functions
      Dynprog_end5_splicejunction and Dynprog_end3_splicejunction to replace
      add_known_splice procedures. Calling traceback_local_nogaps in two parts. 
      Dynprog_end_gap procedures returning final score even for QUERYEND_INDELS.
       Made debugging statements work without genomicseg.

2012-05-21  twu

    * samprint.c: Checking if MD string output is empty and if so printing "0"

2012-05-19  twu

    * stage3hr.c: For paired-end reads, in cases of tie score, sorting results
      by genomic position

2012-05-18  twu

    * splicetrie_build.c: For intron-level splicing information, sorting
      individual splicesites by ascending genomic position

    * splicetrie.c, splicetrie.h: Computing spliceoffset needed to construct
      splicejunctions.  Calling Dynprog_local_nogaps procedures.  Requiring
      dynprog score > 0 on known splicejunctions.

    * dynprog.c, dynprog.h: Fixed bug in making A-G and C-T ambiguous scores for
      all modes. Implemented traceback procedure using given sequence and no
      gaps for handling known splicejunctions.  End dynamic programming
      procedure now returns a final score for queryend_nogaps endalign. 
      Implemented make_contjunction procedures to retrieve the continuous part
      of splicejunctions.  Made make_splicejunction_3 consistent with
      make_contjunction_3.

    * stage3hr.c: Turned off check for min_splice_prob on GMAP alignments, since
      it appears not to work for known splicesites

    * pair.c: Pair_dump_list now prints line to indicate start of list

2012-05-17  twu

    * dynprog.c: Handling cases where length1 == 0 or length2 == 0, which
      otherwise cause fatal errors

    * stage3.c: Setting use_genomicseg_p to false in all cases

    * stage2.c: Using Oligoindex_hr_tally even if user genomic segment provided

    * gmap.c: Computing genomicend even if user genomic segment provided

    * genome-write.c: Added extra 4 words to end of genome blocks to accommodate
      nextlow in Oligoindex_hr procedures

    * Makefile.gsnaptoo.am: Added source files for GMAP

2012-05-16  twu

    * VERSION, config.site.rescomp.prd, config.site.rescomp.tst, index.html:
      Updated version number

    * stage1.c, stage1.h: Added procedure for nonstranded alignment.  Turning
      off scan_ends algorithm and using only sampling.  Using indexdb size limit
      for standard mode, but not for cmet-nonstranded mode.

    * stage2.c: Looking up genomic nt for all alignment pairs in
      convert_to_nucleotides

    * uniqscan.c: Using new interfaces to setup routines

    * gsnap.c: Using new interfaces to setup routines

    * gmap.c: Using different indexdb size thresholds for standard and
      cmet-nonstranded modes

    * stage1hr.c: Using new interfaces to stage 2 procedures

    * stage3.c, stage3.h: Handling AMBIGUOUS_COMP the same as MATCH_COMP and
      DYNPROG_MATCH_COMP. Removed genomic_offset argument from Stage2_compute. 
      Fixed intermediate alignment results for debugging by returning pairs
      instead of path from path_compute.

    * oligoindex_hr.c, oligoindex_hr.h: Fixed Cmet_reduce commands for
      CMET_STRANDED mode

    * match.c: Fixed memory leak in a debugging procedure, Match_print

    * gregion.c, gregion.h: Made Gregion_filter_support function available
      again.  Added function Gregion_genestrand.

    * Makefile.dna.am, dynprog.c, dynprog.h, genome.c, genome.h, gmap.c,
      stage2.c, stage2.h: Added code to make GMAP work on cmet-stranded and
      cmet-nonstranded modes

2012-05-14  twu

    * stage3hr.c: Disallowing new Stage3pair_T object if its insertlength
      exceeds pairmax and we expect a concordant pair

    * Makefile.dna.am, block.c, block.h, boyer-moore.c, boyer-moore.h,
      config.site.rescomp.tst, dynprog.c, dynprog.h, genome-write.c,
      genome-write.h, genome.c, genome.h, genome_hr.c, genome_hr.h, gmap.c,
      gsnap.c, intlist.c, intlist.h, oligoindex.c, oligoindex.h,
      oligoindex_hr.c, oligoindex_hr.h, pair.c, pair.h, splicetrie.c, src,
      stage1.c, stage1.h, stage1hr.c, stage2.c, stage2.h, stage3.c, stage3.h,
      stage3hr.c, stage3hr.h, trunk, uniqscan.c, util: Merged revisions 63606 to
      64016 from branches/2012-05-08-genomic-nts to read genomic nt rather than
      generate genomicseg

2012-05-11  twu

    * archive.html, config.site.rescomp.tst, dynprog.c, index.html, src, trunk,
      util: Merged revisions 63773 through 63823 from
      branches/2012-05-10-better-affine-gap to make score matrix symmetric, put
      sequence2 in outer loop, fix boundary conditions, and improve efficiency

    * resulthr.c: Fixed uninitialized value for X2 on halfmapping_mult
      alignments

    * samprint.c: Fixed uninitialized value for X2 on halfmapping_uniq
      alignments

2012-05-08  twu

    * gtf_genes.pl.in, gtf_introns.pl.in, gtf_splicesites.pl.in: Made -E flag
      use exon_number field

    * gtf_genes.pl.in, gtf_introns.pl.in, gtf_splicesites.pl.in: Added -E flag
      to ignore exon_number fields in GTF file

2012-05-07  twu

    * VERSION: Updated version

    * oligoindex_hr.c: Reverting to version that zeroes out counts for oligomers
      that are overabundant or not in query

    * gmap.c, stage1hr.c, stage2.c, stage2.h: Providing a limit on the number of
      suboptimal alignments returned from stage 2.  Limit set to 2 for GMAP and
      1 for GSNAP.

    * gsnap.c: Added getopt handler for --sam-multiple-primaries

2012-05-03  twu

    * VERSION, config.site.rescomp.tst, dynprog.c, gmap.c, pair.c, pair.h, src,
      stage1hr.c, stage3.c, stage3.h, stage3hr.c, stage3hr.h, trunk, util:
      Merged revisions 63036 to 63240 from branchese/2012-05-01-affine-gap to
      implement an affine gap algorithm for dynamic programming

    * uniqscan.c: Using new interface to Stage1hr procedure that contains
      first_absmq as an argument

    * shortread.c: Generalized handling of old Illumina paired-end format ending
      in :0 or :<digit>.

    * genome.c: Fixed function Genome_fill_buffer_simple_alt so it returns
      ref+alt, instead of empty+alt.

    * indexdb.c: Made writing of offsetscomp file faster when blocksize == 1 (or
      k == b), by using a single write command instead of looping.

    * goby.c, outbuffer.c: Implemented patches for Goby 2.0

    * gmap.c, gsnap.c, outbuffer.c, pair.c, pair.h, result.c, result.h,
      resulthr.c, resulthr.h, samprint.c, samprint.h, stage1hr.c, stage1hr.h,
      stage3.c, stage3.h, stage3hr.c, stage3hr.h: Added flag
      --sam-multiple-primaries to allow multiple alignments to be marked as
      primary, if their mapping scores are equally good

    * shortread.c: Handling older style Illumina paired-end reads that end in
      ":0"

    * stage3.c: Fixed debugging statements

    * oligoindex_hr.c: Not zeroing out counts[i] for oligomers that are either
      overabundant or not in query.  Saves time in allocate_positions function
      and in store functions.

2012-04-28  twu

    * VERSION, config.site.rescomp.prd, config.site.rescomp.tst, index.html:
      Updated version

    * gmap.c: Using new interface to Stage3_compute

    * stage3hr.c, stage3hr.h: Using nmatches_posttrim (adjusted by scores for
      indels) to compare alignments, except for pre-final terminals.  Performing
      iteration in optimal_score procedures to use updated trim boundaries as
      poor alignments are removed.

    * stage3.h: No longer use nmatches_pretrim in Stage3_compute

    * stage3.c: Removed use of QUERYEND_INDELS at ends of reads, and using
      QUERYEND_NOGAPS instead, to reduce time spent in dynamic programming

    * stage1hr.c: Added usedp field to Segment_T object, and marking it true if
      the segment is used in making a Stage3end_T object.  Skipping these
      segments in finding terminals.

    * pair.c, pair.h: Added pos5 and pos3 arguments to Pair_nmatches

    * genome.c: Made uncompress_mmap faster by translating high and low words 16
      bits at a time.  Adding N's only if flags is not zero.

    * dynprog.c: Modified bridge_intron_gap so it searches for indels on left or
      right of splice, but not both.  Changes algorithm from quadratic to linear
      time.

2012-04-25  twu

    * stage1hr.c, stage3hr.c, stage3hr.h: Revisions made to hit_goodness_cmp and
      hitpair_goodness_cmp.  Using genomiclength in hit_goodness_cmp, final
      round.  For terminals, returning 0 in preliminary rounds.  Not using
      scores for terminals, and using scores only if GMAP or indels are
      involved.  In pair_up procedure, not using terminal scores to update
      found_score.

    * indexdb.c: Fixed uninitialized variables that caused problems with older
      GMAP indices

2012-04-23  twu

    * dynprog.c: Created separate functions, compute_scores_lookup_fwd and
      compute_scores_lookup_rev

    * splicetrie.c: Fixed calls to Dynprog_end5_gap and Dynprog_end3_gap to use
      endalign instead of to_queryend_p.

2012-04-20  twu

    * VERSION: Updated version

    * stage3hr.c: Added check for too many indel breaks in GMAP

    * stage1hr.c, stage3hr.c, stage3hr.h: Storing cdna_direction in hit of type
      GMAP and using it instead of sensedir when printing

2012-04-19  twu

    * VERSION, index.html: Updated version number

    * stage3.c: Turned off debugging

    * stage3.c: Fixed uninitialized variable in trim_novel_spliceends

    * dynprog.c, dynprog.h, stage3.c: Using correct endalign types in
      Dynprog_end5_known and Dynprog_end3_known

    * pair.c: Fixed issue with uninitialized variable in printing splicesite
      labels

2012-04-18  twu

    * result.c, result.h: Added mergedp variable

    * outbuffer.c, outbuffer.h: Handling results where mergedp is true

    * gmap.c: Allowing chimera finding to be turned off by setting -x to be 0.
      Added mergedp variable so merged alignments generate only a single result.

2012-04-16  twu

    * VERSION, config.site.rescomp.tst, index.html: Updated version

    * samprint.c: Handling case where clip-overlap results in a NULL substring

    * gmap.c: In call to Stage3_merge_local_single, clipping parts around
      breakpoint instead of chimerapos and chimeraequivpos, to avoid issues
      where maxpeelback is insufficient

    * stage3.c, stage3.h: Renamed variable from extendp to max_extend_p

    * get-genome.c: Added --forsam flag to generate header for SAM files

2012-04-11  twu

    * VERSION: Updated version

    * stage1hr.c: Fixed bug from uninitialized variable

    * gmap.c, stage3.c, stage3.h: Added a criterion for extending left and right
      chimera ends to consecutive mismatches, based on queryjump and genomejump
      being unequal.

2012-04-09  twu

    * gsnap.c, uniqscan.c: Using new interface to Stage3hr_setup

    * stage1hr.c: Finding terminals by a new method.  Instead of counting
      mismatches from end, requiring only that querypos3 - querypos5 is greater
      than index1part.  Now searching terminals on single-end reads even if a
      GSNAP alignment has been found.  Removed nsalvage == 0 requirement for
      searching terminals and paired-end reads.

    * substring.c, substring.h: Added procedure Substring_set_endtypes

    * stage3hr.c, stage3hr.h: Changed optimal score procedures to use max of
      max-terminal and min-other for prefinal rounds, and max of max-GMAP and
      min-other for final rounds.  For GMAP eventrim scores, not counting
      indels, and adding a penalty for long ambiguous ends, by dividing by
      index1part + (index1interval - 1).  Terminal alignments now compute their
      own endtypes.

2012-04-06  twu

    * stage2.c: Fixed fatal bug when looking for shifted canonical splice site
      by checking that rightpos is less than genomicend.

    * gmap.c, stage3.c, stage3.h: For chimeras, extending ends until three
      consecutive mismatches are found.  At final breakpoint, cleaning indels
      from ends.

2012-04-05  twu

    * stage1hr.c: For single-end reads, finding distant splicing only when no
      other hits have been found

    * VERSION, index.html: Updated version

    * pair.c, pair.h, stage3.c: Fixed bug in Stage3_mergeable where we require
      end1 and start2 pairs to be computed

2012-04-04  twu

    * index.html: Updated version

    * VERSION: Updated version

    * splicetrie.c: Allowing 1 mismatch in distal exon

    * stage3hr.c: Changed debugging statement to report score_eventrim

    * stage3.c: Rewrite trim_novel_spliceends to scan pairs first to find
      genomicpos bounds and then iterate through genomicpos.  Allowing
      pick_cdna_direction to return SENSE_NULL if no introns exist.

    * stage1hr.c: For GMAP terminals, also checking for a bad stretch in GMAP
      result after the call to align_halfmapping_with_gmap

    * stage3.c: Fixed bug in trim_novel_spliceends when pairs is NULL

    * stage3.c: Turned off trimming of novel splice ends for GMAP

    * index.html: Made changes to reflect new version

2012-04-03  twu

    * VERSION: Updated version

    * stage3hr.c: Fixed issue where no non-terminal alignment existed, resulting
      in using min trim length of MAX_READLENGTH

    * splicetrie.c: Allowing only 1 mismatch (previously 2) in internal splice
      region of 6 bp, and no mismatches in external splice region (previously
      depended on extension).  This avoids bad splicing due to poor gene models.

    * pair.c, pair.h, stage3.c: Using pairs instead of pairarray in determining
      whether chimera ends are connectable

    * pair.c, pair.h, stage3hr.c: Counting indels in GMAP alignments only within
      eventrim region

    * stage3.c: Added function trim_novel_spliceends

    * pair.c: Requiring that cdna_direction not be zero when printing splice
      site probabilities at the ends

2012-04-02  twu

    * VERSION, chimera.c, chimera.h, gmap.c, outbuffer.c, pair.c, pair.h,
      pairpool.c, pairpool.h, src, stage1hr.c, stage3.c, stage3.h, stage3hr.c,
      stage3hr.h, trunk, util: Merged revisions 60621 to 60936 from
      branches/2012-03-27-gmap-chimeras to improve GMAP chimeras and to apply a
      uniform eventrim procedure in stage 3 optimal score procedures

2012-03-30  twu

    * gamma-speed-test.c: Added to SVN repository

    * atoiindex.c, cmetindex.c, config.site.rescomp.tst, configure.ac, gmap.c,
      gsnap.c, indexdb.c, memory-check.pl, pdldata.c, snpindex.c: Added
      --enable-mmap flag to configure.  Added small fixes to allow programs to
      work without mmap.

    * stage3hr.c: Allowing trimming on both ends of a terminal alignment

    * pair.c: Handling case where hard clipping is not possible

2012-03-27  twu

    * stage1hr.c: Handling the case where GMAP alignment is attempted on a
      translocation

2012-03-23  twu

    * VERSION, index.html: Updated version

    * stage1hr.c: Added multiple checks for GMAP bad stretch

2012-03-22  twu

    * index.html: Updated for latest version

    * stage1hr.c: Fixing fatal bug when max_end_insertions is set to less than 3

2012-03-21  twu

    * VERSION: Updated version

    * index.html: Updated for new version

    * gsnap.c: Reduced default value of distant-splice-penalty from 2 to 1

    * gsnap.c: Reduced default value of distant-splice-penalty from 3 to 2

    * stage1hr.c: Changed criterion for GMAP salvage from
      Stage3end_bad_stretch_p to Stage3end_score > cutoff_level, because
      previous criterion caused GSNAP to miss distant splicing

    * archive.html: Updated for new version

    * index.html: Updated for new version

    * dbsnp_iit.pl.in: Checking whether the exceptions field is defined in the
      snp file

2012-03-20  twu

    * gmap.c, outbuffer.c, stage3.c, stage3.h: Removed some unused parameters

    * VERSION: Updated version

    * stage3hr.c: Changed score for GMAP alignments to be post-trim matches
      minus penalties for splicing and indels.  Allowing Stage3end_bad_stretch_p
      to handle GMAP alignments.

    * stage3.c: Not doing any peelback on the extension after trim_ends

    * stage1hr.c: Moved check for GMAP bad stretch from elimination as a very
      bad alignment to a salvage status

    * dynprog.h: Added comment

2012-03-19  twu

    * pair.c, pair.h, stage3.c: Added an extend step after the ends are trimmed,
      to get as long an extension as possible.

    * stage1hr.c, stage3.c, stage3.h: Added a check for GMAP alignment length,
      in addition to the bad stretch check

    * gmap.c: Using new interface to Stage3_compute

    * substring.c: Added comment

    * stage1hr.c, stage3.c, stage3.h, stage3hr.c, stage3hr.h: Removed
      computation of gmap_nconsecutive, and implemented Stage3_bad_stretch_p to
      evaluate GMAP alignments instead.

2012-03-16  twu

    * gff3_genes.pl.in, gff3_introns.pl.in, gff3_splicesites.pl.in: Filtering
      out comment lines beginning with '#'.

    * gff3_genes.pl.in, gff3_introns.pl.in, gff3_splicesites.pl.in: Printing
      results for last mRNA in each gene

2012-03-15  twu

    * stage3.c: In traversing dual break, accepting the stage 2 solution only if
      the entire query sequence is bridged

    * gff3_genes.pl.in, gff3_introns.pl.in, gff3_splicesites.pl.in,
      gtf_genes.pl.in, gtf_introns.pl.in, gtf_splicesites.pl.in: Made gff3 and
      gtf programs handle exons in arbitrary order

    * gtf_genes.pl.in, gtf_introns.pl.in: Checking for comment lines

    * gtf_genes.pl.in, gtf_introns.pl.in: Allowing GTF file to lack exon_number
      field

    * gtf_genes.pl.in: Checking both gene_name and gene_id to get gene name

2012-03-13  twu

    * gmap.c, inbuffer.c, inbuffer.h: Added -1 flag for self-align feature

2012-03-12  twu

    * configure.ac: Changed default value of MAX_READLENGTH from 200 to 250

    * README, config.site: Changed default value of MAX_READLENGTH from 200 to
      250

    * stage1hr.c: Added missing else statement

    * dynprog.c, splicetrie.c, splicetrie.h: Changed Splicetrie_solve_end5 and
      Splicetrie_solve_end3 to take triecontents, trieoffsets, and j, rather
      than triestart, and to check for a null pointer.

    * stage3hr.c: No longer returning NULL from Stage3end_new_gmap when result
      crosses before beginning of genome or at end of chromosome.

    * stage1hr.c: Removed possibility of dereferencing uninitialized memory when
      skipping over diagonals straddling beginning of genome.

2012-03-09  twu

    * gmap.c, stage3.c, stage3.h: Made changes in Stage3_merge_single compatible
      with PMAP

    * Makefile.dna.am, gsnap_fasta.c: Moved gsnap_fasta.c and bam_fasta and
      sam_fasta programs to GSTRUCT repository

    * get-genome.c: Fixed -E option for printing exons from gene map files. 
      Added -S option for printing sequence from gene map files.

    * get-genome.c: Removed R from getopt string

    * get-genome.c: Removed -R flag and references to map_relativep

2012-03-08  twu

    * gmap.c: Removed debugging statement

    * gmap.c: Fixed test for CHIMERA_SLOP to handle minus strand alignments
      correctly.  Added a remove duplicates step to stage3list_from_gregions. 
      Using new interface to Stage3_merge_single and Stage3_merge_splice.

    * stage3.c, stage3.h: Implemented functions Stage3_merge_single and
      Stage3_merge_splice. The first function uses dynamic programming to solve
      the region between the two parts.

    * pair.c, pair.h: Implemented function Pair_set_genomepos_list

2012-03-07  twu

    * gsnap.c: Fixed default values in --help statement for number of GMAP runs
      allowed

    * stage1hr.c: Turned bad stretchp back on as a criterion for running GMAP
      improvement in paired-end reads.  Implemented GMAP improvement for
      single-end reads.

    * substring.c, substring.h: Implemented Substring_genestrand

    * stage3hr.c, stage3hr.h: Added genestrand as a field for Stage3end_T object

2012-03-02  twu

    * stage3.c: Added another check to make sure we don't try to solve for dual
      breaks at the ends of an alignment

2012-03-01  twu

    * dynprog.c: Making certain that left_prob and right_prob are initialized to
      0.0

    * splicetrie_build.c: Limiting distance for splicetries to shortsplicedist

    * stage3.c: Checking for endgappairs == NULL, before trying to access
      *endgappairs

2012-02-29  twu

    * configure.ac: Changed default .config.site to ./config.site

    * dynprog.c: Fixed cases where left_prob and right_prob were not assigned

    * stage3.c: Making singlep a local variable in traverse_dual_genome_gap

    * stage3.c: Setting *singlep to false to fix bug in traversing dual genome
      gaps where left goodness or right goodness was called after a dual gap
      win.

2012-02-28  twu

    * gmap.c: Calling Alphabet_setup, Oligo_setup, Oligop_setup, Indexdb_setup,
      and Stage1_setup only when genome is provided

    * gmap.c, stage3.c, stage3.h: Restored cdna_direction == 0 when no splices
      are present. Transferring overall cdna_direction to first Stage3_T object
      in a chimera.

2012-02-27  twu

    * stage3.c: Disallowing cdna_direction to be set to 0

    * gmap.c: Added call to Oligo_setup

    * indexdb.c: Looking for offsetscomp_suffix exactly

    * gmap.c: Using new interface to Stage3_compute

2012-02-24  twu

    * VERSION: Updated version number

    * stage3.c: Handling case where non-canonical splice is exactly in the
      middle of the read

    * stage1hr.c, stage3.c, stage3.h, stage3hr.c, stage3hr.h: Replaced
      high_quality computation on gmap alignments with gmap_nconsecutive

    * outbuffer.c: Implemented new Goby code

    * gsnap.c: Implemented new Goby code

    * goby.c, goby.h: Implemented new Goby code

    * gtf_splicesites.pl.in: Skipping comment lines that begin with '#'.

    * gtf_splicesites.pl.in: Removed requirement for exon_number field in GTF
      file

    * gmap_build.pl.in: Added -T flag to specify temporary build directory

    * gmap_build.pl.in: Deleting .coords file

2012-02-14  twu

    * gmap_build.pl.in: Fixed filenames for 1-digit values

    * oligo.c: Added repetitive oligos for 6-, 7-, and 8-mers.

    * indexdb.c: Improved warning message

    * gmap_build.pl.in: Made default value for base size to be kmer size

    * configure.ac: Moved read of config.site and setting of CFLAGS earlier, so
      default CFLAGS is not set by autoconf.

    * setup1.test.in: Changed name of positions file to reflect new naming
      scheme

    * README: Added comment about new naming for positions file

    * Makefile.am, setup.ref12123positions.ok, setup.ref123positions.ok: Changed
      name of positions file to reflect new naming scheme

    * VERSION: Updated version

    * config.site.rescomp.prd, config.site.rescomp.tst: Changed dates

    * configure.ac: Adding check for CFLAGS and setting default to be -O3

    * config.site: Commenting out default CFLAGS variable

    * README: Added comment about adding -m64 in CFLAGS for Macintosh machines

    * gsnap.c, stage1hr.c, stage1hr.h: Added control of gmap_indel_knownsplice
      feature to gsnap program

    * stage3hr.c, stage3hr.h: Added function to help run GMAP on indels to find
      known splicing

    * stage1hr.c: Added function to run GMAP on indels to find known splicing

    * stage1.c: Using new interface to Reader_new

    * pmapindex.c: Removed -R flag for processing reverse strand of genome. 
      Consolidated code for computing offsets and positions.

    * pair.c: Eliminated extra points subtracted from Pair_nmatches, so that the
      function reports the correct number of matches

    * dynprog.c: Fixed bug where known splicing was being called when length2
      was 0, resulting in bad endpoints for binary search

2012-02-03  twu

    * stage1hr.c: Using spansize in computing floors.  Reduced value of
      STAGE2_MIN_OLIGO from 5 to 3.

    * gsnap.c: Using new interface to Stage1hr_setup and Spanningelt_setup

    * uniqscan.c: Using new interface to Stage1hr_setup and Spanningelt_setup

    * reader.c, reader.h: Removed blocksize as a field for Reader_T object

    * oligo.c, oligo.h: Storing oligosize as a static variable, and not using it
      anymore as a parameter to Oligo_next or Oligo_skip.

    * block.c: Removed oligosize as a field from Block_T object

    * stage1hr.c, stage3hr.c, stage3hr.h, substring.c, substring.h: Revised
      Stage3end_optimal_score to compare terminal and non-terminal alignments
      using an eventrim procedure, based on the maximal trims found in the
      non-terminal alignments, and re-computing the mismatch scores in those
      regions.

    * stage1hr.c: Running Stage3end_remove_overlaps to remove terminals that
      overlap with a GSNAP alignment.  Using spansize to compute fast_level.
      Removed index1part (oligosize) from calls to Reader_new and Oligo_next.

    * stage1hr.c, stage1hr.h: Generalized from 6 to STAGE2_MIN_OLIGO +
      index1interval, for deciding whether a found diagonal is close enough to
      end to redefine region for GMAP alignment.  Using spansize to compute
      floors, and counting all mismatches if spansize != index1part.

    * spanningelt.c, spanningelt.h: Added function Spanningelt_setup, which
      computes spansize for a given index1part and index1interval

2012-02-02  twu

    * pairdef.h, pairpool.c, stage3.c: Added field end_intron_p to Pair_T
      object, and using it in traversing dual genome gaps.  When applicable,
      solving introns where left intron or right intron is omitted.

    * stage1hr.c: Improved debugging messages by printing chromosomal
      coordinates rather than universal coordinates

    * Makefile.dna.am, atoiindex.c, cmetindex.c, config.site.rescomp.prd,
      config.site.rescomp.tst, genomicpos.c, genomicpos.h, gmap_build.pl.in,
      gmap_setup.pl.in, gmapindex.c, indexdb.c, indexdb_hr.c, memory-check.pl,
      pmapindex.c, snpindex.c, spanningelt.c, spanningelt.h, src, stage1hr.c,
      trunk, types.h, util: Merged revisions 56772 to 56962 from
      branches/2012-01-31-index1interval to allow genomic indices up to 16-mers
      and sampling intervals from 1 to 3

2012-02-01  twu

    * resulthr.c, stage3hr.c, stage3hr.h: If anomalous splices (of type
      SAMECHR_SPLICE) occur within a read for a unique mapping, changing
      resulttype from _UNIQ to _TRANSLOC.

    * outbuffer.c: Fixed issue with double opening of nomapping output file,
      first as single and then as paired

2012-01-31  twu

    * gmapindex.c: Allowing only values 1, 2, and 3 for sampling interval

    * gmap.c, gsnap.c, indexdb.c, indexdb.h, stage1hr.c, stage1hr.h, uniqscan.c:
      Added --sampling flag and passing index1interval to Stage1hr_setup

    * uniqscan.c: Using new interface to Indexdb_new_genome

    * indexdb.c: Fixed incorrect variable name (oligo instead of oligoi).

    * gmap_build.pl.in: Removed fixed value of -q 3 in calls to gmapindex

2012-01-30  twu

    * gmap_build.pl.in: Added -q flag for sampling interval

    * gmap.c, gmapindex.c, gsnap.c: Allowing user to enter -k 16

    * block.c, indexdb_dump.c, indexdb_hr.c, stage1.c, stage1hr.c: Fixed mask
      calculation to use unsigned long, so kmer of 16 works

    * atoiindex.c, cmetindex.c, indexdb.c, indexdb.h, snpindex.c: Enabled
      writing of genome indices with kmer of 16

    * oligo.c: Allowing k-mer size of 16

    * genome_hr.c: Clarified types of gamma and value to be Positionsptr_T and
      firstbit to be int.

2012-01-27  twu

    * oligo.c: Allowing k-mer size to go down to 9

    * indexdb_hr.c, indexdbdef.h: Eliminated separate data storage for offsets
      when expand_offsets_p is true.  Instead, expanding gammas into offsetscomp
      and making gammaptrs just the identity function.

    * indexdb.c: Eliminated separate data storage for offsets when
      expand_offsets_p is true.  Instead, expanding gammas into offsetscomp and
      making gammaptrs just the identity function.

2012-01-19  twu

    * indexdb.c, indexdb.h: Allowing selection of base size, and returning found
      base size. Simplified logic for selecting indexdb.

    * gmap.c, gsnap.c: Added --basesize flag to allow user to select base size

    * gmapindex.c: Allowing k-mer size to be 15 or less

2012-01-18  twu

    * gmapindex.c: Added break after handling flag -b

2012-01-14  twu

    * VERSION: Updated version number

    * Makefile.three.am: Rebuilt instructions from Makefile.gsnaptoo.am, plus
      Makefile.dna.am for PMAP and PMAPINDEX

    * Makefile.gsnaptoo.am: Removed gsnap_tally from distribution

    * README: Change URL for Web site

    * alphabet.c: No longer checking new get_codon procedures against old ones

    * pmapindex.c: Revised limit for 8-mers to be alphabet size of 13 or less

    * README.PMAP: Added a README file for PMAP

2012-01-13  twu

    * indexdb.c, indexdb.h: Providing alphabet and alphabet_size to caller of
      Indexdb_new_genome

    * gmap.c: Added --alphabet flag to PMAP to specify a particular alphabet

    * atoiindex.c, cmetindex.c, genome_hr.h, snpindex.c, types.h: Moved
      definition of Storedoligomer_T from indexdbdef.h to types.h

    * block.c, block.h, stage1.c: Removed msb computation and storage in Block_T
      object, and initializing instead by Oligop_setup

    * alphabet.c, alphabet.h, oligop.c, oligop.h: Providing aa_index_table to
      Oligop procedures at run time

    * Makefile.dna.am, alphabet.c, alphabet.h, indexdb.c, indexdb.h,
      indexdbdef.h, pmapindex.c: Created Alphabet_T object.  Moved relevant
      codon-based procedures from indexdb.c to alphabet.c.  Replaced
      get_codon_fwd and get_codon_rev with lookup tables.  Allowed pmapindex to
      generate indices with different alphabets and alphabet sizes.

    * gmapindex.c: Added check for k-mer size being greater than or equal to
      base size

    * gmap.c: Made default k-mer size 7 for PMAP

    * Makefile.dna.am, indexdb.c, pmapindex.c: Made PMAP index files compatible
      with compressed hash tables and added flags to be consistent with other
      auxiliary indexing programs

2012-01-11  twu

    * VERSION: Updated version

    * index.html: Updated Web page for latest version

    * mapq.c: Fixed debugging statement

    * stage3hr.c: In output_cmp procedures, sorting first by nmatches (pretrim),
      and then by mapq.  Added procedure to enforce monotonicity of mapq scores.

    * stage1hr.c, stage3hr.c, stage3hr.h: Running optimal_score first allowing
      all GMAP alignments, then removing overlaps, and then running
      optimal_score again without special provision for GMAP alignments.

    * gmap.c, gsnap.c, pair.c, pair.h, uniqscan.c: Added flag --sam-use-0M to
      control printing of 0M in CIGAR strings

    * gmap.c, gsnap.c, stage3.h, uniqscan.c: Providing output_sam_p to
      Stage3_setup

    * stage3.c: In fill_in_gaps, handling dual breaks by inserting query and
      genomic segments when output_sam_p is true.

    * pair.c: In compute_md_string, setting state to be IN_MATCHES after seeing
      I token, so we don't print two successive ^ tokens.

    * stage3.c: Added a pass to remove adjacent insertions and deletions and fix
      single gaps again.

2012-01-10  twu

    * gmap_build.pl.in: Doing chmod on gammaptrs only if kmersize > basesize

2012-01-09  twu

    * gsnap.c, stage1hr.c, stage3hr.c, stage3hr.h: Computing GMAP alignment
      score using standard splicing penalties and indel penalties

2012-01-07  twu

    * README: Added information about maximum genome length.  Added information
      about SAM fields.

    * atoiindex.c, cmetindex.c: Eliminated memory leaks and reduced memory usage
      from 20 GB to 12 GB for a human-sized genome

2012-01-06  twu

    * gmap.c, gsnap.c, uniqscan.c: Using new interfaces to Dynprog_setup and
      Stage3_setup to provide information about novelsplicingp.  Passing
      fileroot instead of dbroot to Datadir_find_mapdir.

    * stage3hr.c: Stage3end_optimal_score and Stage3pair_optimal_score now
      keeping all GMAP results

    * stage3.c, stage3.h: Marking pairs as disallowed when novelsplicingp is
      false and dynamic programming cannot find a solution provided by the
      splicing_iit file. Trimming end introns that are disallowed.

    * stage1hr.c: Added debugging message

    * dynprog.c, dynprog.h: The bridge_intron_gap function now handling runs
      where novelsplicingp is false and known splicing is at intron level. 
      Dynprog_genome_gap returning NULL in such cases.

    * pair.c, pairdef.h, pairpool.c: Added field disallowedp to Pair_T object

    * iit-read.c, iit-read.h: Added functions IIT_low_exists and
      IIT_high_exists, used for intron-level known splicing.  Improved warning
      message for invalid IIT files.

2012-01-05  twu

    * gmapindex.c: Added check for total genomic length exceeding 4 GB

    * snpindex.c: Reduced maximum memory usage for human genome from 12 GB to 8
      GB. Eliminated memory leaks.

2012-01-03  twu

    * src, trunk, util: Merged revisions 50470 to 50909 from
      branches/gmap-2011-10-24-mult-stage2

    * config.site.rescomp.tst: Changed date

    * config.site.rescomp.prd: Changed date

2011-12-29  twu

    * README: Changed comment about splicing file with known introns possibly
      being buggy

    * VERSION: Updated version number

    * index.html: Added changes for new version

    * iit-read.c: If add_iit_p is true, trying filename with .iit suffix first
      before trying filename as given

    * stage3hr.c: Added check for low coordinate of new GMAP object being to the
      left of coordinate 0

2011-12-21  twu

    * shortread.c: Allowing for /3 endings in second end of Illumina short reads

2011-12-13  twu

    * index.html: Made update for new version

    * VERSION: Updated version number

    * stage3.c: Fixed issue in trying to solve dual introns with negative query
      coordinates

2011-12-09  twu

    * spanningelt.c, spanningelt.h, stage1hr.c: Alternate fix to problem with
      positions being NULL, while npositions > 0.  Fixed Spanningelt_set so it
      updates npositions along with positions.

    * VERSION: Updated version number

    * archive.html: Moved old version here

    * index.html: Added new version.  Added information about users group.

    * stage1hr.c: Added an extra check for positions[querypos] not being NULL,
      needed for nonstranded modes

2011-12-08  twu

    * gmap_build.pl.in: Fixed bug in not assigning cmd variable

2011-12-05  twu

    * shortread.c: Fixed bug in printing null accession for second end when
      using --fails-as-input flag

    * gmap_build.pl.in: Checking return codes from system calls

2011-12-02  twu

    * VERSION, index.html: Updated version number

    * gsnap.c: Changed name of flag from --ambig-splice-notrim to
      --ambig-splice-noclip

    * pair.c: Pushing "0M" between adjacent I and D operations in a cigar string

    * gmap.c, gsnap.c, uniqscan.c: Using new interface to Splicetrie_setup. 
      Providing --ambig-splice-notrim flag in GSNAP.

    * splicetrie.c, splicetrie.h: Providing behavior to turn clipping off at
      ambiguous known splice sites, useful if trying to turn off all soft
      clipping

    * stage1hr.c: Fixed debugging statement

2011-11-30  twu

    * stage1.c: Fixed variable name so PMAP could compile

2011-11-29  twu

    * dynprog.c, maxent_hr.c, maxent_hr.h, pair.c, stage1hr.c, stage3.c,
      substring.c: Checking for case where splice_pos minus margin goes beyond
      beginning of chromosome

    * VERSION, index.html: Updated version number

    * maxent_hr.c: Checking for case where splice_pos is smaller than margin

    * pair.c, samprint.c: Changed value of NM tag in SAM output to be edit
      distance (mismatches plus gaps)

    * stage1hr.c: Fixed debugging statement

2011-11-28  twu

    * VERSION, index.html: Updated version number

    * gsnap.c: Calling SAM_setup

    * outbuffer.c: For GMAP, when quiet_if_excessive_p is true and npaths >
      maxpaths, not printing any output

    * pair.c, pair.h, stage3.c: Printing HI tag in SAM output

    * samprint.c, samprint.h: When quiet_if_excessive_p is true and npaths_mate
      > maxpaths, setting MATE_UNMAPPED in flag.  Printing HI tag.  Added
      function SAM_setup.

2011-11-25  twu

    * VERSION, index.html: Updated version number

    * stage3.c: For GMAP, using QUERYEND_INDELS instead of QUERYEND_NOGAPS

    * stage1.c: Added check for querylength being too short

    * gmap.c: Changed information in --help about how to turn off chimera
      detection

    * stage3.c: In Stage3_mergeable, added check for firstpart_npairs or
      secondpart_npairs being 0

2011-11-23  twu

    * index.html: Updated version number

    * VERSION: Updated version number

    * stage1.c: Made direct calls to fields in Match_T objects for speed.  Made
      changes so debugging macros work.

    * dynprog.c: Made special traceback procedure for queryend_nogaps

2011-11-21  twu

    * stage3hr.c: Fixed bug where Stage3end_remove_overlaps was not keeping ends
      where paired_usedp was true.  In Stage3end_remove_overlaps and
      Stage3pair_remove_overlaps, terminal alignments lose to all other types.

    * stage3hr.h: Put GMAP hittype before TERMINAL hittype

    * gsnap.c: Increased default values for max_gmap_pairsearch,
      max_gmap_terminal, and max_gmap_improvement

    * stage3hr.c: Changed code for Stage3end_remove_overlaps to parallel that
      for Stage3pair_remove_overlaps

    * samprint.c: Allowing for GMAP alignments to be printed for single-end
      reads

    * VERSION, config.site.rescomp.prd, config.site.rescomp.tst: Updated version
      number

    * stage3.c: Added comment about pass 8 and 9

    * index.html: Made changes for 2011-11-20 version

    * uniqscan.c: Using new interface to Stage1_single_read

    * stage3hr.c: Changed the code for Stage3end_optimal_score to be consistent
      with that of Stage3pair_optimal_score.  Allowing terminal alignments to be
      considered along with other alignments.

    * stage1hr.c: For single-end alignment, initializing done_level to
      user_maxlevel, rather than opt_level, to be consistent with the code for
      paired-end alignment.  However, the values are the same anyway.

    * gsnap.c: Changed the default value for terminal_threshold from 3 to 2.
      Expanded the --help entry for --terminal-threshold.

    * index.html: Made changes for version 2011-11-17

    * stage3.c: Added more restrictions on non-canonical splices at ends of read

2011-11-20  twu

    * stage3hr.c, stage3hr.h: Added functions Stage1end_start_endtype and
      Stage1end_end_endtype for terminal alignments

    * gsnap.c: Using new interface to Stage1_single_read

    * gmap.c, stage3.c, stage3.h: Changed name of variable

    * stage1hr.c, stage1hr.h: Implemented GMAP terminal mode for single-end
      reads

    * dynprog.c: Lowered rewards for canonical introns, to help find
      non-canonical introns

    * stage3.c: In fill_in_gaps, if splicingp is false, then filling in a
      deletion, not an intron

2011-11-19  twu

    * stage3.c: Moved trim_noncanonical procedures from path_trim to
      path_compute. After trim_noncanonical procedures, doing an extension using
      QUERYEND_NOGAPS.

    * stage1hr.c: Using -3*nmismatches and -4 for an indel in evaluating end
      indels, corresponding to default values for trim_mismatch_score and
      trim_indel_score.

    * stage3.c: Using endalign instead of to_queryend_p.  When endalign is
      QUERY_NOGAPS, not doing peelback.  In pass 8, changed extendp from false
      to true (QUERYEND_INDELS).

    * gsnap.c, uniqscan.c: Added flag --trim-indel-score

    * dynprog.c, dynprog.h: Replaced to_queryend_p with endalign, with types
      BEST_LOCAL, QUERYEND_INDELS, and QUERYEND_NOGAPS.  For extensions to
      queryend, always returning gappairs.

    * atoiindex.c, cmetindex.c: Updated --help to indicate how --kmer and -D are
      chosen by default

2011-11-17  twu

    * VERSION: Updated version number

    * gmap.c, gsnap.c, stage1hr.c, stage3.c, stage3.h, uniqscan.c: Revised
      calculation of insertlength inside trim_noncanonical_ends procedures to
      compensate for using maximum overlap in computing genomicseg.

    * stage3.c: Made fill_in_gaps procedure replace short non-canonical introns
      with deletions.  Removed this feature from assign_gap_types.  Added
      additional checks on translation coordinates to stay within array bounds.

    * dynprog.c: Added debugging statements

    * substring.c: Added comment

    * shortread.c, shortread.h, stage1hr.c: For GMAP algorithm in GSNAP,
      assuming maximum overlap, rather than trying to compute overlap

    * outbuffer.c: Printing all paths when -E flag is given to GMAP

    * stage3hr.c: Improved error message when ambig end splicetype has an
      unexpected value

    * dynprog.c: Removed unused code for END_KNOWNSPLICING_SHORTCUT.  Always
      assigning *ambig_end_length in Dynprog_end5_known and Dynprog_end3_known.

2011-11-14  twu

    * uniqscan.c: Using new interface to Stage3hr_setup

    * stage3.c: Not substituting for long deletions at end of path_compute

    * stage1hr.c, stage3hr.c, stage3hr.h: Removed end_indel_p parameters to
      Stage3end_new_insertion and Stage3end_new_deletion

    * stage1hr.c: Preventing call to Genome_count_mismatches_limit by
      find_doublesplices where pos5 >= pos3

    * VERSION: Updated version number

    * configure.ac: Added flag --enable-popcnt

    * dynprog.c: Initialing value of ambig_end_length

    * stage3.c: Skipping gap pairs at the beginning of alignments in
      fill_in_gaps

    * goby.c: Using new interface to Result_array

2011-11-12  twu

    * VERSION: Updated version number

    * stage1hr.c, stage3hr.c: Checking in Stage3end_new_gmap if genomicstart or
      genomicend exceeds chrhigh, and if so, returns NULL.

    * stage3.c: Moved assigning of gap types to end of path_compute, rather than
      beginning of path_trim

    * stage3.c: Inserting gap pairs and adding gap types at beginning of
      path_trim

2011-11-11  twu

    * gsnap.c, outbuffer.c, outbuffer.h, samprint.c, samprint.h, stage1hr.c,
      stage3hr.c, stage3hr.h: Divided DISTANT_SPLICE type to SAMECHR_SPLICE and
      TRANSLOC_SPLICE. Making merge_samechr_p act only at print time, which
      allows SAMECHR_SPLICE to undergo pair_up_concordant again.  Stopping
      clip-overlap on distant splices.

    * VERSION: Updated version number

    * stage3hr.c: Keeping hits in optimal scoring if nmatches_posttrim is
      sufficiently high relative to the best hit

    * gsnap.c, uniqscan.c: Increased value of max_deletionlength from 30 to 50

    * gmap.c, stage1hr.c: Using new interface to Stage3_compute

    * stage3.c, stage3.h: Changed flow to path_compute on both cdna directions,
      then pick_cdna_direction, then path_trim, which removes non-canonical end
      exons.

    * stage3hr.c, stage3hr.h, substring.c, substring.h: Added nmatches_posttrim
      and using it to break ties resulting from equal values of nmatches.  Added
      a general test for Substring_new based on matches and mismatches before
      trimming.

    * pair.c: Modified Pair_nmatches to add penalties for an indel and for a
      splice site with low probabilities.  Modified compute_md_string on I
      tokens to skip only for insertion pairs.

    * dynprog.c: Fixed procedure find_best_endpoint_to_queryend to look only at
      r == length1

2011-11-10  twu

    * stage3hr.c: Turned off separate treatment of terminal alignments in
      Stage3pair_optimal_score.  Always trimming ends of insertions and
      deletions (previously depended on value of end_indel_p).

2011-11-09  twu

    * stage3.c: Using a sliding scale in trimming end exons

    * pair.c: Added debugging macro for compute_md_string

    * pair.c, pair.h: Taking cdna_direction as a parameter in
      Pair_print_exonsummary, instead of determining sense separately for each
      intron

    * stage3.c: Restored alignment score in pick_cdna_direction with different
      values of significant difference for GMAP and GSNAP.  Considering a
      non-canonical intron as canonical if both splice site probabilities are
      high.

    * splicing-score.c: Fixed getopt so -D takes an argument

    * pairpool.c, pairpool.h: Revised Pairpool_count_bounded to return number of
      pairs at start.

    * gmap.c: Added comments

    * stage3.c: Restored use of alignment scores in pick_cdna_direction, after
      comparing number of noncanonical splices

    * VERSION: Updated version number

    * shortread.c: No longer printing warning message about not finding "/1" or
      "/2" endings

    * gsnap.c, uniqscan.c: Added max_deletionlength variable

    * gmap.c, outbuffer.c, outbuffer.h, pair.c, pair.h, samprint.c: No longer
      converting short noncanonical splices from type N to type D, since this is
      now performed in stage 3.  Removed cigar_noncanonical_splices_p variable.

    * stage3.c, stage3.h: In assign_gap_types, converting noncanonical splices
      smaller than max_deletionlength into deletions

    * gsnap.c, stage3hr.c, stage3hr.h, uniqscan.c: Treating distant splices on
      the same chromosome as a translocation by default.  Added a flag
      --merge-distant-samechr to get previous behavior.

2011-11-08  twu

    * stage3.c: Using maxintronlen in trimming end exons

    * stage3.c: Removed alignment scores from pick_cdna_direction.  Revised
      procedures for trimming noncanonical end exons and doing distal/medial
      comparison by adding procedures canonicalp and good_end_intron_p, with
      latter using probabilities.

    * gmap.c: Increased parameter for maxpeelback_distalmedial from 24 to 100

    * dynprog.c: Added debugging statements

    * pair.c: Computing MD string from cigar tokens

    * stage2.c: Restored querydist penalty

2011-11-07  twu

    * VERSION: Revised version number

    * index.html: Added entry for new version

    * stage1hr.c: Commented out second round of terminal alignments

    * gmap.c, gsnap.c, uniqscan.c: Set trim_indel_score to -4 to be consistent
      with previous value

    * gmap.c, gsnap.c, uniqscan.c: Calling Pair_setup

    * substring.c: Extending trimming toward ends in case of ties

    * stage3.c: Extending ends completely before final trim

    * pair.h: Extending trimming toward ends in case of ties.  Added Pair_setup
      function to use trim_mismatch_score value provided by user.

    * pair.c: Extending trimming toward ends in case of ties.  Added Pair_setup
      function to use trim_mismatch_score value provided by user.

    * stage2.c: Put code for suboptimal starts into a compiler directive

    * gmap.c, gsnap.c, uniqscan.c: Provided new defaults for
      suboptimal_score_start and suboptimal_score_end, based on simulations

    * gmap.c, gsnap.c, stage2.c, stage2.h, uniqscan.c: Introduced parameters for
      suboptimal_score_end and suboptimal_score_start

    * gmap.c: Added flag for --suboptimal-score

2011-11-06  twu

    * gmap.c, gsnap.c, outbuffer.c, pair.c, pair.h, result.c, result.h,
      resulthr.c, resulthr.h, samprint.c, samprint.h, stage1hr.c, stage3.c,
      stage3.h, stage3hr.c, stage3hr.h, uniqscan.c: Restoring old MAPQ score. 
      Making absolute MAPQ score a separate calculation, and printing it in an
      XQ flag.

2011-11-05  twu

    * stage1hr.c: Added comments

    * stage3hr.c: Added field indel_low, and using to prefer indels at low
      genomic coords

    * stage1hr.c: Fixed computation of firstbound and lastbound so end indels
      are found on short reads, such as 36-mers.

2011-11-04  twu

    * pair.c: Added code to compute_cigar to merge duplicate token types

    * stage2.c: Fixed uninitialized value for last_canonicalp

    * stage2.c: Implemented ability to generate suboptimal paths based on
      different initial positions

    * gmapindex.c: Removed unnecessary file open for -P flag

    * gmapindex.c: Fixed memory leaks for -G flag

    * gmapindex.c: Fixed memory leaks for -A flag

2011-11-01  twu

    * pairpool.c: Commented out copy of shortexonp

    * dynprog.c, dynprog.h, gmap.c, gsnap.c, stage3.c, uniqscan.c: Removed
      endlength requirement for microexons.  Returning prob2 and prob3 from
      Dynprog_microexon_int and applying two standards, depending on whether an
      indel was originally present

    * pair.c: Printing shortexon information

    * pairpool.c: Copying shortexon information in copying pairs

    * smooth.c: Removed unused parameters

    * stage3.c: Adding endlength requirement for finding microexons

    * smooth.c: Printing result of smoothing as pairs

    * stage3.c: Made penalties harsher for indels at end near poor splice sites

    * stage2.c: Computing best overall score during dynamic programming process

    * uniqscan.c: Using new interface to Stage3hr_setup

    * stage2.c: Made changes so PMAP could compile

    * stage3.h: Added parameter favor_mode to Stage3_compute

    * stage3.c: Counting indel near splice as 2 mismatches.  Added endlength
      requirement of 12 for indel near splice.

    * stage2.c: Going through all hits to accumulate cells.  No longer using
      number of links to set root scores.

    * gmap.c, stage1hr.c: Passing value of favor_mode to Stage3_compute

    * smooth.c: Relaxing probability requirement for end exons in GSNAP from
      0.05 to 0.10.

2011-10-31  twu

    * stage3.c: In trimming non-canonical end exons, not combining nearindelp
      with splice probs, requiring 1 mismatch or less for bingop, and allowing
      AT-AC introns.  Extending alignments to queryend before trimming
      non-canonical end exons.

    * stage3.c: In trimming end exons, using a sliding scale based on intron
      length. Also penalizing for indels and mismatches close to exon-exon
      boundary.

2011-10-28  twu

    * gsnap.c, stage1hr.c, stage1hr.h, stage3hr.c, stage3hr.h: Providing
      expected_pairlength and pairlength_deviation values in Stage3hr_setup, and
      removing from Stage1hr procedures.

    * stage3.c: In end exons, checking if indel present, and if so, requiring
      that splice probabilities both be greater than 0.9.

    * gsnap.c, stage3hr.c, stage3hr.h: Restoring pairlength deviation.  Using
      expected pairlength and pairlength deviation to discriminate among
      paired-end reads.

    * stage2.c: Adding all hits from final querypos directly to celllist, rather
      than updating rootscores.  Fixed update of rootscore information to use
      current querypos and hit.  Dynamic programming starting from querypos 0,
      rather than querypos 1.

    * diag.c: Restricted update of diagonal in middle region, to avoid affecting
      subsequent beginning and end regions

    * splicetrie_build.c: Fixed handling of intron intervals, by introducing
      INTRON_HIGH_TO_LOW

    * stage3hr.c: Made other fixes to allow copying of GMAP hit types

    * stage1hr.c: Making copies where necessary for multiple GMAP subpaths, and
      freeing old Stage3pair_T objects at the appropriate time.  Calling
      Stage3pair_remove_overlaps on double GMAP alignments.

    * pairpool.c: Using CALLOC_OUT in Pairpool_copy_array

    * gsnap.c: Printing sequence name when debugging memusage

    * stage1hr.c: Handling multiple subpaths from stage 2 computation

    * stage2.c: Removed restriction on number of positions for final non-zero
      querypos

    * stage3hr.c: Allowing Stage3end_T objects of type GMAP to be copied

    * pairpool.c, pairpool.h: Added function Pairpool_copy_array

2011-10-27  twu

    * stage2.c: Fixed location of compiler directive for PMAP

    * stage3.c: Restoring negative points for non-canonical introns in computing
      goodness

    * stage2.c: Adding root scores for final non-zero and specific querypos

    * gmap.c, list.c, list.h, stage1hr.c, stage1hr.h, stage2.c, stage2.h: Going
      back to changes from revision 50508 for multiple subpaths from stage2,
      plus revisions 50504 to 50909 from branches/gmap-2011-10-24-mult-stage2
      for a root position method for finding optimal and suboptimal subpaths

2011-10-26  twu

    * gmap.c, list.c, list.h, src, stage1hr.c, stage1hr.h, stage2.c, stage2.h:
      Reverted to version 50507, before changes made to allow multiple paths
      from a stage2 computation

2011-10-24  twu

    * VERSION: Updated version number

    * archive.html, index.html: Added changes for 2011-10-24 version

    * gmap.c, list.c, list.h, stage1hr.c, stage1hr.h, stage2.c, stage2.h: Merged
      revisions 50469 to 50504 from branches/2011-10-24-mult-stage2 to allow for
      multiple stage2 results from the same genomic segment for GMAP.

    * stage3.c: Assigning sensedir in all cases, based on intron scores if
      necessary

    * gmap.c, gsnap.c, outbuffer.c, pair.c, pair.h, result.c, result.h,
      resulthr.c, resulthr.h, samprint.c, samprint.h, stage1hr.c, stage1hr.h,
      stage3hr.c, stage3hr.h, uniqscan.c: Computing MAPQ score relative to best
      alignment.  Printing X2 field in SAM output to provide second best MAPQ
      score.

    * stage3.c, stage3.h: When sense_try is provided, assigning sensedir

2011-10-17  twu

    * VERSION: Updated version number

    * index.html: Added comment about change to GMAP

    * gmap.c: Sorting stage3list before evaluating for chimeras

2011-10-14  twu

    * VERSION: Updated version number

    * index.html: Updated for new version

    * configure.ac: Grouped together checks for built-in procedures

    * splicetrie_build.c, splicetrie_build.h: Checking for splice sites being
      beyond the chromosome length boundary

    * splicetrie.c: Handling case where trieoffsets has a NULL_POINTER, which
      can occur with intron-type splicing

    * splicetrie_build.c: Handling case where nsites from a given splice site is
      zero

2011-10-13  twu

    * popcnt.m4: Checking each built-in instruction only if available

    * asm-bsr.m4: Assigning a value to x

    * VERSION: Updated version number

    * gsnap.c: Removed 'S' from getopt

    * gsnap.c: Fixed naming of --splicingdir flag

    * samprint.c: Not printing mate chr or mate chrpos when mate has an
      excessive number of paths

    * popcnt.m4: Changed test for -mpopcnt from a compiler test to a run test,
      to make sure instruction is legal

2011-10-12  twu

    * dbsnp_iit.pl.in: Fixed syntax

    * stage1hr.c: Fixed debugging statements

    * VERSION: Updated version number

    * README, dbsnp_iit.pl.in: Made changes to handle exceptions within the snp
      file

    * stage1hr.c: Fixed detection of novel splice ends for distant splicing

    * maxent_hr.c: Fixed debugging commands

    * stage3hr.c: Added comment

    * stage3hr.c: Eliminating terminals in Stage3end_optimal_score when
      non-terminals are present

    * iit-read.c: Checking for case where nintervals is zero

    * iit-write.c: Fixed memory leak in IIT_build

2011-10-10  twu

    * stage3hr.c: Removing -nindels from calculation of querylength_adj

    * gsnap.c: Limiting minimum value of indexdb_size_threshold

    * indexdb.c: Fixed bug in computing Indexdb_mean_size using compressed hash
      table

    * genome_hr.c: Adding +1 to ctr only when necessary

2011-10-09  twu

    * genome_hr.c, genome_hr.h: In gamma decoding, changed from division of
      shift by 2 to using shift - 1, made all variables unsigned ints, and added
      code for branchless computation.

2011-10-08  twu

    * gmap.c, gsnap.c, inbuffer.c, inbuffer.h: Generalized --filter-chastity to
      work on either or both ends of a paired-end read

    * index.html: Changed wording

    * index.html: Added information about --filter-chastity option

    * goby.c, gsnap.c, inbuffer.c, shortread.c, shortread.h, uniqscan.c:
      Implemented --filter-chastity option

2011-10-07  twu

    * genome_hr.c: Implemented a 2-shift method for decoding gammas, which
      avoids a branch

    * config.site.rescomp.prd, config.site.rescomp.tst: Updated for new version

    * index.html: Entered new version 2011-10-07

    * VERSION: Updated version number

    * splicetrie.c: Fixed a bug where splicesites_i was not being initialized to
      NULL

    * genome_hr.c: Removed dispatch procedures.  Moved part of read_gamma to top
      of loop, to guarantee that the final ptr location is correct.

    * genome_hr.c: Removed nbits.  Implemented macros for clear_lowbit and
      clear_highbit.

    * genome_hr.c: Implemented both dispatch and non-dispatch methods for
      getting offsetptrs from gammas

    * genome_hr.c: Rearranged order of gamma computations within loops

    * genome_hr.c: For gamma commands, trying builtin clz first, then bsr in
      assembly, then table lookup.

    * Makefile.dna.am, Makefile.gsnaptoo.am: Added POPCNT_CFLAGS

    * config.site: Made CFLAGS=-O3 and added comments about testing -mpopcnt

    * acinclude.m4, asm-bsr.m4, configure.ac, popcnt.m4: Added tests for
      -mpopcnt compiler flag and bsr function in assembly

2011-10-06  twu

    * genome_hr.c: Added assertion statements to make sure builtin_clz is not
      called with a value of 0

2011-10-05  twu

    * VERSION: Updated version number

    * index.html: Made changes for latest version

    * configure.ac: Added gff3 utility programs

    * stage3hr.c: Sped up comparison of overlapping and separate paired-end
      alignments by using arrays instead of lists.

    * stage3hr.c: Simplified procedure for finding bad superstretches

    * stage1hr.c: Fixed bugs in pushing indels to low genomic position in
      solve_middle_insertion and solve_middle_deletion

    * gsnap.c: Commenting out --genes option

    * stage3hr.c: Performing separate runs of Stage3pair_remove_overlaps on
      overlapping and non-overlapping alignments

    * stage3hr.c: Added check for bad superstretches in Stage3pair_overlap

    * gsnap.c, stage1hr.c, stage1hr.h, uniqscan.c: Implemented a fast,
      integrated method for novel and known double splicing, and using it by
      default

    * access.c: Added error messages when mmap fails

    * stage3hr.c: Picking a winner in case of ties in Stage3pair_remove_overlaps

2011-10-04  twu

    * stage1hr.c: Fixed calculation of genomicstart and genomicend for GMAP
      alignments, to extend as if there were no trimming

    * stage3hr.c: Added debugging statements

    * stage1hr.c: Made finding of novel doublesplices faster

    * psl_introns.pl.in, psl_splicesites.pl.in: Moved print_exons into a
      subroutine

    * psl_introns.pl.in, psl_splicesites.pl.in: Using donor_okay_p and
      acceptor_okay_p subroutines

    * gtf_introns.pl.in: Changed warning message to refer to intron, not exon

    * gtf_genes.pl.in: Removed unused variables

    * Makefile.am, gff3_genes.pl.in, gff3_introns.pl.in, gff3_splicesites.pl.in:
      Added programs to handle GFF3 files

    * Makefile.dna.am: Removed programs for processing BAM files

    * iitdef.h: Restored NUMERIC_ALPHA_SORT to sort types

    * iit-write.c: Restored NUMERIC_ALPHA_SORT to sort types

    * stage1hr.c: Fixed issue with finding novel doublesplices where not all
      middle segments were tested

2011-10-03  twu

    * iitdef.h: Added code for creating IIT files internally

    * iit-write.c, iit-write.h: Added code for creating IIT files internally

    * archive.html, index.html: Made changes for version 2011-10-01

2011-10-02  twu

    * VERSION: Updated version number

2011-10-01  twu

    * sequence.c: Removed compiler directive to undef HAVE_ZLIB

    * stage1hr.c: Allowing reads to be equal to index1part+2, not just greater
      than

    * Makefile.dna.am, uniqscan.c: Added program uniqscan

2011-09-30  twu

    * Makefile.dna.am, dynprog.c, dynprog.h, gmap.c, gsnap.c, splicetrie.c,
      splicetrie.h, stage1hr.c, stage1hr.h, stage3.c, stage3.h: Moved
      splicesites and trieoffsets into local static variables to avoid passing
      them as parameters

    * stage1hr.c: Moved check of genestrand value outside loop for retrieving
      oligos

    * substring.c: Created separate procedures for mark_mismatches for stranded
      and non-stranded cases

    * genome_hr.c, gsnap.c, indexdb.c, mode.h, stage1hr.c, substring.c:
      Implemented stranded and non-stranded versions of cmet and atoi
      substitutions

    * VERSION, compress.c, config.site.rescomp.prd, config.site.rescomp.tst,
      genome_hr.c, genome_hr.h, gsnap.c, mapq.c, mapq.h, splicetrie.c,
      splicetrie.h, src, stage1hr.c, stage3hr.c, stage3hr.h, substring.c,
      substring.h, trunk, util: Merged revisions 48527 to 48790 from
      branches/2011-09-28-atoi

2011-09-29  twu

    * stage1hr.c: Previously returning NULL if either end of a paired-end read
      had no oligos.  Now returning NULL if both ends have no oligos.

    * stage3hr.c: Requiring that overlap be greater than both ends of a
      paired-end read

    * oligoindex_hr.c: Not computing oligoindex if left_plus_length <= left

2011-09-28  twu

    * psl_introns.pl.in, psl_splicesites.pl.in: Added warning if intron lengths
      are negative

    * splicetrie_build.c: Added check for negative distances in a splicing_iit
      file

    * genome_hr.c: Fixed assignment to predicate inside of assert statement

2011-09-22  twu

    * VERSION: Updated version number

    * gsnap.c: Fixed typo in help statement

    * table.c, uinttable.c: Allowing retrieval of keys to work, even if table is
      empty

    * substring.c: Allowing case where nothing is found in splicesites_iit,
      because it is for introns and not splicesites

    * splicetrie.c: Fixed case where splicetrie_obs is not NULL, but
      splicetrie_max is NULL, which occurs if the splicing file is for introns,
      and not splicesites

    * splicetrie_build.c: Fixed memory leak in building splicetrie for introns
      splicing file

2011-09-20  twu

    * cappaths.c, spliceclean.c: Moved cappaths and spliceclean programs to
      GSTRUCT repository

    * Makefile.dna.am, genecompare.c: Moved program genecompare to GSTRUCT
      repository

    * Makefile.dna.am: Moved cappaths to GSTRUCT repository

    * Makefile.dna.am, splicegene.c, spliceturn.c: Moved spliceturn and
      splicegene to GSTRUCT repository

2011-09-17  twu

    * gsnap.c: Provided further clarification in help statement about
      min-localsplice-endlength

    * gsnap.c: Checking that min_distantsplicing_end_matches is greater than or
      equal to kmer size.  Clarified some help statements.

    * README: Added recommendation to use known splice sites, rather than known
      introns

    * README: Clarified that a given set of known splice sites can find
      alternative splicing.

    * except.c: Fixed Except_advance_stack to return a value if pthreads not
      available

    * Makefile.dna.am: Moved instructions for spliceclean and splicealt to
      GSTRUCT repository

    * psl_introns.pl.in: Removed extraneous "v" at beginning of line

2011-09-14  twu

    * VERSION: Updated version number

    * index.html: Updated page to show version 2011-09-14

    * inbuffer.c, sequence.c, shortread.c, shortread.h: Revised read procedures
      to handle multiple files correctly

2011-09-13  twu

    * pair.c, pair.h, samprint.c: For SAM output of GMAP alignments, printing
      correct value of NH for number of hits

    * stage3.c, stage3.h: Added parameter for min_intronlength

    * gmap.c, gsnap.c: Added parameter for min_intronlength

    * Makefile.dna.am, bam_pileup.c, bam_tally.c, bamread.c, bamread.h,
      gsnap_extents.c, gsnap_splices.c: Moved files to gstruct

    * stage3.c: Reduced value of MIN_NONINTRON from 50 to 9 to avoid declaring
      short introns as indels

    * pair.c: Fixed Pair_print_sam to work properly for chimeric alignments

    * stage3.c: Cleaning up gaps and indels from ends at end of stage 3

    * stage1hr.c: Fixed debugging statement

2011-09-09  twu

    * VERSION: Updated version number

    * dynprog.c: Fixed computation of lband and rband in find_best_endpoint and
      find_best_endpoint_to_queryend

    * dynprog.c: Added protections against length1 being negative

2011-09-08  twu

    * index.html: Made changes for 2011-09-07 version

2011-09-07  twu

    * samprint.c: Removed almost all unused parameters

    * outbuffer.c, stage3.c, stage3.h: Removed most unused parameters

    * pair.c, pair.h, stage3.c: Removed almost all unused parameters

    * pair.c: Fixed compiler messages about comparison of signed and unsigned
      ints

    * compress.c, compress.h: Fixed compiler messages about comparison of
      unsigned and signed ints

    * svncl.pl: Made changes to fix merges of words between lines and preserve
      original numbers of spaces

    * VERSION: Updated version number

    * shortread.c: For input error involving line that is too long, printing
      accession where problem occurred.

    * Makefile.am: Including full set of psl and gtf parsing programs with or
      without fulldist

    * genome.c: Added include line for genomicpos.h

    * Makefile.dna.am: Included genomicpos.c and genomicpos.h for
      extents_genebounds

    * README: Made changes to reflect new gtf_introns program

    * Makefile.am, configure.ac, gtf_introns.pl.in: Added gtf_introns program. 
      Also putting psl_introns back into the public distribution.  Made changes
      accordingly in README file.

    * dynprog.c, dynprog.h, stage3.c: When searching for gappairs_alt using
      probabilities, bounding the search based on a score threshold computed
      from the original score

    * stage3.c: For GSNAP, no trimming of noncanonical ends based on
      probabilities, since need to compare fwd and rev directions.  Stopped
      final trimming of short end exons.  For gappairs_alt, accepting if it
      results in high-probability splice sites.  For pick_cdna_direction, using
      separate donor and acceptor scores and using alignment score again.

    * stage3.c: Put final pass to find canonical introns before trimming of dual
      breaks at ends

    * stage3.c: Fixed problem with trimming dual breaks where it was trimming
      indels. In trimming noncanonical exons at end, reduced NONCANONICAL_ACCEPT
      from 20 to 15, and added NONCANONICAL_PERFECT_ACCEPT.  In
      pick_cdna_direction, turned off use of indel_alignment_score, and added
      nmatches - nmismatches - 3*nindels with MATCHES_SIGDIFF after use of
      totalintronscore.

    * pair.c: Counting nindels correctly near splice sites

    * dynprog.c: Counting nindels correctly near splice sites

    * gtf_splicesites.pl.in: Allowing GTF file to use tag gene_id instead of
      gene_name

    * stage1hr.c: Fixed masking of oligos for cmet and atoi modes

    * gsnap.c: Added 'S' flag to getopt command.  Removed 'R' flag from getopt
      and from help message.

    * datadir.c: Fixed error message to remove the word default

    * stage3.c: Peeling back 1 pair in a dual break (previously turned off) to
      avoid having a gap on either side.

2011-09-06  twu

    * dynprog.c, dynprog.h, stage3.c: Changed bridge_intron_gap to have an
      explicit parameter for use_probabilities_p.  Using indel_alignment_score
      now in pick_cdna_direction.

    * splicetrie.c, splicetrie.h: Providing contlength as parameter when making
      3' splicejunctions

    * genome.c, genome.h: Added functions for Genome_fill_buffer_blocks that do
      not print final null at end of string, needed for making splicejunctions.

    * dynprog.c, dynprog.h: Fixed creation of splicejunctions.  For 5'
      splicejunctions, not printing final null at end of string.  For 3'
      splicejunctions, printing distal sequence at splicejunction[contlength].

2011-09-03  twu

    * atoiindex.c, cmetindex.c: Masking to oligomer indices to given index1part
      size

2011-09-02  twu

    * gmap.c: Fixed bug in pairalign where min_matches not be adjusted downward
      to MIN_MATCHES

2011-09-01  twu

    * stage3.c: Fixed bug where longer end of dual break was being trimmed, not
      shorter end

    * dynprog.c: Allow for cDNA insert of up to 3 bp at splice site

    * dynprog.c, dynprog.h, gmap.c, gsnap.c, stage3.c: Introduced
      --microexon-spliceprob flag and allowing microexons only if one of the
      splice sites exceeds this value

    * stage3.c: Always keeping gappairs if finalp is true (was forcep)

    * dynprog.c: Always using splice site probabilities to find introns if
      finalp is true, and allowing indels nearby

    * stage3.c: Added a factor for dual break query jump to avoid dual breaks at
      end with small query jumps

    * gmap.c: Fixed indentation

    * scores.h: Added negative points in pathscore for non-canonical intron or
      for when cdna direction is indeterminate

    * pair.c: Added negative points in pathscore for non-canonical intron or for
      when cdna direction is indeterminate

    * chimera.c: Not allowing chimeric transition into a gap

    * stage1hr.c: Using new interface to Stage3_compute

    * gsnap.c: Using new interface to Stage3_setup

    * gmap.c: Added --nosplicing flag.  Fixed memory leak when matches <
      min_matches.

    * stage3.c, stage3.h: Made splicingp a static variable.  Added a step to
      remove dual breaks from the ends of an alignment.

    * stage2.c: Turning off link back to grand_fwd_hit when splicingp is false

    * stage2.c: Using macros for diffdist_penalty under splicing and
      non-splicing cases

    * stage2.c: Consolidated loops for use_shifted_canonical_p == true and ==
      false. Removed compiler branches when SHIFT_EXTRA is not defined.

2011-08-31  twu

    * stage3.c: In trimming noncanonical exons from end, requiring end intron to
      be canonical and have donor prob or acceptor prob >= 0.9.

    * chimera.c, chimera.h, pair.c, pair.h, stage3.c, stage3.h: Prohibiting
      chimeric join at a query position containing a gap

    * gsnap.c: Added comment in --help output about how to turn off terminal
      alignments

    * stage1hr.c: Using terminal_threshold in paired-end reads

    * gsnap.c, stage1hr.c, stage1hr.h, stage3hr.c, stage3hr.h: Replaced
      terminal_penalty with terminal_threshold

2011-08-30  twu

    * gmap.c: Fixed entry for --pairalign in long_options

    * gmap.c: If min_matches exceeds MIN_MATCHES, use MIN_MATCHES

    * outbuffer.c, pair.c, pair.h, stage3.c, stage3.h: In compressed output,
      printing accession of usersegment instead of null dbversion

    * gmap.c: Implemented --pairalign flag for aligning a pair of sequences via
      stdin

    * splicetrie_build.c: Fixed compiler warning about unused variable

    * stage3.c: Improved debugging output

    * genome.c, gmap.c, inbuffer.c, inbuffer.h, sequence.c, sequence.h:
      Implemented --cmdline flag to align two sequences provided on the command
      line

    * shortread.c: Changed warning message when /1 or /2 endings not found

    * access.c: Changed warning message for Macs

    * stage3.c: Fixed add_querypos_offset, which previously excluded gap pairs

    * genome.c: Fixed compiler warnings about comparing ints and unsigned ints

    * indexdb.c: Printing genomesubdir and then individual index file names in
      monitoring message

    * indexdb.c: Using commas in initial monitoring message

    * genome.c: Using commas in initial monitoring message.  Allowing allocation
      if mmap not available.

    * gsnap.c: Modified messages about RNA-Seq and DNA-Seq

    * stage1hr.c: Put GMAP modes on a single line in monitoring message

    * indexdb.c: Restored debugging messages

    * iit-read.c: Casting all size_t to (unsigned long) in error messages

    * access.c: Added check for failure of fread, which happens with Macs on
      large genomes

2011-08-29  twu

    * pair.c: Fixed case of a negative distance in printing GMAP alignment
      beyond chromosomal bounds

    * substring.c, substring.h: Using new interface to Pair_print_gsnap

    * segmentpos.c: Fixed compiler warning about comparing int and unsigned int

    * oligo.c: Commented out unused procedures for dibase

    * indexdb_hr.c: Fixed compiler warning about comparing int and unsigned int

    * stage1hr.c: Using new interfaces to Stage3end_remove_overlaps and
      Pair_print_gsnap

    * stage3hr.c, stage3hr.h: Removed unused parameters in
      Stage3end_remove_overlaps

    * pair.c, pair.h: Fixed bug in GSNAP standard output in printing GMAP
      alignments beyond chromosomal bounds

    * stage1hr.c: For finding GMAP mapping bounds using segments, checking
      plus_nsegments and minus_nsegments > 0, rather than plus_segments and
      minus_segments == NULL.

2011-08-28  twu

    * VERSION: Updated VERSION

    * pair.c: Switched from aaphase_g to aaphase_e, since aaphase_e correctly
      codes for all three positions of the stop codon

    * config.site: Removed references to samtools

2011-08-27  twu

    * gsnap.c, shortread.c, shortread.h: Added flags --fastq-id-start and
      --fastq-id-end.  Stripping Illumina paired-end endings more intelligently.

2011-08-26  twu

    * dynprog.c, dynprog.h, splicetrie.c, stage3.c: Removed some unused
      parameters

    * dynprog.c, dynprog.h, stage3.c: Removed code for INTRON_HELP

    * gmap.c: Changed author list

    * dynprog.c, dynprog.h, splicetrie.c, splicetrie.h: Removed references to
      gbuffer

    * gsnap.c: Fixed warning messages for -N and -s.  In --help message,
      notifying user that full pathnames are allowed.

    * stage3.h: Providing accessor commands for chrnum, chrstart, and chrend

    * stage3.c: Fixed bug in determining coordinates for Stage3_mergeable

    * gmap.c: Modified some debugging statements for chimeras

2011-08-19  twu

    * stage1hr.c: Adding at least querylength beyond distal mappingstart or
      mappingend to obtain distal genomicstart or genomicend

    * oligoindex.c: Added to size of genomicdiag by 1.  Added assertion about
      exceeding those bounds.

    * gsnap.c: Added warning messages about interpretation of -N and -s flags

    * genome_hr.c: Fixed bugs preventing program from compiling

    * gmap_build.pl.in: Not providing -s flag to fa_coords

2011-08-16  twu

    * archive.html, index.html: Updated for version 2011-08-15

    * COPYING: Changed Developer

    * gmap_setup.pl.in: Removed instructions about gmapdb_lc and
      gmapdb_lc_masked

    * README: Added default value for MAX_READLENGTH

    * README: Revised for new features

    * indexdb.c: Added warning message if no gammaptrs file is produced

    * gmapindex.c: Allocating an extra two chars in the offsets file names for
      the basesize

    * archive.html, index.html: Changes made for 2011-03-28 version

    * fa_coords.pl.in: Limiting number of warning messages about duplicate
      contigs

2011-08-15  twu

    * atoiindex.c, cmetindex.c: Improved monitoring messages

    * setup1.test.in: Changed tests for new gamma file format

    * Makefile.am, setup.ref12123positions.ok, setup.ref123positions.ok: Changed
      tests for new gamma file format

    * atoiindex.c, cmetindex.c, indexdb.c: Handling special case where
      index1part == basesize by not writing gammaptrs file and reading
      offsetscomp file directly into offsets.

    * atoiindex.c, cmetindex.c: Modified procedures to work with new compressed
      offsets file format

    * indexdb.c: Handling case where kmer == basesize

2011-08-14  twu

    * gmap_setup.pl.in: Removed -S flag and added -s flag

    * gmap_build.pl.in: Changed message to indicate that default order is chrom
      order

    * fa_coords.pl.in: Removed -S flag

    * gmapindex.c: Made chrom sort order the default

    * gmap.c, gsnap.c: Added --splicingdir flag

    * gsnap_splices.c: Turned off warning messages about non-canonical splices

    * bam_tally.c: Fixed warning message output going to stdout

    * bam_tally.c: Fixed printing of print_allele_counts_simple.  Allocating and
      freeing tallies within parse_bam procedure for each chromosome.

    * indexdb.c: Added missing closing brace

    * gsnap_extents.c: Using find_strand procedure from gsnap_splices, which
      trusts strand from SAM output

    * spliceturn.c: Fixed eliminatep to be indexed by universal IIT index

2011-08-13  twu

    * indexdb.c, indexdb.h, indexdb_hr.c, indexdbdef.h: Allowing backward
      compatibility with pre-gamma genomic indices.  Using littleendian and
      bigendian versions of gamma procedures.  Implemented more compatibility
      with bigendian machines.

    * genome_hr.c, genome_hr.h: Instead of allocated/mmapped versions of gamma
      procedures, creating littleendian and bigendian versions

    * spliceclean.c: Changed wording of monitoring messages from "Resolve" to
      "Choose". Providing count information even when cannot choose between fwd
      and rev.

    * spliceturn.c: Printing monitoring message about number of splices
      eliminated

    * bam_tally.c: Improved warning messages for genotypes inconsistent with
      reference allele

    * atoiindex.c: Using offsetscomp instead of offsets in variable names.

    * cmetindex.c: Using offsetscomp instead of offsets in variable names.

    * snpindex.c: Fixed bug with freeing gammaptrs_filename and
      offsetscomp_filename too early.  Using offsetscomp instead of offsets in
      variable names.

    * indexdb.h: Removed unused procedures

    * indexdb.c: Checking for rare case that ctr == 0 after all gammas read, and
      not advancing ptr in that case

    * bam_tally.c: Added Tally_T structure to simplify data structures and speed
      up program

    * bam_tally.c: Removed quality_score_constant.  Handling empty quality
      strings correctly.

    * bamread.c: Handling empty quality strings correctly

    * indexdb.c, indexdb_hr.c: Handling an offsetscomp_access condition that is
      not possible, to eliminate compiler warnings

    * gmap.c, stage1hr.c: Reduced value of minendexon from 12 to 9, since we are
      using nmatches - nmismatches.  Results in much better results at ends.

    * stage3hr.c: Restored usage of score before nmatches in remove_overlaps
      procedures

    * stage3.c: For trimming at ends, using nmatches - nmismatchs to evaluate. 
      Fixed bug in pick_cdna_direction where value for cdna_direction not
      assigned correctly.  Indels for bad introns, using requiring each end
      probability to be greater than 0.9, and taking alternate gappairs if
      nmismatches is less.

    * Makefile.dna.am, Makefile.gsnaptoo.am, VERSION, access.h, atoiindex.c,
      cmetindex.c, config.site.rescomp.prd, config.site.rescomp.tst,
      genome_hr.c, genome_hr.h, gmap.c, gmap_build.pl.in, gmap_setup.pl.in,
      gmapindex.c, gsnap.c, iit-read.c, indexdb.c, indexdb.h, indexdb_hr.c,
      indexdbdef.h, pmapindex.c, snpindex.c, splicetrie_build.c, src, trunk,
      types.h, util: Merged revisions 44539 to 44852 from
      branches/2011-08-09-elias-gamma, implementing gamma coding to represent
      offsets in genomic indices

2011-08-11  twu

    * stage1hr.c: Put GMAP pairsearch back in front of distant splicing. 
      Characterizing GMAP pairsearch results according to quality, and updating
      either nconcordant or nsalvage.  Distant splicing done if nconcordant is
      0. Terminals done if both nconcordant and nsalvage are 0.

    * stage3.c: Not using nnoncanonical in pick_cdna_direction.  Restored
      assignment of SENSE_NULL if no canonical site is found.

2011-08-10  twu

    * stage3hr.c: In Stage3end_remove_overlaps and Stage3pair_remove_overlaps,
      using nmatches rather than score as the primary measure

    * samprint.c, stage1hr.c, stage3hr.h: Introduced new hittype DISTANT_SPLICE
      and not trying to do GMAP alignment on those

    * stage1hr.c: Moved distant splicing ahead of GMAP pairsearch

    * stage3hr.c: Added debugging information

2011-08-09  twu

    * substring.c: Trimming terminals with fixed -3 mismatch score, while
      allowing other ends to be controlled with user-specified
      trim_mismatch_score.

    * dynprog.c: Using probabilities to find splice sites only if finalp is true

2011-08-08  twu

    * bamread.c: Added missing #endif statement

    * stage3.c: Limiting SENSE_NULL only to ties between fwd and rev

    * stage3.c: Preventing semicanonical splices at end from being trimmed. 
      Using product of probabilities to decide whether an indel is next to a bad
      intron

    * dynprog.c: If canonical intron cannot be found, using probabilities to
      find best splice junction

    * bamread.c, bamread.h: Added function Bamread_splice_strand

    * samprint.c: Making cigar_noncanonical_splices_p true

    * sequence.c, shortread.c: Made fixes in new handling of eoln situations

    * stage3hr.c, stage3hr.h, substring.c, substring.h: Using runlength IIT for
      resolving multiple mappings

    * spliceturn.c: Sorting splices in order of observed counts, and eliminating
      in that order

    * snpindex.c: Fixed coordinates in error messages

    * gsnap.c: Added option for using runlength IIT to resolve multiple mappings

    * bam_tally.c: Added option for printing runlengths

    * bam_tally.c: Printing genotype.  Added --diffs-only flag.

2011-08-07  twu

    * dynprog.c: Providing separate rewards for GC-AG and AT-AC introns, with
      stronger reward for GC-AG.

    * stage3.c: Not removing bad non-canonical exons at end.  Computing combined
      probability score for donor and acceptor splice sites.

    * spliceturn.c: Fixed program to not depend on distinction between known and
      new splices

    * gsnap_splices.c: Added --minsupport flag

    * gmap.c: Added break after case 'z'

2011-08-06  twu

    * stage3hr.c: Turned off TALLY_RATIO, and checking instead for presence or
      absence of overlap

    * gsnap_splices.c: Added --mincount flag

    * gsnap.c: Adding .iit to splicesites file when searching locally

    * bam_pileup.c: Printing accessions at start and end of reads

    * indexdb.c: Checking for full offsets_suffix, not just "offsets"

    * dynprog.c, dynprog.h, stage3.c: Fixed bug in assigning the wrong value to
      splicingp.  For indels next to bad introns, checking the alternative to
      see if it is free of mismatches.

    * Makefile.dna.am, Makefile.gsnaptoo.am, atoiindex.c, cmetindex.c,
      indexdb.c, indexdb.h, snpindex.c: Created a general Indexdb_get_filenames
      procedure and using it for snpindex, cmetindex, and atoiindex, so they
      work on all k-mer types

    * stage3hr.c, substring.c, substring.h: Removed some unused parameters and
      variables

    * outbuffer.c, stage3.c, stage3.h: Removed some unused parameters

    * stage3.c: Not calling pick_cdna_direction when splicingp is false

    * bam_pileup.c: Initial import into SVN

2011-08-05  twu

    * outbuffer.c: Restored Paths and Alignments sections to "gmap -4" output
      (continuous by exon).

    * VERSION: Updated version number

    * stage3hr.c: In Stage3end_gene_overlap, initializing foundp

    * iit-read.c: In IIT_gene_overlap, initializing allocp and freeing matches.

    * gtf_genes.pl.in: Revised ends and starts for genes on minus strand.

    * psl_genes.pl.in: Fixed 0-basis of starts.  Revised ends and starts for
      genes on minus strand.

    * psl_genes.pl.in: Added headers for gene format

    * Makefile.am, configure.ac: Revised set of files distributed

    * Makefile.am, gtf_genes.pl.in, psl_genes.pl.in: Added psl_genes and
      gtf_genes programs

    * gmap.c, iit-read.c, stage1.c, stage1.h: Removed unused parameters

    * gmap.c, gregion.c, stage1.c, stage1.h: Removed unused parameters

    * inbuffer.h: Removed parameter pc_linefeeds_p

    * shortread.h: Removed braces

    * sequence.c: Removed call to find_bad_char, since we are checking for '\r'
      directly before '\n'

    * shortread.c: Removed call to find_bad_char, since we are checking for '\r'
      directly before '\n'

    * sequence.c, shortread.c: Added checks so we don't read p[-1] when the
      first character in the string is already '\n'

    * sequence.c: Checking for carriage return before every line feed

    * shortread.c: Checking for carriage return before every line feed

    * gsnap.c, inbuffer.c, shortread.h: Removed --pc-lines option

    * Makefile.am, dbsnp_iit.pl.in, fa_coords.pl.in, gmap_compress.pl.in,
      gmap_process.pl.in, gmap_uncompress.pl.in, gtf_splicesites.pl.in,
      md_coords.pl.in, psl_introns.pl.in, psl_splices.pl.in,
      psl_splicesites.pl.in: Stripping CR-LF from input files

2011-08-04  twu

    * gsnap.c, iit-read.c, iit-read.h, pair.c, pair.h, stage3hr.c, stage3hr.h,
      substring.c, substring.h: Added option to favor multi-exon genes

    * gmap.c, gsnap.c: Checking for valid int and float arguments

    * stage3hr.c: Fixed bug in resolve_multimapping procedures

    * stage3hr.c: Fixed bug in not initializing antistranded_penalty

    * gsnap.c, iit-read.c, iit-read.h, pair.c, pair.h, stage1hr.c, stage3hr.c,
      stage3hr.h, substring.c, substring.h: Added -g flag and genes_iit.  Added
      procedures for resolving multimapping using known genes and tally.

    * gmap.c: Making call to Splicetrie_setup, so -s flag works for known splice
      sites

    * Makefile.am, Makefile.dna.am, Makefile.gsnaptoo.am, Makefile.three.am,
      coords1.test.in, iit.test.in, setup1.test.in: Fixed "make check" so it
      works for Cygwin on Windows, where copying of programs from src does not
      work

2011-08-03  twu

    * dynprog.c, dynprog.h, stage3.c: Computing splice site probabilities when
      user genomic segment is provided

    * stage3.c: In assign_gap_types, using known splicesites_iit to assign
      splice site probabilities of 1.

    * pair.c, pairdef.h, pairpool.c, stage3.c: In addition to trimming
      noncanonical exons close to the end, trimming bad canonical exons close to
      the end.  Now computing splice site probabilities in assign_gap_types.

    * dynprog.c: Checking for indel plus bad intron only when finalp is true,
      because earlier passes may need some time to iterate to reach a final
      solution.

    * stage3.c: Checking for pairs being NULL before calling Pair_trim_ends

    * gmap.c, pair.c, pair.h, stage1hr.c, stage3.c, stage3.h, stage3hr.c,
      stage3hr.h: Using matches post-trim for deciding if the alignment has
      sufficient quality, but using nmatches_pretrim for ranking and scoring
      purposes.

    * stage3.c: Turned final pass 6 back on, which was inadvertently turned off

    * dynprog.c, pair.c, pair.h, pairdef.h, pairpool.c: Protecting pairs at end
      against trimming by GMAP if they are found by splicetrie at known splice
      sites

    * stage3.c: Not running Dynprog_single_gap if queryjump or genomejump of a
      dual break is equal to 1, since that just leads to two indels.

    * pair.c: For trimming of ends, changed penalty for indel score from -6 to
      -4.

    * dynprog.c: Corrected coordinates for splice site probabilities and
      dinucleotides. Disallowing indels near splice sites if either probability
      is less than 0.9.

    * stage3.c: Keeping non-canonical intron if there is sufficient exon
      evidence at the end.  Iterating trimming of non-canonical introns at the
      end.

    * pair.c: Printing "method:gmap" even if assertions are turned off

    * dynprog.c: Checking probability of intron found by bridge_intron_gap and
      discarding the solution if it finds both an indel and a bad intron.

2011-08-02  twu

    * chrom.c, diag.c, diag.h, dynprog.c, gmap.c, oligoindex_hr.c, outbuffer.c,
      pair.c, pair.h, smooth.c, stage1.c, stage1hr.c, stage2.c, stage3.c,
      stage3.h: Removed various unused parameters

    * VERSION, config.site.rescomp.prd, config.site.rescomp.tst: Revised version
      number

    * stage1hr.c: Fixed debugging statements

    * substring.c: Added a general test of goodness for a substring based on its
      numbers of matches and mismatches.

    * stage3.c: Restored trimming of non-canonical end exons, but removed code
      that trimmed exons less than 20 bp when known splicing was available.

    * iit-read.c, iit-read.h: Added function IIT_exists_with_divno_typed_signed

    * stage1hr.c: Providing an allowance for GMAP score when want_high_quality_p
      is true.  Turning off use of score as primary criterion in choosing
      splices, since it does not take advantage of known splicing.

    * stage3.c: Not using nmismatches in pick_cdna_direction.  If
      splicesites_iit is available, assigning known splicesites a probability of
      1.0.

    * stage1hr.c, stage1hr.h: When antistranded_penalty has a value, using
      mismatches plus penalty to decide between sense and antisense, rather than
      using probabilities.

    * stage3.c: Changed to_queryend_p to be true for distalmedial_ending, since
      it is comparing alternatives.

2011-08-01  twu

    * stage3hr.c, stage3hr.h: Adding antistranded_penalty to score

    * stage3.c: In pick_cdna_direction, using presence of indels in combination
      with bad intron

    * stage1hr.c, stage1hr.h: Using antistranded penalty to determine to force
      GMAP to look for antisense result.  Requiring GMAP to be high quality in
      all cases. Basing GMAP quality on nmismatches plus gap opens.  Choosing
      best result among all paired types, so concordant no longer predominates
      over others.

    * samflags.h: Added comment to show some common flags

    * gsnap.c: Added parameter for antistranded penalty

    * chrom.c, chrom.h, gmapindex.c, gsnap_extents.c, gsnap_splices.c,
      gsnap_terms.c, iit-read.c, iit_store.c, iitdef.h, segmentpos.c,
      segmentpos.h, spliceclean.c: Introducing new chrom sort in addition to
      previous numeric_alpha sort

    * chrom.c: Fixed bugs in parsing out initial "chr" from strings

    * gsnap.c: Changed default for all gmap parameters from 2 to 3

    * stage1hr.c: Added macros add_bounded and subtract_bounded to keep
      computations within chromosomal bounds

    * gmap.c, stage2.c, stage2.h: Created a specialized procedure for
      score_querypos when splicing is true and no shifted canonicals are used

    * oligoindex.c: Using only 8-mers for oligoindices_major in GSNAP for stage
      2

2011-07-31  twu

    * config.site.rescomp.tst, configure.ac, gmap_build.pl.in, gsnap.c,
      gtf_splicesites.pl.in, psl_splicesites.pl.in, src, stage1hr.c, stage1hr.h,
      stage3hr.c, stage3hr.h, trunk, util: Merged revisions 44034 to 44047 from
      branches/2011-07-31-gmap-then-terminals

    * stage1hr.c: For GMAP halfmapping, when overlap is found, take widest
      possible starting point between the overlap calculation and the normal
      calculation

    * stage3.c: Added gappairs in debugging statements

    * shortread.c, shortread.h, stage1hr.c: In computing GMAP halfmapping,
      checking for existence of primers and extending GMAP region if they exist

    * stage3hr.c, stage3hr.h: Added function Stage3end_best_score_paired

    * stage1hr.c: Running GMAP pairsearch only on ends with scores better than
      those already paired

    * gmap.c, gsnap.c: Printing arguments before they are parsed

    * stage2.c: When shifted_canonical_p is false, not computing rev scores,
      since they are the same as the fwd scores

    * stage2.c: Improved debugging statements

    * gmap.c, stage1hr.c, stage2.c, stage2.h, stage3.c: Added parameter
      use_shifted_canonical_p.  Using now only for cross-species alignment in
      GMAP.

    * stage3hr.c, stage3hr.h: Added function Stage3pair_sort_bymatches.  For
      substitutions with 0 mismatches, classifying hit as EXACT rather than SUB,
      so duplicates are eliminated properly.

    * stage1hr.c, stage1hr.h: Allowing multiple concordant results to undergo
      GMAP improvement, up to max_gmap_improvement.  Sorting results by matches
      before GMAP improvement.

    * gsnap.c: Introduced separate parameter for max_gmap_improvement.  Hid
      pairexpect and terminal-penalty parameters.

    * stage1hr.c: Fixed errors in find_terminals with analysis of mismatches and
      use of floors

    * stage1hr.c: Requiring high quality GMAP unpaired method when we observe a
      paired toolong alignment

    * gsnap.c: Made halfmapping,unpaired,improve the default GMAP method

    * stage3hr.c, stage3hr.h: Scoring GMAP based on total number of matches. 
      Implemented Stage3end_best_score.

    * stage1hr.c: Using new test based on Stage3end_best_score to avoid
      terminals in anticipation of GMAP halfmapping.  Allowing poor quality GMAP
      in GMAP improvement.  Filtering results by optimal score before GMAP
      improvement using an infinite cutoff.

    * stage3.c: In pick_cdna_direction, allowing bad-scoring canonical introns
      to determine sense

    * Makefile.dna.am, Makefile.gsnaptoo.am, gmap.c, sense.h, stage1hr.c,
      stage3.c, stage3.h, stage3hr.h: Created new header file sense.h. 
      Returning sensedir from pick_cdna_direction and Stage3_compute.

    * gsnap.c, stage1hr.c, stage1hr.h: Introduced separate parameter for
      trigger-score-for terminals

    * stage1hr.c: Turned off option to avoid terminals if halfmapping
      anticipated later

    * stage3.c: Increased threshold for trying microexon from 0 acceptable
      mismatches to 2 in high quality sequences

    * stage1hr.c: Applying Stage3pair_optimal_score after GMAP improvement step

    * pair.c, pair.h, samprint.c, stage3hr.c, substring.c, substring.h:
      Implemented computation of MAPQ scores for GMAP alignments

    * mapq.c, mapq.h: Moved some constants to mapq.h, so pair.c can access them

    * gsnap.c, stage1hr.h: Changed name of GMAP method from concordant_uniq to
      improvement

2011-07-30  twu

    * stage1hr.c: Conducting search for terminals even if gmap_halfmapping_p is
      true, if both single ends have no hits so far

    * splicetrie.c, splicetrie.h: Checking internal exon region at splice site
      before doing a search for a short-end splice.

    * oligoindex_hr.c: Removed assertions about sequencepos

    * stage1hr.c: In using segments to bound GMAP region, looking at querypos5
      and querypos3 to help decide whether to extend mapping region by
      shortsplicedist.

    * stage3.c: In pick_cdna_direction, no longer using indel_alignment_score

    * gsnap.c, stage1hr.c, stage1hr.h, stage3hr.c, stage3hr.h: Introducing
      separate parameters for GMAP methods.  Sorting singlehits5 and singlehits3
      before running GMAP halfmapping/unpaired.

    * gmap.c, gsnap.c, oligoindex_hr.c, oligoindex_hr.h, stage1hr.c, stage1hr.h,
      stage2.c, stage2.h, stage3.c: Merged revisions 43984 to 43994 from
      branches/2011-07-30-oligoindex-mapping-region to introduce mappingstart
      and mappingend in addition to genomicstart and genomicend for finding
      oligoindex mappings in stage 2

    * pair.c: In trimming, counting an indel only as a single mismatch

    * stage3.c: Turning off the step to remove noncanonical introns, since it
      fails in some cases

    * stage1hr.c: Not doing terminals if GMAP pairsearch or halfmapping is
      available

    * stage2.c: Ignore log message for 43986.  Correct log message should be:
      Introduced NEAR_END_LENGTH to define ends of reads where we can ignore
      EXON_DEFN.

    * stage2.c: Not doing terminals if GMAP pairsearch or halfmapping is
      available

    * gsnap.c: Made halfmapping,cuniq the default for gmap-mode.

    * gmap.c: Reduced values of CHIMERA_SLOP

2011-07-29  twu

    * stage3hr.c: For single-end reads, favoring non-ambiguous alignments over
      ambiguous ones when they have identical genomicstarts or genomicends.

    * dynprog.c: In Dynprog_end5_known and Dynprog_end3_known, if extension not
      found to query end and if ambiguous splicing not found, then doing dynamic
      programming again to best end, rather than to query end.

    * pair.c, pair.h, stage3.c: Trimming of ends of GMAP alignments

    * stage1hr.c: Allowing very poor alignments to be reported by GMAP method,
      now that we have trimming at ends

    * gsnap.c, stage1hr.c, stage1hr.h: Avoiding duplication of chr marker
      segments and chr marker segment at the beginning.  Passing chromosome_iit
      and nchromosomes into Stage1hr_setup.

2011-07-28  twu

    * stage1hr.c: Using binary search on segments to bound region for GMAP
      alignments

2011-07-27  twu

    * stage1hr.c: Created debugging version that identifies plus_segments and
      minus_segments within GMAP halfmapping region

    * stage2.c: Re-using result of find_shifted_canonical when leftpos remains
      the same

    * gsnap.c: Made default for GMAP halfmapping with 2 candidates

    * genome_hr.c: Added comments in splicesite_positions that offset - 1 is
      verified

    * stage1hr.c: Fixed issues with fast_level and cutoff_level for very short
      reads, where fast_level < 0

    * stage1hr.c: Made plus_segments, plus_nsegments, minus_segments, and
      minus_nsegments fields within the Stage1_T object, so they can be used
      later in limiting range for GMAP alignments

    * genome_hr.c, genome_hr.h, stage2.c: Implemented lookup as needed of the
      previous dinucleotide from the genomic blocks

2011-07-26  twu

    * stage1hr.c: Added chr marker segments to indicate boundaries between
      chromosomes and simplify inner loops for localsplicing and indels

    * Makefile.dna.am: Removed gbuffer.c and gbuffer.h from file lists

    * stage3.c, stage3.h: Multiple revisions to pick_cdna_direction

    * stage2.c: Requiring exon length > EXON_DEFN for canonical splicing only in
      middle of queryseq

    * gsnap.c, stage1hr.c, stage1hr.h: Allowing control over individual gmap
      modes

    * chimera.c, dynprog.c, dynprog.h, extents_genebounds.c, genome.c, genome.h,
      get-genome.c, gmap.c, gsnap_tally.c, iit_plot.c, match.c, pair.c,
      sequence.c, sequence.h, splicetrie.c, splicetrie.h, splicing-score.c,
      substring.c: Making complement in place.  Using new interface to
      Genome_get_segment.

2011-07-21  twu

    * Makefile.am, gtf_splicesites.pl.in: Added gtf_splicesites program

    * config.site.rescomp.tst: Updated version number

    * VERSION: Updated version number

    * indexdb.c: Fixed error message for PMAP

    * config.site.rescomp.tst, gsnap.c, indexdb.c, outbuffer.c, outbuffer.h,
      resulthr.c, resulthr.h, splicealt.c, splicetrie.c, splicetrie.h,
      splicetrie_build.c, splicetrie_build.h, src, stage1hr.c, stage1hr.h,
      stage3hr.c, stopwatch.c, substring.c, trunk, util: Merged revisions 43003
      to 43362 from branches/2011-07-15-fast-knownsplices in creating splicecomp
      and creating specialized procedures for find_spliceends for shortends and
      distant splicing

    * stage2.c: Fixed bug in older canonical dinucleotides procedure that
      overwrite -1 values in initial positions

    * stage1hr.c: Revised comments

    * Makefile.dna.am: Added command for splicealt

    * psl_splicesites.pl.in: Fixed warning messages

    * psl_introns.pl.in: Fixed warning messages

    * gmap_build.pl.in: Added initial definition for -B flag

2011-07-17  twu

    * stage2.c: Fixed problem in get_last, needed by find_shifted_canonical,
      when first few positions lack a value of -1.

2011-07-13  twu

    * VERSION: Revised version number

    * genome-write.c: Added fix for genomes in PC-DOS file format

    * VERSION, atoiindex.c, cmetindex.c, config.site.rescomp.prd, gmap.c,
      gmap_build.pl.in, gmap_setup.pl.in, gmapindex.c, gsnap.c, indexdb.c,
      oligo.c, src, stage1.c, stage1hr.c, stage1hr.h, stage3.c, stage3hr.c,
      stage3hr.h, trunk, util: Merged revisions 42540 through 42858 from
      branches/2011-07-08-index-14mers to handler 13-mers and 14-mers, and to
      fix various bugs

2011-07-08  twu

    * samprint.c: Using new interface to Pair_print_sam

    * outbuffer.c, pair.c, pair.h, stage3.c, stage3.h: Using usersegment
      accession in SAM and GFF3 output when -g flag is specified.

    * goby.h, gsnap.c, outbuffer.c, shortread.c, shortread.h, stage3hr.c,
      stage3hr.h, substring.h: Merged external changes for Goby from 2011-07-01
      and 2011-07-08

    * Makefile.gsnaptoo.am: Added files for oligoindex_hr.c and oligoindex_hr.h

    * goby.c: Applied external patch from 2011-07-08

    * Makefile.dna.am, VERSION, config.site.rescomp.tst, genome_hr.c,
      genome_hr.h, gmap.c, gsnap.c, oligoindex.c, oligoindex.h, oligoindex_hr.c,
      oligoindex_hr.h, src, stage1hr.c, stage1hr.h, stage2.c, stage2.h,
      stage3.c, stage3hr.c, stage3hr.h, trunk, util: Merged revisions 42282 to
      42511 from branches/2011-07-05-oligoindex-hr to speed up GMAP oligoindex
      and provide options for GMAP

    * oligoindex.c: Stop initializing all diagonals.  Initialize only when
      needed.

    * splice-sites-hr.pl: Added -S flag for semicanonical splice sites

    * indexdb.c: Fixed Indexdb_new_genome for PMAP

    * gmap.c: Changed default index1part for PMAP

2011-07-07  twu

    * splice-sites-hr.pl: Initial import into SVN

2011-07-06  twu

    * shortread.c: Allows for non-digit, then "1" or "2" for paired-end reads

2011-07-05  twu

    * dynprog.c: Added protection against negative genomic coordinates in
      dynamic programming at 5' and 3' ends

    * shortread.c: Modified error statement

    * stage1hr.c: Adding querylength to genomicbound in cases where no overlap
      is found, just in case the overlap is not found.

    * stage1hr.c: Requiring high quality when aligning concordant unique hits
      with GMAP

2011-07-04  twu

    * stage3.c: Trimming end exons if less than 20 bp and known splicing is
      available

    * stage1hr.c: Improved debugging statements for GMAP alignments

    * splicetrie.c: Counting mismatches correctly, without penalty, when known
      splicing exceeds observed distances

    * gsnap.c, stage3hr.c, stage3hr.h: Adding ambiguous matches to nmatches when
      favor_ambiguous_p is true, which happens if we have known splicing without
      observed distances

    * dynprog.c, dynprog.h: Implemented find_best_endpoint_to_queryend

    * stage3.c: Trimming semi-canonical exons at end also

    * splicetrie.c: Fixed bug in failing to push coordinates for ambiguous cases

    * pair.c: Fixed symbol for rev semi-canonical pair in debugging output

    * iit_store.c: Improved error message when parsing coords

    * iit_store.c: Printing entire problematic line when a parsing error occurs

2011-07-03  twu

    * stage3.c: Revised pick_cdna_direction to count semicanonical splices, and
      to use nmatches - nmismatches

2011-07-02  twu

    * stage3hr.c: Fixed bug in always eliminating second hit in
      Stage3end_remove_overlaps

    * Makefile.am, setup.ref123positions.ok, setup.ref3positions.ok,
      setup1.test.in, setup2.test.in: Made changes for renaming of ref3positions
      to ref123positions

    * gmap.c, gsnap.c, stage2.c, stage2.h: Added setup for stage 2 to handle
      GMAP alignments without splicing

    * pair.c: Putting "0M" between adjacent deletion and insertion in CIGAR
      string

    * gsnap.c, stage1hr.c, stage1hr.h: Providing --allow-gmap flag to control
      whether GMAP alignments are allowed

2011-07-01  twu

    * stage3.c: Adding gap holders before nonconcordant exon trimming.  Checking
      if nonconcordant end exon is less than halfway from end.  In picking cDNA
      direction, checking only for presence or absence of nonconcordant or
      concordant introns.

    * stage2.c: Put back diffdist_penalty

    * stage1hr.c: Using better genomicbounds when running GMAP alignments. 
      Introduced check for very bad GMAP alignments (nmatches < querylength/2).
      Comparing GMAP against original hit for aligning concordant uniques with
      GMAP.  Trying top hits with GMAP to find concordant pairs, rather than
      checking to see if the total number of hits is less than a threshold.

    * pair.c, pair.h, shortread.c, stage3hr.c, stage3hr.h, substring.c,
      substring.h: Added procedures for computing better genomicbounds on GMAP
      alignments, based on overlap between the paired ends

    * gsnap.c, splicetrie.c, splicetrie.h: Added option for amb_closest_p
      behavior, where shortest intron among ambiguous ones is picked

    * genome-write.c: Added index1part as parameter to some procedures

2011-06-30  twu

    * stage3hr.c: Allowing terminal ends to win on the basis of nmatches,
      instead of score

    * stage3.c: Added pass 6a to remove noncanonical end exons

    * stage2.c: Restored NINTRON_PENALTY_MISMATCH from 4 to 8

    * stage1hr.c: Generalized minimum querylength for one-miss algorithm to
      handle 15-mers.  Order is now GMAP, terminal 1, terminal 2, and distant
      splicing, with terminals done if found_score > trigger_score_for_gmap.

    * gmap.c, gsnap.c, iit-read.c, iit-read.h, outbuffer.c, outbuffer.h: Added
      flags for read group library and platform in SAM headers

    * compress.c, compress.h, genome-write.c, genome-write.h, gmapindex.c:
      Allowing for 15-mer genomic indices when writing an uncompressed genome
      using a file

    * spanningelt.c: Generalized from 12-mers to 15-mers

2011-06-29  twu

    * gmap_build.pl.in: Fixed installation for 12-mer and 15-mer indices

    * gmap.c, gsnap.c: Added -B 5 option to allocate offsets file

    * Makefile.dna.am, access.h, atoiindex.c, block.c, block.h, cmetindex.c,
      gdiag.c, gmap.c, gmap_build.pl.in, gmap_setup.pl.in, gmapindex.c, gsnap.c,
      indexdb.c, indexdb.h, indexdb_dump.c, indexdb_hr.c, indexdb_hr.h,
      indexdbdef.h, oligo-count.c, oligo.c, oligo.h, oligop.c, oligop.h,
      outbuffer.c, pmapindex.c, snpindex.c, spanningelt.c, splicetrie.c, src,
      stage1.c, stage1.h, stage1hr.c, stage1hr.h, stage2.c, stage3.c, stage3.h,
      stage3hr.c, stage3hr.h, substring.c, substring.h, trunk, util: Merged
      revisions 41633 to 41936 from branches/2011-06-22-index-15mers to allow
      for 15-mers in genomic indices

2011-06-24  twu

    * stage1hr.c: Computing query_compress if necessary before deciding whether
      to perform halfmapping GMAP on concordant unique

    * pair.c: Fixed bug in printing start: instead of end: when endtype2 is END

2011-06-23  twu

    * config.site.rescomp.prd, config.site.rescomp.tst, src, stage1hr.c, trunk,
      util: Merged revisions 41618 to 41631 from
      branches/2011-06-22-gmap-earlier to move GMAP algorithm before distant
      splices

2011-06-22  twu

    * dynprog.c, dynprog.h, gmap.c, gsnap.c, iit-read.c, intron.c, intron.h,
      stage1hr.c, stage1hr.h, stage3.c, stage3.h, stage3hr.c, stage3hr.h: Merged
      revisions 41516 to 41609 from branches/2011-06-14-terminals to try GMAP up
      to 5 times before terminals if no concordant matches can be found.

2011-06-21  twu

    * dynprog.c, dynprog.h, gmap.c, iit-read.c, iit-read.h, maxent_hr.c, pair.c,
      pair.h, splicetrie.c, splicetrie.h, stage1hr.c, stage2.c, stage3.c,
      stage3.h, stage3hr.c, stage3hr.h, substring.c, substring.h: Merged
      revisions 41410 to 41516 from branches/2011-06-14-terminals. Applying GMAP
      for halfmapping multiple and unpaired unique results. Allowing ambiguous
      splice ends for GMAP alignments.  Fixed computation of splice junctions. 
      Allowing canonical exons to be found for short exons in GMAP alignments. 
      Improved pick_cdna_direction.  Made fixes to GSNAP output for GMAP
      alignments.

2011-06-18  twu

    * src, stage3hr.c: Merged change from branches/2011-06-14-terminals to check
      for subsumption in paired alignments

2011-06-17  twu

    * samprint.c, stage1hr.c, stage3hr.c, stage3hr.h, substring.c, substring.h:
      Merged revisions 41223 to 41410 from branches/2011-06-14-terminals to use
      lexicographic comparison in Stage3end_remove_duplicates; to prevent known
      splicing from extending past chromosomal bounds; to prevent end indels
      from going past right end of chromosome; to iterate through both
      mismatch_positions_cont and mismatch_positions_shift simultaneously in end
      indel procedures; and to compute nmatches over entire substring.

2011-06-14  twu

    * genome.c: Allowing fill_buffer_simple procedures to fill past the left end
      of the genome

    * splicetrie.c, splicetrie.h, stage1hr.c: Preventing short-overlap splicing
      from going past chromosomal boundaries

    * VERSION: Updated version

    * gmap.c: Increased default chimera margin from 20 to 40

    * gmap.c, src, stage3.c, stage3.h, trunk, util: Merged revisions 41185 to
      41214 from branches/2011-06-13-gmap-merge.  Merging chimeric parts when
      possible.

    * config.site.rescomp.tst, maxent.c, src, stage3hr.c, trunk, util: Merged
      revisions 40955 to 41210 from releases/internal-2011-06-09

    * dynprog.c, src, stage1hr.c, stage3hr.c, stage3hr.h, trunk, util: Merged
      revisions 40682 to 41210 from releases/internal-2011-06-06

    * stage1hr.c: Turning on NEW_TERMINALS branch

    * shortread.c, shortread.h: Added function Shortread_find_overlap

2011-06-12  twu

    * stage1hr.c: Added hooks for computing terminals at zero penalty if
      necessary

2011-06-11  twu

    * stage3hr.c: Allowing use of Stage3end_substringD and Stage3end_substringA
      by half splices

    * samprint.c, stage3hr.c, substring.c, substring.h: Merged changes from
      releases/internal-2011-06-09 to change internal representation of splice
      from substring1 for donor and substring2 for acceptor.  Now substring1 and
      substring2 are in query order.  Needed to avoid problems when a splice was
      labeled both as donor/acceptor and as acceptor/donor.

2011-06-10  twu

    * gsnap.c: Checking for value of adapter stripping flag.  Turning on adapter
      stripping by default.

2011-06-09  twu

    * gmap.c, gsnap.c: Joining worker threads instead of detaching them, so
      Inbuffer_free can be called safely

    * gmap.c, stage3.c, stage3.h: Merge chimeric parts into a single continuous
      alignment if possible.

    * VERSION: Updated version

    * gmap.c: Allowing chimera switchpoint to occur one base pair earlier

    * chimera.c: Improved debugging statements

    * genome.c: Made Genome_fill_buffer refer to its local genome argument, not
      the global one.  Needed to fix a bug in snpindex.

    * Makefile.dna.am, Makefile.gsnaptoo.am, compress.h, dynprog.h, outbuffer.c,
      pair.c, pair.h, pairpool.h, samprint.c, splicetrie.h, splicetrie_build.h,
      stage3.c, stage3.h: Printing XT flag for translocation information in SAM
      output of both GMAP and GSNAP

    * chimera.c, chimera.h, gmap.c: Changed algorithm for finding chimera
      boundary in GMAP to maintain best number of mismatches, and then to find
      highest splice site probabilities within that range

2011-06-08  twu

    * gsnap.c: Fixed mode flag to take a required argument

    * gmap.c, outbuffer.c, outbuffer.h: Added .transloc split output file for
      GMAP

    * gmap.c: Hiding -s flag from help output

    * gmap.c, stage3.c, stage3.h: Revising pairarray genomepos coordinates of
      GMAP chimeras to be chromosomal coordinates, so SAM output is correct

    * pair.c: Implemented hard clipping in SAM output for GMAP chimeras

2011-06-06  twu

    * samprint.c: Made the sign of insertlength for a translocation depend on
      the concordant substring

    * VERSION: Updated version number

    * stage3hr.c: Fixed computation of pair_insert_length when there is no
      overlap

    * stage1hr.c: Added debugging statements

    * stage1hr.c: Corrected privatep flags and memory freeing for halfmapping
      unique cases solved by GMAP.

    * outbuffer.c: Corrected argument list for GMAP when MEMUSAGE is turned on

    * stage3hr.c, stage3hr.h: Added function Stage3end_effective_chrnum

    * samprint.c: For mates that are translocations, using the effective chrnum
      in printing the mate location

    * resulthr.c: Fixed bug in assigning UNPAIRED_TRANSLOC category

    * stage1hr.c: Added checks for new pair from Stage3pair_new being NULL

2011-06-05  twu

    * stage3.c: Placed a limit on iterations of building ends using known
      splicing

    * src, trunk, util: Merged property changes on subdirectories from
      branches/2011-06-04-gmap-genomicseg

    * VERSION, config.site.rescomp.prd, config.site.rescomp.tst: Updated version
      number

    * dynprog.c, gmap.c, pair.c, stage1hr.c, stage3.c, stage3hr.c, stage3hr.h:
      Merged changes from revision 40649 to 40663 from
      branches/2011-06-04-gmap-genomicseg to provide correct bounds on GMAP
      alignment in GSNAP and to improve various issues in alignment, including
      close indels

2011-06-03  twu

    * stage3hr.c: Changed paired_seenp back to paired_usedp in
      Stage3end_remove_duplicates, because not all pairs are seen in previous
      pair_up procedures, resulting in a fatal bug.

    * config.site.rescomp.prd, config.site.rescomp.tst: Updated version number

    * VERSION: Updated version number

    * gmap.c, splicetrie.c, splicetrie.h, stage1hr.c, stage3.c, stage3.h: Making
      use of jump_late_p

    * dynprog.c, dynprog.h: Added provision for jump_late_p.  Fixed issue in
      jump_penalty where it was not consistent with jump_penalty_init.  Now both
      procedures compute extend*length.

    * pair.c: Fixed printing of dashes in GSNAP standard output

    * dynprog.c, dynprog.h, gmap.c, stage1hr.c, stage3.c, stage3.h: Allowing
      close combinations of insertions and deletions, by allowing onesidegapp to
      be false and letting extraband_single equal 3 instead of 0.  Controlled by
      --allow-close-indels flag in GMAP.  Default set to be on in GMAP and in
      GSNAP.

2011-06-02  twu

    * stage1hr.c: Not performing Stage3end_remove_duplicates on exact matches,
      which should not be necessary.

    * stage3hr.c: In Stage3end_remove_duplicates, checking against paired_seenp,
      instead of paired_usedp, for speed.

    * stage3hr.c: Reverted back to revision 40489 of Stage3_pair_up_concordant,
      which does has the pairing procedures inline.

    * stage3hr.c: Attempt to have different lists for old and new hits, but this
      seems to slow down the program.

    * stage3hr.c: Moved parts of Stage3_pair_up_concordant into separate
      procedures

    * stage1hr.c, stage3hr.c, stage3hr.h: Performing GMAP on concordant unique
      results where one end is of type TERMINAL

    * gsnap.c: Changed default indel penalty from 1 to 2

    * stage3hr.h: Formatting change

    * stage3hr.c, substring.c, substring.h: Using nchimera_novel in
      Stage3end_remove_overlaps

    * stage3hr.c: In Stage3pair_remove_overlap, favoring longer insert lengths,
      if all else is equal

    * pair.c: Moved MD string for SAM output before NH tag to be consistent with
      other GSNAP SAM output

2011-06-01  twu

    * stage1hr.c, stage3hr.c, stage3hr.h, substring.c, substring.h: Making a
      distinction between Stage3end_remove_duplicates and
      Stage3end_remove_overlaps

    * stage3hr.c: Reverted to old method of finding pair insert length, where
      all substrings are checked.

    * stage1hr.c: In pairing algorithm, moved short-overlap splicing and distant
      splicing into a single singlesplicing class, so duplicates are handled
      properly.

    * gsnap.c: Added documentation for --use-tally flag

2011-05-30  twu

    * inbuffer.c, inbuffer.h: Changed nspaces and nread to unsigned int

    * gmap.c, gsnap.c, outbuffer.c, outbuffer.h: Made output buffer size a
      user-definable parameter

    * gmap.c, gsnap.c, outbuffer.c, outbuffer.h: Made more changes to output
      thread.  Made noutput a local variable. Clearing backlog in ordered output
      when necessary.

    * stage1hr.c: Added a dinucleotide check for repetitive sequences

    * gmap.c, gsnap.c, mem.c, mem.h, outbuffer.c, request.c, result.c,
      resulthr.c, sequence.c, shortread.c, stage1hr.c, stage1hr.h, stage3.c,
      stage3hr.c, substring.c: Replaced LEAKCHECK system with MEMUSAGE system

    * list.c, list.h: Added specialized procedures for using specific memory
      pools for memusage

    * inbuffer.c: Added comment

    * diagpool.c, diagpool.h, pairpool.c, pairpool.h: Added procedures for
      reporting memory usage.  Using memory from keep portion.

    * outbuffer.c: Cleaned up pthread code for output thread.  Added MAXQUEUE to
      clear out outbuffer.

2011-05-28  twu

    * config.site.rescomp.tst: Added -Wextra to CFLAGS

    * gsnap.c, stage3hr.c: Eliminating hitpair duplicates based on hittypes of
      ends.  Allowing MAPQ score to go as high as 96.

    * gsnap.c, stage1hr.c, stage3hr.c, stage3hr.h: Implemented mapq-unique-score

    * AUTHORS, COPYING, INSTALL, MAINTAINER, Makefile.am, Makefile.dna.am,
      Makefile.gmaponly.am, Makefile.gsnaptoo.am, Makefile.pmaptoo.am,
      Makefile.three.am, Makefile.util.am, NEWS, README, VERSION, access.c,
      access.h, acinclude.m4, acx_mmap_fixed.m4, acx_mmap_variable.m4,
      acx_pthread.m4, add_rpk.c, align.test.in, align.test.ok, archive.html,
      assert.c, assert.h, atoi.c, atoi.h, atoiindex.c, backtranslation.c,
      backtranslation.h, bam_tally.c, bamread.c, bamread.h, bigendian.c,
      bigendian.h, block.c, block.h, bool.h, bootstrap.dna, bootstrap.gmaponly,
      bootstrap.gsnaptoo, bootstrap.pmaptoo, bootstrap.three, boyer-moore.c,
      boyer-moore.h, builtin.m4, cappaths.c, changepoint.c, changepoint.h,
      chimera.c, chimera.h, chop_primers.c, chrnum.c, chrnum.h, chrom.c,
      chrom.h, chrsegment.c, chrsegment.h, chrsubset.c, chrsubset.h, cmet.c,
      cmet.h, cmetindex.c, color.c, color.h, comp.h, complement.h, compress.c,
      compress.h, config, config.guess, config.site, config.site.rescomp.prd,
      config.site.rescomp.tst, config.sub, configure.ac, convert.t.c,
      coords1.test.in, coords1.test.ok, cum.c, datadir.c, datadir.h, datum.c,
      datum.h, dbsnp_iit.pl.in, ddsgap2_compress.pl, defs, dev, diag.c, diag.h,
      diagdef.h, diagnostic.c, diagnostic.h, diagpool.c, diagpool.h, dibase.c,
      dibase.h, dibaseindex.c, doublelist.c, doublelist.h, dynprog.c, dynprog.h,
      except.c, except.h, exonscan.c, expand.m4, extents_genebounds.c,
      fa.iittest, fa_coords.pl.in, fopen.h, fopen.m4, gbuffer.c, gbuffer.h,
      gdiag.c, geneadjust.c, genecompare.c, geneeval.c, genome-write.c,
      genome-write.h, genome.c, genome.h, genome_hr.c, genome_hr.h,
      genomepage.c, genomepage.h, genomeplot.c, genomicpos.c, genomicpos.h,
      genuncompress.c, get-genome.c, getopt.c, getopt.h, getopt1.c, gmap.c,
      gmap_build.pl.in, gmap_compress.pl.in, gmap_process.pl.in,
      gmap_reassemble.pl.in, gmap_setup.pl.in, gmap_uncompress.pl.in,
      gmap_update.pl.in, gmapindex.c, goby.c, goby.h, gregion.c, gregion.h,
      gsnap-fetch-reads.pl, gsnap-fetch-reads.pl.in, gsnap-remap.pl,
      gsnap-remap.pl.in, gsnap.c, gsnap_best.c, gsnap_concordant.c,
      gsnap_extents.c, gsnap_fasta.c, gsnap_filter.c, gsnap_iit.c,
      gsnap_multiclean.c, gsnap_splices.c, gsnap_tally.c, gsnap_terms.c,
      gsnapread.c, gsnapread.h, hint.c, hint.h, iit-read.c, iit-read.h,
      iit-write.c, iit-write.h, iit.test.in, iit_dump.c, iit_fetch.c, iit_get.c,
      iit_get.out.ok, iit_pileup.c, iit_plot.c, iit_store.c, iit_update.c,
      iitdef.h, iittest.iit.ok, inbuffer.c, inbuffer.h, index.html, indexdb.c,
      indexdb.h, indexdb_dibase.c, indexdb_dibase.h, indexdb_dump.c,
      indexdb_hr.c, indexdb_hr.h, indexdbdef.h, internal-2011-02-27, interval.c,
      interval.h, intlist.c, intlist.h, intlistdef.h, intpool.c, intpool.h,
      intron.c, intron.h, lgamma.c, lgamma.h, list.c, list.h, listdef.h,
      littleendian.c, littleendian.h, ltmain.sh, madvise-flags.m4, maint,
      map.test.ok, mapq.c, mapq.h, match.c, match.h, matchdef.h, matchpool.c,
      matchpool.h, maxent.c, maxent.h, maxent_hr.c, maxent_hr.h, md5-compute.c,
      md5.c, md5.h, md_coords.pl.in, mem.c, mem.h, memchk.c, memory-check.pl,
      mmap-flags.m4, mode.h, nmath.c, nmath.h, nr-x.c, nr-x.h, oligo-count.c,
      oligo.c, oligo.h, oligoindex.c, oligoindex.h, oligop.c, oligop.h,
      orderstat.c, orderstat.h, outbuffer.c, outbuffer.h, pagesize.m4, pair.c,
      pair.h, pairdef.h, pairingcum.c, pairingflats.c, pairinggene.c,
      pairingstrand.c, pairingtrain.c, pairpool.c, pairpool.h, parserange.c,
      parserange.h, pbinom.c, pbinom.h, pdl_smooth.c, pdldata.c, pdldata.h,
      pdlimage.c, perl.m4, plotdata.c, plotdata.h, plotgenes.c, plotgenes.h,
      pmapindex.c, psl_introns.pl.in, psl_splices.pl.in, psl_splicesites.pl.in,
      random.c, random.h, rbtree.c, rbtree.h, rbtree.t.c, reader.c, reader.h,
      reads.c, reads.h, reads_dump.c, reads_store.c, request.c, request.h,
      result.c, result.h, resulthr.c, resulthr.h, revcomp.c, sam_merge.pl.in,
      sam_restore.pl.in, samflags.h, samprint.c, samprint.h, samread.c,
      samread.h, scores.h, segmentpos.c, segmentpos.h, segue.c, separator.h,
      seqlength.c, sequence.c, sequence.h, setup.genomecomp.ok,
      setup.idxpositions.ok, setup.ref3positions.ok, setup1.test.in,
      setup2.test.in, share, shortread.c, shortread.h, sim4_compress.pl,
      sim4_uncompress.pl, smooth.c, smooth.h, snpindex.c, spanningelt.c,
      spanningelt.h, spidey_compress.pl, spliceclean.c, spliceeval.c,
      splicefill.c, splicegene.c, splicegraph.c, splicescan.c, splicetrie.c,
      splicetrie.h, splicetrie_build.c, splicetrie_build.h, spliceturn.c,
      splicing-scan.c, splicing-score.c, src, ss.chr17test, ss.her2, stage1.c,
      stage1.h, stage1hr.c, stage1hr.h, stage2.c, stage2.h, stage3.c, stage3.h,
      stage3hr.c, stage3hr.h, stopwatch.c, stopwatch.h, struct-stat64.m4,
      subseq.c, substring.c, substring.h, svncl.pl, table.c, table.h,
      tableint.c, tableint.h, tableuint.c, tableuint.h, tally.c, tally.h,
      tally_exclude.c, tally_expr.c, tallyadd.c, tallyflats.c, tallygene.c,
      tallyhmm.c, tallystrand.c, tests, translation.c, translation.h, trial.c,
      trial.h, trunk, types.h, uintlist.c, uintlist.h, uinttable.c, uinttable.h,
      util, whats_on: Restored gmap trunk subdirectory

    * VERSION: Updated version

    * substring.c: Computing MAPQ on entire substring, not on trimmed portion

    * dynprog.c, dynprog.h, gmap.c, stage1hr.c, stage3.c, stage3.h: For genomic
      GMAP alignments in GSNAP, not assigning any canonical reward, not
      computing pairs_rev, and not scoring introns.

2011-05-27  twu

    * splicetrie.c, splicetrie.h, stage1hr.c: Removed unused parameter
      splicetypes

    * gsnap.c, stage1hr.c, stage1hr.h: Removed unused parameters, including
      queryptr and queryrc

    * Makefile.dna.am, Makefile.gsnaptoo.am, dynprog.c, dynprog.h, genome.c,
      genome.h, genome_hr.c, genome_hr.h, gmap.c, gsnap.c, mapq.c, mapq.h,
      maxent_hr.c, maxent_hr.h, oligoindex.c, outbuffer.c, outbuffer.h, pair.c,
      pair.h, samprint.c, samprint.h, splicetrie.c, splicetrie.h,
      splicetrie_build.c, splicetrie_build.h, src, stage1hr.c, stage1hr.h,
      stage3.c, stage3.h, stage3hr.c, stage3hr.h, substring.c, substring.h:
      Merged revisions 40182:40234 from branches/2011-05-27-no-block-vars to
      reduce number of parameters

    * VERSION: Updated version number

    * dynprog.c, dynprog.h, splicetrie.c, splicetrie.h, stage1hr.c, stage3.c,
      stage3.h: Restored complete searching of known splicesites for dynamic
      programming of ends

2011-05-26  twu

    * stage1hr.c: Created hybrid procedure for performing dynamic programming at
      5' and 3' ends with known splicing

    * dynprog.c, dynprog.h, splicetrie.c, splicetrie.h, stage3.c, stage3.h:
      Created hybrid procedure for performing dynamic programming at 5' and 3'
      ends with known splicing

    * dynprog.c, dynprog.h, splicetrie.c, splicetrie.h, stage3.c, stage3.h:
      Wrote faster procedure for performing dynamic programming at 5' and 3'
      ends with known splicing, but does not handle distal indels.

    * inbuffer.c: Performing chopping of adapters only after paired-end
      alignment fails to give concordant or paired result.

    * gsnap.c, request.c, request.h, shortread.c, shortread.h: Performing
      chopping of adapters only after paired-end alignment fails to give
      concordant or paired result.

    * stage1hr.c: Removed query as a parameter.  Changed knownsplice limits.

    * uintlist.c, uintlist.h: Added procedure Uintlist_to_string

    * mapq.c, mapq.h, stage3hr.c, stage3hr.h, substring.c, substring.h: Removed
      query as parameter to procedures

    * genome_hr.c, genome_hr.h: Removed query as parameter to some procedures

2011-05-25  twu

    * stage3hr.c: Moved assertions about private5p and private3p to correct
      place

    * gsnap.c, inbuffer.c, request.c, request.h, shortread.c, shortread.h: When
      potential paired-end adapter is found, checking alignment first without
      chopping adapters, and then if no concordant or paired alignments are
      found, then re-aligning with adapters chopped.

    * stage3hr.c: Removing only duplicates that have not been used yet in a pair

    * stage1hr.c: Doing Stage3pair_privatize before Stage3pair_eval

    * pair.c: Added NH tag for GMAP alignments in GSNAP

    * get-genome.c: Enabling re-use of contig_iit

    * shortread.c: Fixed bug in printing pairedend fasta.  Was printing both
      revcomp and forward sequence for queryseq2.

    * stage1hr.c, stage3hr.c, stage3hr.h: Reduced amount of memory copying in
      making Stage3pair_T objects

2011-05-24  twu

    * get-genome.c, parserange.c, parserange.h: Made operation of get-genome
      from stdin more efficient by making only one open of chromosome_iit and
      contig_iit

    * VERSION: Updated version

    * gsnap.c: Added message to indicate when alignment is starting

    * stage1hr.c: Doing pairing only when individual alignments are performed

    * outbuffer.c: Fixed debugging statement

    * gmap.c: Added information to --help output on the -f flag about other
      output types

    * gsnap.c: Changed default value of genome_unk_mismatch_p to be 1

    * samprint.c: Fixed sign insert size when read and mate have identical
      chrpos

2011-05-23  twu

    * VERSION: Updated version

    * samprint.c: Added NH flag to indicate number of paths

    * gsnap_concordant.c: Defined concordance to allow for overlapping reads

    * stage1hr.c: Introduced DEBUG4K for known doublesplicing

    * dynprog.c, dynprog.h, gmap.c, intlist.c, intlist.h, splicetrie.c,
      splicetrie.h, stage3.c, stage3.h: Removing duplicate results from
      splicetrie when SNPs are allowed

    * samprint.c: Fixed bug in printing cigar for two-thirds shortexon on minus
      strand

    * gmap.c: Removed include of mode.h

    * Makefile.dna.am, Makefile.gsnaptoo.am, atoi.c, atoi.h, atoiindex.c,
      genome_hr.c, genome_hr.h, gmap.c, gsnap.c, indexdb.c, indexdb.h, mode.h,
      stage1hr.c, stage1hr.h, substring.c, substring.h: Using Mode_T instead of
      cmetp.  Incorporated atoi mode.

    * oligo.c, oligo.h: Removed Oligo_setup

    * convert.t.c: Initial import into SVN

    * gsnap_fasta.c: Added code stub for handling BAM input

    * gsnap.c: Added a thread-specific key for storing the request, and
      accessing it with the signal handler, which no longer throws an exception.

    * stage3.c: Checking for case in distalmedial comparison where medial
      location extends past given genomicseg.

    * stage1hr.c: Replaced indirect function calls with direct calls to
      read_oligos_cmet and read_oligos_standard.

    * oligo.c: Replaced indirect function calls with direct calls to oligo_read
      and oligo_revise.  Not handling dibasep anymore.

    * genome_hr.c, genome_hr.h: Replaced indirect function calls with static
      inline procedures

    * stage1.c: Removed dibase parameter in calling Reader_new

    * stage3hr.c: Removed assertion check for plusp equality in
      pair_insert_length.  For splice translocations, redefining plusp based on
      substring_for_concordance.

    * gsnap.c: Fixed output of query when exception occurs

    * except.c: Fixed handling of exceptions by removing unnecessary call to
      Except_advance_stack.

2011-05-22  twu

    * gsnap.c: Removed dibasep and cmetp as parameters.

    * stage1hr.c, stage1hr.h: Removed dibasep as a parameter.  Also eliminated
      cmetp as a parameter.

    * substring.c, substring.h: Removed dibasep as a parameter

    * stage3hr.c, stage3hr.h: Removed dibasep as a parameter

    * splicetrie.c, splicetrie.h: Removed dibasep as a parameter

    * reader.c, reader.h: Removed dibasep as a parameter

    * oligo.c, oligo.h: Removed dibasep as a parameter.  Added setup procedure
      to assign procedure for dibase operation.

    * mapq.c, mapq.h: Removed dibasep as a parameter

    * genome_hr.c, genome_hr.h: Removed dibasep as a parameter

2011-05-21  twu

    * genome_hr.c, genome_hr.h, gsnap.c, mapq.c, mapq.h, splicetrie.c,
      splicetrie.h, stage1hr.c, stage3hr.c, stage3hr.h, substring.c,
      substring.h: Setting block_diff procedure in genome_hr.c during setup, and
      removing many uses of the cmetp variable.

    * dynprog.c: Include header for splicetrie.h

    * cmet.c, cmet.h, genome_hr.c: Moved mark_a, mark_c, mark_g, and mark_t data
      and procedures from cmet.c to genome_hr.c

2011-05-20  twu

    * Makefile.gsnaptoo.am: Made files for GMAP and GSNAP match those in
      Makefile.dna.am

    * Makefile.dna.am: Minor rearrangement of filenames

    * samprint.c: Fixed printing of SAM output for translocations

    * stage3hr.c: Using both hit5 and hit3 end points in hitpair_equal_cmp.  Put
      tally ahead of score in ranking subsumed hitpairs.

    * splicetrie.c: Constraining max_mismatches_allowed to be less than
      one-third of the end length

    * substring.c: Added header file for pair.h

    * stage3hr.c: Not using absdifflength bingo at all

    * gsnap.c: Removed references to pairlength deviation

    * stage3.c: In peel_leftward and peel_rightward, when running into a second
      gap, transferring endgappairs first before transferring peeled pairs.

    * dynprog.c: Using List_push_existing instead of Pairpool_push_existing to
      save on memory

    * stage3hr.c: Using only best splice within constraints and not pairlength
      in resolving ambiguous inside splices

    * stage1hr.c: Fixed definition of collect_all_p for shortexons

    * splicetrie.c, splicetrie.h: Removed old code.  Implemented collect_all_p
      in Splicetrie_search_left and Splicetrie_search_right procedure.

2011-05-19  twu

    * stage1hr.c, stage3hr.c, stage3hr.h: Requiring concordant pairs to have a
      non-zero insert length

    * stage1hr.c, stage3hr.c, stage3hr.h: Recording number of ambiguous matches
      after known splicing, and subtracting from nmatches when ambiguous inner
      splicing yields no candidates.

2011-05-18  twu

    * gmap.c, stage1hr.c, stage2.c, stage2.h, stage3.c: Allowing stage 2 to
      favor either left or right part of genomicseg

    * gsnap.c: Using the same value for middle and end indel penalties.  Changed
      flags to allow only one indel penalty to be specified.

    * stage3hr.c: In Stage3pair_remove_duplicates, allowing for ties within
      cluster. Using hittype to rank hitpairs in hitpair_equal_cmp, but not for
      distinguishing hitpairs in hitpair_equal_no_hittype_cmp.

    * stage3hr.c: Fixed bug in using hitpair_equal_cmp

    * stage3hr.c: Using same procedure, hitpair_equal_cmp (previously called
      hitpair_position_cmp), both for sorting and for recognizing equal
      hitpairs.

    * stage3hr.c: In Stage3pair_remove_duplicates, added hittype in sorting and
      removing exact duplicates.  Going through clusters separately from left
      and right and checking for subsumption against initial alignment, not the
      previous one.

    * stage3hr.c: In Stage3pair_remove_duplicates, using tally within clusters.
      Removing absdifflength bingo from Stage3pair_optimal_score.

2011-05-17  twu

    * README, config.site, configure.ac: Setting default value of MAX_READLENGTH
      to be 200

    * gsnap.c: Providing value of MAX_READLENGTH in printing --version output

    * dibase.c, inbuffer.c, mapq.c, shortread.c, stage3hr.c, substring.c:
      Removed unnecessary includes of stage1hr.h, needed previously to obtain
      MAX_READLENGTH

    * Makefile.dna.am: Providing MAX_READLENGTH to gsnap.  Provided files for
      bam_fasta.

    * Makefile.gsnaptoo.am, README, config.site, configure.ac, dibase.c,
      gsnap.c, inbuffer.c, mapq.c, reads_store.c, samprint.c, shortread.c,
      stage1hr.c, stage1hr.h, stage3hr.c, substring.c: Changed MAX_QUERYLENGTH
      to MAX_READLENGTH and allowing value to be defined as an argument to
      configure

    * samprint.c, shortread.c, shortread.h: Printing chopped primers in SAM
      output

    * stage3hr.c: Moved code for resolving inside ambiguous splices to separate
      procedures.  Allowing mate of a GMAP alignment to resolve its inside
      ambiguous splice.

    * dynprog.c, dynprog.h, gmap.c, splicetrie.c, splicetrie.h, stage1hr.c,
      stage3.c, stage3.h: Limiting region of known splice extension for GMAP
      alignments in GSNAP involving paired-end reads.  Region now cannot extend
      past mate.

2011-05-16  twu

    * stage3hr.c: Allowing overlapping of paired-end reads when resolving
      ambiguous splices on insides

    * dynprog.c, dynprog.h, gmap.c, stage1hr.c, stage3.c, stage3.h: Counting
      ambiguous end matches in stage 3 alignment

    * substring.c: Hid debugging statement

    * gsnap.c: Using user-provided dir for tally IIT when available

    * substring.c, substring.h: Implemented a multiclean procedure using a tally
      IIT file

    * gsnap.c, stage1hr.c, stage3hr.c, stage3hr.h: Implemented a multiclean
      procedure using a tally IIT file

2011-05-15  twu

    * stage3hr.c: Not using hitpair type in making comparisons across multiple
      alignments.  Using subsumption instead of overlap in
      Stage3pair_remove_duplicates.

    * stage3hr.c: Changed removal of Stage3pair_T duplicates within overlapping
      clusters from an O(n^2) algorithm to an O(n) algorithm

2011-05-13  twu

    * stage1hr.c: Added debugging statement

    * stage3hr.c: Assigning plusp for translocations based on overall
      genomestart and genomeend.  Setting substring_low and substring_high for
      translocations to be the part that is concordant.

    * samprint.c: Fixed bug in printing of translocations

    * gsnap.c: Added options --query-unk-mismatch and --genome-unk-mismatch, and
      made both default false, meaning that query N and genome N no longer count
      as mismatches

    * genome_hr.c, genome_hr.h: Added options --query-unk-mismatch and
      --genome-unk-mismatch, and made both default false, meaning that query N
      and genome N no longer count as mismatches

2011-05-12  twu

    * samprint.c, stage3hr.c, stage3hr.h: Handling case where clipping of
      overlap removes entire alignment

    * pair.c: Fixed bug in number of dashes in GSNAP output on deletions

    * substring.c: Fixed GSNAP and SAM output for bisulfite alignments

    * stage1hr.c: Eliminating cases with bad GMAP alignments, either with
      non-canonical splices or with too many mismatches

    * stage3.c: On extend_ending5 and extend_ending3, returning dynamic
      programming results, even if finalscore is negative

2011-05-11  twu

    * snpindex.c: Checking for presence of IIT file at destination, and
      providing a better reminder message

    * snpindex.c: Added reminder message at end to install IIT file

    * gsnap.c: Added warnings under --use-cmet flag if cmet index files are not
      present

    * substring.c: Removed references to MAX_END_DELETIONS

    * stage1hr.c, substring.c: Allocating gbuffer when it exceeds the amount
      allocated statically

    * stage3hr.c, substring.c, substring.h: Added preference in removing
      duplicates for known splice sites over novel ones

    * gsnap.c: Fixed documentation for --clip-overlap flag

    * outbuffer.c, pair.c, pair.h, samprint.c, samprint.h, stage3hr.c,
      stage3hr.h, substring.c, substring.h: Performing search for correct
      hardclipping boundary.  Computing chrpos and mate_chrpos in advance of
      printing SAM output.  For Pair_binary_search, performing forward and
      backward search of middlei to avoid gaps.  Fixed computation of overlap in
      some cases involving GMAP alignments.

2011-05-10  twu

    * samprint.c: Made logic of print_cigar follow that of print_md_string

    * outbuffer.c, samprint.c, shortread.c, stage3hr.c: Fixes made to MD string
      with hard clipping of overlaps

    * pair.c: Fixed infinite loops in binary search procedures

2011-05-09  twu

    * resulthr.c: Removed unused variable

    * pair.c, pair.h, samprint.c: Performing hard clipping by computing a
      subsequence on pairarray

    * stage3hr.c: Allowing for NULL arguments in Stage3end_substring_low and
      Stage3end_chrnum, now possible in samprint.c procedures

    * stage1hr.c: Rewrote calculation for genomicseg

    * stage3hr.c: Fixed calculation of insert length involving GMAP alignment

    * samprint.c: Fixed printing of SAM chromosomal pos

    * pair.c: Fixed printing of SAM chromosomal pos

    * pair.c, pair.h, samprint.c: Further implementation of hard clipping for
      overlapping paired-end reads

2011-05-07  twu

    * pair.c: Fixed bug caused by wrong order of parameters

    * gsnap.c, outbuffer.c, outbuffer.h, pair.c, pair.h, samprint.c, samprint.h,
      stage3.c, stage3hr.c, stage3hr.h, substring.c, substring.h: Added code for
      hardclipping overlaps between paired ends.  Improved computation of insert
      lengths involving GMAP alignments.  Increased default shortsplicedist to
      200000.

    * gmap.c: Changed default shortsplicedist to 200000

    * get-genome.c: Added -E option for printing exons for gene maps

    * genome.c: Made changes to perror statements

2011-05-06  twu

    * samprint.c: Made changes to MD string to handle hard clipping

2011-05-05  twu

    * stage1hr.c: Reduced genomicseg for GMAP from pairmax + shortsplicedist to
      just pairmax

    * dynprog.c: Added a new debugging category for known splicing at ends

    * outbuffer.c, samprint.c, samprint.h, stage3hr.c, stage3hr.h: Computing
      cigar strings to allow for hard clipping

    * pair.c, pair.h, stage3.c: Fixed SAM flags when printing GMAP alignment in
      GSNAP

    * bam_tally.c: Made bam_tally work on entire genome

    * README, chrom.c, chrom.h, fa_coords.pl.in, gmap_build.pl.in,
      gmap_process.pl.in, gmap_setup.pl.in, gmapindex.c: Made changes for
      fa_coords to sort chromosomes in .coords file, for gmap_process to provide
      universal coordinate information to gmapindex, and for gmapindex to sort
      based on this order.  Ignoring leading "chr" in sorting chromosomes.

2011-05-04  twu

    * chrom.c: Ignoring leading "chr" in chromosome name for sorting purposes

2011-05-03  twu

    * stage1hr.c: Fixed bug in calling Substring_chrhigh

2011-05-02  twu

    * gsnap.c, stage1hr.c, stage3hr.c, stage3hr.h, substring.c, substring.h:
      Storing both chroffset and chrhigh in Stage3end_T and Substring_T objects.
       Checking chromosomal boundaries when performing GMAP algorithm in GSNAP.

2011-05-01  twu

    * gmap_build.pl.in: Added Id property

    * gmap_build.pl.in: Added a -w flag for sleeping between steps

2011-04-27  twu

    * splicetrie.c: Removed unused variables

    * goby.c, gsnap.c, outbuffer.c, pair.c, pair.h, resulthr.c, resulthr.h,
      samprint.c, samprint.h, stage1hr.c, stage1hr.h, stage3.c, stage3.h,
      stage3hr.c, stage3hr.h: Changes in handling of translocations: (1) Created
      new "_transloc" output files.  (2) Removing XT flag from SAM output.  (3)
      Enforcing reported translocations to be unique.  (4) Creating a new
      category for translocations in pair_up procedure.

    * gmap.c: Fixed bug in calling Genome_blocks on a user-provided segment

    * diag.c: Added debugging information about minactive and maxactive at ends
      of query

2011-04-26  twu

    * stage2.c: Not checking for pct_coverage or ncovered when querylength < 150

    * tally_expr.c: Removed dependence on pre-computed total in tally IIT file

    * README: Showing examples from both hg18 and hg19 in retrieving known
      splicesite tracks from UCSC

    * gsnap.c, stage1hr.c, stage1hr.h: Removed min_localsplicing_end_matches
      parameter.  For short overlaps, now checking only that endlength >=
      support.

    * pair.c: Not printing first read or second read bit in GMAP samse output

2011-04-25  twu

    * shortread.c: Fixed bug in printing queryseq in SAM output when
      hardclipping is present

    * samprint.c: Formatting changes

    * pair.c: Removed warning message when splicesite not found in GMAP

    * gsnap.c: Changed documentation for -N

2011-04-22  twu

    * parserange.c: Added warning message if divstring not found in IIT file

    * get-genome.c, iit_get.c: Removed extra linefeed introduced in old IIT
      versions

    * stage1hr.c: Added check for NULL pairarray

2011-04-21  twu

    * Makefile.dna.am, dynprog.c, dynprog.h, gmap.c, indexdb_hr.c, sequence.c,
      stage3.c: Made changes so PMAP would compile

    * Makefile.dna.am, dynprog.c, dynprog.h, genome.c, genome.h, gmap.c, goby.c,
      goby.h, gregion.c, gregion.h, gsnap.c, iit-read.c, maxent.c, maxent_hr.c,
      outbuffer.c, pair.c, pair.h, pairdef.h, resulthr.c, samprint.c,
      samprint.h, sequence.c, sequence.h, shortread.c, shortread.h,
      splicetrie.c, splicetrie.h, src, stage1.c, stage1.h, stage1hr.c,
      stage1hr.h, stage3.c, stage3.h, stage3hr.c, stage3hr.h, substring.c,
      substring.h, translation.c, translation.h, trunk, util: Merged revisions
      38122 to 38539 from branch 2011-04-14-halfmapping-gmap

2011-04-15  twu

    * bam_tally.c: Changed colon to tab when printing chromosomal coordinates

    * genome_hr.c, gsnap.c, src, stage1hr.c, stage1hr.h, stage3hr.c, stage3hr.h,
      trunk, util: Merged revisions 37902 to 38171 from
      branches/2011-04-10-end-indels

2011-04-14  twu

    * bam_tally.c: Fixed bug in iterating through list in position_printable_p

    * bam_tally.c: Added -n and -X flags to control depth and variant strands
      required. Added -B flag to control block format output.

    * bam_tally.c: Changed -A flag into separate -C and -Q flags to print
      details about cycles and quality scores

    * stage3hr.c: Allowing optimal_score procedures to consider terminal scores
      if all alignments are terminal

    * VERSION, dynprog.c, dynprog.h, gmap.c, intron.c, intron.h, maxent.c,
      maxent.h, src, stage3.c, stage3.h, trunk, util: Merged 38078:38120 from
      branch 2011-04-13-gmap-knownsplicing

2011-04-13  twu

    * snpindex.c: Added variables for bigendian machines

2011-04-10  twu

    * stage1hr.c: Using function Genome_fill_buffer_blocks for debugging

    * config.site.rescomp.prd: Revised version number

    * genome.c, genome.h: Added function Genome_fill_buffer_blocks

    * substring.c: Made fixes to printing of SNPs in GSNAP output

    * Makefile.am, README, configure.ac, psl_introns.pl.in: Added psl_introns
      program.  Explaining in README file about known site-level and known
      intron-level splicing.

    * gmap.c, outbuffer.c, pair.c, pair.h, stage3.c, stage3.h: Added option for
      -f introns output

2011-04-09  twu

    * gsnap.c, iit-read.c, iit-read.h, interval.c, interval.h, splicetrie.c,
      splicetrie.h: Added code to allow known splicing based on introns, rather
      than splice sites

2011-03-29  twu

    * bam_tally.c: Fixed bug in checking too early for chrpos_high > alloc_high

    * VERSION: Updated version number

    * cmetindex.c: Made program work on bigendian machines

    * snpindex.c: Made program work on bigendian machines

2011-03-28  twu

    * stage3hr.c, stage3hr.h, substring.c, substring.h: Moved definition of
      Hittype_T from substring.h to stage3hr.h

    * VERSION, config.site.rescomp.tst, goby.c, goby.h, gsnap.c, inbuffer.c,
      inbuffer.h, outbuffer.c, samprint.c, samprint.h, src, stage3hr.c,
      substring.c, trunk, util: Merged changes 36746 through 37246 from branch
      2011-03-17-goby-paired-end

2011-03-27  twu

    * resulthr.c: Fixed bug in assignment of translocationp for single-end reads

2011-03-26  twu

    * gmap.c, gsnap.c: Added clarification about memory mapping in message

    * bamread.c: Fixed a memory leak caused by unnecessary copying of read
      string from BAM.

2011-03-25  twu

    * Makefile.dna.am, bamread.c, bamread.h, gsnap_splices.c: Added bam_splices
      program

    * bam_tally.c: Fixed bug with non-initialized count_plus or count_minus

    * bam_tally.c: Fixed bug in extracting genomic reference nt from Genome_T. 
      Added option for signed counts.

    * Makefile.dna.am, configure.ac: Added Automake conditional to control when
      bam_tally can be made

    * bamread.c: Added compiler directives to protect code when samtools is not
      available

    * bam_tally.c: Fixed usage statement

    * bam_tally.c: Added --pairmax option

    * bam_tally.c: Fixed help message and added some printing options

    * bamread.c: Stopped printing of chromosomes to stdout

    * Makefile.dna.am: Added compiler commands for bam_tally

    * bam_tally.c: Added clipping at ends of requested genomic region

    * samread.c, samread.h: Added function Samread_print_cigar

    * bam_tally.c: Implementation of working version

    * bam_tally.c: Implementation of overall alloc and block structure

    * bam_tally.c, bamread.c, bamread.h: Implemented memory freeing procedures

2011-03-24  twu

    * bam_tally.c: Initial import into SVN

2011-03-19  twu

    * gsnap.c: Rearranged some lines

    * gmap.c: Added --quality-protocol flag and 'j' flag to set to quality print
      shift

    * gmap.c, outbuffer.c, outbuffer.h: Added --quiet-if-excessive option to
      GMAP

    * gsnap.c, outbuffer.c: Adding globals for invert_first_p and
      invert_second_p to stage3hr.c

    * stage1hr.c, stage3hr.c, stage3hr.h: Determining effective_chrnum,
      genomicstart, and genomicend for splice translocations based on inner
      substrings.  No longer generating copies for each substring when chrnum ==
      0.

2011-03-18  twu

    * outbuffer.c: Changed a 0 to a false

    * README: Added explanation of dbsnp_iit program and output reporting for
      translocations

    * Makefile.am, configure.ac, dbsnp_iit.pl.in: Added dbsnp_iit program

    * stage3.h: Fixed declaration

    * resulthr.c: Put debugging statements into debug macro

    * outbuffer.c, pair.c, pair.h, resulthr.c, resulthr.h, samprint.c,
      samprint.h, stage3.c, stage3hr.c, stage3hr.h: Removed separate fp_transloc
      file.  Adding (transloc) string to GSNAP output, and XT flag to SAM output
      for translocation results.

    * substring.c: Added error message for endtype_string

    * outbuffer.c, resulthr.c, resulthr.h, samprint.c, stage3hr.c: Removed
      SINGLEEND_TRANSLOCATION and PAIREDEND_TRANSLOCATION types

2011-03-11  twu

    * README: Added more information about the --gunzip option, about the
      command-line usage for paired-end reads, and about extended FASTA inputs.

    * README: Added information about -s flag for psl_splicesites

    * VERSION: Changed version number

    * snpindex.c: Added option to limit number of warning messages

    * snpindex.c: Fixed warning messages that previously reported the wrong SNPs
      and coordinates that were problematic

2011-03-10  twu

    * gsnap.c, mem.c, outbuffer.c, shortread.c: Enabled LEAKCHECK in GSNAP to
      check for memory leaks

    * gmap_build.pl.in: Fixed bug in creating .maps subdirectory

2011-03-09  twu

    * VERSION: Updated version

    * README: Added information about latest syntax for running snpindex

    * stage1hr.c, stage1hr.h: Passing new parameter nsplicepartners_skip

    * stage3hr.c, stage3hr.h: Eliminating splice translocations if a
      non-translocation exists

    * outbuffer.c, outbuffer.h, resulthr.c, resulthr.h, samprint.c, samprint.h:
      Providing a translocation result type and printing split output to a new
      file

    * indexdbdef.h: Removing unused macro definition

    * gsnap.c, splicetrie.c, splicetrie.h: Providing a minimum intron length in
      building the splicetrie

    * snpindex.c: Providing user options to specify sourcedir and destdir

    * cmetindex.c: Fixed amount of space allocated for filename

2011-03-06  twu

    * gmap.c, gsnap.c: Changed warning message about memory mapping

    * stage1hr.c: Removed a conversion for bigendian machines in
      Batch_init_simple.

    * spanningelt.c: Added a necessary conversion for bigendian machines

    * indexdb.c, indexdb_hr.c: Making FILEIO access to positions look the same
      as MMAPPED access for bigendian machines

    * bigendian.c, littleendian.c: Using unsigned char instead of char

2011-03-04  twu

    * inbuffer.c: Initializing value of pc_linefeeds_p

    * gmap.c, gsnap.c: Changed advice message about -B 3 and -B 4

    * iit_store.c: Using 2^32-1 as a constant instead of 2^32

    * stage1hr.c: Added additional places where Bigendian_convert_uint should be
      applied

    * bigendian.c: Removed monitoring message

2011-03-03  twu

    * stage3hr.c: Sorting paired-end reads by insert length

    * gsnap.c: Removed --dibase flag from --help output

    * inbuffer.c, shortread.c, shortread.h: Added field for pc_linefeeds_p. 
      Changed variable name from pc_line_feeds_p.

    * gsnap.c, inbuffer.c, inbuffer.h, shortread.c, shortread.h: Added option to
      strip PC line feeds from input

    * sequence.c: Enabled GMAP to read FASTQ files

2011-03-02  twu

    * gsnap_fasta.c: Made the default behavior to print all sequences

    * pair.c: Fixed problem with double tabs in SAM output.  Now printing NM tag
      in SAM output.

    * config.site.rescomp.prd, config.site.rescomp.tst: Changed version number

    * VERSION: Changed version number

    * sam_merge.pl.in: Printing nomapping lines from original GSNAP output

    * Makefile.am, configure.ac, sam_restore.pl.in: Added program sam_restore

    * spliceturn.c: Added option to print splices, rather than splicesites

    * samread.c, samread.h: Added functions to print modified SAM reads

    * gsnap_splices.c: Trusting SAM splice directions by default.  Added an
      explicit variable to indicate if the splice is canonical.

    * gsnap_multiclean.c: Added a flag -C to pick either concordant or
      non-concordant behavior. Allowing nonmapped queries to be printed, if no
      other alignment is available.

    * gsnap_filter.c: Modified to print nonmapped SAM entries.  Removed
      inconsistencies in printing some lines to fp_one and some to fp_many.

    * gsnap_fasta.c: Prints the query from the SAM line with the most matches
      (i.e., not hardclipped).  Added an option --oneway to print both ends of a
      paired-end read in the same direction.

    * gsnap_concordant.c: Modified to print nonmapped SAM entries, and to add
      mate information for concordant pairs.  Code follows that in
      gsnap_multiclean.c

    * splicetrie.c: Increased value of MAX_DUPLICATES from 100 to 1000

    * gsnap.c: Checking for case where splicesites_iit has no sites
      corresponding to given genome

    * pair.c: Fixed MD string to print genomic nt, rather than query nt

2011-03-01  twu

    * pair.c: Implemented MD string in SAM output for GMAP

2011-02-27  twu

    * spliceturn.c: Added --new flag to print only new splices

2011-02-26  twu

    * spliceclean.c: Added break after case 0 in getopt

    * substring.c, substring.h: Fixed insert length calculation to be based on
      genomicstart and genomicend.  Removed querylength_adj field.

    * stage3hr.c: Preventing terminal alignments from setting minscore in
      Stage3_optimal_score and Stage3pair_optimal_score

    * stage1hr.c: Fixed and simplified calculation of floor_left and floor_right
      for diagonals

    * Makefile.am, configure.ac, psl_splices.pl.in: Added psl_splices program

    * sam_merge.pl.in: Including inserted query segment in computing number of
      matches.

    * spliceturn.c: Eliminating only new splices (numeric labels).  Searching
      for nearest surrounding known splices.

    * spliceclean.c: Printing original label for each splice

    * gsnap_splices.c: Added flag to require canonical splices.  Checking for
      canonical dinucleotides regardless of sam XS string.

    * samprint.c: Fixed bug in MD string for shortexon.  Added debugging
      statements.

    * stage1hr.c, stage3hr.c, stage3hr.h, substring.c, substring.h: Added
      querylength_adj to compensate for indels when computing insert length

    * pair.c: Fixed bug in tokens where Ilength was being printed instead of
      Dlength

2011-02-25  twu

    * spliceturn.c: Printing intron lengths.  Added labels to output when
      splices are turned.

    * shortread.c: Requiring first file to have "/1" and second file to have
      "/2" if slashes are present

    * samread.c: Allowing for XS:A:? to indicate unknown splice direction

    * pair.c: Changed minimum intron length for non-concordant splice in cigar
      string from 100 to 20

    * gsnap_tally.c: Changed default handling of quality scores to be Sanger
      protocol

    * gsnap_splices.c: Using available XS flag in SAM output.  Printing
      non-directional splices as both forward and reverse.  Printing
      non-canonical dinucleotide pairs.

    * gsnap_multiclean.c: Skipping, rather than aborting on, concordant pairs
      with different numbers of hits, due to translocations

    * gmap.c: Changed flag for printing noncanonical splices in cigar string

    * samprint.c, stage3hr.c, substring.c, substring.h: Fixed MD string to
      exclude part that is soft-clipped

    * spliceclean.c, tally.c, tally.h: Added default-count option.  Fixed bug
      where splice occurred beyond extents.  Fixed some memory leaks.

2011-02-24  twu

    * psl_splicesites.pl.in: Added missing parentheses

    * Makefile.am, configure.ac, sam_merge.pl.in: Added sam_merge program

    * README: Added description of gmap_build

    * gsnap.c, mapq.c: Made sanger the default for quality protocol

    * shortread.c: Fixed bug in chopping paired-end reads of different lengths

2011-02-23  twu

    * sequence.c: Fixed bug in skipping initial '<', '>', or '+' in quality
      string

    * gsnap_concordant.c: Requiring chr strings in the two ends to be equal

    * pair.c: Printing XS:A:? when splice direction is not known, because it is
      non-canonical

    * sequence.c, sequence.h: Added compiler directives to hide quality string
      from PMAP

    * gsnap_fasta.c: Printing extended FASTA with quality strings for GMAP
      output

    * gmap.c, outbuffer.c, outbuffer.h, pair.c, pair.h, sequence.c, sequence.h,
      stage3.c, stage3.h: Implemented ability to read extended FASTA with
      quality strings and print them in SAM format

    * mapq.c: Added recommendation to use --quality-protocol=sanger

    * gsnap_concordant.c, samread.c, samread.h: Printing altered mapq scores

    * gmap.c, outbuffer.c, outbuffer.h, pair.c, pair.h, stage3.c, stage3.h:
      Added flag to print non-concordant splices as N in SAM cigar string,
      rather than as D

    * gsnap_concordant.c, samread.c, samread.h: Added calculation and printing
      of insert length

    * gsnap.c: Added information about quality protocols to --help output

2011-02-22  twu

    * shortread.c: Fixed bugs in handling gzipped paired-end files

    * exonscan.c, extents_genebounds.c, gdiag.c, geneadjust.c, get-genome.c,
      gsnap_extents.c, gsnap_splices.c, gsnap_tally.c, gsnap_terms.c,
      iit_plot.c, pairinggene.c, segue.c, snpindex.c, splicefill.c,
      splicegene.c, splicegraph.c, splicescan.c, spliceturn.c, splicing-scan.c,
      splicing-score.c, tally_expr.c, tallygene.c: Changed parameter for
      Genome_new from batchp to access mode

    * psl_splicesites.pl.in: Added -R flag to report non-canonical splice sites

    * gmap_build.pl.in: Fixed name of maps subdirectory

    * sequence.c, shortread.c: Fixed bugs further in closing NULL file pointer

2011-02-21  twu

    * psl_splicesites.pl.in: Fixed bugs in syntax.  Added -s flag to specify
      start column.

    * fa_coords.pl.in, gmap_build.pl.in, gmap_process.pl.in, util: Merged -r
      35283:35500 from branches/gmapindex-multifile/util

    * Makefile.am: Added psl_splicesites to the list of files to be cleaned

    * Makefile.am, README, configure.ac, psl_splicesites.pl.in: Added
      psl_splicesites program to process UCSC alignment tracks into a splicesite
      file.

    * sequence.c, shortread.c: Fixed bug from trying to close a NULL file
      pointer

    * README, VERSION, config.site.rescomp.tst, gsnap.c, interval.c, maint,
      mapq.c, mapq.h, memory-check.pl, samprint.c, splicetrie.c, splicetrie.h,
      src, stage1hr.c, stage1hr.h, stage3hr.c, stage3hr.h, substring.c,
      substring.h, trunk: Merged revisions 35346:35468 from
      branches/tentative-splices to store and resolve ambiguous splice ends

    * outbuffer.c: Added warning messages when an output file cannot be written

2011-02-17  twu

    * mapq.c: Changed allowable range of quality scores to go from 0 to 96

    * gsnap.c: Changed default min_shortend from 1 to 2

    * stage1hr.c: Removed unused code for old maxent procedures

    * splicetrie.c, splicetrie.h, stage1hr.c: Providing splicesites to
      Splicetrie_find_short procedures, useful for debugging

2011-02-16  twu

    * stage3hr.c: Removed debugging statement

    * stage1hr.c: Restored ability to find short-overlap splicing in 1-2 bp at
      ends of read

    * stage3hr.c: For insert length of 0, setting absdifflength to be infinite

    * sequence.c, shortread.c: Closing files when multiple ones are provided on
      the command line

    * pair.c: Implemented printing of intron distances in splice sites (-f 6)
      output

    * gsnap.c, interval.c, interval.h, splicetrie.c, splicetrie.h, stage1hr.c,
      stage1hr.h: Implemented usage of known splice distances for single splices

    * get-genome.c: Printing output correctly for version 5 IIT files with
      information in rest of header

    * stage1hr.c: Removed unnecessary checks for nsplicesites > 0

    * stage1hr.c: Computing and storing known splicesites_i for each segment
      once

2011-02-15  twu

    * shortread.c: Removed abort left in for debugging

    * shortread.c: Fixed bug in selecting region of short read to look for
      adapter stripping

    * stage3hr.c: Fixed indentation

    * gsnap_concordant.c: Fixed procedure to report all concordant pairs with
      correct distance and orientation

    * gsnap.c, inbuffer.c, shortread.c, shortread.h: Simplified procedure for
      adapter stripping using a linear algorithm, instead of dynamic
      programming.

    * Makefile.dna.am, Makefile.gsnaptoo.am: Revised instructions for cmetindex

    * cmetindex.c: Enabled -F and -D flags for specify source and destination
      directories.  Added --version and --help flags.

    * gmap_build.pl.in: Added -B flag to optionally specify bindir

    * gmap_setup.pl.in: Modified usage statement to include GSNAP

    * Makefile.am, configure.ac, gmap_build.pl.in: Added gmap_build program

    * VERSION: Updated version

    * README: Added statement about usage of -m flag

    * gsnap_concordant.c: Fixed typo leading to wrong output file

    * outbuffer.c: Fixed typo

    * stage3.c, stage3.h: Allowing flags for GMAP to indicate SAM output is
      paired-end

    * shortread.c: Allowing extended FASTA format to include a quality string

    * sequence.c: Removed debugging statement

    * samflags.h: Clarified comment

    * pair.c, pair.h: Allowing flags for GMAP to indicate SAM output is
      paired-end. Printing XS flag for strand direction.

    * outbuffer.c, outbuffer.h: Added variables for indicating SAM output is
      paired-end

    * gsnap_terms.c: Using procedure in samread.c for computing chrpos_high.

    * gsnap_multiclean.c, samread.c, samread.h: Added file variable for printing
      altered flags.  Added procedure for computing chrpos_high.

    * gsnap_filter.c: Added program for sam_filter

    * gsnap_fasta.c: Handling GMAP and GSNAP output correctly in a single
      procedure

    * gsnap_extents.c: Enabling GMAP indexdb for sam_extents

    * gsnap_concordant.c: Recomputing all SAM flags

    * gmap.c: Changed format names to samse and sampe

    * Makefile.gsnaptoo.am: Include maxent_hr.c and .h for GMAP.  Removed
      maxent.c and .h from GSNAP.

    * Makefile.dna.am: Include maxent_hr.c and .h for PMAP.  Included programs
      sam_fasta and sam_concordant.

2011-02-14  twu

    * gsnap_concordant.c: Added file for concordant_mult.  Printing concordant
      results in adjacent pairs of SAM lines.

2011-02-13  twu

    * gsnap_concordant.c: Initial import into SVN

    * gsnap_fasta.c: Printing extended FASTA output for GMAP, using '>' and '<'

    * gsnap_fasta.c: Provided separate output types for GMAP and for GSNAP

    * pair.c, sequence.c, sequence.h: Enabled reading of extended FASTA using
      '>' and '<' to indicate first and second reads, and putting information in
      flag of SAM output.

2011-02-12  twu

    * stage3hr.c: Implemented a different method for using bingo pairlengths, by
      calculating a minscore for those pairlengths with the bingo characteristic

    * stage3hr.c: Using pairlength_deviation to eliminate pairs, even if
      non-overlapping

2011-02-11  twu

    * gsnap_extents.c, gsnap_iit.c, gsnap_splices.c, gsnap_tally.c,
      gsnap_terms.c: Changed defaults of concordant and unique to be false in
      all programs

    * gsnap_fasta.c: Added printing of quality strings.  Implemented -A flag to
      print all sequences.

    * stage1hr.c: Rearranged order of singlesplice_minus procedure

    * gsnap_terms.c: Fixed check of concordance and uniqueness for last sequence

    * shortread.c: Moved return statement to correct place

    * gmap.c, outbuffer.c: Added compiler directives for case when pthreads not
      available

    * datadir.c: Changed warning message about needing to recompile GMAP package

    * outbuffer.c, samprint.c, samprint.h, stage3hr.c, stage3hr.h: Split
      fp_paired_uniq into separate files for inversions, scrambles, and long
      inserts

    * gsnap.c, substring.c, substring.h: Removed notion of termdonor and
      termacceptor typeints

2011-02-10  twu

    * samprint.c: Printing insert length for paired alignments.  Changed method
      for determining sign.

    * substring.c, substring.h: Added functions for finding overlaps and insert
      lengths between two substrings

    * stage3hr.c: Changed criterion for scramble to be the absence of any
      overlap in the wrong relative positions.  Revamped computation of insert
      length to look for overlapping substrings.

    * inbuffer.c: Removed second check of nleft == 0 when initially it is not

    * substring.c: Added other fields in Substring_T that were not being copied.
       Removed splicesites_offset from Substring_T object.

    * gsnap.c, outbuffer.c, outbuffer.h, stage1hr.c, stage3hr.c, stage3hr.h,
      substring.c, substring.h: Added compiler directives for using new
      maxent_hr procedures.  Fixed problem in substring.c where chimera_knownp_2
      was not being copied.

    * maxent_hr.c: Using jump tables based on shift

    * maxent_hr.c: Removed duplicate calls in reading genome_blocks

    * stage3hr.h: Fixed definition of sense consistency for inversion pairs

2011-02-09  twu

    * stage3hr.c, stage3hr.h: Changed splicing sense test to work for inversion
      pairs

    * stage1hr.c: Distinguished a binary_search procedure to be used for
      bigendian computers in processing positions from the indexdb file.

    * stage1hr.c: Added missing code for computing nmismatches for one type of
      splice end

    * Makefile.dna.am, maxent_hr.c, maxent_hr.h, stage1hr.c: Implemented fast
      calculation of maxent splice site probabilities

    * stage1hr.c: Removed trimpos calculation from find_spliceends.  Not useful
      when we can compute short-overlaps.

    * Makefile.dna.am, gsnap_best.c, gsnap_fasta.c: Added programs for
      extracting alignment with best MAPQ score and converting alignment output
      to FASTA.

    * stage1hr.c: Using genome-based splice site detection for splice ends

    * gsnap.c: Fixed name of flag suboptimal-levels in help statement

    * shortread.c: Fixed bug in not allocating space for final '\0' to contents.
      Commented out check for PC line feeds.

    * genome_hr.c: Fixed excessive shift in calculating high_halfbit

2011-02-08  twu

    * stage1hr.c: Put back checks for zero nsegments

    * outbuffer.c: Some output seems to be missed on occasion.  Rewrote to use
      ndone and noutput.

    * stage1hr.c: Making all loops on segments go to segments[nsegments] instead
      of nsegments-1

    * stage1hr.c: Implemented novel double splice detection using new
      genome-based splice site detection.  Removed leftspan/rightspan test and
      replaced with counting mismatches.

    * outbuffer.c: Fixed outbuffer to check for donep flag, and for inbuffer to
      signal when donep is set

2011-02-07  twu

    * genome_hr.c: Fixed bug in dealing with high halfbit

    * stage1hr.c: Fixed memory leak caused by computing floors twice

    * stage1hr.c: Raised minimum splice prob support to 0.80.  Extending range
      for single splicing to 2 nt from each end.  Implemented double splice
      detection involving known splice sites.

    * stage3hr.c: Eliminating identical Stage3_T pairs properly

    * outbuffer.c: Fixed bug that caused GMAP to handle maxpaths parameter
      incorrectly

2011-02-06  twu

    * genome_hr.c, genome_hr.h, stage1hr.c, substring.c: Implemented working
      procedure for finding splice sites from compressed genome, and merging
      with known sites.  Using this procedure to find single splices.  Merged
      single-splice procedures for plus and minus strand, and moved handling of
      plus and minus strands inside of Substring_T procedures.

2011-02-05  twu

    * genome_hr.c, genome_hr.h: Implemented fast determination of splice site
      locations

    * stage1hr.c: Removed unused variables

    * genome_hr.c: Added tables for splice site positions

    * dev: New directory for developer work

    * stage1hr.c: Integrated multiple procedures for merging heaps to find
      segments into a single procedure (plus a specialized one for terminals
      only). Removed separate Splicesegment_T object and using a general
      Segment_T object.

    * stage1hr.c: Divided single splicing, known double splicing, and novel
      double splicing into separate procedures.

2011-02-04  twu

    * gsnap.c, stage1hr.c, stage1hr.h: Provided flag for detecting novel double
      splices, and turned the feature off by default.

    * stage1hr.c: Implemented faster method for finding double splices. 
      Commented out code no longer valid for setting splice_pos_start and
      splice_pos_end in finding single splices.

    * stage1hr.c: Increased speed of finding local splices by storing leftmost
      and rightmost querypos.  Hiding double-splicing for now.

2011-02-03  twu

    * stage1hr.c, substring.c, substring.h: Handling splicesites_offset in
      donor, acceptor, and shortexon Substring_T types.  Handling two values of
      splicesites_i in shortexon.

    * stage1hr.c: Implemented detection of double-splicing at novel splice
      sites. Integrated detection of single-splicing and double-splicing. 
      Removed some unused code based on USE_CHARS rather than nucleotides.

    * stage3hr.h: Added missing declaration of function

    * outbuffer.c: Finishing up printing of remaining output

    * stage1hr.c: Offset knowni arrays by +1, so we can clear by setting to 0,
      rather than by setting to -1.

2011-02-02  twu

    * outbuffer.c, pair.c, pair.h: Now GMAP prints nomapping results in SAM
      format

    * pair.c: Fixed printing of splice site scores for antisense cDNAs

    * stage1hr.c: Removed restriction on finding terminals only when nconcordant
      was 0.

    * gsnap.c, src, stage1hr.c, stage1hr.h, trunk: Merged r33262:34617 from
      branch suboptimal-alignments, adding parameter for terminal length, and
      not using 10*maxpaths for computation

    * config.site.rescomp.tst: Updated version number

    * VERSION: Updated version number

    * README: Updated description to include information about paired alignments
      and the advantages of known splice sites

    * stage1hr.c: Added better debugging statements.  Renamed "shortend"
      procedures to "short-overlap".

    * splicetrie.c: Requiring that 3 * nmismatches < nmatches to report a true
      search result

    * gsnap.c, outbuffer.c, resulthr.c, resulthr.h, samprint.c, samprint.h,
      stage1hr.c, stage1hr.h, stage3hr.c, stage3hr.h: Implemented three types of
      alignment: concordant, paired, and unpaired, with three subtypes of
      paired: inversion, toolong, and scramble.  Detecting paired alignments in
      Stage3_pair_up_concordant. Converting unpaired uniq to paired uniq when
      appropriate.

    * stage3hr.c: Adding information about unpaired type (interchrom, toolong,
      scramble, inversion) for unpaired_uniq results

    * outbuffer.c: Changed type for nread and ncomputed fields from bool to int

    * gsnap.c, stage1hr.c, stage1hr.h, stage3hr.c, stage3hr.h: Added parameter
      for pairlength_deviation

    * outbuffer.c: Protecting print loops with surrounding lock and unlock
      instructions. Removed debugging flag.

    * Makefile.dna.am, Makefile.gsnaptoo.am, Makefile.three.am, gmap.c, gsnap.c,
      inbuffer.c, inbuffer.h, ioboard.c, ioboard.h, outbuffer.c, outbuffer.h:
      Fixed bug where multithreading was hanging.  Moved IOBoard_T information
      to Outbuffer_T.

2011-02-01  twu

    * stage3hr.c: Rewrite of Stage3_pair_up_concordant to get all concordant
      pairs

    * gmap.c, gsnap.c: Not printing program name as an arg

    * gmap.c, gsnap.c: Printing version and calling arguments to stderr

    * stage3hr.c: Using a pointer instead of a count to mark paired_seenp

    * outbuffer.c: Using RRlist_T to represent queue for ordered output

    * outbuffer.c: Replaced doubly linked list with singly linked list for queue

    * stage3hr.c: Added additional check to prevent negative insert lengths

2011-01-31  twu

    * outbuffer.c: Storing results in a queue, instead of a list

    * Makefile.dna.am: Removed reads_store and reads_dump

    * stage3hr.c: Removed keyword "quality:" from output

    * shortread.c: Fixed bug that removed all quality strings

    * stage3hr.c: Fixed bug in finding concordance between overlapping ends of
      read

    * indexdb.c: Fixed bug in compiler directive for MMAP

2011-01-29  twu

    * goby.c, goby.h, gsnap.c, inbuffer.c, inbuffer.h, samprint.c, shortread.c,
      shortread.h, stage3hr.c: Simplified procedures in shortread.c. 
      Implemented parsing of barcodes.

    * mapq.c, mapq.h, substring.c: Fixed calculation of MAPQ with separate
      coordinates for checking genomic string and quality string

2011-01-28  twu

    * shortread.c, shortread.h: Initial import into SVN.  Contains Sequence_T
      functions specific to GSNAP.

    * Makefile.dna.am, Makefile.gsnaptoo.am, Makefile.three.am, chop_primers.c,
      genome.c, goby.c, goby.h, gsnap.c, inbuffer.c, outbuffer.c, reads_store.c,
      request.c, request.h, samprint.c, samprint.h, sequence.c, sequence.h,
      stage1hr.c, stage1hr.h, stage3hr.c, stage3hr.h, substring.c, substring.h:
      Separated Sequence_T functions into Sequence_T and Shortread_T

    * gmap.c, outbuffer.c, outbuffer.h: Made outbuffer work for PMAP by removing
      references to sam_header_p and related variables

    * gsnap.c: Removed old sam.h include

    * substring.c: Turned off debugging

    * spliceclean.c: Version 34373 was an accidental reversion.  Going back to
      version 34369, where we are adding use of genebounds_iit and adding
      functionality for resolving splice directions

    * spliceturn.c: Version 34374 was an accidental reversion.  Going back to
      version 34369, where information goes to stderr.

    * splicegene.c: Version 34375 was an accidental reversion.  Going back to
      version 34369, which actually does stop fixing of terminalp in acceptors
      where next donor is terminal.

    * splicefill.c: Version 34377 was an accidental reversion.  Going back to
      version 34369, which uses tally, adds smoothing, does not use slopes to
      find edges, and does not check for edgedistance.

    * pair.c: Using new samflags.h

    * Makefile.dna.am, Makefile.gsnaptoo.am, Makefile.three.am, gsnap_extents.c,
      gsnap_multiclean.c, gsnap_splices.c, gsnap_tally.c, gsnap_terms.c, sam.c,
      sam.h, samflags.h, samprint.c, samprint.h: Change file name from sam.c to
      samprint.c.  Moved definitions of SAM flags to samflags.h.

    * splicefill.c: Removed smoothing.  Using slopes to find edges.  Checking
      for edgedistance.

    * splicegene.c: Stopped fixing of terminalp in acceptors cases where next
      donor was terminal

    * spliceturn.c: Providing information to stdout about splices that are
      turned

    * spliceclean.c: Removed use of genebounds_iit and functionality for
      resolving splice directions

    * changepoint.c: Changed function for both ends, but not used anyway

    * Makefile.dna.am, Makefile.gsnaptoo.am, Makefile.three.am, blackboard.c,
      blackboard.h, changepoint.c, chop_primers.c, gmap.c, gsnap.c,
      iit_pileup.c, inbuffer.c, inbuffer.h, ioboard.c, ioboard.h, outbuffer.c,
      outbuffer.h, reads_get.c, reqpost.c, reqpost.h, request.c, request.h,
      result.c, result.h, resulthr.c, resulthr.h, sequence.c, sequence.h,
      spliceclean.c, splicefill.c, splicegene.c, spliceturn.c, src, stage3.c,
      stage3.h, tableuint.c, tableuint.h, tally_exclude.c: Merging changes to
      threads system from new-threads branch

    * indexdb.c: Removed extraneous allocation of memory for offsets

    * pair.c, pair.h, stage3.c, stage3.h: Using a single parameter for
      sourcename for GFF3 output

    * substring.c: Fixed calculation of region to check for MAPQ scoring

    * mapq.c: Added check for wrong segment to check in computing MAPQ

2011-01-24  twu

    * result.c: Altered debugging statements

    * gmap.c: Fixed memory leak in chimera detection

2011-01-21  twu

    * gmap.c: Fixed case where best0 or best1 was duplicated in rest of
      stage3list

    * result.c: Added debugging statements

    * gmap.c: Removed debugging comment

    * stage3.c, stage3.h: Added function Stage3_identity_cmp to help with
      chimera detection

    * gmap.c: Removed check for chimeras based on alignment break.  Handling
      cases where the same stage3 object is in both lists.

    * chimera.c, pair.c, pair.h: Simplified Pair_matchscores and computing over
      querylength.  In Chimera_bestpair, check for cases where the same stage3
      object is in both lists.

2011-01-20  twu

    * Makefile.gsnaptoo.am: Added chimera.c to build of gmap

    * VERSION: Updated version to 2011-01-21

    * gsnap.c: Always creating a .nomapping file with --split-output option

    * stage1hr.c: Changed debugging statements for shortexon

    * splicetrie.c: Changed debugging statements

    * sequence.c: Not printing space at end of accession

    * gsnap.c: Turning on splicetrie precomputation by default

    * gmap.c: Fixed bug in separating chimeric paths

    * gmap.c: Not sorting first part of stage3list when chimera is present

    * Makefile.dna.am: Added uintlist.c to gsnap_iit

    * chimera.c: Made detection of alignment break work again

    * splicetrie.c: Implemented handling of duplicate leaves

2011-01-19  twu

    * splicegene.c: Handling genebounds.iit as input

    * gsnap.c: Added --sam-headers-batch option

    * gsnap_iit.c: Changed output to look like gene map format

    * gsnap_extents.c: Fixed handling of non-spliced reads in sam_extents

    * sam.h: Added constant for clearing NOT_PRIMARY bit

    * sam_tally.c: Removed from CVS

    * gsnap_multiclean.c, samread.c, samread.h: Implemented printing of altered
      flag

    * gsnap_terms.c: Made program provide same output with SAM input. 
      Implemented filtering for concordant pairs.  Removed filtering by
      max_endlength.

    * gsnap_tally.c: Implemented filtering for concordant pairs

    * gsnap_splices.c: Made program provide same output with SAM input

    * gsnap_extents.c: Made program with SAM input

2011-01-18  twu

    * gsnap_multiclean.c: Turned off debugging statements

    * Makefile.dna.am, gsnap_multiclean.c: Implemented sam_multiclean

2011-01-16  twu

    * gsnap_multiclean.c, multiclean.c: Renamed file

2011-01-15  twu

    * gsnap_tally.c: Added check for concordantp in SAM input.  Fixed bug in
      initializing a variable.

    * sequence.c: Made paired adapter detection more stringent, allowing only 1
      mismatch

    * gsnap.c, sam.c, sequence.c, sequence.h, stage3hr.c: Fixed bugs in printing
      full quality string in GSNAP output

    * gsnap.c, sam.c, sequence.c, sequence.h, stage3hr.c: Printing full quality
      string (not chopped for adapter) in GSNAP output

2011-01-10  twu

    * stage3.c: Fixed compilation for PMAP

    * gmap.c: Added compiler directives to hide SAM output which is not used in
      PMAP

    * translation.c: Added compiler directives to hide functions that are not
      used in PMAP

    * oligop.c: Fixed compiler warnings about array index being char

    * Makefile.dna.am: Removed bam_pileup from being made

    * gmap.c: Added documentation for new output flags

    * gsnap.c: Changed output flag from -7 to --split-output

    * chimera.c, chimera.h, genome.c, get-genome.c, gmap.c, iit-read.c,
      iit-read.h, md5-compute.c, pair.c, pair.h, revcomp.c, segmentpos.c,
      segmentpos.h, sequence.c, sequence.h, stage1.c, stage3.c, stage3.h,
      subseq.c, translation.c, translation.h: Implemented split output to files

    * iit-read.c: Fixed bug in handling NULL IITs

    * gmap.c, pair.c, pair.h, sequence.c, sequence.h, stage3.c, stage3.h:
      Implemented printing of chimeras in SAM output

    * gmap.c, pair.c, pair.h, result.c, result.h, stage3.c, stage3.h,
      translation.c, trunk: Merged all changes from chimera branch

    * Makefile.pmaptoo.am: Update commands

    * Makefile.dna.am: Added commands for bam_pileup

2011-01-08  twu

    * gmap.c, stage3.h: Added new debugging point for result after all cycles.

    * stage3.c: Not forcing solution for dual breaks.  Using separate maxiter
      limits.

2011-01-07  twu

    * stage3.c: Changed comments for fix_adjacent_indels

2011-01-06  twu

    * Makefile.three.am: Added files to GSNAP

    * pair.c: Changed debugging output for Pair_dump to show the comp

    * stage2.c: Added a check for all zero scores when trying to find alignment
      end point

    * stage3.c: Added a final cleaning of ends

    * stage3.c: Added procedure to fix adjacent indels

2011-01-05  twu

    * gmap.c, pair.c, pair.h, segmentpos.c, segmentpos.h, stage3.c, stage3.h:
      Removed references to zerobasedp

    * pair.c: Using last_querypos and last_genomepos explicitly instead of
      prev->querypos and prev->genomepos.  Fixed issues with SAM output.

2011-01-04  twu

    * gmap.c: Added compiler directives to prevent PMAP from seeing SAM output
      code

    * backtranslation.h: Fixed typo in declaration

    * gsnap.c: Fixed comment

    * gmap.c, pair.c, pair.h, stage3.c, stage3.h: Printing headers and
      read-groups in SAM output

2011-01-03  twu

    * MAINTAINER: Updated instructions for ChangeLog

    * config.guess: Update of config.guess by latest autoconf

    * INSTALL: Update of INSTALL message by latest autoconf

    * stage3hr.c: Added assertions about sign of nindels

    * gmap_setup.pl.in: Handling case where user gives -d argument with trailing
      slash

    * gsnap.c: Added missing break after -o flag

2010-12-23  coryba

    * gsnap_tally.c: changed compiler directives to get gmap build to work

    * sam.c: *minor change to have the MD field output a 0 after the deletion if
      an insertion is adjacent to a deletion **IGB can now parse gsnap's SAM
      output

2010-12-16  twu

    * gsnap.c, mapq.c, sequence.c: Added flag --quality-protocol

2010-12-13  twu

    * stage1hr.c: Fixed bugs in storing splicesites_i

2010-12-10  twu

    * pair.c: Fixed bug in dealing with EXTRAEXON_COMP

    * gsnap_tally.c: Added flag for minimum mapq

    * gsnap.c, mapq.c, stage1hr.c, stage1hr.h, stage3hr.c, stage3hr.h,
      substring.c: Merged r32485:32693 from branch gsnap-trim-penalty into the
      trunk

2010-12-09  twu

    * config.site.rescomp.tst: Updated to include with_samtools

    * bamread.c: Hid declaration of bam_init_header_hash when samtools is not
      enabled

2010-12-07  twu

    * substring.c: Implemented marking of methylation changes

    * stage1.c: Performing a single uniqueness step at end

    * stage2.c: Using global or local winner for end of stage 2

    * indexdb_dibase.c: Using Access_mode_T for Indexdb_new_genome

    * indexdb.c: Minor fixes

    * gregion.c, gregion.h: Providing hooks for Gregion_filter_clean

    * gmap.c, gsnap.c: Using allocate as default mode if mmap not available

2010-12-06  twu

    * gsnap_tally.c: Returning mapping quality from SAM and BAM inputs

    * gmap.c: Improved default information for --batch feature in --help

    * get-genome.c: Fixed mapping labels from stdin

    * bamread.c, bamread.h, gsnap_extents.c, gsnap_splices.c, gsnap_terms.c,
      samread.c, samread.h: Returning mapping quality from SAM and BAM inputs

    * gsnap.c: Changed default memory access to be level 2

2010-12-04  twu

    * stage3hr.c: Disallowing concordant pairs between two terminal alignments

    * stage1hr.c, stage3hr.c, stage3hr.h: Placed restriction on terminal
      alignments to have fewer than allowed mismatches within region after
      trimming

    * stage3hr.c: Changed Stage3pair_remove_duplicates to resolve overlaps using
      absdifflength

    * gsnap.c: Changed --help output to show default batch mode of 4

    * gmap.c: Providing more batch modes in GMAP

    * access.h, genome.c, genome.h, gsnap.c, indexdb.c, indexdb.h: Providing
      more batch modes in GSNAP

2010-12-03  twu

    * stage1hr.c: Made done_level always less than or equal to user_maxlevel

2010-12-02  twu

    * samread.h: Added Id tag

    * sam.c: Changed terminal alignments to use soft clipping, since hard
      clipping information appears to be removed in making BAM files.

    * parserange.c, parserange.h: Implemented simple parser for regions

    * gsnap_tally.c: Implemented limited region for indexed BAM files in
      bam_tally.  Added -P flag for printing probabilities.

    * bamread.c, bamread.h: Implemented indexed BAM files

    * Makefile.dna.am: Added parserange.c and .h to bam_tally

2010-12-01  twu

    * Makefile.dna.am, bamread.c, bamread.h, gsnap_tally.c: Implemented
      bam_tally.  Changed standard tally output back to previous format.

    * config.site, configure.ac: Made changes to include samtools library

2010-11-30  twu

    * Makefile.dna.am, Makefile.gsnaptoo.am, Makefile.three.am, blackboard.c,
      blackboard.h, gmap.c, gsnap.c, sequence.c, sequence.h: Implemented the
      ability to uncompress gzip files by GSNAP

    * README, config.site, configure.ac: Made changes to reflect a new zlib
      option

2010-11-29  twu

    * gsnap.c: Fixed bug in output to multiple files where GSNAP single-end
      nomapping goes to stdout.

2010-11-24  twu

    * get-genome.c: Fixed stdin input to get-genome for non-map requests

2010-11-22  twu

    * Makefile.dna.am, Makefile.pmaptoo.am, Makefile.three.am: Added uinttable.c
      and uinttable.h to pmap

    * Makefile.dna.am, Makefile.gmaponly.am, Makefile.gsnaptoo.am,
      Makefile.pmaptoo.am, Makefile.three.am: Added uinttable.c and uinttable.h
      to gmap

    * stage2.c: Fixed bug in determining overall grand winner

    * sam.c: Moved read group field to be first

    * iit-read.c, iit-read.h: Implemented print_comment option

    * gmap.c: Providing nchrs to stage1 procedure

    * gregion.c, gregion.h: Implemented extentstart and extentend for comparing
      gregions.  Added code for a Gregion cleaning step.

    * stage1.c, stage1.h: Added hooks for a Gregion cleaning step

2010-11-19  twu

    * gmap.c, pair.c, pair.h, stage3.c, stage3.h: Implemented --print-comment
      for map output.  Removed old code for universal coordinate IIT files.

    * genome.h, stage3hr.h: Formatting changes

    * goby.c, goby.h, gsnap.c, sequence.c, sequence.h: Changes made for new Goby
      code

2010-11-18  twu

    * substring.c: Always initializing trim_left and trim_right

    * pdl_smooth.c: Initial import into svn

    * sam.c: Made fixes in printing mate information

    * spliceturn.c: Initial import into svn

    * multiclean.c: Initial import into svn

    * splicing-scan.c: Combining splice and terminal splicesites

    * Makefile.dna.am: Removed hexamer-score.c and .h from extents_genebounds

    * extents_genebounds.c: Added debugging information

    * tally_expr.c: Using new interface to IIT_annotation.  Providing option to
      print gc-content.

    * Makefile.dna.am: Removed tally_exclude from bin files

    * Makefile.dna.am: Removed iit_pileup from bin files

    * fopen.m4: Added _cv_ to all variable names

    * Makefile.am: Added ACLOCAL_AMFLAGS

    * VERSION: Updated version

    * bootstrap.dna, bootstrap.gmaponly, bootstrap.gsnaptoo, bootstrap.three:
      Using autoreconf.  Added --install to some files to allow building from
      svn.

    * sam.c: For unpaired_uniq, performing sorting first and then selecting mate
      for each end.

    * sam.c: Restored null mate for unpaired_mult

    * sam.c: Providing mate information in unpaired_mult

    * iit-read.c: Printing tabs in SAM headers

    * Makefile.dna.am, Makefile.gmaponly.am, Makefile.gsnaptoo.am,
      Makefile.three.am: Changes to Makefile.am files

2010-11-17  twu

    * gsnap.c: Added a flag for --no-sam-headers

    * resulthr.c, resulthr.h: Added a printing command for resulttype

    * sam.c: For unmapped reads, always providing a mate if available

    * sequence.c, sequence.h: Added ability to print GMAP alignments in SAM
      output format

    * gmap.c, pair.c, pair.h, stage3.c, stage3.h: Added ability to print GMAP
      alignments in SAM output format

    * gsnap.c, substring.c, substring.h: Added --show-refdiff option

    * README: Added further information about SNP-tolerant alignment and
      wildcard SNPs.

    * README: Made changes in instructions for -V and -v flags

2010-11-16  twu

    * gsnap.c, iit-read.c, iit-read.h, sam.c, sam.h: Implemented SM and RG
      fields.

    * gsnap.c: Added warning about paired-end output in Goby

    * goby.c, goby.h: Using new interface to sequence.h

    * datadir.c: Minor formatting change

    * get-genome.c, sequence.c, sequence.h: Handling printing of wildcard SNPs

    * sequence.c, sequence.h: Changed name of procedure

    * revcomp.c: Added flag for --byline

    * reads_store.c: Fixed bug in freeing memory too early

    * gsnapread.c: Reading quality string based on presence of third tab

    * gsnap.c: Removed short versions of some flags

    * sam.c: Using nmismatches_refdiffs in NM output

    * stage3hr.c, stage3hr.h: Fixed trimming based on SNPs.  Computing different
      types of nmismatches.

    * substring.c, substring.h: Fixed trimming based on SNPs.  Computing
      different types of nmismatches.

    * add_rpk.c, exonscan.c, genecompare.c, plotgenes.c, tally.c, tallygene.c:
      Using new interface to IIT_annotation

    * genome_hr.c, snpindex.c: Enabled representation of wildcard SNPs

    * get-genome.c: Added -V flag to specify a directory for alternate genome
      information

2010-11-15  twu

    * substring.c, substring.h: Added computation of mapping quality

    * gsnap.c, mapq.c, mapq.h, sam.c, stage1hr.c, stage3hr.c, stage3hr.h: Added
      computation of mapping quality

2010-11-11  twu

    * sequence.c, sequence.h: Fixes to printing of query sequences for failed
      alignments

    * goby.c, goby.h, gsnap.c: Always shutting down Protobuf if compiled in. 
      Calling gobyAlEntry_appendTooManyHits, even under quiet-if-excessive
      option. Changes to flag descriptions.

    * genome_hr.c, genome_hr.h, stage1hr.c, stage3hr.c, stage3hr.h, substring.c,
      substring.h: Marking all mismatches by using query_compress,
      genome_blocks, and snp_blocks.

2010-11-10  twu

    * goby.c, goby.h, gsnap.c, sam.c, sam.h, stage3hr.c, stage3hr.h: Allowing
      for three paired-end orientations instead of circular option. Added
      --fails-as-input flag.  Fixed issues with handling --failsonly option.

    * Makefile.gsnaptoo.am: Added blank line

    * Makefile.gmaponly.am: Added parserange.c and parserange.h

    * iit-read.c, iit-read.h: Revised IIT_annotation to handle version 5 IIT
      files

    * iit_get.c: Using new interface to IIT_annotation

    * genome.c, genome.h: Added procedures for returning ntcounts in a segment

    * gmap.c: Using long options without short options for --version and --help

    * pair.c: Fixed output of -f 8 format

    * sequence.c, sequence.h: Added procedures for printing GSNAP queries

2010-11-09  twu

    * goby.c, goby.h: Added functionality for Goby file formats

    * configure.ac: Added hooks for Goby compile-time option

    * config.site: Added information for Goby compile-time option

    * README: Added comments for FASTQ files, -z flag, and Goby functionality

    * Makefile.dna.am, Makefile.gsnaptoo.am, Makefile.three.am, gsnap.c,
      stage3hr.c, stage3hr.h: Added functionality for Goby file formats

    * gsnap_tally.c: Fixed problem with underflow in taking exp() of log
      likelihood

    * gsnap_tally.c: Added flag for using a constant quality score.  Printing
      1-p instead of p.

2010-11-08  twu

    * get-genome.c: Making only a single open of genome or genomealt

    * genome.c: Using new interface to IIT_annotation

    * get-genome.c: Using new interface to IIT_annotation

2010-11-04  twu

    * gsnap_terms.c: Added flags and parameters for mincount, min_endlength, and
      max_endlength.

2010-10-31  twu

    * reads_get.c: Made several changes in parsing

    * gsnap.c, sam.c, sam.h, stage1hr.c, stage1hr.h, stage3hr.c, stage3hr.h,
      substring.c, substring.h: Made SNP and splicesite parameters local to
      Substring procedures

2010-10-29  twu

    * gsnap_tally.c: Added -A flag for controlling printing of ref details. 
      Removed unused global parameters.  Fixed bug in retrieving genomic
      reference.

2010-10-28  twu

    * sam.c: Added XS flag to indicate splice direction

    * configure.ac: Additions needed for new libtool version

    * bootstrap.gsnaptoo: Running full set of autoconf programs

    * iit.test.in: Revised version of test

    * config.guess, config.sub: New version of libtool programs

    * config.guess, config.sub, ltmain.sh: Previous version of libtool programs

    * gsnap_tally.c: Added computation of genotype probabilities

    * indexdb_dibase.c, indexdb_dibase.h: Initial import into SVN

    * setup.ref3positions.ok: Initial import into SVN

    * gsnap_tally.c: Sorting shifts and quality scores

    * gsnap_tally.c: Keeping track of and reporting shifts and quality for
      reference matches

2010-10-27  twu

    * list.c: Added tentative code for dealing with NULL lists in List_to_array

    * chop_primers.c: Using new interface to Sequence_print_header

    * translation.c, translation.h: Added ability to start CDS from a given
      position

    * tally_expr.c: Added ability to show mincount

    * tally.c, tally.h: Added functions Tally_mean_double and Tally_quantile

    * seqlength.c: Using new interface to Sequence_print_digest

    * parserange.c: Fixed bug in returning coordstart

    * pair.c: Using new interface to Sequence_print_digest

    * md5-compute.c: Using new interface to MD5_print

    * iit_store.c: Storing rest of header in annotation.  Using new interface to
      IIT_write.

    * iit_get.c: Changed stats to compute mean over entire width, not just
      non-zero positions

    * gsnap_iit.c: Using new interface to Gsnapread_parse_line

    * gsnap_tally.c: Subtracting 64 from quality scores, as standard for
      Illumina

    * gsnap_extents.c, gsnap_splices.c, gsnap_terms.c: Using new interface to
      Samread

    * gsnap_tally.c: Printing quality scores relative to highest one seen

    * sam.c: Changed separator for extra fields to be a tab, rather than a
      space.

2010-10-26  twu

    * gsnap.c, stage1hr.c, stage1hr.h, stage3hr.c, stage3hr.h, substring.c,
      substring.h: Implemented trim-mismatch-score for controlling trimming

    * samread.c, samread.h: Implemented retrieval of quality string

    * gsnapread.c, gsnapread.h: Implemented retrieval of quality string

    * gsnap_tally.c: Printing mismatch information by position and quality

    * gmapindex.c: Using new interface to IIT_write

    * gmap.c: Protecting against calling List_to_array with an empty list

    * get-genome.c: Fixed bug introduced by new default snps_mode

    * diag.c: Protecting against call to List_to_array on an empty list

    * stage3hr.c, stage3hr.h: Reversing quality string in GSNAP output when
      necessary, and using quality shift.

    * gsnap.c: Fixed memory leak when npaths is zero.  Reversing quality string
      in GSNAP output when necessary.

2010-10-25  twu

    * gsnap_tally.c: Changed output format to show all signed query positions

    * gsnap_tally.c: Changed output format to show all query positions

    * gsnap_tally.c: Incorporated sam_tally into this source code

2010-10-24  twu

    * splicetrie.h: Changed Splicetrie_dump

    * splicetrie.c: Changed Splicetrie_dump.  Handling case where pos5 == pos3
      in short-exon splicing.  Added debugging statements.

    * stage1hr.c: Fixed a bug in handling one case of ambiguous splice ends in
      short-exon splicing.

    * splicetrie.c: Allowing only one mismatch at most for searching at ends in
      short-exon splicing when ends are 16 nt or shorter.

    * splicetrie.c: Combined Trie_new and Trie_output into a single procedure

2010-10-23  twu

    * splicetrie.c: Removed debugging statement

    * gsnap.c, splicetrie.c, splicetrie.h, stage1hr.c, stage1hr.h: Enabled
      computation of splice tries on the fly

    * gsnap.c, splicetrie.c, splicetrie.h: Divided Splicetrie_build process into
      two steps, with one computing nsplicepartners.

    * gsnap.c, splicetrie.c, splicetrie.h: Using unsigned ints rather than char
      * to store splicestrings and compute tries.

2010-10-22  twu

    * splicetrie.c: Ignoring cases where splice site has an N

    * stage3hr.c: Changed assertion to use effective_chrnum rather than chrnum

    * stage1hr.c: Using new interface to Splicetrie procedures.  Revised
      parameters for distant splicing.

    * splicetrie.c, splicetrie.h: Checking short-end and short-exon splicing
      against extension

    * gsnap.c: Automatically setting pairmax if not specified for RNA-Seq

2010-10-20  twu

    * stage3hr.c: Changed ambiguous splice procedure to remove longer splice

    * stage1hr.c: Using new interfaces to Splicetrie procedures.

    * splicetrie.c, splicetrie.h: Fixed various bugs.  Implemented separate
      procedures for short-ends and for longer ends (needed for short-exon
      alignments).

2010-10-19  twu

    * splicetrie.c, splicetrie.h, stage1hr.c: Checking entire subtree against
      splicefrags when using alternate genome and reaching a non-leaf with no
      string remaining.  Removed unused parameters.

    * stage1hr.c: Using new interface to Splicetrie_dump

    * get-genome.c: Changed flags for using SNPs

    * genome.c, genome.h: Added function Genome_fill_buffer_simple_alt

    * splicetrie.c, splicetrie.h: Fixed use of nmismatches from splicefrags. 
      Fixed use of alternate genome.  Using 4 bytes instead of 2 bytes for
      reloffsets.  Not using suboptimal separation.

2010-10-18  twu

    * stage1hr.c, stage3hr.c, stage3hr.h, substring.c, substring.h: Removed
      chrhigh from Substring_T and Stage3_T objects, and removed from segment
      objects in stage 1.

    * gsnap.c, splicetrie.c, splicetrie.h, stage1hr.c: Completed transition to
      using splicetries.  Removed unnecessary variables and code.

    * genome_hr.c, genome_hr.h, gsnap.c, splicetrie.c, splicetrie.h, stage1hr.c,
      stage1hr.h: Enabling use of splicefrags with splicetrie.  Enabled
      processing of alternate alleles.

2010-10-17  twu

    * Makefile.dna.am, Makefile.gsnaptoo.am, gsnap.c, splicetrie.c,
      splicetrie.h, stage1hr.c, stage1hr.h: Implemented tries for short-end
      splicing

2010-10-15  twu

    * gsnapread.c, gsnapread.h: Returning number of mismatches

    * stage3.c, stage3.h: Added ability to specify where CDS begins

    * gmap.c: Added ability to specify where CDS begins

    * get-genome.c: Added -A flag for dumping entire genome.  Handling -m flag
      correctly for stdin input.

2010-10-14  twu

    * pair.c: Implemented printinf of coverage, identity, and phases in GFF
      output

    * iit-write.c, iit-write.h, iitdef.h: Implemented version 5 of IIT format,
      which allows different pointer sizes for labels and annotations

    * gsnap.c, iit-read.c, iit-read.h, md5.c, md5.h, resulthr.c, resulthr.h,
      sam.c, sam.h, sequence.c, sequence.h, stage3hr.c, stage3hr.h, substring.c,
      substring.h: Enabled printing of output into multiple files

    * stage1hr.c: Allowing 1 mismatch in shortexon end, but requiring a
      separation of 2 from next best alignment.  Consolidated code into
      find_left_splice and find_right_splice.

    * gsnap.c: Changed default quality-shift to be 0

    * stage3hr.c, stage3hr.h: Implemented calculation and printing of MD string

    * substring.c, substring.h: Implemented calculation and printing of MD
      string

    * sam.c: Implemented calculation and printing of MD string

2010-10-13  twu

    * gsnap_tally.c: Fixed bug in freeing data.  Setting min_readlength to 0. 
      Using new interface to Gsnapread.

2010-10-06  twu

    * spliceclean.c: Added ability to print excluded splices

    * spliceclean.c: In resolving splice direction, using a 10-to-1 threshold
      and checking adjacent splices if necessary.

    * gsnap.c: Turned on indels by setting default indel-penalty to be 1.

2010-10-04  twu

    * stage1hr.c: Added restriction on number of mismatches allowed in short
      exons

2010-10-03  twu

    * spliceclean.c: Added ability to resolve between competing splices based on
      fwd and rev extents.  Added ability to print endpoints and midpoints. 
      Added flag to bypass cleaning step.

    * stage3hr.c: Allowing pair overlaps when splices are involved.  Using new
      way of computing low and high for pairs.

2010-09-30  twu

    * gsnap_extents.c: Initial creation

    * Makefile.dna.am: Added extents_genebounds

2010-09-29  twu

    * spliceclean.c: Added ability to print runlengths and splicesites.  Added
      ability to filter based on uniqueness, concordance, or maxminsupport.

    * extents_genebounds.c: Initial creation

    * Makefile.dna.am: Added multiclean, gsnap_extents, and gsnap_terms

    * gsnap_terms.c: Initial creation of gsnap_terms

2010-09-22  twu

    * iit_dump.c: Implemented printing of IIT in runlength or integral output

    * gsnap.c, sam.c, sam.h, sequence.c, stage3hr.c: Fixed handling of circular
      reads and implemented printing of SAM output for circular reads.

    * gmap.c, stage3.c, stage3.h, translation.c, translation.h: Added feature to
      start protein coding sequence from first query position.

2010-09-20  twu

    * splicegene.c: Added the ability to output genes as well as paths

2010-09-08  twu

    * mem.c: Added comment about use of LEAKCHECK

    * list.c: Removed unused variable

    * iit-read.c, iit-read.h, iit_dump.c: Added sort functionality for iit_dump

    * snpindex.c: Using -V flag to allow user to specify destination directory

    * substring.c: Added check to avoid checking for mismatches past end of
      string

    * stage1hr.c: Simplified computation of leftbound and rightbound in
      short-end splicing

    * stage1hr.c: Using different stopi for novel and known splicing.  Fixed
      possible bug in reading past mismatches_left and mismatches_right.  Fixed
      calculation of chrend in finding right bound for short-end splicing.

2010-09-04  twu

    * splicegene.c: Incorporated cappaths functionality

    * splicegene.c: Removed global variables related to linear fitting

    * splicegene.c: Fixed memory leaks.  Added filtering based on mean number of
      splices.

    * splicegene.c: Removed global variables

2010-09-03  twu

    * splicegene.c: Added ability to handle all chromosomes in a single run. 
      Fixed some memory leaks.

    * gsnap.c, stage1hr.c, stage1hr.h, stage3hr.c, stage3hr.h, substring.c,
      substring.h: Introduced -V flag for specifying snpsdir, and now using -v
      flag for indicating SNPs file.  Removed geneprob option and procedures.

    * stage1hr.c, stage3hr.c, substring.c, substring.h: Made terminals extend to
      beginning and end of read, with trimming starting from there.  Endtypes
      based on presence of trimming.

2010-09-02  twu

    * gsnapread.c, sam.c, stage1hr.c, stage3hr.c, stage3hr.h, substring.c,
      substring.h: Added left and right endtypes to Substring_T object, and
      using them for printing exact, substitution, and terminal alignments. 
      Renamed variables in Hittype_T enum.  Added ambiguous alignments. 
      Restored usage of score in Stage3_remove_duplicates.  Using number of
      mismatches to compute nmatches in Stage3_T objects.  Revised computation
      of terminal alignments.

2010-09-01  twu

    * gsnap.c, stage1hr.c, stage1hr.h: Introduced min_shortend as a parameter
      with flag -l.  The find_left_splice and find_right_splice procedures now
      compete with extension.

2010-08-31  twu

    * gmap.c, stage3.c, stage3.h: Introducing sense_filter in addition to
      sense_try.  Counting non-canonical introns, rather than canonical ones to
      determine sense, and adding a small penalty for introns to bias against
      short exons.

    * stage1hr.c: Using new parameter to turn off concordant translocations with
      terminal alignments.  Clarified usage of query, queryuc_ptr, and queryrc.

    * stage3hr.c, stage3hr.h: Added flag to control concordant translocations

    * genome_hr.c, genome_hr.h: Fixed bug in handling fragments when query
      length is 16.  Removed query parameter from Genome_trim_left and
      Genome_trim_right procedures.

    * stage1hr.c: Stopped placing restrictions on stopi in finding splice ends.
      Requiring minimum endlength for short end splicing.

    * stage1hr.c: Fixed bug with donor, acceptor, and shortexons that were NULL.
       Fixed logic with novel splice sites in local splicing.

2010-08-26  twu

    * stage1hr.c: Fixed bug attempting to make shortexon of length 0

2010-08-25  twu

    * splicing-scan.c: Initial import into SVN

    * Makefile.util.am: Renamed revcomp program to rc

    * Makefile.gsnaptoo.am: Added gsnapread.c and gsnapread.h for gsnap_tally

    * Makefile.dna.am: Added rc and splicing-scan

    * get-genome.c: Removed unused parameter

    * gsnap_splices.c, gsnapread.c: Allowing program to handle short exon
      alignments with multiple splices

    * parserange.c: Added check for coordinate lengths that exceed 32 bits

    * substring.c: Commented old location of sub: field in donor and acceptor
      substrings

    * stage3hr.c, stage3hr.h: Including chrhigh in substrings

    * stage1hr.c: Including chrhigh in segments and substrings.  Implemented
      usage of splice distance in short exon alignments.

    * gsnap_iit.c, gsnap_splices.c, gsnap_tally.c, gsnapread.c, gsnapread.h:
      Gsnapread_parse_line returns information about types of endpoints

    * substring.c, substring.h: Including chrhigh as a field in Substring_T

2010-08-24  twu

    * sam.c, stage1hr.c, stage3hr.c, stage3hr.h, substring.c, substring.h:
      Implemented shortexon alignment

    * gsnap.c: Changed message for reading splicesites IIT file

    * genome_hr.c: Fixed bug in using flags for shortend splicing

2010-08-23  twu

    * gsnap.c: Enabled reading of a local splicesite file

2010-08-19  twu

    * stage1hr.c: Added check for query_compress to be non-NULL before
      find_terminals for single-end alignment

    * stage1hr.c: Fixed bug where query_compress needed to be computed before
      finding terminals

2010-08-18  twu

    * iit_store.c: Using string_compare and string_hash functions from table.c

    * iit-write.c: Moved position of free() statement

    * iit-read.c: Fixed debugging output

    * genome_hr.c, genome_hr.h, gsnap.c, stage1hr.c, stage1hr.h: Using
      splicefrags to increase speed of finding short-end splicing

    * stage3hr.c: Setting nindels to be zero for a terminal alignment

2010-08-13  twu

    * gsnap.c, indexdb.c, indexdb.h, indexdb_hr.c, indexdb_hr.h, spanningelt.c,
      spanningelt.h, stage1hr.c, stage1hr.h: Allowing GSNAP to run when
      positions are read as FILEIO.

    * stage1hr.c, stage3hr.c, stage3hr.h, substring.c, substring.h: Using
      splicesites array rather than splicesites_iit in short-end splicing

    * stage1hr.h: Increased MAX_QUERYLENGTH from 200 to 500

2010-08-10  twu

    * indexdb_dump.c: Added file left out in SVN conversion

    * indexdb_dump.c: Undo addition to wrong directory

    * indexdb_dump.c: Added file left out in SVN conversion

    * stage1hr.c: Removed requirement for nconcordant == 0 in deciding to
      compute local splices and short-end splices.

2010-08-06  twu

    * reads.c, reads_store.c: Eliminating labelorder in file format.  Cleaned up
      memory leaks.

    * reads.c: Improved speed of dumping procedure

    * reads.c, reads_get.c, reads_store.c: Allowing either 4-byte or 8-byte
      label and read pointers

2010-08-05  twu

    * Makefile.dna.am, reads.c, reads.h, reads_get.c, reads_store.c: Enabled
      compression of reads

    * Makefile.dna.am, reads.c, reads.h, reads_store.c: Using a div structure in
      file format

    * Makefile.dna.am, reads.c, reads.h, reads_dump.c, reads_get.c,
      reads_store.c: Using our own file format for storing reads, rather than
      BerkeleyDB

    * iit-read.c: Fixed bug in fileio reading of annotations

    * access.c, access.h, add_rpk.c, assert.c, assert.h, backtranslation.c,
      backtranslation.h, bigendian.c, bigendian.h, blackboard.c, blackboard.h,
      block.c, block.h, bool.h, boyer-moore.c, boyer-moore.h, cappaths.c,
      changepoint.c, changepoint.h, chimera.c, chimera.h, chop_primers.c,
      chrnum.c, chrnum.h, chrom.c, chrom.h, chrsegment.c, chrsegment.h,
      chrsubset.c, chrsubset.h, cmet.c, cmet.h, cmetindex.c, color.c, color.h,
      comp.h, complement.h, compress.c, compress.h, cum.c, datadir.c, datadir.h,
      datum.c, datum.h, diag.c, diag.h, diagdef.h, diagnostic.c, diagnostic.h,
      diagpool.c, diagpool.h, dibase.c, dibase.h, dibaseindex.c, doublelist.c,
      doublelist.h, dynprog.c, dynprog.h, except.c, except.h, exonscan.c,
      fopen.h, gbuffer.c, gbuffer.h, gdiag.c, geneadjust.c, genecompare.c,
      geneeval.c, genome-write.c, genome-write.h, genome.c, genome.h,
      genome_hr.c, genome_hr.h, genomepage.c, genomepage.h, genomeplot.c,
      genomicpos.c, genomicpos.h, genuncompress.c, get-genome.c, getopt.c,
      getopt.h, getopt1.c, gmap.c, gmapindex.c, gregion.c, gregion.h, gsnap.c,
      gsnap_iit.c, gsnap_splices.c, gsnap_tally.c, gsnapread.c, gsnapread.h,
      hint.c, hint.h, iit-read.h, iit-write.c, iit-write.h, iit_dump.c,
      iit_fetch.c, iit_get.c, iit_plot.c, iit_store.c, iit_update.c, iitdef.h,
      indexdb.c, indexdb.h, indexdb_hr.c, indexdb_hr.h, indexdbdef.h,
      interval.c, interval.h, intlist.c, intlist.h, intlistdef.h, intpool.c,
      intpool.h, intron.c, intron.h, lgamma.c, lgamma.h, list.c, list.h,
      listdef.h, littleendian.c, littleendian.h, match.c, match.h, matchdef.h,
      matchpool.c, matchpool.h, maxent.c, maxent.h, md5-compute.c, md5.c, md5.h,
      mem.c, mem.h, memchk.c, nmath.c, nmath.h, nr-x.c, nr-x.h, oligo-count.c,
      oligo.c, oligo.h, oligoindex.c, oligoindex.h, oligop.c, oligop.h,
      orderstat.c, orderstat.h, pair.c, pair.h, pairdef.h, pairingcum.c,
      pairingflats.c, pairinggene.c, pairingstrand.c, pairingtrain.c,
      pairpool.c, pairpool.h, parserange.c, parserange.h, pbinom.c, pbinom.h,
      pdldata.c, pdldata.h, pdlimage.c, plotdata.c, plotdata.h, plotgenes.c,
      plotgenes.h, pmapindex.c, random.c, random.h, rbtree.c, rbtree.h,
      rbtree.t.c, reader.c, reader.h, reqpost.c, reqpost.h, request.c,
      request.h, result.c, result.h, resulthr.c, resulthr.h, revcomp.c, sam.c,
      sam.h, sam_tally.c, samread.c, samread.h, scores.h, segmentpos.c,
      segmentpos.h, segue.c, separator.h, seqlength.c, sequence.c, sequence.h,
      smooth.c, smooth.h, snpindex.c, spanningelt.c, spanningelt.h,
      spliceeval.c, splicegene.c, splicegraph.c, splicescan.c, splicing-score.c,
      stage1.c, stage1.h, stage1hr.c, stage1hr.h, stage2.c, stage2.h, stage3.c,
      stage3.h, stage3hr.c, stage3hr.h, stopwatch.c, stopwatch.h, subseq.c,
      substring.c, substring.h, table.c, table.h, tableint.c, tableint.h,
      tallyadd.c, tallyflats.c, tallygene.c, tallyhmm.c, tallystrand.c,
      translation.c, translation.h, trial.c, trial.h, types.h, uintlist.c,
      uintlist.h, uinttable.c, uinttable.h: Added keyword property for Id

    * tally_expr.c: Fixed bug in reporting number of exons and in skipping exons

    * stage3hr.c: Improved debugging statements

    * stage3.c: Fixed bug when ngap was larger than gaps in dual_break

    * samread.c: Added old but unused code

    * iit-read.c, iit-read.h: Added function IIT_get_typed_signed

    * gsnap_splices.c: Added parameter for shortsplicedist

    * gsnapread.c, gsnapread.h: Added function Gsnapread_accession

    * gsnap_tally.c: Fixed bug in using advance_one_hit

    * Makefile.dna.am, gsnap_iit.c: Created gsnap_iit

2010-08-04  twu

    * Makefile.dna.am, reads_get.c, reads_store.c: Created programs reads_store
      and reads_get.

    * splicefill.c: Using median filtering as a first step

    * splicefill.c: Removed probabilistic calculations

    * splicefill.c: Version with probabilistic calculations

2010-08-03  twu

    * splicefill.c: Using tally information to find edges.  Using Poisson and
      exponential models.

    * iit-read.c, iit-read.h, snpindex.c: Providing messages about chromosomes
      in the genome and in the SNPs IIT file

2010-08-02  twu

    * Makefile.dna.am, splicefill.c: Initial creation of splicefill program

2010-08-01  twu

    * gsnap_tally.c, gsnapread.c, gsnapread.h: Able to separate low and high
      ends of paired-end reads

    * Makefile.dna.am, gsnap_tally.c: Using parsing functions in gsnapread.c

    * Makefile.dna.am, gsnap_splices.c, gsnapread.c, gsnapread.h: Moved parsing
      functions to gsnapread.c

2010-07-30  twu

    * spliceclean.c: Preserving information in rest of header

    * gsnap_splices.c: Printing maxminsupport and nconcordant information

    * Makefile.dna.am, spliceclean.c: Enabled spliceclean to handle all
      chromosomes.  Using tables to store splices.

    * spliceclean.c: Fixed bugs in parsing input

    * spliceclean.c: Added procedure to free memory

    * gsnap_splices.c: Fixed bug from freeing table keys too early

    * gsnap_splices.c: Enabled program to handle all chromosomes in a single run

2010-07-29  twu

    * Makefile.dna.am, gsnap_splices.c, iit-read.c, uinttable.c, uinttable.h:
      Using a table to store splice sites in gsnap_splices.c

    * gsnap_splices.c: Removed -F and -R flags for separate strands

    * Makefile.dna.am, gsnap_splices.c, sam_splices.c: Integrated sam_splices.c
      and gsnap_splices.c into a single file

    * mem.c: Removed unused variable

    * iit-read.c: Removed unused code

    * genome.c: Removed unused variable

    * blackboard.c: Returning bool type explicitly

    * substring.c: Removed unused code

    * sequence.c: Resolving compiler warning about type casting

    * gsnap_splices.c, sam_splices.c, spliceclean.c: Allowing -s flag to print
      annotations about known splicesites

2010-07-28  twu

    * struct-stat64.m4: Added missing m4 file

    * Makefile.am, cvs2cl.pl, svncl.pl: Replace cvs2cl.pl with svncl.pl

    * CVSROOT: Removed CVSROOT directory

2010-07-27  twu

    * assert.h: Changed compiler variable

    * VERSION, config.site.rescomp.prd, index.html: Revised for 2010-07-27
      release

    * bootstrap.dna: Using autoreconf

    * README: Modified statement about -m flag and about types in SNP IIT files

    * MAINTAINER: Added statement about assert.h

    * tally_expr.c: Standardized output format

    * gsnap.c: Made -q flag work correctly for single-thread mode.  Printing run
      time at end of each run.

    * gmap.c: Calling correct exception for a sigtrap

    * Makefile.dna.am, Makefile.gsnaptoo.am: Using datadir in snpindex

    * iit-read.c, iit-read.h: Fixed IIT_index function

    * snpindex.c: Using datadir.  Fixed error messages.

    * stage3hr.h, substring.c, substring.h: Removed fields for halfintrons.

    * stage3hr.c: Fixed bug in removing duplicates.  Removed fields for
      halfintrons.

    * stage1hr.c, stage1hr.h: Implemented short-end splicing for known splice
      sites

2010-07-26  twu

    * mem.c: Changed monitoring statement to print only in debug mode

    * iit-read.c, iit-read.h: Added procedure for typed and signed intervals
      based on divno

    * gsnap.c: New interface to stage 1 procedures

2010-07-24  twu

    * VERSION, index.html: Revised for 2010-07-23 release

    * spliceclean.c: Processing forward and reverse splices separately

    * gsnap.c: Fixed bug where -a flag modified trim_maxlength

    * assert.h: Turned off assertion checking

    * Makefile.dna.am: Added tally_exclude

    * substring.c: Modified debugging statements for trimming

    * stage3hr.c: Added debugging statements

    * iit-read.c, iit-read.h: Added function IIT_interval_sign

2010-07-22  twu

    * tally_expr.c: Allowing printing over all positions

    * tally_expr.c: Allowing multiple tallies

    * gsnap.c, sam.c, sam.h, sequence.c, sequence.h: Fixed handling of quality
      scores to match that of sequence.  Added -j flag to specify amount of
      shift for quality scores.

2010-07-21  twu

    * setup1.test.in: Putting test chromosome in subdirectory

    * setup2.test.in: Revised test for new gmapindex, but test not being used
      currently

    * iit.test.in: Not testing for diff in iittest.iit

    * align.test.ok, coords1.test.ok, map.test.ok: Changed expectations to match
      latest program output

    * iittest.iit.ok: Using latest IIT version

    * Makefile.am: Using ref3offsets and ref3positions instead of idxoffsets and
      idxpositions

    * acx_mmap_fixed.m4, acx_mmap_variable.m4: Added stdlib.h and unistd.h
      headers

    * bootstrap.dna, bootstrap.gsnaptoo, bootstrap.three,
      config.site.rescomp.prd, config.site.rescomp.tst: Initial import into CVS

    * config.site.gne: Removed old config file

    * acinclude.m4: Including builtin m4 code

    * MAINTAINER: Added notes about checking Bigendian behavior

    * archive.html, index.html: Revised for 2010-07-20 release

    * configure.ac: Better checking for VERSION

    * bootstrap.pmaptoo: Added --force flag

    * bootstrap.gmaponly: Added autoreconf step

    * README, VERSION: Changed for 2010-07-20 release

    * gmap_process.pl.in: Removed check for contig version

    * gmap_update.pl.in: Not updating chromosome or contig IIT files

    * gmap_setup.pl.in: Providing -q and -Q flags for GMAP and PMAP indexing
      intervals.

    * gsnap-fetch-reads.pl, gsnap-fetch-reads.pl.in, gsnap-remap.pl,
      gsnap-remap.pl.in: Initial import into CVS

    * gsnap_splicing.pl: Program is superseded by C program gsnap_splices

    * gsnap_splicing.pl: Various changes.  Program is superseded by C program
      gsnap_splices.

    * gmap_compress.pl.in, gmap_reassemble.pl.in, gmap_uncompress.pl.in,
      md_coords.pl.in: Using "use warnings" instead of "-w" flag

    * fa_coords.pl.in: Handling duplicate occurrences of a chromosome.  Limiting
      number of warnings.

    * Makefile.am: Added gmap_update

    * gmap.c, pair.c, pair.h, stage3.c, stage3.h: Implemented -f 4 GFF estmatch
      format based on patch from Shaun Jackman and Eoghan Harrington of British
      Columbia Genome Sciences Centre.

    * chimera.c: Commented out problematic code, to be resolved later

    * get-genome.c: Fixed coordinates when retrieving map file contents

    * cum.c, dibaseindex.c, geneadjust.c, pairingtrain.c, splicegraph.c,
      tallyadd.c, tallygene.c, tallystrand.c: Initial import into CVS

    * pairingstrand.c, tallyhmm.c: Using new Parserange_universal function

    * tally.c, tally.h: Treating counts as long ints

    * splicegene.c: Changed algorithm

    * spliceeval.c: Removed unused code

    * plotgenes.c, plotgenes.h: Several changes, including trying to resolve
      fatal errors

    * pdldata.c, pdldata.h: Implemented Pdldata_new and Pdldata_write

    * pairinggene.c: Counting found splices as flats

    * pairingflats.c: Changed algorithm for finding flat regions

    * pairingcum.c: Treating high and low reads separately

    * oligo-count.c: Using new interface to Reader_new.

    * lgamma.c, lgamma.h: Handling counts as long ints

    * hint.c, hint.h: Changed models

    * geneeval.c: Using new Parserange_universal function

    * genecompare.c: Separate output for forward and reverse chromosome strands.

    * gdiag.c: Removed some output.  Using new interfaces to IIT_read.

    * dibase.c, dibase.h, exonscan.c: Change in algorithm

    * chimera.c: Using Path_matchscores instead of Stage3_matchscores

    * cappaths.c: Using xintercepts instead of slopes

    * boyer-moore.c, boyer-moore.h: Added procedures for chop_primers.c

    * add_rpk.c: Change of output format

2010-07-20  twu

    * stage1hr.c: Tightened requirements further for splice site probabilities
      on distant splicing.

    * stage3hr.c: Using nmatches to filter pairs containing terminal alignments

    * gsnap.c: Changed advice on RNA-Seq settings for -m.

    * archive.html, index.html: Released version 2010-03-10

    * substring.c, substring.h: Computing nmatches directly

    * stage3hr.h: Removed score parameter from Stage3_new_terminal

    * stage3hr.c: Selecting best among terminal alignments.  Computing nmatches
      directly.

    * stage1hr.c: Changed algorithm for finding terminal alignments.  Requiring
      distant splicing to have high splice probabilities.

    * sam_splices.c: Computing readlengths on each end of splice separately

    * gsnap.c, gsnap_splices.c: Added debugging code

2010-07-19  twu

    * stage1hr.c: Using sequences as numeric in some cases

    * maxent.c, maxent.h: Added procedures to handle sequences as numeric

    * gsnap.c: Added a comment to the --help message

    * genome_hr.c, genome_hr.h: Added a procedure to retrieve a dinucleotide

    * genome.c, genome.h: Added a procedure to retrieve sequences as numeric

    * Makefile.dna.am, Makefile.gmaponly.am, Makefile.gsnaptoo.am,
      Makefile.pmaptoo.am: Revised files and programs as needed

2010-07-16  twu

    * stage3hr.c: Requiring that dual translocations be concordant only across
      the same two chromosomes.

    * smooth.c: Conserving listcells where possible

    * oligoindex.c, oligoindex.h: Removed computation of fingerprint

    * list.c, list.h: Implemented List_transfer_one and List_push_existing

    * gsnap.c: Performing trimming by default

    * dynprog.c: Ensuring that finalscore is assigned in Dynprog_genome_gap.

    * stage3hr.c, substring.c, substring.h: Providing a minlength parameter to
      Substring_new, so end indels do not get eliminated.

    * chop_primers.c: Initial import into CVS

    * sam_tally.c: Trimming uses -3 for mismatches and resets negative scores to
      zero. Handling hard clipping.

    * gsnap_tally.c: Trimming uses -3 for mismatches and resets negative scores
      to zero

    * gsnap_splices.c: Sorting splices using both ends.

    * sam_splices.c: Handling AT-AC introns.  Sorting splices using both ends.

    * samread.c, samread.h: Returning acc in parsing line

    * sam.h: Renamed NOT_PRIMARY bit

    * sam.c: Implemented hard clipping of sequences for SAM output.  Enabled
      printing of distant splices onto two separate lines.  Using NOT_PRIMARY
      bit in flag.

    * sequence.c, sequence.h: Implemented hard clipping of sequences for SAM
      output

    * stage3.c: Removed unused procedures.  Conserving listcells when possible.

    * stage2.c: Removed unused procedures

    * gmap.c: Removed references to Intpool_T

    * pairpool.c: Setting initial value for state

    * matchpool.c, matchpool.h: Implemented Matchpool_free_memory procedure

    * mem.c, mem.h: Added procedures for computing memory usage

    * stage3hr.c, substring.c, substring.h: Now trimming from both ends of
      terminal alignment.  Explicitly specifying which ends to trim.

    * substring.h: Replaced Substring_T with T

    * substring.c: Allowing Substring_new to return NULL if trimmed alignments
      are poor. Replaced Substring_T with T.  Resetting score to zero when it
      becomes negative in trimming.

    * stage1hr.c, stage3hr.c: Allowing Substring_new and Stage3_new to return
      NULL if trimmed alignments are poor.

    * substring.c: Changed mismatch score from -1 to -3 for trimming

    * stage1hr.c, stage3hr.h: Added notion of ambiguous splices.

    * stage3hr.c: Added notion of ambiguous splices.  Fixing removal of
      duplicates.

2010-07-15  twu

    * stage3hr.c, stage3hr.h: Implemented Stage3_substring_low

    * samread.c: Added debugging comments

    * sam.c, sam.h: Moved flag constants to sam.h.  Using Stage3_substring_low
      to print chromosomal pos.

    * sam_splices.c: Simplified loop

    * gsnap_splices.c: Having lines_gc return NULL

    * gsnap_tally.c: Fixed trimming.  Turning off trimming by default.

    * sam_tally.c: Initial import into CVS

2010-07-14  twu

    * sam_splices.c, samread.c, samread.h: Fixed bug in specifying allowed
      dinucleotides.  Moved parsing procedures to samread.c.

2010-07-13  twu

    * sam_splices.c: Initial import into CVS

2010-07-11  twu

    * spliceclean.c: Changed variable names

2010-07-10  twu

    * stage2.c, stage2.h, stage3.h: Removed stage2 fingerprint

    * gmap.c: Added freeing of pairpool and diagpool memory at certain
      intervals.

    * pair.c, pair.h, stage3.c: Moved HMM code from pair.c to stage3.c

    * pairpool.c, pairpool.h: Implemented Pairpool_free_memory function

    * diagpool.c, diagpool.h: Implemented Diagpool_free_memory function

    * gsnap.c: Added ability to remove adapters from paired-end reads. 
      Providing option for maxlength on trimming.

    * gmap.c: Using Stage2_scan method to rank gregions.  Providing additional
      diagnostic options.

    * diag.c, diag.h, diagpool.h: Added ability to allocate memory for
      diagonals, rather than using diagpool

    * tally_expr.c: Fixed bug in using IIT index

    * substring.h: Added handling of terminal reads

    * substring.c: Using trimming maxlength.  Fixed printing of sequences with
      adapters.

    * stage3hr.c: Fixed identification of duplicates.  Using total matches to
      compare results, rather than score.

    * stage3.c, stage3.h: Using an HMM to find bad sections and fixing resulting
      dual breaks.

    * stage2.c, stage2.h: Added Stage2_scan procedure.  Providing diagonals for
      diagnostic purposes.  Computing a fingerprint.

    * stage1.c: Using a boolean to see if weight exists rather than depending on
      floating point value

    * sequence.h: Added handling of finding adapters.  Computing sequence
      quality for trimming.

    * sequence.c: Fixed bug where fastq quality line begins with ">".  Added
      removal of adapters from paired-end data.

    * sam.h: Removed genome from argument lists

    * sam.c: Fixed bugs in coordinates, epecially involving trimmed reads.
      Handling terminal reads.

    * result.c, result.h: Added ability to report intermediate gregions or
      diagonals

    * oligoindex.h: Added computation of fingerprint

    * oligoindex.c: Added necessary clearing of oligoindex.

    * pairdef.h, pairpool.c: Added Pair_goodness_hmm procedure.

    * pair.c, pair.h: Added Pair_goodness_hmm procedure.  Added printing of
      stage2 fingerprint.

    * orderstat.c: Removed reliance on a floating point equality

    * mem.c, mem.h: Added leak check procedures

    * match.c, match.h, matchdef.h: Using a boolean to record whether weight is
      zero or not, rather than relying on floating point

    * indexdb_hr.c: Added comment

    * indexdb.c: Fixed printf procedure

    * iit-read.h: Removed unused IIT_print prototype

    * iit-read.c: Fixed print_record procedure

    * gsnap_tally.c: Fixed trimming procedure.  Added reference nucleotide in
      all lines. Fixed processing of all chromosomes.

    * gsnap_splices.c: Fixed parsing.  Made uniquep false by default.  Added
      info about nextensions and nunique.

    * gregion.c, gregion.h: Added fields ncovered and source, plus function
      Gregion_cmp

    * get-genome.c: Removed unused function print_map

    * genome.c, genome.h: Added function Genome_get_char

    * dynprog.c: Added space for formatting

    * stage1hr.h: Setting a maxlength on trimming

    * stage1hr.c: Finding terminals rather than halfintrons.  Fixed case where
      splice ends are adjacent in genome.

2010-07-02  twu

    * stage3hr.h: Added support for a terminal alignment.

    * stage3hr.c: Added support for a terminal alignment.  Removed
      halfintron_support field.

2010-05-28  twu

    * iit_store.c: Fixed issues with removing and re-inserting null divstring.

2010-05-26  twu

    * stage1hr.c: Added trim_maxlength.  Added nmismatches to halfintron
      alignments.

    * stage3hr.h: Added trim_maxlength.

    * stage3hr.c: Added trim_maxlength.  Checking pairlength on samechr_single
      to see if concordant.

2010-05-21  twu

    * iit-read.c, iit-read.h, stage3.c: Fixed printing of chromosome in map
      results

2010-05-20  twu

    * stage3hr.c: Finding concordant pairs against translocations with chrnum ==
      0, by making copies for each chrnum and storing in effective_chrnum.

2010-05-17  twu

    * substring.c, substring.h: Added halfintron support field.

    * stage3hr.c, stage3hr.h: Implemented sense consistency in paired-end
      alignments

    * stage1hr.c: Fixed bugs in previous implementation of half introns

2010-05-16  twu

    * stage1hr.c, stage3hr.c: Implemented new way of handling half introns, by
      storing best half intron for sense and for antisense

2010-05-14  twu

    * resulthr.c, resulthr.h, stage1hr.c, stage3hr.c, stage3hr.h: Added
      procedure for finding samechr pairs if no concordant ones found. Revised
      result types to include PAIREDEND_SAMECHR_SINGLE and
      PAIREDEND_SAMECHR_MULTIPLE.

2010-05-13  twu

    * stage1hr.c: Added conditional compilation statements for filtering
      halfintrons

    * gsnap.c, stage3hr.c, stage3hr.h: Handling failsonly and nofails flags for
      paired-end data.  Printing FASTQ format for failsonly on single-end data.

2010-04-17  twu

    * iit-write.c: Fixed bug in freeing data when number of intervals is zero

2010-04-12  twu

    * iit-read.c: Commented out IIT_index function

    * sam.c: Fixed situation where query has no mapping and mate is an
      interchromosomal splice

2010-04-05  twu

    * tally_expr.c: Initial import into CVS

2010-04-02  twu

    * iit_get.c: Added allele information to -T option

2010-03-24  twu

    * gsnap.c, sequence.c, sequence.h: Implemented processing of FASTQ files

    * gmap.c: Using new interface to blackboard.c

    * blackboard.c, blackboard.h: Added input2 to Blackboard_T object

    * stage3hr.c, stage3hr.h: Fixed classification of paired-end reads when one
      or both ends have a translocation.

2010-03-10  twu

    * stage3hr.c: Revised half_intron_score.  Using that score when comparing
      overlapping half_introns with one another.

    * gsnap.c, stage1hr.c, stage1hr.h: Added parameter for
      min_distantsplicing_identity

2010-03-09  twu

    * stage1hr.c: Providing querylength information when making Stage3_T splice
      objects

    * stage3hr.c, stage3hr.h: Adding a penalty to half-intron alignments based
      on the amount of sequence that was not aligned.

    * stage3hr.c: Changed output for samechr results

    * substring.c: Printing sub:0 instead of exact

    * stage1hr.c: Checking for exact matches that cross chromosomal boundaries

2010-03-08  twu

    * resulthr.c: Making all paired reads of type concordant

    * stage3hr.c: Added printing of samechr as a special case of
      PAIREDEND_AS_SINGLES_UNIQUE.

    * sam.h: Added mate information to nomapping result.

    * sam.c: Removed unused code.  Fixed printing of query string.  Added mate
      information to nomapping result.

    * gsnap_tally.c: Handling new output format for GSNAP

    * gsnap.c: Using new interface for SAM_print_nomapping

    * README: Added more information about GSNAP features and output

2010-03-05  twu

    * iit-read.c, iit-read.h: Added function IIT_dump_sam

    * gsnap.c: Renamed resulttypes

    * resulthr.c, resulthr.h: Added resulttype PAIREDEND_AS_SINGLES_UNIQUE

    * substring.c, substring.h: Added function Substring_match_length

    * stage3hr.h: Computing chrnum, chroffset, genomicstart, and genomicpos at
      Stage3_T level for splices.

    * stage3hr.c: Pairing up at each successive score level.  Computing chrnum,
      chroffset, genomicstart, and genomicpos at Stage3_T level for splices.

    * stage1hr.c: Fixed bug allowing deletion to extend past genomicpos 0. 
      Fixed cases where known splicing occurs near end of sequence.  Removing
      duplicate hits before pairing up ends.

    * sam.c: Made multiple changes to generate correct SAM output

2010-03-01  twu

    * substring.c, substring.h: Removed unnecessary parameters during printing

    * stage3hr.h: Removed unnecessary parameters.

    * stage3hr.c: Added support information to splices, and using it to select
      best half introns.  Removing unnecessary parameters during printing. 
      Checking for abort in pairing process, based on local counts.

    * stage1hr.c: Added support information in making splices.  Not checking for
      sufficiency for half introns.  Using an abort_pairing_p flag, and when
      true, recomputing ends as singles.

    * splicing-score.c: Using parserange module.  Allowing range to be
      specified.

    * iit-read.h: Removed unused parameter

    * iit-read.c: Changed format strings to eliminate compiler warnings

    * genome.c: Added parentheses around some conditional statements

2010-02-26  twu

    * stage3.c: Removed unused parameters from print functions

    * sequence.c: Handling sequence at end of file without line feed

    * reader.c: Commented out unused code

    * gsnap.c: Added flags for SAM and quiet-if-excessive.  Dropped flags for
      probability thresholds.

    * datadir.h: Added external interface for a function

    * sam.c: Fixed bug where numbers of deletions was being reported as a
      negative number

    * genome_hr.c, genome_hr.h, stage1hr.c: Removed computation of snpdiffs by
      genome_hr

2010-02-25  twu

    * genome_hr.h: Added code for performing trimming.  Using macros for
      clearing and setting outside regions in start and end blocks.

    * genome_hr.c: Added code for performing trimming.  Using macros for
      clearing and setting outside regions in start and end blocks.

    * stage1hr.c: Added trimming of splice ends to avoid extending into region
      of many mismatches.  Saving all splice ends that have sufficient sequence
      and probability support.

2010-02-23  twu

    * substring.c: Fixed printing of splices.  Fixed bugs in retrieving SNP
      information.

    * stage3hr.h: Returning found score from all functions that create a
      Stage3_T object

    * stage3hr.c: Fixed computation of pair length.  Fixed search for concordant
      pairs.

    * stage1hr.h: Removed unused parameters

    * stage1hr.c: Using found score rather than found number of mismatches. 
      Fixed cases where indel pos was outside of query range.

    * spanningelt.c: Fixed typecast error

    * sam.c, sam.h: Implemented SAM output for paired-end reads

2010-02-13  twu

    * resulthr.c, resulthr.h, stage1hr.c, stage3hr.c, stage3hr.h, substring.c,
      substring.h: Changed output format to have separate columns for alignment
      information and pair information.  Standardized output routines. Three
      categories for paired-end reads: concordant, samechr, and unpaired.

2010-02-12  twu

    * sam.c, sam.h, stage1hr.c, stage3hr.c, stage3hr.h, substring.c,
      substring.h: Rearranged and cleaned up code for making substrings

2010-02-10  twu

    * gmap_process.pl.in: Removed code that removed version numbers on
      accessions

2010-02-03  twu

    * indexdb.c: Fixed string formatting

    * snpindex.c: Fixed some printing statements

    * get-genome.c: Changed call to parserange to match new interface

    * uintlist.c, uintlist.h: Added Uintlist_find command

    * table.c, tableint.c: Added stdlib.h header file

    * stage3.h: Added genome to print_alignment for splice sites scores in
      output

    * stage3.c: Allowing null gaps again

    * stage2.c: Added separate data types for a 1-dimensional matrix and
      2-dimensional matrix representation

    * stage1hr.c: Prevented splicing unless both dinucleotides are present

    * stage1.c: Removed extensions of gregions

    * sequence.c: Commented out unused functions

    * resulthr.c, resulthr.h: Renamed result type to PAIRED_AND_PAIRABLE

    * parserange.c, parserange.h: Implemented parse_query function

    * pair.c, pair.h: Added donor and acceptor scores to output

    * orderstat.c, orderstat.h: Added functions for long int

    * oligoindex.c, oligoindex.h: Added parameter oned_matrix_p

    * nr-x.h: Added ppois functions

    * nr-x.c: Added ppois functions.  Fixed bug in pbinom for zero observed
      counts.

    * list.c, list.h: Rewrote function for List_insert

    * intlist.c: Handling case of empty list better for conversion to string

    * interval.c, interval.h: Added functions for sorting intervals by position

    * indexdb.c: Added debugging statements

    * iit_plot.c: Using new interface to Genome_new

    * iit_get.c: Implemented statistics function.  Using long int for tally
      IITs. Using parserange module.

    * iit-read.h: Added function for divlength

    * iit-read.c: New implementation of sorting of intervals by position

    * gmapindex.c: Increased expected table size for number of chromosomes. 
      Stopping warning messages after 100 printed.

    * gmap.c: Added genome parameter to Stage3_print_alignment

    * get-genome.c: Using parserange module.  Implemented flanking segments.

    * genome_hr.c: Removed unused variables for certain compile-time conditions

    * genome-write.c: Stopping warning messages after 50 are printed

    * gdiag.c: Formatting changes

    * except.c: Using pointers to exception frame objects

    * dynprog.c: Reduced PAIRED_OPEN penalty from -24 to -18

    * diag.h: Added function Diag_range

    * diag.c: Reduced EXTRA_BOUNDS parameter

    * datadir.c: Fixed bug where insufficient buffer space was provided for one
      string

    * backtranslation.h: Removed void in formal parameter lists

    * backtranslation.c: Casting character array indices to ints

2010-02-02  twu

    * splicegene.c: Attempted to find genebounds on all sites

2010-02-01  twu

    * splicegene.c: Implemented finding and reporting of alternate splice forms

    * splicegene.c: Differentiated donor and acceptor sites.  Handling reverse
      strand in reverse direction.  Noting conflicts when either endpoint is
      close to an endpoint on the other.

2010-01-31  twu

    * splicegene.c: Completely new rewrite based on pairinggene.c.  Attempt to
      assign genebounds based on tally high and tally low.

2010-01-30  twu

    * splicegene.c: Using tally high and low.  Added hooks for alternate splice
      site.

    * spliceclean.c: Performing validation based on ratio of count to maxcount
      over region

2010-01-29  twu

    * spliceclean.c: Using less memory.  Attempted validation of splices based
      on envelope.

    * spliceclean.c: Initial import into CVS

    * pairingcum.c: Implemented filtering based on significance at endpoints

2010-01-28  twu

    * pairingcum.c: Added computation on floors as well as ceilings

2010-01-25  twu

    * pairinggene.c: Testing flat regions against the splice IIT to determine if
      they are intron-like.  Also adding splice edges to the original list. 
      Splices will therefore need to be filtered.

    * pairinggene.c: Reverted to previous version using only observed GSNAP
      splices

    * pairinggene.c: Improved algorithm for distinguishing between intergenic
      flats and intron flats.

    * geneeval.c: Initial import into CVS

    * pairinggene.c: Improved algorithm for detecting intergenic regions.  For
      flats, we can use a loose criterion without a level threshold, because of
      the ordering constraint.  We are using both edges from flats and from
      gsnap splices.  We added a procedure for distinguishing between intergenic
      regions and long exons based on the counts_tally.

2010-01-24  twu

    * pairinggene.c: Using iblocks instead of nblocks to control exon segments,
      so essentially all combinations of introns are considered

    * pairinggene.c: Reading in edges from the splices_iit file, presumably
      after filtering

    * pairinggene.c: Attempt to get more edges by looking up splice edges when a
      flat does not yield clean ones

    * cappaths.c: Added analysis of slopes and attempt to find a flat region

    * pairinggene.c: Fixed bug with negative unsigned int

    * pairinggene.c: For objective function, using the count of observed splices
      from GSNAP.

    * pairinggene.c: Eliminated concept of an eblock (or exon block).  Trying
      all intron combinations, since intergenic blocks are sufficient to contain
      the search space.

    * pairinggene.c: Fixed bug where an up was a terminal, which hid the
      downstream down. Added some debugging code.

    * pairinggene.c: Added checking of edges based on genome splice sites

    * pairinggene.c: Made intergenic regions go between flats, and increased the
      length requirement.  Using auto_exonlength for adding exons.

    * pairinggene.c: Restricted intergenic blocks to be between adjacent down to
      up edges

    * pairinggene.c: Reordered procedures to minimize memory usage

    * pairinggene.c: Implemented a new algorithm for constructing the graph,
      using various blocks and building the graph in stages

    * tally.c: Added functions for the median and for adding a runlength to an
      existing count

2010-01-23  twu

    * pairinggene.c: Fixed error in formula for computing down edge

    * splicing-score.c: Initial import into CVS

    * pairingcum.c: Fixed a bug where the cum was being put at the wrong
      position, causing the down edge to be 1 position too small.

    * pairinggene.c: Implemented trimming of ends

    * pairinggene.c: Implemented a new test for intergenic regions based on
      finding a long flat region in the counts, which should not happen in an
      exon.

    * pairinggene.c: Added a test for sharpness based on an area ratio

    * pairinggene.c: Fixed dynamic programming procedure

    * pairinggene.c: Keeping a min-max test on whether introns are acceptable,
      but using mean levels of introns and exons for scoring.

    * pairinggene.c: Using zero-based check on pairingfull to test for
      intergenic regions. Added a greedy addition of introns.

    * pairinggene.c: Attempt to use pairing full information and gradual
      downsloping to find UTRs.

2010-01-22  twu

    * pairinggene.c: Using intron level minus exon level to determine edges with
      greater sensitivity.  Implemented scores as double, rather than int,
      although currently using mincount and maxcount.

    * pairinggene.c: Changed from onepath dynamic programming to multiple paths
      with terminals.  Using explicit objects for exons and introns.

    * pairinggene.c: Implemented finding of initial ups

    * pairinggene.c: Initial import into CVS.  Dynamic programming based on
      splicegene.c

2010-01-21  twu

    * spliceeval.c: Implemented computation of reception zone and init/term
      status of splice sites

2010-01-20  twu

    * gsnap.c, stage1hr.c, stage3hr.c, stage3hr.h: Implemented trimming of ends
      of sequences

    * stage1hr.c: Allowing GC-AG splicing as well as GT-AG.  Using a sliding
      scale of splice site probabilities based on alignment support.

    * stage3hr.c, stage3hr.h: Added code for using a geneprob IIT file to assist
      in finding splice sites

    * gsnap.c: Added a -g flag for using a geneprob IIT file to assist in
      finding splice sites

    * tally.c, tally.h: Added function Tally_mean()

    * tallyflats.c: Analyzing both fwd and rev tallies and storing in a single
      IIT file

    * splicegene.c: Using variability in pairing.unk rather than tallyflats to
      determine intragenic regions

    * spliceeval.c: Computing slopes internally, rather than relying upon
      pairingflats

    * pairingflats.c: Added median smoothing

    * lgamma.c, lgamma.h: Added ppois function

2010-01-19  twu

    * genecompare.c: Initial import into CVS

    * geneeval.c: Changed name to genecompare.c

    * geneeval.c: Added ability to handle comment lines in gene

2010-01-18  twu

    * lgamma.c, lgamma.h, random.c, random.h: Initial import into CVS

    * tally.c, tally.h: Added functions

    * geneeval.c: Printing goldstandard information in comment line

    * cappaths.c: Using pairing fwd and rev iits

    * spliceeval.c: Removed unused code.  Added procedures for merging
      pairingflats.

    * splicegene.c: Added a check for validity tally flats by looking at tally
      information

    * tallyflats.c: Keeping track separately of zero regions and flat regions. 
      Changed parameters.

    * gsnap_splices.c: Removed unused code

    * gsnap_tally.c: Added flags for picking specific strands and for forced
      trimming at ends

    * pairingstrand.c: Initial import into CVS

    * pairingflats.c: Storing regions and then printing them.  Have three
      states, for zero, flat, and bumpy.

    * pairingcum.c: Print all run lengths, even those with level 0

2010-01-17  twu

    * splicegene.c: Using tallyflats to determine boundaries for donor to
      acceptor

    * splicegene.c: Removed donorprob and acceptorprob.  Recording and printing
      all extra information from each splice.  Removed unused paths code.

    * tallyflats.c: Initial import into CVS

    * pairingflats.c: Initial import into CVS

2010-01-16  twu

    * spliceeval.c: Added a intron_transition buffer at the ends of each intron,
      where level changes are ignored.

    * splicegene.c: Using a gap test on pairing IITs to determine whether to
      link donor to previous acceptor.

    * spliceeval.c: Now computing statistics based on edge finding using Poisson
      model and number of consecutive zeroes.

2010-01-15  twu

    * spliceeval.c: Printing mean pairing levels of each splice

2010-01-13  twu

    * tallyhmm.c: Integrated parserange and tally modules.  Removed hints. 
      Added edge detection.  Simplified state model.

    * tally.c, tally.h: Implemented an exon test and a scanning solution for
      pairing information.

    * splicegene.c: Using an exon test to determine if we can join splices

2010-01-12  twu

    * littleendian.c: Initial import into CVS

    * bigendian.c: Created distinct function names for 64-bit procedures.  Added
      procedures for OUTPUT_BIGENDIAN.  Fixed compiler warning messages about
      truncating unsigned ints to chars.

    * bigendian.h: Created distinct function names for 64-bit procedures

    * geneeval.c: Initial import into CVS

    * cappaths.c: Initial import into CVS

2010-01-09  twu

    * tally.c, tally.h: Initial import into CVS

    * pairingcum.c: Initial import into CVS

2010-01-07  twu

    * splicegene.c: Computing exonbounds for each donor

2010-01-05  twu

    * tallyhmm.c: Using edges rather than edgepairs

    * parserange.c, parserange.h, spliceeval.c: Initial import into CVS

    * splicegene.c: Added iterative method to remove conflicting splices

2010-01-04  twu

    * splicegene.c: Computing one path over forward and one path over reverse
      strands, instead of collecting terminals

2010-01-03  twu

    * splicegene.c: Added reading and printing of probability values.  Added
      debugging statements for Paths_remove_dominated

2009-12-29  twu

    * stage1hr.c, stage1hr.h: Added separate stage for half introns.  Added hook
      for geneprob_iit eval.

2009-12-22  twu

    * splicegene.c: Initial import into CVS

    * gsnap_splices.c: Added command for dumping graph

    * gsnap.c, stage3hr.h: Added ability to print output in SAM format

    * stage3hr.c: Added ability to print output in SAM format.  Fixed bug in
      identifying pairing.

2009-12-17  twu

    * exonscan.c: Added function for writing edges

2009-12-10  twu

    * stage1hr.c: Fixed bug in insertion at end of query sequence.  Removed
      requirement for HALF_INTRON_END_LENGTH.  Made separate done levels for 5'
      and 3' ends in paired alignment.

2009-12-04  twu

    * gsnap_tally.c: Added ability to run on forward or reverse complement
      strand only

    * gsnap_tally.c: Added ability to run on all chromosomes

2009-11-25  twu

    * stage1hr.h: Added new masktypes

    * stage1hr.c: Created a single procedure for omit_oligos.  Altered xfirst
      and xlast calculation.

2009-11-21  twu

    * stage1hr.c: Made slight efficiency improvements in accessing floor->score
      array

2009-11-18  twu

    * stage2.c: Combined features of versions 235 and 237 for both GMAP and PMAP
      to work.

    * stage2.h: Updated interface

    * stage2.c: Fixed bug where processed was updated too soon

    * pairpool.c, pairpool.h: Added function Pairpool_transfer_n

    * orderstat.c: Commented out debugging function

    * gmap.c, oligoindex.c: Restored variables specific to gmap

    * oligoindex.c, oligoindex.h: Added major and minor oligoindices

    * gmap.c: Added Oligoindex_clear_inquery in all cases

    * stage2.c: Restored stage 2 to working condition

2009-11-06  twu

    * maxent.c, maxent.h: Added functions for reporting log odds scores

    * littleendian.h: Added interface for WRITE_UINT

    * list.c: Added check for NULL in List_truncate

    * iit_fetch.c: Added flag for computing cumulative total of an iit.  Removed
      unused variables.

    * iit_get.c: Added flags for computing mean and overall total of tally iit.

2009-11-04  twu

    * add_rpk.c: Initial import into CVS

2009-10-30  twu

    * exonscan.c, hint.c, hint.h, tallyhmm.c: Using edgepair and splice
      information in transitions, and tally and pairing information in
      emissions.  Providing separate training information for transitions and
      emissions.

2009-10-27  twu

    * hint.c, hint.h: Initial import into CVS

2009-10-26  twu

    * stage3.c: Removed unused variables

2009-10-14  twu

    * pair.c: Fixed bug in PSL output

2009-10-08  twu

    * exonscan.c, tallyhmm.c: Multiple changes.  Version used for rGASP
      submission 2.

2009-10-03  twu

    * gsnap.c, stage1hr.c, stage1hr.h: Allowing user to specify max mismatches
      as a fraction of read length

    * stage3hr.c, stage3hr.h: Made printing of score and insert length more
      consistent.  Made filtering of paired hits by score and duplicates
      consistent with filtering of single hits.

    * resulthr.c, resulthr.h: Removed Pairedresult_T type

2009-10-02  twu

    * stage3hr.c: Made printing of insert length consistent for paired-end reads

    * gsnap.c, stage1hr.c, stage1hr.h: Added parameters for minimum end matches
      for local and distant splicing

    * spanningelt.c: Made intersection procedures remove duplicates

    * snpindex.c: Formatting change

    * gsnap.c: Added parameters for second part of novel splicing and half
      intron minimum support

    * genome_hr.c, genome_hr.h: Returning ncolordiffs

    * gbuffer.h: Added procedures for allocing and freeing contents

    * blackboard.c: Fixed problem with hanging when using -q batch feature

    * stage1hr.c: Made min_end_matches work on middle indels

    * stage3hr.h: Added printing of colordiffs and score.

    * stage3hr.c: Added printing of colordiffs and score.  Fixed problem with
      printing splice on second, inverted read.

2009-10-01  twu

    * stage1hr.h: Added half_intron_min_support parameter.

    * stage1hr.c: Added half_intron_min_support parameter.  Fixed bug where
      deletion indels were mixed up with colordiffs.  Fixed bug where splice
      junctions were evaluated past beginning of genome.

2009-09-22  twu

    * tallyhmm.c: Uses hints from splices iit and altexons iit files.  Added
      median filtering.

2009-09-21  twu

    * exonscan.c: Added ability to get splice sites from splices iit and
      altexons iit file

    * tallyhmm.c: Adding information from splices_iit and altexons_iit files

    * tallyhmm.c: Implemented two-strand solution as default, with ability to
      force 1-strand solution.  Provided hooks for splices and altexons iit
      files.

    * gsnap_tally.c: Added flag for handling 2-base encoded GSNAP output

    * gsnap_splices.c: Eliminated printing of overlapping paths.

    * gsnap_splices.c: Fixed various bugs

2009-09-20  twu

    * gsnap_splices.c: Added ability to find alternate skipped or extra exons at
      each acceptor.

    * gsnap_splices.c: Initial import into CVS

    * tallyhmm.c: Implemented faster way of computing running percentiles

    * tallyhmm.c: Implemented ability to read lambda parameters from a file. 
      Attempted to add a SINGLE exon state and allow transitions from NON to
      SINGLE even when no edges were present.

    * gsnap_tally.c: Had program determine own trimming based on scoring matches
      and mismatches from the ends.

2009-09-19  twu

    * iit_get.c: Added -M flag for reporting mean of a region in a tally IIT
      file.

    * gsnap_splicing.pl: Initial import into CVS

    * exonscan.c: Printing information about sharp edges

2009-09-18  twu

    * exonscan.c: Fixed bug in recording history.  Added hook for allowing GC
      donor site.  Added splice model probability to name of splice site.

    * tallyhmm.c: Added flag for printing lambdas

    * tallyhmm.c: Added ability to handle multiple sites at the same position,
      by making a mixture of transition tables.  Wrote down transition table
      explicitly.

    * tallyhmm.c: Added smoothing to estimation of lambdas.  Added routines for
      printing genes.

    * tallyhmm.c: Consolidated separate fivefwd, fiverev, threefwd, and threerev
      sites back into up and down sites.

    * tallyhmm.c: Working version of Viterbi algorithm, but still need output of
      segments.

2009-09-17  twu

    * tallyhmm.c: Initial import into CVS

    * segue.c: Attempt to use objective function based on sum of counts,
      relative to threshold.

    * segue.c: Reduced states to be much simpler, where only one strand can be
      coding at a time.

    * segue.c: Added functions for printing genes by exons.

    * segue.c: Fixed lookback lengths between sites.  Added flag for specifying
      knownsites iit.

2009-09-16  twu

    * segue.c: Optimizing using mean square error.  Simplified code for
      traversing graph.

    * segue.c: Fixed bug with computing cumulative gammln.  Version works on
      test data set.

    * segue.c: Complete rewrite to handle both strands simultaneously

2009-09-15  twu

    * exonscan.c: Using LR test to take all acceptable gene ends.  Using
      separate end bounds for finding gene ends.

    * exonscan.c: Using both edge algorithms, stepfunction and linear fit.  Made
      different objects for Edge_T and Diff_T.  Using goodness-of-fit instead of
      xintercept for finding gene ends.

    * exonscan.c: No longer using bootstrap method, but relying on testing of
      sites using goodness of fit.  Evaluating missing edges for both ups and
      downs based only on greedy splice sites, and then performing both testing
      of sites and tracing.

    * exonscan.c: Using x-intercepts instead of step function to detect edges

    * exonscan.c: Added hooks for a history-recording mechanism.

2009-09-14  twu

    * exonscan.c: Fixed some bugs with array indices.  Added flags for
      debugging.

    * segue.c: Using splice model scores to evaluate introns

    * exonscan.c: Made numerous tweaks to the scanning algorithm.  Incorporated
      finding of ends into scanning, using x-intercepts.  Always finding ends
      when an edge with a splice lacks a match.

2009-09-13  twu

    * exonscan.c: Implemented two-phase method on stepfunction results, first
      picking steps with highest probabilities, and then bootstrapping
      neighboring steps.

    * exonscan.c: Allowed best prob again for stepfunction results.  Fixed bug
      in code in scanning procedure.  Distinguishing between donor and acceptor
      types for matching edges.

    * exonscan.c: Large numbers of changes.  Implemented scanning method,
      testing at positions with good splice site scores, for finding other ends.
       Using adjacency information to decide whether to scan.  Implemented
      testing procedures for ends.  Removed unused code.

    * exonscan.c: Implemented a Gibbs sampling method to speed up identification
      of changepoint, but reverted back to testing goodness of fit exhaustively
      over a limited range.

    * exonscan.c: Implemented a strategy of finding edges only for those that
      appear to be missing.  Using changepoint to find those edges, with
      maximizing goodness of fit.

2009-09-12  twu

    * exonscan.c: Made reasonably good step function based on log scale.

    * exonscan.c: Implemented rampfunction as anchored to a step result.

    * exonscan.c: Implemented a ramp detector using linear fitting, but too
      sensitive

2009-09-11  twu

    * exonscan.c: Using a cumulative tally to speed up computation of segment
      means

    * exonscan.c: Added hooks for a redo changepoint step

    * segue.c: Implemented traversal of minus strand.  Implemented reading of
      splicepairs.

    * segue.c: Implemented scoring of exons using log likelihood.  Implemented
      dynamic programming and printing of paths.

    * exonscan.c: Added splice sites based on analyzing local data, using
      methodology from splicescan.

2009-09-10  twu

    * splicescan.c: Implemented posterior log odds calculations.

    * exonscan.c: Added filtering of other ends.  Cleaned up unused code.

    * exonscan.c: Made output format consistent with that of splicescan

    * segue.c: Initial import into CVS

    * exonscan.c: Added finding of nearest good splice sites.

    * exonscan.c: Method based on finding exons.  However, will need to switch
      to a dynamic programming method.

    * exonscan.c: Initial import into CVS

2009-09-09  twu

    * splicescan.c: Added options for separate output files, training mode only,
      and random output.

2009-09-08  twu

    * stage1hr.c: Fixed algorithm for end indels.  Provided hooks for 2-base
      encoding.

    * splicescan.c: Fixed calculations

2009-09-07  twu

    * splicescan.c: Added ability to use a known splice site IIT file

2009-09-06  twu

    * splicescan.c: Initial import into CVS

2009-09-03  twu

    * stage1hr.c: Fixed bug where singlehits5 and singlehits3 not being
      initialized. Set limits on local splicing hits and attempts.

2009-09-02  twu

    * stage3.c, stage3.h: Allowing a re-do of stage 2 for bad exons in middle

2009-08-31  twu

    * gsnap.c: Using single-end hits already computed when paired alignments not
      found.

    * gmap.c: Added minor oligoindices

    * changepoint.c: Added comment

    * stage3hr.c, stage3hr.h: Introduced faster pair-up procedure.  Sorting
      paired-end solutions by score.

    * stage1hr.h: For paired-end alignment, returning single-end hits.

    * stage1hr.c: Fixes to paired-end alignment: (1) stopping when excessive
      splicing hits or paired hits found, (2) using new pair_up procedure, (3)
      fixed pairing code, (4) returning single-end hits.  For dibase alignment,
      skipping spanning set.

    * iit_store.c: Using total label and annotation lengths to decide if format
      should use 8-byte quantities.

    * iit_get.c: Added flag to explicitly indicate coordinate is a label.  Added
      flag to print all zeroes in tally mode.

2009-08-29  twu

    * stage3hr.c, stage3hr.h: Taking a splicing penalty for all splices.  Added
      code for marking dibase mismatches.

    * stage1hr.c, stage1hr.h: Made procedure work for 2-base encoded reads

    * oligo.c: Added code to read 2-base encoded queries

    * reader.c, reader.h: Added field to indicate if Reader_T is for dibase
      queries

    * littleendian.h: Added code for handling 8-byte quantities

    * iit-read.c, iit-write.c, iitdef.h: Added version 4 format, which uses
      8-byte quantities to store label pointers and annotation pointers.

    * gsnap_tally.c: Added trimming on left and right

    * gsnap.c: Added flag for 2-base mode.  Added local splice penalty.

    * genome_hr.c, genome_hr.h: Provided hooks for dibase procedures

    * genome.c, genome.h: Provided exposure to uncompress_mmap directly from
      blocks, needed by dibase procedures.

    * dibase.c, dibase.h: Initial import into CVS

    * compress.c: Added code for compressing 2-base color genomes, but not
      necessary.

    * bigendian.c, bigendian.h: Added functions for 8-byte quantities

    * access.c: Changed types in debugging statements for off_t

2009-08-21  twu

    * oligo.c: If state is invalid, skipping forward until a valid state is
      found

    * sequence.h: Added FILE * parameter for oneline outputs.

    * sequence.c: Added FILE * parameter for oneline outputs.  Added hooks for
      skipping dashes, but appears to be buggy.

    * gsnap.c: Added flag to turn off output (quiet) if too many are found.

    * stage1hr.c: Classified half introns as long distance

    * stage1hr.c: Moved half introns after distant splicing.  Set fast_level to
      be 1, if user hasn't already specified it.

2009-08-19  twu

    * gmap_setup.pl.in: Using "use warnings" instead of -w flag

    * stage3hr.h: Added quiet-if-excessive flag.

    * stage3hr.c: Fixed problem where total_nmismatches not being set for
      indels. Making printing of excessive paths consistent with single-end
      behavior.

    * stage1hr.c: Fixed problem where pair_up function was creating circular
      loops by calling List_append more than once.

    * list.c, list.h: Added function List_dump

2009-08-17  twu

    * gsnap-to-iit.c, gsnap_tally.c: Renamed gsnap-to-iit.c to gsnap_tally.c

    * stage1hr.c: Fixed bug where program tried to find deletions at end
      extending past coordinate 0U.

2009-08-14  twu

    * stage3hr.c: Revised paired-end output to show npaths and indication of
      paired or unpaired.

    * bigendian.c, gsnap.c, mem.c: Fixed compiler warnings from -Wall

    * iit-read.c: Fixed compiler warnings from -Wall

    * iit-read.c: Fixed bug where divno not checking the last div.

    * sequence.h: Added a function to the interface

    * sequence.c: Fixed compiler warnings from -Wall

    * genome.c: Fixed compiler warnings from -Wall

    * genome.c: Using SNP_FLAGS for getting alternate genome

    * indexdb.c: Fixed compiler warnings from -Wall

    * indexdb.c, indexdb.h: Added procedure for reading with diagterm and
      sizelimit

    * indexdb_hr.c: Fixed compiler warnings from -Wall

    * indexdb_hr.c: Providing information about nmerged

    * maxent.h: Defined a variable to specify maximum storage required

    * maxent.c: Added code for computing splices from revcomp sequences

    * cmet.c: Added a missing type

    * genome_hr.c, stage3hr.c: Fixed compiler warnings from -Wall.

    * stage1hr.h: Added Floors_free() to interface.

    * stage1hr.c: Fixed bug where unsigned int * assigned to signed int *. 
      Fixed compiler warnings from -Wall.

2009-08-04  twu

    * list.c, list.h: Added function List_truncate

    * pair.c, pair.h: Added function Pair_fracidentity_max

    * stage3.h: Added some interfaces

    * stage3.c: Forward/reverse decision based on local scoring around each
      intron. Distal/medial step now truncates distal exon at best point, and
      iterates.  When edges cross in changepoint step, now chopping shortest
      end.

    * stage2.c: Allowing rightward and leftward shifts in finding shifted
      canonical introns.  Fixed bug in scoring for reverse introns.  Adjusted
      scoring for canonical introns.

    * stage1.h: Imposing a size limit on position lists, so large ones are
      ignored.

    * stage1.c: Imposing a size limit on position lists, so large ones are
      ignored. Finding best solutions for each level of numbers of exons.

2009-07-30  twu

    * stage3.c: Using existing pairs/path in end exons, rather than recomputing
      in distal/medial calculation.  Moved distal/medial after changepoint.

    * stage3.h: Moved distal/medial calculation to be after changepoint

    * README: Added information about processing reads from bisulfite-treated
      DNA

    * gsnap.c, stage3hr.c, stage3hr.h: Added printing of SNP information

    * stage1hr.c: Making correct decision on when to find splice ends for half
      introns

    * gmap.c: Added indexdb_size_threshold.  Made -9 flag do checking, but not
      print full diagnostics.

    * dynprog.c: Made gap penalties at ends the same as for middle

    * diag.c: Added debugging statement

    * Makefile.gsnaptoo.am: Included snpindex

2009-07-29  twu

    * README: Added information about providing information to GSNAP about known
      splice sites and SNPs

    * gsnap.c: Increased default max_middle_insertions from 6 to 9

    * stage1hr.c: Checking entire query for nsnpdiffs when snp_blocks is present

2009-07-07  twu

    * stage1.c: In find_best_path, calculating median of segments and requiring
      that medians ascend or descend.  Adjusting scores for overlaps between
      segments.

2009-07-01  twu

    * gsnap.c, stage1hr.c, stage1hr.h: Added separate probability thresholds for
      local and distant splicing

    * stage1hr.c, stage1hr.h: Re-implemented paired-end alignment

2009-06-30  twu

    * gsnap.c, stage1hr.c, stage1hr.h, stage3hr.c, stage3hr.h: Introduced a
      penalty for distant splicing

    * gsnap.c: Introduced masktype

    * stage3hr.c, stage3hr.h: Introduced chimera_prob field for Stage3_T object.
       Increased distantsplicing penalty from 1 to 2.

2009-06-29  twu

    * stage1hr.c: For novel splice sites in local splicing, requiring canonical
      dinucleotides plus sufficient probability score in either donor or
      acceptor.  Fixed bug in recognizing plus antisense splicing. Restricted
      half introns to known splice sites.

    * stage1hr.h: Added masktype

    * stage1hr.c: Added masktype.  Added back half introns.

    * stage1hr.c: Merged finding of distant splice pairs using known or novel
      splice sites.

2009-06-28  twu

    * stage1hr.c: Consolidated finding of splice pairs using known or novel
      splice sites.  Making a single call to retrieve genomic segment for local
      splicing.

2009-06-26  twu

    * stage1hr.c: Removed unused tournament and middle_indel_p code

    * stage1hr.c: Using floors for novel distant splicing

    * stage1hr.c: Using floors for finding novel local splicing

    * stage3hr.h: Added field for paired_up

    * stage3hr.c: Added field for paired_up.  Removing duplicates that differ in
      indel gap length.

2009-06-25  twu

    * stage1hr.h: Implemented paired-end alignment

    * stage1hr.c: Implemented paired-end alignment.  Fixed computation of floors
      for middle indels.  Fixed computation of find_segments_all for novel
      splicing.

2009-06-18  twu

    * Makefile.dna.am, Makefile.gsnaptoo.am: Removed segmentpool files from
      Makefile.am

    * gsnap.c, segmentpool.c, segmentpool.h, stage1hr.c, stage1hr.h: Removed all
      references to segmentpool

    * stage1hr.c: Removed code for Segmentpool_T

    * segmentpool.c, segmentpool.h: Removed some fields

    * stage1hr.c: Fixed bug resulting from resetting nmismatches_all
      unnecessarily

    * stage3.c: Fixed bug in computing goodness_rev

2009-06-09  twu

    * dynprog.c: Increased penalties for mismatch at ends and for opening indels
      around introns.

    * gsnap.c: Increased default definition of shortsplicedist from 200000 to
      500000.

    * stage1hr.c: Fixed bugs in dealing with empty plus_segments or
      minus_segments.

2009-06-08  twu

    * stage1hr.c: Created variables for faster retrieval of floor scores. 
      Reporting half introns only if both local and distant known splicing fail.

    * stage1hr.c: Fixed computation of floors, floor_xfirst, and floor_xlast

2009-06-07  twu

    * stage1.c: Fixed bug in debugging variables

    * stage1hr.c: Implemented code that does not use Segmentpool_T object

    * pair.c: Treating ambiguous characters as mismatches for computing
      matchscores

    * gmap.c: Proving an option for splicesites output.  Allowing use of a SNP
      genome version.

    * dynprog.c: Giving ambiguous characters a negative score in GMAP, but not
      PMAP

    * stage3.c: Computing direction using just canonical introns and indel
      openings

    * stage1hr.c: Removed middle_indel_p field in Segment_T object

2009-06-06  twu

    * segmentpool.c, segmentpool.h, stage1hr.c: Removed floor from the
      Segmentpool_T object

    * segmentpool.c, segmentpool.h: Added a procedure for pushing without any
      floors

    * stage3hr.c: Added a penalty for distant splicing

    * stage1hr.c: Performing local and distant splicing in separate levels

2009-06-05  twu

    * pair.c, pair.h, stage3.h: Added a function for printing splicesites

    * stage3.c: Reinstated checking of goodness to determine direction, but now
      considering just canonical introns and indels.  Added a final call to
      assign_gap_types after trimming.

    * stage1hr.c: Small improvements to code for binary_search and dual_search

2009-06-04  twu

    * stage1hr.c: Made improvements in code for dual_search by removing lowi and
      lowj and updating pointers for positions1 and positions2.

    * stage1hr.c: Using single splicesites list for novel local splicing

    * stage1hr.c: Implemented slightly more efficient code for dual_search.

    * gsnap.c, stage1hr.c, stage1hr.h: Improved speed of finding known
      splicesites by doing one dual_search for all splice types.

2009-06-03  twu

    * stage1hr.c: Revised dual_search procedure to handle overlapping
      splicesites and positions correctly.

    * genome_hr.c: Fixed bug in handling pos5 for Genome_mismatches_left.

    * stage1hr.c: Fixed dual_search so it handles all overlapping splicesites
      and intervals

2009-06-02  twu

    * stage1hr.c: Implemented faster code for finding novel splice ends

    * stage1hr.c: Changed Floors_T to be just a single set of scores.  Using
      floors to prune known splice ends.

2009-06-01  twu

    * stage3hr.c: Removed genomiclength from Stage3_T object.  Using chrnum of 0
      to indicate distant splicing.

    * stage1hr.c: Removed oldindels code

2009-05-30  twu

    * stage1hr.c: Using compressed nucleotide-level alignment for end indels.
      Preventing firstbound and lastbound from going past read boundaries.

2009-05-29  twu

    * stage1hr.c: Fixed assignment of shortdistancep in splice pairs.  Fixed
      assignments of prior penalties.

2009-05-25  twu

    * stage3hr.c: Eliminating duplicates where genomicstart and genomicend are
      equal

    * stage1hr.c: Excluding splice positions at ends in novel local splicing

    * genome_hr.c: Fixed bug in mismatches_right_snps where startdiscard was not
      being applied

    * stage3hr.h: Added genomicend to Stage3_T object

    * stage3hr.c: Made removal of duplicates work for splicing by adding
      genomicend to Stage3_T object.  Made removal of duplicate splice ends
      faster.

    * stage1hr.c: Eliminating splice ends where splice position occurs too close
      to the beginning.  Fixed triage to treat novel splicing and known splicing
      equally, and to give preferences to substitutions over indels over
      splicing when hits are found at each type.

2009-05-24  twu

    * gsnap.c: Passing only one splice prob to stage 1

    * stage3hr.c: Lookin up splicesites iit only if site was known

    * stage1hr.h: Passing only one splice prob.

    * stage1hr.c: Implemented finding of novel distant splice pairs.  Fixed bug
      in dual_search.

2009-05-23  twu

    * stage1hr.c: Implemented novel local splicing, which includes known splice
      sites

    * indexdb_hr.c, indexdb_hr.h, spanningelt.c, stage1hr.c: Implemented gallop
      search

2009-05-22  twu

    * stage1hr.c, stage1hr.h: Implemented a new flow through the different
      algorithms.

    * gsnap.c: Made shortsplicedist an unsigned int.  Changed name of spliceprob
      to minspliceprob.

    * stage3hr.c: Using total number of mismatches to score spliced reads

    * stage1hr.c: Implemented dual intersection method for finding known splice
      sites

    * genome_hr.c, genome_hr.h: Added substring parameters to
      Genome_count_mismatches_limit

2009-05-21  twu

    * stage1hr.h: Changed name from spliceprob to minspliceprob

    * stage1hr.c: Moved mismatches, indels, and splicing into a single
      procedure.  Using firstbound and lastbound for half introns.  Added
      provisions for a stretch procedure which uses a spanning set with
      nrequired = 1.

    * stage2.c: Modified debugging output

    * oligoindex.c: Removed unnecessary clearing step

    * gmap.c: Fixed bug where program failed to clear oligoindices after a poor
      or repetitive sequence.

2009-05-18  twu

    * genome_hr.c, gsnap.c: Enabled methylation mode on snp databases

    * indexdb.c: Improved pre-loading messages for snp databases

    * snpindex.c: Changed naming convention for snp databases

    * stage1hr.c: Fixed bug in calling new substitution with fixed value for
      cmetp.

    * cmetindex.c: Made the program work for snp databases

2009-05-17  twu

    * stage3hr.c, stage3hr.h: Stage3 now handles all marking of mismatches. 
      Implemented marking of methylation for indels.

    * stage1hr.c: Moved functions for counting and marking mismatches to
      stage3hr.c

    * gsnap.c: Removed call to specify methylation printing

    * genome.c, genome.h: Removed function for signaling methylation printing

2009-05-16  twu

    * stage1hr.h: Providing second indexdb and size_threshold to procedures.

    * stage1hr.c: Omitting frequent 12-mers in the middle and poly-AT 12-mers at
      the ends.  Performing another round without omitting 12-mers if necessary.
      Added first implementation for handling methylation data.

    * oligo.c, oligo.h: Changed definition of repetitive to mean only shifts of
      1, 2, or 3 nucleotides.  Added procedure to mark frequent oligos, but not
      used.

    * indexdb.c, indexdb.h: Added procedure to compute indexdb mean size.

    * gsnap.c: Added flag to deal with methylation data.  Passing size_threshold
      to stage 1 procedure.

    * genome_hr.c, genome_hr.h: Added procedures to deal with methylation data.

    * cmetindex.c: Creating two indexdb's, one for plus strand and one for minus
      strand. Moved conversion tables to cmet.c.  Removed conversion of genome.

2009-05-14  twu

    * cmet.c, cmet.h: Initial import into CVS

    * cmetindex.c: Initial import into CVS.  Implements reverse genome.

2009-05-13  twu

    * iit-read.c: Added warning for use of IIT_string_from_position

    * stage2.c: Fixed bug in using wrong indexsize for a given oligoindex

    * oligoindex.c, oligoindex.h: Added a procedure to return indexsize

    * get-genome.c: Fixed printing of coordinates

    * stage1hr.c, stage1hr.h: Changed polyat to omitted.  Created separate
      procedure to mark omitted, which omits repetitive oligos except at the
      ends, except for poly-AT at the ends.

    * stage3hr.c, stage3hr.h: Made removal of duplicates faster

    * stage1hr.c, stage1hr.h: Added ability to handle methylation data.  Using
      simplified version of Genome_fill_buffer that does not check chromosome
      bounds.

    * snpindex.c: Changed name of SNP genome file from genome to genomecomp.

    * genome.c, genome.h, gsnap.c: Added ability to handle methylation data

2009-05-11  twu

    * gsnap.c: Made min_end_matches a user-adjustable parameter.  Made
      maxchimerapaths the same as maxpaths.

    * stage1hr.h: Made min_end_matches a user-adjustable parameter

    * stage1hr.c: Fixed computation of end indels so it finds maximal length
      from end. Made min_end_matches a user-adjustable parameter.  Removed
      allocation of polyat outside of 0..query_lastpos.

2009-05-10  twu

    * stage1hr.c: Fixed bug in turning off end indels.  Implemented faster
      method for computing firstbound and lastbound for xfirst and xlast
      computation.

2009-05-08  twu

    * stage3hr.c: Fixed sorting so it uses hittype, and not indel separation

    * oligo.c, oligo.h: Added function Oligo_mark_repetitive

    * stage1hr.c: Fixed computations of xfirst and xlast in presence of
      repetitive oligos.  Increased speed of computing nmismatches_long in end
      indels.

    * genome_hr.c, genome_hr.h: Modified Genome_mismatches_left and
      Genome_mismatches_right to take pos5 and pos3 as arguments.

    * stage1hr.c: Fixed floor formulas again.  Generalized idea of polyat to
      mean all repetitive oligos.  For middle indels, computing middle floor
      explicitly when polyat oligos are present.  For end indels, computing
      firstbound and lastbound to handle cases with polyat oligos at the ends. 
      Reordered compute_end_indels to starting computing from 1 deletion.

2009-05-06  twu

    * spanningelt.c, spanningelt.h, stage1hr.c: Removed unused code

    * spanningelt.c, spanningelt.h: Added code for spanning set computation of
      end indels, but not used.

    * gsnap.c, stage1hr.h: Added floors_array

    * stage1hr.c: Made changes to floors: (1) Made floor_middle formula handle
      middle indels, (2) Created Floors_T object to precompute floors and handle
      polyat oligomers.  Fixed computation of end indels, now can handle
      mismatches.  Fixed bug in computing max_indel_sep.  Added code for
      possible fast computation of end indels, but not used.

2009-05-05  twu

    * stage1hr.c: Replaced arithmetic expression for smallesti with if
      statement.

    * stage3hr.c: Changed sorting order so non-indel alignments rank higher than
      indel alignments.

    * stage1hr.c: Computing floors between two segments in finding middle indels

    * stage1hr.c: Added limit to number of middle indels found

2009-05-01  twu

    * stage1hr.c: Implemented incremental execution of fast mismatch algorithm.

    * stage1hr.c: Fixed setting of indel separation in triage.  Prevented
      boostpos from being a compoundpos.  Turned off tournament tree, since it
      was causing a crash.

    * spanningelt.c: Fixed bug occurring when all spanningelts have no positions

2009-04-30  twu

    * stage1hr.c: Fixed bug with setting mismatch levels for suboptimal results.
      Solving all multiple_mm solutions in a single run.

    * stage3hr.c: Fixed bugs in Stage3_remove_duplicates

    * stage3hr.h: Added function for counting number of optimal hits.

    * stage3hr.c: Fixed problem with undesired removal of second splice site
      within a given genomic region.  Added function for counting number of
      optimal hits.

    * stage1hr.c: Removed code for REFINE_MISSES.  Added back missing statement
      setting duplicates_possible_p.

    * gsnap.c: Removed minlevel and maxlevel and replaced with suboptimal
      mismatches. Made sort always happen.  Changed flag name from invertp to
      circular-output.

    * stage1hr.c, stage3hr.c, stage3hr.h: Using score in sorting procedure. 
      Added provision for minlevel in Stage3_optimal_score.

    * stage1hr.c, stage1hr.h: Refined miss_querypos5 and miss_querypos3
      boundaries.  Implemented triage for minlevel_mismatches and
      maxlevel_mismatches instead of minlevel and maxlevel, and accounted for
      fast mismatch algorithm.

2009-04-27  twu

    * gmapindex.c: Allowing contigs with a single nucleotide

    * spanningelt.c, spanningelt.h: Removed boosterset idea and returning only
      the minscore within the spanningset.

    * stage1hr.c: Removed all recursion from identify_multimiss_iter.  Added
      feature to modify spanningset list and update a counter when a spanningelt
      is empty.  Removed boosterset idea and restored a single boostpos.
      Correctly implemented fast multimiss algorithm.

2009-04-26  twu

    * spanningelt.c, spanningelt.h, stage1hr.c: Created separate scores for
      candidate generation and for pruning. Implemented idea of a boosterset,
      instead of a single boostpos, but seems to be slower.

    * Makefile.dna.am, Makefile.gsnaptoo.am, indexdb_hr.c, indexdb_hr.h,
      spanningelt.c, spanningelt.h, stage1hr.c: Created formal Spanningelt_T
      object and rewrote algorithms to use it.

2009-04-24  twu

    * stage1hr.c: Preliminary implementation of a multimiss algorithm
      generalized from the onemiss algorithm.

2009-04-23  twu

    * stage3hr.c: Fixed bug that resulted in duplicate outputs

    * stage1hr.c: Reverting to previous version

    * stage1hr.c: Implemented vertical solution for find_segments_multiple_mm,
      which handles each querypos one at a time, but result is much slower.

    * stage1hr.c: Removed code from before DELAY_READING.  Implemented
      tournament trees, which require slightly fewer instructions than heaps.

2009-04-22  twu

    * Makefile.gmaponly.am, Makefile.pmaptoo.am: Included changepoint files.

    * Makefile.dna.am: Included changepoint files.  Included indexdb_dump
      program.

    * bigendian.c: Added code to output files in bigendian format

    * stage3.c, stage3.h: Parameterized TRIM_END_PVALUE.  Fixed map feature of
      GMAP for new IIT format.

    * stage3hr.c: Loosened criteria for duplicate hits that was eliminating
      overlapping matches with the same number of mismatches.

    * indexdb_hr.c, indexdb_hr.h, stage1hr.c: Using binary_threshold instead of
      parent_ndiagonals

    * indexdb.c: Fixed bug for bigendian machines

    * iitdef.h: Changed type of divsort to be int, apparently for compiler
      warnings?

    * iit-read.c, iit-read.h: Implemented algorithm for map feature of GMAP to
      use new IIT format

    * gmap.c: Using divint crosstable for map feature.

2009-04-21  twu

    * stage1hr.c: Implemented a delay in converting positions to diagonals until
      needed.

2009-04-08  twu

    * stage3.c: Using number of matches to trim ends, not total length

2009-04-04  twu

    * indexdb_hr.c, stage1hr.c: Made exact and sub-1 code work correctly on
      bigendian machines without having to copy memory.

2009-04-03  twu

    * gmap.c, stage3.c, stage3.h: Modified -H flag to let user control
      minendexon length

    * stage1hr.c: Skipping computation on poly-A or poly-T sequences

    * stage3.c: Added check for null pairs before generating matchscores

    * pair.c, pair.h: Revised procedures for producing matchscores

    * gsnap.c: Adding number of paths to output.  Removed check for inplace
      being possible.

    * snpindex.c: Added comment

    * indexdb.c, indexdb.h: Removed procedures that create sentinels.

    * indexdb_hr.c: Not using sentinels.  For compoundpos, always reading in
      place and converting to bigendian when needed.

    * stage1hr.c, stage1hr.h: Not using sentinels.  For exact and sub:1, always
      reading in place and converting to bigendian when needed.

2009-04-02  twu

    * stage1.c: Added limits on number of gregions to speed up program

    * stage3.c, stage3.h: Using changepoint algorithm and iterative trimming of
      ends to improve ends of alignment.

    * indexdb.c, indexdb.h: Added hooks for sentinel in indexdb files

    * gregion.c, gregion.h: Rewrote support filtering to use either a fixed
      difference (for longer sequences) or a percentage difference (for shorter
      ones).  For extending sequences, using querylength for adequate support or
      short support.

    * gmap.c: Improved documentation for --help

    * genome-write.c: Always print out number of bad characters

    * changepoint.c, changepoint.h: Modified procedures to ignore -1 values in
      input

2009-03-31  twu

    * stage1hr.c: Using heaps for nomiss and onemiss, but not for exact. 
      Replacing NULL lists with sentinels when necessary.

    * stage1.c: Implemented limit on number of gregions before finding unique
      ones, to prune nonspecific, slow sequences.

2009-03-26  twu

    * stage1hr.c: Using pointers and relying on sentinels to advance through
      lists.

    * stage1hr.c: Removed old code

    * stage1hr.c: Changed sub:1 recursive procedures to iterative

    * stage1hr.c: Reverting to previous version

    * stage1hr.c: Attempt to use information from third and later lists to
      advance first list

    * stage1hr.c: Using results of second list to speed up intersection

    * stage1hr.c: Implemented a faster version of performing intersection for
      exact matches.

    * stage1hr.c: Starting exact matches with intersection of first two lists.

2009-03-25  twu

    * stage1hr.c: Made non-heap compoundpos_find procedure the default

    * indexdb_hr.c, indexdb_hr.h: Implemented a non-heap version of searching
      through a union of positions.

    * indexdb_hr.c: Added hooks for handling indexdb with sentinels.  Removed
      unused code.

    * stage1hr.c: Implemented iterative version of find_exact_aux.  Depending on
      sentinel to increase speed of loop.

2009-03-24  twu

    * gmap.c, pair.c, pair.h, stage3.c, stage3.h: Fixed printing in psl format
      when user provides a segment

    * compress.c, compress.h, genome-write.c: Fixed reporting of non-ACGTNX
      characters

    * gmap.c, stage3.c, stage3.h: Removed -k flag and trimexonpct parameter

    * iit_fetch.c: Added ability to compute ratios from pdl files

    * iit-read.c, iit-read.h: Provided procedures for dumping version 1 IITs

    * get-genome.c: Fixed dump output of contigs

    * compress.c: Reduced number of error messages for non-ACGTNX characters

    * stage3.c: No longer using non-canonical introns for trimming end exons,
      only binomial test.  Fixed bad behavior for theta values close to 1.0. Not
      reporting alignments with fewer than 20 matches.

2009-03-19  twu

    * iit_fetch.c: Added hook for splices iits

    * plotgenes.c, plotgenes.h: Added function for handling splices.  Made sure
      nbins > 0.

    * plotgenes.c, plotgenes.h: Added function Plotgenes_fetch_points.  Renamed
      some functions.

2009-03-18  twu

    * gmap_setup.pl.in: Gives files on command line to fa_coords and
      gmap_process, which can then add linefeed if necessary to lines.

    * gmap_process.pl.in: Allowed program to read from either stdin or files on
      command line. In the latter case, it adds linefeed if necessary to lines.

    * fa_coords.pl.in: Re-indented program.  Allowed program to read from either
      stdin or files on command line.

    * iit_fetch.c: Implemented handling of PDL files.  Added -s flag to specify
      sample number.

    * stage3.c: Trimming using a binomial test on end exons

    * gdiag.c, genome.c, genome.h, get-genome.c, gsnap-to-iit.c, gsnap.c,
      indexdb.c, indexdb.h, oligo-count.c, snpindex.c: Modified programs to take
      a snp_root argument to -V

    * gmap.c: Added "Processed" message to stderr at end of batch run

    * Makefile.dna.am, Makefile.gmaponly.am, Makefile.gsnaptoo.am,
      Makefile.pmaptoo.am: Updated Makefiles

    * pair.c, pair.h: Added function Pair_fracidentity_simple

    * pbinom.c, pbinom.h: Initial import into CVS

2009-03-17  twu

    * gsnap.c: Considering too many paths as a failure type for the --nofails
      and --failsonly flags

2009-03-10  twu

    * stage1.c: Added variable needed in debugging

    * plotgenes.c, plotgenes.h: Renamed functions relating to fetching

    * iit_fetch.c: Removed code relating to printing

    * iit-read.c: Fixed issues for bigendian machines and for fileio access

    * datadir.c, datadir.h, gmap.c: Added extra functionality to show available
      databases and map files

    * iit_fetch.c: Initial import into CVS.  Copied from iit_plot.c

    * blackboard.c, changepoint.c, compress.c, diag.c, dynprog.c,
      genome-write.c, genome.c, get-genome.c, gmap.c, gmapindex.c, gregion.c,
      iit-read.c, iit-write.c, indexdb.c, indexdb_hr.c, intpool.c, oligo.c,
      oligoindex.c, oligoindex.h, pair.c, reader.c, sequence.c, smooth.c,
      stage1.c, stage2.c, stage3.c, translation.c: Removed unused variables
      based on SGI compiler warnings

    * iit-read.c: Fixed reading of labels and annotations using fileio on
      bigendian machines.

    * bigendian.c, bigendian.h: Added command for reading uint using fileio

2009-03-09  twu

    * stage3.c: Fixed bug where gap was left at 3' end before extending the end.

    * stage1hr.c: Fixed counting of mismatches on revcomp sequences

    * indexdb_hr.c: Made heapsize an int, rather than unsigned int, in all
      procedures

    * indexdb.c: Moved variable declarations above debugging statement to
      satisfy SGI compiler.

    * gsnap.c: Changed variable names involving -q flag to "part_"

    * get-genome.c, iit_get.c: Printing divstring only if ndivs > 1

    * iit-read.h: Added ability to retrieve divstring from universal
      coordinates.

    * iit-read.c: Added ability to retrieve divstring from universal
      coordinates.  Fixed bug occurring during reading annotatinos using fileio.

    * iit-write.c: Fixed bug relating to use of null annotlist to indicate
      altstrain IIT.

2009-03-06  twu

    * pair.c, pair.h, stage3.c: Fixed bug where -P and -Q flags were printing
      C-to-N on antisense cDNAs.

2009-02-20  twu

    * gmap_setup.pl.in: Added FILE_ENDINGS variable

    * get-genome.c: Removed debugging flag

    * sequence.c: Improved handling of blank lines

    * indexdb.c, snpindex.c: Changed offsets and positions to occur at modulo 0
      intervals based on chrpos, not universal position.

    * iit_get.c: Added feature to print results from tally types of IITs

    * iit-read.c: Fixed bug in re-fetching matches based on index

    * gsnap.c: Cleared flags for batch and novelsplicing

    * types.h: Removed an extraneous open brace

    * stage3hr.c, stage3hr.h: Calculating splice site model score at print time
      for all splice sites.

    * stage1hr.c: Providing sense information for donor and acceptor substrings.
      Testing if duplicate matches are possible due to minlevel and eliminating
      them.

2009-02-05  twu

    * stage3hr.c, stage3hr.h: Distinguishing between splice objects that require
      copying of substrings and those that do not.

    * stage1hr.c: Incorporated splice site probabilities into finding splice
      sites by distance.

    * stage1hr.c: Initial implementation of finding splice pairs by distance

    * gsnap.c: Retrieving and printing known splicesite information at print
      time.

    * iit-read.c, iit-read.h: Added function IIT_get_typed_with_divno

    * stage3hr.c, stage3hr.h: Providing chroffset information to Substring_T
      object.  Retrieving and printing known splicesite information at print
      time.

    * stage1hr.c: Providing chroffset information to Substring_T object

    * stage1hr.c, stage1hr.h: Implemented faster method for applying known
      splice sites

    * gsnap.c: Implemented faster method for applying known splice sites

2009-02-04  twu

    * stage1hr.c, stage1hr.h: Fixed bug when allvalidp5 or allvalidp3 is false
      in paired end reads. Implemented Stage1_retrieve_splicesites.

    * resulthr.c, resulthr.h: Renamed paired_translocation as paired_as_singles

    * iit-read.c: Fixed bug in evaluating nexactmatches

    * get-genome.c: Made retrieval of map information work with universal
      coordinates.

    * stage3hr.c: Fixed bug where second read of paired_as_singles was not being
      printed

    * gsnap.c: Renamed paired_translocation to paired_as_singles

    * genome_hr.c: Now requiring query to match either reference or alternate
      allele at SNPs.  Otherwise, it counts as a mismatch.

2009-02-03  twu

    * get-genome.c: Added feature to print snp information

    * gdiag.c, gsnap-to-iit.c, iit_plot.c: Using new interface to Genome_new

    * stage3hr.c: Eliminating novel splice site when it duplicates a known
      splice site

    * stage1hr.c: Fixed bug where plus multiple mismatches are dropped when
      minus batches are all empty.  Added flexibility to floor_xfirst and
      floor_xlast to allow for indels adjacent to end 12-mers.  Changed
      condition endpoint for indels at ends.  Using genome_hr procedure to count
      mismatches for indels.  Finding all shortdistance splices with known
      splice sites first, before finding novel splice sites.

    * snpindex.c: Writing revised version of genome.  Skipping cases where snp
      type is inconsistent with reference genome.  Taking snps_iit as a
      command-line argument.

    * sequence.c, sequence.h: Added Sequence_print_two function for snps

    * gsnap.c: Using genomealt instead of snps_iit

    * gmap.c: Switched -v and -V flags.  Using new interface to Genome_new.

    * genome_hr.c: Corrected calculation of mismatches_right.  Corrected offset
      and now subtracting number of leading zeroes.  Using clz_table instead of
      log_table.  Improved debugging statements.

2009-02-02  twu

    * genome_hr.c, genome_hr.h, stage1hr.c, stage1hr.h: Using genomealt instead
      of snps_iit

    * genome.c, genome.h: Added ability to read Genome_T object as alternate or
      snp only versions.

    * gdiag.c, oligo-count.c: Using new interface to Indexdb_new_genome

    * gmapindex.c, pmapindex.c: Removed altstrain code

    * indexdb.c, indexdb.h: Storing positions only at 0 mod 3.

    * gsnap.c: Made batch loading the default for multiple input sequences. 
      Testing for both new names and old names of reference offsets and
      positions files.  Made flag for splicing refer to novel splicing.

    * gmap.c: Made batch loading the default for multiple input sequences. 
      Testing for both new names and old names of reference offsets and
      positions files.

    * get-genome.c: Added debugging statement

    * genome_hr.c: Fixed retrieval of intervals from snps_iit file, which are
      1-based.

    * stage1hr.c, stage1hr.h: Implemented snp differences for splicing and exact
      matches.  Allowing identification of novel splicing in addition to known
      splice sites.

    * stage3hr.c: Implemented reporting of snp differences for indels.

    * snpindex.c: Fixed bug in using chromosomal position instead of universal
      position. Using parameterized suffix for reference offsets and positions
      files.

2009-01-30  twu

    * snpindex.c: Initial import into CVS

2009-01-29  twu

    * genome_hr.c: In Genome_mismatches_left and Genome_mismatches_right, adding
      a 'sentinel' mismatch position to list if haven't reached max_mismatches.

    * stage1hr.c: Implemented tolerance and reporting of snp differences for
      novel splice sites.

2009-01-28  twu

    * stage3hr.c, stage3hr.h: Added ability to print number of SNP differences
      separately.  Thie feature not yet implemented for indels though.

    * stage1hr.c, stage1hr.h: Added ability to tolerate known SNPs and count
      differences at those sites separately.  Thie feature not yet implemented
      for novel splices though.

    * segmentpool.c, segmentpool.h: Changed name of chrlow to chroffset

    * iit-read.c: Fixed computation of divint_crosstable

    * genome_hr.c, genome_hr.h, gsnap.c: Added ability to tolerate known SNPs
      and count differences at those sites separately.

    * gsnap-to-iit.c: Increased buffer sizes

    * get-genome.c: Made get-genome work on map files

    * plotgenes.c: Edited comments

    * gsnap.c: Provided user with the ability to set parameters for size of
      middle and end insertions and deletions.

2009-01-22  twu

    * stage1hr.c: Added steps to remove duplicate paired-end results

    * stage1hr.c: Fixed memory leak

    * gsnap.c: Increased default maxpaths from 20 to 100.  Added -e flag to
      --help output.  Providing max_mismatches parameter to paired-end
      procedure.

    * stage3hr.h: Added function Stage3_remove_old.

    * stage3hr.c: Revised definition of paired-end length to go from
      beginning-of-read to beginning-of-read.  Added function Stage3_remove_old.

    * stage1hr.c, stage1hr.h: Passing max_mismatches parameter for paired reads

    * indexdb_hr.c: Fixed bug where heapify was performed after binary_search
      used up all available diagonals in a batch.

2009-01-21  twu

    * gmap_setup.pl.in: Fixed bug in escaping a variable

    * pagesize.m4: Made comment line clearer

    * builtin.m4: Initial import into CVS.

    * Makefile.am: Added gmap_reassemble

    * fa_coords.pl.in: Made -S flag the default.  Added -C flag to look
      explicitly for chromosomal information.

    * md_coords.pl.in: Added check for unmapped contigs

    * gmap_setup.pl.in: Maded -S flag the default behavior.  Added -C and -O
      flags.  Added clean procedure when making coords.genome.

    * stage3hr.c, stage3hr.h: Including label as part of Substring_T

    * stage1hr.h: Added procedures for finding splices against known splicesites
      iit.

    * stage1hr.c: Added procedures for finding splices against known splicesites
      iit. Corrected computation of distances on inversions.

    * indexdb.c: Cleaned code to ensure gsnap finds the right offsets file

    * iit-write.c: Added check for a null typestring

    * iit_dump.c: Fixed debugging output

    * iit-read.h: Added procedures to search based on divint and to get a
      crosstable of divints.

    * iit-read.c: Fixed IIT_debug.  Added procedures to search based on divint
      and to get a crosstable of divints.

    * gsnap.c: Added flags for maxmismatches, splicing penalties, and splicing
      iit. Added flags for failsonly and nofails in output.

    * gregion.c: Added abort if genomicend < genomicstart

    * gmapindex.c: Eliminated reading of strain information and assignment to
      contigtypelist.  Increased size of chrpos string from 100 to 8192.

    * gmap.c: Reformatted output for --help

2009-01-15  twu

    * stage1hr.c: Created user-specified parameters for splicing probabilities
      and length.

    * stage1hr.c: Fixed bug in printing coordinates of splicing results on minus
      strand

2009-01-14  twu

    * gsnap.c: Added flags for excluding failed alignments, or limiting to those

2009-01-13  twu

    * stage1hr.c: Added additional check to prevent straddling across
      chromosomes

    * indexdb_hr.c, indexdb_hr.h, stage1hr.c: Implemented more efficient way of
      ignoring extensions past beginning of genome.

2009-01-08  twu

    * stage1hr.c: Hacks put in to exclude diagonals that are less than
      querylength

    * stage1hr.c: Fixed issues with wrong indel_pos chosen in middle insertions,
      and not checking up to specified number of indels.

2008-12-24  twu

    * indexdbdef.h: Reverted to version 1.2

    * indexdb.c: Reverted to version 1.121

    * indexdb.c, indexdbdef.h: Attempt to use a compressed indexdb file

2008-12-22  twu

    * stage1hr.c: Reading floor 2 during find_segments_multiple_mm.  Returning
      min_mismatches_seen from find_onemiss_matches.

    * indexdb_hr.c: Put check for size of compoundpos outside of loop.

    * stage1hr.c: Added bounds on location of mismatch in onemiss search

2008-12-21  twu

    * stage1hr.c: Reverted back to version 1.106 that has hanging compoundpos
      positions for exact and onemiss matches.

    * stage1hr.c: Version of stage 1 with hooks for disallowing compoundpos
      positions that hang over ends.  However, this appears to add 40% to number
      of instructions.

    * stage1hr.c: Setting pointers->compoundpos to NULL after it becomes empty,
      to prevent further computation on it.

    * indexdb_hr.c, indexdb_hr.h: Added function Compoundpos_intersect

    * stage1hr.c: Eliminated compoundpos positions in creating segments from
      multiple mismatches.  Delayed sorting of segments until needed for middle
      insertions and deletions.  Setting floor to zero in cases where poly-AT is
      present.  For end indels, computing oligomer_start and oligomer_end based
      on results of actual mismatches found.

2008-12-20  twu

    * stage1hr.c: Fixed bug in debugging statement

    * gmapindex.c: Added more compiler checks to hide alternate strain code

    * Makefile.util.am: Added program all-orfs

    * Makefile.dna.am, Makefile.gsnaptoo.am: Removed chrsubset.c from gsnap
      sources

2008-12-19  twu

    * stage3hr.c, stage3hr.h: Using left instead of genomicpos5 for creating
      Stage3_T objects.

    * stage1hr.c: Using left instead of genomicpos5 for creating Stage3_T
      objects. Consolidated code for plus and minus segments.  Changed parameter
      list for find_segments_multiple_mm to prepare for finding hits within that
      procedure.

    * stage1hr.c: Clarified calculations of floors

2008-12-17  twu

    * stage1hr.c: Using init and search routines for Compoundpos_T objects

    * separator.h: Changed coordinate separator from "--" to ".."

    * intlist.c, intlist.h: Added function Intlist_sort_ascending()

    * indexdb_hr.c, indexdb_hr.h: Implemented init and search routines for
      Compoundpos_T objects

    * iit-write.c, iit_store.c: Added monitoring output

    * stage1hr.c: Clarified processing of pointers in search for onemiss
      matches.

    * stage1hr.c: Allowing spanning 12-mers for exact and onemiss searches to go
      in either forward or reverse direction, and picking the optimal direction.

    * stage1hr.c: Allowing compoundpos positions to be used for boosting, by
      merging them during search for exact matches.

    * stage1.c: Fixed a bug where the querypos of sentinel was set incorrectly. 
      Now using querylength, not -1.  Added a check to prevent gregions with
      negative values for genomicstart.

    * indexdb_hr.c, indexdb_hr.h: Removed partner_diagonals from Compoundpos_T
      object and removed reduce function.

    * stage1hr.c: Fixed potential problem with sentinel.  The querypos part of
      sentinel now set to querylength, not -1, to guarantee it stops the loop.
      Introduced Pointers_T object to simplify exact and onemiss code.

2008-12-16  twu

    * stage1hr.c: Introduction of Compoundpos_T object for speeding up
      computation in exact and onemiss algorithms

    * intlist.c, intlist.h: Added Intlist_insert_second() function

    * indexdb_hr.c, indexdb_hr.h: Introduction of Compoundpos_T object and
      operations

2008-12-15  twu

    * intlist.c: Made cell_ascending() and cell_descending() static.

    * genome_hr.c, genome_hr.h: Created Genome_count_mismatches_limit.  Also
      added code for a oneloop version of Genome_count_mismatches.

    * gsnap.c: Removed chrsubset feature

    * stage3hr.c, stage3hr.h: Clarified that Substring_new_donor and
      Substring_new_acceptor should receive forward query sequence.

    * stage1hr.c: Removed querylength from call to select_positions_for_exact().

    * stage1hr.h: Removed Chrsubset_T object.

    * stage1hr.c: Using new call to Genome_count_mismatches_limit.  Replaced
      uses of queryseq with queryuc_ptr and queryrc.  Introduced query_lastpos
      to replace multiple calculations of (querylength - INDEX1PART).  Removed
      Chrsubset_T object.

2008-12-14  twu

    * stage1hr.c: Fixed onemiss algorithm so it handles short reads less than
      2*INDEX1PART in length.  Changed occurrences of oligobase to INDEX1PART. 
      Removed oligobase and querylength from Stage1_T object.

    * genome_hr.c, genome_hr.h: Made Genome_count_mismatches more efficient, by
      using pointers and stepping through query and genome blocks sequentially.

2008-12-13  twu

    * stage1hr.c: Implemented new method for identifying single mismatches,
      similar to that for finding exact matches.

    * result.h: Added a new failure type for short sequences

    * pmapindex.c: Changed default index1interval from 3 to 6

    * oligo.c: Added a comment.

    * oligo-count.c: Using revised interface to indexdb.c.

    * indexdb_hr.c, indexdb_hr.h: Removed addition of a diagterm for lookups
      involving a left or right shift.

    * indexdb.c, indexdb.h: Changed some function names.  Added function to
      determine if inplace reading is possible.  Added parameter to require
      sampling of 3 in indexdb.

    * gmap.c: Using revised interface to indexdb.c.  Added check and message for
      sequences shorter than INDEX1PART.

    * gdiag.c: Using revised interface to indexdb.c

    * block.c: Using revised function names in indexdb.c

    * segmentpool.c, segmentpool.h: Removed break5 and break3 from Segmentpool_T
      object.

    * stage1hr.c: Removed break5 and break3 from Segmentpool_T object

    * stage1.c: Providing correct adjustment to diagonals for the minus strand,
      by adding the length of the oligomer.

2008-12-12  twu

    * stage3hr.c, stage3hr.h: Added function to compare Stage3_T objects by
      genomic location

    * gsnap.c: Added flag to sort results by genomic location

    * stage1hr.c: No longer saving segments during check for single mismatches.
      Checking and saving substitution hits within each heap merge.

    * gsnap.c: Added user flag for setting indel penalty

    * stage1hr.c, stage1hr.h: Made indel_penalty a parameter adjustable by the
      user.

2008-12-11  twu

    * stage1hr.c: Moved around code for special cases that prevent searching for
      end indels at beginning or end of the sequence.

    * gsnap.c: Added information about whether inplace reading of indexdb is
      possible.  Added information to version command.

    * segmentpool.c, segmentpool.h: Added floor, floor_xfirst, and floor_xlast
      fields to the Segment_T object.

    * stage1hr.c: Removed separate lists of segments by floor.  Keeping only a
      single list of plus segments and of minus segments, with floor information
      stored in the Segment_T object.

    * stage1hr.h: Providing information about whether inplace reading of
      diagonals is possible.

    * stage1hr.c: Delayed addition of diagterm until after search for exact
      matches.  Allowing reads of diagonals from indexdb to be inplace when
      possible

    * types.h: Added check for size of unsigned long long as an 8-byte word

    * stage1hr.c: Using 64-bit words, if available, to speed up comparison of
      batches in heap merge.

    * stage1hr.c: Replaced calls to List_head, List_next, Intlist_head, and
      Intlist_next with primitives.

2008-12-10  twu

    * Makefile.pmaptoo.am: Revised source files

    * Makefile.gsnaptoo.am: Added gsnap-to-iit program.  Added segmentpool.

    * Makefile.gmaponly.am: Added chrom.c to iit utilities

    * Makefile.dna.am: Removed test programs for Compress_T procedures

    * Makefile.dna.am: Added test programs for Compress_T procedures.  Added
      segmentpool.

    * segmentpool.c, segmentpool.h: Initial import into CVS

    * gsnap.c, stage1hr.c, stage1hr.h: Added segmentpool

    * stage1hr.c: Enforcing diagonals to be within chromosomal bounds.  Removed
      unused code.

    * genome.c: Fixed check for chromosome bounds

    * genome_hr.c, genome_hr.h: Removed checks for crossing of chromosome
      boundaries.  Relying upon calling procedures to enforce this.

2008-12-08  twu

    * gsnap.c: Added flags for minlevel and maxlevel.  Cleaned up unused flags.

    * genome_hr.c, genome_hr.h: Made functions return maximum number of
      mismatches if they cross a chromosome bound.

2008-12-05  twu

    * stage1hr.c: On end indels, checking to see if indel_pos is non-positive. 
      Passing chromosome_iit to Genome_mismatches_left and
      Genome_mismatches_right.

    * gsnap.c: Added statement at end of batch processing to indicate number of
      queries processed.

2008-12-03  twu

    * subseq.c: Added U and l flags

    * stage1hr.c: For middle indels, putting indel at leftmost genomic position.
       Fixed filtering criteria for end indels.  Counting mismatches and left
      and right to identify candidates for end indels.

    * stage1.c: Added debugging statements

    * gdiag.c, gsnap-to-iit.c: Using new interface to Genome_fill_buffer

    * gmap.c: Fixed genomiclength for user-provided genomic sequence.  Stopped
      trimming of sequence.

    * diag.c: Loosened criteria for MAX_DIAGONALS and MIN_SCORE.

2008-11-26  twu

    * genome_hr.c: Made Genome_mismatches_left and Genome_mismatches_right fill
      mismatch_positions entries 0..max_mismatches.

    * stage1hr.c: Implemented new algorithms for middle insertions and
      deletions, using Genome_mismatches_left and Genome_mismatches_right.

2008-11-25  twu

    * stage1hr.c: Using new interface to Genome_count_mismatches

    * genome_hr.c, genome_hr.h: Added functions Genome_mismatches_left and
      Genome_mismatches_right. Added builtin bit-vector functions.

    * genome_hr.c, genome_hr.h: Allowed specification of pos5 and pos3 in
      Genome_count_mismatches

2008-11-24  twu

    * genome_hr.h: Using new Compress_T object.

    * genome_hr.c: Using new Compress_T object.  Removed unused code.

    * stage1hr.c: Using new Compress_T object

    * stage3hr.c: Fixed memory leak

    * compress.c, compress.h: Introduced Compress_T object

    * genome_hr.c, genome_hr.h: Initial entry into CVS

    * gsnap.c: Added flag for handling circular-end reads

    * stage3hr.c, stage3hr.h: Making a single invertp work on paired-end and
      circular-end reads

    * stage1hr.c: Using direct comparison against compressed genome to count
      mismatches

    * genome.c, genome.h: Added function Genome_blocks.  Made Genome_fill_buffer
      return nunknowns.

    * compress.c, compress.h: Added functions Compress_new and Compress_shift

2008-11-20  twu

    * sequence.c, sequence.h: For circular-end reads, keeping reverse complement
      of queryseq2, but swapping queryseq1 and queryseq2.

    * stage1hr.h: Placed local exon-exon mappings after multiple substitutions
      and indels in the hierarchy of levels.

    * stage2.c: Commented out unused procedure

    * stage3.c: Added debugging statement

    * stage3hr.c, stage3hr.h: Enabled printing of circular-end reads

2008-11-14  twu

    * stage1hr.c: Allowing mismatches with splicing

2008-11-12  twu

    * gsnap.c, stage1hr.h: Removed unused parameters

    * stage1hr.c: Using new single-end read algorithms for paired-end reads. 
      Fixed problems with query sequences that contain non-ACGT characters.

    * stage3hr.c: Fixed problems with printing inverted sequence for paired-end
      reads

2008-11-11  twu

    * gmap_reassemble.pl.in: Initial entry into CVS

    * stage3hr.c: Fixed bug in Stage3_remove_duplicates

    * stage1hr.c: Revised splicing parameters.  Fixed calculation of maxfloor.

2008-11-10  twu

    * stage3hr.c: Favoring substitutions over equivalent indels in removing
      repeats.

    * stage1hr.c: Treating max_middle_insertions and max_middle_deletions
      separately in solving middle indels.  Removed scores from
      compute_end_indels.  Not resetting min_mismatches after single_mm, because
      of effect of poly_at oligos.

    * gsnap.c, stage1hr.h: Allowing separate parameters for middle and end
      insertions and deletions.

    * stage3hr.c: Added check and warning messages if observed mismatches is
      different from the number expected

    * stage1hr.c: Introduced floor system for computing indels.  Defined
      calculation of middle and end indels more clearly, with separate
      parameters for middle and end insertions and deletions.

2008-11-06  twu

    * stage1hr.c: Made fixes for splicing to work

    * indexdb_hr.h: Removed obsolete functions

    * indexdb_hr.c: Fixed masking of left shifts

    * indexdb.c: Commented out warning message for multiple index files

    * gsnap.c: Partially implemented minlevel and maxlevel controls for Stage1.
      Removed references to Stage3chimera_T objects

    * resulthr.c, resulthr.h: Removed references to Stage3chimera_T objects

    * stage3hr.h: Implemented new structure for Stage3 objects: single reads may
      have one or more substrings.

    * stage3hr.c: Implemented new structure for Stage3 objects: single reads may
      have one or more substrings.  Modified print procedure for indels to allow
      for mismatches.

    * stage1hr.h: Removed chimerap variable since Stage3 single reads are all of
      the same type now.

    * stage1hr.c: Fixed polyat assessment at ends of query.  Storing first and
      last diagonals and computing mismatches on both.  Changed ptr->indels to
      be consistently positive for insertions and negative for deletions. Using
      new Stage3 objects.  Solving middle indels with mismatches. Using minlevel
      and maxlevel to control computing behavior on different alignment types.

2008-11-04  twu

    * stage1hr.h: Made max_insertions and max_deletions parameters.  Added
      minlevel and maxlevel.

    * stage1hr.c: Cleaned up procedures for single mismatches and multiple
      mismatches. Added oligobase to minus diagonals to prevent negative
      coordinates. Made max_insertions and max_deletions parameters.  Added
      minlevel and maxlevel.

2008-10-28  twu

    * md_coords.pl.in: Revised instructions to user

2008-10-24  twu

    * stage3.c: In comparing paths_fwd and paths_rev, using just number of
      matches

    * stage2.c: Also performing stage2 if there is a sufficient value for
      ncoverage

    * stage1.c: Removed matchsize and matchinterval from Stage1_T object, and
      allowing option in scan_ends of iterating on different matchsizes.  In
      removal of repeated oligomers, now also removing neighboring oligomers. 
      Now filtering gregions by support.

    * reader.c: Added fields so Reader_reset_ends resets correctly

    * gregion.c, gregion.h: Added function to filter by support

    * gmap.c: Fixed error message for -z flag

    * diag.c, diag.h: Returning ncovered from Diag_update_coverage

    * block.c, block.h: Removed high-resolution option

2008-10-23  twu

    * stage3.c: Handling case where gap is at beginning of path.  Trimming end
      exons until a canonical intron is reached.

    * stage1.c: Identifying repeated oligos at the outset

    * pair.c: Made counting of ambiguous matches more uniform

    * gsnap-to-iit.c: Added information about unique positions.  Added ability
      to halt at a given position.

    * gregion.c: Modified print statement

2008-10-10  twu

    * pair.c: Made N's in query sequence align as mismatches in GMAP.

    * gmapindex.c: Removing "chr" from chrsubset file

    * stage1hr.c: Tightened criteria for finding exon-exon junctions.  Not
      reading 10- or 11-mers at ends if the 12-mer is invalid.

    * stage3hr.c: Made macros for text constants

    * match.c, match.h: Added function Match_print

    * gsnap.c: Changed default of trim flag to be false

    * gmap.c: Added jobdiv capability to GMAP

2008-10-02  twu

    * blackboard.c: Simplified the fix for the hang for input done with no
      inputs

2008-10-01  twu

    * blackboard.c: Fixed hang that occurs when no input was ever received,
      which happens with the jobdiv option when the input has fewer sequences
      than the first batch modulus.

2008-09-26  twu

    * iit_get.c: Allowing retrieval of labels that contain colons, by checking
      first to see if the first part of the label is a divstring.

    * iit-read.c, iit-read.h: Added function to determine divint without reading
      entire IIT.

2008-09-24  twu

    * stage3.h: Added PRE_ENDS as a debugging endpoint

    * stage3.c: Modified solutions at ends.  First, we decide between distal and
      medial, with distal penalized for non-canonical introns.  Then, we simply
      extend the ends without peelback and permitting an initial gap.

    * stage2.c: Introducing a minimum pct_coverage

    * oligoindex.c, oligoindex.h: Allowed suffnconsecutive to be a different
      value in each level of resolution.

    * match.c, match.h: Moved function Match_get_coords to gregion.c

    * gregion.h: Added fields for weight and support.

    * gregion.c: Added fields for weight and support.  Duplicate gregions are
      now resolved in favor of the gregion with the greatest weight, or if
      equal, the greatest support.

    * gmap.c: Increased extraband at end from 3 to 6

    * dynprog.c: Allowing a gap to start the alignment of end5 and end3. 
      Introducing a parameter init_jump_penalty_p to control this.

    * diag.c: Replaced 0 with 0U in some cases

    * stage1.c: Using weights on matches and on gregions to focus on genomic
      regions with most specificity.

2008-09-19  twu

    * stage1.c: Added penalty for intron length in find_best_path to reduce
      excessively large regions.  If segments are used, then clearing gregions
      and starting over.

2008-09-16  twu

    * stage1hr.c: Fixed bug with false positives on middle indel.  Fixed bug
      with combinations of insertions and deletions in
      find_segments_multiple_mm.

2008-09-15  twu

    * gmap.c: Allowing multiple paths for alignment against user-provided
      segment. Explicitly recomputing goodness over all stage3 objects. 
      Allowing user to specify direction of introns.

    * stage2.c: Giving points for indexsize-equivalent number of matches if it
      starts a new chain.

    * stage1hr.c: Fixed problem with insertions in first 12-mer.  Now treating
      as a mismatch, as we did for insertions in the last 12-mer.

    * oligoindex.h: Removed debug_graphic_p from argument list

    * oligoindex.c: Fixed memory leak

    * md5-compute.c: Added ability to handle multiple input files

    * diag.c, diag.h, diagdef.h: Computing scores for each diagonal and
      requiring a minimum score

2008-09-09  twu

    * stage1hr.c: Fixed bug in exact match to end of chromosome, resulting in
      negative coordinates of the next chromosome.

    * stage3.h: Added function for recomputing goodness

    * stage3.c: Made widebandp true on all single gap solutions.  Extending 5'
      and 3' ends, rather than comparing distal with medial, when defect rate is
      high.  Recomputing goodness using just matches if best hit is poor.

2008-09-08  twu

    * diag.c, diag.h: Moved some functions from oligoindex.c to diag.c

    * oligoindex.c, oligoindex.h: Implemented different mapping resolutions by
      using multiple oligoindices.  Using a separate lookback for each
      resolution.

    * stage2.c, stage2.h: Implemented different mapping resolutions by using
      multiple oligoindices.

2008-09-04  twu

    * configure.ac: Added check for stat64

    * acinclude.m4: Including config/acx_mmap_fixed.m4,
      config/acx_mmap_variable.m4, and config/struct-stat64.m4.

    * VERSION: Updated version

    * README: Augmented instructions for new gmap_setup flags and made mention
      of GSNAP.

    * dynprog.c, dynprog.h: New functions added for dealing with an internal gap

    * indexdb.c: Fixed problem in reading offsets and positions file based on
      interval of 6.

    * gmap.c: Made default canonical mode to be 1

    * stage3.c: Reverted to revision 1.300 with newer code kept for stage3debug.

    * stage2.c: Reverted to revision 1.221 with newer code kept for converting
      oligomers to nucleotides

    * smooth.h: Removed stage2_indexsize

    * smooth.c: Reverted to revision 1.41, plus removal of stage2_indexsize

    * oligoindex.h: Reverted to revision 1.47, plus most recent wobble masking
      and code for multiple oligoindices

    * oligoindex.c: Reverted to revision 1.108, plus most recent wobble masking
      and code for multiple oligoindices

    * diagpool.c: Removed initialization for bestscore and prev fields

    * diagdef.h: Removed score, bestscore, and prev fields

    * diag.h: Reverted to revision 1.5 with some functions moved from
      oligoindex.c.

    * diag.c: Reverted to revision 1.7 with some functions moved from
      oligoindex.c.

    * stage3.h: Calling stage 2 directly

    * stage3.c: More attempts to rearrange steps

    * stage2.c, stage2.h: Bypasses former stage 2 and returns best path of
      diagonals, converted to nucleotides

    * smooth.c: Changed function for finding internal shorts

    * oligoindex.c, oligoindex.h: Changed Oligoindex_get_mappings to return a
      list of diagonals

    * iit-read.h: Added comments to explain arguments

    * gmap.c: Having stage2 return a path

    * diagpool.c: Added initialization for bestscore and prev

    * diagdef.h: Added fields for bestscore and prev

    * diag.c, diag.h: Added functions Diag_compare_querystart and Diag_best_path

2008-08-16  twu

    * diag.c, diag.h, gmap.c, oligoindex.c, oligoindex.h, stage2.c, stage2.h:
      Implementation of oligoindex step at multiple resolutions

2008-08-15  twu

    * stage2.c: Rearranged procedures in preparation for multiple oligoindices.

    * oligoindex.c, oligoindex.h: Moved various functions from oligoindex.c to
      diag.c.  Added various variables to Oligoindex_T struct.  Rearranged
      procedures in preparation for multiple oligoindices.

    * diag.c, diag.h: Moved various functions from oligoindex.c to diag.c

    * stage2.h: Added a version of stage 2 that can be called from within stage
      3.

    * stage2.c: Using active hits, instead of minactive and maxactive bounds. 
      Added hooks for relying upon splice site scores.  Made conversion to
      nucleotides handle arbitrary masks.  Added penalty for diffdistance not a
      multiple of 3.  Added a version of stage 2 that can be called from within
      stage 3.

    * stage1hr.c: Exiting if a single polyat 12-mer found, to prevent false
      indels from being found in find_segments_multiple_mm.

    * oligoindex.h: Computing active hits around each diagonal, instead of
      minactive and maxactive bounds.

    * oligoindex.c: Added wobble masking.  Computing dominance by using scores,
      based on number of diagonals overlapping each querypos.

    * indexdb_hr.c: Added masking for all left shifts

    * indexdb.c: Fixed problem where highest resolution indexdb was not being
      used

    * gmap.c: Using new interface to Oligoindex_set_inquery

    * diag.c, diag.h, diagdef.h: Added score to Diag_T object

    * block.c: Added error message

2008-08-11  twu

    * oligoindex.c, oligoindex.h: Passing character strings to procedures,
      rather than Sequence_T objects.

2008-08-10  twu

    * gmap.c: Made changes to debug requests from stage3

    * stage3.c: Rearranging steps to improve cross-species performance.  Work
      still in progress.

2008-08-08  twu

    * stage1hr.c: Removed old code

    * stage1.c: Made heap and segment algorithm work for PMAP

    * binarray.c, binarray.h: Removed binarray source code

    * sequence.c: Redefined trim_end for PMAP to exclude the terminal stop codon
      added

    * pmapindex.c: Including index1interval in filename for PMAP databases

    * matchpool.c: Removed old code that referred to positions, not diagonals

    * match.c: Simplified a procedure

    * indexdbdef.h: For PMAP, allowed index1interval to be determined by
      available databases

    * indexdb_hr.c, indexdb_hr.h: Moved Indexdb_read_no_subst command to
      indexdb.c

    * indexdb.c, indexdb.h: Moved Indexdb_read_no_subst command here.  Including
      index1interval into filename for PMAP databases.

    * gmap.c: Changed variable name from samplingp to lowidentityp

    * block.c: Bypassing oligo.c and calling Indexdb commands directly

2008-08-06  twu

    * Makefile.dna.am, Makefile.gmaponly.am, Makefile.gsnaptoo.am,
      Makefile.pmaptoo.am, stage1.c, stage1.h: Removed binarray

2008-08-05  twu

    * binarray.c, binarray.h, stage1.c: Transitioning away from bins and toward
      segments.  Intermediate code contains both sets of functions.

2008-08-01  twu

    * block.c, block.h, gregion.c, gregion.h, matchpool.c, matchpool.h,
      stage1.c: Just before change to using diagonals, with directives
      indicating changes

2008-07-31  twu

    * gsnap.c: Changed batch specification so it runs from 0 to n-1.

    * stage1hr.c: Changed hierarchy of results to be exact, sub:1, local
      splicing, half introns, sub:2, sub:3, sub:4, indels, distant splicing. 
      Increased speed for computing splice ends.  Limiting nmismatches for each
      splice end, so not checking nmismatches for splicing after that.

    * gsnap.c: Reduced default maxpaths to 20 and maxchimerapaths to 2

2008-07-30  twu

    * stage1hr.c: Improved identification of repetitive oligos

    * sequence.c: Better handling of FASTA files that end with blank lines

2008-07-29  twu

    * stage1hr.c, stage1hr.h: Implemented different sizes for insertions and
      deletions

    * stage3hr.c, stage3hr.h: Added function Stage3_remove_duplicates

    * stage1hr.c: Made 12-mer mod 3 strategy work for multiple mismatches,
      indels, and exon-exon junctions.

    * stage1hr.c: Removed special variables for -2, -1, querypos+1, and
      querypos+2. Removed middle_indel_p.

2008-07-28  twu

    * stage1hr.c: Made paired reads use new 12-mer strategy for exact and 1-sub

    * stage1hr.h: Changed variable name to expected_pairlength

    * datadir.c: Improved error message when genome db not found

    * indexdb_hr.c, indexdb_hr.h, intlist.c, intlist.h, stage1hr.c: Implemented
      faster version of exact and 1-sub using 12-mers

2008-07-26  twu

    * indexdb_hr.c: Removed oligo_hr.h and oligo_hr.c.  Added code for reading
      left and right subst of 1 and 2 nts.

    * oligo_hr.c, oligo_hr.h: Removed oligo_hr.h and oligo_hr.c

    * Makefile.dna.am, Makefile.gmaponly.am, Makefile.gsnaptoo.am,
      Makefile.pmaptoo.am, block.c, indexdb.c, indexdb.h, stage1hr.c: Removed
      oligo_hr.h and oligo_hr.c.

    * indexdb_hr.h: Initial import into CVS

2008-07-18  twu

    * stage3hr.c: Fixed handling of trimming for inverted hits.  Fixed handling
      of hits that have negative genomic coordinates.

    * stage1hr.c: Fixed handling of trimming at ends

    * pair.c: Changed output to show "genome" instead of "chr"

    * Makefile.dna.am, Makefile.gmaponly.am, Makefile.gsnaptoo.am,
      Makefile.pmaptoo.am, diagnostic.c, diagnostic.h, gmap.c, result.c,
      result.h, stage1.c, stage1.h: Added Diagnostic_T to hold information

    * chimera.c, chimera.h, get-genome.c, iit_plot.c, match.c, match.h,
      stage3.c: Using new interface to Genome_get_segment

    * genome.c, genome.h: Printing out-of-bounds characters on all cases where
      coordinates exceed chromosomal boundaries.

2008-07-07  twu

    * stage1hr.c: Added comment

    * stage1.c: Added high-resolution sampling

    * oligo.c, oligo.h: Removed burden of leftreadshift to caller

    * indexdb.c, indexdb.h: Added function to provide indexing interval

    * block.c, block.h: Added high-resolution behavior to Block_T object

    * gmap.c: Added hybrid behavior for finding canonical introns: low reward
      for high-identity sequences and high reward otherwise.

    * stage1.h: Removed obsolete functions

    * stage1.c: Renamed variables

    * pair.c, pair.h, stage3.c: Printing separate runtimes for stage2
      diagonalization and alignment

    * stage2.h: Computing separate runtimes for stage2 diagonalization and
      alignment.

    * stage2.c: Reinstating limitation on maximum number of active hits. 
      Computing separate runtimes for stage2 diagonalization and alignment.

    * stage1.c, stage1.h: Reporting whether sampling was used

    * gmap.c: Using smaller stage 2 indexsize when stage 1 sampling is done

    * plotgenes.c, plotgenes.h: Added ability to handle values

    * pdldata.c: Using Access_mmap function

    * gdiag.c, gsnap-to-iit.c: Using new interface to Genome_fill_buffer

    * subseq.c: Added initial '>' to header

    * stage3.c: Using new interface to IIT_print

    * stage1.c: Removed references to Matchpair_T

    * pmapindex.c: Removed -l as an input flag

    * oligo.c, oligo.h: Added code for identifying repetitive oligos

    * match.c, match.h: Added code for dealing with pairs of matches

    * matchpair.c, matchpair.h: Removed Matchpair_T code

    * indexdb.h: Restoring previous definition of sufficient support

    * iit_update.c: Using new interface to IIT_read

    * iit_plot.c: Handling values, in addition to counts and genes

    * gregion.c, gregion.h: Added fields to Gregion_T

    * gmap.c: Interpreting optarg as strings, not integers

    * get-genome.c: Removed -F and -R flags.  Using -R flag for relative
      coordinates.

    * block.h: Separated interfaces for GMAP and PMAP

    * block.c: Added hook for removing repetitive oligos

    * binarray.c: Taking all boxes in final step.  Reduced debugging output.

    * Makefile.dna.am, Makefile.gmaponly.am, Makefile.gsnaptoo.am,
      Makefile.pmaptoo.am: Added binarray.c and .h and removed matchpair.c and
      .h

    * matchpair.c: Added code for bins

    * stage1.c: Added two levels of ntopboxes

2008-07-03  twu

    * binarray.c, binarray.h, stage1.c: Implemented working version of binarray
      algorithm

    * Makefile.util.am, revcomp.c, seqlength.c, subseq.c: Added utility programs
      for internal use

    * binarray.c, binarray.h: Initial import into CVS

2008-07-01  twu

    * stage1.c, stage1.h: Initial implementation of bins

2008-06-30  twu

    * stage3.c: Added ability to print relative coordinates

    * stage1hr.c: Improved handling of heaps.  Added code for handling
      out-of-bounds conditions.

    * sequence.c, sequence.h: Added command for printing revcomp of sequence

    * interval.c: Added debugging statements

    * indexdb_hr.c: Replaced separate variables for heapsize and delta into a
      single header.  Added code for doing all reads, then doing all writes.

    * indexdb.c: Added debugging statements

    * iitdef.h: Storing separate mmap pointers for parts of IIT

    * iit-read.c, iit-read.h: Added ability to print relative coordinates

    * gmap.c: Removed -R flag

    * gsnap.c: Added ability to handle input sequence in batches

    * genome.c, genome.h: Changed out-of-bounds symbol to be '*'.

2008-06-25  twu

    * gmap.c: Made low reward for canonical sequences to be the default

    * get-genome.c: Fixed calculation of genomiclength

    * iit-read.h: Removed unused function.

    * iit-read.c: Now doing memory mapping of pointers rather than reading all
      of them. Fixed bug in reporting second chromosomal coordinate.  Fixed bug
      in sorting segments by coordinate.

2008-05-20  twu

    * indexdb_hr.c: Made process_heap inline.  Removed delta from Batch_T.

2008-05-19  twu

    * indexdb_hr.c: Various code introduced to improve speed of heapify
      operation

2008-05-09  twu

    * access.c, access.h: Fixed mmap calls with offset so offset is on a page
      boundary

    * stage3hr.c, stage3hr.h: Added new functions for filtering and sorting
      chimeras.  Fixed calls of scrambled exons.

    * stage1hr.c: Major efficiency improvements in heapify and other heap
      functions for merging diagonals

    * indexdb_hr.c: Major efficiency improvements in heapify and other heap
      functions for merging batches

    * stage1hr.c: Changed filtering methodology for exon-exon junctions

    * indexdb_hr.c: Using pointers to memory-mapped positions file, and adding
      shift-plus-diagterm as heap builds the final array of positions.

2008-05-07  twu

    * indexdb_hr.c: Restored previous version

    * indexdb_hr.c: Attempt to reduce D2 cache miss rate, but actually increases
      it by 10x.

2008-05-06  twu

    * stage3hr.c: Using correct type for Stage3chimera_t objects

    * stage1hr.c: Set chimerap flag correctly

    * indexdb_hr.c: Faster counting of entries in cases where duplicates are not
      allowed

    * indexdb.c: Minor syntactic changes

    * gsnap.c: Turned off reading of labels for map iit files

2008-05-05  twu

    * gmapindex.c, pmapindex.c: Providing chromosome_iit to procedures for
      writing offset and position files

    * stage3hr.c, stage3hr.h: Values for chrnum are pre-computed rather than
      computed here

    * stage1hr.c: Using new interfaces to Genome_fill_buffer and Stage3_new
      routines

    * indexdb.c, indexdb.h: No longer storing oligomers at ends of chromosomes

    * iit-read.c, iit-read.h, iitdef.h: Providing specific fields for memory
      mapping of labels and annotations.  Reading all pointers for labels and
      annotations.

    * genome.c, genome.h: Trimming correctly at chromosome boundaries. 
      Returning chrnum.

    * access.h: Added function to mmap at a particular offset.

    * access.c: Added function to mmap at a particular offset.  Added check for
      struct stat64.

    * stage1hr.c: Searching for indels only if substitution fails

    * gsnap.c, stage1hr.c, stage1hr.h, stage3hr.c, stage3hr.h: Added trimming of
      mismatches at ends of substitutions

2008-04-25  twu

    * stage3hr.c, stage3hr.h: Printing information about paired result type and
      about structural variations in spliced reads.

    * stage3.c: Removed include of maxent.h

    * stage1hr.c, stage1hr.h: Added hierarchy of paired result types.  Checking
      for cross repetitiveness.

    * sequence.c: Improved debugging statements

    * resulthr.c, resulthr.h: Storing information about paired result type

    * iit_plot.c, plotgenes.c, plotgenes.h: Fixed handling of new IIT map format

    * pair.c: Changed output format for IIT-readable files (-f 7)

    * list.c, list.h: Added function of List_to_array that reports list length

    * iit-read.c: Fixed handling of flanking intervals

    * gsnap.c: Adding information about paired result type and providing
      information about max number of paired paths.

    * Makefile.gsnaptoo.am: Using tables for IITs.  Removed iit_update.

    * Makefile.dna.am: Using tables for IIT.  Removing gdiag and iit_update.

2008-04-24  twu

    * iit_get.c: Fixed bug in handling queries from stdin

2008-04-22  twu

    * stage3hr.c: Slight improvement in efficiency in eliminating duplicates or
      dominated paired end solutions.

    * dynprog.c: Reduced mismatch penalty for low quality sequences.  Equalizing
      extension penalty for single gaps, regardless of sequence quality.

    * maxent.c: Added debugging statements

    * stage3hr.c: Fixed bugs in eliminating duplicate or dominated paired-end
      results

    * iit-read.c: Fixed memory leak for entire IIT structure

    * stage3.c: In dual break, peeling pairs first.

    * stage3.c: Improved handling of dual breaks by scanning genomic segment

2008-04-21  twu

    * iit_store.c: Fixed bug in handling intervals without divs

    * iit-write.c: Added error message if total_nintervals is zero.

    * iit-read.c: Modified output for IIT_dump

    * fa.iittest, iit_get.out.ok: Modified IIT input/output for new interval
      format

    * stage3hr.c, stage3hr.h: Added code for printing half introns.  Now storing
      chrnum when Stage3_T objects are computed.  Using chrnum to determine
      whether two paired ends are connectable.

    * stage1hr.c: Using scores to determine whether indel beats substitution. 
      Added code for finding half introns.  Now storing chrnum when Stage3_T
      objects are computed.

    * indexdb_hr.c: Added code, not currently used, for using doubles to find
      longer oligomers.

2008-04-15  twu

    * stage1hr.c, stage1hr.h: Increased MAX_INDELS, and using it instead of
      hard-coded 3

    * plotdata.c, segmentpos.c, stage3hr.c: Using new interface to IIT_label

    * plotgenes.c, plotgenes.h, stage3.c: Using new interface to IIT_get and
      IIT_label

    * table.c, table.h: Added functions Table_string_compare and
      Table_string_hash

    * pmapindex.c: Using new interface to IIT_read

    * match.c, pair.c: Using new interface to Chrnum_to_string

    * indexdb.c: Using IIT_total_nintervals

    * indexdbdef.h: Moved definition of Indexdb_T to a separate file

    * iitdef.h: Added fields for whether labels were read, and for offsets to
      various parts of the iit file.

    * iit_store.c: Using new version for reporting intervals

    * iit_dump.c, iit_plot.c: Using new interface to IIT_read

    * iit_get.c: Using new interface to IIT_get and IIT_read.  Added ability to
      center annotations at a given column.

    * iit-write.c: Fixed bugs for divs with no intervals

    * iit-print.c, iit-print.h: Moved IIT_print procedures back to iit-read.c.

    * iit-read.c, iit-read.h: Fixed bug in handling divs with no intervals. 
      Allowing memory mapping of labels and intervals and their pointers (in
      addition to annotations).  Moved IIT_print procedures back to this file.

    * gsnap.c: Providing flag for user to specify consecutive matches, to
      control speed

    * gsnap-to-iit.c: Removed flag for old GSNAP version output format

    * gmapindex.c: Using tables to provide information to IIT_write

    * get-genome.c, gmap.c: Using new interface to IIT_get and IIT_read

    * chrnum.c, chrnum.h, chrsubset.c, gdiag.c, genomepage.c, genomeplot.c:
      Using new interface to IIT_label

    * genome-write.c: Using new interface to IIT_get

2008-04-10  twu

    * gregion.c, match.c, matchpool.c: Made IIT_get_one pass additional
      parameter

2008-04-01  twu

    * stage1hr.c: Various methods to improve speed, including separate
      processing for plus and minus strands, use of threshold_noligomers and a
      user-specified threshold_score for finding segments for multiple
      mismatches.

    * stage1hr.c: Removed old code based on fixed (nonrecursive) oligosize

    * stage1hr.h: Changed variable names

    * stage1hr.c: Using new variable names for paired-end lengths.  Generalized
      mask for oligosize.

    * gsnap.c: Removed -a flag and replaced it with -S flag.  Changed flags for
      paired-end lengths.

2008-03-31  twu

    * chrnum.c, chrom.c, chrom.h, chrsubset.c, segmentpos.c: Using new interface
      to IIT routines with divs.

    * get-genome.c: Moved Chrom_string_from_position function to iit-print.c

    * stage3hr.h: Changed variable names for paired-end lengths.

    * stage3hr.c: Using new interface to IIT routines wiht divs.  Changed
      variable names for paired-end lengths.

    * stage1hr.c: Made indel alignments extend inward from ends as far as
      possible.

    * stage1hr.c: Added new routine for computing indels without using dynamic
      programming matrix.  Maximizes matches from left to right.

2008-03-27  twu

    * iit-print.c, iit-print.h, iit-read.c, iit-read.h, iit-write.c,
      iit-write.h, iit_get.c, iit_store.c, iitdef.h: Introduced version 3 of IIT
      format, to handle multiple divs.

2008-03-20  twu

    * Makefile.dna.am, Makefile.gsnaptoo.am: Removed block_hr and blockdef files

    * pmapindex.c: Removed both uppercase and lowercase flags, and added -l flag
      to make the distinction

    * stage3hr.c: Changed order of output so type of match comes before genomic
      location

    * stage1hr.c: Handling short reads with lowercase characters.  Using
      Oligo_hr functions rather than Block_T functions.

    * sequence.c, sequence.h: Added functions to handle short reads with
      lowercase characters

    * oligo_hr.c, oligo_hr.h: Moved leftreadshift step out of oligo_hr functions

    * oligo-count.c: Using new interface to Block_new

    * indexdb_hr.c: Removed checking for duplicates

    * indexdb.c, indexdb.h: Added ability to mask lowercase characters in genome

    * gsnap.c: Made program work for query sequences with lower case

    * gmapindex.c: Removed uppercase and lowercase flags and added -l flag. 
      Making ".masked" indexdb files for masked genomes (where lowercase nts not
      indexed).

    * genome.c, genome.h: Changed name of variable

    * block.c, block_hr.c, block_hr.h, blockdef.h: Restored definition of
      Block_T to block.c

2008-03-06  twu

    * gsnap.c: Using new interfaces to Stage1 procedures

    * stage1hr.c: Deleted debugging statements that give a seg fault

    * stage1hr.c, stage1hr.h: Generalized procedures to use arbitrary oligosize

    * stage1.c: Using new interface to Block_new

    * block.c, block.h, block_hr.c, blockdef.h, oligo.c, oligo.h, oligo_hr.c,
      oligo_hr.h: Generalized procedures to handle arbitrary oligosize

    * indexdb_hr.c: Fixed bugs in adding wildcard nucleotides

    * indexdb.c: Fixed bug in recognizing index file at interval 6

    * Makefile.dna.am, Makefile.gmaponly.am, Makefile.gsnaptoo.am: Added new
      source files

    * stage3hr.c: Generalized print procedures to handle arbitrarily long reads

    * stage1hr.c, stage1hr.h: Added recursive procedures for paired end reads

    * stage1.c: Using original GMAP calls to Block_T procedures

    * oligo.c, oligo.h, oligo_hr.c, oligo_hr.h: Moved GSNAP-specific procedures
      to a separate file

    * intlist.c, intlist.h: Added function Intlist_ascending_by_key

    * indexdb_hr.c: Moved GSNAP-specific procedures to a separate file.

    * indexdb.h: Using "id<number>" as file suffix for offsets and positions
      files.

    * indexdb.c: Moved definition of Indexdb_T object to a separate file. 
      Separated GSNAP-specific procedures to a separate file.  Using
      "id<number>" as file suffix for offsets and positions files.

    * gmapindex.c: Removed -e flag for specifying subindexing

    * block_hr.c, block_hr.h: Made separate file for GSNAP-specific procedures

    * blockdef.h: Put Block_T definition into a separate file

    * block.h: Removed Block_T procedures specific to GSNAP

    * block.c: Put Block_T definition into a separate file.  Removed GSNAP
      parameters for GMAP calls to Block_T procedures.

2008-03-04  twu

    * stage1hr.c: Implemented recursive method for finding exact matches. 
      Binary search not yet added.

2008-03-03  twu

    * Makefile.am, cvs2cl.pl: Made maintainer Perl machine-independent

    * fa_coords.pl.in, gmap_process.pl.in, gmap_setup.pl.in, md_coords.pl.in:
      Made different make commands for gmapdb_highres and gmapdb_lowres

    * Makefile.dna.am, Makefile.gmaponly.am, Makefile.gsnaptoo.am: Customized
      each Makefile.am for its specific task

2008-02-29  twu

    * gmapindex.c, iit-read.c, segmentpos.c: Using new interface to obtain
      strings from Chrom_T objects

    * chrom.c, chrom.h: Restricted criteria for considering initial part of
      chromosome string as numeric.  Now storing initial string directly.

    * gsnap.c: Using new interface to print commands

    * stage3hr.c, stage3hr.h: Changed output to be more uniform, in a 1-column
      format

2008-02-28  twu

    * list.c: Added include of string.h

    * iit_plot.c: Made program able to print counts

    * iit-read.c: Added more informative error messages when offset appears
      incorrect relative to filesize.  Removed output of type in print_record.

    * gsnap-to-iit.c: Handles new GSNAP output format.  Handles remapping to
      genome.

    * get-genome.c: Made program work correctly on chromosomally tagged IIT map
      files

    * genomepage.c, genomepage.h: Removed sequence as a parameter

    * pair.c, pair.h, stage3.c: Modified output of exon map

    * plotgenes.c, plotgenes.h: Added function for printing counts

    * Makefile.dna.am, Makefile.gsnaptoo.am, blackboard.c, blackboard.h, gmap.c,
      gsnap.c, params.c, params.h, reqpost.c, reqpost.h: Removed Params_T object

2008-02-26  twu

    * gsnap-to-iit.c: Handling new version of gsnap output (after remapping).

    * gsnap-to-iit.c: Added -b flag to specify blocksize.  Made default
      blocksize 10000.

2008-02-14  twu

    * iit_plot.c, plotgenes.c, plotgenes.h: Fixed printing of genes in ascii
      format

2008-02-08  twu

    * plotgenes.c, plotgenes.h: Added binning by pixel.  Removed allgenesp for
      plot_counts.

2008-02-07  twu

    * gsnap-to-iit.c, plotgenes.c: Modified count format for IITs to store
      information in batches

    * plotgenes.c: Added printing of alternate counts.  Fixed problem for calls
      to IIT_get_typed.

    * gsnap-to-iit.c: Initial import into CVS

2008-02-06  twu

    * iit_plot.c: Increased top margin.  Added -V flag for handing count data.

    * plotgenes.c, plotgenes.h: Added function for plotting count data. 
      Handling signs for both versions 1 and 2 of IIT files.

    * iit-read.h: Added interface for IIT_version()

    * iit-read.c: Added abort statement for negative coordinates

    * sequence.c: Added functions for skipping sequences

    * indexdb.c: Commented out some information output to stderr

    * iit_get.c: If iit file not found, try adding ".iit" suffix

    * stage3hr.c: Printing distances for spliced reads only if distance value is
      nonzero

    * stage1hr.c: Fixed calculation of distances in spliced reads

2008-02-05  twu

    * Makefile.gmaponly.am, Makefile.gsnaptoo.am, Makefile.pmaptoo.am: Added
      compiler commands for iit_plot

    * iit_plot.c: Taken from mapplot.c in gdp.

    * genomepage.c, genomepage.h: Extracted commands from gdata-write in gdp.

    * plotgenes.c, plotgenes.h: Incorporated changes from gdp.  Improved
      plotting capabilities.

    * list.c, list.h: Incorporated changes from gdp.  Added List_from_string.

    * color.c: Incorporated changes from gdp.  Removed yellow.

2008-01-30  twu

    * gsnap.c: Limited reporting of exon-exon paths.  Added -E flag to turn off
      finding of exon-exon solutions.

    * genome.c, genome.h: Made Genome_fill_buffer return a false value if it
      goes into negative genome coordinates.

    * stage1hr.c: Skipping cases that result in negative genomic coordinates. 
      Skipping cases of finding first indels when alignment doesn't extend to
      the end.

    * stage3hr.c, stage3hr.h: Made fixes for handling exon-exon junctions

    * stage1hr.c: Fixed problems in handling various combinations of
      sense/antisense and plus/minus strands for exon-exon junctions.

2008-01-29  twu

    * gmap.c: Made finding canonical introns the default.  Made -X flag take an
      argument.

2008-01-17  twu

    * stage1hr.c, stage3hr.c, stage3hr.h: Improved algorithm for finding and
      ranking chimeras

2008-01-15  twu

    * gmap.c, pair.c, pair.h, stage3.c, stage3.h: Added output in IIT exon map
      format

    * stage1hr.c, stage3hr.c, stage3hr.h: Added printing of number of mismatches
      for chimeras

2008-01-14  twu

    * dynprog.c: Added type cast for memset.

    * stage1hr.c: Reduced max mismatches to 4.  Penalized mismatches further in
      finding breakpoints for chimeras.

    * stage3hr.c: Reporting breakpoint coordinates for chimeras

    * stage1hr.c: Increased penalty for mismatches to help find correct
      breakpoint for chimeras

2008-01-12  twu

    * Makefile.gmaponly.am, Makefile.gsnaptoo.am, Makefile.pmaptoo.am,
      stage1hr.c, stage3hr.c, stage3hr.h: Added probabilistic calculations of
      splice sites

2008-01-11  twu

    * gsnap.c, stage1hr.c, stage1hr.h, stage3hr.c, stage3hr.h: Implemented code
      for identifying chimeras

    * resulthr.c, resulthr.h: Added a new type for chimeras

2008-01-09  twu

    * stage1hr.c: Fixed typo in variable name

    * resulthr.c, resulthr.h, stage3hr.c, stage3hr.h: Added the ability to
      report paired-end cases that fail to co-localize

    * gsnap.c: Added the ability to report paired-end cases that fail to
      co-localize

    * gmap.c: Cleaned up some code

    * gsnap.c, stage1hr.c, stage1hr.h: Added -o flag to specify optimum length

    * gsnap.c: Added -I flag for specifying inversion of second read of paired
      end read

    * sequence.c, sequence.h: Added procedure for printing revcomp of a short
      read

    * stage3hr.c, stage3hr.h: Provided options for printing second read either
      in original direction or as reverse complement.

    * stage1hr.c: Fixed various memory leaks

2008-01-08  twu

    * gsnap.c: Added flag to print all solutions, either for single read or for
      paired end read.

    * stage3hr.c, stage3hr.h: Added procedures for sorting results of single
      read mappings

    * stage1hr.c, stage1hr.h: Added ability to print all solutions in single
      read

    * stage3hr.c, stage3hr.h: Added sorting of results by closeness to optimal
      distance

    * gsnap.c: Removed unused variables.  Removed instant printing feature.

    * stage1hr.c, stage1hr.h: Removed instant printing feature

    * resulthr.c, resulthr.h: Generalized Result_T object so it can print either
      single or paired end results

    * sequence.c, sequence.h: Implemented procedure for reading short reads,
      either single or paired ends.

    * request.c, request.h: Enabled storage of paired reads in Request_T object

    * stage3hr.c, stage3hr.h: Implemented routines for storing and printing
      paired ends

    * stage1hr.c: Implemented separate strategy for handling reads with poly-A
      or poly-T 12-mers.  In such cases, need to test 12-mers exhaustively.

2008-01-07  twu

    * stage1hr.c, stage1hr.h: Initial implementation of mapping for paired
      reads.  For consistency, changed indel to be same rank as sub:2 for single
      reads.  Generalized separator used in printing results.

2008-01-04  twu

    * stage1hr.c: Separated single read strategy into separate components

    * sequence.c: Fixed a memory leak.

    * stage3hr.c, stage3hr.h: Added a stage3 procedure specific for GSNAP

    * sequence.c, sequence.h: Added a read procedure that converts input to
      uppercase

    * gsnap.c, resulthr.c, resulthr.h: Made GSNAP algorithm return results
      rather than printing them

    * Makefile.gmaponly.am, Makefile.gsnaptoo.am, Makefile.pmaptoo.am: Removed
      gregion.c and added stage3hr.c to GSNAP build

    * stage1hr.c, stage1hr.h: Made algorithm return results rather than printing
      them.  Fixed a bug in handling cases with mismatches on both ends.

2007-12-19  twu

    * gmap.c, pair.c, pair.h, stage3.c, stage3.h: Added -4 flag for printing
      alignments per exon

    * gsnap.c: Removed unused code

    * stage1hr.c: Removed unused header files and objects

    * stage1.c, stage1.h: Added function Stage1_size()

    * resulthr.c, resulthr.h: Added specialized Result_T for GSNAP

    * reqpost.h: Added conditional include of resulthr.h for GSNAP

    * params.c, params.h: Removed obsolete fields

    * matchpair.c, matchpair.h: Removed obsolete functions

    * iit-read.c: Removed warning message about not finding a file

    * stage3.h: Made maponly mode work with Gregion_T objects.

    * stage3.c: Fixed bug where genomicuc_ptr was NULL.  Made maponly mode work
      with Gregion_T objects.

    * gregion.c, gregion.h: Added fields to Gregion_T for maponly mode.

    * gmap.c: Restored old maponlyp code.  Added error message if pthreads fails
      on operating system.

    * genuncompress.c: Added flag to print one character per line

    * blackboard.c, blackboard.h: Added function to see if blackboard is done

    * Makefile.gmaponly.am, Makefile.gsnaptoo.am, Makefile.pmaptoo.am: Added
      commands for GSNAP

2007-12-07  twu

    * pair.c: Fixed bug with trim_end, now an exclusive coordinate rather than
      an inclusive one.

    * cvs2cl.pl: Added changelog program to CVS

    * gmap.c: Changed calls to Stage1_compute to match new interface

    * stage1hr.h: Removing unused parameters

    * stage1hr.c: Corrected positions of 12-mers for sequences shorter than 36
      nt. Reduced final threshold score to 12.  Checking for repetitive
      sequence.

    * stage1.c, stage1.h: Separated stage 1 low-resolution procedure from
      high-resolution procedure.

    * block.c, block.h, indexdb.c, indexdb.h, oligo.c, oligo.h: Added procedure
      for counting number of genomic positions for a given oligomer

    * gsnap.c: Now calling Stage1hr_compute directly.  Removed some unused code.

    * gmap.c: Restored maponly mode

2007-12-06  twu

    * stage1hr.c: Initial attempt to generalized procedure to handle oligomers
      shorter than 36, using initial testing of 3 12-mers.

2007-12-02  twu

    * stage1hr.c: Fixed bugs in computation and printing of middle indels. 
      Fixed bug when best_querypos (in terms of npositions) was -1.

2007-12-01  twu

    * stage1hr.c: Added strategy of using most specific oligomer to drive search
      for exact matches.

    * stage1hr.c: Added keep_score parameter to find_segments.

    * indexdb.c: Made heapify faster.  Hard-coded left_nts and right_nts to be 1
      in read_shifted.

    * genome.c: In Genome_fill_buffer, checking for negative starting
      coordinate, and filling with N's if necessary.

    * stage1hr.c: Limited dynamic programming to just the non-matching oligomer,
      whenever possible.

2007-11-30  twu

    * stage1hr.c: Added a triplet matching step with binary search to find exact
      matches.  Fixed a bug in find_segments in handling the last diagonal.

    * stage1hr.c: Changed output format to show substitutions, insertions, and
      deletions.  Made speed improvements in heap algorithm.

2007-11-29  twu

    * gsnap.c: Simplified code for handling short reads.  Stopped usage of
      oligoindex.

    * stage1hr.c: Implemented version that handles indels.  Some speed
      improvements in reporting exact matches when found.

2007-11-28  twu

    * stage1hr.c: Removed unused code

    * stage1hr.c, stage1hr.h: Working version implemented for 36-mers, allowing
      for substitutions

    * stage1.h: Taking queryseq as an argument for Stage1_compute (needed for
      gsnap).

    * stage1.c: Using new interface to Block_process_oligo

    * Makefile.am: Makefile.am now generated by bootstrap from other files

    * stage2.c: Added debugging statements

    * sequence.c, sequence.h: Added procedure Sequence_print_oneline

    * rbtree.c, rbtree.h, rbtree.t.c: Initial import into CVS

    * result.c, result.h: Added procedure Result_blank

    * params.c, params.h: Removed truncstep

    * oligoindex.c: Added correct calculation of badoligos

    * oligo.c, oligo.h: Providing diagterm information to lookups from indexdb

    * indexdb.c, indexdb.h: Changed high-resolution indexdb to be subclassified
      by adjacent nucleotides, rather than by phase.

    * gregion.c, gregion.h: Initial import into CVS

    * gsnap.c: Adding separate main program for gsnap.

    * block.h: Added function Block_skipto.  Giving diagterm information to
      Oligo_lookup.

    * block.c: Added function Block_skipto.  Revised coordinates assigned to
      last_querypos.  Giving diagterm information to Oligo_lookup.

    * Makefile.gmaponly.am, Makefile.pmaptoo.am: Added hooks for gsnap

    * fa_coords.pl.in: Improved handling of cases where chromosome is not parsed

    * gmap_setup.pl.in: Added -H flag to generate high-resolution gmap dbs.

2007-11-26  twu

    * iit_store.c: Fixed bug in handling GFF files

2007-11-14  twu

    * indexdb.c, indexdb.h: Implemented precise positioning by organizing
      composite positions according to phase

2007-11-13  twu

    * result.c, result.h: Remove stage 1 diagnostic information

    * matchpair.c, matchpair.h: Making matchpair generate gregion as output from
      stage 1

    * gmap.c: Using new interface to stage 1.  Removed maponly output.

    * Makefile.gmaponly.am, Makefile.pmaptoo.am, stage1hr.c, stage1hr.h: Moved
      high-resolution stage 1 algorithm to a different file

    * stage1.c, stage1.h: Eliminated diagnostic fields.  Made interface for
      low-resolution version compatible with high-resolution version.

2007-11-03  twu

    * stage3.c, stage3.h: Removed matchpairend and Stage3_direct procedure

    * stage1.c, stage1.h: Reverting back to 2007-09-28 version

    * pmapindex.c: Changed order of arguments in a function call

    * params.c, params.h: Added slots for truncstep and chromosomal transitions.

    * list.c, list.h: Added functions List_insert and List_reinsert.

    * indexdb.c, indexdb.h: Added function Indexdb_shiftedp.  For
      high-resolution indexdbs, added code to merge batches using either a queue
      or a heap.

    * iit-read.c, iit-read.h: Added function IIT_transitions_subset.

    * gmapindex.c: Added -e flag to specify high-resolution genomic indices

    * chrsubset.c, chrsubset.h: Added function Chrsubset_transitions.  Added
      assumption to Chrsubset_includep.

    * chrnum.c, chrnum.h: Added function Chrnum_print_position

    * block.h: Added function Block_donep.

    * block.c: Improved debugging output.  Added function Block_donep.

    * access.h: Added function to report if file exists.

    * access.c: Improved error messages.  Added function to report if file
      exists.

2007-10-16  twu

    * stage1.c: Refined high-resolution algorithm

2007-10-11  twu

    * orderstat.c: Included appropriate header files for memcpy

2007-10-08  twu

    * reader.c: Made reader go all the way to the ends of the sequence

    * sequence.c: Fixed computation of trimlength

    * indexdb.c, indexdb.h: Implemented read and write procedures for new
      genomic index format (trading off position resolution for adjacent
      nucleotide contents).

2007-10-07  twu

    * stage1.c: Implemented mapping at ends

    * stage1.c: Completed initial mapping from middle outward

2007-10-06  twu

    * stage1.c: Added computation of best subpaths

2007-10-03  twu

    * stage1.c: Implemented high-resolution mapping, and arbitrarily long
      matches for the middle of the sequence outward.

2007-09-30  twu

    * stage1.c: Attempt to use diagonals to find genomic position

2007-09-29  twu

    * genome.c, genome.h: Added Genome_totallength function

    * stage1.c, stage1.h: Added procedure to match doubles of truncated indexdb
      entries

2007-09-28  twu

    * gmap_setup.pl.in: In -S mode (treating each contig as a chromosome),
      turning off sorting of chromosomes and contigs.

    * gmapindex.c: Added -S flag to turn off sorting of chromosomes and contigs

    * table.c, table.h, tableint.c, tableint.h: Added ability to return keys
      sorted by timeindex

    * stage1.c, trial.c, trial.h: Changes made to scan query sequence from
      middle outward

    * VERSION: Updated version

2007-09-27  twu

    * gmap.c: Fixed bug for -f 9 and -E output when no paths were found

2007-09-26  twu

    * VERSION: Updated version

    * index.html: Revised features for 2007-09-26 version

    * gmap_update.pl.in: Made new IIT file permissions the same as the old
      permissions

    * gmap_update.pl.in: Made new IIT file permissions the same as the old
      permissions

    * iit-read.c: Added error messages to various conditions in IIT_read

2007-09-25  twu

    * sequence.c: Fixed reading of sequences with multiple PC line feeds

2007-09-20  twu

    * stage1.c: Kept code that depended on USE_MATCHPOOL and removed alternate
      (old) code

    * block.c, block.h: Put save variables inside Block_T object

2007-09-19  twu

    * VERSION: Updated version number

    * MAINTAINER: Added reminder to do cvs tag

    * iit-read.c, iit-read.h, iit-write.c: Moved compute_flanking procedure from
      iit-read.c to iit-write.c

    * Makefile.am, configure.ac, gmap_update.pl.in: Added gmap_update program

    * Makefile.am: Added compile instructions for iit_update

    * iit-write.c: Made stringlen of type off_t (to handle annotations of length
      greater than can be handled by int).  Added check to make sure stringlen
      is non-zero.

    * iit-read.c: Made stringlen of type off_t (to handle annotations of length
      greater than can be handled by int)

    * archive.html, index.html: Made changes for 2007-09-20 release

2007-09-18  twu

    * Makefile.gmaponly.am, Makefile.pmaptoo.am, iit-read.c, iit-read.h,
      iit-write.c, iit-write.h, iit_update.c: Implemented iit_update program

    * iit_store.c: Added -v flag to specify desired version

2007-09-17  twu

    * oligoindex.c, stage2.c: Changed R output for diagonal graphics

2007-09-12  twu

    * gmap.c: Added a check to make sure we don't push NULL for Stage3_T object.

    * dynprog.c: Fixed bug in Dynprog_dual_break; need to compute matrix scores
      only to the minimum of length1 and length2.

2007-09-11  twu

    * dynprog.c: Fixed problem where Dynprog_dual_break was exiting
      unnecessarily; need to be concerned only about shorter distance.

    * stage3.c: Added cDNA direction to debugging statements

    * iit_get.c, stage3.c: Added sign argument for getting flanking entries

    * pair.c: Added provision in PMAP to limit coverage to 100% (could exceed
      previously because of implicit stop codon added at end of query sequence).

    * iit-read.c, iit-read.h: Added a sign argument for getting flanking entries

    * get-genome.c: Added flags for accessing from map files entries of a
      particular direction or tag

    * stage1.c: Performing filtering based on clustersize only if too many
      entries and at least one cluster is large.

2007-09-04  twu

    * stage1.c: Removed filtering based on too many matching pairs

2007-08-30  twu

    * gbuffer.c, gbuffer.h, gmap.c: Removed unused code and parameters from
      Gbuffer_T

    * gmap.c: Allocating memory for genomicseg only as needed

2007-08-28  twu

    * blackboard.c, blackboard.h, gmap.c, sequence.c, sequence.h: Added ability
      to read input from multiple sequence files

    * oligoindex.h: Changed calls to reset oligoindex

    * oligoindex.c: Fixed hang that resulted when no oligomer positions were
      found.  Eliminated an extra call to Oligoindex_set_inquery.

    * stage2.c: Changed call to Oligoindex to reset after tally

    * stage1.c: Modified debugging output

    * match.c, mem.c: Enhanced debugging output

    * stage2.c, stage2.h: Returned to previous algorithm for finding shifted
      canonical dinucleotides, but now allocating memory dynamically.

    * gbuffer.c, gbuffer.h: Removed pre-allocated memory for finding shifted
      dinucleotides

    * stage2.c: Attempt to conserve memory used in finding shifted canonical
      dinucleotides.  However, results in speed penalty.

2007-08-26  twu

    * gbuffer.c, gbuffer.h: Removed unused matchscores variable and unnecessary
      memory allocation.

2007-08-24  twu

    * gmap_uncompress.pl.in: Added a missing space in the output

2007-08-23  twu

    * gmap_uncompress.pl.in: Added coordinates output (with flag '-f 9')

2007-08-22  twu

    * pair.c: Fixed potential divide-by-zero bug

2007-08-20  twu

    * gmap_setup.pl.in: Added a .SUFFIXES: command at top to prevent unexpected
      behaviors

2007-08-18  twu

    * stage2.c: Added step to recover when all scores at a querypos are
      negative, by continuing from grand result.

2007-08-16  twu

    * pair.c, pair.h, stage2.c, stage2.h, stage3.c: Computing defect rate in
      middle of stage 3, instead of in stage 2

2007-08-15  twu

    * oligoindex.c: Restored amino acid alphabet to 20 from 18.

    * oligoindex.c: Fixed typo in variable name

    * stage2.c: Inactivated limit on number of active hits

    * Makefile.gmaponly.am, Makefile.pmaptoo.am: Added orderstat.c and
      orderstat.h to code

    * orderstat.c, orderstat.h: Modified procedures to compute order statistics
      in place and for both doubles and ints.

    * oligoindex.c: Computing overabundance based on upper percentile of
      non-zero counts

    * doublelist.h: Added Id info to header

    * gmap.c: Fixed memory leak when user segment is provided

    * orderstat.c, orderstat.h: Added orderstat to CVS

    * oligoindex.c, oligoindex.h: Trial to eliminate limit on maxoligohits

    * stage2.c: Improved output for graphical debugging

    * oligoindex.c: Improved debugging output

2007-08-13  twu

    * stage2.c: Fixed problem with debugging output

    * stage1.c: Added pruning by path sizes

    * matchpair.c, matchpair.h: Added a procedure for finding path size of a
      given matchpair

2007-07-16  twu

    * Makefile.gmaponly.am, Makefile.pmaptoo.am: Created two specialized
      Makefile.am files

    * Makefile.am: Preparing for iit and genome libraries

    * bootstrap, bootstrap.gmaponly, bootstrap.pmaptoo: Created separate
      bootstrap routines for gmap and gmap-plus-pmap

    * VERSION: Updated version number

    * iit-read.c: Computing alphas and betas for iit_dump

    * iit-read.c: Computing alphas and betas only when needed for flanking

    * gmapindex.c, iit-read.c, iit-read.h, iit-write.c, iit-write.h, iit_get.c,
      iit_store.c, iitdef.h: Added fields for annotation in IITs

    * indexdb.c: Added monitoring information

2007-06-25  twu

    * genome-write.c, segmentpos.c: For version 2 IITs and later, getting sign
      directly from IIT, rather than from annotation.

    * get-genome.c, plotgenes.c: Providing sortp parameter to IIT_get

    * iit_store.c: Added -v flag to print IIT version

    * iit_get.c: Added -U flag to indicate unsigned results

    * genome.c: Added comment

    * gmapindex.c: No longer writing segment length in contig IITs

    * iit-write.c: Writing alphas and betas for correct calculation of flanking
      intervals.

    * iit-read.c, iit-read.h: Using alphas and betas for correct calculation of
      flanking intervals. Added functions IIT_types, IIT_get_all, and
      IIT_get_all_typed.

    * interval.h: Added interface for Interval_sign

    * iitdef.h: Added space for alphas and betas, needed for correct calculation
      of flanking intervals

2007-06-22  twu

    * dynprog.h: Defined UNKNOWNJUMP to be used for temporary gapholders during
      stage 3 calculations.

    * dynprog.c: Returning NULL on all failures, without gapholders (which are
      now inserted by calling procedures in stage 3).  Allowing 5' and 3'
      extensions to work to maxlength allowed.

2007-06-21  twu

    * iitdef.h: Added version to IIT_T

    * interval.c: Storing sign for each interval

    * iit-read.c, iit-read.h, iit-write.c, iit-write.h: Introduced version 2
      format, which stores sign for each interval.  Not using annotation anymore
      to represent sign.  Added function IIT_find_multiple.

    * pairpool.c: Improved debugging statements

    * gdiag.c, get-genome.c, gmap.c, iit-read.c, iit-read.h, iit_get.c,
      interval.c, interval.h, plotgenes.c, segmentpos.c, stage3.c: Added ability
      to sort intervals by coordinates in IIT_get routines

    * mem.c: In comments, showing how TRAP should be defined

    * stage3.c: Whenever dynprog procedure returns NULL, make sure to put back
      peeled pairs and insert a gapholder.  Fixes a bug in BQ672778 against
      hg18. Jumps in gapholders now calculated only in certain procedures.

2007-06-07  twu

    * stage3.c: Removed abort commands on peels that run into gaps

    * dynprog.c: Expanded on comment

2007-06-04  twu

    * VERSION, index.html: Updated version

    * dynprog.c: Removed insertion of gapholder for a single gap that is too
      long to solve.

2007-06-02  twu

    * stage1.c: Added debugging statement to signal end of stage 1

    * dynprog.c: Eliminated allocation of temporary Dynprog_T objects

    * pair.c: Now printing query_skip in -A and -S output

2007-05-29  twu

    * dynprog.c: Lowered gap penalties for single gaps.  Fixed bug in solving
      dynamic programming for lower-case input sequences.

    * stage3.c: Added procedures for cleaning non-matches at ends of alignment,
      which are always called.

    * stage3.c: Removing all nonmatches at 5' and 3' ends

2007-05-25  twu

    * VERSION: Updated version

    * index.html: Made changes to reflect 2007-05-25 version

    * pair.c, pair.h, stage3.c: Added coverage and identity information to GFF3
      output

    * archive.html, index.html: Made changes to reflect 2007-05-25 version

2007-05-24  twu

    * configure.ac: Checking both fixed and variable mapping for mmap

    * fa_coords.pl.in: Fixed problem in parsing lines containing the word
      "chromosome"

    * stage3.c: Fixed bug in solving dual breaks

    * pair.c: Fixed PSL output so query and target gaps are computed directly
      from the block starts and lengths.

    * gmap.c: Added flag -j for showing dual breaks

    * dynprog.c: Fixed bug where solution of dual break exceeded minimum gap

2007-05-15  twu

    * stage3.h: Added do_final_p parameter to Stage3_compute

    * stage3.c: Incorporating procedure to trim bad middle exons

    * stage1.c: Performing salvage if total number of matches is relatively low

    * smooth.c: Added to exon length in smoothing for short exons

    * pair.c: Added test code to print information about extra exons

    * intron.c: Removing call to abort.

    * dynprog.c: Added code to bridge dual break with rewards for canonical
      introns. Tweaked some parameters, including less penalty for gap
      extensions.

2007-04-26  twu

    * mem.c: Added error messages for memory allocation problems

    * gmap.c: Added -X flag for heavily favoring canonical and semi-canonical
      introns

2007-04-23  twu

    * gmap.c: Made strict translation the default again

    * indexdb.c: Added "U" to integers in bit operations

    * genome.c: Using two arrays instead of one for translate.

    * compress.c: Using two arrays instead of one for translate.  Added various
      abort checks.

    * translation.c: Removed unnecessary checks of extraexonp

    * pair.c: Fixed Pair_dump_one so it handles extraexonp flag

    * pairpool.c: Fixed bug in assigning extraexonp

    * pair.c: Changed add_intronlengths slightly

    * acx_mmap_variable.m4: Moved AC_DEFINE out of macro, to be called
      explicitly in configure.ac

    * acx_mmap_fixed.m4: Added macro for testing mmap with MAP_FIXED

    * gmap.c: Made frameshift-tolerant translation the default

    * pair.c: Changed output of CDS in gff3 mode to produce an in-frame protein
      sequence

    * translation.h: Added strictp for PMAP.

    * translation.c: Added strictp for PMAP.  Handling extraexonp items in
      alignment.

    * stage3.c: Giving extraexonp information to pairpool procedures for
      gapalign items

    * pair.h: Added procedure for computing fractional error.

    * pair.c: Added provisions for handling extraexonp flag.  Added procedure
      for computing fractional error.

    * pairpool.c, pairpool.h: Added provisions for handling extraexonp flag

    * pairdef.h: Added flag for extra cDNA exon

    * comp.h: Added comp for extra cDNA exon

    * stage3.h: Added strictp for PMAP.

    * stage3.c: Added procedures for trimming internal exons with poor matches,
      and for finding extra exons in a dual break.  Added strictp for PMAP.

    * dynprog.c, dynprog.h: Added procedures for finding extra exons in a dual
      break

    * compress.c: Provided more informative error message

    * oligoindex.c: Handled an arithmetic error caused by divide by zero

    * gmap.c: Added flag -H for handling trimming middle exons and reporting of
      dual breaks.  Removed flag -j.  Allowed strictp to be used in PMAP.

2007-04-17  twu

    * align.test.ok, map.test.ok: Made test output match current output

    * acx_mmap_variable.m4, configure.ac: Added check for mmap using
      MAP_VARIABLE (because AIX fails on MAP_FIXED)

    * gmap.c: Fixed global variables not used in PMAP

    * stage2.c: Fixed check for negative scores to work for PMAP

2007-04-16  twu

    * stage1.c: Placing bound on number of samples taken over query sequence

    * stage2.c: For very long sequences, pruning based on clear coverage

    * oligoindex.c, oligoindex.h: Added computation of clear coverage (percent
      of query sequence covered by relatively few diagonals).

    * matchpair.c: Added debugging statements

2007-04-06  twu

    * stage2.c: Added restriction on distance for grand lookback.  Added check
      on nactive for scoring at querypos.

    * stage2.c: Added nactive as a filter in stage 2

2007-04-02  twu

    * stage2.c: Added comment about a way to restrict debugging output

    * iit-read.c: Added start/end information to endpoints in dumping counts

2007-03-22  yunli

    * modules: *** empty log message ***

    * modules: *** empty log message ***

    * modules: *** empty log message ***

2007-03-08  twu

    * stage2.c: Quitting if totalpositions is zero

    * gmap.c: Enabled table output (-f 9) for relative alignment mode (-w).

2007-03-03  twu

    * stage2.c: Fixed bug which led to the partial fill problem in filling
      oligomers

2007-03-02  twu

    * Makefile.am: Added pthread_libs for iit utilities

2007-03-01  twu

    * gdiag.c: Added printing of centromere regions.  Printing marginals more
      efficiently.

    * Makefile.am: Added chrnum and chrsubset files to gdiag

    * iit-read.c, iit-read.h: Made IIT_transitions function return signs

2007-02-28  twu

    * gdiag.c: Added flag for ignoring main diagonal.  Fixed problem with
      printing revcomp diagonals.  Added code for computing different types of
      patterns.

2007-02-21  twu

    * gdiag.c: Added hooks for user to enter chromosomal subsets

    * complement.h: Added a character code string that doesn't convert to
      uppercase, for gdiag.

2007-02-20  twu

    * gdiag.c: Added ability to use map iit files.  Skipping over masked regions
      in determining lookback.

    * gdiag.c: Fixed bug in retrieving last part of sequence from gmapdb. 
      Providing flag to ignore lowercase (e.g., masked) characters in query.

    * gdiag.c: Added ability for user to provide genomic segment

    * Makefile.am: Added iit-write source files for gdiag

    * gdiag.c: Fixed bug where genomestart could be less than genomeend in a
      diagonal.  Made separate procedures for updating forward and revcomp
      diagonals.

    * indexdb.c, indexdb.h: Added procedure IIT_read_inplace for gdiag.

    * iit-write.h: Added procedure IIT_new to allow creation and use of iit in
      the same program.

    * iit-write.c: Added procedure IIT_new to allow creation and use of iit in
      the same program.  Simplified code for Node_fwrite.

    * iit-read.c, iit-read.h: Added procedure IIT_transitions

2007-02-19  twu

    * gdiag.c: Added a ring structure to increase speed

2007-02-18  twu

    * genome.c, genome.h: Added procedures for gdiag

    * gdiag.c: Made speed improvements by not storing full 24-mers, but rather
      storing results of previous 12-mers

    * gdiag.c: Added calculation of diagonals, ability to read query from
      gmapdb, and storage of intervals.

2007-02-17  twu

    * Makefile.am, gdiag.c: Added program gdiag

2007-02-12  twu

    * gmap.c: Increased parameter for maxoligohits

    * stage3.c: Lowered parameter for intronlen

    * stage2.h: Removed unused function

    * stage2.c: Changed distance penalty to consider both gendistance (now
      linearly, instead of logarithmically) and querydistance (quadratically). 
      Using both maxnconsecutive and pct_coverage to decide whether to continue
      with stage 2.

    * stage1.c: Reduced parameter for number of trials

    * pair.c: Fixed calculation of coverage for PMAP

    * oligoindex.h: Moved parameters here

    * oligoindex.c: Implemented algorithm for PMAP.  Allowing a diagonal to
      dominate only if it is completely consecutive.

2007-02-09  twu

    * iit-read.c, iit-read.h: Added function to dump labels

    * gmap.c: Fixed bugs with map iit files: bad test for distinguishing between
      universal map files and chromosomal map files, and incorrectly checking
      map tags against chromosomal iit.

    * oligoindex.c, oligoindex.h: Added computation of percent coverage by
      diagonals

2007-02-08  twu

    * access.c: Added a debugging statement

    * gmap.c: Fixed floating point error when trimoligos is zero

    * gmap.c, oligoindex.c, oligoindex.h, stage2.c, stage2.h: Added graphical
      debugging output for stage 2

    * smooth.c: Distinguishing use of genomejump and queryjump lengths in
      pre-single-gap smoothing versus post-single-gap smoothing.

2007-02-07  twu

    * gmap.c: Fixed floating exception when sequence has no oligos

    * stage2.c: Initializing guide in 5' trim region, until first hits are
      found.

    * gmap.c: Changed default pruning behavior to be no pruning.

    * oligoindex.c: Made speed improvements in scanning diagonals.  Removed old
      code for computing maxconsecutive.

    * oligoindex.h, stage2.c: Changed name of variable

    * oligoindex.c: Eliminated convex hull algorithm and implemented method
      based on ordering of diagonals.

    * diag.c, diag.h: Removed unused procedures

    * oligoindex.c: Implemented a convex hull algorithm to determine minactive
      and maxactive bounds.

    * diag.c, diag.h: Added a procedure to sort diagonals based on closeness to
      origin

2007-02-06  twu

    * oligoindex.c, oligoindex.h, stage2.c: Restored computation of
      maxgoodconsecutive to filter out bad stage1 candidates

    * stage2.c: Allowing fill of nucleotides to occur even when
      querypos/lastquerypos or genomepos/lastgenomepos are too close.

    * oligoindex.c: Added new procedure for determining dominance among
      diagonals

    * diag.c, diag.h: Added procedure for sorting by nconsecutive

    * stage2.c: Using minactive and maxactive to bound current querypos, and
      active to determine available hits for previous querypos.

    * oligoindex.c, oligoindex.h: Computing diagonals inside
      Oligoindex_get_mappings procedure. Implemented simple dominance procedure.

    * diag.c, diag.h, diagdef.h, diagpool.c, diagpool.h: Added fields for
      nconsecutive and dominancep

    * oligoindex.c: Changes in parameters

    * stage2.c: Changes to debugging output

2007-02-05  twu

    * oligoindex.c: Speed improvements by inlining calls to Intlist accessors

    * stage2.h: Removed unused function

    * oligoindex.h, stage2.c: Using length as a criterion instead of
      nconsecutive for proceeding to dynamic programming

    * oligoindex.c: Reduced requirement for nconsecutive in scanning diagonals. 
      Keeping cumulative track of highest and lowest diagonals.  Added
      extra_bounds to diagonal bounds.

    * Makefile.am, diag.c, diag.h, diagdef.h, diagpool.c, diagpool.h, gmap.c:
      Adding Diag_T and Diagpool_T objects for scanning diagonals

    * oligoindex.c, oligoindex.h, stage2.c, stage2.h: Scanning diagonals to set
      bounds on active oligomers

    * Makefile.am, gmap.c, intpool.c, intpool.h, oligoindex.c, oligoindex.h,
      stage2.c, stage2.h: Added Intpool_T object to manage storage for Intlist_T
      objects

    * gmap.c: Using new interface to Stage3_compute

    * stage2.c: In dynamic programming, added a lookback to the grand best
      querypos and hit

    * intlist.c, intlistdef.h: Provided exposure to internal structure of
      Intlist_T

2007-02-04  twu

    * oligoindex.c, oligoindex.h, stage2.c: Implemented faster algorithm for
      identifying active stage 2 oligomers.

    * stage2.h: Removed unused procedures

    * oligoindex.c, oligoindex.h, stage2.c: Implemented procedures to skip over
      unused mappings, based on active

2007-02-02  twu

    * gmap.c, oligoindex.c, oligoindex.h, stage2.c, stage2.h: Implemented new
      stage 2 procedure.  Now using oligoindex at minindexsize and filtering
      those hits according to a local search. Initial search is based on
      maxindexsize.  Uncovered ends of the alignment receive a looser local
      search criterion.  Increased stage 2 lookback from 60 to 100.

    * translation.c: Fixed bug where first cDNA amino acid appeared under a cDNA
      space.

    * stage1.c: Adding one more trial for long sequences

    * pair.h, stage3.h: Computing coverage and now trimmed coverage at print
      time.

    * pair.c: Computing coverage and now trimmed coverage at print time.  Added
      output line for trimmed coverage.  Added trim information in compressed
      (-Z) output.  Adjusting output of trim boundaries based on alignment.

    * stage3.c: Computing coverage and now trimmed coverage at print time. 
      Increased parameter for minintronlength.

    * gmap.c: Removed -X (cross-species) flag

2007-02-01  twu

    * oligoindex.c: Added code for 18-amino-acid alphabet

    * gmap.c: Made user_stage1p false

    * stage2.c: Trying to make penalties consistent across different cases

2007-01-31  twu

    * stage3.c: Initialized variables in Stage3_T object

    * pair.c: Fixed memory leak in gff exon mode (-f 2)

2007-01-07  twu

    * stage3.c: If both single and dual gap solutions are canonical, picking
      solution with best score.

2007-01-06  twu

    * dynprog.c: Made reward for final canonical intron uniform across defect
      rates. Boosted reward for final semicanonical intron to match that for
      canonical intron.

2007-01-05  twu

    * pair.c: Fixed dinucleotide output in compressed (-Z) format when
      user-provided genomic segment has lower-case characters.

2007-01-04  twu

    * stage2.c: Reduced value of EQUAL_DISTANCE, to favor better local alignment
      over longer global alignment

    * stage3.c: Counting exons only after gaps filled in

    * pair.c, pair.h: Added procedure for counting exons after gaps filled in

2007-01-03  twu

    * dynprog.c: Made one-sided gap behavior true only for single gaps and end
      gaps

    * stage3.c: Removed fix_pmap_holes function and all references to it

2006-12-18  twu

    * index.html: Updated version

    * VERSION: Updated version

    * translation.c: Prevented assignment of incomplete last codon on cDNA side
      in strict mode

    * stage1.c: Removed unused variables

    * matchpair.c: Increased EXTRA_SHORTEND

    * gmap.c: Reduced default trimexonpct.  Changed bandwidths for single and
      gap gaps.

    * dynprog.c: Added onesidegap behavior, which allows gaps on either genomic
      or cDNA side, but not both.  Added concept of fixeddestp, which is not
      true for the ends.

2006-12-15  twu

    * VERSION: Updated version

    * index.html: Made changes to reflect new version and strict translation as
      default

    * gmap.c: Reduced extraband_end

    * dynprog.c, gmap.c: Reduced extraband_single to prevent gaps from being
      inserted on both sides

    * gmap.c, pair.c, pair.h, sequence.c, sequence.h, stage3.c: For PMAP, adding
      an implicit stop codon at end of sequence if not already present, and
      distinguishing between computational fulllength and given fulllength.

    * smooth.c: Changed probability threshold for identifying short exons

2006-12-14  twu

    * gmap.c: Made strict translation the default, and tolerant translation
      turned on by -Y flag

    * stage3.c: Providing pound signs in dual breaks in diagnostic output. 
      Replacing backtranslation characters with 'N' in PMAP output.  Removed
      microexon search from PMAP.  Using single gap procedure instead of
      fix_pmap_holes procedure for PMAP.

    * pair.c: Counting ambiguous characters as matches in all instances of
      computing percent identity

    * indexdb.h: Added variables for 5-aa mers

    * dynprog.c: Limiting bandwidth in single gap alignment to be dependent on
      differences in segment lengths

    * backtranslation.c: Not performing backtranslation if any genomic codon
      position is blank.

    * md5.t.c: Removed unused file

2006-12-13  twu

    * dynprog.c: Reduced width of band in single gaps when lengths are equal

    * translation.c: Fixed strict translation mode, so it begins as same
      location as genomic translation.

    * stage3.c: Removed step of merging adjacent dynamic programming.  Using two
      different smoothing steps.  Protected small introns from being solved as
      single gaps in final intron pass.

    * smooth.c, smooth.h: Created two separate smoothing procedures, one based
      on net gap, and one based on size.

    * dynprog.c: For cDNA gaps, inserting indel pairs only if both gaps are
      small

2006-12-12  twu

    * map.test.ok: Added blank line at end

    * VERSION: Updated version

    * MAINTAINER: Added reminder to check cvs log to make sure files are all up
      to date

    * stage3.c: Removing gaps at 5' and 3' ends after end extensions.  Checking
      for division by zero in trim_bad_exons.

    * Makefile.am: Simplified list of source files

2006-12-09  twu

    * archive.html: Updated to reflect 2006-12-08 version

2006-12-08  twu

    * archive.html: Merged into trunk

    * defs: Initial import into CVS

    * Makefile.am, align.test.in, align.test.ok, coords1.test.in,
      coords1.test.ok, iit_dump.test.in, iit_get.test.in, iit_store.test.in,
      map.test.in, map.test.ok, setup1.test.in, setup2.test.in: Merged into
      trunk

    * VERSION, config.site.gne, index.html, pmap_setup.pl.in, share: Merging
      into trunk

    * MAINTAINER: Merging into main trunk

    * iit.test.in: Combined iit_store, iit_get and iit_dump tests into one
      script

    * stage1.c: Increased definition of short sequence (for allowing cluster
      mode) for PMAP

    * match.c: Fixed printing of sequences in debugging statements

2006-12-05  twu

    * stage3.c: Fixed miscount problem with filling in short introns.  Increased
      MININTRONLEN_FINAL significantly.

2006-12-01  twu

    * stage1.c: Printing chromosome name in debugging statements

    * match.c, match.h: Added procedure Match_chr

2006-11-30  twu

    * stage3.c: Allowing and correcting for gaps after gaps

    * smooth.c: Using difference between genomejump and queryjump to define
      introns for the purposes of smoothing.

    * configure.ac: Added check for sigaction

    * README: Updated README file

    * md_coords.pl.in: Fixed behavior when user wants only the reference strain

    * gmap_setup.pl.in: Changed name from raw to fullascii.  Changed default for
      PMAP from 7 to 6.

    * gmap_process.pl.in: Added check to see that all contigs are processed

    * stage3.c: Assigning gap pairs after final extensions of 5' and 3' ends

    * smooth.c: Removed include of unused header file

    * genome-write.c, gmapindex.c, indexdb.c, indexdb.h, pmapindex.c: Added
      genome name to monitoring statements

    * gmap.c: Stopped warning message for -B when flag was not provided

2006-11-28  twu

    * stage1.c: Revised heuristics for determining maxtotallen and lengths for
      extensions

    * gmap.c: Ignoring batch flag if only a single sequence is given

    * stage1.c: Removed unused code

    * matchpair.c: Adding extra extension length when continuousp is false

    * gmap.c: Revised default lengths for single intron length and total genomic
      length

    * dynprog.c: Added checks for genomic segment at ends being shorter than
      query segment

    * indexdb.h: Using 6-mers with full alphabet in PMAP

    * indexdb.c: Improved monitoring statements

    * matchpair.c, matchpair.h: Revised procedures for computing support and
      extensions.  Integrated procedures for filtering of unique and duplicate
      matchpairs.

    * oligoindex.c: Returned to 20 amino acids in stage 2

    * params.c, params.h, stage1.h: Removed unused variable

    * stage1.c: Integrated matchpairs into a single list.  Revised procedures
      for extending genomic region based on 12-mers.

    * stage3.c: Allowed arbitrarily long incursion into previous dynprog during
      peelback.

    * stage2.c: Separated fwd_consecutive and rev_consecutive.  Made values
      consistent regardless of indexsize.

2006-11-22  twu

    * stage1.c: Fixed extensions for PMAP

2006-11-21  twu

    * indexdb.c: Reversed previous changes to try to make idxpositions file
      point to end of oligomer for reverse strand matches.

    * indexdb.c: Made idxpositions file point to end of oligomer for reverse
      strand matches.  Improved debugging output.

    * stage1.c: Added a binary search routine

    * indexdb.h, stage1.c: Made changes for PMAP to work with 6-mer pmapdb

2006-11-20  twu

    * oligoindex.c: Fixed debugging statements for PMAP

    * pair.c: Revised psl protein output for matches to the negative genome
      strand

    * backtranslation.c, backtranslation.h: Made an extern procedure for
      computing consistent codon for a given amino acid.

    * translation.c, translation.h: Made get_codon an extern procedure

    * stage3.c: Added procedure for fixing alignment holes in PMAP.  Applying
      higher standard for accepting dual intron solutions.

    * stage2.c: Fixing bugs in identifying stage 2 candidates to abort

    * gmap.c: Setting trim variables appropriately in maponly mode

    * dynprog.c: In PMAP, rounding up or down to finish codon

2006-11-17  twu

    * stage3.c: Using intron types to evaluate bad exons at ends.  Adding
      another round of extensions at ends after trimming of bad exons.  Restored
      correction for genomepos at left end skip when filling in introns.

    * dynprog.c: Assigning intron type for microexons added at ends of alignment

    * gbuffer.c, gbuffer.h: Removed unused variables

    * stage2.c: Removed unused variables.  Using correct value for
      maxconsecutive instead of last one.

2006-11-16  twu

    * stage3.c: Using uppercase string, with U-to-T conversion, to identify
      mismatches in peelback procedures.

    * backtranslation.c, translation.c: Using uppercase string, with U-to-T
      conversion, instead of toupper().

    * sequence.c: Using new complement and uppercase strings

    * pair.c: Using new name for (lowercase) complement string.  Including 'U'
      and 'u' as known bases for computing percent identity.

    * indexdb.c: Using uppercase string, which also performs U-to-T conversion,
      instead of toupper().

    * genome-write.c, genome.c: Using new name for (lowercase) complement
      string.

    * compress.c: Using uppercase string instead of toupper. 
      Compress_get_char() no longer converts characters to uppercase.

    * dynprog.c: Made U and T a matching pair.  Commented out old code dealing
      with lowercase characters.

    * complement.h: Added strings for uppercase of complement, and for U-to-T
      conversion during uppercase

    * sequence.c: Enabled removal of spaces in read procedure

2006-11-14  twu

    * dynprog.c: Reduced extension penalties for single gaps

    * stage3.c: Fixed bug in filling in gaps where leftpair has a genome gap.
      Increased size of MININTRONLEN to avoid finding introns in single gap
      regions.

2006-11-13  twu

    * stage3.h: Added parameter for number of flanking sequences to
      Stage3_print_map

    * stage3.c: In 5' and 3' extensions, evaluating continuations before and
      after a gap if one is found during peeling, and performing microexon
      search medial to the gap

    * dynprog.c: Returning null in genome gap if queryjump <= 1

    * get-genome.c: Added -u flag for printing flanking intervals

    * iit-read.c, iit-read.h: Added option to print iit entries in reverse order

    * indexdb.h: Restored previous parameters

    * pair.c: Added pointer to pair in debugging output

2006-11-12  twu

    * stage3.c: Fixed computation of bad end exons.  Included short end exons in
      definition of bad end exons.  Finding bad end exons after 5' and 3'
      extensions.  Fixed declaration of sense/antisense when no canonical or
      semicanonical introns are present.  Removing end introns during peelback
      before 5' and 3' extensions.  Removed unused code for trimming alignment
      at ends.

2006-11-06  twu

    * gmap.c: Added flags for printing flanking IIT hits and for trimming end
      exons

    * stage3.c: Fixed bug in trimming empty alignment

    * smooth.c: Fixed bug in handling lower-case query sequences

2006-11-02  twu

    * translation.c: Fixed bug in strict translation

    * iit-read.h: Added procedures for finding flanking hits.

    * iit-read.c: Made IIT_get more efficient.  Added procedures for finding
      flanking hits.

    * iit_get.c: Added -u flag for printing flanking hits

2006-11-01  twu

    * stage3.c, stage3.h: Allowing trimming of bad exons at ends.  Increased
      peelback at ends. Added iterative cycles of intron finding within
      smoothing and dual intron cycles.

    * smooth.c: Relaxing requirements for short exons at ends, because of later
      trimming of poor exons at ends

    * pair.c: Adding printing of intron type for debugging

    * gmap.c: Stopping deletion of global_except_key, because worker threads may
      still need it.  Increasing standards for defining a sequence to be
      repetitive.  Eliminating -U flag for trimming alignments, and adding -k
      flag for specifying trimming of exons at ends.

    * except.c: Stopping deletion of global_except_key, because worker threads
      may still need it

    * blackboard.c: Letting each thread destroy its own reqpost

2006-10-31  twu

    * gmap.c: Added -Y flag for performing strict translation of cDNA sequence.
      Removed worker_assignments variable, and using global blackboard variable
      instead to handle exceptions.

    * stage3.c, stage3.h, translation.c, translation.h: Added strictp flag for
      protein translation

    * oligoindex.c: Dropped oligospace requirements for PMAP by reducing amino
      acid alphabet in stage 2 from 20 to 16.

    * gmapindex.c, indexdb.c, pmapindex.c: Fixed memory allocation for filename

    * except.c: Fixed location of compiler directive

    * blackboard.c: Put mutex locks outside of updates to input counter and
      output counter.  This is to be cautious, since only input thread and
      output thread, respectively, should be affecting these counters.

2006-10-24  twu

    * stage3.c: Fixed undefine_nucleotides to handle gapholders

    * oligoindex.c: Using calloc instead of malloc for initializing oligoindex
      space

    * gmap.c: Reduced indexsizes in PMAP, so they won't overflow in some
      machines

    * backtranslation.c: Fixed usage of translation_start and translation_end

2006-10-20  twu

    * gmap.c: Printing messages to stderr when no paths are found, in all cases
      where sequence headers are not printed.

    * translation.c: Fixed coordinates for translation start and end

    * stage3.c: Fixed bug with NULL path passed to undefine_nucleotides

    * pair.c: Changed gff3 procedures to treat translation start and end values
      as query positions, not alignment indices.

2006-10-16  twu

    * stage3.c: Making sure that gaps are inserted after smoothing procedure
      deletes exons

    * stage2.c: Clarified differences between amino acid indexsize and
      nucleotide indexsize.  Cleaned up code for filling in oligomers.

    * smooth.c: Reduced definition of a gap between exons

    * oligop.c: Included possibility of 12-amino acid alphabet for 8-mers.

    * indexdb.h: Included possibility of 12-amino acid alphabet for 8-mers. 
      Provided compile-time values for file suffixes.

    * indexdb.c: Included possibility of 12-amino acid alphabet for 8-mers

    * pmapindex.c: Performing complete build with a single command

    * gmapindex.c: Using compiler-time value for suffix

    * gmap.c: Printing value of INDEX1PART in help output for PMAP

2006-10-13  twu

    * oligoindex.c: Added debugging statements

    * translation.c: Fixed bug with translating cDNA beyond the genomic stop

    * stage3.c: Reorganized passes through the alignment.  Made peelback
      routines more robust.

    * smooth.h: Using stage 2 indexsize in smoothing procedures

    * smooth.c: Major rewrite of smoothing procedures

    * dynprog.c: Added another mechanism to prevent microexon from having a gap
      at either end

2006-10-12  twu

    * gmap.c: Allowing "-t 0" to mean non-threaded behavior.  Using new
      thread-safe exception handler.

    * dynprog.c, dynprog.h: Fixed traceback for cDNA gaps

    * except.c, except.h: Re-implemented thread-safe exception handler to remove
      memory leaks. Now using exception frames in stack rather than in heap.

    * stage3.c: Fixed peelback to codon boundaries for PMAP.  Relaxed forcep
      requirement for single gaps.  Recognizing cases where prior genome or cDNA
      gap solution was obtained.

    * stage3.h: Removed ngap from parameter lists when possible

    * stage1.c: Initialized a diagnostic variable

    * pair.c, pair.h: Removed unused code and variables

2006-10-11  twu

    * except.c, except.h: Implemented thread-safe version of exception handler

    * gmap.c: Added -j flag to control printing of dual breaks

    * except.c, except.h: Reformatted exception handling code.  Using pointers
      to frames.

    * stage3.c, stage3.h: Rewrote peelback routines.  More accurate handling of
      coordinates and checking of coordinates and gaps.

    * dynprog.c: Advancing query and genome coordinates in cases of skips

    * smooth.c: Revised trimming at ends to use individual exons, rather than
      the sum of exon and intron lengths

    * pairpool.c: Showing pointer to pair in debugging statements

    * pair.c: Showing queryjump and genomejump in debugging statements

    * gmap.c: Added -0 flag to inactivate exception handler, and -7 and -8 flags
      to show results of stage 2 and smoothing, respectively.

    * except.c, except.h: Added mechanism to inactivate exception handler

2006-10-09  twu

    * access.c: Fixed compiler warning about reference to void *.

    * block.c, chimera.c, oligo.c, sequence.c, stage1.c: Removed unused
      variables

    * compress.c, dynprog.c, genome-write.c, intron.c: Added necessary header
      file

    * genome.c: Fixed compiler warning about mismatched variable types.

    * gmap.c: Added flag for pruning level.  Inactivated conversion of signals
      to exceptions with diagnostic flag.  Removed references to badoligos.

    * indexdb.c: Added necessary header file.  Fixed compiler warning about
      mismatched variable types.

    * matchpool.h: Added declarations of external functions

    * oligoindex.c, oligoindex.h: Computing estimate of maxconsecutive when
      mappings are obtained

    * pair.c, pair.h: Added diagnostic information about stage 2 maxconsecutive.

    * result.c, result.h: Added diagnostic information about initial query check

    * smooth.c: Handling possible gaps at ends of alignment

    * stage2.c: Using maxconsecutive estimate from Oligoindex_get_mappings to
      determine whether to proceed with stage 2.

    * stage3.c: Added diagnostic information about stage 2 maxconsecutive. 
      Fixed procedure for removing adjacent dynamic programming to remove all
      gaps, and then to reinsert them later.

2006-10-06  twu

    * oligoindex.c, oligoindex.h: Added counting of replicate oligos

    * md_coords.pl.in: Added information about number of contigs in each strain

    * configure.ac: Removed obsolete tests.  Fixed problem in setting share
      directory. Added maintainer option.

    * gmap.c: Distinguishing between poor and repetitive sequences.  Providing
      -p flag to control pruning behavior.

    * result.h: Distinguishing between poor and repetitive sequences

    * sequence.c: Set skiplength correctly on empty sequences

    * gmap.c: Added -W flag to force GMAP to compute repetitive or poor
      sequences

    * oligoindex.c: Limited definition of badoligo to consider only non-ACGT
      characters, and not to consider number of hits.

    * stage3.c: Fixed bug arising from gaps left at ends of alignment

    * dynprog.c: Disallowing bridges of introns and cDNA insertions that lead to
      coordinate errors

    * gmap.c: Changed thread-based exception handling to kill all other threads
      and to report all worker assignments

    * stage3.h: Made checking of coordinates occur in diagnostic mode.

    * stage3.c: Made checking of coordinates occur in diagnostic mode.  Fixed
      case where cDNA gap turned into a single gap after peelback.

    * stage1.c: Fixed memory leak

    * smooth.c: Fixed bug resulting from apparent negative exon and negative
      intron lengths.

    * oligoindex.c: Restored pruning of sequences with bad oligos.

    * gmap.c: Added handlers to convert signals into exceptions, to indicate the
      problematic sequence.  Restored pruning of sequences with bad oligos.

2006-10-05  twu

    * result.c, stage1.c, stage1.h: Added reporting of more diagnostic
      information

    * stage2.c: Fixed problems with uninitialized variable

    * matchpair.c: Fixed problem with uninitialized variable

2006-10-04  twu

    * gmap.c, pair.c, pair.h, result.c, result.h: Printing diagnostic
      information upon request

    * access.c: Using a Stopwatch_T object

    * stage1.c, stage1.h, stage2.c, stage2.h, stage3.c, stage3.h: Storing
      diagnostic information

    * smooth.c: Fixed memory leak

    * oligoindex.c: Stopped initializing data buffer for Oligoindex_T object

    * stopwatch.c, stopwatch.h: Created a Stopwatch_T object

    * stage3.c: Removed unnecessary list reversal

    * pair.c: Allowing jump in querypos in pair check procedure

2006-10-03  twu

    * gmap.c: Provide stage 2 information in diagnostic output.  Use stage 2
      information to prune bad alignments before stage 3.

    * stage3.c: Provide stage 2 information in diagnostic output.  Allow a
      single open in scoring a single intron compared with dual introns.

    * stage2.h: Interface provides number of canonical and non-canonical introns

    * stage2.c: Returned to using gendistance for computing penalties, except
      for diffdistance in deadp.  Fixed bug in tallying unknown types of
      introns.

    * sequence.c: Fixed problems with reading control-M characters (PC line
      feed) in input.

    * pair.h: Reporting stage 2 information in diagnostic output.

    * pair.c: Reporting stage 2 information in diagnostic output.  Counting
      indels in computing percent identity for each exon.

    * dynprog.c: Eliminated extra reward for finding semicanonical introns in
      final pass

2006-10-02  twu

    * stage2.c: Need to take abs() when measuring diffdistance.  Scoring
      behavior checked against revision 1.157.  Making stage2 information
      available for diagnostic output.

2006-10-01  twu

    * gmap.c: Added -8 flag to show results of stage 2 calculation

    * boyer-moore.c: Revised procedure to handle ambiguous characters for PMAP.

    * dynprog.h: Added dynprogindex information.

    * dynprog.c: Added table for performing Boyer-Moore searches of microexons
      for PMAP.  Reduced penalties for extending gaps.  Added separate rewards
      for final pass of finding canonical introns.  Added dynprogindex
      information.

    * smooth.c: Systematically checking ends for smoothing.  Using matches
      instead of lengths to evaluate exons.  Added probabilistic checking for
      marking middle exons.

    * stage3.h: Passing stage2p as a parameter to Stage3_compute.

    * stage3.c: Major changes to algorithm.  Added iteration through smoothing,
      dual intron, and single intron passes.  Checking peel back to determine if
      canonical intron needs to be recomputed.  Added final pass to find introns
      with higher reward.  Added dynprogindex information.  Using dynprogindex
      information in peeling leftward and rightward.

    * stage1.c: New criterion for setting usep to false, namely, if support is
      less than a certain fraction of the maximum observed support.

    * pair.h: Pair_check_array now returns a bool.

    * pair.c: Handling more cases of short gaps as indels.  Printing
      dynprogindex in diagnostic and debugging output.

    * stage2.c: Reverted to algorithm from revision 1.157.  Using diffdistance
      instead of gendistance.  Making sufflookback depend on mapfraction.

2006-09-29  twu

    * stage2.c: Changes made to scoring algorithm, but not well-motivated. 
      Fixed bugs in predicting cDNA direction.

2006-09-19  twu

    * stage3.c: Fixed bug when recomputing over adjacent dynamic programming
      regions at end of sequence

    * stage2.c: Revised rules for giving credit for query distance, giving none
      if difference in distance is greater than min intron length.

    * stage1.c: Doubling genomic region with each iteration, until sufficient
      support found for a matchpair.

    * matchpair.c, matchpair.h: Computing and storing fraction of stage 1
      support

    * gbuffer.c, gbuffer.h, gmap.c: Allowed Genome_T object to exceed default
      length of genomic segment

    * dynprog.c: Reduced penalties for gap extension, to match reductions in
      mismatch penalties

    * Makefile.am: Provided target machine during compilation

2006-09-11  twu

    * gmap.c: Included build target in version output.  Increased oligomer size
      in PMAP from 3-4 to 4-5.

2006-09-08  twu

    * stage2.c: Added oligos to output of debugging statements

    * configure.ac: Using AC_FUNC_FSEEKO to check for fseeko.  Added comment
      line for $Id$.

    * stage2.c: Added debugging statements for finding shifted canonical introns

    * stage1.c: Increased trimlength and extension past ends for PMAP

    * gmap.c: Increased maxextension to 120000

2006-09-01  twu

    * translation.c: Making sure to assign values to variables when number of
      alignment pairs is fewer than the minimum

    * pair.c: Fixed bug in printing CDS of GFF3 format

    * stage3.c: For PMAP, trimming ends of alignment to codon boundaries

    * translation.c: Removed check for minimum number of pairs for PMAP

    * dynprog.c: Changed calls to Pairpool_push.  Added dynprogindex
      information. Reduced penalty for mismatches.

    * dynprog.h: Changed calls to Pairpool_push.  Added dynprogindex
      information.

    * stage3.c: Fixed bug where peeling back yielded wrong coordinates.  Changed
      calls to Pairpool_push.  Added dynprogindex information.  Recomputing
      regions with adjacent dynamic programming solutions.

    * matchpair.c, stage2.c: Changed calls to Pairpool_push

    * smooth.c: Added debugging statements for exon and intron lengths

    * sequence.c: Fixed bug where return type should be int, not bool.

    * pairpool.c, pairpool.h: Distinguished between gapholder and gapalign
      elements.  Added dynprogindex to Pairpool_push.

    * pair.c: Added debugging option for printing dynprogindex

    * pairdef.h: Added dynprogindex to struct.  Reordered fields.

    * bool.h: Defining bool to be an unsigned char instead of an enumerated type

2006-08-03  twu

    * fa_coords.pl.in: Added pattern Chr_ seen in some TIGR genomes.  Changed
      variable name from chronlyp to concatenatedp.

    * oligoindex.c: Added check for query lengths shorter than index size

    * get-genome.c, iit_get.c: Allowed program to take coordinate requests from
      stdin

    * iit-read.c, iit-read.h, iit_dump.c: Added option to dump counts of each
      segment

    * gmap.c: Printing calling arguments in gff mode

2006-06-12  twu

    * gmap_compress.pl.in, gmap_uncompress.pl.in, pair.c: Using bp to denote
      query length, instead of nt

    * stage3.c: Turned off gap checking

    * gmap_compress.pl.in: Putting cDNA length into the Coverage field

    * gmap_uncompress.pl.in: Getting cDNA length from the Coverage field

2006-05-31  twu

    * params.c, params.h: Adding maxoligohits as a parameter

    * oligoindex.c, oligoindex.h: Using maxoligohits parameter, and reducing it
      for cross-species alignment (to avoid random and misleading matches)

    * stage2.h: Using maxoligohits parameter

    * stage2.c: For cross-species alignment, increasing enough_consecutive
      parameter and not opportunistically increasingly sampling interval

    * stage1.h: Reduced SINGLEINTRONLENGTH to 100000

    * stage1.c: Using maxextension parameter instead of SINGLEINTRONLENGTH
      directly

    * gmap.c: Limited crossspecies parameters to maxextension and maxoligohits.

2006-05-25  twu

    * stage2.c: Introduced detection of semicanonical introns and penalty for
      these. Removed distpenalty_dead, and introduced distpenalty_noncanonical;
      motivated by ENST0356720.  Decreased distpenalty; motivated by
      ENST0356222.  Introduced procedure for querydist_credit, bounded below by
      zero.  Decreated querydist points when gendistance equals querydistance;
      motivated by ENST0354988.

    * gmap.c: Using single intron length as basis for maxextension

    * stage3.c: Made initial pass of build_pairs_singles work only when
      genomejump equals queryjump; motivated by ENST0341339.  Made acceptable
      mismatches for dual introns depend again on defect rate.

    * smooth.c: Removed deletion of longest middle exon in a series of short
      exons. Motivated by ENST0348697.

    * stage1.c, stage1.h: Using single intron length to extend genomic segment
      at ends. Motivated by ENST0358972.

    * oligoindex.c: Increased thetadiff for trimming repetitive oligos from 2 to
      20. Motivated by ENST0357282.

    * gbuffer.c, gbuffer.h: Added data structures for storing positions of
      semicanonical dinucleotides

    * dynprog.c, dynprog.h: Made microexon p-value threshold depend on the
      defect rate.  Increased genomejump needed for single gap penalties to
      apply.  Motivated by ENST0262608.

2006-05-23  twu

    * stage2.c: Moved preprocessor directive outside of macro (needed for gcc3
      compiler).

    * gmap.c, stage3.c, stage3.h: Changed variable name from extend_mismatch_p
      to trimalignmentp

    * changepoint.c: Changed criterion from a differences in theta to a ratio

2006-05-19  twu

    * stage3.c: Removed trimming of alignments in PMAP

    * stage1.c: Changed some parameters to increase sensitivity

    * chrsubset.c, chrsubset.h: Added function Chrsubset_make

    * translation.c: Fixed assignment of amino acids to genomic sequence in PMAP

    * stage3.h: Minor formatting change

    * stage3.c: Printing trimmed query coordinates in path summary.  Pruning
      stage 3 result of coverage is less than MINCOVERAGE.

    * sequence.h: Added appropriate MAXSEQLEN for PMAP

    * reader.c, reader.h: Allowing reading in each direction to proceed to the
      ends of the query sequence

    * pairpool.c: Setting initial value for aa_g and aa_e

    * pair.c, pair.h: Printing trimmed query coordinates in path summary

    * oligoindex.c: Reinstated trimming of query sequence based on changepoint
      analysis

    * mem.c: Fixed compiler warning about pointer arithmetic on void *.

    * matchpair.c: Added comments

    * gmap.c: Performing trimming of query sequence in more cases.  Changed name
      of "mutation reference" to "reference sequence".

    * dynprog.c: Removed step function penalty based on codons.  Reduced
      extension penalty to obtain better behavior.

    * stage2.c: Changed position for starting to compute mismatch gaps.  Added
      trimming at ends for PMAP.

    * stage1.c: Improved calculation of genome segment length, based on expected
      exon and intron sizes.  In sampling mode, continuing sampling at current
      position of block pointers.

    * block.c, block.h: Added procedures for saving and restoring blocks

2006-05-16  twu

    * Makefile.am, gbuffer.c, gbuffer.h, gmap.c, matchpair.c, matchpair.h,
      pair.c, pair.h, stage2.c, stage2.h, stage3.c, stage3.h: Created Gbuffer_T
      object to use as workspace for various calculations

2006-05-15  twu

    * translation.c: Fixed uninitialized variable

    * dynprog.c, pair.c: Made cDNA gaps into type SHORTGAP_COMP instead of
      INDEL_COMP, so they get treated properly by the changepoint analysis

    * stage3.c: Fixed memory leak

    * changepoint.c: Changed changepoint parameters slightly

2006-05-14  twu

    * stage3.c: Added checks to make sure both qgenome lengths are adequately
      long in dual intron gaps

    * dynprog.c: Increased penalties for mismatches

    * gmap.c: Changed 'U' flag to mean no trimming of poor alignments at ends

    * gmap.c: Changed interfaces to some Stage3_T functions

    * pair.c, pair.h: Added query length to Coverage line

    * stage1.c: Fixed bug where maxtrial wasn't set

    * stage2.c: Removed final assignment of dinucleotide positions

    * stage3.h: Changed some interfaces to Pair_T functions

    * stage3.c: Added some shortcuts for changepoint analysis.  Changed some
      interfaces to Pair_T functions.

2006-05-13  twu

    * gmap.c: Provided initial values to some variables

    * oligoindex.c: Reduced MAXHITS parameter from 200 to 20

    * stage1.c: Limiting trials for same-species alignment.  Limiting salvage
      algorithm to short sequences and cross-species alignment.

    * stage2.c: Implemented faster method for finding shifted canonical introns

    * stage2.c: Saving mappings for each indexsize, and going back to best one.
      Introduced idea of sufficient and minimum map fraction, and aborting if
      minimum map fraction not satisfied.

2006-05-12  twu

    * gmap.c, stage3.c, stage3.h: Added option to print output in IIT FASTA map
      format

    * pair.c, pair.h: Removed parameter from Pair_print_iit_map

    * pair.c, pair.h: Removed old code.  Added a procedure for printing an IIT
      map.

    * sequence.c: Removed printing of '>' from Sequence_print_header

    * iit-read.c: Fixed bug in printing results from map iit

    * stage2.c: Added debugging statements

2006-05-11  twu

    * gmap.c, pair.c, pair.h, stage3.c, stage3.h: Included filename of
      user-provided genomic seg as source in gff3 output

    * iit_dump.c: Included header for getopt_long

    * README: Added more information about IIT utilities

    * iit-read.c, iit-read.h: Added annotation-only option to IIT_dump

    * get-genome.c: Changed program description statement slightly

    * Makefile.am, iit_dump.c, iit_get.c, iit_store.c: Added long options and
      documentation for the IIT utilities

    * iit_store.c: Added support for quotation marks in gff3 features

    * chrnum.c, chrnum.h, chrsubset.c: Using new Chrnum_to_string interface

    * gmap.c, stage3.c, stage3.h: Added cDNA_match option for gff3 output

    * pair.c, pair.h: Added cDNA_match option for gff3 output, including Gap
      attribute. Using new Chrnum_to_string interface.

    * gmap.c, params.c, params.h, stage3.c, stage3.h: Added procedures for
      allowing chromosome-tagged IIT map files, in addition to strand-tagged IIT
      map files.

    * iit-read.c, iit-read.h: Added functions for retrieving multiple types and
      for getting label when access mode is fileio.

    * iit_get.c: Allowing user to specify multiple types

    * iit_store.c: Modified gff3 parsing to assign only one tag for each row. 
      Using feature column as a source for labels.

    * pair.c, pair.h: Added routines for output in GFF3 format

    * Makefile.am: Added trimming of alignment based on changepoint analysis

    * stage2.c: Fixed bug in scanning for reverse canonical intron

    * backtranslation.c, pairdef.h, pairpool.c, translation.c: Introduced phase

    * gmap.c: Added flags for gff3 output

    * stage3.c, stage3.h: Added procedure for trimming pairs.  Added gap when
      bounds don't make sense for dual intron gaps.  Introduced gff3 format and
      phase.

    * changepoint.c, changepoint.h: Initial import into CVS

2006-05-10  twu

    * stage2.c: Added debugging statements for the result of stage 2 prior to
      trimming

    * pair.c, pair.h: Added a function for computing matchscores from an
      alignment

    * dynprog.c: Changed various gap penalties, especially at ends of sequence

    * iit_get.c: Changed atol() to strtoul(), because atol() was truncating
      numbers above 2^31 in machines with long ints of 4 bytes.

2006-05-08  twu

    * stage2.c: Changed condition for re-computing dead links from an "or" to an
      "and" on both directions.  Added trimming of ends, based on consecutive
      matches.

2006-05-07  twu

    * stage2.c: Cleaned up procedure for finding introns in PMAP, which can be
      shifted.  Cleaned up counts of canonical and total introns.

    * stage3.c: Fixed problems with shortcut for existing introns and with
      coordinates for dual genome pairs

    * oligoindex.c: Added debugging statement

    * stage2.c: Reworking of stage 2 scoring to make it more robust for
      low-identity sequences.  Includes identification of possible canonical
      sites by shifting boundaries.

2006-05-06  twu

    * stage3.c, stage3.h: Using dynamic programming paths computed for dual
      intron gaps

    * gmap.c, stage2.c, stage2.h: Computing indexsize adaptively

    * smooth.c, smooth.h: Removed indexsize from smoothing procedures

    * params.c, params.h: Added minindexsize and maxindexsize to params

    * oligoindex.c, oligoindex.h: Changed PMAP indexsize to be in aa. 
      Calculating mapfraction.

    * pair.c: Keeping ambiguous character and comp in PMAP alignments

    * intron.c, intron.h: Added function to return string for printing intron
      type

    * gmap.c, oligoindex.c, oligoindex.h: Put indexsize parameters inside of
      Oligoindex_T object

2006-05-05  twu

    * md_coords.pl.in: Improved handling of alternate strains

2006-05-04  twu

    * iit_store.c: Implemented parsing of gff format

    * gmap.c: Incremented stuttercycles for PMAP

    * indexdb.c: In monitoring commands, printing positions with commas

    * matchpair.c, matchpair.h, stage1.c: Using maxintronlen instead of querylen
      as criterion for removing hits before clustering

    * stage2.c: Checking two possible query positions for intron in PMAP

    * dynprog.c, dynprog.h: Removed obsolete parameters for computing genome
      gaps

    * stage3.c: Fixed boundaries for check of dual introns

    * fa_coords.pl.in: Improved monitoring messages to indicate when coordinates
      are parsed and when they are concatenated.

    * md_coords.pl.in: Fixed bug in handling alternate strains

2006-05-03  twu

    * md5-compute.c, oligo-count.c: Using new version of Sequence_read

2006-05-02  twu

    * stage2.c: Removed statement that does not apply to PMAP

    * matchpair.c: Fixed computation of support for PMAP.  Added debugging
      statements

    * match.c: Fixed genomic segment retrieved for debugging

    * iit-read.c: Minor editing changes

    * datadir.c: Improved error message when genome directory isn't found

    * compress.c: Removing spaces from reading of uncompressed sequence

    * stage1.c: Increased matchpairs allowed.  Fixed position adjustment for
      reverse strand matches on PMAP.

    * indexdb.c: Shifted positions for .prxpositions down by one.

2006-04-21  twu

    * gmap_setup.pl.in: Fixed bugs in printing of instructions

    * fa_coords.pl.in: Augmented patterns allowed for specifying chromosomal
      location of contigs

    * Makefile.am, chrsubset.c, chrsubset.h, get-genome.c: Added ability to
      print all chromosomal subsets from get-genome

    * datadir.c: Improved error message

    * README: Added information about the -q flag.  Added additional forms for
      specifying chromosomal location of contigs.

2006-04-18  twu

    * gmap_setup.pl.in: Added the -q and -Q flags for specifying indexing
      intervals

2006-04-07  twu

    * gmap_setup.pl.in: Fixed bugs with new install statements

    * gmap_setup.pl.in: Added comment about editing .chrsubset file.  Creating
      genome.maps directory.

    * stage3.c: Turned off CHECK

    * README: Added comment about editing .chrsubset file

    * gmap_compress.pl.in: Changed program to handle intron lengths in exon
      summary

    * stage2.c, stage2.h: Introduced limit on individual intron lengths

    * stage1.c, stage1.h: Changed variable name from maxintronlen to maxtotallen

    * gmap.c: Added separate flag for limiting individual intron lengths

    * pair.c: Added intronlengths to exon summary

2006-04-06  twu

    * sequence.h: Increased maximum sequence length to be 1000000.

2006-04-04  twu

    * stage3.c: Building singles if a short exon is deleted during smoothing

    * smooth.c: Improved debugging statements

2006-03-24  twu

    * gmap_setup.pl.in: Printing a copy of the install procedure to a file

2006-03-21  twu

    * match.c: Match_npairings returns an int

    * md_coords.pl.in: Passing back maxwidth as a result.

    * gmap.c: Made changes for compatibility with PMAP.

    * stage3.c, stage3.h: Giving maxpeelback information to dynamic programming
      routine, so it can use single gap penalties for long intron gaps.  Made
      changes for compatibility with PMAP.

    * smooth.c, smooth.h: Changed smoothing routine to be based on net intron
      lengths. Sequences of small exons are removed if they yield a net intron
      length of approximately zero.

    * dynprog.c, dynprog.h: Disallowing intron or cDNA gaps to be placed at the
      edge of the segment, which caused an error to occur in the check_gaps
      routine. Using single gap penalties for long intron gaps.

2006-03-17  twu

    * sequence.c: Added handler for cases where requested subsequence start and
      end are beyond the bounds of the sequence

    * gmap.c, stage1.c, stage1.h: Added concept of maxtrial, to be used for
      chimera (subsequence) problems

    * stage3.c: Added an exception handle for errors in checking gaps

    * dynprog.c: Disallowed intron or cDNA gaps to be inserted at ends of the
      subsequence, which results in an unexpected gap.

2006-03-06  twu

    * gmap.c: Providing maponlyp information to Sequence_read, to turn
      skiplength warning message on or off.

    * sequence.h: Set MAXSEQLEN to be 200000

    * pair.c, stage3.c: Revision of procedures to handle sequences with
      skiplength

    * stage1.c: Expanded maxintronlen to include skiplength

    * sequence.c, sequence.h: Addition of skiplength.  Rewriting of code for
      reading sequences to handle skipping of middle correctly.

2006-03-05  twu

    * gmap.c: Reworking of maponlyp case to generate a Stage3_T object

    * stage3.c, stage3.h: Implementedq Stage3_direct function for maponlyp case.
       Cleaned up merge function for combining two Stage3_T objects.

    * stage1.c, stage1.h: Cleaned up various procedures in stage 1 computation. 
      Simplified function identify_matches.  Eliminating extensions for maponlyp
      case.

    * matchpair.c, matchpair.h: Added function for making a path from a
      matchpair object

    * matchpool.c: Simplified code for handling positions on reverse genomic
      strands.

    * match.c, match.h: Added function for printing the oligomer for a match. 
      Simplified code for handling positions on reverse genomic strands.

    * oligoindex.c: Turned off code for changepoint analysis for trimming ends

    * pair.c, pair.h: Modified printing of path summary for maponlyp

    * result.c, result.h: Removed Stage1_T objects from Result_T

    * genome.c: Added debugging statements

2006-03-04  twu

    * block.c, oligo.c, oligo.h: Fixed problem where oligomers read from left
      side need to be shifted down to low 12-mer.  This corrects problem with
      match coordinates being off by 4.

2006-03-02  twu

    * gmap.c: Revised code for computing chimeras

    * chimera.c, chimera.h: Made Chimera_T object created only when completely
      specified

    * stage3.c: Added a step to allow for subseq_offset, if present

    * sequence.c, sequence.h: Added subseq_offset to Sequence_T

    * dynprog.c, dynprog.h: Restored one gap behavior on ends.  Using
      cdna_direction information on single gaps.

    * stage3.c: Forcing single gaps to be solved.  Adding cdna_direction
      information for single gaps.  Fixed problem with short indels being
      inserted backward.

    * oligoindex.c, oligoindex.h: Implemented new scheme for detecting
      repetitive sequence on ends, based on changepoint analysis

    * smooth.c: Fixed memory leak.

    * translation.c: Added check so we won't go beyond ends.  Assigned variables
      when npairs is too few.

2006-02-27  twu

    * stage3.c, stage3.h: Minor bug fixes

2006-02-26  twu

    * match.c, match.h, matchdef.h, matchpool.c, stage1.c: Keeping track of
      number of pairings for each match, and placing a limit on the number of
      matchpairs generated for each match with a "promiscuous" variable

2006-02-25  twu

    * stage2.c: Made behavior similar for sequence and reverse complement,
      including bug fix and using diffdistance rather than querydistance

2006-02-24  twu

    * pairpool.c, pairpool.h: Added procedure for counting result of bounding
      operation

    * pair.c, pair.h: Counting amino acids directly for protein PSL output. 
      Fixed problem in coordinates output where chrstring was NULL.

    * dynprog.c: Increased penalty for gaps in single alignments and made them
      uniform across sequence quality

    * smooth.c, smooth.h: Rewrite of code to use arrays instead of lists. 
      Reduced definition of short exon.  Now deleting consecutive strings of
      short exons.

    * translation.c: Noting large insertions and deletions of amino acids, even
      if not a multiple of 3

2006-02-23  twu

    * chimera.c, chimera.h, gmap.c, stage3def.h: Moved various functions back to
      stage3.c

    * stage3.c, stage3.h: Performing substitution of gaps only for final cDNA
      direction

    * oligoindex.c, oligoindex.h: Turned off trimming of sequence for reference
      sequences and for protein sequences

    * intron.c, intron.h: Using cdna_direction information in assigning
      Intron_type

    * dynprog.c, pairpool.c, pairpool.h, stage2.c: Passing in gapp as a
      parameter to Pairpool_push

    * translation.c: Fixed bug with marking backwards cDNAs relative to
      reference sequence

    * translation.c: Fixed minor bugs in new implementation

    * Makefile.am: Rewrite of code for determining mutations and for printing
      the results.  Removed mutation.c and mutation.h.

    * mutation.c, mutation.h, pair.c, pair.h, translation.c: Rewrite of code for
      determining mutations and for printing the results

2006-02-21  twu

    * stage3.c: Moved some chimera functions from stage3.c to chimera.c.  Set
      acceptable_mismatches for microexons to be 2.

    * Makefile.am, chimera.c, chimera.h, stage3.h, stage3def.h: Moved some
      chimera functions from stage3.c to chimera.c

    * dynprog.c: Increased probability standard for finding microexons

2006-02-20  twu

    * translation.c: Fixed bug where cDNA translation was incomplete

    * stage3.c: Fixed bug in substitution for gaps when ngap is not 3

    * stage3.c, stage3.h: Complete rewrite of stage 3 to use gap pairs

    * translation.c: Increased parameter for ignoring amino acid mismatches at
      ends of query sequence

    * smooth.c, smooth.h: Made changes to handle new gap pairs

    * pair.c: No longer assigning coordinates for query sequence and genomic
      segment within gaps

    * matchpair.c, matchpair.h: Limiting 12-mer hits that are considered in
      clustering method to those that have a neighboring hit within the query
      length

    * dynprog.c, dynprog.h: Inserting a single gap pair for introns and cDNA
      insertions instead of filling in nucleotides

    * stage1.c: Reduced extension of genomic segment when cluster mode is
      required

    * gmap.c: Put output to stderr when path not found in compressed output

    * intron.c, intron.h: Moved Intron_type function here

    * pairpool.c, pairpool.h: Added explicit functios for handling gap pairs

    * pairdef.h: Added fields for queryjump and genomejump, to be used for gaps

2006-02-08  twu

    * translation.c: Set minimum number of pairs required for a translation

2006-02-07  twu

    * gmap.c: Now checking for existence of -g or -d flag before proceeding

    * stage3.c: Fixed problem when solving an intron and unable to peel back
      anything.

2006-02-06  twu

    * dynprog.c: Fixed problem with extending 5' and 3' ends with assumption of
      no gap.  Added extra efficiency based on this assumption.

2006-01-19  twu

    * README: Enhanced usage statement for gmap_setup

    * gmap_setup.pl.in: Cleaned up flags.  Added messages after each make
      procedure.  Enhanced usage statement.

    * gmap_process.pl.in: Removed code for a separate strain file

    * gmap_process.pl.in: Added provision for a separate strain file, but
      commented out code

    * md_coords.pl.in: Fixed problem when MD file has fewer than 6 lines.  Put
      output into an array for printing out in one batch.  Improved handling of
      strains.

    * fa_coords.pl.in: Put output into an array for printing out in one batch.

    * Makefile.am, pmap_setup.pl.in: Removed pmap_setup program

    * stage3.c: Added procedure to fix short gaps

    * gmapindex.c: Added ability to read reference strain from coords file

    * gmap.c: Added provision for different stage 2 index size for PMAP

2006-01-18  twu

    * pair.c: Fixed problem with protein PSL coordinates

2005-12-15  twu

    * backtranslation.c, backtranslation.h: Fixed problems in backtranslation
      when genomic segment has lower case characters

    * gmap.c, stage3.c, stage3.h: Preserved diagnostic info in PMAP through
      backtranslation

    * pair.c: Changed printing of cDNA on ambiguous comps to be lower case if
      appropriate

    * dynprog.c: Changed ends from 1 gap to no gaps.  Changed open/extend
      penalties at ends (which may be irrelevant now).

    * matchpool.c, stage1.c: Fixed problems with genomic position in reverse
      complement matches in PMAP.

    * translation.c: Fixed problems with ends of cDNA and genomic translation
      for PMAP. Set margin to zero for computing amino acid changes.

    * iit-read.c: Commented out abort

2005-12-14  twu

    * sequence.c: Fixed uninitialized heap

2005-12-13  twu

    * gmap.c, stage2.c, stage2.h: Added pruning before stage 2 based on number
      of potentially consecutive hits and short paths

    * oligoindex.c, oligoindex.h: Added computation of potentially consecutive
      hits in the query

    * stage1.c: Added filtering of matchlist based on support

    * matchpair.c, matchpair.h: Added storage of support and usep in Matchpair_T
      object

2005-12-09  twu

    * gmap.c, stage2.c: Removed code for finding PMAP unaligned access error

    * gmap.c, stage2.c: Added code for finding PMAP unaligned access error

    * backtranslation.c, oligoindex.c: Removed code for checking assertions

    * backtranslation.c, oligoindex.c: Added code for checking assertions

2005-12-08  twu

    * pair.c: Streamlined determination of amino acid coordinates in alignment
      output

    * indexdb.c: Fixed bug in handling offsets in alternative strains in PMAP

    * dynprog.c: Reformulated assignment of pointers in two-dimensional array

2005-12-06  twu

    * translation.c: Formatting change

    * stage1.c: Turned on use of matchpool.  Fixed problem where list was not
      reset to NULL.

    * pair.c: Changed dir:unknown to dir:indet

    * oligoindex.c: Fixed uninitialized variable in GMAP

    * matchpool.c: Improved debugging statements

    * matchpair.c: Increased standard for stage 1 support

    * oligoindex.c: Made code compatible with both GMAP and PMAP

    * backtranslation.c, dynprog.c: Reduced memory allocation for
      two-dimensional array into a one-dimensional array

    * matchpool.c, pairpool.c: Removed initial creation of chunks

    * oligoindex.c: Fixed bug in PMAP where stop codon in the genomic sequence
      created a value that exceeded oligospace

    * pair.c, pair.h: Added a way for the thread worker id to be printed with
      the result. Removed ambiguous comp characters from gmap.

    * gmap.c, reqpost.c, reqpost.h, result.c, result.h, stage3.c, stage3.h:
      Added a way for the thread worker id to be printed with the result

    * matchpool.c: Added commands for saving and restoring pointers, so memory
      can be re-used

    * match.c, match.h, stage1.c: Added compiler conditions for using matchpool
      method.

    * genome.c: Fixed messages to user

    * chrsubset.c: Changed format of output

    * translation.c: Fixed bug in translating backward cDNAs.  Extended
      translation all the way to the end.

2005-12-04  twu

    * Makefile.am, gmap.c, matchpair.c, matchpair.h, matchpairdef.h,
      matchpairpool.c, matchpairpool.h, stage1.c, stage1.h: Removed special
      memory allocation routines for matchpairs

    * Makefile.am, gmap.c, match.c, match.h, matchpair.c, matchpair.h,
      matchpairdef.h, matchpairpool.c, matchpairpool.h, matchpool.c,
      matchpool.h, stage1.c, stage1.h: Added special memory allocation routines
      for matches and matchpairs

    * iit-read.c: Added an exception handler

    * pair.c: Commented out unused procedure

    * genome.c: Added include of except.h

2005-12-02  twu

    * gmap.c: Fixed memory leak

    * translation.c: Added separate routine for printing list of mutations. 
      Fixed problem where number of cDNA nucleotides in codon is 4 or 5.

    * stage2.c: Clarified different code for gmap and pmap

    * stage1.c: Added checking routine for Stage1 object

    * access.c, mem.c: Augmented debugging statements

    * sequence.c: Fixed case where first sequence of FASTA file has no header,
      but subsequent sequences do.

    * nr-x.c: Initial import into CVS

    * pair.c: Added printing of aapos to all positions in "f -9" mode

    * mutation.c: Simplified logic of merge functions

2005-11-29  twu

    * match.h: Provided interface for new functions

    * gmap.c: Fixed bug due to switched parameters

    * stage3.c: Added comment

    * config.site: Added information about defaults

    * README: Added information about Cygwin and defaults

    * stage1.c: Added include of match.h

2005-11-23  twu

    * acinclude.m4, configure.ac, fopen.m4: Added commands to check for 'b' or
      't' flag to fopen

    * pmap.c: Removed obsolete file

    * Makefile.am, access.c, chrsubset.c, datadir.c, fopen.h, genome-write.c,
      genomeplot.c, gmap.c, gmapindex.c, iit-read.c, iit-write.c, iit_store.c,
      indexdb.c, oligo-count.c, pdldata.c, pmapindex.c: All calls to fopen now
      generalized to handle systems that allow or disallow the 'b' or 't' flag

    * VERSION: Updated version

2005-11-22  twu

    * Makefile.am: Removed coords1.test, which is now performed by setup1.test
      and setup2.test

    * setup1.test.in, setup2.test.in: Added prerequisite of fa_coords program
      for setup tests

    * README: Made instructions for raw genome build match changes in gmap_setup

    * gmap_setup.pl.in: Changed name of make command

    * gmap_setup.pl.in: Clarified comments

    * gmap.c: Made npaths output correct when user provides a segment

    * match.c, matchdef.h, stage1.c: Storing reciprocal of nentries to avoid
      repeating this calculation multiple times later

    * setup1.test.in, setup2.test.in: Made changes in test to match changes in
      program

    * align.test.ok, map.test.ok: Made change in output from Mutations to Amino
      acid changes

    * Makefile.am: Made change in name of coords file

    * README: Made instructions consistent with changes in programs

    * fa_coords.pl.in: Changed a flag.  Output now going to stdout rather than
      stderr.

    * gmap_setup.pl.in: Now making the call to fa_coords or md_coords within the
      Makefile

    * matchpair.c: Turned off debugging

    * match.c, match.h, matchdef.h: Storing number of entries for each match

    * indexdb.c: Moved one type of debug macro into its own category

    * stage1.c: Weighted dangling computation according to number of entries for
      each match

    * translation.c: Fixed bug where pointer went past beyond sequence

2005-11-19  twu

    * chrsubset.c, gmap.c: Added printing of chrsubset information. 
      Consolidated printing of npaths information into a single function.

    * backtranslation.c: Using the two aamarkers.  Allowing matches to codons
      even for frameshifts.

    * mutation.c: Allowed merging of adjacent insertions

    * translation.c: Made PMAP assignment of genomic amino acids conform to GMAP
      code for assignment of cDNA amino acids

    * translation.c: Added further translation of cDNA beyond genomic stop
      codon, if possible

    * translation.c: Streamlined code for amino acids to cDNA sequence

    * translation.c: Overhaul of method for assigning amino acids to cDNA
      sequence, now based on separate marking and assignment of codons.

    * pair.c, pairdef.h, pairpool.c: Created separate aamarkers for genomic and
      cDNA sequence

    * gmap.c, params.c, params.h, stage3.c, stage3.h, translation.c,
      translation.h: Added flag for specifying maximum number of amino acid
      changes to show

    * stage1.c: Fixed memory leak

    * matchpair.c: Fixed read of uninitialized heap when bestsize == 0

    * matchpair.c, matchpair.h: Removed storage of support value

    * gmap.c, matchpair.c, matchpair.h, stage1.c: Moved sequence pruning
      procedures from gmap.c to matchpair.c

    * stage1.c: Fixed bug which caused loop to continue unnecessarily

2005-11-18  twu

    * gmap.c, result.c, stage1.h: Added complete option for freeing Stage 1
      objects

    * stage1.c: Introduced idea of stepping through trials to identify poor
      genomic matches

    * matchpair.c, matchpair.h: Introduced method for salvaging individual
      12-mer hits

    * gmap.c, stage1.c, stage1.h: Simplified call to Stage1_matchlist

    * stage1.c: Cleaning up parameters in preparation for cycling through stage
      1

    * indexdb.c: Added forward/backward to pre-loading messages for pmap

    * translation.c: Skipping mutation calls on non-standard amino acids

    * backtranslation.c: Fixed bug when trying to backtranslate non-standard
      amino acids

2005-11-17  twu

    * gmap_setup.pl.in: Added intermediate commands to Makefile

2005-11-11  twu

    * backtranslation.c: Improved matching of genomic codon to cdna codon.

    * translation.c: Added debugging statement

    * pair.c: Restored printing of genomic sequence for ambiguous matches in
      pmap

2005-11-10  twu

    * genome-write.c: Added read of linefeed after FASTA entry in raw genome
      files. Improved speed of writing blocks of zeros or X's.

    * gmapindex.c: Fixed bug in skip_sequence for raw genome files

    * get-genome.c: Implemented printing of raw genome files

    * gmap.c, stage3.c, stage3.h: Moved final translation and backtranslation
      steps into print procedures

    * Makefile.am, backtranslation.c, backtranslation.h, translation.c,
      translation.h: Moved nucleotide consistency procedures for pmap into
      backtranslation.c

    * pair.c: Removed consistency conversion.  Now being done by backtranslation
      procedures.  Removed meaning of AMBIGUOUS_COMP for compressed output of
      pmap.

    * dynprog.c: Added actual coordinates to debugging statements

    * translation.h: Made backtranslation procedure more rigorous.

    * translation.c: Made backtranslation procedure more rigorous.  Added
      debugging statements.

2005-11-09  twu

    * get-genome.c: Changed -r flag to also indicate use of the uncompressed
      genome file

    * get-genome.c, sequence.c, sequence.h: Added uncompressed raw format for
      printing genome segment

    * genome-write.c, genome-write.h, gmapindex.c: Added uncompressed raw format
      for genome file

    * pair.c: Reformulated printing of protein-based PSL output

    * intlist.c: Added include of stdio.h

    * chimera.c: Removed include of nmath.h

    * gmap.c: Allowed coordinate output for pmap.  Changed flag to -f 9.

2005-11-05  twu

    * gmap_compress.pl.in: Allowed handling of PMAP output

    * gmap_uncompress.pl.in: Fixed bug in printing last line of alignment

2005-11-02  twu

    * gmap.c, pair.c, pair.h, stage3.c, stage3.h: Allowed introns to be printed
      in exon mode

    * matchpair.c: Imposed the requirement that minsize be 2 or more away from
      bestsize

2005-10-31  twu

    * gmap.c, pair.c, pair.h, stage3.c, stage3.h: Added ability to print exons
      using genomic sequence

2005-10-28  twu

    * indexdb.c: Using lseek instead of fseek/fseeko for writing a positions
      file on disk

    * access.c, access.h: Added a function for opening a file as read/write

2005-10-27  twu

    * VERSION: Updated version

    * Makefile.am: Restored setup2.test

    * setup2.test.in: Made test use new gmap_setup script

    * setup1.test.in: Removed install step

    * gmap_setup.pl.in: Fixed bug in clean statement

    * configure.ac: Added check for fseeko

    * gmap.c: Added information about various type sizes to -V flag

    * compress.c, genome-write.c, indexdb.c: Using fseeko if available

2005-10-26  twu

    * gmap_setup.pl.in: Fixed bug where -W flag was in the wrong branch

2005-10-25  twu

    * pair.c: Removed extraneous linefeed in compressed output

    * VERSION: Updated version number

    * pair.c: Fixed psl output

    * README: Clarified use of ./configure flags.  Added instructions for the -C
      flag in fa_coords.

    * gmap_setup.pl.in: Restored -W flag for writing directly to file

    * gmap_setup.pl.in: Added instructions for clean to Makefile

    * fa_coords.pl.in: Added -C flag to make each sequence a separate chromosome

    * pair.c, pair.h, stage3.c: Added printing of cDNA direction in compressed
      output

    * bigendian.h, mem.h: Added include of config.h.

2005-10-21  twu

    * VERSION: Updated version

    * README: Added instructions for running make after gmap_setup

    * MAINTAINER: Added reminder to check for DEBUG mode

    * pair.c, pair.h, stage3.c, stage3.h: Restored printing of strain
      information

    * pdldata.c: Fixed typo

    * oligo-count.c: Using new interface to indexdb

    * gmap.c: Added error message if user tries to use strain information and
      file is not found

    * gmap.c: Restored printing of strain information.  Added conversion to
      upper case for altstrain sequence.

    * genome.c, indexdb.c: Added printing of number of bytes

    * access.h: Added MAX32BIT

    * access.c: Added debugging statements

    * Makefile.am: Added needed files

2005-10-19  twu

    * configure.ac: Added warning message if mmap not available

    * fa_coords.pl.in: Added ability to read from stdin

    * setup1.test.in: Added install command

    * access.c, access.h: Made Access_filesize an external routine

    * genuncompress.c, pdldata.c: Using routines from access.c

    * Makefile.am: Added access.c and access.h to programs with IIT_T object

    * chrsubset.c: Added include of config.h

    * genome-write.c, genomeplot.c, get-genome.c, iit_dump.c, iit_get.c,
      pmapindex.c, segmentpos.c: Changed calls to IIT_free and IIT_annotation

    * gmapindex.c: Removing free of accsegmentpos_table, which fails on some
      computers

    * gmap.c: Reading user-provided genomic segment and reference sequence
      before FASTA query

    * iit-write.c, iit-write.h: Made write version of IIT_free static and
      renamed it.

    * iit-read.h: Changed interface to IIT_annotation.

    * iit-read.c: Added FILEIO mode for reading IIT_T objects.  Changed
      interface to IIT_annotation.

    * iitdef.h: Made mutex part of IIT_T object.  Added offset to IIT_T object
      for FILEIO mode.

    * indexdb.c: Made mutexes part of Indexdb_T object.  Changed calls to
      IIT_annotation.

    * genome.c: Made mutex part of Genome_T object

    * access.h: Added flag for randomp.  Added function for read/write mmap.

    * access.c: Moved file size determination to a separate function

2005-10-14  twu

    * gmap.c: Moved reading of input sequences to beginning

    * indexdb.c: Minor fixes

    * access.h: Returning length and time for Access_immediate

    * access.c: Returning length and time for Access_immediate.  Forcing read of
      pages during pre-load.

    * datadir.c, gmap.c: Removed unused variables

    * genome.c, stage3.c: Added necessary include file

    * result.c: Addressed compiler warning

    * pair.c: Fixed faulty print statement in pslformat_nt

    * indexdb.c: Added necessary include file.  Removed unnecessary variables.

    * dynprog.c: Applied type conversion for char to access array

    * Makefile.am: Added access.c and access.h

    * blackboard.c, blackboard.h, gmap.c: Added nextchar to Blackboard_T object

    * gmap.c: Now reading first sequence in main thread, and using existence of
      a second sequence to determine whether to start threads and to pre-read
      offsets file for GMAP.  Conditioning some flags based on existence of mmap
      and threading support.

    * datadir.h: Removed unnecessary include

    * intlist.c: Minor fix to resolve gcc compiler warning

    * access.c, access.h, genome.c, indexdb.c: Standardized file access routines
      and moved them to access.c

    * genomeplot.c, plotdata.c, plotdata.h: Fixed ASCII printing of universal
      coordinates when a range is selected

    * matchpair.c: Fixed calculation of genome length for segment

    * sequence.c: Fixed Sequence_read_unlimited to handle sequences without a
      header line.

2005-10-12  twu

    * gmap_setup.pl.in: Changed program to generate a Makefile

    * fa_coords.pl.in, md_coords.pl.in: Deleted comment about gmap_setup running
      time

    * gmap_process.pl.in: Initial import into CVS

    * Makefile.am: Added instructions for gmap_process

    * setup1.test.in: Modified setup test for new interface to utility programs

    * Makefile.am: Modified setup test to put binary files in tests directory

    * MAINTAINER: Minor note to self

    * Makefile.am: Made FULLDIST work for gmap sources

    * gmap.c: Made separate flags for batch for offsets and batch for positions
      file.  Simplified input thread.

    * indexdb.h: Made separate flags for batch for offsets and batch for
      positions file

    * indexdb.c: Added memory mapping for offsets files under PMAP.  Made
      separate flags for batch for offsets and batch for positions file.

    * oligoindex.c: Removed stop codon from oligomers in stage 2

    * Makefile.am: Moved beta code for GMAP into a separate program

    * stage2.c: Moved PMAP conditionals out of debugging statements

2005-10-11  twu

    * Makefile.am: Removed conditional distribution of files

    * translation.c: Including comp.h header

    * gmap.c, pmapindex.c: Changed PMAP indexing interval to be based on amino
      acids.

    * oligop.c: Removed STOP from amino acid alphabet.

    * gmapindex.c: Generating chrsubset file at same time as chromosome file

    * indexdb.h: Removed STOP from amino acid alphabet.  Changed PMAP interval
      to be based on amino acids.

    * indexdb.c: Simplified conversion of oligomer to amino acid index for PMAP.
      Removed STOP from amino acid alphabet.  Computing each protein frame
      separately.

    * configure.ac: Added large file support with AC_SYS_LARGEFILE.  Removed
      setup test number 2.  Added gmap_process.

    * acinclude.m4: Removed macros for O_LARGEFILE

    * open-flags.m4: Removed file open-flags.m4

2005-10-10  twu

    * acinclude.m4, open-flags.m4: Added check for O_LARGEFILE in open

2005-10-07  twu

    * gmap_setup.pl.in: Restored -W flag and improved it

2005-10-06  twu

    * VERSION: Updated version

    * configure.ac: Added hook for pmap_setup.pl

    * README: Added explanation of full, uncompressed genome, and of batch modes

    * gmap_setup.pl.in: Added checks to make sure desired files are built. 
      Added printing of commands to stdout.

    * pmap_setup.pl.in: Added checks to make sure desired files are built

    * gmap_compress.pl.in, gmap_uncompress.pl.in: Altered format of compressed
      output to indicate ambiguous matches

    * pair.c: Altered format of compressed output to indicate ambiguous matches

    * genome.c: Fixed batch loading of full genomes greater than 2 gigabytes

    * gmap.c: Modified message about batch mode and multiple threads mode

    * stage2.c: Parameterized alignment characters and defined them centrally in
      comp.h.  Restored previous intron penalties based on length.

    * pair.c: Parameterized alignment characters and defined them centrally in
      comp.h.  Now printing ambiguous nucleotide matches.

    * dynprog.c: Parameterized alignment characters and defined them centrally
      in comp.h.  Added separate table for consistent nucleotide pairs.

    * Makefile.am, comp.h, pairpool.c, stage3.c, translation.c: Parameterized
      alignment characters and defined them centrally in comp.h

    * gmap.c: Changed batch mode to be of two types: pre-loading of indices
      only, and pre-loading of both indices and genome.

2005-10-05  twu

    * gmap.c: Clarified various user messages

    * indexdb.c: Added an explicit check for a nonsensical offsets file

    * pair.c: Made margin width determined dynamically in printing the
      alignments

2005-10-04  twu

    * dynprog.c: Removed reverse intron possibilities from PMAP

    * gmapindex.c: Restored monitoring output for logging contigs

    * indexdb.c: Added fwd/rev to monitoring commands for indexing offsets and
      position files

    * compress.c: Added monitoring commands for compressing and uncompressing
      files

    * gmap_setup.pl.in: Clarified behavior and instructions for building a full
      (uncompressed) genome file

    * fa_coords.pl.in: Abbreviated monitoring output, with a parameter that
      controls which contigs to ignore

    * Makefile.am: Added make instructions for pmap_setup

    * pmap_setup.pl.in: Initial import into CVS

2005-10-01  twu

    * gmap.c: Performing translation of query sequence and genomic segment to
      upper case.  Turned off stage 1 for user-provided genomic segment in PMAP.
      Provided -G flag for specifying full genome, if it exists.

    * genome.c: Turned warning into error, if user wishes to use a full genome
      and none exists

    * dynprog.c: Allowed intron gap parameter to be arbitrarily large

    * pair.c, stage2.c, translation.c: Fixed handling of user-provided genomic
      segment with lower case characters for PMAP

    * stage1.c: Improved debugging statement

    * oligoindex.c: Minor formatting change

    * mem.c: Enhanced trap features

    * boyer-moore.c: Removed assertions

    * boyer-moore.c, dynprog.c, dynprog.h, stage3.c, stage3.h: Made stage 3 use
      upper case for query sequence and genomic segment when needed, but
      original sequences for building alignment

    * oligoindex.c, oligoindex.h, stage2.c, stage2.h: Made stage 2 use upper
      case for query sequence and genomic segment for oligomer chaining, but
      original sequences for building alignment

    * oligo.c, oligop.c, stage1.c, stage1.h: Made stage 1 assume upper case
      query sequence

    * pair.c: Removed call to toupper

    * complement.h, sequence.c, sequence.h: Provided utilities for making
      uppercase and alias versions of sequences

    * compress.c: Added toupper as reason for including ctype.h

2005-09-30  twu

    * plotdata.c: Revised autoscale function

    * stage2.c: For PMAP, fixed bug where C terminus of query sequence was not
      aligned.  Eliminated computation of reverse intron direction for PMAP.

    * oligoindex.c: Modified comments

    * gmap.c: Removed Sequence_trim for PMAP, and reduced stage 2 indexsize.

    * pair.c: Changed psl output to reflect definition of a block to be a region
      without indels or gaps, instead of an exon

2005-09-22  twu

    * oligoindex.c: Make amino acid index for stage 2 (with 21 amino acids)
      distinct from that of stage 1 (with 16)

    * indexdb.c, indexdb.h, oligop.c: Compressing 21 amino acids into 16 to
      allow offsets of amino acid 7-mers to fit into less than 2 GB

2005-09-21  twu

    * stage1.c: Parameterized size of oligomers for PMAP

    * gmap.c, indexdb.h: Parameterized interval for stage 1 when user provides a
      genomic segment

    * pmapindex.c: Parameterized size of oligomers

    * matchpair.c: Turned off debugging

    * indexdb.c, indexdb.h: Introduced indexing of 7-mers by PMAP

    * VERSION: Updated version

    * gmap_setup.pl.in: Commented out -W flag for forcing write to file.  Added
      option -G for making an uncompressed version of the genome (.genome file).

    * fa_coords.pl.in: Allowed both chr and Chr in parsing for chromosomal
      mapping

    * config.site: Clarified possible choices for LDFLAGS

    * matchpair.c: Penalizing clusters spread out in repetitive genomic regions

    * pdlimage.c: Made images in color

    * gmapindex.c: Commented out monitoring statement about logging contigs

    * stage1.c: Fixed a bug involving subtraction of two unsigned ints into a
      signed int, occurring for chromosomes greater than 2^31 in length.

2005-09-19  twu

    * stage2.c: Fixed bug when stage 2 fails

    * pair.c: Fixed assessment of unknown bases for PMAP queries

    * matchpair.c: Fixed computation of stretch for PMAP protein queries

    * indexdb.c: Removed debugging flag

    * iit_get.c: Added termination message and flushing output when input coming
      from stdin

    * gmap.c: Added debugging messages

2005-09-16  twu

    * Makefile.am, pdlimage.c: Initial addition of pdlimage to CVS.

2005-09-08  twu

    * iit-read.c, iit-read.h, stage3.c: Added option to print levels of map
      results

    * intlist.c, intlist.h: Added command for Intlist_to_string

    * gmap.c: Modified directory printing to go to a given file pointer.  Added
      information about default directory to print_version command.

    * datadir.c, datadir.h, get-genome.c: Modified directory printing to go to a
      given file pointer

    * genomeplot.c, plotdata.c, plotdata.h: Changed format of positions file. 
      Changed title for summary genome plots.

2005-09-07  twu

    * get-genome.c: Added ability to print levels of map contents.  Fixed bug in
      interpreting an entire chromosome.

2005-09-03  twu

    * genomeplot.c, pdldata.c, pdldata.h, plotdata.c, plotdata.h: Generalized
      variable for transform and added reciprocal

    * genomeplot.c, plotdata.c, plotdata.h: Added option to autoscale

    * genomeplot.c, pdldata.c, pdldata.h, plotdata.c, plotdata.h: Added options
      for computing summary of multiple samples

2005-09-02  twu

    * genomeplot.c, plotdata.c, plotdata.h: Added functions for printing a
      threshold line, and for printing output in ascii format.

    * pdldata.c: Now removing line feeds from annotations.  If no annotations
      are available, using sample numbers.

2005-08-29  twu

    * plotgenes.c, plotgenes.h: Improved display of genes

    * genomeplot.c: Made changes so PDL file is read only when necessary.  Added
      extra room for showing genes.

2005-08-26  twu

    * genomeplot.c, plotdata.c, plotdata.h: Printing accession header only if
      one sample per page.  Reduced default number of genomes per page to 12.

    * genomeplot.c, pdldata.c, pdldata.h, plotdata.c: Added ability to read
      sample identifiers from a separate file for PDL input

    * genomeplot.c: Added ability to plot a single page

2005-08-24  twu

    * gmap.c, pair.c, pair.h, stage3.c, stage3.h: For PMAP, allowed PSL output
      in both nucleotide coordinates and protein coordinates

2005-08-23  twu

    * Makefile.am, genomeplot.c, plotgenes.c, plotgenes.h: Added ability to plot
      genes

2005-08-19  twu

    * gmap.c, stage3.c, stage3.h: Added option for printing coordinates

2005-08-18  twu

    * plotdata.c, plotdata.h: Added options for printing dots and overlapping
      samples

    * pair.c, pair.h: Added option for printing coordinates.  Trying to fix PSL
      output for PMAP.

    * genomeplot.c: Added option for printing dots and overlapping samples

    * color.c, color.h: Added color brewer palette

    * plotdata.c: Prevented printing of empty strings

2005-08-16  twu

    * plotdata.c, plotdata.h: Fixed bug when only a subset of genes is selected.
       Added commands for gif output.

    * get-genome.c, gmap.c: Showing available map files when valid one is not
      entered

    * datadir.c, datadir.h: Added function to list directory contents

    * genomeplot.c: Allowed user to specify a list of samples to plot

    * intlist.c, intlist.h: Added function Intlist_from_string

    * stage3.c: Fixed mapping to account for cDNA direction

2005-08-10  twu

    * Makefile.am, genomeplot.c, pdldata.c, pdldata.h, plotdata.c, plotdata.h:
      Allowed genomeplot to read PDL files

2005-08-07  twu

    * iit-read.c: Improved debugging statements

    * gmap.c, stage3.c, stage3.h: Added option to map by exons

    * pair.c, pair.h: Added function to retrieve exon bounds

2005-08-04  twu

    * Makefile.am, gmap.c: Merged pmap main code into gmap.c

    * sequence.c, sequence.h: Added functionality for pmap chimeras

    * stage3.c, stage3.h: Changed function to take queryntlength instead of
      queryseq.  Made function work with both gmap and pmap.

    * chimera.c, chimera.h: Changed functions to take queryntlength instead of
      queryseq

    * pair.c: Made PSL format for proteins print protein coordinates

    * chimera.c, chimera.h, gmap.c: Changed chimera algorithm to potentially
      search both sides of an incomplete alignment

2005-08-02  gcavet

    * modules: put back to original state

    * modules: added dev module

2005-08-02  twu

    * stage3.c: Increased size of merge length for chimeric exon-exon junctions

    * sequence.c: Restored trimming of subsequences

2005-08-01  twu

    * stage3.c, stage3.h: Changed chimeric margin detection to work on both ends

    * stage1.c: Added debugging statements

    * chimera.c, chimera.h, gmap.c: Changed chimeric search to work on both ends
      that fail to align

    * sequence.c: Turned trimming off for subsequences

    * pair.c, pair.h: Added indel penalties at appropriate end for chimeric path
      scores

    * Makefile.am, get-genome.c: Allowed user to look up information in map iit
      files

    * chimera.c: Tested code for checking if breakpoint is outside the alignment

2005-07-29  twu

    * datum.c, datum.h, genomeplot.c, plotdata.c, plotdata.h: Allowed colors to
      be specified in input file

    * chrsubset.c, chrsubset.h, genomeplot.c, plotdata.c: Implemented
      user-selected genomic range

2005-07-28  twu

    * plotdata.c: Allowed program to handle NaNQs

    * genomeplot.c, plotdata.c, plotdata.h: Added log and signed cube root
      functions

    * genomeplot.c, plotdata.c, plotdata.h: Added ability to print genome on a
      single line

2005-07-27  twu

    * genomeplot.c: Added ability to handle multiple samples

    * plotdata.c, plotdata.h: Added ability to detect and read header lines. 
      Made code for starting and ending pages extern.

    * genomeplot.c, plotdata.c, plotdata.h: Implemented printing of circular
      genome

    * pair.c: Corrected query coordinates of chimera in compressed mode

    * pairpool.c: Fixed problem where a gap was left at the 5' end of a bounded
      transfer.

2005-07-26  twu

    * datum.c, datum.h, genomeplot.c, plotdata.c, plotdata.h: Added ability to
      read specified colors for each line

    * datum.c, datum.h, genomeplot.c, plotdata.c, plotdata.h: Allowed printing
      of segments between chromosomes

2005-07-25  twu

    * pmap.c, stage3.c, stage3.h: Allowed chimeric pieces to be merged over
      longer length if ends have strong splice sites

    * stage1.c: Restored reader overlap for longer sequences

    * gmap.c, iit-read.c, iit-read.h: Added chromosomal positions to map
      information

    * chrnum.c, chrnum.h: Added function to get offset for a chrnum

    * Makefile.am: Added chrsegment.h to sources for genomeplot

2005-07-23  twu

    * gmap.c, pmap.c, stage3.c, stage3.h: Allowed two parts of chimera to merge
      if close on the genome

2005-07-21  twu

    * stage3.c, stage3.h, translation.c, translation.h: Clarified code specific
      to PMAP and GMAP

    * sequence.c: Changed sequence header for PMAP to refer to amino acids

    * pair.c, pair.h: Added ability to print inferred nucleotide sequence for
      PMAP

    * oligop.c: Clarified meaning of INDEX1PART to be number of amino acids

    * pmapindex.c: Clarified meaning of INDEX1PART to be number of nucleotides

    * oligo-count.c: Using new interface for Reader_new

    * indexdb.c, indexdb.h: Clarified meaning of INDEX1PART to be number of
      nucleotides for PMAP.

    * pmap.c: Removed -q flag for specifying stage 1 interval, and removed -T
      flag for truncating sequence at full-length protein.  Specified -Q flag to
      be printing of inferred nucleotide sequence.

    * gmap.c: Removed -q flag

    * Makefile.am: Added beta source files for pmap

    * stage1.c: Introduced min intron length.  Clarified meaning of INDEX1PART
      to be number of amino acids.  Added debugging statements.

    * reader.c, reader.h: Allowed crossover of start pointer and end pointer so
      that middle oligomers will be read.  Should help in mapping of short
      sequences.

    * translation.c, translation.h: Moved combinatorial testing of codons to
      translation step

    * stage3.h: Performing protein translation only when necessary.

    * stage3.c: Considering only forward intron directions for pmap.  Performing
      protein translation only when necessary.

    * stage2.c: Considering only forward intron directions for pmap

    * sequence.c: Changed header line for pmap

    * pair.c: Made further changes to accommodate plus sign in alignment

    * pair.c: Introduced plus sign in alignment

    * oligoindex.c: Improved efficiency of analyzing genomic segment, by storing
      indices for each frame

    * genome.c: Added debugging statements

    * dynprog.c, dynprog.h: Changed combinatorial instantiation of codons to a
      single instantiation

    * Makefile.am, params.c, params.h, pmap.c: Gave pmap the same overall
      behavior as gmap, including multi-threading and flag options

2005-07-19  twu

    * Makefile.am, block.c, block.h, dynprog.c, dynprog.h, gmap.c, indexdb.c,
      indexdb.h, oligoindex.c, oligop.c, oligop.h, pair.c, pmap.c, pmapindex.c,
      sequence.c, sequence.h, stage1.c, stage1.h, stage2.c, stage2.h, stage3.c,
      stage3.h, translation.c, translation.h: Introduced pmap and pmapindex

2005-07-15  twu

    * get-genome.c: Added range format to allow negative lengths

    * genome.c: Added exception when requested length exceeds allocated buffer
      length

    * except.c: Added printing of exception message

    * chimera.c: Fixed problem when donor or acceptor length exceeded allocated
      buffer length

    * Makefile.am: Fixed handling of non-distributed source code

    * align.test.ok: Changed genomic coordinate to match new computation of
      coordinates in gaps

    * VERSION: Updated version number

2005-07-13  twu

    * dynprog.c: Made genomic positions on left and right ends of gap constant,
      to avoid problems in stage 3 computations

    * memchk.c: Made procedures thread-safe

    * stage3.c, stage3.h: Fixed genomic positions on left and right ends of gap.
       Removing gaps at 5' end, possibly introduced by smoothing.

    * mem.c, mem.h: Improved memory trap procedures

    * matchpair.c: Added check before freeing some possibly null structures

    * genome.c: Removed duplicate FREE of filename

    * gmap.c: Fixed genomic positions on left and right ends of gap.  Fixed bug
      when chimera was not reset to NULL.

    * pair.c, pair.h: Fixed genomic positions on left and right ends of gap

2005-07-12  twu

    * stage3.c: Fixed bugs in computing dual introns, dealing with previously
      computed gaps, and returning coordinates for empty peelbacks.

    * stage1.c: Increased parameters for maximum number of matching pairs
      considered

    * pairpool.c: Enhanced debugging output

    * pair.c, pair.h: Added procedure for printing a single pair

    * mutation.c: Changed unnamed unions to named unions

2005-07-08  twu

    * stage3.c: Added extra check to make sure pairs is non-empty

    * gmap.c: Initialized chimera to be NULL

    * oligoindex.c: Fixed bug caused by writing to a random location when
      indexsize < 8.

    * mem.c: Improved trap code

    * memchk.c: Changed types to be consistent with regular version of memory
      manager

    * memchk.c: Added checking implementation of memory manager

    * stage3.c: Fixed a segmentation fault bug.

    * stage2.c: Changed distpenalty to ignore query distance and
      max_intronlength, and simplified computation.  These values were probably
      not affecting previous computation anyway.

    * mutation.c: Fixed problem caused by removal of unnamed union

    * iitdef.h: Included header file for off_t type.

    * gmap.c: Changed maxpeelback for cross-species mode back to previous value

    * VERSION: Updated version

    * configure.ac: Added check for caddr_t type.  Added check for madvise
      flags.

    * gmap.c: Removed unnecessary variables and arguments.  Changed variable
      type of nworkers.

    * oligoindex.h, pairpool.c, pairpool.h, stopwatch.c, stopwatch.h: Added
      formal void argument

    * compress.c, genome.c, genome.h, matchpair.c, oligoindex.c, stage2.c:
      Removed unnecessary variables

    * block.c, boyer-moore.c, dynprog.c, dynprog.h, matchpair.h, oligo.c,
      oligo.h, stage1.c, stage1.h: Removed unnecessary arguments

    * sequence.c, sequence.h: Added formal void argument.  Changed some variable
      types.

    * indexdb.c, match.c, segmentpos.c: Changed print statement

    * pair.c: Added static specification to some functions

    * iit-read.c, iitdef.h: Changed some variable types

    * indexdb.c: Increased interval of monitoring output from 1 million nt to 10
      million nt

    * gmap_uncompress.pl.in: Fixed bug in argument list

    * bigendian.c, boyer-moore.c, chrom.c, chrsubset.c, chrsubset.h, compress.c,
      datadir.c, dynprog.c, except.c, genome-write.c, genome.c, get-genome.c,
      gmap.c, gmapindex.c, iit-read.c, iit-write.c, iit_dump.c, iit_get.c,
      iit_store.c, indexdb.c, interval.h, intlist.c, list.c, match.c,
      matchpair.c, md5-compute.c, md5.c, mutation.c, oligo-count.c, oligo.c,
      oligoindex.c, pair.c, pairpool.c, params.h, reqpost.c, segmentpos.c,
      segmentpos.h, sequence.c, smooth.c, stage1.c, stage2.c, stage3.c,
      translation.c, uintlist.c: Made changes to satisfy pedantic gcc compiler
      warnings and to comply with ANSI C

    * acinclude.m4: Added autoconf macro for madvise flags

    * MAINTAINER: Added comment about strict compiler checking

    * madvise-flags.m4: Initial import into CVS

    * gmap.c: Changed parameters to prevent segmentation fault in cross-species
      mode

    * gmap.c, stage3.c, stage3.h: Added psl output format

    * stage1.c: Increased matchpairs allowed at pre-unique stage

    * match.c, match.h: Trivial formatting change

2005-07-07  twu

    * gmapindex.c: Removed some unused variables

    * get-genome.c: Changed usage statement for coordinate interval

    * datadir.c: Added error message when genome subdirectory is not readable

    * chrnum.c, chrnum.h: Added Chrnum_length command, needed for psl output
      format

    * pair.c, pair.h: Added psl output format

2005-06-23  twu

    * VERSION: Updated version for release

    * stage2.c: Increased cross-species penalty for intron length

    * gmap.c: Added other constraints on using oligo depth.  Reporting failure
      type.  Separated out beta source files from gmap.

    * result.c, result.h: Added failure type

    * chrsubset.c, chrsubset.h, plotdata.c: Added checks if chrsubset is NULL.

    * genomeplot.c: Added getopt to genomeplot.  Added mode for printing
      segments.

    * Makefile.am: Added getopt to genomeplot.  Separated out beta source files
      from gmap.

2005-06-21  twu

    * genomeplot.c, plotdata.c, plotdata.h: Fixed coloring of raw data,
      depending on whether segmentation is performed.

    * Makefile.am: Moved chrsegment functionality to genomeplot

    * gmap.c: Giving crossspecies flag to Stage 2

    * genomeplot.c: Getting segment breakpoints back in three separate lists

    * chrsegment.c, chrsegment.h: Added re-checking of segment breakpoints

    * intlist.c, intlist.h: Added Intlist_delete function

    * stage2.c, stage2.h: Implemented different intron penalties for
      crossspecies mode

    * stage1.c: Restored full functionality for crossspecies mode

2005-06-17  twu

    * stage1.c: Added check for too many matchpairs before applying
      Matchpair_filter_unique

2005-06-16  twu

    * chrsegment.c, chrsegment.h: Using chromosomal positions in calculations

    * genomeplot.c, plotdata.c, plotdata.h: Modified calls to Plotdata_values
      and Plotdata_chrpositions

    * genomeplot.c, iit-read.c, iit-read.h: Added function IIT_length

    * plotdata.c: Storing chrpositions and values as individual arrays

    * genomeplot.c: Using a tree structure to store segment results.

    * chrsegment.c, chrsegment.h: Using a tree structure to store segment
      results.  Added check for single breakpoint in addition to double
      breakpoints.

    * chrsegment.c, chrsegment.h, genomeplot.c: Implemented recursive
      segmentation, generating a list of segments

    * iit-read.c: Fixed problem with memory fault

2005-06-15  twu

    * Makefile.am, chrsegment.c, chrsegment.h, genomeplot.c, plotdata.c,
      plotdata.h: Merged chrsegment functionality into genomeplot

    * genomeplot.c: Fixed some memory leaks

    * datum.c, datum.h: Added Datum_T object for use by Plotdata_T

    * Makefile.am: Added program chrsegment and added Datum_T object to
      genomeplot

    * chrsegment.c, nr-x.h: Added program chrsegment

    * plotdata.c, plotdata.h: Now storing data as sorted within each chromosome

    * chrsubset.c, chrsubset.h: Added function to compute and retrieve old
      indices

2005-06-14  twu

    * Makefile.am, chrsubset.c, chrsubset.h, color.c, color.h, doublelist.c,
      doublelist.h, genomeplot.c, plotdata.c, plotdata.h: Added program
      genomeplot

    * uintlist.c: Fixed typo

    * iit-read.c: Skipping freeing of memory, since it sometimes gives a memory
      fault.

    * Makefile.am, chimera.c, maxent.c, maxent.h, splice-site.c, splice-site.h:
      Changed splice site predictor from scoring matrix to maxent method

2005-06-10  twu

    * indexdb.c: Added error message when user-provided genomic segment is
      invalid

2005-06-03  twu

    * chimera.c, chimera.h: Added detection of exon-exon boundary for chimeras
      in both forward and reverse directions

    * gmap.c, pair.c, pair.h, stage3.c, stage3.h: Added output of cDNA direction
      of exon-exon boundary for chimeras

    * dynprog.c, dynprog.h, gmap.c, stage3.c: Restored previous behavior for
      finding microexons.  Changed meaning of end_microexons_p to be an
      allowance for longer introns at the ends.

    * chimera.c: Improved debugging output

2005-06-01  twu

    * stage3.c, stage3.h: Added utilities for new chimera functions.

    * gmap.c: Added stage 3 calls for truncating full length.  Using Chimera_T
      objects and new chimera functions.

    * stage1.c, stage1.h: Using ends only for cross-species mode in stage 1

    * result.c, result.h: Created Chimera_T object.

    * pair.c, pair.h: Added utility programs for chimera evaluation.

    * chimera.c, chimera.h: Added search for exon-exon boundaries in chimeras. 
      Created Chimera_T object.

    * Makefile.am, splice-site.c, splice-site.h: Added splice site calculations
      to chimera evaluation.

2005-05-25  twu

    * gmap.c: Moved translate calls up to gmap.c.  Added hook for -T flag for
      truncating full-length sequence.

    * stage3.c, stage3.h: Using function Pairpool_transfer_bounded.  Moved
      translate calls up to gmap.c.

    * pairpool.c, pairpool.h: Added function Pairpool_transfer_bounded.

2005-05-20  twu

    * VERSION: Revised version

    * stage3.c, stage3.h: Turned off default microexon finding at ends.  Cleaned
      up margin function for identifying chimeras.

    * pair.c: Changed computation of matchscores

    * oligoindex.c: Changed definition of oligodepth.

    * gmap.c: Added -U flag to turn on microexons at ends.  Changed code for
      chimeras, and changed meaning of -x flag.

    * chrsubset.c: Added check on freeing object.

    * chimera.c: Fixed debugging statement

    * Makefile.am: Added beta testing flag.

2005-05-10  twu

    * Makefile.am: Added compiler instructions for pthreads to various programs

    * VERSION: Modified version number.

    * README: Added information about -E feature of fa_coords and gmap_setup,
      and information about editing coords.txt.

    * MAINTAINER: Added reminder to modify VERSION.

    * gmap_setup.pl.in: Removed reverse complement procedures here; now being
      done by gmapindex.  Allowed specification of a command.

    * fa_coords.pl.in: Introduced chromosome NA for headers that cannot be
      parsed.  Allowed specification of a command.  Improved handling of Celera
      genomes.

    * genome.c, indexdb.c: Put mutexes around read procedures for the
      combination of multi-threading and non-memory mapped reading of file.

    * gmap.c: Fixed bug from uninitialized querysubseq.

2005-05-09  twu

    * pair.c, pair.h, result.c, result.h, stage3.c, stage3.h: Allowed printing
      of range of chimera breakpoints

    * interval.c, interval.h: Changed interface to some functions

    * iit-read.c, iit-write.c: Fixed bug in debug version of dump.  Changed
      calls to Interval_T functions.

    * gmapindex.c: Changed count_sequence() to read a line at a time

    * genome-write.c: Properly handling contigs marked as reverse complement.

    * gmap.c: Using fscore threshold to determine statistical significance.
      Reporting equivalent positions for breakpoint.

    * chimera.c, chimera.h: Using fscore threshold to determine statistical
      significance

2005-05-06  twu

    * gmap_setup.pl.in: Handling other NCBI cases where version numbers are
      missing

    * genome-write.c, indexdb.c: Minor changes in monitoring output

    * VERSION: Updated version number

    * README: Added explanation of output ordering with multiple threads

    * coords1.test.ok: Changed to add new comment line in coords.txt

    * README: Minor textual change

    * gmap_setup.pl.in: Added -q flag for specifying indexing interval.  Allowed
      comment lines to be in coords.txt.

    * md_coords.pl.in: Improved messages to user.

    * fa_coords.pl.in: Added handling of unmapped contigs for Ensembl genomes. 
      Improved messages to user.  Added check for possible conversions of
      alternate chromosomes to alternate strains.

    * gmap_uncompress.pl.in: Fixed bug due to old code that referred to the -R
      flag

    * gmap.c: Enhanced result to show number of matches, mismatches, and indels
      in alternative to chimera.  Introduced maxpaths of 0 to indicate output of
      both paths of chimera if present, otherwise one path.

    * pair.c, pair.h, sequence.c, sequence.h, stage3.c, stage3.h: Removed
      references to ntrimmed

    * result.c, result.h: Enhanced result to show number of matches, mismatches,
      and indels in alternative to chimera

    * gmap.c: Remove check for badoligos.  Modified logic for computing
      chimeras. Made calls to initialization and termination routines for
      Dynprog_T.

    * chimera.c: Fixed memory leak

    * pair.c: Removed printing of ntrimmed nucleotides

    * stage3.c, stage3.h: Added functions for reporting matches, mismatches,
      indels, and margin of a Stage3_T object

    * translation.c: Added initial values for translation_start and
      translation_end

    * stage2.c: Removed computation of stage2 support.  Simplified loop
      conditions.

    * oligoindex.c, oligoindex.h: Removed computation of stage2 support

    * dynprog.c, dynprog.h: Replaced functions with arrays for computing
      pairdistances and jump penalties

    * oligoindex.c, oligoindex.h: Changed memory allocation scheme, by setting
      ALLOCSIZE == MAXHITS. Assigning blocks in ascending order of available
      slots.  Computing trim_start and trim_end.  Reporting support for stage 2.

    * gmap.c: Changed calls to Sequence_read().  Using oligomer-based method for
      trimming query sequence.

    * md5-compute.c, oligo-count.c: Changed calls to Sequence_read()

    * sequence.c, sequence.h: Removed poly-A and poly-T detection in favor of
      oligomer-based trimming at ends.

2005-05-05  twu

    * stage2.c, stage2.h: Added check for stage 2 support.

    * stage1.c: Restored terminal sampling for short sequences.  Fixed potential
      bug with subtracting unsigned ints.  Enhanced debugging messages.

    * md5-compute.c, oligo-count.c, sequence.c, sequence.h: Modified functions
      to report next char in input.

    * matchpair.c, matchpair.h: Added reporting of stage1 support and stage1
      stretch.

    * gmap.c: Added checks for bad input sequences based on oligo depth, bad
      oligos, stage1 support, and stage2 support.  Moved message about batch
      mode earlier, if evidence of a second sequence is present.

    * gmap.c: Chopping chimeras at breakpoint, and providing a flag to allow
      overlaps at the breakpoint.

    * stage3.c, stage3.h: Simplified interface to Stage3_copy.

    * pair.c, pair.h: Removed coverage correction for genomic gaps.  Added way
      to turn off merge_gaps during copying of pairs.

    * stage2.c: Made changes in individual instructions to improve speed

    * oligoindex.c: Added overabundant field

    * chimera.c: Speeded up computation

    * gmap.c: Using explicit step for marking oligos in the query.  Terminating
      attempt at mapping if oligo depth exceeds 2.  Fixed memory leak.

    * stage2.c, stage2.h: The variable badsequencep is now fed into
      Stage2_compute.

    * stage1.c: Killed terminal sampling for short sequences.  Reduced values
      for maxentries.  Both done to improve speed.

    * oligoindex.c, oligoindex.h: Added an explicit step for marking oligos in
      the query, which needs to be done only once for each query sequence.

2005-05-04  twu

    * chimera.h: Added computation of margin.

    * chimera.c: Added computation of margin.  Improved debugging output.

    * gmap.c: Fixed bug where bestfrom == bestto.  Added check for sufficient
      margin at ends before finding chimera.

    * gmap_compress.pl.in: Changed compression routine to handle chimera
      information

    * chrsubset.c: Fixed bug where stdin was closed if .chrsubset file didn't
      exist

    * stage3.h: Added function to compute matchscores for chimera detection.

    * stage3.c: Changed calls to Sequence_T functions.  Added function to
      compute matchscores for chimera detection.

    * stage2.c: Performing Stage 2 from trim start to trim end, instead of
      entire sequence.  Changed calls to Sequence_T functions.

    * stage1.c: Changed calls to Sequence_T and Reader_T functions

    * sequence.c, sequence.h: Cleaned up interface.  Added ability to print
      trimmed part of sequence.

    * Makefile.am, chimera.c, chimera.h, gmap.c, nmath.c, nmath.h, pair.c,
      pair.h: Added chimera detection based on Chow test

    * md5-compute.c: Changed call to Sequence_T function.  Using full sequence
      now for MD5 computation.

    * matchpair.c: Removed call to Sequence_T function

    * oligoindex.c: Changed calls to Sequence_T functions

    * oligo-count.c: Changed call to Reader_new

    * get-genome.c: Changed call to Sequence_print

    * reader.c, reader.h: Storing querystart and queryend in Reader_T object

    * block.c, block.h: Removed unnecessary field

2005-05-03  twu

    * gmap.c, gmapindex.c, indexdb.c, indexdb.h: Allowed indexing interval of
      12-mers to be specified at run time

    * configure.ac: Added check for madvise function

    * README: Added Ensembl format as a recognized coordinate format

    * md_coords.pl.in: Improved prompt for alternate chromosomes

    * genome.c, iit-read.c, indexdb.c: Put compiler flags around madvise

    * datadir.c: Deleted line that was causing problems when the GMAPDB
      environment variable was set

2005-05-01  twu

    * fa_coords.pl.in: Further fixed coordinates

    * fa_coords.pl.in: Removed addition of 1 to coordinates.  Added parsing for
      Ensembl format.

    * gmap_setup.pl.in: Testing accessions with and without version numbers

    * md_coords.pl.in: Making -U and -A flags standard.  Can exclude unmapped
      contigs and alternate chromosomes with chrsubsets.

    * md_coords.pl.in: Fixed case where direction eq "0".

    * oligoindex.c: Modified memory allocation scheme to have a fixed block of
      memory that expands when necessary.

    * iit_get.c: Added -A back to allowed flags.

    * chrsubset.c: Added debug statements

    * VERSION: Updated version

2005-04-20  twu

    * sequence.c: Kept poly-A and poly-T limits when specifying subsequences.

    * pair.c: Added an exception handler.  Removed minor bug where first pair
      was handled twice.

    * gmapindex.c: Allowed compress and uncompress routines to take a filename
      as an argument.  Added wraplength option for uncompress.

    * gmap.c: Fixed bug in specifying wrong sequence length for computing
      chimeras. Removed limit on number of paths for finding chimeras.  Added
      exception handler.

    * except.c: Modified behavior of exception handler

    * genuncompress.c: Fixed problem if positions were greater than allowed for
      signed ints.

    * compress.c, compress.h: Added wraplength option to Compress_uncompress.

2005-04-19  twu

    * sequence.c, stage1.c: Added checks for null before freeing memory.

    * gmap.c: Made IIT_get return an array of ints, rather than an Intlist, to
      reduce repeated small memory allocations.  Placed a limit on npaths for
      finding chimeras.

    * get-genome.c, iit-read.c, iit-read.h, iit_get.c, segmentpos.c, stage3.c:
      Made IIT_get return an array of ints, rather than an Intlist, to reduce
      repeated small memory allocations.

    * mem.c: Added debugging statements.

2005-04-18  twu

    * dynprog.c: Added memory allocation routines in cases where problem size
      exceeds maxlength of Dynprog_T.  Removed unused code for affine gap
      penalties.

2005-04-12  vivekr

    * cvswrappers: Added binary extensions

2005-03-11  twu

    * gmap_setup.pl.in, md_coords.pl.in: Allowed for contigs to be reverse
      complement

    * fa_coords.pl.in: Removed unused functions

    * gmap.c: Moved dump functions to get-genome

    * segmentpos.c: Fixed bug when alternate strain contig exists but reference
      is to reference strain

    * get-genome.c, iit-read.c, iit-read.h: Changed output of dump functions

    * get-genome.c: Moved dump functions to get-genome

    * README: Added instructions for specifying reverse coordinates

    * VERSION: Changed version number

2005-03-09  twu

    * gmapindex.c, iit-read.c: Now storing information about reverse
      complementing of contigs

    * match.c, pair.c, pair.h, segmentpos.c, segmentpos.h, stage3.c: Limited
      printing of contigs to those that are relevant for a given strain.

    * get-genome.c, gmap.c: Fixed bug when using the -R release flag.

2005-03-08  twu

    * get-genome.c: Changed default behavior to print just the reference strain.
       Added a flag to print all strains.

2005-03-04  twu

    * chrsubset.c: Fixed minor memory leak

    * VERSION: Updated version

    * README: Added explanation of chromosome subsets

    * chrsubset.c: Changed Chrsubset_T object to be NULL when a blank list is
      read in .chrsubset file.

    * gmap.c: Incorporated chrsubset.  Fixed printing of option flags.

    * gmap_setup.pl.in: Added creation of chrsubset file

    * whats_on: Changed directories where genomic maps are located

    * Makefile.am, chrsubset.c, chrsubset.h, params.c, params.h, stage1.c,
      stage1.h: Added capability to search on chromosome subsets

    * separator.h: Changed separator back to dashes

    * iit-read.c: Changed format of dumping typestrings for .altstrain.type
      file.

    * gmapindex.c: Added writing of .altstrain.type file.

    * stage1.c: Removed unused code.  Using stage1size instead of INDEX1PART in
      some places.

    * gmap.c: Added error message.

    * datadir.c: Removed unused error message.

2005-03-03  twu

    * stage1.c: Introduced idea of dangling matches at ends, and using it to
      determine when to sample further at each end, and when to sample from the
      middle.

    * separator.h: Changed separator from dashes to dots.

2005-03-02  twu

    * stage1.c: Fixed a bug in find_3prime_matches.  Changed sampling to avoid
      terminal sampling, and to redo sampling just before nskip is zero. This is
      done to avoid long computation times with terminal sampling on long cDNAs.

2005-03-01  twu

    * matchpair.c, matchpair.h: Added a boundmethod type.

    * stage1.c: Added code for finding matches using triplets, but not using it.
      Removing terminal sampling, and performing a redo of last sampling
      instead.

2005-02-19  twu

    * params.c, params.h: Removed maxintronlen from the params structure.

    * gmap.c: Increased default maxintronlen to 1.2M, and provided a flag to
      allow user to change this value.

2005-02-18  twu

    * configure.ac, perl.m4: Changed name of macro

    * configure.ac: Added check for Perl with needed modules.  Added warning
      messages to bottom of configure script.

    * config.site: Added option for user to specify a value for PERL

    * acinclude.m4: Added check for Perl with needed modules

    * perl.m4: Added check for Perl with appropriate modules

    * VERSION: Set version number

    * COPYING, config.site: Changed wording slightly

    * README: Removed optional comment after make check

2005-02-17  twu

    * datadir.c, gmap_setup.pl.in: Allowed subdirectory to be present in the -d
      flag

    * config.site: Fixed advice on installing in build directory

    * README: Fixed some textual errors

2005-02-16  twu

    * gmap_setup.pl.in: Modified instruction text

    * md_coords.pl.in: Added guessing of columns

    * genome.c, genuncompress.c, iit-read.c, indexdb.c: Added type cast to avoid
      compiler warnings for munmap.

    * configure.ac: Removed capitalization

    * VERSION: Updated version

    * configure.ac: Capitalized message when compilation of pthreads fails

    * Makefile.am: Added subdirectories

    * iit_get.out.ok, iittest.iit.ok: Added okay files for IIT programs

    * AUTHORS: Minor text change

    * gmap_setup.pl.in: Changed usage statement

    * acx_pthread.m4: Updated macro to latest version

    * configure.ac: Added tests for IIT programs.  Changed call to ACX_PTHREAD.

    * config.site.gne: Changed name from genomedir to gmapdb

    * config.site: Added lines for PTHREAD_CFLAGS and PTHREAD_LIBS

    * MAINTAINER: Added instructions for building .ok files for tests

    * align.test.in, coords1.test.in, map.test.in, setup1.test.in,
      setup2.test.in: Added ${srcdir} where necessary to make distcheck happy

    * Makefile.am, fa.iittest, iit.test.in, iit_dump.test.in, iit_get.test.in,
      iit_store.test.in: Added tests for IIT programs

    * gmap.c: Changed ENABLE_PTHREADS to HAVE_PTHREAD.  Added reporting of
      features to version command.

    * blackboard.c, reqpost.c: Changed ENABLE_PTHREADS to HAVE_PTHREAD

    * iit_store.c: Changed flags and calling convention

    * Makefile.am: Removed ENABLE_PTHREADS and POPT_LIBS.

    * acinclude.m4: Changed name of file

    * README: Completed instructions

    * COPYING: Completed license terms

    * acx-pthread.m4, acx_pthread.m4: Changed name of file

    * acinclude.m4, acx-pthread.m4, config, expand.m4, mmap-flags.m4,
      pagesize.m4: Put m4 macros into separate files

    * configure.ac: Commented out code for AC_PROG_LIBTOOL.  Added some compiler
      checks.

    * gmap_setup.pl.in: Removed IO::Dir.  Changed behavior if -I flag not given.
       Added -9 for debugging behavior.

    * fa_coords.pl.in, md_coords.pl.in: Removed IO::Dir

    * iit-read.h, iit-write.h: Fixed compiler complaint about double typedef for
      IIT_T

    * iit-read.c: Fixed one-off problem with IIT_totallength.

    * genome-write.c: Fixed montoring statements.

    * gmap.c: Put pthreads information in version text.

    * gmapindex.c: Fixed problem in comparing an int (255) with EOF (-1) on some
      machines.

2005-02-15  twu

    * Makefile.am, align.test.in, align.test.ok, coords1.test.in,
      coords1.test.ok, map.test.in, map.test.ok, setup.genomecomp.ok,
      setup.idxpositions.ok, setup1.test.in, setup2.test.in, ss.chr17test:
      Expanded test suite

    * Makefile.am, ss.cdna, ss.chr17test, ss.her2: Initial addition to CVS
      repository.

    * gmap_setup.pl.in, md_coords.pl.in: Moved functionality to separate
      md_coords program

    * Makefile.am: Added fa_coords program

    * fa_coords.pl.in: Added file to CVS repository.

    * block.c, block.h, compress.c, dynprog.c, dynprog.h, genome-write.c,
      iit-read.c, iit-write.c, indexdb.c, interval.c, intron.c, match.c,
      match.h, matchpair.c, matchpair.h, md5.c, md5.h, md5.t.c, oligo.c,
      oligo.h, pair.h, pairpool.c, pairpool.h, reader.c, request.c, result.h,
      segmentpos.c, segmentpos.h, smooth.c, smooth.h, stage1.c, stage3.c,
      stopwatch.c, translation.h: Cleaned up included headers

    * table.c, table.h, tableint.c, tableint.h: Clarified meaning of unsigned
      type.

    * reqpost.h: Using Blackboard_T in interface.

    * oligo-count.c: Fixed call to Block_new.

    * listdef.h: Added a define for T.

    * iitdef.h: Moved typedef to iit-read.h and iit-write.h.

    * iit_get.c: Removed popt library calls.

    * iit-read.h, iit-write.h: Moved include of iitdef.h to .c files.

    * get-genome.c: Using SEPARATOR now instead of DASH.

    * datadir.c, datadir.h: Formatting changes.

    * gmap.c, oligoindex.c, oligoindex.h, params.c, params.h, stage2.c,
      stage2.h: Moved get_mappings command to be in oligoindex.c.  Moved
      indexsize to be stored in Params_T.

    * complement.c, complement.h, genome.c, pair.c, sequence.c, translation.c:
      Changed complement table to be a macro.

    * chrom.c, chrom.h: Clarified meaning of unsigned type.

    * blackboard.h: Added comments about include of reqpost.h.

    * Makefile.am: Cleaned up source files needed for each binary.

    * shortoligomer.h: Removed file.  Definition needed only by oligoindex.c.

2005-02-14  twu

    * bigendian.h, genuncompress.c, iit-write.c, littleendian.h: Conditionally
      include littleendian.h.

    * iit-read.h: Added function to compute total length.

    * iit-read.c: Conditionally include littleendian.h.  Added function to
      compute total length.

    * indexdb.h: Allow user to force building of positions file in file.

    * indexdb.c: Conditionally include littleendian.h.  Allow user to force
      building of positions file in file.

    * genome-write.c: Added explanation of file format.

    * genome.c: Changed type from unsigned int to UINT4.  Conditionally include
      littleendian.h.

    * compress.c, compress.h: Added ability to create genome file in memory, if
      enough is available. Changed type from unsigned int to UINT4.

    * Makefile.am, genome-write.c, genome-write.h, gmapindex.c: Moved procedures
      for writing genome file to a new file.  Added ability to create genome
      file in memory, if enough is available.

2005-02-10  jmurray

    * cvswrappers: Added binary extensions

2005-02-10  twu

    * iit_get.c: Added include for strings.h to handle rindex.

    * bigendian.h, genome.c, genuncompress.c, indexdb.c, sequence.c: Added
      includes for stddef.h to handle size_t

    * genome.c, genuncompress.c, iit-read.c, indexdb.c: Added check for
      HAVE_SYS_STAT_H

    * gmap.c, gmapindex.c, oligo-count.c: Removed include of sys/stat.h

    * iit-read.c: Commented out include of sys/param.h

    * genome.c, indexdb.c: Commented out include of errno.h

    * except.c: Removed code for mailing error messages to developer.

    * genome.c, genuncompress.c, gmapindex.c, iit-read.c, iit_store.c,
      indexdb.c, md5-compute.c, stopwatch.c: Added checks for HAVE_UNISTD_H and
      HAVE_FCNTL_H.

    * blackboard.c, compress.c, datadir.c, genome.c, genuncompress.c, gmap.c,
      gmapindex.c, iit-read.c, iit_store.c, indexdb.c, oligo-count.c, reqpost.c,
      stopwatch.c: Added check for HAVE_SYS_TYPES_H

    * genome.c, genomicpos.c, iit-write.c, indexdb.c, match.c, md5.c,
      oligoindex.c, pair.c, sequence.c: Created separate macros for handling
      absence of memcpy and memmove.

    * genome.c, genomicpos.c, iit-write.c, indexdb.c, match.c, md5.c,
      oligoindex.c, pair.c, sequence.c: Included macros for handling computers
      without memcpy or memmove.

    * datadir.c: Included macros for handling computers without dirent.h.

2005-02-08  twu

    * chimera.c, translation.c: Fixed rcsid lines

    * Makefile.am, uinttable.c, uinttable.h: Removed files uinttable.c and
      uinttable.h

    * bigendian.c: Added ending quotation mark to rcsid.

    * bigendian.h, chimera.h, scores.h, separator.h: Added Id comment to
      beginning of header files.

2005-02-07  twu

    * assert.c, assert.h, bigendian.c, bigendian.h, blackboard.c, blackboard.h,
      block.c, block.h, boyer-moore.c, chimera.c, chrnum.c, chrnum.h, chrom.c,
      chrom.h, complement.c, complement.h, compress.c, datadir.h, dynprog.c,
      dynprog.h, except.c, except.h, genome.c, genome.h, genomicpos.c,
      genomicpos.h, get-genome.c, gmap.c, gmapindex.c, iit-read.c, iit-read.h,
      iit-write.c, iit-write.h, iit_dump.c, iit_get.c, iit_store.c, indexdb.c,
      indexdb.h, interval.c, interval.h, intlist.c, intlist.h, intron.c,
      intron.h, list.c, list.h, match.c, match.h, matchpair.c, matchpair.h,
      md5-compute.c, md5.c, md5.h, mem.c, mem.h, mutation.c, mutation.h,
      oligo-count.c, oligo.c, oligo.h, oligoindex.c, oligoindex.h, pair.c,
      pair.h, pairpool.c, pairpool.h, params.c, params.h, reader.c, reader.h,
      reqpost.c, reqpost.h, request.c, request.h, result.c, result.h,
      segmentpos.c, segmentpos.h, sequence.c, sequence.h, smooth.c, smooth.h,
      stage1.c, stage1.h, stage2.c, stage2.h, stage3.c, stage3.h, stopwatch.c,
      stopwatch.h, table.c, table.h, tableint.c, tableint.h, translation.c,
      translation.h, uintlist.c, uintlist.h, uinttable.c, uinttable.h: Moved
      HAVE_CONFIG_H from .h file to .c file.

    * datadir.c: Added check to see if closedir succeeded.

    * Makefile.am: Augmented list of bin programs.

    * get-genome.c: Changing variable names to genomesubdir, fileroot, and
      dbversion.

    * gmap.c: Added -g flag.  Changing variable names to genomesubdir, fileroot,
      and dbversion.

    * params.c, params.h: Made dbversion a static variable.

    * match.c, pair.c, pair.h, stage3.c, stage3.h: Changing variable names to
      genomesubdir, fileroot, and dbversion.

    * genome.c, genome.h, indexdb.c, indexdb.h: Changing variable names to
      genomesubdir and fileroot.

    * datadir.c, datadir.h: Now searching subdirectory to find name of fileroot,
      which can be different from subdirectory name.

    * pair.c: Removed unnecessary math.h header.  Added initialization of donor
      and acceptor arrays.

    * getopt.c: Removed internationalization code.

    * gmap.c: Removed unnecessary math.h header.  Changed location of map
      directory for each genome.

    * matchpair.c, oligoindex.c, segmentpos.c, smooth.c, stage3.c: Removed
      unnecessary math.h header.

    * indexdb.c, indexdb.h: Allowed user to build positions file directly to
      disk, if sufficient memory is unavailable.

    * mem.c, mem.h: Added procedures for allocating memory without throwing an
      exception.

    * gmapindex.c: Changed flags.  Allowed user to build positions file directly
      to disk, if sufficient memory is unavailable.

    * chrom.c: Eliminated printing of initial zero on non-numeric chromosomes.

2005-02-03  twu

    * gmap_setup.pl.in: Removed -R flag, and symbolic links.  Fixed problems
      with parsing unmapped contigs in seq_contig.md files.

    * gmapindex.c: Added debugging statements.

2005-01-28  twu

    * config.site: Added warning about non-absolute paths.

    * README: Added comments about downloading a genome database.

    * Makefile.am: Added extra commands for "make distcheck" to be happy. 
      Removed genome example.

    * MAINTAINER: Added comment about --enable-fulldist

2005-01-27  twu

    * Makefile.am, config.site, configure.ac, datadir.c: Changed GENOMEDIR to
      GMAPDB.

2005-01-26  twu

    * ss.AA005326, ss.cdna: Changed name of example cDNA sequence.

2005-01-25  twu

    * MAINTAINER: Added recommended steps for creating a distribution.

    * Makefile.am, chrnum.c, chrnum.h, chrom.c, chrom.h, genome.c, genome.h,
      get-genome.c, gmap.c, gmapindex.c, match.c, match.h, matchdef.h,
      matchpair.c, pair.c, pair.h, segmentpos.c, segmentpos.h, stage1.c,
      stage3.c, stage3.h: Made changes to allow chromosome names to be
      arbitrarily long

    * gmap_setup.pl.in: Removed restriction on chromosome name length.  Stripped
      spaces from beginning and end of input.  Added step to create initial
      genomedir.

2005-01-24  twu

    * config.site: Changed defaults in config.site.

    * getopt.c, getopt.h, getopt1.c: Added gnu getopt_long function

    * ss.AA005326, tests: Added test sequence.

    * Makefile.am: Created Makefile.am in util subdirectory

    * gmap_setup.pl.in: Fixed bug due to missing quotation mark

    * configure.ac: Removed dependence upon popt library

    * Makefile.am, get-genome.c, gmap.c: Added gnu getopt_long procedure

    * README: Changed prerequisites.  Improved formatting.

    * gmap_setup.pl.in: Added procedures for handling UCSC genomes.

    * iit_store.c: Using Tableint_T instead of Table_T for types.

    * Makefile.am: Removed some unnecessary source files.

    * configure.ac: Added ACX_EXPAND, turned off popt, and fixed problem when no
      threads compilation is possible.

    * config.site.gne: Added comments for profiling and making .third file.

    * acinclude.m4: Added macro for ACX_EXPAND.

    * README: Added mention of examples and make check.

    * Makefile.am: Added extra dist files for examples.

    * oligoindex.c: Created a union type to make clear the possible storage of
      either a position or a pointer to an array positions.

    * datadir.c: Removed unused function.

    * gmapindex.c, table.c, table.h, tableint.c, tableint.h, uinttable.c,
      uinttable.h: Added an end value to avoid problems when table length is 0.

    * Makefile.am, tableint.c, tableint.h, uinttable.c, uinttable.h: Made
      specific table types.

    * gmap.c: Removed duplicate getopt line.

    * iit_get.c: Fixed compilation bug when popt not available.

    * gmapindex.c: Used specific table types and keys/values functions.

    * table.c, table.h: Made functions Table_keys and Table_values

    * gmap_uncompress.pl.in: Using BINDIR for substitution.

    * Makefile.am: Removed Makefile.am

2005-01-23  twu

    * gmap_setup.pl.in: Major changes made to provide both interactive and
      command-line use.

2005-01-22  twu

    * configure.ac: Allowed hyphens to be in the version number

    * MAINTAINER, bootstrap, config.site, config.site.gne: Added local
      config.site to CVS directory

    * MAINTAINER: Added notes for maintainer

    * README: Simplifying the installation instructions

    * configure.ac: Made configuration easier by adding VERSION and config.site
      files. Removed MAPDIR.  Added Perl scripts.

    * VERSION, config.site: Made configuration easier by adding VERSION and
      config.site files.

    * gmap_compress.pl.in, gmap_uncompress.pl.in: Changed file from .pl version
      to .pl.in version.

    * Makefile.am: Moved Perl scripts to util subdirectory.

    * datadir.c, datadir.h, gmap.c: Moved map files to a subdirectory in genome
      directory.

    * gmapsetup.pl.in: Moved file to util subdirectory.

    * whats_on: Changed location of map files to be inside genome directories.

    * gmap_compress.pl, gmap_uncompress.pl: Changing scripts from .pl to .pl.in
      version

    * Makefile.am, README, compress.c, configure.ac, datadir.c, genome.c,
      get-genome.c, gmap.c, gmap_compress.pl, gmap_compress.pl.in,
      gmap_setup.pl.in, gmapsetup.pl.in, iit-read.c, indexdb.c, segmentpos.c:
      Renamed program from snap to gmap

    * snap.c, snap_compress.pl, snap_uncompress.pl, snapbuild.pl.in,
      snapindex.c: Renamed program from snap to gmap

    * gmap_compress.pl, gmap_compress.pl.in, snap_compress.pl: Better handling
      of MD5 info and aa lines.

    * gmap_uncompress.pl, gmap_uncompress.pl.in, snap_uncompress.pl: Handling
      arbitrary flags in compression.

    * mutation.c, mutation.h, pair.c, pair.h, pairdef.h, translation.c: Added
      refquerypos to print nucleotide position of mutations.

    * get-genome.c: Fixed problem with empty header for reference sequence when
      specific strain is requested.

2005-01-19  twu

    * translation.c: Fixed problem with printing of an AA in an intron.

    * mutation.c: Consolidated point mutations near a segmental mutation.

2005-01-06  twu

    * translation.c: Fixed detection of deletion mutations where aapos was
      advancing in a gap.

    * mutation.c, mutation.h, translation.c: Fixed cases where a single-position
      mutation was reported next to a segmental mutation.

    * stage3.c: Added debugging statements for relative alignment.

    * translation.c: Allowed lower case letters to translate appropriately to a
      codon.

2004-12-21  twu

    * stage3.c: Performing microexon search for all defect rates.  Adjusted
      acceptable mismatches for low-quality sequences.

    * translation.c: Increased IGNORE_MARGIN to deal with nucleotide
      coordinates.

    * stage3.c: Changed criteria for performing microexon search.

2004-12-20  twu

    * translation.c, translation.h: Fixed detection of large deletions relative
      to reference sequence. Fixed printing of cDNA aa in a gap.

    * stage3.c: Changed criterion for starting microexon search to add
      mismatches and indels.  Fixed detection of large deletions relative to
      reference sequence.

    * gmap.c, snap.c: Set chimera threshold to 0 for default.  Reduced band from
      10 to 7.

    * dynprog.c: Reduced pvalue thresholds for microexons.

2004-12-19  twu

    * gmap.c, snap.c: Turned on chimera functionality.  Increased dynamic
      programming band from 7 to 10.

    * stage1.c: Changed function for maxintronlen.

    * smooth.c: Increased SHORTMIDEXON_LEN from 40 to 80.

    * dynprog.c: Removed definition for INFINITY, which wasn't being used.

2004-12-18  twu

    * stage2.c: Created define parameter SAMPLE_INTERVAL.

    * gmap.c, snap.c: Change maxintronlen to be maxintronlen_bound, and compute
      new maxintronlen depending on current query length.  Increased size of
      extraband_single and extraband_paired.

    * params.c, params.h, stage1.c, stage1.h: Change maxintronlen to be
      maxintronlen_bound, and compute new maxintronlen depending on current
      query length.

    * dynprog.c: Changed compute_scores_affine to have parameter list compatible
      with compute_scores (with codon penalty).

    * stage3.c: Subtracting points for non-canonical introns in determining
      direction. Doing middle introns of sequence before doing 3' and 5' ends.

    * dynprog.c: Increased pvalue thresholds.

2004-12-13  twu

    * gmap.c, pair.c, pair.h, snap.c, stage3.h: Added function for printing cDNA
      exons.

    * stage3.c: Fixed problem where we shouldn't perform single-gap dynamic
      programming because unable to peel forward and peel back.

    * translation.c: Created separate mutation types for substitution,
      insertion, and deletion.  Allowed filling in of last amino acid.

    * mutation.c, mutation.h: Created separate mutation types for substitution,
      insertion, and deletion.

2004-12-10  twu

    * stage3.c: Changed calls to Translate module.

    * translation.c: Simplified code for computing protein bounds.  Handled the
      case where full length is specified, but no full length protein exists.

    * mutation.c, mutation.h: Added procedures for handling multiple insertions
      and deletions.

2004-12-09  twu

    * translation.c, translation.h: Changed algorithm for translate_est_forward
      and translate_est_backward.

2004-12-08  twu

    * translation.c, translation.h: Changed algorithms for translate_est_forward
      and translation_est_backward.  Added printing of nucleotide differences.

    * gmap.c, snap.c, stage3.c, stage3.h: Added options for printing either
      genomic or cDNA version of protein.

    * pair.c, pair.h: Added function Pair_dump_aapos.

    * mutation.c, mutation.h: Added functions for retrieving amino acids from
      mutation.

    * dynprog.c: Added slight penalty against gaps next to an intron.

2004-12-06  twu

    * Makefile.am, mutation.c, mutation.h, stage3.c, translation.c,
      translation.h: Simplified computation of translations and mutations.

    * pair.c, pair.h, pairdef.h, pairpool.c: Now printing both genomic and cDNA
      proteins.

2004-12-02  twu

    * stage3.h: Removed unused chimera code.

    * stage3.c: Removed unused chimera code.  Changed criteria for finding
      microexons at end; now performed only when extension is poor and sequence
      quality is high.

    * dynprog.h, gmap.c, snap.c: Allowed user option to extend alignment past
      last match.

    * dynprog.c: Fixed bug in adding gap to replace dashes.

    * pairpool.c: Added debugging statement for creation of pairs.

    * smooth.c: Added check for negative exon length.

2004-11-30  twu

    * dynprog.c, dynprog.h: Added symbols for an intron if applicable to a large
      horizontal jump. Increased maximum microexon size.

    * stage3.c: Added peel_back and peel_forward to 5' and 3' ends before doing
      search for microexons.

2004-11-23  twu

    * scores.h, stage3.c: Added credit for dual half-canonical introns.

    * stage1.c, stage1.h: Removed unused code.

    * dynprog.c: Added parameters for PVALUE for microexon and end exon
      searches.

2004-11-18  twu

    * result.h: Changed interface for Result_new to match implementation.

    * Makefile.am: Added scores.h to Makefile.am.

2004-11-15  twu

    * stage3.c, stage3.h: Commented out code for extending pairs in a chimera.

    * gmap.c, snap.c: Fixed problem in rearranging best two paths for chimera.

    * pair.c: Stopped printing of the terminal amino acid '*'.

    * genome.c, indexdb.c: Added printing of a dot every 10000 pages.

2004-10-12  twu

    * gmap.c, snap.c: For chimeras that extend too long, now chopping off the
      extra part.

    * stage3.c, stage3.h: Added procedure for doing a bounded copy of a Stage 3
      object.

    * pairpool.c, pairpool.h: Added procedure for doing a bounded copy of a
      path.

2004-10-07  twu

    * Makefile.am, chimera.c, chimera.h, gmap.c, snap.c: Changed procedure for
      chimeras to find best pair and to order the chimeras according to query
      sequence.

    * scores.h: Moved scores for determining goodness into a separate file.

    * stage3.c, stage3.h: Added procedure for copying a Stage3 object.

    * result.c, result.h: Changed chimera information to be a position, rather
      than a boolean.

    * dynprog.c: Added code for allowing right angles, but not using at present.

    * pairpool.c: Changed print statement to work only in debug mode.

    * pair.c, pair.h: Added procedure for computing scores along a path.

2004-10-01  twu

    * gmap.c, match.c, pair.c, pair.h, sequence.c, sequence.h, snap.c, stage3.c,
      stage3.h: Added MD5 checksum for compressed output.

    * stage1.c: Added notation about using position for revcomp matches in IITs.

    * iit-read.c: Changed debugging statements to print unsigned ints.

2004-09-27  twu

    * stage3.c: Fixed problem when peeling an extra pair if it's a gap.

2004-09-09  twu

    * stage3.c: Restored behavior of crossing just one short exon for dual
      genome gap.

    * stage3.c: Peeled back one more matching pair.  For dual intron gap, now
      skipping multiple short exons and keeping the longest one.

    * gmap.c, snap.c: Increased maxpeelback from 10 to 11.

    * pairpool.c, pairpool.h: Added command Pairpool_transfer_copy, although not
      currently used.

    * pair.c, pair.h: Added command Pair_check_list.

    * dynprog.c: Added end reward for bridging a cDNA gap.

    * md5-compute.c: Changed behavior from a single sequence to a FASTA file of
      multip[le sequences.

    * Makefile.am: Added object file for md5-compute.

2004-09-02  twu

    * stage3.c: Fixed floating exception bug when middle_exonlength is
      non-positive.

    * stage2.c: Fixed problem of reading uninitialized value.

2004-08-30  twu

    * dynprog.c: Added check for non-positive span.

2004-07-28  twu

    * stage2.c: Changed some penalties.  Using bad sequence information to
      increase lookback.

    * oligoindex.c, oligoindex.h: Added check for bad sequences (with several
      non-ACGTN characters).

    * dynprog.c: Added check for zero span.

2004-06-25  twu

    * gmap.c, snap.c: Added flag to search only reference strain.

    * stage2.c: Increased definition of ENOUGH_CONSECUTIVE.  Added penalties for
      deadp.

    * stage3.c: Penalizing noncanonical introns in comparing across different
      paths.

    * segmentpos.c: Changed output of contig length.

    * pair.c, pair.h: Reporting number of noncanonical introns.  Allowing
      goodness to be reported during debugging.

2004-06-23  jtang

    * cvswrappers: Added binary extensions

2004-06-20  twu

    * stage2.c: Simplified decision making for mismatch gaps.  Increased
      penalties on gendistance and querydistance.

2004-06-16  twu

    * whats_on: Added get_sequences function.

    * gmap_uncompress.pl, gmap_uncompress.pl.in, snap_uncompress.pl: Implemented
      code to interpret new compression scheme.

    * stage2.c: Changed penalty functions into macros for speed.  Made some
      other changes to improve speed.

    * dynprog.c: Fixed bug involving uninitialized variable.

2004-06-15  twu

    * stage2.c: Penalizing intron length per 2000 nt instead of 1000.

    * stage3.c: Using goodness scores to decide between single and dual introns.
      Searching for microexons only when sequence quality is medium to high.

    * dynprog.c, dynprog.h: Reporting nopens and nindels from
      Dynprog_genome_gap.

2004-06-13  twu

    * stage3.c: Added evaluation of middle exon length in deciding between
      single and dual introns.

    * stage2.c: Reduced size of INTRON_DEFN.  Further penalized large query
      distances.

    * stage1.c: Increased length of additional ends of genome segment.

    * oligoindex.c: Improved debugging statements.

    * dynprog.c, dynprog.h: Allowing up to 1 mismatch on either side for
      microexon search. Reporting position of exonhead in Dynprog_genome_gap for
      use in traversing dual genome gap.

2004-06-10  twu

    * stage2.c: Added procedure to determine maximum intron length at a given
      querypos, and based penalties to be linear with that.

    * smooth.c: Added check for nullness of intronlengths.

    * dynprog.c: Added probabilistic check on microexon length for a given
      genomic span.

2004-06-09  twu

    * pair.c, pair.h, stage3.c: Keeping track of semicanonical introns and
      scoring them to decide on strand.

    * smooth.c: Made decision about deleting end exons based on probability.

2004-06-08  twu

    * get-genome.c: Fixed a bug in determining whether a query is a range.

    * stage3.c: Added debugging statement for microexons.

    * dynprog.c: Added minimum length for introns when looking for microexons.

2004-06-07  twu

    * stage2.c: Changed penalties to be more consistent on mismatches between
      different conditions, including deadp.  For deadp, now requiring that
      abs(gendistance - querydistance) or querydistance be less than
      INTRON_DEFN.

    * smooth.c: Increased threshold on ends to be 20.

    * pair.c: For determining fracidentity (and selecting between forward and
      reverse strands), now counting semicanonical introns as canonical.

    * stage2.c: For deadp, increased lookback.

    * gmap.c, snap.c: Increased maxintronlen from 1 million bp to 2 million bp. 
      Motivated by HER4 (NM_005235).

    * gmap.c, snap.c: Increased nullgap from 80 to 600.

    * stage2.c: Modified stage 2 scoring for mismatch alignments.  Invoked deadp
      when fwd or rev score is zero.

2004-06-04  twu

    * translation.c: Further fixed the bug involving uninitialized heap
      (translation_start/translation_end extending beyond sequence boundaries).

    * stage2.c, stage2.h: Rewrote code into separate procedure.  Increased
      gendistance penalty. Changed penalties when querypos is dead.

    * gmap.c, snap.c: Created separate parameters for extraband_end and
      extraband_paired. Renamed maxlookback to nullgap.  Created nsufflookback
      parameter. Removed repetition of stage 2.

    * params.c, params.h, stage3.c, stage3.h: Created separate parameters for
      extraband_end and extraband_paired. Renamed maxlookback to nullgap. 
      Created nsufflookback parameter.

    * dynprog.h: Created separate parameters for extraband_end and
      extraband_paired.

    * dynprog.c: Created separate parameters for extraband_end and
      extraband_paired. Extending last nucleotide at ends if possible.  Removing
      gaps at ends.

    * translation.c: Fixed a bug involving reading/writing of uninitialized
      heap.

2004-06-02  twu

    * stage3.c: Doubled intron space required for a paired gap solution to be
      attempted.

    * dynprog.c: Implemented gap penalties that are non-affine, with extensions
      being the same within a codon.

    * translation.c: Fixed bug where codon was assigned improperly at a cDNA
      gap.

    * dynprog.c, dynprog.h, stage3.c: Added a conservative search for microexons
      at the 5' and 3' ends.

    * smooth.c: Increased pruning of ends from 8 back to 16.

    * stage2.c, stage2.h: Added Stage2_pathlength function.

    * gmap.c, snap.c: ncreased maxpeelback from 8 to 10 and allowed program to
      redo stage2 with increased suflookback if cDNA not covered.

    * stage3.h: Changed MININTRONLEN from 9 to 6 and moved definition into .c
      file.

    * stage3.c: Made search for microexon dependent on number of mismatches.

    * dynprog.c, dynprog.h: Made Dynprog_genome_gap return number of matches and
      mismatches.

2004-05-27  twu

    * dynprog.c, dynprog.h, stage3.c: Made microexon search work in reverse
      direction.  Fixed memory leak.

    * boyer-moore.h: Added RCS Id.

    * boyer-moore.c: Removed debugging statement.  Added RCS Id.

    * Makefile.am, boyer-moore.c, boyer-moore.h, dynprog.c, dynprog.h, stage3.c:
      Added procedure for finding microexons.  Works for forward direction only.

2004-05-26  twu

    * stage3.c: Increased goodness score for canonical intron when deciding
      between forward and reverse directions.

    * sequence.c: Fixed read procedure to handle PC line feeds.

    * dynprog.c: Changed end extension to allow one gap and to proceed if number
      of matches is greater than or equal to number of mismatches.

    * gmap.c, snap.c, stage3.c, stage3.h, translation.c, translation.h: Added
      option for assuming a full-length sequence.

    * pair.c: Changed printing of protein coordinates to correspond to first
      amino acid on each line.

    * gmap.c, snap.c: Added ability to print protein sequence.  Fixed some
      flags.

    * translation.c, translation.h: Fixed calculation of translation
      coordinates.

    * pair.c, pair.h, stage3.c, stage3.h: Added printing of protein coordinates.

    * indexdb.c: Revised monitoring statement.

    * dynprog.c: Revised extensions of 5' and 3' ends to use best score with no
      gap, even if negative.  This extends ends when there is one match and one
      mismatch.

2004-05-14  vivekr

    * cvswrappers: Added binary extensions

2004-05-06  twu

    * compress.c, gmap.c, indexdb.c, pair.c, snap.c, stage3.c, stage3.h,
      translation.c, translation.h: Made improvements to relative translation
      routines.

2004-05-05  twu

    * Makefile.am, compress.c, compress.h, gmapindex.c, indexdb.c, snapindex.c:
      Moved compress and uncompress routines to a new file.

2004-04-23  twu

    * translation.c: Fixed frameshift-tolerant protein computation for cases
      where cDNA deletion is 3 or more nt.

2004-04-22  twu

    * gmap.c, snap.c, stage3.c, stage3.h, translation.c, translation.h: Added
      feature for fixing frameshifts in reference-based protein computation and
      made it the default.

    * stage3.c, translation.c, translation.h: Changed internal data format for
      calculating translations.

    * translation.c: Fixed array bounds bug in translating from reference.

    * whats_on: Added flag for showing original headers.

    * gmap.c, pair.c, pair.h, pairdef.h, pairpool.c, params.c, params.h, snap.c,
      stage3.c, stage3.h, translation.c, translation.h: Added protein
      calculation for ESTs based on a reference mRNA.

2004-04-19  twu

    * gmap.c, pair.c, pair.h, params.c, params.h, snap.c, stage3.c, stage3.h,
      translation.c, translation.h: Changes to allow calculation of mutation
      effect given a specific mutation

2004-04-18  twu

    * genome.c, genome.h: Fixed code for patching strains.

    * genomicpos.c: Cleaned up code for adding commas.

    * stage1.c: Changed variable name from stutter to stutterdist.

    * gmap.c, snap.c: Added internal flag to control strain searching feature.

2004-04-17  twu

    * whats_on: Added ability to print align.iit files, rather than map.iit
      files.

    * gmap_uncompress.pl, gmap_uncompress.pl.in, snap_uncompress.pl: Added
      inversion mode.

    * gmap_compress.pl, gmap_compress.pl.in, snap_compress.pl: Added code to
      skip protein sequence lines.

2004-03-30  twu

    * Makefile.am, gmap.c, snap.c: Added routines for printing protein sequence.

    * iit-read.c, iit-read.h: Added procedure for listing all types.

    * stage3.c, stage3.h: Fixed memory leak and bug when stage3 result is NULL.

    * translation.c, translation.h: Added routines for printing peptide
      sequence.

    * get-genome.c: Allowed user to select a particular strain to align against.

    * pair.c, pair.h: Added routine for printing peptide.  Clarified code for
      handling inversions on minus strand.  Fixed bug in compression for '#'
      character.

2004-02-24  twu

    * stage3.c: Added special cases for single mismatch and single cDNA
      insertion.

    * stage1.c: Defined maximum on finding match pairs, to eliminate slow
      response on nonsense sequences, such as poly-G.

2004-02-23  twu

    * stage3.c: In pass 3, force single gap to be crossed even if finalscore is
      negative, to complete alignment.

2004-02-19  twu

    * stage3.c, stage3.h: Removed unused variable minendtrigger.

    * gmap.c, params.c, params.h, snap.c: Removed global user-specified
      parameters from Params_T.

    * gmap.c, snap.c: Removed fraction_threshold parameter.  Changed default
      chimera_threshold to 0.50.

    * params.c, params.h: Removed fraction_threshold parameter.

    * gmap.c, snap.c: Made chimera threshold definable by user, and set default
      to 0.70.

    * stage3.c: Re-defined criterion for a gap to be when queryjump <= 0 and
      genomejump <= 0, which holds true after single gaps are filled. Prevented
      filling in a genome gap when its alignment score is negative.

    * smooth.c, smooth.h: Re-defined criterion for a gap to be when queryjump <=
      0 and genomejump <= 0, which holds true after single gaps are filled.

    * matchpair.c, matchpair.h: Made size bound a fraction of the best, rather
      than subtraction.

    * stage1.c: Increased maxentries parameters.  Made size bound a fraction of
      the best, rather than subtraction.

    * gmap.c, snap.c: Removed calls to Stage1_matchpairlist.  Now performing
      sampling by default.

    * smooth.c: Reduced size definition of short intron.  Made intron definition
      depend only on genome distance, which now includes single gaps that
      weren't filled in in stage 3.

    * stage2.c: Made a macro for query distance penalty.

    * stage3.c: Fixed problem with peeled is NULL.  Added decision to not fill
      in single gap if the score is negative, and to restore peeled pairs in
      that case.

2004-02-18  twu

    * smooth.c: Fixed memory leak.

    * stage3.c: Fixed bug where program would skip over a pair after gappairs
      was added.

2004-02-17  twu

    * stage3.c: Made peel_back and peel_forward end at a non-gap, by
      backtracking from peeled.

    * stage3.c: Increased reward for canonical introns from 5 to 8.

2004-02-16  twu

    * stage3.c: Fixed bugs in peel_back and peel_forward.  Fixed bug in
      computing goodness scores.

2004-02-15  twu

    * smooth.c, smooth.h, stage3.c: Giving information about number of short
      exons found in smoothing to stage 3 to help improve speed.

    * stage3.c: Removed occurrences of indexsize.  Cleaned up procedure for
      finding middle exons in dual intron procedure.

    * smooth.c, smooth.h: Rewrote smoothing procedure to be a cleaner procedure.
       Analyzing both ends to prune short exons.

    * pair.c, pair.h: Added Pair_debug_alignment procedure.

    * smooth.c, smooth.h, stage2.c, stage3.c: Changed stage 2 to produce a
      nucleotide-based path, rather than 8-mer path.  Changed smoothing and
      stage 3 accordingly.  Made all intron distance penalties equal in stage 2.

2004-02-14  twu

    * dynprog.c, dynprog.h, stage3.c: Rearranged stage 3 to solve dual introns
      before other introns and large gaps.  Performing smoothing iteratively
      with dual introns.

    * stage2.c: Replaced calculations of gendistance_penalty with macros.

    * smooth.c: Increased minexonlen for smoothing, because smoothing has been
      made iterative.

    * pair.c: Using memcpy commands instead of copying individual fields.  Added
      diagnostic printing of short exons.

    * Makefile.am, smooth.c, smooth.h, stage3.c: Added files smooth.c and
      smooth.h and moved Smooth_path there

    * matchpair.c: Fixed memory leak.

    * gmap.c, snap.c, stage2.c, stage2.h, stage3.c, stage3.h: Changed stage 2
      and stage 3 algorithms to interleave in the following order: dynamic
      programming on single gaps, then smoothing, then dynamic programming on
      ends and large gaps.  Allows dual intron algorithm to work even when
      middle exon has small mismatches or gaps.

    * pair.c: Fixed merge_one_gap to handle user-selected ngap != 3.

    * dynprog.c, dynprog.h: Moved definitions of defect rate boundaries to
      header file.

2004-02-13  twu

    * stage2.c: Subtracting (querydistance+7)/8 on mismatches to penalize once
      per 8-mer.  Subtracting 1 for each intron to reduce number of introns,
      especially when a/1000 + b/1000 < (a+b)/1000.

    * stage2.c: Added separate intron penalties for consistent, unknown, and
      inconsistent introns.  Increased lengths of short middle exons marked for
      dual genome gap.

    * stage2.h, stage3.c: Added intron length to goodness score.

    * stage2.c: Implemented two parallel computations in Stage 2 under forward
      and reverse assumptions.  Removed firstregion and lastregion computations
      from smoothing.

2004-02-12  twu

    * gmap.c, snap.c: Removed universalp flag (-U).

    * iit_get.c: Added annotation only mode (-A).

    * whats_on: Simplified code greatly.

    * gmap_compress.pl, gmap_compress.pl.in, snap_compress.pl: Removed space
      before first token.  Fixed bug in reporting genomic exon length rather
      than cDNA exon length.

2004-02-11  twu

    * dynprog.c, dynprog.h, stage3.c: Added computation of nonintronlen for
      goodness ranking.

    * stage2.c: Introduced Link_T to hold dynamic programming data.

    * stage2.c: Modified smoothing to have keep, delete, and mark options.

    * stage2.c, stage2.h, stage3.c: Added category for introns of unknown
      direction.

    * gmap.c, snap.c: Made default for chimerasearchp false again.  Added an
      automatic mode for chimera search if coverage is less than 50%.

    * gmap.c, snap.c: Made chimera search the default.

    * stage2.c: Added counts of forward, reverse, and non-canonical introns to
      the dynamic programming procedure, and used consistency in computing
      scores.

2004-02-10  twu

    * stage3.c: Added debugging macros.

    * stage2.c: Added intron penalty only for noncanonical introns.

    * stage1.c: Added debugging statements.

    * matchpair.c: Reduced MAXCANDIDATES from 30 to 10.

    * dynprog.c, pair.c, pairdef.h: Added '~' character for non-canonical gaps
      converted to insertions, to avoid penalizing them as non-intron gaps.

    * gmap.c, iit-read.c, iit-read.h, snap.c, stage3.c, stage3.h: Changed map
      output to include strand if both strands are requested.

    * dynprog.c: Restored horizontal or vertical jump of 1 next to intron.

    * datadir.c: Changed error message.

    * stage2.c: Add penalty for number of non-canonical introns.  Accumulate
      best score for introns, even if negative, and use that if no other score
      exceeds 0.

2004-02-09  twu

    * iit-read.h: Added name to IIT structure.

    * gmap.c, pair.c, pair.h, params.c, params.h, snap.c, stage3.h: Added
      compression feature.

    * stage3.c: Added compression feature.  Added debug mode to show output from
      stage 2.

    * gmapindex.c, snapindex.c: Added optional name to IIT structure.

    * get-genome.c, iit-read.c, iit_dump.c, iit_get.c, iitdef.h: Added optional
      name to IIT structure.

2004-02-07  twu

    * dynprog.c: Advanced counter within gaps to the next position.

    * pair.c, pair.h, pairdef.h, pairpool.c: Added the shortexonp field for
      pairs.

    * stage2.c: For smoothing of short exons, marking positions as short, rather
      than deleting them.  Increased length threshold for short exons, because
      we now have a mechanism for handling them well.

    * gmap.c, snap.c: Added a dynprogM for handling short exons.

    * stage3.c, stage3.h: Removed special procedure for dual genome gaps. 
      Instead comparing a single genome gap with two half genome gaps for short
      exons.

    * dynprog.c: Removed special procedure for dual genome gaps.  Instead, for
      short exons, comparing a single genome gap with two half genome gaps.

2004-02-06  twu

    * dynprog.c: Passing pointers to revsequence and revoffset from stage3 to
      dynprog procedures where appropriate.  Added preliminary code for dual
      genome gap.

    * dynprog.h, stage3.c: Passing pointers to revsequence and revoffset from
      stage3 to dynprog procedures where appropriate.

    * get-genome.c, gmap.c, pair.c, pair.h, params.c, params.h, sequence.c,
      sequence.h, snap.c, stage3.c, stage3.h: Added option for specifying wrap
      length.

    * dynprog.c: Fixed problem with sequence being short by 1 nt in conversion
      of gap to insertion.

    * dynprog.c: Convert short non-canonical introns into insertions.

    * dynprog.c: Removed reverse_sequence and creation of reverse sequence.  Now
      using a boolean to determine whether to use negative indices.

    * Makefile.am, README, configure.ac, datadir.c, datadir.h, gmap.c, params.c,
      params.h, snap.c, stage3.c, stage3.h: Changed references to "bounds" to
      "map".

    * ddsgap2_compress.pl: Made much faster.

    * get-genome.c: Fixed get-genome for reverse complement.  Added debugging
      statements.

    * dynprog.c: Added specific constraints on whether to allow gaps adjacent to
      the intron, depending on sequence quality.

2004-02-03  twu

    * dynprog.c, dynprog.h: Removed conservative option.  Added comments to
      explain rationale behing scoring scheme.

    * gmap.c, params.c, params.h, snap.c, stage3.c, stage3.h: Removed
      conservative option.

    * stage3.c: Removed peelback on sequence ends.  Continued peelback through
      small gaps and mismatches.  Included comp of '-' in pruning of gaps at
      end.

    * iit-read.c: Added debugging code.

    * genome.c: Fixed faulty reasoning when patch has expansion or contraction.

    * dynprog.c: Raised penalties on paired gap alignment to prevent
      gap-match-gap being preferred to two mismatches.  Added checks to bridging
      across introns to prevent genomic insertion or more than one cDNA
      insertion.

2004-02-02  twu

    * pairdef.h: Revised comment about definition of gapp.

    * pair.c: Removed comment.

    * pair.c: Removed comment.

    * dynprog.c: Fixed debugging statements for pairs pushed on horizontal or
      vertical moves.

    * gmap.c, pair.c, pair.h, snap.c, stage3.c, stage3.h: Added printing of
      bounds information as a separate section.

2004-02-01  twu

    * Makefile.am: Added uintlist.c and uintlist.h to source lists where
      necessary.

    * gmapindex.c, snapindex.c: Made contig intervals inclusive.

    * iit_get.c: Changed isnumber to isnumberp to avoid conflict on some Unix
      machines.

    * iit_get.c: Handle case where strlen of annotation is 0.  Add carriage
      return after annotation if necessary.  If one numeric argument given, try
      as a label, then as a number.

    * iit-read.c: Handle case where strlen of annotation is 0.

    * genome.c, get-genome.c: Reverted to previous IIT format, where we don't
      store lengths explicitly.  For sequences, can determine actual length from
      annotation strlen.

    * iit-read.c, iit-read.h, iit-write.c, iit-write.h, iit_store.c, interval.c,
      interval.h: Reverted to previous format, where we don't store lengths
      explicitly.

    * iit_dump.c: Added warning if IIT_read fails.

    * gmapindex.c, snapindex.c: Reverted to previous format, where we don't
      store lengths explicitly. For FASTA files, count sequence length and store
      as annotation in contig_iit.

    * stage3.c: Added Pair_check procedure.

2004-01-31  twu

    * dynprog.c: Fixed problem with dynamic programming not going back to
      beginning. Fixed bridging across cDNA gaps.

    * datadir.c, datadir.h: Created two data directories, one for genome files
      and one for bounds files.

    * pair.c, pair.h: Added Pair_check function.

    * Makefile.am, configure.ac, gmap.c, snap.c: Created two data directories,
      one for genome files and one for batch files.

2004-01-28  twu

    * dynprog.c: Reduced mismatch and gap penalties at ends to extend ends more
      completely.

2004-01-27  twu

    * stage1.c: Increased length of very small sequences from 30 to 40.

2004-01-26  twu

    * gmap.c, snap.c, stage1.h: Changed criterion for good alignment on short
      sequences to be based on coverage rather than percent identity.

    * stage1.c: Sampling exhaustively on short sequences.

    * stage2.c: Removed tiebreaker based on genomic distance.  Ignoring
      gendistance penalty if no better score can be found, which allows program
      to find distant 5' exons.

    * pair.c, pairpool.c, stage3.c: Restored large gap and '#' character when
      queryjump exceeds maxlookback.

    * match.c: Fixed bug where accessions were looked up on chromosomal
      coordinates instead of universal coordinates.

    * Makefile.am, datadir.c, datadir.h, snapconfig.c: Removed snapconfig and
      run-time configuration of SNAP, which doesn't work on statically built
      binaries.

2004-01-24  twu

    * gmap.c, snap.c: Updated print_usage statement for non-popt systems.

    * snapconfig.c: Added a usage statement.

    * iit_dump.c: Added a debug flag.

    * iit-write.c: Writing out elements of structs individually, instead of
      depending on an fwrite of the struct.

    * iit-read.c, iit-read.h: Fixed problem with Bigendian reads of iit files. 
      Added IIT_debug function.

    * Makefile.am: Provided different dist and nodist instructions depending on
      FULLDIST.

2004-01-23  twu

    * stage1.c: Set maxentries during sampling to be 10 times that of scanning. 
      Set stage1size for short sequences to be 12-mers for < 40 nt, and 18-mers
      for 40-80 nt.

    * pair.c, pair.h: Removed '#' is a character in alignment.

    * dynprog.c, dynprog.h, stage3.c: Treated cDNA gaps (extra cDNA material) in
      a way analogous to genome gaps.

    * pairpool.c: Removed '#' is a character in alignment.

    * get-genome.c: Changed name of function from isnumber to isnumberp to avoid
      name conflict with some systems (like MacOSX) that define isnumber in
      ctype.h.

2004-01-21  twu

    * stage3.c: Fixed bug where dynamic programming of ends wouldn't go all the
      way to the end of the genomic segment.

    * dynprog.c: Fixed debug statement.

    * Makefile.am: Added file matchdef.h

    * dynprog.c, dynprog.h, gmap.c, pair.c, pair.h, params.c, params.h, snap.c,
      stage3.c, stage3.h: Added parameter for length of intron gap shown.

    * stage1.c: Added a second maxentries parameter to prevent slowness on long
      repeated inputs, like CA...CA.

2004-01-20  twu

    * stage3.c: Allowed cDNA direction to be indeterminate.

    * matchpair.c, stage1.c: Fixed clustering to work with minsize of 1.

    * dynprog.c: Reduced points for match, which improves some alignments.

2004-01-17  twu

    * gmap.c, params.c, params.h, snap.c, stage1.c, stage1.h: Removed nsamples
      as a global parameter.

    * Makefile.am, bootstrap, configure.ac: Added libtool and
      --enable-static-linking feature.

    * gmap.c, snap.c: Implemented incremental clustering based on progressively
      smaller sampling intervals.  Added ability to print alignment
      continuously.

    * matchpair.c, matchpair.h, stage1.c: Implemented incremental clustering
      based on progressively smaller sampling intervals.

    * match.c, matchdef.h: Moved structure definition to matchdef.h

    * block.c, block.h, reader.c, reader.h: Added ability to reset ends of
      block.

2004-01-16  twu

    * stage3.c, stage3.h: Added printing of number of unknowns and of gap
      openings in cDNA and genome.

    * params.c, params.h: Added parameter for continuous output of alignment.

    * pair.c, pair.h: Added output of number of unknowns.  Added procedure for
      continuous output of alignment.

    * dynprog.c: Created different penalties for gaps in single and paired gaps.

2004-01-14  twu

    * configure.ac: Added feature for static linking.

    * params.c, params.h: Using two parameters for stutter: stuttercycles and
      stutterhits.

    * gmap.c, snap.c: Performing sampling only when necessary.  Using popt help
      when available.

    * stage1.c, stage1.h: Performing sampling only when necessary.  Limiting
      size and changing parameters for bestlist.

    * matchpair.c, matchpair.h: Eliminated unused code in filtering procedure.

    * indexdb.c: Fixed fread_int to be fread_uint.

    * iit-read.c: Added abort statement when more than one interval retrieved by
      IIT_get_one.

    * get-genome.c: Fixed bug with accessing chromosome_iit after being freed. 
      Using popt help when available.

    * oligo.c, oligo.h: Added Oligo_skip function.

    * block.c, block.h: Removed maxtries and added Block_skip.

2004-01-14  desany

    * loginfo: Added Yan to e-mail notifications.

    * loginfo: Finally figured out where to put the quote (I think).

    * loginfo: e-mail command tweak

    * loginfo: e-mail command tweak

    * loginfo: e-mail command tweak

    * loginfo: e-mail command tweak

    * loginfo: Tweaking the e-mail command.

    * loginfo: Sending log messages to desany when cgh module updates are
      committed.

2004-01-13  twu

    * gmap.c, snap.c, stage1.c: Changed strategy to use clusters of matches,
      after first pair found.

    * gmapindex.c, snapindex.c: Eliminated check for genome database in
      compression mode.

    * stage2.c: Changed distance penalty to 1 point per 1000 nt.

    * pair.c, pair.h, stage3.c: Keeping separate track of query indels and
      target indels.

    * genome.c, genome.h, get-genome.c: Implemented check for gbufferlen when
      shifting old sequence.

    * separator.h: Added file for separator information.

2004-01-09  twu

    * Makefile.am, get-genome.c: Changed program to use chromosome_iit and
      contig_iit, rather than text files.

    * genome.c: Fixed bug from call to madvise on NULL region.

    * iit-read.c, iit-read.h: Added function IIT_read_linear.

    * gmapindex.c, snapindex.c: Storing length in interval of contig_iit, rather
      than in annotation.

    * stage1.c: Changed paired algorithm to use sum of reciprocals of number of
      hits.

    * get-genome.c: Removed unnecessary decompression functions (now in
      genome.c).

    * gmap.c, snap.c: Fixed bug where fraction_threshold was declared as int
      rather than double.

    * stage1.c: Revised algorithm to count number of query hits on 5' and 3'
      ends.

    * Makefile.am, datadir.c, datadir.h, get-genome.c, gmap.c, snap.c,
      snapconfig.c: Moved datadir functions to a separate file.

    * gmapindex.c, snapindex.c: Changed format of text files .chromosome and
      .contig.

2004-01-08  twu

    * genome.c, genome.h, get-genome.c, gmap.c, iit-write.c, iit-write.h,
      snap.c: Allowed genomic patches to be longer or shorter than their
      endpoints.

    * gmapindex.c, snapindex.c: Allowed intervals to have length that is
      different from their endpoints.  Changed format for fasta file input to
      snapindex.

    * iit_store.c, interval.c, interval.h, segmentpos.c, segmentpos.h: Allowed
      intervals to have length that is different from their endpoints.

    * iit-read.c: Added carriage returns to annotations, if absent.

2004-01-07  twu

    * gmap.c, params.c, params.h, snap.c: Made fraction_threshold a parameter.

    * stage2.c: Changed calculation of penalty for large genome distances to be
      done only when necessary.

    * snapconfig.c: Changed feedback message.

    * genome.c, indexdb.c: Improved warning messages when memory mapping fails.

2004-01-05  twu

    * snapdir.c: Changed name of snapdir to snapconfig.

    * gmap.c, match.c, match.h, params.c, params.h, result.c, result.h, snap.c:
      Restored alignment using stage 1 only.

    * stage1.c, stage1.h: Moved decision of stage1size and maxentries to here.

    * genome.c: Added warning message of memory mapping of genome fails.

    * genome.c: Restored batch memory mapping of genome.

    * stage1.c: Greatly increased MAXENTRIES parameter.

    * gmap.c, params.c, params.h, snap.c: Made stage1size dependent upon
      sequence length, with short sequences getting stage1size of 12.

    * gmap_compress.pl, gmap_compress.pl.in, snap_compress.pl, whats_on:
      Generalized parse for coordinate separator.

    * get-genome.c: Restored -- as coordinate separator.

2003-12-20  twu

    * gmap.c, sequence.c, sequence.h, snap.c, stage3.c, stage3.h: New approach
      to chimeras, involving a subsequence and new stage1 procedure.

    * stage2.c: Added distance penalty for long introns.

    * Makefile.am, pair.c, segmentpos.c: Included separator.h

2003-12-19  twu

    * pair.c, segmentpos.c, segmentpos.h: Removed unnecessary parameters in
      Segmentpos_print_accessions.

    * get-genome.c: Change in coordinate separator from -- to ..

2003-12-17  twu

    * gmap.c, match.c, match.h, matchpair.c, matchpair.h, snap.c, stage1.c,
      stage1.h: Changed procedures for finding chimeras to try singlelist of the
      appropriate side.

    * pair.c, segmentpos.c: Changing coordinate output from -- to ..

    * stage3.c, stage3.h: Changed procedures for finding chimeras to try
      singlelist of the appropriate side.  Fixed bug in computing chimeric
      goodness.

    * dynprog.c, dynprog.h: Provided separate parameters for ends, removed
      multiplicative reward, and changed all score calculations to be integers.

2003-12-16  twu

    * matchpair.c, stage1.c, stage1.h: Fixed bug with position calculations on
      large chromosomes (> 2 Gig).

    * gmap.c, matchpair.c, matchpair.h, snap.c, stage1.c, stage1.h: Based
      algorithm for finding extensions on 12-mers.

    * chrnum.c, chrnum.h: Added function for computing chromosomal string and
      position from genomic position.

2003-12-15  twu

    * gmap.c, matchpair.c, matchpair.h, params.c, params.h, snap.c: Made
      extension linear depending on query length.

    * stage1.c, stage1.h: Made cluster list depend on size of largest cluster.

2003-12-14  twu

    * stage2.c: Added a minimum exon length for ends during smoothing.

    * stage1.c, stage1.h: Added a last-resort procedure for trying all matches
      found in stage 1.  Enhanced debugging statements.

    * gmap.c, snap.c: Added a last-resort procedure for trying all matches found
      in stage 1.

    * oligoindex.c, shortoligomer.h: Returned to old method for store_positions,
      because it appears to be faster.

    * genome.c, genome.h, get-genome.c: Enhanced debugging statements.

    * matchpair.c: Added assertions about strands and relative position of
      matches.

    * stage2.c: Returned to old method for store_positions.  Fixed smoothing for
      a single exon.

2003-12-13  twu

    * oligoindex.c, shortoligomer.h, types.h: Further attempt to increase speed
      of store_positions.

    * gmap.c, snap.c: Fixed memory leak when stage3array is recomputed.

    * oligoindex.c, oligoindex.h, stage2.c: Increasing speed of store_positions
      by reducing number of calls to calloc.

    * gmap.c, matchpair.c, matchpair.h, params.c, params.h, snap.c, stage1.c,
      stage1.h: Changed cluster algorithm to rank clusters based on size and
      process the top ones based on sum of sizes.

    * genome.c: Added check for enddiscard being 0.

    * stage2.c: Did an in-lining of intron_score.

    * gmap.c, params.c, params.h, snap.c, stage1.c, stage1.h, stage3.c,
      stage3.h: Added new cluster algorithm for stage 1, used when paired
      algorithm fails to produce an alignment with high identity.

2003-12-12  twu

    * gmap.c, snap.c: Added ability to modify binary file to include default
      genome directory.

    * snapconfig.c, snapdir.c: Initial import into CVS.

2003-12-10  twu

    * gmapindex.c, indexdb.c, indexdb.h, snapindex.c: Added ability to generate
      idxoffsets and idxpositions files from compressed genome.

    * gmap.c, snap.c: Changed the uncompressed flag from -G to -g.

    * gmapindex.c, snapindex.c: Implemented direct writing of compressed genome
      file.

    * iit_store.c: Fixed bug where non-copied string is entered into table.

    * iit_get.c: Improved error message.

    * iit_dump.c: Added function for showing all types.

    * table.c: Added debugging statements.

    * gmap.c, params.c, params.h, snap.c: For user-provided segments, skipping
      stage 1 (although can be specified by the user), to achieve increased
      speed.

    * sequence.c, sequence.h: Restored function Sequence_revcomp.

2003-12-04  twu

    * stage1.c: Restored cluster algorithm for short sequences.

    * gmap.c, snap.c: Generalized definition of chimera, and reduced percentage
      to 80%.

2003-12-03  twu

    * Makefile.am, iit-read.c, iit-read.h, iit_get.c: Augmented iit_get to
      handle types and file input.

    * gmap.c, intlist.c, intlist.h, sequence.c, sequence.h, snap.c: Allowed
      user-specified genomic segment to have arbitrary length.

    * gmap.c, snap.c: Restored -U flag for reporting in universal coordinates.

    * iit-read.c: Fixed bug in IIT_dump_formatted.

    * Makefile.am, md5-compute.c: Added program md5-compute.

2003-12-02  twu

    * gmap.c, params.c, params.h, snap.c: Added message to user when FASTA file
      is run without batch mode.

2003-11-29  twu

    * oligo.c: Changed debug statements.

    * reader.c: Cleaned up pointer calculation.

    * sequence.h: Removed Sequence_revcomp, which is not used.

    * sequence.c: Revised comments.

    * stage2.c: In-lined gap_score.

2003-11-28  twu

    * indexdb.c: More bug fixes for bigendian machines on user-provided
      segments.

    * indexdb.c: Fixed a problem with bigendian machines for user-provided
      segments.

    * gmap.c, snap.c: Added releasestring in attempt to find version file.

    * genome.c, genome.h: Added option for replacing X's with N's.

    * get-genome.c: Added option for replacing X's with N's.  Fixed bug when
      closing a null file pointer.

    * iit_store.c: Append .iit to given filename, instead of replacing existing
      suffix.

2003-11-26  twu

    * gmapindex.c, snapindex.c: Removed -U flag.

    * gmapindex.c, indexdb.c, indexdb.h, snapindex.c: Reverted back to using
      uncompressed genome for making idxoffsets and idxpositions.

    * gmap.c, snap.c: Changed flag for uncompressed genome from -G to -U.

    * gmapindex.c, indexdb.c, indexdb.h, snapindex.c: Attempt to build
      idxoffsets and idxpositions from genomecomp, but has problems.

    * genome.c: Added automated switching between compressed and uncompressed
      genome, if the requested one cannot be found.

    * iit_store.c: Keeping last carriage return of annotation.

    * iit_get.c: If iit file cannot be found, try appending .iit.

    * gmapindex.c, snapindex.c: Finding labels in IIT directly instead of
      converting to a table.

    * iit-read.c, iit-read.h, iit-write.c, iitdef.h: Changed IIT format to store
      alphabetic order of labels, so that labels can be found by binary search.

    * genome.c, genome.h, gmap.c, pair.c, pair.h, params.c, params.h, snap.c,
      stage3.c, stage3.h: Added popt handling of options.  Renamed various
      program options.

    * iit-read.c, iit-read.h, iit_get.c: Added ability to search IITs by label.

    * get-genome.c: Changed usage statement for popt autohelp.

    * Makefile.am: Changed name of variable to POPT_LIBS.

    * acinclude.m4, configure.ac: Added AC_DEFINE for HAVE_LIBPOPT.  Set various
      defines to have value 1.

2003-11-25  twu

    * gmapindex.c, iit-read.c, iit-read.h, iit-write.c, iit-write.h, iit_get.c,
      iit_store.c, iitdef.h, match.c, segmentpos.c, snapindex.c: Change made to
      format of IIT file.  Now allowing each interval to be labeled.

    * indexdb.c: Fix made for the case where an oligomer earlier than TT...TT is
      the last one and points to totalcounts.

    * gmap_compress.pl, gmap_compress.pl.in, snap_compress.pl: Added notation
      for chimeric sequences.

    * acinclude.m4: Added check for MAP_FAILED.  Added sys/types.h when checking
      for pthreads (needed for Sun compiler).

    * assert.h, bigendian.h, blackboard.h, block.h, chrnum.h, complement.h,
      dynprog.h, except.h, genome.h, genomicpos.h, iit-read.h, iit-write.c,
      iit-write.h, iit_dump.c, iit_get.c, iit_store.c, indexdb.h, interval.h,
      intlist.h, intron.h, list.h, match.h, matchpair.h, md5.h, mem.h, oligo.h,
      oligoindex.h, pair.h, pairpool.h, params.h, reader.h, reqpost.h,
      request.h, result.h, segmentpos.h, sequence.h, stage1.h, stage2.h,
      stage3.h, stopwatch.h, table.h, uintlist.h: Included config.h in all
      header files, to catch redefinition of const, which is needed for the Sun
      compiler.

    * stage3.c: Commented out code that is never reached.

    * genome.c, indexdb.c: Modified messages to stderr for batch mode.

    * blackboard.c, gmap.c, reqpost.c, snap.c: Added sys/types.h to handle
      pthread_t, needed by Sun compiler.

    * assert.c: Kept only the header file definition of assert, due to problem
      with Sun compiler.

    * iit-read.c, table.c: For functions passed as arguments, added pointer and
      parentheses around parameter list.

    * stage2.c: Changed some exon length parameters.

2003-11-20  twu

    * gmap.c, snap.c, stage3.c, stage3.h: Added additional check for chimeras,
      based on top two hits.

    * bigendian.c, indexdb.c: Moved masking to the logical or statements to
      address a bug on MacOSX.

2003-11-18  twu

    * gmap.c, snap.c: Made directory searching process more flexible, by looking
      for version file at toplevel and subdirectory of datadir.

    * genome.c, indexdb.c: Fixed calls to mmap and munmap when mmap fails. 
      Moved stopwatch start before madvise command.

    * bigendian.c, genome.c, indexdb.c: Added masks to chars when converting to
      an int or unsigned int, due to problem observed on DEC Alpha.

    * genome.c, indexdb.c: Corrected conversion of littleendian to bigendian
      numbers.  Added lseek and read procedures when mmap is not present or
      fails.

    * bigendian.c: Corrected conversion of littleendian to bigendian numbers.

    * Makefile.am: Generate ChangeLog only when CVS directory present.

    * Makefile.am: Used LDADD instructions to call libraries instead of LDFLAGS.
      (Required for program to load on SGI.)  Moved SCRIPTS under FULLDIST.

    * configure.ac: Renamed POPT_LDFLAGS to POPT_LIBS.

    * bootstrap: Added --copy flag to automake.

    * Makefile.am: Added dist-hook to make ChangeLog up to date.

    * config: Removed secondary config files generated by automake.

    * gmapindex.c, snapindex.c: Fixed bug where X's were not being filled in,
      because variable declared as int, rather than unsigned int.

    * block.c, block.h: Removed obsolete function.

    * acinclude.m4: Moved to top-level directory.

2003-11-17  twu

    * ChangeLog: Removed from repository.  Can be generated as needed.

    * bootstrap: Added --add-missing flag.

    * README: Added message about config.site.

    * bootstrap: Initial import into CVS.  Added because autoreconf doesn't work
      with a config subdirectory.

    * configure.ac: Made toplevel configure.ac work with a config subdirectory.

    * gmap.c, snap.c, stage1.c, stage1.h: Changed algorithm to declare chimera
      only after alignment is done, and to use salvaged matches in that case.

    * stage3.c, stage3.h: Stored genomicstart and genomicend as part of Stage3_T
      structure.

    * ddsgap2_compress.pl: Initial import into CVS.

    * whats_on: Moved to subdirectory.

    * compile, config.guess, config.sub, depcomp: Removed secondary config files
      (generated by automake).

    * Makefile.am: Adding top-level Makefile.am

    * install-sh, missing, mkinstalldirs, sim4_compress.pl, sim4_uncompress.pl,
      snap_compress.pl, snap_uncompress.pl, snapbuild.pl.in, spidey_compress.pl:
      Moved to subdirectory.

    * assert.c, assert.h, bigendian.c, bigendian.h, blackboard.c, blackboard.h,
      block.c, block.h, bool.h, chrnum.c, chrnum.h, complement.c, complement.h,
      dynprog.c, dynprog.h, except.c, except.h, genome.c, genome.h,
      genomicpos.c, genomicpos.h, genuncompress.c, get-genome.c, iit-read.c,
      iit-read.h, iit-write.c, iit-write.h, iit_dump.c, iit_get.c, iit_store.c,
      iitdef.h, indexdb.c, indexdb.h, interval.c, interval.h, intlist.c,
      intlist.h, intron.c, intron.h, list.c, list.h, listdef.h, match.c,
      match.h, matchpair.c, matchpair.h, md5.c, md5.h, md5.t.c, mem.c, mem.h,
      oligo-count.c, oligo.c, oligo.h, oligoindex.c, oligoindex.h, pair.c,
      pair.h, pairdef.h, pairpool.c, pairpool.h, params.c, params.h, reader.c,
      reader.h, reqpost.c, reqpost.h, request.c, request.h, result.c, result.h,
      segmentpos.c, segmentpos.h, sequence.c, sequence.h, shortoligomer.h,
      snap.c, snapindex.c, stage1.c, stage1.h, stage2.c, stage2.h, stage3.c,
      stage3.h, stopwatch.c, stopwatch.h, table.c, table.h, types.h, uintlist.c,
      uintlist.h: Moved source files to subdirectory.

    * iit-read.c, iit-read.h: Added function IIT_get_typed.

    * indexdb.c: Removed debugging message.

    * gmap.c, snap.c, stage3.c, stage3.h: Improved determination of when an
      alternate strain applies, based on the aligned genomic segment.  Added
      strain type to sorting of results.

    * stage1.c: Bypassing the cluster algorithm.

    * gmap.c, snap.c: Added ability to determine datadir from environment
      variable or configuration file.

    * get-genome.c: Added popt processing of command-line options.

    * genome.c: Added bigendian conversions for compressed genome, which is
      memory mapped.

    * Makefile.am, configure.ac: Added check for popt library.

2003-11-15  twu

    * gmapindex.c, snapindex.c: Fixed pointer bug.

    * stage2.c, stage2.h: Removed directional check on stage 2 smoothing. 
      Introduced separate length criterion for first long exon.

    * stage3.c, stage3.h: Implemented checks and procedures for chimeric
      sequences.  Removed directional check on stage 2 smoothing.

    * gmap.c, pair.c, pair.h, result.c, result.h, snap.c, stage1.c, stage1.h:
      Implemented checks and procedures for chimeric sequences.

    * genome.c: Changed debug statements from stderr to stdout.

    * stage1.c: Changed identify_matches to assume the absence of duplicates.

    * stage2.c: Changed criterion for short first and last exon during smoothing
      to be half of the corresponding region.

    * stage3.c: Fixed debugging statements.

2003-11-14  twu

    * gmap.c, snap.c, stage3.c, stage3.h: Fixed bug where a strain was falsely
      reported due to duplicate stage 3 objects and deletion of the one for the
      reference.

    * sequence.c: Reduced poly-A tail left from 7 to 1.

    * pair.c: Made print procedure backward compatible with old altstrain_iits.

    * gmap.c, gmapindex.c, pair.c, params.c, params.h, snap.c, snapindex.c: Made
      changes to include name of reference strain.

    * gmap.c, snap.c: Fixed typo in comment.

    * iit-read.c: Fixed memory leak when altstrain_iit doesn't exist.

    * Makefile.am: Integrated get-genome into snap code.

    * get-genome.c, sequence.c, sequence.h: Major rewrite of get-genome, to
      integrate it into existing snap code.

    * genome.c, genome.h, gmap.c, snap.c: Handled case where more than one patch
      from a given strain is applicable to a given genomic segment.

    * intlist.c: Added check for null list in Intlist_to_array.

    * indexdb.c: Changed idxpositions to eliminate duplicates during writing and
      to skip bad values during reading.

    * gmap_compress.pl, gmap_compress.pl.in, snap_compress.pl: Revised program
      to parse strain info.

    * stage1.c: Added some comments.

    * Makefile.am, block.c, block.h, oligo-count.c, oligo.c, oligo.h: Revised
      oligo-count to use the new code.

2003-11-13  twu

    * Makefile.am: Added build for get-genome.

    * get-genome.c: Major cleaning of code.  Added ability to read from
      compressed genome files.

    * oligo-count.c: Initial import into CVS.  Dated 2003-07-16.

    * genome.c, genome.h, genomicpos.c, genomicpos.h, gmap.c, matchpair.c,
      matchpair.h, pair.c, pair.h, snap.c, stage3.c, stage3.h: Added ability to
      align to multiple strains.

    * stage1.c: Cleaned up some bugs on handling stutter.  Implemented check for
      duplicates in idxpositions.

    * gmapindex.c, indexdb.c, indexdb.h, snapindex.c: Changed strategy for
      idxoffsets and idxpositions for strains.  Now storing the union of all
      strains.

    * Makefile.am, gmap_setup.pl.in, gmapsetup.pl.in, snapbuild.pl.in: Fixed
      procedure for making snapbuild.

    * Makefile.am: Added procedure for making snapbuild script.

    * configure.ac: Added feature for enabling full distribution.

2003-11-12  twu

    * snapbuild.pl: Changed file from snapbuild.pl to snapbuild.pl.in.

    * Makefile.am, configure.ac, params.h: Cleaned up specification of data
      directory and version file.

    * params.c: Added provisions for reading altstrain IIT.

    * gmap.c, snap.c: Cleaned up specification of data directory and version
      file.  Added provisions for reading altstrain IIT.

    * gmapindex.c, snapindex.c: Fixed problem with slashes in alternate strain
      name.

    * stage1.c: Cleaned up code for stage1.c.  Fixed memory leak for paired
      algorithm.  Added chromosomal constraint for cluster algorithm.

    * Makefile.am, gmap.c, gmap_setup.pl.in, gmapindex.c, gmapsetup.pl.in,
      iit-read.c, iit-read.h, iit-write.c, iit-write.h, iit_dump.c, iit_get.c,
      iit_store.c, iitdef.h, indexdb.c, indexdb.h, interval.c, interval.h,
      segmentpos.c, segmentpos.h, snap.c, snapbuild.pl, snapbuild.pl.in,
      snapindex.c: Changes made to introduce types into IITs, and to build SNAP
      databases with alternate strain information.

    * match.c, match.h, stage1.c: Changes to stage 1 algorithm: (1) choice of 5'
      or 3' advancement based on number of hits, (2) stutter based on positions
      with hits, (3) computed fraction of paired hits on each end.

2003-11-11  twu

    * gmap_setup.pl.in, gmapsetup.pl.in, snapbuild.pl, snapbuild.pl.in: Initial
      import into CVS.

    * Makefile.am: Added object files for bigendian.

    * iit-read.c: Added header file for bigendian.h

    * bigendian.c, indexdb.c: Fixed problem in bigendian conversion.

    * sequence.c: Fixed problem in handling sequence files without headers.

2003-11-10  twu

    * iit-read.c: Changed most elements of IIT_T to be fread, rather than
      mmapped. Added code for program to work on bigendian architectures.

    * indexdb.c: Changed offsets file to be fread, rather than mmapped.  Added
      code for program to work on bigendian architectures.

    * iitdef.h: Added comments.

    * Makefile.am, bigendian.c, bigendian.h, configure.ac, genuncompress.c,
      gmapindex.c, iit-write.c, snapindex.c: Added code for program to work on
      bigendian architectures.

2003-11-08  twu

    * acinclude.m4, configure.ac: Made VERSION automatically equal the current
      date.

    * Makefile.am: Removed reference to iit_convert.

    * genome.c: Turned off batch loading of genome.

    * gmap.c, sequence.c, snap.c: Rest of header printed in output.  Exceptional
      file terminations handled better.

    * gmap.c, params.c, params.h, snap.c, stage1.c, stage1.h: Added cluster
      algorithm for short query sequences.

    * Makefile.am, block.c, block.h, longoligomer.c, longoligomer.h, match.c,
      match.h, matchpair.c, matchpair.h, oligo.c, oligo.h: Removed
      longoligomers.

    * genome.c: Fixed print statement for batch mode.

2003-11-07  twu

    * gmap.c, snap.c: Restored dump_segs functionality.

    * gmapindex.c, snapindex.c: Changed name of table from chroffset to
      chrlength.

    * iit-read.c, iit-read.h: Added function IIT_dump_formatted.

2003-10-27  twu

    * iit_get.c, iit_store.c: Removed carriage return at end of annotation.

    * Makefile.am, iit-read.c, iit-read.h, iit_dump.c: Added a program for
      dumping IIT files.

    * gmapindex.c, snapindex.c: Added better comments.

    * whats_on: Fixed program to use new IIT file format.

    * table.c: Removed assertion checks for key being non-zero, which doesn't
      work for a chromosome of 0.

    * INSTALL: Copied generic installation instructions.

    * COPYING: Created copyright notice.

2003-10-25  twu

    * iit-write.c: Made Node_make static.

2003-10-24  twu

    * indexdb.c: Fixed format of batch statement.

    * gmapindex.c, iit-read.c, iit-write.c, iit_get.c, match.c, segmentpos.c,
      snapindex.c: Changed annotations in .iit files to have '\0' characters at
      the ends, so they can be used in the file, without copying.

    * interval.c: Added comment about sorting procedures.

    * iit_get.c, iit_store.c: Changed program to use the IIT implementation in
      this directory.

    * iit-read.c: Added madvise command.

    * genome.c, indexdb.c: Changed reporting of touching pages under batch mode.

    * Makefile.am: Added iit_store and iit_get.

2003-10-23  twu

    * genome.c, indexdb.c: Revised touching of pages for batch mode.

    * assert.h, blackboard.h, block.h, bool.h, chrnum.h, complement.h,
      dynprog.h, except.h, genome.h, genomicpos.h, iit-read.h, iit-write.h,
      iitdef.h, indexdb.h, interval.h, intlist.h, intron.h, list.h, listdef.h,
      longoligomer.h, match.h, matchpair.h, md5.h, mem.h, oligo.h, oligoindex.h,
      pair.h, pairdef.h, pairpool.h, params.h, reader.h, reqpost.h, request.h,
      result.h, segmentpos.h, sequence.h, shortoligomer.h, stage1.h, stage2.h,
      stage3.h, stopwatch.h, table.h, types.h, uintlist.h: Added RCS Id string
      to header files.

    * gmap.c, snap.c: Removed call to strdup.

    * gmapindex.c, snapindex.c: Removed printing of superaccessions for NCBI
      genomes.

    * segmentpos.c: Removed unused procedures based on Berkeley DB.

    * chrnum.c: Fixed problem with numeric-alpha ordering of chromosomes.  XU
      now follows X and precedes Y.

    * acinclude.m4, genome.c, indexdb.c: Added macros to check for pagesize
      determination.

    * config.h.in: Removed derived file.

    * configure.ac: Cleaned up unnecessary autoconf macros.

    * acinclude.m4, config.h.in, genome.c, genuncompress.c, iit-read.c,
      indexdb.c: Improved autoconf checks and header files for mmap.

    * gmapindex.c, snapindex.c: Fixed problem with freeing memory.

    * segmentpos.c: Fixed small error with printing accession bounds.

    * chrnum.c, gmap.c, gmapindex.c, iit-read.c, iit-read.h, iit-write.c,
      iit-write.h, segmentpos.c, snap.c, snapindex.c: Fixed memory leaks.

    * Makefile.am, acinclude.m4, block.h, chrnum.c, chrnum.h, config.h.in,
      configure.ac, database.c, database.h, genomicpos.c, genomicpos.h,
      get-genome.c, gmap.c, gmapindex.c, iit-read.c, iit-read.h, iit-write.c,
      iit-write.h, interval.c, interval.h, match.c, match.h, offset.c, offset.h,
      offsetdb.c, offsetdb.h, oligo.c, oligo.h, pair.c, pair.h, params.c,
      params.h, segmentpos.c, segmentpos.h, sequence.c, snap.c, snapindex.c,
      stage1.c, stage1.h, stage3.c, stage3.h, table.c, table.h: Eliminated
      dependence upon Berkeley DB.

2003-10-22  twu

    * table.c, table.h: Initial import into CVS.

    * acinclude.m4, config.h.in, configure.ac, genome.c, genuncompress.c,
      iit-read.c, indexdb.c: Added checks for various mmap flags.

    * iitdef.h: Restructed IIT_T commands.

2003-10-21  twu

    * Makefile.am, gmap.c, iit-read.c, iit-read.h, iit-write.c, iit-write.h,
      interval-read.c, interval-read.h, interval.c, interval.h, pair.c, snap.c:
      Restructured Interval_T and IIT_T implementations so they don't depend on
      BerkeleyDB, and added ability to write IITs.

    * acinclude.m4, database.c: Added provision for BerkeleyDB version 4.1.

    * iit_store.c: Changed format of input file to have only intervals on the
      header line.

    * iit_get.c: Changed program to use new IIT format.

    * iit_store.c: Fixed problem with annotlist being reversed.

    * iit_store.c: Changed format of iit file to include annotations.

    * sequence.c: Corrected type for return value of fgetc.

    * oligo.c: Corrected type for return value of Reader_getc.

    * stage1.h: Removed db.h as an included header.

    * acinclude.m4: Added -rpath flag during linking of Berkeley DB.

2003-10-20  twu

    * Makefile.in, configure: Removing from CVS.

    * Makefile.in, configure: Result of autoreconf.

    * Makefile.am: Added header files to SOURCES.

    * configure.ac: Added no-dependencies option.

    * iit-read.c: Removed MAP_VARIABLE from mmap call, because not recognized by
      Linux.

    * sequence.c: Renamed variable strlen to avoid compiler error on Linux.

    * Makefile.in: Added various auxiliary files.

    * sequence.c: Renamed variable strlen to avoid compiler error on Linux.

    * Makefile.in, compile, config.guess, config.sub, depcomp: Initial import
      into CVS.

    * Makefile.in, configure, install-sh: Initial import into CVS.

    * missing, mkinstalldirs: Provided updated version.

    * Makefile.am, genome.c, genomicpos.c, iit-read.c, iit-read.h, indexdb.c,
      intlist.c, intlist.h, match.c, md5.c, mem.c, offset.c, offsetdb.c,
      oligoindex.c, pair.c, segmentpos.c, segmentpos.h, uintlist.c, uintlist.h:
      Addressed compiler warnings from gcc.

2003-10-19  twu

    * Makefile.am, acinclude.m4, blackboard.c, configure.ac, gmap.c, reqpost.c,
      snap.c: Allowed pthreads to be enabled or disabled.

    * assert.c, block.c, chrnum.c, complement.c, database.c, dynprog.c,
      except.c, genome.c, genomicpos.c, genuncompress.c, get-genome.c, gmap.c,
      gmapindex.c, iit-read.c, indexdb.c, interval-read.c, intron.c, list.c,
      longoligomer.c, match.c, matchpair.c, md5.c, offset.c, offsetdb.c,
      oligo.c, oligoindex.c, pair.c, pairpool.c, params.c, reader.c, reqpost.c,
      request.c, result.c, segmentpos.c, sequence.c, snap.c, snapindex.c,
      stage1.c, stage2.c, stage3.c, stopwatch.c: Added RCS Id string correctly

    * assert.c: Added RCS Id string correctly

    * assert.c, block.c, chrnum.c, complement.c, database.c, dynprog.c,
      except.c, genome.c, genomicpos.c, genuncompress.c, get-genome.c, gmap.c,
      gmapindex.c, iit-read.c, indexdb.c, interval-read.c, intron.c, list.c,
      longoligomer.c, match.c, matchpair.c, md5.c, offset.c, offsetdb.c,
      oligo.c, oligoindex.c, pair.c, pairpool.c, params.c, reader.c, reqpost.c,
      request.c, result.c, segmentpos.c, sequence.c, snap.c, snapindex.c,
      stage1.c, stage2.c, stage3.c, stopwatch.c: Added rcsid strings.

2003-10-18  twu

    * blackboard.c, block.c, complement.c, database.c, dynprog.c, except.c,
      iit-read.c, interval-read.c, intron.c, list.c, matchpair.c, md5.c, mem.c,
      mem.h, oligo.c, oligoindex.c, pair.c, pairpool.c, params.c, reader.c,
      reqpost.c, request.c, result.c, sequence.c, stage2.c, stopwatch.c:
      Rearranged header includes.

    * blackboard.c, mem.c: Rearranged header includes.

    * longoligomer.h: Defined T for both cases of HAVE_64_BIT.

    * longoligomer.c: Added conditional compiling based on HAVE_64_BIT.

    * offset.h: Added necessary header file stdio.h.

    * types.h: Added compiler directives from config.h.

    * configure.ac: Initial changes to configure.scan to make autoconf and
      automake work for the cc compiler.

    * Makefile: Removed Makefile from CVS, because it is now generated from
      Makefile.am by automake, and then from Makefile.in by configure.

    * AUTHORS, COPYING, ChangeLog, INSTALL, Makefile.am, NEWS, README,
      acinclude.m4, config, config.h.in, missing, mkinstalldirs: Added files for
      autoconf and automake to work.

    * configure.ac: Initial configure.ac from configure.scan produced by
      autoscan.

2003-10-17  twu

    * gencompress.c, gmapindex.c, snapindex.c: Moved gencompress function inside
      snapindex (previously in gencompress.c).

    * segmentpos.c: Changed type of relstart and relend to int, due to problems
      with long.

2003-10-16  twu

    * dynprog.c: Removed splice-site.c.

    * commafmt.c, commafmt.h, genomicpos.c, genomicpos.h, match.c, pair.c,
      segmentpos.c: Moved commafmt command to genomicpos.c.

    * types.h: Defined UINT8 only if HAVE_64_BIT is defined.

    * splice-site.c, splice-site.h: Removed splice-site.c from CVS.

    * readcirc.c, readcirc.h: Removing readcirc from CVS.

    * radixsort.c, radixsort.h: Removing radixsort from CVS.

    * boyer-moore.c, boyer-moore.h: Removed Boyer-Moore procedures from CVS.

    * longoligomer.h: Introduced constants and procedures for Longoligomer_T on
      32-bit systems.

    * gmapindex.c, snapindex.c: Changed output type of write_genome_file.

    * indexdb.c, indexdb.h: Introduced Storedoligomer_T.

    * iit-read.c: Added type cast from void * to char *.

    * oligo.c, oligo.h: Created 32-bit versions of procedures.

    * match.c: Removed functions Match_print() and oligo_nt().

    * stage1.c: Removed mask from Block_T.  Removed function Match_print().

    * block.c, block.h: Removed mask from Block_T.

    * longoligomer.c: Added object Longoligomer_T for 32-bit systems.

2003-10-13  twu

    * Makefile, chrnum.c, database.c, gencompress.c, genome.c, genome.h,
      genuncompress.c, stage1.c: Changed unsigned int to more descriptive types.

    * genomicpos.c, genomicpos.h, longoligomer.h, shortoligomer.h: Added new
      types.

    * chrnum.c, chrnum.h, gmap.c, gmapindex.c, match.c, match.h, offset.c,
      offset.h, pair.c, pair.h, segmentpos.c, segmentpos.h, snap.c, snapindex.c,
      stage1.c, stage3.c, stage3.h: Changed unsigned int to more descriptive
      types.

    * offsetdb.c, offsetdb.h: Added type for Chrnum_T.  Removed function
      Offset_position_to_chr.

    * oligoindex.c, stage1.c, stage2.c: Changed unsigned long and unsigned int
      to more descriptive types.

    * add-chrpos-to-endpoints.c: Removed file used for prototyping.

    * rsort-check.c, rsort-test.c: Removed utility files for radixsort.

    * sequence.c: Removed code for computing CRC32 checksum.

    * sample-oligos.c: Removed sample-oligos.c, which was used for prototyping.

    * Makefile: Removed cksum-fa

    * prb.c, prb.h: Removed prb.c and prb.h, which implemented red-black trees.

    * block.c, block.h, indexdb.c, indexdb.h, match.c, match.h, oligo.c,
      oligo.h, oligoindex.c, oligoindex.h: Changed unsigned long and unsigned
      int to more informative types.

    * cksum.c: Removed cksum.c, which is now computed in sequence.c

    * cksum-fa.c: Removed cksum-fa.c, which was a utility program.

    * cell.c, cell.h: Removed Cell_T, which was designed for the HashDB storage
      scheme for genomic oligomers.

    * pair.c, pair.h, sequence.c, sequence.h, stage3.c: Added provision for
      correcting coverage in the presence of genomic gaps at the ends.

    * chrnum.c: Fixed a bug in printing output.

2003-10-09  twu

    * stage3.c, stage3.h: Added reward for spliced cDNAs based on number of
      exons, if it's greater than 2.  Also, added flag for conservative behavior
      for splice site prediction, by reducing the reward for canonical splice
      sites. Note, however, that such behavior causes SNAP to perform poorly in
      the presence of sequence errors.

    * dynprog.c, dynprog.h, gmap.c, params.c, params.h, snap.c: Added flag for
      conservative behavior for splice site prediction, by reducing the reward
      for canonical splice sites.  Note, however, that such behavior causes SNAP
      to perform poorly in the presence of sequence errors.

2003-10-07  twu

    * iit-read.c: Adapt to new format of bounds database contents.

    * pair.c: Makes correct call to IIT_get when coordinates are in reverse
      order.

2003-08-20  twu

    * Makefile, gmap.c, iit-read.c, iit.c, iit.h, interval-read.c, interval.c,
      interval.h, pair.h, params.h, snap.c, stage3.h: Changed filenames from
      iit.c and interval.c to iit-read.c and interval-read.c

    * whats_on: Generalized procedure for identifying FASTA files containing
      ESTs.

    * sequence.c: Fixed conversion of char to unsigned char.

    * Makefile, bounds.c, bounds.h, gmap.c, iit-read.c, iit-read.h, iit.c,
      iit.h, interval-read.c, interval-read.h, interval.c, interval.h, pair.c,
      pair.h, params.c, params.h, snap.c, stage3.c, stage3.h: Changed calls to
      iit to open the files just once.

    * bounds.c, bounds.h: Adding bounds.c file to compute bounds.

2003-08-19  twu

    * Makefile, database.c, database.h, iit-read.c, iit.c: Added ability to use
      a gene bounds iit file.

    * interval-read.c, interval-read.h, interval.c, interval.h: Revised version
      from berkeleydb CVS repository.

    * gmap.c, pair.c, pair.h, params.c, params.h, snap.c, stage3.c, stage3.h:
      Added capability to use a gene bounds iit file.

2003-08-18  twu

    * iit-read.h, iit.h: Initial import into CVS.

    * iit_get.c: Compare only to query length.

    * get-genome.c: Fixes procedure isrange to make a copy of the string.

2003-07-07  twu

    * whats_on: Changed behavior to not die if directory isn't found.

    * chrnum.c, chrnum.h, segmentpos.c: Fixed sorting and printing for
      chromosomes like 2L.

    * stage3.h: Removed Stage3_goodness as an external procedure.

    * stage3.c: Changed goodness within a given chromosomal segment to include
      canonical introns, but goodness between chromosomal segments to exclude
      this.

    * stage2.c: Increased MAXHITS from 20 to 1000.  Previous value was too low
      and led to splicing errors.

    * get-genome.c: Changed program to try segment first as a chromosome, then
      as a contig.

    * offsetdb.c: Improved output statements to print beginning and ending of
      chromosomes.

2003-06-19  twu

    * dynprog.c: Changed penalties.  Made reward for extension multiplicative.

    * Makefile, gmap.c, gmap_compress.pl, gmap_compress.pl.in,
      gmap_uncompress.pl, gmap_uncompress.pl.in, md5.c, md5.h, md5.t.c,
      params.c, params.h, sequence.c, sequence.h, snap.c, snap_compress.pl,
      snap_uncompress.pl, types.h: Added MD5 calculations.

    * stage3.c: Added debugging statements for finalscore.

    * cksum-fa.c: Added comments.

2003-06-17  twu

    * Makefile: Rearranged lines.

    * gmap.c, snap.c: Fixed calculation of indexdb to occur only once for
      user-provided segment.

    * sequence.c, sequence.h: Added computation for crc32.

2003-06-13  twu

    * dynprog.c: Changed reward for partial match to be zero.

    * stage3.c: Fixed bug where pairs_fwd or pairs_rev might be NULL.

2003-06-03  twu

    * stage2.c, stage2.h: Created separate paths for forward and revcomp
      directions after smoothing.  Added back intron score during calculations.

    * stage3.c: Separated calculations of forward and revcomp paths.

    * gmap.c, snap.c: Increased size of maxlookback.

    * pair.c, pair.h: Added calculation of number of canonical exons.

    * dynprog.c: Setting finalscore as a return value.

    * stage3.c: Added number of canonical exons to goodness criterion.  Added
      "Stage 3" to debug statements.

2003-05-27  twu

    * gmap.c, snap.c, stage2.c, stage2.h, stage3.c, stage3.h: Moved alignment of
      different cDNA direction from stage 2 to stage 3.

    * pair.c, pair.h: Changed Pair_fracidentity to work on a list, rather than
      an array.

2003-05-23  twu

    * stage3.c: Changed goodness function to ignore number of canonical introns.

    * gmap.c, snap.c: Added parameter for sufflookback, potentially different
      from maxlookback, but found that setting maxlookback >> sufflookback led
      to long, poor alignments, so set maxlookback = sufflookback.

    * params.c, params.h, stage2.c, stage2.h: Added separate parameter for
      sufflookback, to be used in stage 2, and possibly different from
      maxlookback, used in stage 3.

2003-05-04  twu

    * genome.c, genuncompress.c, iit-read.c, iit.c, indexdb.c: Removed
      MAP_VARIABLE from mmap command, because it is not available in Linux.

    * hash-test.c, hashdb-read.c, hashdb-read.h, hashdb-write.c, hashdb-write.h,
      hashdb.c, hashdb.h: Removed hashdb files, which have been replaced by
      indexdb.

    * whats_on: Added error message.

    * Makefile: Removed old Makefile commands.

    * gmapindex.c, snapgenerate.c, snapindex.c: Moved functions from
      snapgenerate.c to snapindex.c, so only snapindex is needed to create SNAP
      genome files.

    * genuncompress.c: Initial import into CVS.

2003-05-01  twu

    * stage2.c: Added check for MAXHITS in stage 2, to prevent slowness problems
      from repetitive cDNAs in repetitive genomic segments (such as AA704019).

    * stage1.c: Added debugging statement.

    * gmap_uncompress.pl, gmap_uncompress.pl.in, snap_uncompress.pl: Fixed
      problem where gpos was not handled correctly for the minus strand.

    * chrnum.c: Fixed problem where signed chromosomes were being printed
      incorrectly.

2003-04-29  twu

    * whats_on: Fixed problem where genomic coordinates were in the order of
      largest, then smallest (reverse strand).

2003-04-27  twu

    * stage3.c: Removed queryoffset.

    * stage2.c, stage2.h: Removed queryoffset.  Made sampling interval variable.
       Added bounding of a querypos to a single hit if its top score exceeds its
      second highest score.

    * gmap.c, snap.c: Changed lookback and extramaterial_paired.

    * sequence.c: Changed trimming to leave non-poly-A/T oligomers.

    * chrnum.c, database.c, get-genome.c, segmentpos.c: Changed interpretation
      of chromosome numbers to allow all single letters and all numbers.

    * offsetdb.c: Extra blank line.

2003-04-17  twu

    * Makefile, accpos.c: Removed file accpos.c, which isn't being used anymore.

2003-04-16  twu

    * genome.c, sequence.c, sequence.h: Removed offset as a parameter for
      Sequence_genomic_new.

    * mem.c: Removed upper limit check on allocating memory.

    * pair.h: Removed queryoffset from print routines.

    * pair.c: Removed queryoffset from print routines.  Fixed calculation of
      genomic distances for Crick strand.

2003-04-15  rkh

    * config, cvswrappers: *** empty log message ***

2003-04-10  rkh

    * config: *** empty log message ***

2003-04-09  rkh

    * config: *** empty log message ***

2003-04-07  twu

    * dynprog.c: Reduced rewards for canonical introns.

    * pair.c: Added conversion to uppercase.

    * mem.c: Added check for unexpectedly large allocations.

2003-04-02  twu

    * stage3.c: Made separate procedures for 3' and 5' ends.  Turned off
      Boyer-Moore extension at ends.  Added checks to prevent dynamic
      programming past end of sequence.

    * params.c: Removed freeing of version.

    * pairpool.c: Added additional debugging checks.

    * pair.c: Improved output for user-provided segments.

    * gmap.c, indexdb.c, indexdb.h, match.c, matchpair.c, matchpair.h, offset.c,
      sequence.c, sequence.h, snap.c: Now performing stage 1 on user-provided
      segments.  This eliminates poor alignments when the user-provided segment
      is longer than stage 1 would have provided.

    * segmentpos.c: Added limit to number of accessions reported.

    * request.c, request.h: Changed from name from genomicseg to usersegment.

    * stage1.c: Removed offset from call to Block_T procedures.

    * genome.c: Renamed some procedures.

    * dynprog.c: Increased penalties for mismatch.

    * chrnum.c: Allowed chromosome 0.

    * block.c, block.h: Removed offset from list of parameters.

    * blackboard.c, blackboard.h: Changed from name from genomicseg to
      usersegment.

2003-03-27  twu

    * gmap_compress.pl, gmap_compress.pl.in, gmap_uncompress.pl,
      gmap_uncompress.pl.in, pair.c, snap_compress.pl, snap_uncompress.pl,
      stage3.c: Changed alignment output for dual breaks.

2003-03-25  twu

    * dynprog.c: Created an inline procedure and scheme for scoring canonical
      and alternate introns.  Increased penalties for mismatches.

    * intron.c, intron.h: Moved most functions to other files, to increase
      speed.

    * pair.c, pair.h, pairdef.h, pairpool.c, stage3.c: Added field to Pair_T
      object to denote a gap.

    * sequence.c: Fixed bug that caused large amounts of memory to be allocated.

    * gmap_compress.pl, gmap_compress.pl.in, snap_compress.pl: Introduced a
      better error statement.

    * stage2.c: Changed sampling to start at -1 after the first 8-mer missed,
      and then go back by the Nyquest rate.

    * stage3.c: Introduced peelback for single gaps.

2003-03-21  twu

    * genome.c, gmap.c, pair.c, pair.h, sequence.c, sequence.h, snap.c,
      stage3.c: Fixed algorithm to handle poly-T starts as well as poly-A ends. 
      Added extra information to Sequence_T structure and output procedures to
      handle this correctly.

    * gmap.c, snap.c: Fixed problems with Stage3_T objects that were not
      assigned to NULL. Added flushing of output for debugging.

    * dynprog.c: Fixed dynamic programming on ends so the genomic segment won't
      stick out.

2003-03-20  twu

    * spidey_compress.pl: Modified routine to look for spaces of at least 10,
      instead of 20.

    * dynprog.c: Added a separate reward for canonical introns, depending on the
      defect rate.

    * list.c, list.h: Added a command for setting the head of a list.

    * pair.c: Fixed counting of indels.

    * pairpool.c: Created new debugging commands.

    * gmap.c, snap.c: Added trimming of first or last exon in stage 2 if the
      defect rate is high enough and the exons are too long.  Increased lookback
      from 60 to 90.

    * stage3.c: Modified peelback to go past nonconsecutive hits, stopping only
      at an intron.

    * stage2.c, stage2.h: Added trimming of first or last exon if the defect
      rate is high enough and the exons are too long.

2003-03-16  twu

    * stage2.c: Added hooks for making smooth_path depend on defect_rate, but
      this appears to be a bad idea.

    * pair.c: Improved consistency check to work when cdna_direction is
      initially zero.

    * dynprog.c, dynprog.h, stage3.c: Changed effect of defect rate to be on
      mismatches and gaps, rather than intron scores.

2003-03-15  twu

    * gmap.c, pair.c, pair.h, snap.c, stage2.c, stage2.h, stage3.c, stage3.h:
      Added check for consistency of intron directions, and ability to back
      track to stage 2 with forced cdna_directions if the stage 3 result is
      inconsistent.

    * dynprog.c, dynprog.h, pair.c, pair.h, stage2.c, stage2.h, stage3.c: Added
      estimation of defect_rate in stage 2, and used it to change parameters in
      dynamic programming and extension of ends.

2003-03-13  twu

    * stage3.c: Changed limitation on Boyer-Moore search to be a certain number
      of hits.  This compensates for the fact that smaller oligomers will occur
      more frequently than longer ones, and that longer ones are more
      statistically significant.

2003-03-12  twu

    * stage3.c, stage3.h: Limited length of Boyer-Moore search at ends.  Changed
      name of minendsearch to minendtrigger.

    * gmap.c, params.c, params.h, snap.c: Changed name of minendsearch to
      minendtrigger.

2003-03-11  twu

    * dynprog.c: Extended the search range of bridge_gap, so that it finds
      introns even at the bounds of the dynamic programming.

    * gmap.c, params.c, params.h, snap.c, stage3.c, stage3.h: Added parameter
      for minendsearch.

    * dynprog.c: Fixed safety check in intron_score for reading off end of
      segment.

    * stage3.c: Rearranged computation of stage 3, such that middle is computed
      first, then cDNA direction is recomputed, then 5' and 3' ends are
      computed.

    * pair.c, pair.h: Added function for computing cDNA direction from list of
      pairs.

    * dynprog.c: Adjusted various dynamic programming scores.  Fixed coordinates
      in gap.  Added check for very short introns.

    * stage3.c: Discrimination between paired gap dynamic programming at ends
      and in middle.

    * dynprog.c, dynprog.h: Major rewrite of dynamic programming procedures. 
      Changed from Gotoh algorithm to pure banded procedure.  Reversing
      sequences when necessary, so all computations are symmetric.

    * sim4_compress.pl, spidey_compress.pl: Added output of the number of exons.

    * stage3.c: Added check for genomejump being zero or negative, which would
      give rise to a position beyond the genomic segment.

    * pair.c: Added check for zero denominator.

    * boyer-moore.c: Added check for sequence to consist entirely of valid
      nucleotides.

2003-03-09  twu

    * spidey_compress.pl: Added printing of exon lengths, intron lengths, and
      dinucleotides, to match new output of snap_compress.pl.  Fixed problems
      with parsing Spidey output.

    * sim4_compress.pl: Added printing of exon lengths, intron lengths, and
      dinucleotides, to match new output of snap_compress.pl.

    * gmap_compress.pl, gmap_compress.pl.in, snap_compress.pl: Fixed problem
      when reverse intron is GT-AG.

    * gmap_uncompress.pl, gmap_uncompress.pl.in, snap_uncompress.pl: Fixed bug
      that occurs when snap was called with -N, without printing intron lengths.

    * stage1.c: Fixed a memory leak from not freeing Stage1_T object.

    * block.c: Fixed bug which caused a memory leak because we were overwriting
      a previous querypos.

    * oligo.c: Fixed debug message.

2003-03-07  twu

    * gmap.c, snap.c: Reduced stage1size for short query sequences (< 60 bp).

    * match.c, match.h, stage1.c, stage1.h: Fixed Match_print to print the
      correct oligo.

    * get-genome.c: Changed header to contain the version number.

    * gmap_uncompress.pl, gmap_uncompress.pl.in, snap_uncompress.pl: Added exon
      lengths to compressed output.

    * gmap_compress.pl, gmap_compress.pl.in, snap_compress.pl: Added exon
      lengths to compressed output.  Removed printing of dinucleotides for
      canonical introns.

2003-03-06  twu

    * stage3.c: Cleaned up code extensively.  Added Boyer-Moore searches on both
      ends of cDNA.

    * dynprog.c, dynprog.h: Cleaned up code by making separate procedures for
      single gap in middle, and 5' and 3' ends.

    * pair.c, pair.h: Added procedure for dumping a list of pairs.

    * boyer-moore.c: Removed debugging statements.

2003-03-05  twu

    * Makefile, boyer-moore.c, boyer-moore.h: Addition of Boyer-Moore string
      search.

    * stage3.c: Consolidated peelback code.  Beginning to insert Boyer-Moore
      code.

    * stage2.c: Fixed bug where index was -1.

    * block.c, block.h, oligo.c, oligo.h, stage1.c: Fixed code to use stage1size
      instead of INDEX1PART in certain places.

    * gmap_compress.pl, gmap_compress.pl.in, snap_compress.pl: Fixed code to
      handle genomic accession when genomic sequence is provided by the user.

    * gmap.c, pair.c, sequence.c, sequence.h, snap.c: Fixed code to print out
      genomic accession when genomic sequence is provided by the user.

    * match.c: Fixed code to print just forward oligo.

2003-03-03  twu

    * intron.c, pair.c: Changed '===...===' to represent a non-canonical intron.

    * dynprog.c: Reduced reward to semi-canonical introns to be slightly less
      than that for canonical introns.

    * stage3.c: Changed output of large gaps from '=========' to '###...###'.

    * gmap_uncompress.pl, gmap_uncompress.pl.in, snap_uncompress.pl: Made
      changes to accommodate enhancements to SNAP, namely use of '#' for large
      gaps and switch of intronends and intronlengths info.

    * gmap_compress.pl, gmap_compress.pl.in, snap_compress.pl: Initial import
      into CVS.

    * gmap_uncompress.pl, gmap_uncompress.pl.in, snap_uncompress.pl: Initial
      import into CVS.

2003-03-02  twu

    * Makefile, dynprog.c, intron.c, intron.h, pair.c, splice-site.c: Removed
      use of splice site matrices and added identification of semi-canonical
      dinucleotides.

2003-03-01  twu

    * gmap.c, params.c, params.h, snap.c, stage3.c, stage3.h: Changed
      extramaterial at the end and for paired to be parameters.

    * get-genome.c: Changed program to check only first four letters of genomic
      name.

2003-02-11  twu

    * pair.c, pair.h, stage3.c: Adjusted goodness score of alignment by number
      of canonical introns.

    * dynprog.c, dynprog.h, gmap.c, params.c, params.h, snap.c, stage3.c,
      stage3.h: Parameterized band size in dynamic programming and increased
      bands for cross-species alignment.

    * gmap.c, oligoindex.c, oligoindex.h, params.c, params.h, snap.c, stage2.c,
      stage3.c, stage3.h: Parameterized INDEXSIZE and made it different for
      cross-species alignment.

    * stage2.c: Added smooth_path step in stage 2 to remove short spurious exon
      hits.

2003-02-03  twu

    * params.c, params.h: Replaced dbroot with version.

    * gmap.c, snap.c: Added reporting of version to program.

2003-01-28  twu

    * stage3.c: Fixed problem where a base pair was missed on the 5' end.

    * stage2.c: Fixed problems where genomic matches can overlap.

    * pair.c: Fixed problems in computing exon endpoints.

2003-01-22  twu

    * stage3.c: Reverted back to old method of building pairs in the middle.

    * pair.c: Added post-processing check for a gap at the end of the alignment.

    * oligoindex.c: Added check for poly-T.

2003-01-03  twu

    * stage3.c: Made some changes to eliminate large gaps at the 3' end.

    * gmap.c, snap.c: Improved handling of case where user provides both cDNA
      and genomic files.

    * stage3.c: Fixed bug when no pairs are found.

    * sequence.c: Fixed bug in failing to initialize.

2002-12-30  twu

    * params.c, params.h: Added parameter for fwdonlyp.

    * pairpool.c: Fixed small memory leak.

    * params.h: Changed genomeinvert from a bool to an int.

    * pair.c: Fixed bug where pointer was advanced before freeing it.

2002-12-11  twu

    * gmap.c, snap.c: Fixed problem where complement table was not initialized
      early enough.

2002-12-10  twu

    * gmap.c, sequence.c, sequence.h, snap.c: Improved procedure for trimming
      poly-A tails.

    * pair.c: Increased space for positions from 12 to 14.

    * complement.h: Removed extraneous semicolon.

    * stage2.c: Fixed problem where no matching 8-mers are found.

2002-12-04  twu

    * gmapindex.c, snapindex.c: Write accession names to .aux file, even if they
      do not start with NT_ or GA_.

    * gmap.c, snap.c: Added routines for adding signs to chromosomes, inverting
      the genome, printing intron lengths, and trimming poly-A tails.

    * pair.c, pair.h, params.c, params.h, stage3.c, stage3.h: Added routines for
      adding signs to chromosomes, inverting the genome, and printing intron
      lengths.

    * sequence.c, sequence.h: Added routines for trimming poly-A tails.

    * chrnum.c, chrnum.h, match.c: Added routines for adding signs to
      chromosomes.

    * Makefile, complement.c, complement.h, genome.c: Added files for handling
      complements.

2002-11-26  twu

    * match.c, pair.c: Changed printing of FWD/REV to +/-.  Added printing of
      intron lengths.

    * gmap.c, pair.c, pair.h, params.c, params.h, snap.c, stage3.c, stage3.h:
      Added ability to print genome first in alignment.

2002-11-25  twu

    * gmap.c, snap.c: Added iteration code for cross-species alignments.

    * Makefile, matchpair.c, matchpair.h: Added an object Matchpair_T to hold
      pairs of Match_T objects.

    * segmentpos.c: Added a check against freeing a null value.

    * result.c, result.h: Created a Stage1_T object that can hold state, for
      resuming stage 1 calculations later.

    * pair.c, stage3.c: Changed definition of coverage to be based on length of
      query sequence that aligns.

    * dynprog.c: Changed allocation procedures for Matrix_T and Directions_T. 
      Provided hooks for doing band-limited memory clearing, but this won't work
      with the Gotoh P1 and Q1 matrices.

    * stage2.c: Added a seenone check to protect against long stretches of N's
      in the genome.

    * stage1.c, stage1.h: Created a Stage1_T object that can hold state, for
      resuming stage 1 calculations later.  Stage1_T contains a list of
      Matchpair_T objects, and some procedures have been moved to matchpair.c.

    * params.c, params.h: Added parameters for crossspecies and changed name of
      maxextend to maxstutter.

2002-11-20  twu

    * dynprog.c, dynprog.h, stage3.c: When calling dynprog, now passing pointers
      to subsequence rather than copying subsequences.

    * block.c, block.h: Simplified procedure for processing oligos by Block_T
      object.

    * params.c, params.h: Added parameters for stage1size and maxlookback.

    * pair.c, pair.h, stage3.c, stage3.h: Added counts for unknowns and
      reporting of coverage.

    * oligoindex.c: Increased size of memory blocks from 10 to 50.

    * oligoindex.c: Replaced realloc function with explicit calls to calloc and
      free, because Third Degree reported occasional errors with realloc.

    * gmap.c, indexdb.c, indexdb.h, oligo.c, oligo.h, snap.c, stage1.c,
      stage1.h: Major change to stage 1 procedure to work on either 24-mers or
      18-mers.

    * mem.c: Added blank line.

    * match.c, match.h: Added procedure for Match_copy and simplified Match_new.

    * genome.c: Inlined procedure fill_buffer.

    * genome.c: Simplified routine for fill_buffer.

2002-11-15  twu

    * indexdb.c, indexdb.h: Added code for ignoring poly A hits.  Added
      procedure for reading 12-mer positions.

    * pair.c: Removed debugging statement.

    * block.c, match.c, match.h, oligo.c, stage1.c, stage1.h: Parameterized
      stage1size.

2002-11-12  twu

    * pair.c, pair.h: Distinguished between mismatches and indels.  Fixed cases
      where gaps need to be merged (e.g., affy.HGU95A.34233_i_at, which created
      ===...======...=== when an 8-mer fell into a gap and was then aligned to
      either end of the gap by dynamic programming.

    * params.c, params.h: Added flag for low stringency.

    * stage3.c, stage3.h: Changed definition of LARGEQUERYGAP to be maxlookback.
       Distinguished between mismatches and indels.

    * gmap.c, snap.c: Changed definition of LARGEQUERYGAP to be maxlookback. 
      Added flag for lowstringency (12-mers).

    * dynprog.c, dynprog.h, stage2.c: Changed definition of LARGEQUERYGAP to be
      maxlookback.

    * result.c: Improved check on whether to free array in result.

2002-11-11  twu

    * params.c, params.h, stage2.c, stage2.h: Made maxlookback a parameter.

    * gmap.c, snap.c: Introduced heap memory for each thread for dynamic
      programming. Made maxlookback a parameter.

    * stage3.c, stage3.h: Introduced heap memory for each thread for dynamic
      programming. Restricted peelback for consecutive positions.

    * dynprog.c, dynprog.h: Introduced heap memory for each thread for dynamic
      programming.

2002-11-09  twu

    * dynprog.c: Changed dynamic programming procedure to be banded.

    * stage2.c, stage3.c: Revised stage 2 procedure to jump every INDEXSIZE,
      keep track of consecutive matches, and have a maximum lookback.  Changed
      stage 3 procedure accordingly, including increasing peelback to INDEXSIZE.

    * gmap.c, snap.c: Changed default behavior to be ordered output.

    * genome.c: Revmoed pre-loading for genome, and used madvise(MADV_DONTNEED)
      instead.

2002-11-07  twu

    * dynprog.c: Added a zero gap penalty on the ends.  Changed mismatch penalty
      to be less than a match penalty, and reduced intron reward accordingly.

    * stage3.c: Added a peelback on the 5' end, because it's just like half of a
      paired gap alignment.

    * gmap.c, snap.c: Removed hack used for debugging.

    * stage2.c: Introduced concept of a maximum lookback, and will now go beyond
      the previous limit if no hit has been found.

    * genome.c: Changed genome to be pre-paged when user specifies it.

    * indexdb.c: Changed type of i from int to size_t.

2002-11-06  twu

    * pair.c, pair.h, stage3.c: Changed pairs in stage 3 object to be allocated
      as a separate block, so they can be output at a later time.

    * blackboard.c, blackboard.h, gmap.c, reqpost.c, reqpost.h, request.c,
      request.h, result.c, result.h, snap.c: Updated multithreading system to
      handle ordered output with better throughput by adding an output queue.

    * genome.c, indexdb.c, pair.c: Added header for string.h to eliminate
      compiler warnings about strlen type.

    * pairpool.c: Increased chunk size from 10000 to 20000.

    * stage2.c: Added debugging comments to generate a graph.

    * stage3.c: In-lined calls to List_T and Pair_T accessor functions.

    * pair.c, stage1.c: In-lined calls to List_T accessor functions.

    * list.c, list.h: Added function to return value of the last element of a
      list.

2002-11-05  twu

    * pairpool.c, pairpool.h: Removed calls to realloc(), because they do not
      preserve pointer values.  Replaced with allocation of chunks of memory as
      needed.

    * dynprog.c, stage2.c: Changed two-dimensional matrices to be
      one-dimensional with pointer.

    * blackboard.h, gmap.c, snap.c: Made minor tweaks to blackboard object,
      primarily alterating ninputs and noutputs outside the lock, and changing
      signal of end of output to be a null result.

    * reqpost.c, reqpost.h: Added orderedp flag to send only appropriate
      signals.

    * blackboard.c: Made minor tweaks to blackboard object, primarily alterating
      ninputs and noutputs outside the lock.

2002-11-04  twu

    * dynprog.c, list.c, listdef.h, pairpool.c, pairpool.h, stage2.c, stage3.c:
      Added a pool of List_T cells for each thread to reduce heap contention.

    * Makefile, blackboard.c, dynprog.c, dynprog.h, genome.c, genome.h, gmap.c,
      pair.c, pairdef.h, pairpool.c, pairpool.h, reqpost.c, reqpost.h,
      request.c, request.h, sequence.c, sequence.h, snap.c, stage2.c, stage2.h,
      stage3.c, stage3.h: Provided each worker thread with separate sources of
      heap memory for genomic sequence and for Pair_T objects.  Intended to
      reduce heap contention.

    * stage2.c: Created define for MAXLOOKBACK.

    * stage1.c, stage1.h: Changed constants to be based on those in indexdb.h.

    * indexdb.c, indexdb.h: Changed stage 1 lookup to be based on 12-mers,
      rather than 8-mers.

2002-11-03  twu

    * indexdb.c: Implemented binary search on third 8-mer.

    * gmap.c, snap.c: Allowed user to specify full path of database in the -d
      flag.

    * Makefile: Added stopwatch to Makefile.

    * indexdb.c: Changed preloading of indexdb to touch each page effectively,
      not by using memcpy(), which fails to load in pages.

    * sequence.c: Added check for first call to fgetc(input) being EOF.

2002-11-01  twu

    * pair.c: Changed print routine to work properly on user-supplied genomic
      segments.

    * genome.c, indexdb.c: Changed pre-load to use fread/fopen/fwrite, rather
      than memcpy, which fails to load the pages into memory.

    * Makefile, block.c, block.h, gmap.c, gmapindex.c, oligo.c, oligo.h,
      params.c, params.h, snap.c, snapindex.c, stage1.c, stage1.h: Changed stage
      1 database to use index table of 8-mers, rather than a hash table of
      24-mers.

    * stopwatch.c, stopwatch.h: Added stopwatch function to program.

    * genome.c, genome.h: Added batch mode by using mmap/memcpy, but this
      appears to fail on a clustered file system.

    * indexdb.c, indexdb.h: Implemented Indexdb_T as a substitute for Hashdb_T.

2002-10-31  twu

    * stage2.c: Changed stage 2 procedure to consider both forward and reverse
      complement introns in one pass.  Fixed a small bug in intron_score to
      require position >= 2.

2002-10-29  twu

    * stage2.c, stage3.c: Replaced calls to Sequence_char with direct array
      access.

    * Makefile, blackboard.h, genome.c, genome.h, gmap.c, hashdb-read.c,
      match.c, offset.c, oligoindex.c, pair.c, reqpost.c, reqpost.h,
      segmentpos.c, snap.c, stage2.c, stage3.c: Made various fixes for compiler
      warnings.

    * stage3.c: Separated procedures for middle single gap and end single gap.
      Decreased size of single gap dynamic programming procedure for 5' and 3'
      ends to have genomejump = 2*queryjump.

    * gmap.c, snap.c: Increased default extension to 30000 nt.

    * dynprog.c: Prevented horizontal jumps on 3' end of splice site.  Adjusted
      score parameters.

    * dynprog.c, oligoindex.h, stage2.c: Changed oligomer size in stage 2 from
      10 to 8, and adjusted dynamic programming parameters accordingly. 
      Prevented genomic gap at the 5' edge of an intron.  Made initial
      cdna_direction test more robust.

    * gmap.c, snap.c: Fixed calls to SNAP that don't involve any sequence (the
      -C and -L flags).

    * stage3.c: Reduced minimum intron size from 10 to 9.

    * stage1.c: Substituted the constant HASHSIZE for 24.

2002-10-28  twu

    * dynprog.c: Increased reward for intron.  A score of 10 fails to identify a
      canonical intron with a gap.

    * pair.c: Fixed misreporting of query start coordinate.

    * gmap.c, snap.c: Fixed small memory leak.

    * Makefile, dynprog.c, splice-site.c, splice-site.h: Added splice site
      calculations to find best intron.

    * dynprog.c, dynprog.h, stage2.c, stage2.h, stage3.c, stage3.h: Improved
      stage 2 dynamic programming procedure to consider introns (only for
      consecutive query positions), to compute gap penalty based on difference
      of genomejump and queryjump, and to consider cDNA directions separately.

    * gmap.c, snap.c: Improved handling of arguments for database search and for
      alignment to genomic segment.

    * stage1.c, stage1.h: Fixed stage 1 to consider Watson and Crick strands
      separately.

    * gmap.c, params.c, params.h, snap.c, stage1.c, stage1.h: Made extension in
      stage 1 a user-definable parameter.

2002-10-27  twu

    * blackboard.c, blackboard.h, gmap.c, pair.c, request.c, request.h,
      sequence.c, sequence.h, snap.c: Provided ability to align cDNA against
      user-provided genomic segment.

    * dynprog.c: Gave credit to half introns.

2002-10-26  twu

    * genome.c, genome.h, gmap.c, oligoindex.c, oligoindex.h, snap.c, stage1.c,
      stage1.h, stage2.c, stage2.h, stage3.c, stage3.h: Changed genomicseg to be
      of type Sequence_T.

    * block.c: Changed debug flag.

    * Makefile, gmap.c, request.c, request.h, sequence.c, sequence.h, snap.c,
      stage1.c, stage1.h, stage2.c, stage2.h, stage3.c, stage3.h: Renamed
      Queryseq_T to Sequence_T.

    * queryseq.c, queryseq.h: Renamed Queryseq_T to Sequence_T, to allow genomic
      sequences to be represented this way.

    * pair.c, pair.h, stage3.c, stage3.h: Simplified argument lists of some
      functions.

    * params.c, params.h, result.c, result.h: Allowed first-order approximation
      using stage1 results.

    * stage2.c: Increased extension on left and right to find small terminal
      exons.

    * stage1.c, stage1.h: Fixed assessment of whether getpair succeeded or
      failed.

    * gmap.c, match.c, match.h, snap.c: Added first-order approximation, to use
      just stage1 results.

    * block.c, block.h, oligo.c: Fixed bugs in Block_next_to_stoppos when the
      query sequence has many non-ACGT characters.

2002-10-25  twu

    * Makefile, gmap.c, snap.c: Made compressed genome the default.

    * hashdb-read.c, hashdb-write.c: Reverted to old hashtable format, which
      contains only two arrays.

2002-10-24  twu

    * dynprog.c, dynprog.h, gmap.c, pair.c, pair.h, params.c, params.h, snap.c,
      stage3.c, stage3.h: Added diagnostic mode to print out asterisks instead
      of vertical bars where dynamic programming was done.

    * genome.c, genome.h: Added ability to read compressed genomes.

    * Makefile, gencompress.c: Added compression routine for genomes.

    * blackboard.c, blackboard.h, gmap.c, reqpost.c, reqpost.h, snap.c: Added
      anyorder behavior to blackboard, and made it default.

2002-10-23  twu

    * stage2.c: Removed code for memory freeing of positions, which is now
      performed by Oligoindex_T.

    * oligoindex.c: Changed type of positions from void ** to unsigned int **,
      to make code clearer and more robust.

2002-10-22  twu

    * gmap.c, pair.c, pair.h, params.c, params.h, snap.c, stage3.c, stage3.h:
      Added option to print universal genomic coordinates.

    * genome.c, hashdb-read.c: Changed mmap to from MAP_PRIVATE to MAP_SHARED.

    * genome.c, genome.h, gmap.c, params.c, params.h, snap.c, stage2.c,
      stage2.h: Changed Genome_T to be memory-mapped, rather than using fopen,
      which is needed for multithreading.

    * stage1.c: Fixed bug where salvage procedure fails to find anything.

    * mem.c: Enhanced mem.c to give actual location of failure.

    * gmap.c, oligoindex.c, oligoindex.h, snap.c, stage2.c, stage2.h: Changed
      algorithm for stage 2 to allocate genomic positions dynamically in
      Oligoindex_T.  To limit number of positions stored, we prescan the
      queryseq to see what oligomers are relevant.

    * stage2.c: Reverted back to previous Stage 2 strategy where we stored
      genomic sequence in oligoindex and scanned query sequence.

    * oligoindex.c, oligoindex.h: Simplified routines greatly.

    * stage2.c: Changed stage 2 strategy to index the query sequence rather than
      the genomic sequence.  This should result in some speed up.

    * reader.c, reader.h, stage1.c: Made Reader_new function depend on sequence
      rather than Queryseq_T object.

    * list.c, list.h: Added function List_index.

    * oligoindex.c, oligoindex.h: Hard-coded interval, rather than passing it
      in.

    * gmap.c, pair.c, snap.c: Added flag to avoid showing contig coordinates.

    * params.c, params.h: Added Params_T object.

    * Makefile, blackboard.c, blackboard.h, gmap.c, reqpost.c, reqpost.h,
      request.c, request.h, result.c, result.h, snap.c: Major change to make
      program multithreaded.  Introduced Blackboard_T, new Reqpost_T, and new
      Result_T objects.

    * stage3.h: Added header file.

    * stage2.c, stage2.h: Cleaned up procedures.  Passed in querylength via
      queryseq.

    * stage1.c, stage1.h: Cleaned up procedures.  Made hashinterval a constant.

    * queryseq.c, sequence.c: Removed macro for DEBUG2.

    * oligoindex.c, oligoindex.h: Allowed offsets for oligoindex to be created
      separately (for individual worker threads.)

    * block.c: Changed name from Result_T to Match_T.

2002-10-21  twu

    * block.c, match.c, match.h, stage1.c, stage1.h, stage2.c, stage2.h: Changed
      name of Result_T to Match_T.

    * result.c, result.h: Renamed Result_T to Match_T.

    * stage3.c: Turned off debug statements.

    * queryseq.c, sequence.c: Fixed small memory leak.

    * Makefile, align.c, align.h, gmap.c, snap.c, stage2.c, stage2.h, stage3.c,
      stage3.h: Created Stage 3 and moved part of Stage 2 commands there.

2002-10-20  twu

    * Makefile, align.c, align.h, gmap.c, queryseq.c, queryseq.h, reader.c,
      reader.h, sequence.c, sequence.h, snap.c, stage1.c, stage1.h, stage2.c,
      stage2.h: Added a separate Queryseq_T object, and moved some functions
      from Reader to Querypos.

    * pair.c: Removed bottom ruler.

    * block.c, block.h, gmap.c, snap.c, stage1.c, stage1.h: Removed
      multithreading from stage 1 (hash table reads).

    * dynprog.c: Made maximize_entry inline to speed up dynamic programming.

    * stage2.c: Added another 24 (hashsize) to extensions.  Without this, for
      some reason, we miss the ends.

    * Makefile, dynprog.c, penalties.c, penalties.h: Removed Penalties_T object
      in order to increase speed.

    * stage2.c: Changed extension to be based on remaining distance from end.

    * gmap.c, snap.c: Eliminated parameters maxentries and indexsize.

    * oligoindex.c, oligoindex.h: Made changes to improve speed, by eliminating
      unnecessary arrays.

    * stage2.c, stage2.h: Made changes to improve speed, including making
      build_pairs_middle iterative and using the fill_oligo function where
      possible.

    * align.c: Changed Pair_T object to reflect the actual case of the query
      sequence.

2002-10-19  twu

    * oligoindex.c: Simplified construction of Oligoindex_T object.

    * Makefile, align.c, align.h, gmap.c, oligoindex.c, oligoindex.h, snap.c,
      stage2.c, stage2.h: Made indexsize a hardcoded parameter.  Allocated space
      for Oligoindex once at beginning of program.

    * align.c, stage2.c: Using Pair_T object instead of Result_T object
      throughout stage 2.

    * stage1.c: Fixed memory leak.

    * align.c, align.h, stage2.c: Major change to improve stage 2 efficiency. 
      Using arrays instead of lists for the dynamic programming alignment.

    * oligoindex.c: Changed debug statements from fprintf to printf.

    * offset.c, offset.h: Added back to repository.

2002-10-18  twu

    * stage1.c, stage2.c: Allowed alignments even if we can't find a matching
      pair on the 5' and 3' ends.

    * oligoindex.c: Changed debug statements.

    * align.c: Removed debug statement.

    * Makefile: Added rule for counting lines of code.

2002-10-17  twu

    * Makefile, gmap.c, segmentpos.c, segmentpos.h, snap.c, snapgenerate.c:
      Generated dump procedure to work on either the text offset file or the
      offset BerkeleyDB.  Added accession length to the output.

    * match.c, match.h, result.c, result.h: Cleaned up unused or obsolete
      procedures.

    * hashdb-read.c: Made hashindex memory mapped again.  Added madvise()
      commands to help with memory mapping.

    * stage1.c: Changed algorithm for stage 1 to extend for 2 hash intervals
      past the first connectable pair of hits.

    * block.c, block.h: Added ability to stop block at a certain position.

2002-10-15  twu

    * dynprog.c, dynprog.h, stage1.c, stage2.c: Added counts of matches and
      mismatches on dynamic programming of single gaps, and used this to exclude
      dynamic programming results on 5' and 3' ends.

    * gmap.c, snap.c, stage2.c, stage2.h: Increased EXTENSION from 90 to 1000. 
      Included check for genomicpos2 against chromosomal length.

    * hashdb-read.c, hashdb-write.c: Reading hashindex into memory instead of
      memory mapping it.

    * dynprog.c: Cosmetic changes to debug macro.

    * align.c: Cleaned out unused code.

    * gmap.c, snap.c: Added flag for specifying maxentries (in stage 2).

    * stage2.c: Fixed one-off error on requesting dynamic programming of 5' end.

    * hashdb-write.h: Added log file.

    * gmapindex.c, snapindex.c: Fixed minor bug relating to log file.

    * hashdb-write.c: Added file pointer for a log file.

    * gmapindex.c, snapindex.c: Raised default maxentries value from 5 to 20. 
      Added file pointer for a log file.

    * hashdb-write.c: Commented out monitoring statements.

    * hashdb.c: Developed new hash function to give the same hash value for an
      oligo and its reverse complement.  This should improve page access for the
      hash lookup.

    * stage2.c: Improved debugging statement.

    * gmap.c, snap.c: Removed effect of maxentries in stage 2, which was causing
      some alignments to be short.

    * align.c: Changed debug statements from fprintf to printf.

2002-10-14  twu

    * hashdb-read.c: Fixed problem in binary search where we subtracted 1U from
      0U.

    * dynprog.c: Allowed dynamic programming to identify introns even if
      lowercase.

    * database.c: Reformatting.

    * hashdb-read.c: Fixed bug where function was returning NULL prematurely.

    * gmapindex.c, snapindex.c: Made second pass read only on auxfile.

    * Makefile, block.h, database.c, database.h, gmap.c, gmapindex.c, match.c,
      oligo.h, request.h, result.c, snap.c, snapindex.c, stage1.h: Removed
      traces of PureDB package.

    * Makefile, cell.c, cell.h, gmapindex.c, snapindex.c: Changed snapindex
      program to a two-pass process.  The first pass saves the .aux file, and
      the second pass creates the hash table.  This simplifies the Cell_T object
      greatly.

2002-10-13  twu

    * cell.c, cell.h, gmapindex.c, hashdb-write.c, snapindex.c: Sorting cell
      entries by hashvalue then by oligo.

    * hashdb-read.c: Fixed minor bug in binary search routine.

2002-10-11  twu

    * Makefile, block.c, hashdb-read.c, hashdb-write.c: Changed structure of
      hashdb to have three tables: oligo_offset, oligos, and positions.

    * hashdb-write.c: Checking totalsize of contents and setting file size
      initially to that.

    * hashdb-read.c: Memory mapping hash contents now.

    * snapgenerate.c: Fixed memory leaks.

    * gmap.c, snap.c: Fixed memory leak from failure to free Offset_T object.

    * gmap.c, snap.c: Fixed bug where datadir was freed.

    * hashdb-read.c: Fixed bug where memory mapped offsets were freed.

    * dynprog.c: Fixed bug where cL+1 or cL+2 exceeded length2L.

    * oligo.c: Revised procedures to handle lowercase letters in the query
      sequence.

    * hashdb-read.c: Fixed bug where nentries wasn't being set.

    * Makefile: Divided hashdb into separate read and write files.

    * block.c, block.h, gmap.c, oligo.c, oligo.h, request.c, request.h, snap.c:
      Changing from PureDB to our own Hashdb_T.

    * stage1.c, stage1.h: Changing from PureDB to our own Hashdb_T.  Also fixed
      bug where results3 was not being initialized to NULL.

    * gmapindex.c, snapindex.c: Divided hashdb file into a separate read and
      write file.

    * snapgenerate.c: Using Offset_T object now, after we have written the
      chromosome file.

    * hashdb-write.c: Fixed bug causing unaligned access errors, by splitting
      header into two 4-byte unsigned ints.

    * hashdb-read.c: Fixed bug where length = 0.  Also fixed bug causing
      unaligned access errors, by splitting header into two 4-byte unsigned
      ints.

2002-10-10  twu

    * hashdb-read.c, hashdb-read.h, hashdb-write.c, hashdb-write.h, hashdb.c,
      hashdb.h: Split Hashdb functions into separate read and write files.

    * hashdb.c, hashdb.h: Provided option to switch between unsigned long and
      unsigned int for hashoffset_t.

    * hashdb.c, hashdb.h: Changed offsets to be memory-mapped rather than read
      by file.

    * Makefile, gmapindex.c, hashdb.c, hashdb.h, snapindex.c: Changing hash
      database to our own format.

    * gmapindex.c, snapindex.c: Fixed bug where last oligo would not get stored.

    * pair.c, segmentpos.c: Added missing header file for commafmt.

    * Makefile: Revised object files needed for snapindex and snapgenerate.

    * Makefile, accpos.c, add-chrpos-to-endpoints.c, block.c, block.h, cell.c,
      database.c, database.h, gmap.c, gmapindex.c, match.c, match.h, offsetdb.c,
      offsetdb.h, result.c, result.h, segmentpos.c, segmentpos.h, snap.c,
      snapgenerate.c, snapindex.c, stage1.c, stage1.h: Changed offset reads from
      a database to a structure read from a flat file.

    * get-genome.c: Added -U flag to generate unmasked sequences.

2002-10-09  twu

    * offset.c, offset.h: Renamed files from offset.* to offsetdb.h

    * gmap.c, snap.c: Implemented print_details.

    * stage1.c, stage1.h: Implemented print_details.  Fixed problem where
      dominated bounds were not being eliminated.

    * stage2.c: Increased the peelback to identify introns.  Added debugging
      statements.

    * align.c: Fixed greediness for finding introns.  Removed gap penalty and
      reward for intron.  Instead, implemented a tie breaker for scores based on
      genomic distance.  Increased the peelback to identify introns.

    * align.c, block.c, gmap.c, match.c, match.h, result.c, result.h, snap.c,
      stage1.c, stage1.h, stage2.c: Changed stage 1 of algorithm to find bounds
      using 5' and 3' hits.

2002-10-08  twu

    * Makefile, pair.c, pair.h, stage2.c: Changed goodness to be differences of
      matches and mismatches.

2002-10-07  twu

    * dynprog.c: Changed recursive functions of traceback and scoreback to be
      iterative.

    * gmap.c, snap.c, stage2.c: Added check for large query gaps and avoided
      doing dynamic programming on those.  Also added check for allpaths being
      NULL from stage 2.

    * align.c: Toggled DEBUG.

    * Makefile, gmap.c, snap.c, stage2.c, stage2.h: Added ability to print
      alignment summaries only.

    * pair.c: Ignored N's in computing percent identity.

    * Makefile, pair.c, pair.h, stage2.c: Added number of exons to calculations
      and output.

    * gmap.c, snap.c, stage2.c, stage2.h: Made alignment procedure the default. 
      Now sorting paths based on the goodness of the alignment.

    * pair.c, pair.h, stage2.c: Removed npairs from some parameter lists.

    * pair.c, pair.h, stage2.c, stage2.h: Added calculation for goodness, based
      on percent identity.

    * gmap.c, match.c, pair.c, pair.h, result.c, segmentpos.c, segmentpos.h,
      snap.c, stage2.c, stage2.h: Now printing endpoints based on alignments, if
      available.

    * list.c: Fixed bug in List_last.

    * list.c, list.h: Added a List_last procedure.

    * Makefile, gmap.c, match.c, match.h, result.c, result.h, snap.c, stage1.c,
      stage1.h, stage2.c, stage2.h: Created a Stage2_T object and reorganized
      calculations, in preparation for using the alignments to rank the results.

    * Makefile, gmap.c, snap.c: Added parameter for maxaligns, the maximum
      number of alignments to print.

    * dynprog.c: Fixed read of unallocated hash.

    * align.c: Fixed read of uninitialized variable.

    * align.c, dynprog.c, pair.c, pair.h, stage2.c: Added ability to recognize
      introns in revcomp direction, and to print correct indices for Crick
      strand matches.

    * match.c, result.c: Simplified use of zerobasedp.

    * gmap.c, snap.c, stage1.c, stage1.h, stage2.c, stage2.h: Changed variable
      names to distinguish between hashsize and indexsize.

2002-10-06  twu

    * dynprog.c, genome.c, stage2.c: Fixed errors with the sequence and genomic
      indices.

    * stage1.c: Removed list reversal to match new scheme for doing stage 1
      dynamic programming.

    * align.c, pair.c: Enhanced debugging information.

    * align.c: Revised code to make sure that we don't pick unwanted paths after
      the first.  We set the usedp flags and recompute dynamic programming on
      subsequent rounds to avoid using those results.  This should affect only
      stage 1, because maxpaths equals 1 on stage2.

    * align.c: Removed gappenalty for stage 1 computation.  This was causing
      problems with multiple paths for HER2.

    * pair.c, pair.h, stage2.c: Added procedure for summary of exons.

    * gmap.c, snap.c: Made printout slightly better.

    * match.c, result.c: Fixed miscount on number of matches.

    * pair.c: No change.

    * genome.c, genome.h: Added modules to retrieve genome sequences.

    * dynprog.c: Minor restructuring of procedures.

    * dynprog.c: Fixed coordinates in gap.  Changed gap output for non-introns.

    * pair.c: Added printing of rulers in alignments.

    * stage2.c: Fixed memory leaks.

    * dynprog.c: Fixed major problem in paired gap assessments.  Need to
      subtract, not add, the entry in the right matrix.

    * stage2.c: Changed criteria for single and paired gaps, based on a minimum
      intron length.  Created special case for the 3' end.

    * penalties.c: Changed middle gap penalties to have bigger opening and
      smaller extend penalties.

    * dynprog.c, dynprog.h: Changed concepts from short and long gaps to single
      and paired gaps.

    * stage2.c: Added peelback procedure to help identify correct intron. 
      Otherwise, the greedy oligo matching procedure can mask the intron
      boundaries.

    * dynprog.c: Fixed bug for traceback on longgap, where we didn't start from
      the lower right cell.

    * align.c, stage2.c: Increased size of stage 2 oligos from 8 to 10.

2002-10-05  twu

    * align.c, gmap.c, oligoindex.c, oligoindex.h, snap.c, stage2.c, stage2.h:
      Added ability to limit maxentries in stage 2.

    * dynprog.c: Changed alignment character for dynamic programming to help
      with debugging.

    * dynprog.c, stage2.c: Implemented dynamic programming across long gaps.

    * dynprog.c: Reordered priorities in traceback to be (1) continue in same
      direction, (2) diagonal, (3) vertical, and (4) horizontal.

    * dynprog.c, dynprog.h, penalties.c, penalties.h, stage2.c: Cleaned up
      dynamic programming code for the three cases of FIVE, MIDDLE, and THREE. 
      Added stub for dynamic programming of long gaps.

    * pair.c, pair.h, stage2.c: Made improvements to the alignment output.

    * gmap.c, match.c, pair.c, pair.h, result.c, snap.c, stage2.c: Added
      improvements to the alignment output.

    * stage2.c: Added code to handle the 5' end properly.

    * penalties.c: Changed some values for the penalty parameters.

    * dynprog.c: Changed opening penalties to not include the extension.  Added
      special procedures for 5' and 3' ends of sequence, essentially
      implementing part of Smith-Waterman on each end.  Added special cases in
      traceback for 5' and 3' ends, but may not be necessary in light of the
      other changes.

2002-10-04  twu

    * stage2.c: Added querypos and genomepos to the Pair object.  Reorganized
      various functions.

    * pair.c, pair.h: Added querypos and genomepos to the Pair object.

    * reader.h: Added another option to cDNAEnd_T.

    * align.c: Fixed the precise bounds around an intron.

    * Makefile, dynprog.c, dynprog.h, penalties.c, penalties.h: Added penalties
      object.  Provided ability to specify different penalties for left, middle,
      and right part of sequence.

    * stage2.c: Moved printing procedure to another file.  Fixed small bug that
      caused us to miss printing a base.

    * pair.c, pair.h: Removed printing of loci names from alignment.

    * Makefile, align.c, dynprog.c, dynprog.h, pair.c, stage2.c: Added dynamic
      programming routine to take care of small gaps.

    * Makefile, align.c, align.h, gmap.c, match.c, match.h, matrix.c, matrix.h,
      oligoindex.c, oligoindex.h, pair.c, pair.h, path.c, path.h, penalties.c,
      penalties.h, reader.c, reader.h, result.c, result.h, snap.c, stage1.c,
      stage1.h, stage2.c, stage2.h: Major change to algorithm to have two
      stages: one using hash table (24-mers) and another using an index table
      (8-mers).  Still need to incorporate a dynamic programming step for gaps
      in the final alignment.

2002-10-02  twu

    * whats_on: Changed program to work with new data directory for alignment
      results.

    * gmap.c, snap.c: Fixed problem where intronlen == 0.  Now requiring
      intronlen > 0.  Added extra carriage return when zero paths found.

2002-09-28  twu

    * Makefile: Reduced number of object files used in SNAP.

    * get-genome.c: Fixed use of fscanf to match the .chromosome and .contig
      file format.

    * path.c: Simplified call to Path_compute to eliminate scoremat.

2002-09-27  twu

    * path.h: Simplified call to Path_compute to eliminate scoremat.

    * penalties.c, penalties.h: Added procedure to create a default penalties
      object.

    * match.c, result.c: Added line for number of matches.

    * gmap.c, snap.c: Fixed bug where resultlist was uninitialized.  Allowed
      resultstring of 0.  Simplified call to Path_compute.

    * whats_on: Added -R flag for release number.

2002-09-25  twu

    * intlist.c, intlist.h, scoremat.c, scoremat.h: No longer need Intlist_T or
      Scoremat_T.

    * Makefile, gmap.c, path.c, path.h, snap.c: Removing Sequence_T.  Using char
      * instead to represent sequences.

    * reader.c, reader.h: Added Reader_pointer function.

    * penalties.c: Using CALLOC/FREE macros.

    * gmap.c, snap.c: Inadvertent commit.  Adding routines to perform
      nucleotide-level dynamic programming.

    * ring.c, ring.h: Removed Ring_T.  Apparently not used by other seqalign
      files.

    * path.c, path.h: Premature commit.  Adding routines to analyze only
      submatrices.

    * intlist.c, matrix.c, scoremat.c: Using CALLOC/FREE macros.

    * Makefile: Adding files from seqalign.

    * intlist.c, intlist.h: Added files from seqalign to do nucleotide-level
      dynamic programming.

    * get-genome.c: Added flag for release string.  Changed type of positions
      from long to unsigned int.

    * offset.c, offset.h, offsetdb.c, offsetdb.h: Added datadir to
      Offset_read_file.

    * match.c, match.h, result.c, result.h: Added Result_path command.

    * gmapindex.c, snapgenerate.c, snapindex.c: Simplified strcpy/strcat calls
      to sprintf.

    * matrix.c, matrix.h, penalties.c, penalties.h, ring.c, ring.h, scoremat.c,
      scoremat.h: Added to program for doing nucleotide-level dynamic program. 
      Taken from seqalign.

    * path.c: Inadvertent commit.  Still editing.

    * path.c, path.h: Added to program for doing nucleotide-level dynamic
      program.  Taken from seqalign.

2002-09-24  twu

    * gmapindex.c, segmentpos.c, segmentpos.h, snapindex.c: Added
      superaccessions to accsegmentpos_db.

2002-09-23  twu

    * radixsort.c: Fixed syntax error when monitoring is turned off.

    * Makefile, radixsort.c: Added monitoring routine for radix sort.

2002-09-19  twu

    * snapgenerate.c: Removed debug line.

    * gmapindex.c, snapindex.c: Added option for using lowercase characters.

2002-09-18  twu

    * Makefile, snapgenerate.c: Added program snapgenerate, to create text
      .chromosome, .contig, and .chromosome files.

    * gmapindex.c, snapindex.c: Clarified the variable auxfile.

    * gmapindex.c, snapindex.c: Clarified the variable dbroot.

2002-09-17  twu

    * oligo.c: Made comment to explain Third Degree warning.

    * Makefile, block.c, block.h, gmap.c, match.c, match.h, reqpost.c,
      reqpost.h, result.c, result.h, snap.c: Made changes to sample query
      sequence at a test interval and perform dynamic programming.

2002-09-16  twu

    * endpoints.c, endpoints.h: Removed from source.

2002-09-13  twu

    * block.c: Changed debug flag.

    * Makefile: Changed C compiler flags.

    * gmap.c, snap.c: Changed default directory to be in /usr/seqdb2_nb.

2002-08-30  twu

    * endpoints.c, gmap.c, match.c, match.h, result.c, result.h, snap.c: Made
      changes to facilitate garbage collection, including adding a matchedp flag
      to results, and putting singleton results into an endpoint.

    * block.c: Changed debug messages.

    * endpoints.c, endpoints.h: Changed print routine.  Added code for query
      length.

    * gmap.c, snap.c: Added consolidation of endpoints, and ranking of those to
      generate a single result.

    * block.c, match.c, oligo.c, result.c, segmentpos.c: Added debug macros.

    * endpoints.c, endpoints.h: Added commands for sorting endpoints and testing
      for adjacency.

    * reader.c: Fixed test when startptr == endptr.

    * gmap.c, snap.c: Implemented divide-and-conquer strategy on query sequence.

2002-08-28  twu

    * gmapindex.c, snapindex.c: Turned off printing of subaccession messages.

2002-08-22  twu

    * gmapindex.c, snapindex.c: Added timing statistics.

    * block.c, oligo.c: Fixed coordinate calculations.  May need to check.

    * gmapindex.c, snapindex.c: Added dump function.

    * radixsort.c, radixsort.h: Changed accessor function to get a character
      rather than a pointer.  Fixed algorithm for case where byte equals strlen.

    * cell.c, cell.h: Changed accessor function to get a character rather than a
      pointer.

    * Makefile, rsort-check.c, rsort-test.c: Added a test and check routine for
      radixsort.

    * Makefile, gmapindex.c, snapindex.c: Removed unnecessary files for
      snapindex.

    * Makefile, block.c, block.h, endpoints.c, endpoints.h, gmap.c, match.c,
      match.h, offset.c, offsetdb.c, oligo.c, oligo.h, readcirc.c, reader.c,
      reader.h, request.h, result.c, result.h, snap.c: Major change to implement
      divide-and-conquer strategy.

2002-08-21  twu

    * read.c, read.h: Changed name of file from read.c to readcirc.c

    * block.c, block.h, endpoints.c: Partial changes to implement
      divide-and-conquer strategy.

    * gmapindex.c, snapindex.c: Improved diagnostic messages.

    * Makefile, gmapindex.c, offset.c, offsetdb.c, radixsort.c, radixsort.h,
      read.c, readcirc.c, segmentpos.c, snapindex.c: Fixed minor compiler
      warnings.

    * cell.c: Using pointers rather than lists to store multiple positions for
      an oligo.  Fixed quicksort compare function accordingly.

    * gmapindex.c, snapindex.c: Using pointers rather than lists to store
      multiple positions for an oligo.

    * radixsort.c: Added small speed hacks.

    * Makefile: Added quicksort as an option.

    * Makefile, cell.c, cell.h, gmapindex.c, radixsort.c, radixsort.h,
      snapindex.c: Added radix sort as a replacement for quicksort.

2002-08-20  twu

    * oligo.c: Fixed key_size for partial bytes.

    * gmapindex.c, snapindex.c: Changed location of oligo file to be in dbenv
      directory, not a subdirectory.

2002-08-15  twu

    * Makefile, block.c, block.h, gmap.c, gmapindex.c, oligo.c, oligo.h,
      request.c, request.h, snap-withenv.c, snap.c, snapindex.c: Made changes to
      accommodate sizes less than 32-mers.

    * gmap.c, match.c, match.h, offset.c, offset.h, offsetdb.c, offsetdb.h,
      result.c, result.h, snap.c: Added ability to read chromosome information
      from file, but not done by default right now.

2002-08-11  twu

    * Makefile, block.c, block.h, dpentry.c, dpentry.h, endpoints.c,
      endpoints.h, gmap.c, match.c, match.h, result.c, result.h, snap.c: Changed
      algorithm to work inward from both ends and find a single match.

    * Makefile, gmapindex.c, snapindex.c: Fixed program to handle cases where
      interval is less than size.

2002-07-19  twu

    * segmentpos.c: Changed type of querylen.

    * whats_on: Changed suffix for db filenames.

    * iit-read.c, iit.c, interval-read.c, interval-read.h, interval.c,
      interval.h: Changed binary storage format to be a single file.

    * get-genome.c: Changed input format to accept a single string.

2002-07-13  twu

    * iit_get.c: Added ability to query symbolic db.

    * iit_get.c: Fixed bugs in the algorithm.

    * iit_get.c: Allowed user to specify a single point, rather than an
      interval.

    * iit_store.c: Added an output message when Berkeley DB file is done.

2002-07-12  twu

    * iit_get.c, iit_store.c: Integrated interval tree into
      db_load/retrieve_endpoints.

    * Makefile, basic.h, iit-read.c, iit.c, interval-read.c, interval-read.h,
      interval.c, interval.h: Rewrote interval tree to handle interval queries
      and to write tree to and read tree from files.

2002-07-11  twu

    * basic.h, iit-read.c, iit.c: Added code for integer interval trees from
      Edelsbrunner's alpha shapes.

    * get-genome.c: Added ability to convert a single coordinate.

    * prb.c: Fixed minor typos.

    * prb.c, prb.h: Revised format and separated interface from implementation.

    * prb.c, prb.h: Added routines for red-black trees with parent pointers from
      libavl 2.0

    * dpentry.c: Changed criterion to consider query coverage.

    * endpoints.c: Fixed problem with negative relative positions.

2002-07-10  twu

    * endpoints.c, endpoints.h, gmap.c, snap.c: Revised output format of SNAP. 
      Coordinates are now given for each accession.

    * gmap.c, offset.c, offset.h, offsetdb.c, offsetdb.h, snap.c: Revised
      chromosome dump procedure to print lengths as well as offsets.

    * Makefile, add-chrpos-to-endpoints.c: Added program for adding chromosomal
      position to endpoints.

2002-07-09  twu

    * whats_on: Modified program to work with new version of SNAP.

    * dpentry.c, gmap.c, match.c, match.h, result.c, result.h, snap.c: Restored
      nleads as a criterion in dynamic programming.  Added features to help with
      debugging.

    * Makefile, get-genome.c: Freed get-genome from using BerkeleyDB databases,
      which are too slow to open.

2002-07-08  twu

    * get-genome.c: Added ability to report coordinates.

    * iit_get.c: Added check for zero matches.

    * whats_on: Preliminary changes (inadvertent checkin).

    * Makefile, get-genome.c: Created get-genome program.

    * accpos.c: Added offset for chromosomes.

    * accpos.c, database.c, database.h, gmap.c, gmapindex.c, snap.c,
      snapindex.c: Changed location of data files.

2002-07-07  twu

    * iit_get.c: Fixed bug with testing dumpp.

2002-07-06  twu

    * endpoints.c, endpoints.h, match.c, result.c: Added check for boomerang
      paths, where the genomic length is 0.

    * whats_on: Added whats_on from ../snap.

    * spidey_compress.pl: Added meta-level compression.

2002-07-05  twu

    * spidey_compress.pl: Added spidey_compress.pl from ../snap.

    * iit_get.c: Added dump utility.

    * iit_get.c, iit_store.c: Added programs for storing and retrieving records
      based on endpoints.

2002-07-04  twu

    * sim4_uncompress.pl: Added retrieval function for get-genome.

    * sim4_compress.pl, sim4_uncompress.pl: Added further compression by
      counting repeated tokens.

    * sim4_compress.pl, sim4_uncompress.pl, util: Added sim4
      compression/uncompression routines from snap CVS archive.

    * dpentry.c, match.c, result.c: Changed from using slopes (quotients) to
      intron measurements (differences).

2002-07-03  twu

    * endpoints.c, gmap.c, snap.c: Changed output slightly, e.g., en-dash for
      number ranges.

    * Makefile, accpos.c: Created program accpos, for finding genomic position
      of accessions.

    * segmentpos.c, segmentpos.h: Added procedure for finding partially matching
      accessions.

    * gmapindex.c, snapindex.c: Made creation of aux-only database faster.

    * gmap.c, snap.c: Fixed small bug in error message.

    * segmentpos.c, segmentpos.h: Made Segmentpos_print extern.

    * database.c: Changed accsegmentpos_db from hash to B-tree.

    * database.c, database.h, gmap.c, gmapindex.c, snap.c, snapindex.c: Merged
      two database procedures.

    * segmentpos.c, segmentpos.h: Added procedure for reading from
      accsegmentpos_db.

    * Makefile, cell.c, cell.h, database.c, database.h, endpoints.c,
      endpoints.h, gmap.c, gmapindex.c, segmentpos.c, segmentpos.h, snap.c,
      snapindex.c: Added another database, from accession name to segmentpos,
      and renamed databases.

    * Makefile, block.c, block.h, gmap.c, snap.c: Added specification for
      minimum separation between leads.

2002-07-02  twu

    * Makefile: Removed segmentpos dump flag from db.test

    * endpoints.c, endpoints.h, gmap.c, snap.c: Changed to 1-based coordinates
      as default.

    * gmapindex.c, snapindex.c: Removed segment dump, because it can be
      performed by snap.

    * gmap.c, snap.c: Added several command-line options.

    * segmentpos.c, segmentpos.h: Enhanced dump procedure to report absolute
      genomic positions.

    * match.c, match.h, result.c, result.h: Storing signed genome_coverage into
      dpentry and checking for impossible slopes (< 0.9).

    * offset.c, offset.h, offsetdb.c, offsetdb.h: Added dump procedure.

    * endpoints.c: Added printing of subaccessions for Celera genome.  Added
      commas to output of positions.  Changed dominated function to look for any
      overlap instead of complete coverage.

    * Makefile, dpentry.c, dpentry.h: Changed comparison function to use slopes.

    * chrnum.c: Added check for uninitialized chromosome.

2002-07-01  twu

    * block.h, buffer-thread-attempt.c, buffer-thread-attempt.h, buffer.c,
      buffer.h, dbentry.c, dbentry.h, entry.c, entry.h, hits.c, hits.h, oligo.c,
      sort.c, sort.h, table.c, table.h: Removed unused files.

    * Makefile, block.c, block.h, database.c, database.h, endpoints.c,
      endpoints.h, gmap.c, gmapindex.c, hash-oligos.c, hit.c, hit.h, match.c,
      match.h, oligo.c, oligo.h, request.c, request.h, result.c, result.h,
      scan.c, scan.h, segmentpos.c, snap.c, snapindex.c: Changed oligo_db from
      BerkeleyDB to PureDB.  Created object for endpoints.  Removed unused
      files.

2002-06-30  twu

    * gmap.c, segmentpos.c, segmentpos.h, snap.c: Added genomic position to the
      output.

2002-06-29  twu

    * gmap.c, match.c, result.c, snap.c: Fixed memory leaks.

    * block.c, block.h, dpentry.c, dpentry.h, gmap.c, match.c, match.h,
      request.c, request.h, result.c, result.h, snap.c: Added minimum spanning
      tree.  Version appears to work well.

    * Makefile, block.c, block.h, dpentry.c, dpentry.h, gmap.c, match.c,
      match.h, request.c, request.h, result.c, result.h, snap.c: Early version
      of dynamic programming that stores H best paths at each hit.

2002-06-28  twu

    * gmap.c, match.c, match.h, result.c, result.h, segmentpos.c, snap.c: Added
      simple dynamic programming and best pair techniques.

    * Makefile, block.c, block.h, database.c, database.h, gmap.c, gmapindex.c,
      match.c, match.h, oligo.c, oligo.h, reqpost.c, request.c, request.h,
      result.c, result.h, snap.c, snapindex.c: Implemented working version of
      snap that uses multiple oligo_dbs with requests and strings results
      together from 5' and 3' ends.

    * commafmt.c, commafmt.h: Added source code for adding commas to numbers.

2002-06-25  twu

    * Makefile: Added specification of directory for dbenv.

    * database.c, gmapindex.c, snapindex.c: Added provisions for transactions,
      to try to speed up build of database.

2002-05-29  twu

    * gmapindex.c, snapindex.c: Allowed the user to specify a directory for the
      BerkeleyDB environment.

2002-05-28  twu

    * Makefile, gmapindex.c, segmentpos.c, snapindex.c: Added specification of
      segmentfile as flag -g.

    * Makefile, database.c, database.h, gmapindex.c, snapindex.c: Removed
      genome_db and delta_db from snapindex.

    * Makefile, gmapindex.c, segmentpos.c, segmentpos.h, snapindex.c: Added
      ability to dump segments (in order) from segmentpos_db

    * Makefile: Changed flags for C compiler.

    * segmentpos.c: Added check to get previous segment only in some cases.

2002-05-22  twu

    * Makefile, gmap.c, oligo.c, oligo.h, read.c, read.h, readcirc.c,
      readcirc.h, scan.c, scan.h, segmentpos.c, segmentpos.h, snap.c: Working
      version of snap using a scan of genomic and delta information.

    * Makefile, cell.c, cell.h, database.c, database.h, gmap.c, gmapindex.c,
      hit.c, hit.h, offset.c, offset.h, offsetdb.c, offsetdb.h, oligo.c,
      oligo.h, scan.c, scan.h, snap.c, snapindex.c, table.c, table.h: Made
      changes to store delta position of genomic oligos and to store oligos of
      query sequence.

2002-05-08  twu

    * Makefile, database.c, database.h, gmap.c, gmapindex.c, hash-oligos.c,
      snap.c, snapindex.c: Consolidated sample-oligos and hash-oligos into
      snapindex.  Specified oligo dbtype by using Berkeley DB constants.

2002-05-03  twu

    * Makefile, cell.c, cell.h, database.c, database.h, hit.c, read.c,
      readcirc.c, sample-oligos.c: Separated database commands for oligos from
      the other database (aux).

2002-04-26  twu

    * Makefile, gmap.c, hit.c, oligo.c, read.c, readcirc.c, snap.c: Removed
      environment.  Began implementation of dynamic programming.

    * Makefile, chrnum.c, chrnum.h, database.c, database.h, gmap.c,
      hash-oligos.c, hit.c, hit.h, offset.c, offset.h, offsetdb.c, offsetdb.h,
      oligo.c, oligo.h, read.c, read.h, readcirc.c, readcirc.h, snap.c:
      Re-implementation of SNAP using new database created by hash-oligos.

2002-04-24  twu

    * segmentpos.c, segmentpos.h: Handled problems with chromosome string to
      integer conversions.

    * hash-oligos.c: Handled problems with chromosome string to integer
      conversions.  Rearranged calls to db->open so that each db is opened only
      once.

    * Makefile, btree.c, btree.h, hash-oligos.c, hash.c, hash.h, oligo.c,
      oligo.h: Consolidated code into fewer files.

    * Makefile: Changed CFLAGS to optimize speed.

    * cell.h: Matched up .h file with .c file.

    * Makefile, genomicpos.c, genomicpos.h, hash-oligos.c, segmentpos.c,
      segmentpos.h: Now storing genomic locations as global positions, which
      require keeping track of chromosomal offsets.

    * Makefile, btree.c, btree.h, cell.c, cell.h, entry.c, entry.h,
      genomicpos.c, genomicpos.h, hash-oligos.c, sample-oligos.c: Major change
      to allow B-trees, to avoid storing adjacent oligos, to store genomic
      positions, and to write oligos in binary format.

2002-04-22  twu

    * Makefile, assert.c, assert.h, block.c, block.h, bool.h,
      buffer-thread-attempt.c, buffer-thread-attempt.h, buffer.c, buffer.h,
      cksum-fa.c, cksum.c, dbentry.c, dbentry.h, entry.c, entry.h, except.c,
      except.h, gmap.c, hash-oligos.c, hash-test.c, hash.c, hash.h, hits.c,
      hits.h, list.c, list.h, match.c, match.h, mem.c, mem.h, oligo.c, oligo.h,
      read.c, read.h, readcirc.c, readcirc.h, reqpost.c, reqpost.h, request.c,
      request.h, result.c, result.h, sample-oligos.c, snap-withenv.c, snap.c,
      sort.c, sort.h, src: Initial import into CVS.

2000-05-09  paf

    * config, cvswrappers, loginfo, modules: initial checkin

    * CVSROOT, checkoutlist, commitinfo, editinfo, notify, rcsinfo, taginfo,
      verifymsg: initial checkin

    * branches, tags, trunk: Standard project directories initialized by
      cvs2svn.

