2011-03-11  twu

    * 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
      andcoordinates 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 anew
      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 forbigendian 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
      inSAM 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 variableto 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 isavailable.

    * gsnap_filter.c: Modified to print nonmapped SAM entries. Removed
      inconsistencies inprinting 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., nothardclipped). Added an option --oneway to print both ends of
      apaired-end read in the same direction.

    * gsnap_concordant.c: Modified to print nonmapped SAM entries, and to add
      mate informationfor 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 togiven 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 andgenomicend. Removed querylength_adj field.

    * stage3hr.c: Preventing terminal alignments from setting minscore
      inStage3_optimal_score and Stage3pair_optimal_score

    * stage1hr.c: Fixed and simplified calculation of floor_left and floor_right
      fordiagonals

    * 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
      nearestsurrounding known splices.

    * spliceclean.c: Printing original label for each splice

    * gsnap_splices.c: Added flag to require canonical splices. Checking for
      canonicaldinucleotides 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
      areturned.

    * shortread.c: Requiring first file to have "/1" and second file to have
      "/2" ifslashes are present

    * samread.c: Allowing for XS:A:? to indicate unknown splice direction

    * pair.c: Changed minimum intron length for non-concordant splice in
      cigarstring 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-directionalsplices as both forward and reverse. Printing
      non-canonicaldinucleotide pairs.

    * gsnap_multiclean.c: Skipping, rather than aborting on, concordant pairs
      with differentnumbers 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 beyondextents. 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
      isnon-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 andprint 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 intoa 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 fordebugging

2011-02-16  twu

    * stage3hr.c: Removed debugging statement

    * stage1hr.c: Restored ability to find short-overlap splicing in 1-2 bp at
      ends ofread

    * 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 inrest 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
      adapterstripping

    * stage3hr.c: Fixed indentation

    * gsnap_concordant.c: Fixed procedure to report all concordant pairs with
      correct distanceand 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
      destinationdirectories. 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 forcomputing 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 fromGSNAP.

    * Makefile.dna.am: Include maxent_hr.c and .h for PMAP. Included programs
      sam_fasta andsam_concordant.

2011-02-14  twu

    * gsnap_concordant.c: Added file for concordant_mult. Printing concordant
      results inadjacent 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 firstand second reads, and putting information in
      flag of SAM output.

2011-02-12  twu

    * stage3hr.c: Implemented a different method for using bingo pairlengths,
      bycalculating a minscore for those pairlengths with the
      bingocharacteristic

    * 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 allsequences.

    * 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
      fordetermining sign.

    * substring.c, substring.h: Added functions for finding overlaps and insert
      lengths between twosubstrings

    * stage3hr.c: Changed criterion for scramble to be the absence of any
      overlap in thewrong relative positions. Revamped computation of insert
      length tolook 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.
      Removedsplicesites_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. Fixedproblem 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
      bigendiancomputers in processing positions from the indexdb file.

    * stage1hr.c: Added missing code for computing nmismatches for one type of
      spliceend

    * 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 wecan compute short-overlaps.

    * Makefile.dna.am, gsnap_best.c, gsnap_fasta.c: Added programs for
      extracting alignment with best MAPQ score andconverting 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 andnoutput.

    * stage1hr.c: Making all loops on segments go to segments[nsegments] instead
      ofnsegments-1

    * stage1hr.c: Implemented novel double splice detection using new
      genome-basedsplice site detection. Removed leftspan/rightspan test and
      replacedwith counting mismatches.

    * outbuffer.c: Fixed outbuffer to check for donep flag, and for inbuffer to
      signalwhen 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
      forsingle splicing to 2 nt from each end. Implemented double
      splicedetection 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 compressedgenome, and merging with
      known sites. Using this procedure to findsingle splices. Merged
      single-splice procedures for plus and minusstrand, and moved handling of
      plus and minus strands inside ofSubstring_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 intoa single procedure (plus a specialized one for terminals
      only).Removed separate Splicesegment_T object and using a general
      Segment_Tobject.

    * stage1hr.c: Divided single splicing, known double splicing, and novel
      doublesplicing into separate procedures.

2011-02-04  twu

    * gsnap.c, stage1hr.c, stage1hr.h: Provided flag for detecting novel double
      splices, and turned thefeature off by default.

    * stage1hr.c: Implemented faster method for finding double splices.
      Commented outcode no longer valid for setting splice_pos_start and
      splice_pos_endin finding single splices.

    * stage1hr.c: Increased speed of finding local splices by storing leftmost
      andrightmost querypos. Hiding double-splicing for now.

2011-02-03  twu

    * stage1hr.c, substring.c, substring.h: Handling splicesites_offset in
      donor, acceptor, and shortexonSubstring_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.
      Removedsome 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,
      ratherthan 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
      andthe 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
      searchresult

    * 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, andunpaired, with three subtypes of paired:
      inversion, toolong, andscramble. 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_Tinformation 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 checkinggenomic 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_pand 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
      version34369, 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
      version34369, where information goes to stderr.

    * splicegene.c: Version 34375 was an accidental reversion. Going back to
      version34369, which actually does stop fixing of terminalp in acceptors
      wherenext donor is terminal.

    * splicefill.c: Version 34377 was an accidental reversion. Going back to
      version34369, which uses tally, adds smoothing, does not use slopes to
      findedges, 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 SAMflags to samflags.h.

    * splicefill.c: Removed smoothing. Using slopes to find edges. Checking
      foredgedistance.

    * splicegene.c: Stopped fixing of terminalp in acceptors cases where next
      donor wasterminal

    * 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
      caseswhere the same stage3 object is in both lists.

    * chimera.c, pair.c, pair.h: Simplified Pair_matchscores and computing over
      querylength. InChimera_bestpair, check for cases where the same stage3
      object is inboth 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.
      Implementedfiltering 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 avariable.

    * 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
      endpoint

    * 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
      ofprev->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
      aninsertion 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 allowedmismatches within region after
      trimming

    * stage3hr.c: Changed Stage3pair_remove_duplicates to resolve overlaps
      usingabsdifflength

    * 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
      clippinginformation 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 previousformat.

    * 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
      nomappinggoes 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. Addedcode 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 foruniversal 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
      printgc-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 buildingfrom svn.

    * sam.c: For unpaired_uniq, performing sorting first and then selecting
      matefor 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
      wildcardSNPs.

    * 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.
      CallinggobyAlEntry_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, andsnp_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 --failsonlyoption.

    * 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
      insteadof 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,
      andmax_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 unusedglobal 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 usingquality shift.

    * gsnap.c: Fixed memory leak when npaths is zero. Reversing quality string
      inGSNAP 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
      inshort-exon splicing. Added debugging statements.

    * stage1hr.c: Fixed a bug in handling one case of ambiguous splice ends
      inshort-exon splicing.

    * splicetrie.c: Allowing only one mismatch at most for searching at ends in
      short-exonsplicing 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 computingnsplicepartners.

    * gsnap.c, splicetrie.c, splicetrie.h: Using unsigned ints rather than char
      * to store splicestrings andcompute 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 fordistant 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-endsand 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 alternategenome and reaching a non-leaf with no
      string remaining. Removedunused 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 alternategenome. Using 4 bytes instead of 2 bytes for
      reloffsets. Not usingsuboptimal 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 removedfrom 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 ofalternate 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
      correctlyfor 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 pointersizes 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 2from next best alignment. Consolidated code into
      find_left_splice andfind_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 newinterface 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 checkingadjacent 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 andrev extents. Added ability to print endpoints and midpoints.
      Addedflag to bypass cleaning step.

    * stage3hr.c: Allowing pair overlaps when splices are involved. Using new
      way ofcomputing 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 tofilter 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 SAMoutput 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-endsplicing

    * stage1hr.c: Using different stopi for novel and known splicing. Fixed
      possiblebug in reading past mismatches_left and mismatches_right.
      Fixedcalculation 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 somememory 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 forindicating 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 trimmingstarting 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 themfor printing exact, substitution, and terminal alignments.
      Renamedvariables in Hittype_T enum. Added ambiguous alignments.
      Restoredusage of score in Stage3_remove_duplicates. Using number
      ofmismatches to compute nmatches in Stage3_T objects. Revisedcomputation
      of terminal alignments.

2010-09-01  twu

    * gsnap.c, stage1hr.c, stage1hr.h: Introduced min_shortend as a parameter
      with flag -l. Thefind_left_splice and find_right_splice procedures now
      compete withextension.

2010-08-31  twu

    * gmap.c, stage3.c, stage3.h: Introducing sense_filter in addition to
      sense_try. Countingnon-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
      withterminal alignments. Clarified usage of query, queryuc_ptr,
      andqueryrc.

    * 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. Removedquery parameter from Genome_trim_left and
      Genome_trim_rightprocedures.

    * 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.
      Fixedlogic 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 ofsplice 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_terminalsfor 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 localsplices 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
      timeat 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 -jflag 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 ofwarnings.

    * 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 Jackmanand 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
      ondistant 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
      nmatchesdirectly.

    * stage1hr.c: Changed algorithm for finding terminal alignments. Requiring
      distantsplicing 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 sametwo 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 notget 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.
      Enabledprinting of distant splices onto two separate lines.
      UsingNOT_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. Explicitlyspecifying 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
      becomesnegative in trimming.

    * stage1hr.c, stage3hr.c: Allowing Substring_new and Stage3_new to return
      NULL if trimmedalignments 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
      printchromosomal 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 parsingprocedures 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.
      Providingoption for maxlength on trimming.

    * gmap.c: Using Stage2_scan method to rank gregions. Providing
      additionaldiagnostic options.

    * diag.c, diag.h, diagpool.h: Added ability to allocate memory for
      diagonals, rather than usingdiagpool

    * 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
      compareresults, 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
      diagnosticpurposes. Computing a fingerprint.

    * stage1.c: Using a boolean to see if weight exists rather than depending
      onfloating point value

    * sequence.h: Added handling of finding adapters. Computing sequence quality
      fortrimming.

    * sequence.c: Fixed bug where fastq quality line begins with ">". Added
      removal ofadapters 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
      stage2fingerprint.

    * 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 thanrelying 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
      aboutnextensions 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
      spliceends 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, bymaking 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 halfintron 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
      andPAIREDEND_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. PrintingFASTQ 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
      aninterchromosomal 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 atranslocation.

2010-03-10  twu

    * stage3hr.c: Revised half_intron_score. Using that score when
      comparingoverlapping 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 ofsequence 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
      mateinformation 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_Tlevel 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
      caseswhere known splicing occurs near end of sequence. Removing
      duplicatehits 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 halfintrons. Removing unnecessary parameters during printing.
      Checkingfor abort in pairing process, based on local counts.

    * stage1hr.c: Added support information in making splices. Not checking
      forsufficiency for half introns. Using an abort_pairing_p flag, andwhen
      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
      forprobability thresholds.

    * datadir.h: Added external interface for a function

    * sam.c: Fixed bug where numbers of deletions was being reported as a
      negativenumber

    * 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
      andsetting outside regions in start and end blocks.

    * genome_hr.c: Added code for performing trimming. Using macros for clearing
      andsetting outside regions in start and end blocks.

    * stage1hr.c: Added trimming of splice ends to avoid extending into region
      of manymismatches. Saving all splice ends that have sufficient sequence
      andprobability 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.
      Fixedcases 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
      alignmentinformation and pair information. Standardized output
      routines.Three categories for paired-end reads: concordant, samechr,
      andunpaired.

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-dimensionalmatrix 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.
      Stoppingwarning 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 inreverse direction. Noting conflicts when either endpoint is close
      toan endpoint on the other.

2010-01-31  twu

    * splicegene.c: Completely new rewrite based on pairinggene.c. Attempt to
      assigngenebounds 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 areintron-like. Also adding splice edges to the original list.
      Spliceswill 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 andintron flats.

    * geneeval.c: Initial import into CVS

    * pairinggene.c: Improved algorithm for detecting intergenic regions. For
      flats, wecan use a loose criterion without a level threshold, because of
      theordering constraint. We are using both edges from flats and fromgsnap
      splices. We added a procedure for distinguishing betweenintergenic regions
      and long exons based on the counts_tally.

2010-01-24  twu

    * pairinggene.c: Using iblocks instead of nblocks to control exon segments,
      soessentially 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
      fromGSNAP.

    * pairinggene.c: Eliminated concept of an eblock (or exon block). Trying all
      introncombinations, since intergenic blocks are sufficient to contain
      thesearch 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
      lengthrequirement. 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 variousblocks and building the graph in stages

    * tally.c: Added functions for the median and for adding a runlength to
      anexisting 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, causingthe 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 longflat 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 usingmean 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 tofind UTRs.

2010-01-22  twu

    * pairinggene.c: Using intron level minus exon level to determine edges with
      greatersensitivity. Implemented scores as double, rather than int,
      althoughcurrently using mincount and maxcount.

    * pairinggene.c: Changed from onepath dynamic programming to multiple paths
      withterminals. 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 ofsplice 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 ofsplice site probabilities based on alignment support.

    * stage3hr.c, stage3hr.h: Added code for using a geneprob IIT file to assist
      in finding splicesites

    * gsnap.c: Added a -g flag for using a geneprob IIT file to assist in
      findingsplice 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
      determineintragenic 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.
      Changedparameters.

    * 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 extrainformation 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,
      wherelevel changes are ignored.

    * splicegene.c: Using a gap test on pairing IITs to determine whether to
      link donor toprevious acceptor.

    * spliceeval.c: Now computing statistics based on edge finding using Poisson
      model andnumber 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
      edgedetection. Simplified state model.

    * tally.c, tally.h: Implemented an exon test and a scanning solution for
      pairinginformation.

    * 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.
      Addedprocedures for OUTPUT_BIGENDIAN. Fixed compiler warning messagesabout
      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
      requirementfor 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
      towork.

    * 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
      unusedvariables.

    * 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 andpairing information in emissions.
      Providing separate traininginformation 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. Madefiltering of paired hits by score and duplicates
      consistent withfiltering 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
      intronminimum 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
      printingsplice 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
      deletionindels were mixed up with colordiffs. Fixed bug where
      splicejunctions were evaluated past beginning of genome.

2009-09-22  twu

    * tallyhmm.c: Uses hints from splices iit and altexons iit files. Added
      medianfiltering.

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
      force1-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
      eachacceptor.

    * 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.
      Attemptedto add a SINGLE exon state and allow transitions from NON to
      SINGLEeven when no edges were present.

    * gsnap_tally.c: Had program determine own trimming based on scoring matches
      andmismatches 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
      donorsite. 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 makinga mixture of transition tables. Wrote down transition
      tableexplicitly.

    * tallyhmm.c: Added smoothing to estimation of lambdas. Added routines for
      printinggenes.

    * tallyhmm.c: Consolidated separate fivefwd, fiverev, threefwd, and threerev
      sitesback into up and down sites.

    * tallyhmm.c: Working version of Viterbi algorithm, but still need output
      ofsegments.

2009-09-17  twu

    * tallyhmm.c: Initial import into CVS

    * segue.c: Attempt to use objective function based on sum of counts,
      relative tothreshold.

    * segue.c: Reduced states to be much simpler, where only one strand can be
      codingat a time.

    * segue.c: Added functions for printing genes by exons.

    * segue.c: Fixed lookback lengths between sites. Added flag for
      specifyingknownsites iit.

2009-09-16  twu

    * segue.c: Optimizing using mean square error. Simplified code for
      traversinggraph.

    * segue.c: Fixed bug with computing cumulative gammln. Version works on
      testdata 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
      endbounds for finding gene ends.

    * exonscan.c: Using both edge algorithms, stepfunction and linear fit.
      Madedifferent objects for Edge_T and Diff_T. Using goodness-of-fitinstead
      of xintercept for finding gene ends.

    * exonscan.c: No longer using bootstrap method, but relying on testing of
      sitesusing goodness of fit. Evaluating missing edges for both ups anddowns
      based only on greedy splice sites, and then performing bothtesting 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
      findingof ends into scanning, using x-intercepts. Always finding ends
      whenan edge with a splice lacks a match.

2009-09-13  twu

    * exonscan.c: Implemented two-phase method on stepfunction results, first
      pickingsteps with highest probabilities, and then bootstrapping
      neighboringsteps.

    * exonscan.c: Allowed best prob again for stepfunction results. Fixed bug in
      codein scanning procedure. Distinguishing between donor and acceptortypes
      for matching edges.

    * exonscan.c: Large numbers of changes. Implemented scanning method, testing
      atpositions with good splice site scores, for finding other ends.
      Usingadjacency information to decide whether to scan. Implemented
      testingprocedures for ends. Removed unused code.

    * exonscan.c: Implemented a Gibbs sampling method to speed up identification
      ofchangepoint, but reverted back to testing goodness of fit
      exhaustivelyover a limited range.

    * exonscan.c: Implemented a strategy of finding edges only for those that
      appear tobe missing. Using changepoint to find those edges, with
      maximizinggoodness 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
      ofsplicepairs.

    * segue.c: Implemented scoring of exons using log likelihood.
      Implementeddynamic programming and printing of paths.

    * exonscan.c: Added splice sites based on analyzing local data, using
      methodologyfrom 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
      adynamic programming method.

    * exonscan.c: Initial import into CVS

2009-09-09  twu

    * splicescan.c: Added options for separate output files, training mode only,
      andrandom 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
      notfound.

    * gmap.c: Added minor oligoindices

    * changepoint.c: Added comment

    * stage3hr.c, stage3hr.h: Introduced faster pair-up procedure. Sorting
      paired-end solutions byscore.

    * stage1hr.h: For paired-end alignment, returning single-end hits.

    * stage1hr.c: Fixes to paired-end alignment: (1) stopping when excessive
      splicinghits or paired hits found, (2) using new pair_up procedure, (3)
      fixedpairing 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
      shoulduse 8-byte quantities.

    * iit_get.c: Added flag to explicitly indicate coordinate is a label. Added
      flagto print all zeroes in tally mode.

2009-08-29  twu

    * stage3hr.c, stage3hr.h: Taking a splicing penalty for all splices. Added
      code for markingdibase 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 labelpointers 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 bydibase 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
      skippingdashes, 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, ifuser 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-endbehavior.

    * stage1hr.c: Fixed problem where pair_up function was creating circular
      loops bycalling 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 pastcoordinate 0U.

2009-08-14  twu

    * stage3hr.c: Revised paired-end output to show npaths and indication of
      paired orunpaired.

    * 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 *.
      Fixedcompiler 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,
      anditerates. When edges cross in changepoint step, now chopping
      shortestend.

    * stage2.c: Allowing rightward and leftward shifts in finding shifted
      canonicalintrons. Fixed bug in scoring for reverse introns. Adjusted
      scoringfor 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
      indistal/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
      printfull 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
      knownsplice 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
      thatmedians ascend or descend. Adjusting scores for overlaps
      betweensegments.

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.
      Increaseddistantsplicing penalty from 1 to 2.

2009-06-29  twu

    * stage1hr.c: For novel splice sites in local splicing, requiring
      canonicaldinucleotides plus sufficient probability score in either donor
      oracceptor. 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
      splicesites.

2009-06-28  twu

    * stage1hr.c: Consolidated finding of splice pairs using known or novel
      splicesites. Making a single call to retrieve genomic segment for
      localsplicing.

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
      indelgap length.

2009-06-25  twu

    * stage1hr.h: Implemented paired-end alignment

    * stage1hr.c: Implemented paired-end alignment. Fixed computation of floors
      formiddle indels. Fixed computation of find_segments_all for
      novelsplicing.

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
      aroundintrons.

    * 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.
      Reportinghalf 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
      SNPgenome 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
      nowconsidering just canonical introns and indels. Added a final call
      toassign_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
      lowjand 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_searchfor all splice types.

2009-06-03  twu

    * stage1hr.c: Revised dual_search procedure to handle overlapping
      splicesites andpositions 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 toprune known splice ends.

2009-06-01  twu

    * stage3hr.c: Removed genomiclength from Stage3_T object. Using chrnum of 0
      toindicate 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
      assignmentsof 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 toStage3_T object. Made removal of duplicate splice ends
      faster.

    * stage1hr.c: Eliminating splice ends where splice position occurs too close
      to thebeginning. Fixed triage to treat novel splicing and known
      splicingequally, and to give preferences to substitutions over indels
      oversplicing 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
      indual_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
      tominspliceprob.

    * 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. Usingfirstbound and lastbound for half introns. Added
      provisions for astretch 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
      pooror 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 ofmethylation 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
      theends. 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 3nucleotides. 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
      tostage 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 markomitted, which omits repetitive oligos except at the
      ends, except forpoly-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 ofGenome_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.
      Mademaxchimerapaths 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
      allocationof polyat outside of 0..query_lastpos.

2009-05-10  twu

    * stage1hr.c: Fixed bug in turning off end indels. Implemented faster method
      forcomputing 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
      repetitiveoligos. Increased speed of computing nmismatches_long in end
      indels.

    * genome_hr.c, genome_hr.h: Modified Genome_mismatches_left and
      Genome_mismatches_right to takepos5 and pos3 as arguments.

    * stage1hr.c: Fixed floor formulas again. Generalized idea of polyat to mean
      allrepetitive oligos. For middle indels, computing middle floorexplicitly
      when polyat oligos are present. For end indels, computingfirstbound and
      lastbound to handle cases with polyat oligos at theends. Reordered
      compute_end_indels to starting computing from 1deletion.

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
      middleindels, (2) Created Floors_T object to precompute floors and
      handlepolyat oligomers. Fixed computation of end indels, now can
      handlemismatches. Fixed bug in computing max_indel_sep. Added code
      forpossible 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
      indelalignments.

    * 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 frombeing a compoundpos. Turned off tournament tree, since it was
      causinga 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 agiven genomic region. Added function for counting number of
      optimalhits.

    * stage1hr.c: Removed code for REFINE_MISSES. Added back missing statement
      settingduplicates_possible_p.

    * gsnap.c: Removed minlevel and maxlevel and replaced with suboptimal
      mismatches.Made sort always happen. Changed flag name from invertp
      tocircular-output.

    * stage1hr.c, stage3hr.c, stage3hr.h: Using score in sorting procedure.
      Added provision for minlevel inStage3_optimal_score.

    * stage1hr.c, stage1hr.h: Refined miss_querypos5 and miss_querypos3
      boundaries. Implementedtriage for minlevel_mismatches and
      maxlevel_mismatches instead ofminlevel 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 thespanningset.

    * stage1hr.c: Removed all recursion from identify_multimiss_iter. Added
      feature tomodify spanningset list and update a counter when a spanningelt
      isempty. 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, butseems 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 fromthe 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,
      whichhandles 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 IITformat.

    * stage3hr.c: Loosened criteria for duplicate hits that was eliminating
      overlappingmatches 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 withouthaving 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
      beingpossible.

    * 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 andconverting to bigendian when needed.

    * stage1hr.c, stage1hr.h: Not using sentinels. For exact and sub:1, always
      reading in place andconverting 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 improveends 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 longersequences) or a percentage difference (for shorter
      ones). Forextending sequences, using querylength for adequate support or
      shortsupport.

    * 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 listswith sentinels when necessary.

    * stage1.c: Implemented limit on number of gregions before finding unique
      ones, toprune 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
      exactmatches.

    * 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
      onsentinel 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,
      onlybinomial 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 canthen 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 orfiles 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
      bigendianmachines.

    * 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 SGIcompiler.

    * 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. Fixedbug 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 antisensecDNAs.

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 onchrpos, 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
      andeliminating them.

2009-02-05  twu

    * stage3hr.c, stage3hr.h: Distinguishing between splice objects that require
      copying ofsubstrings and those that do not.

    * stage1hr.c: Incorporated splice site probabilities into finding splice
      sites bydistance.

    * 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 andprinting 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 atSNPs. 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
      minusbatches are all empty. Added flexibility to floor_xfirst
      andfloor_xlast to allow for indels adjacent to end 12-mers.
      Changedcondition endpoint for indels at ends. Using genome_hr procedure
      tocount mismatches for indels. Finding all shortdistance splices withknown
      splice sites first, before finding novel splice sites.

    * snpindex.c: Writing revised version of genome. Skipping cases where snp
      type isinconsistent with reference genome. Taking snps_iit as a
      command-lineargument.

    * 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 nowsubtracting number of leading zeroes. Using clz_table instead
      oflog_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 onlyversions.

    * 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.
      Testingfor both new names and old names of reference offsets and
      positionsfiles. Made flag for splicing refer to novel splicing.

    * gmap.c: Made batch loading the default for multiple input sequences.
      Testingfor both new names and old names of reference offsets and
      positionsfiles.

    * 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. Allowingidentification 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 reachedmax_mismatches.

    * stage1hr.c: Implemented tolerance and reporting of snp differences for
      novelsplice sites.

2009-01-28  twu

    * stage3hr.c, stage3hr.h: Added ability to print number of SNP differences
      separately. Thiefeature not yet implemented for indels though.

    * stage1hr.c, stage1hr.h: Added ability to tolerate known SNPs and count
      differences at thosesites separately. Thie feature not yet implemented for
      novel splicesthough.

    * 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 thosesites 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
      middleand 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
      --helpoutput. 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-readto 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 allavailable 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 forchromosomal 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. Addedclean 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 ofdivints.

    * iit-read.c: Fixed IIT_debug. Added procedures to search based on divint
      and toget 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
      tocontigtypelist. 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
      andlength.

    * 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 beginningof 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 notchecking 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.
      Returningmin_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
      positionsfor exact and onemiss matches.

    * stage1hr.c: Version of stage 1 with hooks for disallowing compoundpos
      positionsthat hang over ends. However, this appears to add 40% to number
      ofinstructions.

    * stage1hr.c: Setting pointers->compoundpos to NULL after it becomes empty,
      toprevent further computation on it.

    * indexdb_hr.c, indexdb_hr.h: Added function Compoundpos_intersect

    * stage1hr.c: Eliminated compoundpos positions in creating segments from
      multiplemismatches. Delayed sorting of segments until needed for
      middleinsertions and deletions. Setting floor to zero in cases
      wherepoly-AT is present. For end indels, computing oligomer_start
      andoligomer_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
      listfor find_segments_multiple_mm to prepare for finding hits within
      thatprocedure.

    * 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
      ineither forward or reverse direction, and picking the optimaldirection.

    * stage1hr.c: Allowing compoundpos positions to be used for boosting, by
      mergingthem during search for exact matches.

    * stage1.c: Fixed a bug where the querypos of sentinel was set incorrectly.
      Nowusing querylength, not -1. Added a check to prevent gregions
      withnegative values for genomicstart.

    * indexdb_hr.c, indexdb_hr.h: Removed partner_diagonals from Compoundpos_T
      object and removed reducefunction.

    * stage1hr.c: Fixed potential problem with sentinel. The querypos part of
      sentinelnow 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 inexact 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 oneloopversion of Genome_count_mismatches.

    * gsnap.c: Removed chrsubset feature

    * stage3hr.c, stage3hr.h: Clarified that Substring_new_donor and
      Substring_new_acceptor shouldreceive 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
      ofqueryseq with queryuc_ptr and queryrc. Introduced query_lastpos
      toreplace multiple calculations of (querylength - INDEX1PART).
      RemovedChrsubset_T object.

2008-12-14  twu

    * stage1hr.c: Fixed onemiss algorithm so it handles short reads less
      than2*INDEX1PART in length. Changed occurrences of oligobase toINDEX1PART.
      Removed oligobase and querylength from Stage1_T object.

    * genome_hr.c, genome_hr.h: Made Genome_count_mismatches more efficient, by
      using pointers andstepping through query and genome blocks sequentially.

2008-12-13  twu

    * stage1hr.c: Implemented new method for identifying single mismatches,
      similar tothat 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 rightshift.

    * indexdb.c, indexdb.h: Changed some function names. Added function to
      determine if inplacereading is possible. Added parameter to require
      sampling of 3 in indexdb.

    * gmap.c: Using revised interface to indexdb.c. Added check and message
      forsequences 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,
      byadding 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
      endindels at beginning or end of the sequence.

    * gsnap.c: Added information about whether inplace reading of indexdb
      ispossible. 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
      singlelist of plus segments and of minus segments, with floor
      informationstored 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 inheap merge.

    * stage1hr.c: Replaced calls to List_head, List_next, Intlist_head, and
      Intlist_nextwith 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
      unusedcode.

    * genome.c: Fixed check for chromosome bounds

    * genome_hr.c, genome_hr.h: Removed checks for crossing of chromosome
      boundaries. Relying uponcalling 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 achromosome bound.

2008-12-05  twu

    * stage1hr.c: On end indels, checking to see if indel_pos is non-positive.
      Passingchromosome_iit to Genome_mismatches_left and
      Genome_mismatches_right.

    * gsnap.c: Added statement at end of batch processing to indicate number
      ofqueries processed.

2008-12-03  twu

    * subseq.c: Added U and l flags

    * stage1hr.c: For middle indels, putting indel at leftmost genomic position.
      Fixedfiltering criteria for end indels. Counting mismatches and left
      andright 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.
      Stoppedtrimming 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
      fillmismatch_positions entries 0..max_mismatches.

    * stage1hr.c: Implemented new algorithms for middle insertions and
      deletions, usingGenome_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, butswapping queryseq1 and queryseq2.

    * stage1hr.h: Placed local exon-exon mappings after multiple substitutions
      andindels 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.
      Fixedproblems 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 insolving middle indels. Removed scores from
      compute_end_indels. Notresetting min_mismatches after single_mm, because
      of effect of poly_atoligos.

    * gsnap.c, stage1hr.h: Allowing separate parameters for middle and end
      insertions anddeletions.

    * stage3hr.c: Added check and warning messages if observed mismatches is
      differentfrom the number expected

    * stage1hr.c: Introduced floor system for computing indels. Defined
      calculation ofmiddle and end indels more clearly, with separate parameters
      for middleand 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
      haveone or more substrings.

    * stage3hr.c: Implemented new structure for Stage3 objects: single reads may
      haveone or more substrings. Modified print procedure for indels to
      allowfor mismatches.

    * stage1hr.h: Removed chimerap variable since Stage3 single reads are all of
      thesame type now.

    * stage1hr.c: Fixed polyat assessment at ends of query. Storing first and
      lastdiagonals and computing mismatches on both. Changed ptr->indels to
      beconsistently 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 differentalignment types.

2008-11-04  twu

    * stage1hr.h: Made max_insertions and max_deletions parameters. Added
      minlevel andmaxlevel.

    * 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 andmaxlevel.

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
      allowingoption in scan_ends of iterating on different matchsizes. In
      removalof repeated oligomers, now also removing neighboring oligomers.
      Nowfiltering 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
      exonsuntil 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 happenswith the jobdiv option when the input has fewer sequences
      than thefirst batch modulus.

2008-09-26  twu

    * iit_get.c: Allowing retrieval of labels that contain colons, by checking
      first tosee 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
      andmedial, with distal penalized for non-canonical introns. Then, wesimply
      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 ofresolution.

    * 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
      nowresolved in favor of the gregion with the greatest weight, or ifequal,
      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 aparameter 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
      regionswith most specificity.

2008-09-19  twu

    * stage1.c: Added penalty for intron length in find_best_path to
      reduceexcessively large regions. If segments are used, then
      clearinggregions and starting over.

2008-09-16  twu

    * stage1hr.c: Fixed bug with false positives on middle indel. Fixed bug
      withcombinations 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.
      Allowinguser to specify direction of introns.

    * stage2.c: Giving points for indexsize-equivalent number of matches if it
      startsa new chain.

    * stage1hr.c: Fixed problem with insertions in first 12-mer. Now treating as
      amismatch, 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
      negativecoordinates 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
      ishigh. 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 multipleoligoindices. Using a separate lookback for each resolution.

    * stage2.c, stage2.h: Implemented different mapping resolutions by using
      multipleoligoindices.

2008-09-04  twu

    * configure.ac: Added check for stat64

    * acinclude.m4: Including config/acx_mmap_fixed.m4,
      config/acx_mmap_variable.m4, andconfig/struct-stat64.m4.

    * VERSION: Updated version

    * README: Augmented instructions for new gmap_setup flags and made mention
      ofGSNAP.

    * 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
      convertingoligomers 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 codefor multiple oligoindices

    * oligoindex.c: Reverted to revision 1.108, plus most recent wobble masking
      andcode 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, convertedto 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 variousvariables to Oligoindex_T struct. Rearranged
      procedures inpreparation 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.
      Addedhooks for relying upon splice site scores. Made conversion
      tonucleotides handle arbitrary masks. Added penalty for diffdistancenot a
      multiple of 3. Added a version of stage 2 that can be calledfrom within
      stage 3.

    * stage1hr.c: Exiting if a single polyat 12-mer found, to prevent false
      indels frombeing found in find_segments_multiple_mm.

    * oligoindex.h: Computing active hits around each diagonal, instead of
      minactive andmaxactive bounds.

    * oligoindex.c: Added wobble masking. Computing dominance by using scores,
      based onnumber 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_Tobjects.

2008-08-10  twu

    * gmap.c: Made changes to debug requests from stage3

    * stage3.c: Rearranging steps to improve cross-species performance. Work
      still inprogress.

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
      availabledatabases

    * 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
      index1intervalinto 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 codecontains 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, halfintrons, sub:2, sub:3, sub:4, indels, distant splicing.
      Increasedspeed for computing splice ends. Limiting nmismatches for each
      spliceend, 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, andexon-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 andright 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 hitsthat 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
      coordinatesexceed 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
      forhigh-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.
      Computingseparate 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-boundsconditions.

    * 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
      singleheader. 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
      insorting 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 callsof scrambled exons.

    * stage1hr.c: Major efficiency improvements in heapify and other heap
      functions formerging diagonals

    * indexdb_hr.c: Major efficiency improvements in heapify and other heap
      functions formerging batches

    * stage1hr.c: Changed filtering methodology for exon-exon junctions

    * indexdb_hr.c: Using pointers to memory-mapped positions file, and
      addingshift-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 andannotations. 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 structuralvariations 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
      informationabout 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
      ordominated paired end solutions.

    * dynprog.c: Reduced mismatch penalty for low quality sequences.
      Equalizingextension 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 whenStage3_T objects are computed. Using chrnum to determine
      whether twopaired ends are connectable.

    * stage1hr.c: Using scores to determine whether indel beats substitution.
      Addedcode for finding half introns. Now storing chrnum when
      Stage3_Tobjects are computed.

    * indexdb_hr.c: Added code, not currently used, for using doubles to find
      longeroligomers.

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
      variousparts 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
      centerannotations 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 mappingof labels and intervals and their pointers (in
      addition toannotations). Moved IIT_print procedures back to this file.

    * gsnap.c: Providing flag for user to specify consecutive matches, to
      controlspeed

    * 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 forplus and minus strands, use of threshold_noligomers and
      auser-specified threshold_score for finding segments for
      multiplemismatches.

    * 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
      dynamicprogramming 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_hrfunctions 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.
      SeparatedGSNAP-specific procedures to a separate file. Using "id<number>"
      asfile 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
      parametersfor GMAP calls to Block_T procedures.

2008-03-04  twu

    * stage1hr.c: Implemented recursive method for finding exact matches. Binary
      searchnot 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 stringas 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
      incorrectrelative 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
      toIIT_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 bothversions 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
      offfinding of exon-exon solutions.

    * genome.c, genome.h: Made Genome_fill_buffer return a false value if it
      goes into negativegenome coordinates.

    * stage1hr.c: Skipping cases that result in negative genomic coordinates.
      Skippingcases 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 andplus/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 directionor 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
      forpaired 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 pairedend results

    * sequence.c, sequence.h: Implemented procedure for reading short reads,
      either single or pairedends.

    * 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-T12-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. Generalizedseparator 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 bugin 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
      withGregion_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
      onoperating 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
      aninclusive 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 repetitivesequence.

    * 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
      shorterthan 36, using initial testing of 3 12-mers.

2007-12-02  twu

    * stage1hr.c: Fixed bugs in computation and printing of middle indels. Fixed
      bugwhen best_querypos (in terms of npositions) was -1.

2007-12-01  twu

    * stage1hr.c: Added strategy of using most specific oligomer to drive search
      forexact 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, andfilling 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
      exactmatches. Fixed a bug in find_segments in handling the last diagonal.

    * stage1hr.c: Changed output format to show substitutions, insertions,
      anddeletions. 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 inreporting 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 adjacentnucleotides, 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
      tolast_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 positionsaccording 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-resolutionversion 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, addedcode 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 forthe 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 sortingof 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
      greaterthan can be handled by int). Added check to make sure stringlen
      isnon-zero.

    * iit-read.c: Made stringlen of type off_t (to handle annotations of length
      greaterthan 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 tothe minimum of length1 and length2.

2007-09-11  twu

    * dynprog.c: Fixed problem where Dynprog_dual_break was exiting
      unnecessarily; needto 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
      exceedpreviously because of implicit stop codon added at end of
      querysequence).

    * 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
      particulardirection or tag

    * stage1.c: Performing filtering based on clustersize only if too many
      entries andat 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. Eliminatedan 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
      canonicaldinucleotides, 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
      canonicaldinucleotides. 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, bycontinuing 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 bothdoubles 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, ratherthan 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 3calculations.

    * dynprog.c: Returning NULL on all failures, without gapholders (which are
      nowinserted 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. Notusing annotation anymore
      to represent sign. Added functionIIT_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
      peeledpairs 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
      dynamicprogramming for lower-case input sequences.

    * stage3.c: Added procedures for cleaning non-matches at ends of alignment,
      whichare 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
      fromthe 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
      abortchecks.

    * 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
      forcomputing 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
      dualbreaks. 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 coveredby relatively few diagonals).

    * matchpair.c: Added debugging statements

2007-04-06  twu

    * stage2.c: Added restriction on distance for grand lookback. Added check
      onnactive 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
      moreefficiently.

    * 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
      printingrevcomp diagonals. Added code for computing different types
      ofpatterns.

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, forgdiag.

2007-02-20  twu

    * gdiag.c: Added ability to use map iit files. Skipping over masked regions
      indetermining lookback.

    * gdiag.c: Fixed bug in retrieving last part of sequence from gmapdb.
      Providingflag 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
      adiagonal. Made separate procedures for updating forward and
      revcompdiagonals.

    * 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
      thesame program.

    * iit-write.c: Added procedure IIT_new to allow creation and use of iit in
      thesame 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
      ratherstoring results of previous 12-mers

    * gdiag.c: Added calculation of diagonals, ability to read query from
      gmapdb, andstorage 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).
      Usingboth maxnconsecutive and pct_coverage to decide whether to
      continuewith 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 onlyif 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
      betweenuniversal map files and chromosomal map files, and
      incorrectlychecking 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
      inpre-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 forcomputing maxconsecutive.

    * oligoindex.h, stage2.c: Changed name of variable

    * oligoindex.c: Eliminated convex hull algorithm and implemented method
      based onordering of diagonals.

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

    * oligoindex.c: Implemented a convex hull algorithm to determine minactive
      andmaxactive 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/lastqueryposor 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 todetermine 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 todynamic programming

    * oligoindex.c: Reduced requirement for nconsecutive in scanning diagonals.
      Keepingcumulative track of highest and lowest diagonals. Added
      extra_boundsto 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 atminindexsize and filtering those
      hits according to a local search.Initial search is based on maxindexsize.
      Uncovered ends of thealignment receive a looser local search criterion.
      Increased stage 2lookback 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.
      Addedoutput line for trimmed coverage. Added trim information incompressed
      (-Z) output. Adjusting output of trim boundaries based onalignment.

    * stage3.c: Computing coverage and now trimmed coverage at print time.
      Increasedparameter 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
      solutionwith 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
      forcanonical intron.

2007-01-05  twu

    * pair.c: Fixed dinucleotide output in compressed (-Z) format when
      user-providedgenomic segment has lower-case characters.

2007-01-04  twu

    * stage2.c: Reduced value of EQUAL_DISTANCE, to favor better local alignment
      overlonger 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 strictmode

    * 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 cDNAside, but not both. Added concept of fixeddestp, which is not
      truefor 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 bothsides

    * gmap.c, pair.c, pair.h, sequence.c, sequence.h, stage3.c: For PMAP, adding
      an implicit stop codon at end of sequence if notalready present, and
      distinguishing between computational fulllengthand 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
      turnedon by -Y flag

    * stage3.c: Providing pound signs in dual breaks in diagnostic output.
      Replacingbacktranslation characters with 'N' in PMAP output. Removed
      microexonsearch from PMAP. Using single gap procedure instead
      offix_pmap_holes procedure for PMAP.

    * pair.c: Counting ambiguous characters as matches in all instances of
      computingpercent identity

    * indexdb.h: Added variables for 5-aa mers

    * dynprog.c: Limiting bandwidth in single gap alignment to be dependent
      ondifferences 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 asgenomic translation.

    * stage3.c: Removed step of merging adjacent dynamic programming. Using
      twodifferent smoothing steps. Protected small introns from being solvedas
      single gaps in final intron pass.

    * smooth.c, smooth.h: Created two separate smoothing procedures, one based
      on net gap, andone 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
      fordivision 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) forPMAP

    * match.c: Fixed printing of sequences in debugging statements

2006-12-05  twu

    * stage3.c: Fixed miscount problem with filling in short introns.
      IncreasedMININTRONLEN_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
      intronsfor 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 7to 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
      forextensions

    * 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
      genomiclength

    * 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. Integratedprocedures 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
      forextending genomic region based on 12-mers.

    * stage3.c: Allowed arbitrarily long incursion into previous dynprog
      duringpeelback.

    * stage2.c: Separated fwd_consecutive and rev_consecutive. Made values
      consistentregardless 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 toend of oligomer for reverse strand matches.

    * indexdb.c: Made idxpositions file point to end of oligomer for reverse
      strandmatches. 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 givenamino acid.

    * translation.c, translation.h: Made get_codon an extern procedure

    * stage3.c: Added procedure for fixing alignment holes in PMAP. Applying
      higherstandard 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
      anotherround of extensions at ends after trimming of bad exons.
      Restoredcorrection 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
      maxconsecutiveinstead of last one.

2006-11-16  twu

    * stage3.c: Using uppercase string, with U-to-T conversion, to identify
      mismatchesin 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()
      nolonger converts characters to uppercase.

    * dynprog.c: Made U and T a matching pair. Commented out old code dealing
      withlowercase characters.

    * complement.h: Added strings for uppercase of complement, and for U-to-T
      conversionduring 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
      gapregions.

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 agap if one is found during peeling, and performing microexon
      searchmedial 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
      indefinition of bad end exons. Finding bad end exons after 5' and
      3'extensions. Fixed declaration of sense/antisense when no canonical
      orsemicanonical introns are present. Removing end introns duringpeelback
      before 5' and 3' extensions. Removed unused code fortrimming 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 dualintron cycles.

    * smooth.c: Relaxing requirements for short exons at ends, because of
      latertrimming 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
      maystill need it. Increasing standards for defining a sequence to
      berepetitive. 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
      maystill 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
      blackboardvariable 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
      acidalphabet 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
      outputcounter. This is to be cautious, since only input thread and
      outputthread, 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
      caseswhere 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
      asquery 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
      nucleotideindexsize. 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.
      Providedcompile-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
      morerobust.

    * 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-safeexception 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
      forceprequirement for single gaps. Recognizing cases where prior genome
      orcDNA 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 andchecking 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 sumof 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
      toshow 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
      toexceptions with diagnostic flag. Removed references to badoligos.

    * indexdb.c: Added necessary header file. Fixed compiler warning about
      mismatchedvariable 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
      todetermine whether to proceed with stage 2.

    * stage3.c: Added diagnostic information about stage 2 maxconsecutive.
      Fixedprocedure for removing adjacent dynamic programming to remove
      allgaps, 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
      -pflag 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
      tocoordinate errors

    * gmap.c: Changed thread-based exception handling to kill all other threads
      andto 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
      casewhere 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
      intronlengths.

    * oligoindex.c: Restored pruning of sequences with bad oligos.

    * gmap.c: Added handlers to convert signals into exceptions, to indicate
      theproblematic 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
      2information to prune bad alignments before stage 3.

    * stage3.c: Provide stage 2 information in diagnostic output. Allow a single
      openin 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
      fordiffdistance 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
      indelsin 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
      behaviorchecked against revision 1.157. Making stage2 information
      availablefor 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
      forPMAP. Reduced penalties for extending gaps. Added separate rewardsfor
      final pass of finding canonical introns. Added dynprogindexinformation.

    * smooth.c: Systematically checking ends for smoothing. Using matches
      instead oflengths to evaluate exons. Added probabilistic checking for
      markingmiddle exons.

    * stage3.h: Passing stage2p as a parameter to Stage3_compute.

    * stage3.c: Major changes to algorithm. Added iteration through smoothing,
      dualintron, and single intron passes. Checking peel back to determine
      ifcanonical intron needs to be recomputed. Added final pass to findintrons
      with higher reward. Added dynprogindex information. Usingdynprogindex
      information in peeling leftward and rightward.

    * stage1.c: New criterion for setting usep to false, namely, if support is
      lessthan 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
      indiagnostic and debugging output.

    * stage2.c: Reverted to algorithm from revision 1.157. Using diffdistance
      insteadof gendistance. Making sufflookback depend on mapfraction.

2006-09-29  twu

    * stage2.c: Changes made to scoring algorithm, but not well-motivated. Fixed
      bugsin predicting cDNA direction.

2006-09-19  twu

    * stage3.c: Fixed bug when recomputing over adjacent dynamic programming
      regionsat end of sequence

    * stage2.c: Revised rules for giving credit for query distance, giving none
      ifdifference in distance is greater than min intron length.

    * stage1.c: Doubling genomic region with each iteration, until sufficient
      supportfound 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
      mismatchpenalties

    * Makefile.am: Provided target machine during compilation

2006-09-11  twu

    * gmap.c: Included build target in version output. Increased oligomer size
      inPMAP 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
      alignmentpairs 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
      callsto Pairpool_push. Added dynprogindex information. Recomputingregions
      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. Addeddynprogindex 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 namefrom 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-speciesalignment (to avoid random and misleading matches)

    * stage2.h: Using maxoligohits parameter

    * stage2.c: For cross-species alignment, increasing enough_consecutive
      parameterand 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 byENST0356222. Introduced procedure for querydist_credit,
      bounded belowby zero. Decreated querydist points when gendistance
      equalsquerydistance; 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
      genomejumpequals queryjump; motivated by ENST0341339. Made
      acceptablemismatches 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
      semicanonicaldinucleotides

    * dynprog.c, dynprog.h: Made microexon p-value threshold depend on the
      defect rate. Increasedgenomejump needed for single gap penalties to apply.
      Motivated byENST0262608.

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 3result 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 querysequence

    * 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
      extensionpenalty to obtain better behavior.

    * stage2.c: Changed position for starting to compute mismatch gaps.
      Addedtrimming at ends for PMAP.

    * stage1.c: Improved calculation of genome segment length, based on expected
      exonand intron sizes. In sampling mode, continuing sampling at
      currentposition 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 theyget 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 indual 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
      someinterfaces 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
      salvagealgorithm 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 abortingif
      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, inaddition to strand-tagged IIT
      map files.

    * iit-read.c, iit-read.h: Added functions for retrieving multiple types and
      for getting labelwhen 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.
      Usingfeature 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 makesense 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
      numbersabove 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
      beshifted. Cleaned up counts of canonical and total introns.

    * stage3.c: Fixed problems with shortcut for existing introns and with
      coordinatesfor dual genome pairs

    * oligoindex.c: Added debugging statement

    * stage2.c: Reworking of stage 2 scoring to make it more robust for
      low-identitysequences. Includes identification of possible canonical sites
      byshifting 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 hitsbefore 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 parsedand 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
      reversestrand 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
      forspecifying 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, soit can use single gap penalties for long intron gaps. Made
      changesfor 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
      lengthof approximately zero.

    * dynprog.c, dynprog.h: Disallowing intron or cDNA gaps to be placed at the
      edge of thesegment, 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 arebeyond 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
      thesubsequence, which results in an unexpected gap.

2006-03-06  twu

    * gmap.c: Providing maponlyp information to Sequence_read, to turn
      skiplengthwarning 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 tohandle 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 upmerge function for combining two Stage3_T objects.

    * stage1.c, stage1.h: Cleaned up various procedures in stage 1 computation.
      Simplifiedfunction 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 codefor 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 shifteddown to low 12-mer. This corrects problem with
      match coordinatesbeing 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 informationon single gaps.

    * stage3.c: Forcing single gaps to be solved. Adding cdna_direction
      informationfor single gaps. Fixed problem with short indels being
      insertedbackward.

    * 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
      whennpairs 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 alimit 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,
      includingbug 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 problemin coordinates output where chrstring was NULL.

    * dynprog.c: Increased penalty for gaps in single alignments and made them
      uniformacross sequence quality

    * smooth.c, smooth.h: Rewrite of code to use arrays instead of lists.
      Reduced definition ofshort exon. Now deleting consecutive strings of short
      exons.

    * translation.c: Noting large insertions and deletions of amino acids, even
      if not amultiple 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 forprotein 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
      theresults. 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.
      Setacceptable_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 ofquery sequence

    * smooth.c, smooth.h: Made changes to handle new gap pairs

    * pair.c: No longer assigning coordinates for query sequence and
      genomicsegment within gaps

    * matchpair.c, matchpair.h: Limiting 12-mer hits that are considered in
      clustering method to thosethat have a neighboring hit within the query
      length

    * dynprog.c, dynprog.h: Inserting a single gap pair for introns and cDNA
      insertions instead offilling 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
      nogap. 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. Enhancedusage 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 anarray 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 casecharacters

    * 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
      ifappropriate

    * dynprog.c: Changed ends from 1 gap to no gaps. Changed open/extend
      penalties atends (which may be irrelevant now).

    * matchpool.c, stage1.c: Fixed problems with genomic position in reverse
      complement matches inPMAP.

    * 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 potentiallyconsecutive 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 toNULL.

    * 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 aone-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 avalue 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 bere-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 theway 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 problemwhere 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,
      butsubsequent 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 ordisallow the 'b' or 't' flag

    * VERSION: Updated version

2005-11-22  twu

    * Makefile.am: Removed coords1.test, which is now performed by setup1.test
      andsetup2.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 calculationmultiple 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
      eachmatch

    * 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 ofnpaths 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 forassignment 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, nowbased 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
      genomicmatches

    * 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 printprocedures

    * 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
      backtranslationprocedures. Removed meaning of AMBIGUOUS_COMP for
      compressed outputof 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
      -Cflag 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
      fileis 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
      beforeFASTA 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
      toIIT_annotation.

    * iitdef.h: Made mutex part of IIT_T object. Added offset to IIT_T object
      forFILEIO 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
      pagesduring 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
      asecond sequence to determine whether to start threads and to
      pre-readoffsets file for GMAP. Conditioning some flags based on existence
      ofmmap 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
      headerline.

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
      positionsfile. 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 flagsfor 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
      bebased on amino acids.

    * indexdb.c: Simplified conversion of oligomer to amino acid index for
      PMAP.Removed STOP from amino acid alphabet. Computing each protein
      frameseparately.

    * configure.ac: Added large file support with AC_SYS_LARGEFILE. Removed
      setup testnumber 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 ofcommands 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
      incomp.h. Restored previous intron penalties based on length.

    * pair.c: Parameterized alignment characters and defined them centrally
      incomp.h. Now printing ambiguous nucleotide matches.

    * dynprog.c: Parameterized alignment characters and defined them centrally
      incomp.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 incomp.h

    * gmap.c: Changed batch mode to be of two types: pre-loading of indicesonly,
      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
      positionfiles

    * 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 whichcontigs 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
      uppercase. 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
      andnone 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 casecharacters 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 whenneeded, 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 foroligomer 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
      notaligned. Eliminated computation of reverse intron direction forPMAP.

    * 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
      regionwithout 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 fromthat of stage 1 (with 16)

    * indexdb.c, indexdb.h, oligop.c: Compressing 21 amino acids into 16 to
      allow offsets of amino acid7-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
      genomicsegment

    * 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 formaking 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
      signedint, 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
      fromstdin

    * 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.
      Addedinformation 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
      ininterpreting 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 outputin ascii format.

    * pdldata.c: Now removing line feeds from annotations. If no annotations
      areavailable, 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
      extraroom for showing genes.

2005-08-26  twu

    * genomeplot.c, plotdata.c, plotdata.h: Printing accession header only if
      one sample per page. Reduceddefault 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 PDLinput

    * 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 andprotein 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 forgif 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. Madefunction 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 anincomplete 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 forstarting 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 havestrong 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
      flagfor truncating sequence at full-length protein. Specified -Q flag tobe
      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
      benumber of amino acids. Added debugging statements.

    * reader.c, reader.h: Allowed crossover of start pointer and end pointer so
      that middleoligomers 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.
      Performingprotein 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
      indicesfor 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-threadingand 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
      bufferlength

    * Makefile.am: Fixed handling of non-distributed source code

    * align.test.ok: Changed genomic coordinate to match new computation of
      coordinates ingaps

    * VERSION: Updated version number

2005-07-13  twu

    * dynprog.c: Made genomic positions on left and right ends of gap constant,
      toavoid 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 gapsat 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
      whenchimera 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
      computedgaps, 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, andsimplified computation. These values were probably
      not affectingprevious 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
      ofnworkers.

    * 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
      10million 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 complywith 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
      failuretype. 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 isperformed.

    * 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
      applyingMatchpair_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 forsingle 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 andreverse 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 ofend_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_Tobjects 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_Tobject.

    * 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
      fortruncating full-length sequence.

    * stage3.c, stage3.h: Using function Pairpool_transfer_bounded. Moved
      translate calls up togmap.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 marginfunction 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
      forchimeras, 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,
      andinformation about editing coords.txt.

    * MAINTAINER: Added reminder to modify VERSION.

    * gmap_setup.pl.in: Removed reverse complement procedures here; now being
      done bygmapindex. Allowed specification of a command.

    * fa_coords.pl.in: Introduced chromosome NA for headers that cannot be
      parsed. Allowedspecification of a command. Improved handling of Celera
      genomes.

    * genome.c, indexdb.c: Put mutexes around read procedures for the
      combination ofmulti-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 linesto be in coords.txt.

    * md_coords.pl.in: Improved messages to user.

    * fa_coords.pl.in: Added handling of unmapped contigs for Ensembl genomes.
      Improvedmessages to user. Added check for possible conversions of
      alternatechromosomes 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
      inalternative to chimera. Introduced maxpaths of 0 to indicate outputof
      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 inalternative 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 marginof 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 jumppenalties

    * oligoindex.c, oligoindex.h: Changed memory allocation scheme, by setting
      ALLOCSIZE == MAXHITS.Assigning blocks in ascending order of available
      slots. Computingtrim_start and trim_end. Reporting support for stage 2.

    * gmap.c: Changed calls to Sequence_read(). Using oligomer-based method
      fortrimming 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-basedtrimming 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
      bugwith 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
      modeearlier, if evidence of a second sequence is present.

    * gmap.c: Chopping chimeras at breakpoint, and providing a flag to
      allowoverlaps 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 offmerge_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.
      Terminatingattempt 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
      formaxentries. Both done to improve speed.

    * oligoindex.c, oligoindex.h: Added an explicit step for marking oligos in
      the query, which needs tobe 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
      marginat 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
      computematchscores for chimera detection.

    * stage2.c: Performing Stage 2 from trim start to trim end, instead of
      entiresequence. 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 MD5computation.

    * 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
      environmentvariable 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 andalternate 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 thatexpands 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
      washandled twice.

    * gmapindex.c: Allowed compress and uncompress routines to take a filename
      as anargument. 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.
      Addedexception 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,
      toreduce repeated small memory allocations. Placed a limit on npathsfor
      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, toreduce
      repeated small memory allocations.

    * mem.c: Added debugging statements.

2005-04-18  twu

    * dynprog.c: Added memory allocation routines in cases where problem size
      exceedsmaxlength 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 toreference 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 givenstrain.

    * 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 aflag 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
      someplaces.

    * 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
      determinewhen 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
      avoidterminal sampling, and to redo sampling just before nskip is
      zero.This is done to avoid long computation times with terminal sampling
      onlong 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
      samplinginstead.

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
      allowuser 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 tobottom 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
      featuresto 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 fordebugging 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
      somemachines.

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 tobe 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 totallength.

    * indexdb.h: Allow user to force building of positions file in file.

    * indexdb.c: Conditionally include littleendian.h. Allow user to force
      building ofpositions file in file.

    * genome-write.c: Added explanation of file format.

    * genome.c: Changed type from unsigned int to UINT4. Conditionally
      includelittleendian.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 abilityto 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,
      anddbversion.

    * 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 bedifferent from subdirectory name.

    * pair.c: Removed unnecessary math.h header. Added initialization of donor
      andacceptor arrays.

    * getopt.c: Removed internationalization code.

    * gmap.c: Removed unnecessary math.h header. Changed location of map
      directoryfor 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 sufficientmemory 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
      parsingunmapped 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 genomeexample.

    * 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 frombeginning 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
      threadscompilation 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 aposition 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
      specificstrain 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 agap.

    * mutation.c, mutation.h, translation.c: Fixed cases where a single-position
      mutation was reported next to asegmental 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
      acceptablemismatches 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 andindels. 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 bandfrom 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
      newmaxintronlen depending on current query length. Increased size
      ofextraband_single and extraband_paired.

    * params.c, params.h, stage1.c, stage1.h: Change maxintronlen to be
      maxintronlen_bound, and compute newmaxintronlen depending on current query
      length.

    * dynprog.c: Changed compute_scores_affine to have parameter list compatible
      withcompute_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
      dynamicprogramming because unable to peel forward and peel back.

    * translation.c: Created separate mutation types for substitution,
      insertion, anddeletion. 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 wherefull 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
      andtranslation_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
      microexonsat end; now performed only when extension is poor and sequence
      qualityis 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
      searchfor 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 thechimeras 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
      skippingmultiple 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[lesequences.

    * 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
      increaselookback.

    * 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 bereported during debugging.

2004-06-23  jtang

    * cvswrappers: Added binary extensions

2004-06-20  twu

    * stage2.c: Simplified decision making for mismatch gaps. Increased
      penalties ongendistance 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
      otherchanges 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 anddual 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 intraversing dual genome gap.

2004-06-10  twu

    * stage2.c: Added procedure to determine maximum intron length at a
      givenquerypos, 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 onstrand.

    * 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
      betweendifferent conditions, including deadp. For deadp, now requiring
      thatabs(gendistance - querydistance) or querydistance be less
      thanINTRON_DEFN.

    * smooth.c: Increased threshold on ends to be 20.

    * pair.c: For determining fracidentity (and selecting between forward
      andreverse 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.
      Motivatedby HER4 (NM_005235).

    * gmap.c, snap.c: Increased nullgap from 80 to 600.

    * stage2.c: Modified stage 2 scoring for mismatch alignments. Invoked deadp
      whenfwd or rev score is zero.

2004-06-04  twu

    * translation.c: Further fixed the bug involving uninitialized
      heap(translation_start/translation_end extending beyond
      sequenceboundaries).

    * 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
      beattempted.

    * dynprog.c: Implemented gap penalties that are non-affine, with extensions
      beingthe 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 stage2with 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
      betweenforward 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
      ofmatches 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
      aminoacid 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
      onemismatch.

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
      handlinginversions 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 onnonsense sequences, such as poly-G.

2004-02-23  twu

    * stage3.c: In pass 3, force single gap to be crossed even if finalscore
      isnegative, 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
      defaultchimera_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
      andgenomejump <= 0, which holds true after single gaps are
      filled.Prevented filling in a genome gap when its alignment score
      isnegative.

    * smooth.c, smooth.h: Re-defined criterion for a gap to be when queryjump <=
      0 andgenomejump <= 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
      thebest, 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
      definitiondepend only on genome distance, which now includes single gaps
      thatweren'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
      insingle gap if the score is negative, and to restore peeled pairs inthat
      case.

2004-02-18  twu

    * smooth.c: Fixed memory leak.

    * stage3.c: Fixed bug where program would skip over a pair after gappairs
      wasadded.

2004-02-17  twu

    * stage3.c: Made peel_back and peel_forward end at a non-gap, by
      backtracking frompeeled.

    * 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
      computinggoodness scores.

2004-02-15  twu

    * smooth.c, smooth.h, stage3.c: Giving information about number of short
      exons found in smoothing tostage 3 to help improve speed.

    * stage3.c: Removed occurrences of indexsize. Cleaned up procedure for
      findingmiddle exons in dual intron procedure.

    * smooth.c, smooth.h: Rewrote smoothing procedure to be a cleaner procedure.
      Analyzing bothends 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-merpath. Changed smoothing and stage
      3 accordingly. Made all introndistance 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 andlarge 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
      beenmade iterative.

    * pair.c: Using memcpy commands instead of copying individual fields.
      Addeddiagnostic 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 followingorder: dynamic
      programming on single gaps, then smoothing, thendynamic programming on
      ends and large gaps. Allows dual intronalgorithm 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
      per8-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,
      andinconsistent introns. Increased lengths of short middle exons markedfor
      dual genome gap.

    * stage2.h, stage3.c: Added intron length to goodness score.

    * stage2.c: Implemented two parallel computations in Stage 2 under forward
      andreverse assumptions. Removed firstregion and lastregion
      computationsfrom 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 exonlength 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 modefor 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
      thedynamic 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, toavoid 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
      bestscore for introns, even if negative, and use that if no other
      scoreexceeds 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
      stage2.

    * 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
      thandeleting them. Increased length threshold for short exons, because
      wenow 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 asingle genome gap with two half genome gaps for short
      exons.

    * dynprog.c: Removed special procedure for dual genome gaps. Instead, for
      shortexons, 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
      dynprogprocedures where appropriate. Added preliminary code for dual
      genomegap.

    * dynprog.h, stage3.c: Passing pointers to revsequence and revoffset from
      stage3 to dynprogprocedures 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 gapto insertion.

    * dynprog.c: Convert short non-canonical introns into insertions.

    * dynprog.c: Removed reverse_sequence and creation of reverse sequence. Now
      usinga 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
      theintron, depending on sequence quality.

2004-02-03  twu

    * dynprog.c, dynprog.h: Removed conservative option. Added comments to
      explain rationalebehing 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
      smallgaps 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-gapbeing preferred to two mismatches. Added checks to bridging
      acrossintrons 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
      verticalmoves.

    * 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
      returnafter annotation if necessary. If one numeric argument given, try
      asa 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 lengthsexplicitly. For sequences, can determine actual length
      fromannotation 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 incontig_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 batchfiles.

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 oncoverage rather than percent identity.

    * stage1.c: Sampling exhaustively on short sequences.

    * stage2.c: Removed tiebreaker based on genomic distance. Ignoring
      gendistancepenalty if no better score can be found, which allows program
      to finddistant 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
      coordinatesinstead 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 onan 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.
      Setstage1size for short sequences to be 12-mers for < 40 nt, and
      18-mersfor 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
      nameconflict with some systems (like MacOSX) that define isnumber
      inctype.h.

2004-01-21  twu

    * stage3.c: Fixed bug where dynamic programming of ends wouldn't go all the
      way tothe 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
      longrepeated 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
      smallersampling intervals. Added ability to print alignment continuously.

    * matchpair.c, matchpair.h, stage1.c: Implemented incremental clustering
      based on progressively smallersampling 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 andgenome.

    * params.c, params.h: Added parameter for continuous output of alignment.

    * pair.c, pair.h: Added output of number of unknowns. Added procedure for
      continuousoutput 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 changingparameters 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 popthelp 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 textfiles.

    * 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 thandouble.

    * 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 theirendpoints. 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 theirendpoints.

    * 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
      doneonly 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 sequencesgetting 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
      theappropriate side.

    * pair.c, segmentpos.c: Changing coordinate output from -- to ..

    * stage3.c, stage3.h: Changed procedures for finding chimeras to try
      singlelist of theappropriate 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 fromgenomic 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 stage1. 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 befaster.

    * 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
      asingle 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 tocalloc.

    * 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 thetop 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
      genomedirectory.

    * 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 fromcompressed 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 bespecified 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 anull 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 labelscan 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 belabeled.

    * indexdb.c: Fix made for the case where an oligomer earlier than TT...TT is
      thelast 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
      forpthreads (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
      withSun compiler.

    * iit-read.c, table.c: For functions passed as arguments, added pointer and
      parenthesesaround 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 onMacOSX.

2003-11-18  twu

    * gmap.c, snap.c: Made directory searching process more flexible, by looking
      for versionfile at toplevel and subdirectory of datadir.

    * genome.c, indexdb.c: Fixed calls to mmap and munmap when mmap fails. Moved
      stopwatch startbefore madvise command.

    * bigendian.c, genome.c, indexdb.c: Added masks to chars when converting to
      an int or unsigned int, due toproblem observed on DEC Alpha.

    * genome.c, indexdb.c: Corrected conversion of littleendian to bigendian
      numbers. Addedlseek 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 variabledeclared 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, andto 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 onthe 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 orconfiguration file.

    * get-genome.c: Added popt processing of command-line options.

    * genome.c: Added bigendian conversions for compressed genome, which is
      memorymapped.

    * 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 separatelength criterion for first long exon.

    * stage3.c, stage3.h: Implemented checks and procedures for chimeric
      sequences. Removeddirectional 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 behalf 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 3objects 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 isapplicable 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
      toskip 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 genomefiles.

    * 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
      forduplicates in idxpositions.

    * gmapindex.c, indexdb.c, indexdb.h, snapindex.c: Changed strategy for
      idxoffsets and idxpositions for strains. Nowstoring 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. Addedprovisions 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
      pairedalgorithm. 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 forprogram 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
      workfor 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
      nowfollows 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
      headerline.

    * 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 workfor the cc compiler.

    * Makefile: Removed Makefile from CVS, because it is now generated
      fromMakefile.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 ingencompress.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 genomicgaps 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'sgreater than 2. Also, added flag for conservative behavior
      for splicesite prediction, by reducing the reward for canonical splice
      sites.Note, however, that such behavior causes SNAP to perform poorly in
      thepresence of sequence errors.

    * dynprog.c, dynprog.h, gmap.c, params.c, params.h, snap.c: Added flag for
      conservative behavior for splice site prediction, byreducing the reward
      for canonical splice sites. Note, however, thatsuch behavior causes SNAP
      to perform poorly in the presence ofsequence 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
      includecanonical introns, but goodness between chromosomal segments
      toexclude this.

    * stage2.c: Increased MAXHITS from 20 to 1000. Previous value was too low
      and ledto splicing errors.

    * get-genome.c: Changed program to try segment first as a chromosome, then
      as acontig.

    * offsetdb.c: Improved output statements to print beginning and ending
      ofchromosomes.

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-providedsegment.

    * 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 aftersmoothing. 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
      "Stage3" 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
      frommaxlookback, but found that setting maxlookback >> sufflookback led
      tolong, 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, andpossibly 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 inLinux.

    * 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
      fromrepetitive 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 minusstrand.

    * chrnum.c: Fixed problem where signed chromosomes were being
      printedincorrectly.

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 boundingof a querypos to a single hit if its top score exceeds its
      secondhighest 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 singleletters 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
      ofgenomic 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-Mooreextension at ends. Added checks to prevent dynamic programming
      pastend 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 eliminatespoor alignments when the user-provided segment is
      longer than stage 1would 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
      andalternate 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 thengo 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.
      Addedextra information to Sequence_T structure and output procedures
      tohandle 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
      stickout.

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
      defectrate.

    * 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 ishigh enough and the exons are too long. Increased lookback
      from 60 to90.

    * stage3.c: Modified peelback to go past nonconsecutive hits, stopping only
      at anintron.

    * stage2.c, stage2.h: Added trimming of first or last exon if the defect
      rate is high enoughand the exons are too long.

2003-03-16  twu

    * stage2.c: Added hooks for making smooth_path depend on defect_rate, but
      thisappears to be a bad idea.

    * pair.c: Improved consistency check to work when cdna_direction is
      initiallyzero.

    * dynprog.c, dynprog.h, stage3.c: Changed effect of defect rate to be on
      mismatches and gaps, ratherthan 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 backtrack
      to stage 2 with forced cdna_directions if the stage 3 result
      isinconsistent.

    * 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 changeparameters in
      dynamic programming and extension of ends.

2003-03-13  twu

    * stage3.c: Changed limitation on Boyer-Moore search to be a certain number
      ofhits. This compensates for the fact that smaller oligomers will
      occurmore frequently than longer ones, and that longer ones are
      morestatistically significant.

2003-03-12  twu

    * stage3.c, stage3.h: Limited length of Boyer-Moore search at ends. Changed
      name ofminendsearch 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 evenat 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
      ingap. Added check for very short introns.

    * stage3.c: Discrimination between paired gap dynamic programming at ends
      and inmiddle.

    * dynprog.c, dynprog.h: Major rewrite of dynamic programming procedures.
      Changed from Gotohalgorithm to pure banded procedure. Reversing sequences
      whennecessary, 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
      giverise 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, tomatch new output of snap_compress.pl. Fixed problems with
      parsingSpidey output.

    * sim4_compress.pl: Added printing of exon lengths, intron lengths, and
      dinucleotides, tomatch 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 printingintron 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
      aprevious 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 ofdinucleotides for
      canonical introns.

2003-03-06  twu

    * stage3.c: Cleaned up code extensively. Added Boyer-Moore searches on both
      endsof cDNA.

    * dynprog.c, dynprog.h: Cleaned up code by making separate procedures for
      single gap inmiddle, 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 isprovided by the user.

    * gmap.c, pair.c, sequence.c, sequence.h, snap.c: Fixed code to print out
      genomic accession when genomic sequenceis 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 thatfor 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 1calculations later.

    * pair.c, stage3.c: Changed definition of coverage to be based on length of
      query sequencethat aligns.

    * dynprog.c: Changed allocation procedures for Matrix_T and Directions_T.
      Providedhooks for doing band-limited memory clearing, but this won't work
      withthe Gotoh P1 and Q1 matrices.

    * stage2.c: Added a seenone check to protect against long stretches of N's
      in thegenome.

    * stage1.c, stage1.h: Created a Stage1_T object that can hold state, for
      resuming stage 1calculations 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 tomaxstutter.

2002-11-20  twu

    * dynprog.c, dynprog.h, stage3.c: When calling dynprog, now passing pointers
      to subsequence rather thancopying 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 reading12-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 gapsneed to be merged (e.g., affy.HGU95A.34233_i_at, which
      created===...======...=== when an 8-mer fell into a gap and was then
      alignedto 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.
      Distinguishedbetween mismatches and indels.

    * gmap.c, snap.c: Changed definition of LARGEQUERYGAP to be maxlookback.
      Added flag forlowstringency (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 ofconsecutive matches, and have a maximum lookback. Changed
      stage 3procedure 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 beless 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
      apaired gap alignment.

    * gmap.c, snap.c: Removed hack used for debugging.

    * stage2.c: Introduced concept of a maximum lookback, and will now go beyond
      theprevious 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 betterthroughput 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 pointervalues. 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 ninputsand noutputs outside the lock, and changing
      signal of end of output tobe 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
      ninputsand 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 byusing 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
      genomicsegments.

    * genome.c, indexdb.c: Changed pre-load to use fread/fopen/fwrite, rather
      than memcpy, whichfails 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 ahash 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'
      and3' 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
      scoreparameters.

    * dynprog.c, oligoindex.h, stage2.c: Changed oligomer size in stage 2 from
      10 to 8, and adjusted dynamicprogramming 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 -Lflags).

    * 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
      alignmentto 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 manynon-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 barswhere 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
      performedby Oligoindex_T.

    * oligoindex.c: Changed type of positions from void ** to unsigned int **,
      to makecode 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,
      whichis 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 positionsdynamically in
      Oligoindex_T. To limit number of positions stored, weprescan the queryseq
      to see what oligomers are relevant.

    * stage2.c: Reverted back to previous Stage 2 strategy where we stored
      genomicsequence 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 (forindividual 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
      somereason, 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 oflists 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' and3' 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
      theoffset 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 thefirst 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 whereresults3 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 intotwo 4-byte unsigned ints.

    * hashdb-read.c: Fixed bug where length = 0. Also fixed bug causing
      unaligned accesserrors, 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 werenot being eliminated.

    * stage2.c: Increased the peelback to identify introns. Added debugging
      statements.

    * align.c: Fixed greediness for finding introns. Removed gap penalty and
      rewardfor intron. Instead, implemented a tie breaker for scores based
      ongenomic 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
      specialprocedures for 5' and 3' ends of sequence, essentially
      implementingpart of Smith-Waterman on each end. Added special cases in
      tracebackfor 5' and 3' ends, but may not be necessary in light of the
      otherchanges.

2002-10-04  twu

    * stage2.c: Added querypos and genomepos to the Pair object. Reorganized
      variousfunctions.

    * 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 differentpenalties 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 of0. 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 tounsigned 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 amatchedp flag
      to results, and putting singleton results into anendpoint.

    * 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 asingle 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.

