Skip to content
Commits on Source (8)
2018-07-06 twu
* VERSION, config.site.rescomp.tst, index.html, path-solve.c, src, trunk:
Changed check on sense_endpoints to antisense_endpoints before trying to
remove an end segment
2018-06-29 twu
* types.h: Merged revisions 215752 to 215897 from
branches/2018-06-15-path-solve-junctions to define Univcoordlist_pop
* stage3hrdef.h: Merged revisions 215752 to 215897 from
branches/2018-06-15-path-solve-junctions to add nmatches_amb as a field
* stage3hr.c, stage3hr.h: Merged revisions 215752 to 215897 from
branches/2018-06-15-path-solve-junctions to consider trim amount in the
final comparison among alignments
* stage3.h: Merged revisions 215752 to 215897 from
branches/2018-06-15-path-solve-junctions to take queryseq as an argument
in merge procedures
* stage3.c: Merged revisions 215752 to 215897 from
branches/2018-06-15-path-solve-junctions to copy all pairs when performing
a merge, to peelback to indels on the medial side when taking the
continuous solution, and to remove indels in insert_gapholders
* pair.c, pair.h: Merged revisions 215752 to 215897 from
branches/2018-06-15-path-solve-junctions to implement Pair_split_circular
* junction.c, junction.h: Merged revisions 215752 to 215897 from
branches/2018-06-15-path-solve-junctions to implement Junction_new_generic
* gmap.c: Merged revisions 215752 to 215897 from
branches/2018-06-15-path-solve-junctions to split circular alignments to
cross the origin
* chimera.c, chimera.h: Merged revisions 215752 to 215897 from
branches/2018-06-15-path-solve-junctions to disallow chimeras to circular
chromosomes
* path-solve.c: Merged revisions 215752 to 215897 from
branches/2018-06-15-path-solve-junctions to create a new junction at the
end, rather than use a precomputed junction
* path-solve.c: At ends, pushing NULL instead of the previously computed
junction
* pair.c, pair.h: Implemented checking procedures
2018-06-15 twu
* stage3hr.c: Removed extraneous characters in debugging statement
2018-06-14 twu
* stage3.c: Fixed handling of end exons in end trimming procedures. Using
new interfaces to Pair_clip_bounded_list_5 and Pair_clip_bounded_list_3
* pair.c, pair.h: Implemented separate 5' and 3' versions of
Pair_clip_bounded_list
* chimera.c: Fixed debugging statements to use new interface to
Sequence_stdout
2018-05-31 twu
* pair.c: In converting pairarray to substrings, now resetting exon
variables after an insertion or deletion
* iit-read.c: Added a warning in using IIT_read for a version 1 IIT
* iit_get.c, iit_store.c: Fixed some memory leaks
* getline.c, getline.h: Returning string_length with Getline_wlinefeed
* iit_store.c: Using Getline_wlinefeed instead of Getline_wlength
2018-05-30 twu
* stage1hr.c: Fixed uninitialized variable
* substring.c: Fixed assertion
* stage3hr.c: Checking if there is enough space at ends of the chromosome
before resolving inner exons
* gmapindex.c: Assigning variable and not pointer when clearing empty space
at end of line
* atoiindex.c, cmetindex.c, indexdb-write.c, snpindex.c: Calling
Access_allocate_private properly for machines where mmap is not available
or disabled
* gregion.c: Improved procedure for finding unique gregions by sorting by
support instead of weight, by checking if query coordinates are
consistent, and handling cases where endpoints are equal
* Makefile.gsnaptoo.am: Not making iit_pileup
2018-05-26 twu
* Makefile.gsnaptoo.am: Added getline.c and getline.h to library
* get-genome.c: Using variable line instead of Buffer
* config.site.rescomp.prd, config.site.rescomp.tst, gmap.c, index.html,
oligoindex_hr.c, src, stage2.c, stage3.c, trunk: Merged revisions 215481
through 215483 from branches/2018-05-25-restore-compute-ends to restore
GMAP behavior from 2018-03-20 and use Stage3middle_T,
Stage3_compute_middle, and Stage3_comput_ends for better alignment at ends
* datadir.c: Fixed extraneous parenthesis
* datadir.c: Using Getline
* Makefile.gsnaptoo.am, iit_get.c, iit_store.c: Using Getline
2018-05-25 twu
* gmap.c: Ensuring that calls to strncpy are followed by setting the end to
be '\0'. Using malloc instead of calloc in these situations
* Makefile.gsnaptoo.am, datadir.c, get-genome.c, getline.c, getline.h,
gmapindex.c: Using calls to Getline to prevent problems with buffer
overflow
* chrsubset.c, iit-read-univ.c, iit-read.c, iit_store.c, samread.c,
sequence.c, shortread.c, splicing-scan.c, stage2.c, stage3hr.c: Ensuring
that calls to strncpy are followed by setting the end to be '\0'. Using
malloc instead of calloc in these situations
* substring.c: Fixed calculation of mandatory_trim_left and
mandatory_trim_right for alias to be positive, rather than negative
2018-05-12 twu
* VERSION: Updated version number
* src: Made changes
* fa_coords.pl.in, gmap_build.pl.in, gmap_process.pl.in: Added options to
handle fastq files and to reverse complement all sequences
* stage1hr.c: No longer iterating through Segment_search
* stage1hr.c: Not calling Stage1_init or other Stage1 procedures when
querylength < index1part
* substring.c: Not doing aliasing and unaliasing on alt substrings.
Computing mandatory_trim_querystart and mandatory_trim_queryend instead of
mandatory_trim_left and mandatory_trim_right
* trindex.c: Revised instructions
* iit-read-univ.c, iit_get.c, iit_pileup.c, iit_tally.c: Freeing div name
allocated by new versions of Parserange routines
* genome128_consec.c, genome128_hr.c: Added header files needed for SSSE3
computers
2018-04-30 twu
* shortread.c: Formatting change
* parserange.c: Allow colons in accession names
* gmapindex.c: Allow colons in accession. Implementing revcomp by using '-'
sign for contig length
* get-genome.c: Freeing chromosome string after call to Parserange
2018-04-21 twu
* stage1hr.c: Merged revision 214805 from branches/2018-04-21-fix-anchors to
use Solve_segment_all instead of Concordance_filter_records for paired-end
reads
* stage3hr.c: Added variable remap_transcriptome_p
* stage1hr.c: Added variable remap_transcriptome_p
* stage3.c: Checking for a NULL stage3 in Stage3_split
* intersect.c: Fixed comments
* stage1.c: Using Oligospace_T to cast 0
* kmer-search.c: Fixed issues with transcript coordinates
* gmap.c, gsnap.c, inbuffer.c, inbuffer.h, sequence.c, sequence.h,
shortread.c, shortread.h: Adding a command-line option
--read-files-command
* extension-search.c, segment-search.c, stage1hr.c: Using (Oligospace_T) as
a cast for 0
* Makefile.gsnaptoo.am: Added a command-line option --read-files-command
* fopen.c, fopen.h: Added a command-line option --read-files-command
2018-04-20 twu
* gsnap.c: Changed flag from --use-transcriptome to --use-transcriptome-only
2018-03-26 twu
* samprint.c: Using new interface to Pair_print_sam
* block.c, config.site.rescomp.prd, gmap.c, index.html, indexdb.c,
oligoindex_hr.c, pair.c, src, stage1.c, stage2.c, stage3.c, translation.c,
trunk: Merged revisions 214439 through 214446 from
branches/2018-03-24-restore-gmap to restore speed and sensitivity of GMAP
by eliminating use of Stage3_compute_ends, restoring use of multiple
oligoindices, and fixing CDS phases for GFF3 output
2018-03-24 twu
* indexdb.c: Removed option for expanding offsets
* gmap.c: Fixed memory issues with new calls to Stage3_merge_local and
Stage3_merge_chimera, and appending middlepieces to stage3list. Changed
default gff3_cds to be genomic. Ignoring option for --expand-offsets
* stage3.c, stage3.h: Removed cigar_tokens and intronp as fields for
Stage3_T objects. Implemented Stage3_copy and using it in
Stage3_merge_local and Stage3_merge_chimera
* pair.c, pair.h: Removed cigar_tokens and intronp as paramters to
Pair_print_sam
2018-03-23 twu
* substring.c: Added assertions about alts, to make sure we don't use
alignstart_trim or alignend_trim fields in those cases
* stage3hr.c: Checking for alts when getting chrpos_low or chrpos_high
* samprint.c: Formatting changes
* dynprog.h: Setting AMBIGUOUS score to be 3, to make cmet and atoi
alignments equivalent to standard
* cigar.c: For sam_hardclip_use_S option, returning hardclips to be 0 so
they don't affect the query sequence in SAM output
* stage3.c: Restored force of single gaps, to avoid problems with
add_dual_break later
2018-03-21 twu
* iit_tally.c: Initial import
* VERSION: Updated version number
* dynprog.c, dynprog.h, dynprog_cdna.c, dynprog_cdna.h, dynprog_end.c,
dynprog_end.h, dynprog_genome.c, dynprog_genome.h, dynprog_simd.c,
dynprog_simd.h, dynprog_single.c, dynprog_single.h, gmap.c, gsnap.c,
pair.c, path-solve.c, splicetrie.c, splicetrie.h, src, stage3.c, stage3.h,
trunk: Merged revisions 214343 through 214360 from
branches/2018-03-20-cmet-gmap to make non-standard modes work in GMAP
alignments
* sam-exons.pl.in: Initial import
2018-03-20 twu
* indexdb.c: Fixed preprocessor macro
2018-03-19 twu
* VERSION: Updated version number
* Makefile.gsnaptoo.am, VERSION, atoi.c, atoi.h, atoiindex.c, cmet.c,
cmet.h, cmetindex.c, config.site.rescomp.tst, configure.ac,
epu16-bitpack64-access.c, epu16-bitpack64-access.h,
epu16-bitpack64-incr.c, epu16-bitpack64-incr.h, epu16-bitpack64-read.c,
epu16-bitpack64-read.h, epu16-bitpack64-readtwo.c,
epu16-bitpack64-readtwo.h, epu16-bitpack64-write.c,
epu16-bitpack64-write.h, extension-search.c, extension-search.h,
genomicpos.c, genomicpos.h, gsnap.c, index.html, indexdb.h, indexdbdef.h,
kmer-search.c, kmer-search.h, localdb-write.c, localdb.c, localdb.h,
localdbdef.h, oligo.c, path-solve.c, path-solve.h, reader.c, src,
stage1hr.c, trunk, types.h: Merged revisions 214117 through 214304 from
branches/2018-03-11-cmet-localdb to implement non-standard modes with
support for localdb
* substring.c: Removed an assertion that is not always valid
* stage3hr.c, stage3hr.h: Commented out code for Stage3end_substring_high,
which is not used anymore
* samprint.c: Fixed typo in using querylength5 instead of querylength3 for
mate
* samflags.h: Incremented values for number of filestream outputs, to handle
XS output files properly
* outbuffer.c: Always skipping output for OUTPUT_NONE filestream
* Makefile.gsnaptoo.am: Hiding program iit_pileup
* oligoindex_hr.c: Allowing debugging statements to work
* localdb.c: Allowing debugging statements to work
* kmer-search.c: Added debugging statements
* indexdb.c: Distinguishing between GSNAP pointer procedures, which need to
handle negative diagterms, and GMAP read procedures, where diagterms are
always non-negative
* gsnap.c: Added option for --sam-hardclip-use-S
* cigar.c, cigar.h: Calling low substring for all circular chromosome hits
to get correct chrpos in SAM output. Added provisions for
SAM_hardclip_use_S_p
2018-03-10 twu
* substring.c: Changed assertion to allow for '*'
* stage3.c: Added a clip of end5 against the chromosomal bound for
alignments on the minus strand
* intersect.c: Commenting out advance of positions past -diagterm
* indexdb.c: No longer checking for diagterm < 0, since diagterm <= 0 should
be true
* extension-search.c: Reverted advance of positions past -diagterm and added
assertions instead. Changed algorithm to not add an elt when the
positions are invalid.
* shortread.c: Preventing invalid read when accession contains only one or
two characters
* kmer-search.c, merge-heap-diagonals.c, merge-heap-records.c,
merge-simd-diagonals.c, merge-simd-records.c: Added assertions to check
that positions >= -diagterm
* extension-search.c, intersect.c: Skipping or advancing positions so they
exceed -diagterm
* oligo.c: Fixed initialization code so that Clang compiler will accept it
2018-03-09 twu
* localdb-write.c: Added a message to indicate when writing is done
* Makefile.gsnaptoo.am, iit_pileup.c: Added ability for the user to specify
a genomic range
* stage3hr.c, stage3hr.h: Fixed bug with circular read not being unaliased
because of a soft clip. Removed macro for soft clips avoiding
circularization. Removed circularalias values of +2 and -2, since
alignments now should stay within chromosomal bounds
* iit_pileup.c: Added code for using filestrings
* Makefile.gsnaptoo.am, iit-read.c, iit-read.h, iit_pileup.c: Restored
iit_pileup program. Rewrote to take a FASTA file as input
2018-03-05 twu
* stage3.c: Added back declaration of variables
* stage3.c: Removed unused variables and parameters
* samprint.c: Removed unused static variable
* path-solve.c: Using new interface to Stage3end_new_gmap
* stage3hr.c, stage3hr.h: Removed unused parameters to Stage3end_new_gmap.
Removed unused code
* gsnap.c: Removed unused parameter to process_request
* extension-search.c: Removed unused code
* stage1hr.c: Fixed memory error when abort_pairing_p is true
* localdb.c: Defined variables needed for large genomes
* VERSION, block.c, block.h, distant-rna.c, distant-rna.h,
extension-search.c, gmap.c, gsnap.c, kmer-search.c, kmer-search.h,
ladder.c, ladder.h, localdb.c, localdb.h, oligo.c, oligo.h, pair.c,
pair.h, path-solve.c, path-solve.h, segment-search.c, segment-search.h,
splice.c, splice.h, src, stage1.c, stage1.h, stage1hr.c, stage1hr.h,
stage2.c, stage3.c, stage3hr.c, stage3hr.h, substring.c, substring.h,
terminal.c, terminal.h, trunk: Merged revisions 213978 through 214024 from
branches/2018-03-01-ptr-and-diagterm to add potential support for cmet,
atoi, and ttoc modes
2018-03-03 twu
* cigar.c, cigar.h, gsnap.c: Obey behavior of --sam-use-0M flag
* Makefile.gsnaptoo.am, access.c, atoiindex.c, bitpack64-readtwo.c,
cmetindex.c, config.site.rescomp.prd, epu16-bitpack64-read.c,
epu16-bitpack64-readtwo.c, epu16-bitpack64-write.c, extension-search.c,
filesuffix.h, genome-write.c, genome128_hr.c, gmapindex.c, gsnap.c,
iit-write.c, iit_store.c, indel.c, indexdb-write.c, indexdb.c, indexdb.h,
indexdbdef.h, intersect.c, intersect.h, kmer-search.c, kmer-search.h,
localdb.c, merge-heap-diagonals.c, merge-heap-diagonals.h,
merge-heap-records.c, merge-heap-records.h, merge-simd-diagonals.c,
merge-simd-diagonals.h, oligoindex_hr.c, pair.c, path-solve.c,
segment-search.c, segment-search.h, smooth.c, snpindex.c, src, stage1hr.c,
stage1hr.h, stage2.c, stage3.c, stage3hr.c, substring.c, terminal.c,
trunk, types.h: Merged revisions 213921 to 213977 from
branches/2018-03-01-ptr-and-diagterm to add back support for large genomes
2018-03-02 twu
* stage3hr.c: Improved debugging statements
* kmer-search.c: Removed extraneous calls to free lists
* ladder.c, ladder.h: Implemented Ladder_cutoff to allow for ladders, but
restrict computation to MAX_HITS
* concordance.c: Calling Ladder_cutoff instead of Ladder_maxscore
* cigar.c: Fixed computation of SAM chrpos. Always calling
Stage3end_substring_low for a single SAM line
* concordance.c: Applying MAX_HITS to Concordance_pair_up_distant
* stage1hr.c: Fixed a typo: querypos_rc instead of querypos for minus
positions
* indexdb.c: Hiding Indexdb_ptr_with_diagterm from utility programs
* pairpool.c, pairpool.h, stage3.c: Using a better method for handling
chromosomal bounds in GMAP, by trimming pairs, rather than the pairarray
* Makefile.gsnaptoo.am, VERSION, config.site.rescomp.prd,
config.site.rescomp.tst, extension-search.c, extension-search.h,
indexdb.c, indexdb.h, intersect.c, intersect.h, kmer-search.c,
kmer-search.h, localdb.c, merge-heap-diagonals.c, merge-heap-diagonals.h,
merge-heap-records.c, merge-heap-records.h, merge-simd-diagonals.c,
merge-simd-diagonals.h, merge-simd-records.c, merge-simd-records.h,
segment-search.c, src, stage1hr.c, stage1hr.h, trunk: Merged revisions
213873 through 213921 from branches/2018-03-01-ptr-and-diagterm to use
pointers to positions and diagterms, rather than copying positions
* substring.c: In Substring_set_alt, handling amb_splice_pos properly as
being defined from left, rather than querystart
* Makefile.util.am: Added instructions for bitpack64-test
2018-03-01 twu
* segment-search.c: Freeing lists provided to Merge_records
* path-solve.c: Using FREE_ALIGN for freeing results of merge procedures
* localdb.c: Localdb_read_with_bounds now always returns aligned memory,
which can happen if merging is performed. Using new interface to merge
procedures
* kmer-search.c: Fixed a memory leak in exact procedure when the ends have
invalid oligos
* merge-heap-diagonals.c, merge-heap-records.c, merge-simd-diagonals.c,
merge-simd-records.c: Merge procedures no longer free their input lists or
streams. Streams can be aligned or not, so the caller needs to free them
* pair.c, pairpool.c, pairpool.h, stage3.c: Prevent GMAP results from going
beyond chromosomal bounds, when making the final pairarray
* stage1hr.c: Using new interfaces to exact and approx algorithms
* stage3hr.c, stage3hr.h: Renamed Stage3end_list_free to Stage3end_gc
* segment-search.c: Fixing memory leak
* kmer-search.c, kmer-search.h: Limiting results for exact algorithm with
max_hits, and limiting approx algorithm with both max_hits and sizelimit
* concordance.c: Limiting results for newladder with MAX_HITS
2018-02-28 twu
* uint8table.c, uint8table.h: Initial implementation
* Makefile.gsnaptoo.am, stage1hr.c: Using a Uint8table_T object to call
repeated occurrences of an oligo invalid
* substring.c: Allocating querylength+1 for mismatch_positions
* path-solve.c: Making a better call to Substring_new for the middle
diagonal, and handling the case where the result is NULL
* gsnap.c: Including header for concordance.h
* terminal.c: Using new interface to Substring_new
* path-solve.c: Removed all instances of middle_path
* extension-search.c, kmer-search.c: Using new interfaces to
Path_solve_from_diagonals and Substring_new
* segment-search.c: Using new interface to Path_solve_from_diagonals.
Letting that procedure determine which left and right diagonals are in the
correct chrnum
* path-solve.c, path-solve.h: Path_solve_from_diagonals now takes a middle
diagonal, rather than a middle path. Sets chrnum based on middle
diagonal, as determined by Substring_new. Also considers only left and
right diagonals in that chrnum.
* stage3hr.c: Using new interface to Substring_new
* substring.c, substring.h: Substring_new now takes chrnum_fixed_p as a
parameter. If true, then the procedure does not recompute chromosomal
bounds
* segment-search.c: Using left instead of lowpos to determine chrnum, to be
safe
* substring.c: Checking for substring being below given chroffset, and
recomputing chromosomal bounds
* segment-search.c: When adding segments to left and right, checking to make
sure they fall at least partially into the same chromosome as the anchor
segment
* pair.c: Fixed argument for setting querystart_pretrim and queryend_pretrim
2018-02-27 twu
* substring.c: Fixed typo
* pair.c, substring.c, substring.h: Computing more accurate values for
querystart_pretrim and queryend_pretrim. Removed assertion about
left_bound and right_bound in Substring_count_mismatches_region
* concordance.c, stage1hr.c, stage3hr.c, stage3hr.h, stage3hrdef.h: Removed
private5p and private3p fields from Stage3pair_T object. Always copying
hits when making a pair, needed because the concordance procedure can now
delete hits
* ladder.c: Assigning a value to nhits in all cases from
Ladder_hits_for_score
* concordance.c, stage1hr.c: Restored assignment of abort_pairing_p
* ladder.c, ladder.h, stage3hr.c, stage3hr.h: Removing duplicates before
returning hits at a given score. Added a duplicates field to hold
duplicate hits, and a procedure for deleting them
* filestring.c: Now handling %p in format statement
* stage3hr.c: Changed one occurrence of Substring_ambiguous_p to
Substring_has_alts_p
* Makefile.gsnaptoo.am, cigar.c, concordance.c, concordance.h,
distant-rna.c, distant-rna.h, gsnap.c, kmer-search.c, kmer-search.h,
ladder.c, ladder.h, merge-heap-records.c, merge-heap-records.h,
merge-simd-records.c, merge-simd-records.h, merge-uint4.c, method.c,
method.h, pair.c, pair.h, path-solve.c, record.h, samprint.c,
segment-search.c, segment-search.h, splice.h, src, stage1hr.c, stage1hr.h,
stage3hr.c, stage3hr.h, stage3hrdef.h, substring.c, substring.h,
terminal.c, terminal.h, trunk, types.h, univdiag.c: Merged revisions
213654 to 213758 from branches/2018-02-22-limit-segment-search to add
concordance procedures, ladders, and filters for segment search, and to
revise the single-end and paired-end procedures
2018-02-23 twu
* Makefile.gsnaptoo.am, VERSION, block.c, config.site.rescomp.tst,
extension-search.c, genomicpos.h, gmap.c, gmap_build.pl.in, gsnap.c,
indexdb.c, indexdb.h, intersect.c, intersect.h, intlist.c, intlist.h,
junction.c, kmer-search.c, localdb.c, localdb.h, merge-heap-diagonals.c,
merge-heap-diagonals.h, merge-heap-records.c, merge-heap-records.h,
merge-heap.c, merge-heap.h, merge-simd-diagonals.c,
merge-simd-diagonals.h, merge-simd-records.c, merge-simd-records.h,
merge-uint4.c, merge-uint4.h, merge.c, merge.h, oligo.c, pair.c, pair.h,
path-solve.c, segment-search.c, segment-search.h, splice.c, splicetrie.c,
splicetrie.h, src, stage1.c, stage1hr.c, stage1hr.h, stage2.c, stage2.h,
stage3.c, stage3hr.c, stage3hr.h, substring.c, substring.h, trunk,
types.h, uint8list.c, uint8list.h, uintlist.h, uniqscan.c, util: Merged
revisions 213593 through 213652 from branches/2018-02-21-large-genomes to
add support for large genomes
2018-02-21 twu
* stage1hr.c: Checking for a set with zero elements before calling
Orderstat_int_pct
* segment-search.c: Excluding invalid oligos
* path-solve.c: When novelsplicing is false, creating just one hit
* oligo.c: Commented out unused procedures
* kmer-search.c: Handling invalid oligos correctly
* stage1hr.c: Making poly_A and poly_T oligos not valid. Added a min
sizelimit
* stage1hr.c: Added comment
* cigar.c, samprint.c, stage3hr.c, stage3hr.h: Removed code designed for old
meaning of Substring_ambiguous_p, now distinct from Substring_has_alts_p
* indexdb.c: Commented out SIMD procedures for utility programs. Added
support for AVX2
* extension-search.c, extension-search.h, indexdb.c, indexdb.h,
kmer-search.c, kmer-search.h, path-solve.c, path-solve.h,
segment-search.c, segment-search.h, splice.c, src, stage1hr.c, stage1hr.h,
stage3hr.c, stage3hr.h, substring.c, substring.h, trunk, types.h: Merged
revisions 213472 through 213572 from branches/2018-02-16-faster-one-kmer
to increase speed and accuracy
* VERSION, config.site.rescomp.prd, config.site.rescomp.tst, index.html:
Updated for latest version
* stage1hr.c: Added debugging statements
2018-02-17 twu
* stage3.c: Replaced check with an assertion
* gmap.c: Filtering out Stage3_T objects with zero npairs
* junction.c, junction.h: Implemented Junction_typestring
* stage3.c: Making explicit check for npairs being 0 in Stage3_new
* pair.c: Handling extra exons with a specific type and transition rules
* gmap.c: Checking for Stage3_T object having zero pairs before pushing onto
list
* cigar.c: Checking hardclip when printing insertion token. Calling either
Stage3end_substring_low or Stage3end_substring_high
* stage3hr.c: Added provisions for junctions_HtoL
2018-02-13 twu
* localdb.c: Performing a check for possible negative coordinates
* cigar.c, cigar.h: Storing value of extended_cigar_p during setup
* gsnap.c: Added flags for --endtrim-length and --sam-extended-cigar
* stage3.c: In Stage3_recompute_coverage, added a check for npairs being 0
* shortread.c, shortread.h: Added support for end (3') trimming of each read
* kmer-search.c: Improved debugging statements
* gmap.c: Added checks for breakpoint being invalid, before running
Stage3_mergeable
* chimera.c: Added checks for npairs being zero
* gsnap.c: Removed the --expand-offsets flag
* access.c: Put a limit on the maximum number of attempts to kill an
unattached shared memory segment
* splice.c, substring.c: Checking for cases where the splice search
boundaries yield a negative coordinate. Redefined middle coordinate to be
alignstart and alignend, and not the positions 1 bp distal to these
coordinates.
* stage1hr.c: Increased all sizelimits for diagonals from 100 to 3000
* stage3.c: Defined all parameters for allowed iterations to be 1
* stage2.c: Added a step to filter stage2 middles, starts, and ends for
uniqueness
2018-02-12 twu
* substring.c: Improved debugging statement
* stage3hr.c: Added a comment
* splice.c: Improved debugging statements
* stage3hr.c: Now allowing Stage3pair_resolve_insides to resolve both ends
at the same time
2018-02-11 twu
* VERSION: Updated version number
* stage3hr.c: Added debugging statements
* pair.c: Fixed counting routines to skip over bad pairs correctly
* substring.c: Removed unused code
* stage3hr.c: In Stage3pair_resolve_insides and resolve_inside_general
procedures, when hits are changed for the hitpair, revising the values of
alts_resolve_5 and alts_resolve_3. Fixes a seg fault when
Stage3pair_eval_and_sort tries to resolve the hits a second time
* path-solve.c, samprint.c, stage3hr.c, stage3hr.h, substring.c,
substring.h: Changed variable names to distinguish between an ambiguous
splice length and alternative splice coords
2018-02-10 twu
* config.site.rescomp.tst, pair.c, pair.h, segment-search.c,
segment-search.h, src, stage1hr.c, stage3.c, stage3hr.c, trunk: Merged
revisions 213287 through 213291 from branches/2018-02-10-fix-bugs to fix
bugs related to pairarrays that crossed chromosomal bounds, segments
subsuming others, and handling of dual breaks
* pair.c: Hiding function Pairarray_convert_to_substrings from GMAP
* cigar.c, cigar.h, distant-rna.c, extension-search.c, filestring.c,
filestring.h, gsnap.c, index.html, kmer-search.c, output.c, pair.c,
pair.h, path-solve.c, samprint.c, samprint.h, segment-search.c, splice.c,
src, stage1hr.c, stage3hr.c, stage3hr.h, substring.c, substring.h, trunk:
Merged revisions 213162 through 213277 from
branches/2018-02-07-improve-circular to standardize printing of circular
and translocation alignments
* stage3hr.c: Fixed printing of method label
2018-02-08 twu
* extension-search.c: Making sure that queryoffset does not go outside
bounds of 0 to query_lastpos
2018-02-07 twu
* substring.c: In Substring_new, giving initial values to trim_left and
trim_right
* substring.c: In Substring_new, calling trim_left_end and trim_right_end
from 0 and querylength, but trim_novel_spliceends from given querystart
and queryend. If novel spliceends yields a short exon, then using the
non-spliced trimming results.
* stage3hr.c: Calling compute_circularpos on all Substring_T objects
* samprint.c: Added debugging statements
* substring.c: In Substring_new, initializing necessary values of
Substring_T object earlier than first possible abort and call to
Substring_free
* config.site.rescomp.tst, extension-search.c, gmap.c, index.html, oligo.c,
oligo.h, reader.c, reader.h, src, stage1hr.c, svncl.pl, trunk: Merged
revisions 213097 through 213130 from branches/2018-02-05-distant-dna to
allow for updating of querypos around N's and fix of fatal bug in GMAP in
merge_left_and_right_readthrough
2018-02-06 twu
* substring.c: In trim_left_end and trim_right_end, computing trims relative
to querystart and queryend, rather than 0 and querylength. In
embellish_genomic_sam, filling in beginning and end with dashes and stars
to avoid genomic_refdiff having a different length than querylength
* Makefile.gsnaptoo.am: When MAKE_LIB is not defined, not copying headers
either
* VERSION, config.site.rescomp.prd: Updated version number
* get-genome.c, parserange.c, parserange.h: Allowing Parserange_universal to
return a value for whole_chromosome_p
* substring.c: In Substring_new, always making querystart and queryend
correspond to trim_left and trim_right, to fix errors in CIGAR strings
2018-02-05 twu
* access.c: Using a loop to create (and possibly deallocate) shared memory
* access.c: Upon startup, if a shared memory segment exists with no other
attached processes (possibly corrupted), then deallocating it and creating
a new one
* kmer-search.c: Simplified code in making sure that both ends are in the
same chromosome
* samprint.c: In SAM_compute chrpos, if hardclip_low yields a NULL
low_substring, then trying hardclip_high
* substring.c: Handling the case where both cdna and genome have 'N'
* stage3hr.c, stage3hr.h: Reversed revision 213080, which is giving CIGAR
errors. Restored Stage3end_substring_high
* substring.c: In Substring_new, added a minimum of 8 bp in general test 2
* stage3hr.c: For Stage3end_substring_low and Stage3end_substring_high, if
the hardclip passes all substrings, return the last one processed
* stage3hr.c: In Stage3end_new_substrings, handling the case where
substring1 and substringN have different chrnums assigned by Substring_new
* stage3hr.c: In Stage3end_new_substitution, handling the case where
Substring_new has assigned a different chrnum than the one given
* substring.c: Made trim incremental when performed as a preliminary step
before finding novel splice ends
* kmer-search.c: Made a more rigorous check that both ends are on the same
chromosome
* kmer-search.c: Making sure the two ends are on the same chromosome
* substring.c: Handling the case where the alignment goes over the upper
bound of the next higher chromosome
* substring.c: Removed residue from an SVN merge conflict
* Makefile.gsnaptoo.am, distant-rna.c, gsnap.c, path-solve.c, src,
stage1hr.c, stage3hr.c, stage3hr.h, terminal.c, terminal.h, trunk,
types.h: Merged revisions 213033 through 213070 from
branches/2018-02-05-add-terminals to add terminal alignments
* substring.c: Not applying general test 1 if orig_nmismatches < 0
* substring.c: Making outofbounds adjustments to be increments to the
existing trim_left and trim_right
* cigar.c, distant-rna.c, gsnap.c, kmer-search.c, samprint.c, splice.c, src,
stage1hr.c, stage3hr.c, stage3hr.h, substring.c, substring.h, trunk:
Merged revisions 213027 through 213053 from
branches/2018-02-04-simplify-substring-new to simplify Substring_new
procedure
* config.site.rescomp.prd, config.site.rescomp.tst, index.html, svncl.pl:
Updated version number
* stage3.c: Added a List_reverse command
* types.h: Added comments
* stage1hr.c: Fixed wrong assignment of first_read_p
* stage3hr.c: Checking for the eventrim region having bounds that don't make
sense
* substring.c: Added an assertion
* stage3.c: Restored pass 7 to remove dual breaks at the ends
* stage1hr.c: Fixed a memory leak for queryrc
* filestring.c: Added a check for fp being NULL, which can occur with the
flags --omit-concordant-uniq or --omit-concordant-mult
2018-02-02 twu
* VERSION: Updated version number
* configure.ac: Fixed command for --enable-lib
* block.c, block.h, extension-search.c, extension-search.h, filestring.c,
gmap.c, gsnap.c, index.html, indexdb.c, indexdb.h, intersect.c,
kmer-search.c, kmer-search.h, oligoindex_hr.c, pair.c, pair.h,
path-solve.c, segment-search.c, src, stage1.c, stage1.h, stage1hr.c,
stage1hr.h, stage2.c, stage3.c, stage3.h, stage3hr.c, substring.c,
transcriptome.c, trunk: Merged revisions 212952 through 212996 from
branches/2018-02-01-reverse-gmap-slowdown
* gmap.c: Fixed reference to array0 that should have been array1
* configure.ac: Disabled alloca by default
2018-02-01 twu
* stage3.c: Restored computation of Stage2_compute_starts and
Stage2_compute_ends
* pair.c: Handling GFF3 output when chrstring or accession is NULL
* oligoindex_localdb.c, oligoindex_localdb.h: Not using
Oligoindex_localdb_tally because of speed
* inbuffer.c: Added debugging statements
* gmap.c: Restored function of --pairalign option
2018-01-30 twu
* stage3hr.c: Made changes to debugging statements
* stage3.h: Updated interface for Stage3_setup
* stage3.c: Distinguishing between overall_end_distance_linear and
overall_end_distance_circular when making call to Stage2_compute_starts
and Stage2_compute_ends
* stage1hr.c: Making calls to remove_circular_alias and remove_duplicates
for single-end reads
* samprint.c: Fixed bug where alignment results to circular chromosome were
not being printed
* path-solve.c: Not allowing splice junctions for circular chromosomes
* kmer-search.c: Not allowing splice junctions for circular chromosomes
* gsnap.c: Using new interface to Stage3_setup
* gmap.c: Using genomelength instead of genome_totallength. Initializing
circularp for usersegment
* gsnap.c, kmer-search.c, kmer-search.h, path-solve.c, path-solve.h: Not
allowing Junction_new_splice to be called when splicing is turned off
* trindex.c: Added some headers for open() procedure
* gmap.c, gsnap.c: Using interfaces to new setup procedures
* stage3.c, stage3.h: Limiting chrend for Stage2_compute_starts and
Stage2_compute_ends based on genome total length
* stage1hr.c, stage1hr.h: Added hook for distant DNA alignments
* samprint.c, samprint.h: Not printing XS field in SAM output when splicing
is turned off.
* pair.c, pair.h: Printing . in features field of GFF3 output when sense is
unknown. Not printing XS field in SAM output when splicing is turned off.
2018-01-29 twu
* stage3.c: Before running Stage2_compute_starts and Stage2_compute_ends,
removed the check on chrend going past chrhigh. The truncated coordinates
can cause chrend to be less than chrstart if the alignment straddles a
chromosomal bound
* stage3hr.c: Fixed a memory free error. In Stage3end_new_substrings, when
Stage3end_T object fails due to circular alias, letting Stage3end_free and
not the caller free the junctions
* stage3.c: Accepting a single alignment regardless of final score, if the
original queryjump or genomejump is negative
2018-01-27 twu
* substring.c: In Substring_new, computing trims first, then adjusting trims
for out-of-bound lengths, then adjusting query and genomic bounds
2018-01-26 twu
* VERSION: Updated version number
* intlist.c, intlist.h, list.c, list.h, uintlist.c, uintlist.h: Added code
for non-inlined functions
* transcript.c, transcript.h: Made Transcript_num non-inline
* configure.ac: Added macro AC_C_INLINE
* get-genome.c: Added include for intlist.h
2018-01-25 twu
* archive.html, index.html: Updated for latest version
* path-solve.c: Added a type conversion
* Makefile.gsnaptoo.am: Fixed typos in file names
* VERSION: Updated version number
* gsnap.c: Change in description for --action-if-cigar-error
* gmap.c: Implemented --action-if-cigar-error flag
* stage3.c: Putting an upper bound on the number of Boyer-Moore searches for
microexons, based on the number of 5' and 3' splice positions
* translation.c: Assigning aaphase_e for indels in CDS
* pair.c, pair.h: Implemented flag --action-if-cigar-error
* oligoindex_hr.h: Moved SIMD includes to header file, since definition of
Oligoindex_T object is now there
* oligoindex_hr.c: Moved SIMD includes to header file, since definition of
Oligoindex_T object is now there
* gsnap.c: Implemented flag --action-if-cigar-error
* gmap.c: Using new interface to Pair_setup
* Makefile.gsnaptoo.am: Turned off making of gmapl and gsnapl for all SIMD
types
* pair.c: Implemented patch by Nathan Weeks to remove extra token from
print_gff3_exons_forward. For GFF3 code, changed types for genomic
coordinates from int to Chrpos_T. Also initializing genomic coordinates
to 0 instead of -1
* oligoindex_hr.c: Added assertion
* stage3.c: Fixed computation of chrstart and chrend before final
Stage2_compute_start and Stage2_compute_ends for circular chromosomes
* Makefile.gsnaptoo.am, gmap.c, gsnap.c, localdb.c, localdb.h, merge.c,
oligoindex_hr.c, oligoindex_hr.h, oligoindex_localdb.c,
oligoindex_localdb.h, src, stage2.c, stage2.h, stage3.c, trunk: Merged
revisions 212704 through 212742 from branches/2018-01-23-gmap-localdb
* VERSION, config.site.rescomp.tst: Updated version
* configure.ac: Added the conditional MAKE_LIB and a flag to control it
* pair.c: Added an assertion about cds_phase being non-negative
* Makefile.gsnaptoo.am: Building library only if MAKE_LIB is true
2018-01-23 twu
* gsnap.c: Allow --terminal-threshold flag for backward compatibility, but
ignore
2018-01-22 twu
* gsnap.c: Allowing the --use-sarray flag and ignoring it
* stage1hr.c: Fixed bugs regarding the use of querylength3 instead of
querylength5, and for handling the case where all paired-end hits are NULL
and we need to run GMAP on the complete paths.
2018-01-21 twu
* setup1.test.in: Turning off setup1.test
2018-01-20 twu
* Makefile.gsnaptoo.am, access.c, atoiindex.c, bitpack64-access.h,
bitpack64-incr.c, bitpack64-incr.h, bitpack64-read.c, bitpack64-read.h,
bitpack64-readtwo.c, bitpack64-write.c, bitpack64-write.h, block.c,
cellpool.c, cmetindex.c, diagpool.c, distant-rna.c, distant-rna.h,
dynprog.c, dynprog_cdna.c, dynprog_end.c, dynprog_genome.c,
dynprog_single.c, epu16-bitpack64-access.c, epu16-bitpack64-access.h,
epu16-bitpack64-incr.c, epu16-bitpack64-incr.h, epu16-bitpack64-read.c,
epu16-bitpack64-read.h, epu16-bitpack64-readtwo.c,
epu16-bitpack64-readtwo.h, epu16-bitpack64-write.c,
epu16-bitpack64-write.h, extension-search.c, extension-search.h,
filesuffix.h, genome.c, genome128_consec.c, genome128_hr.c,
genome128_hr.h, genome_sites.c, genome_sites.h, gmap.c, gmap_build.pl.in,
gmapindex.c, gregion.c, gregion.h, gsnap.c, indel.c, indel.h,
indexdb-write.c, indexdb-write.h, indexdb.c, indexdb.h, indexdb_hr.c,
indexdbdef.h, intersect.c, intersect.h, intlist.c, intlist.h, junction.c,
kmer-search.c, kmer-search.h, list.c, list.h, littleendian.h,
localdb-write.c, localdb-write.h, localdb.c, localdb.h, localdbdef.h,
matchpool.c, maxent_hr.c, merge.c, merge.h, oligo.c, oligo.h,
oligoindex.c, output.c, pair.c, pair.h, pairpool.c, path-solve.c,
path-solve.h, reader.c, reader.h, resulthr.c, resulthr.h, samprint.c,
sarray-read.c, sarray-search.c, sarray-search.h, sedgesort.c, sedgesort.h,
segment-search.c, segment-search.h, smooth.c, snpindex.c, splice.c,
splice.h, splicestringpool.c, splicetrie.c, splicetrie.h, src, stage1.c,
stage1hr.c, stage1hr.h, stage2.c, stage3.c, stage3.h, stage3hr.c,
stage3hr.h, substring.c, substring.h, transcript.c, transcript.h, trunk,
types.h, uintlist.c, uintlist.h, uniqscan.c, univdiag.c, univdiag.h,
univdiagdef.h, util: Merged revisions 210996 to 212658 from
branches/2017-11-04-faster-transcriptome. Put previous version into
tags/2018-01-19-version1-pre-transcriptome
* index.html: Revised for new version
* uniqscan.c: Using new interface to Stage1hr_setup
* transcript.c: Sorting transcripts before printing
* stage3hr.c, stage3hr.h: Stage3end_new_transcript aborting of number of
substrings and junctions don't match. Stage3end_new_substrings returning
new junctions to caller
* stage1hr.h: Using transcriptome_end_accept
* stage1hr.c: Using transcriptome_end_accept
* sarray-search.c: Various improvements to algorithm
2018-01-17 twu
* pair.c: Skipping gap characters in Pairarray_genomic_sequence
* gsnap.c: Fixed default value of max_middle_insertions
2017-11-17 twu
* sarray-search.c: Turned off qsort in favor of sedgesort
2017-11-16 twu
 
* VERSION, public-2017-09-05, src: Updated version number
* stopwatch.c: Added standalone code for testing
 
* stage3.c: Merged revision 211227 from trunk to fix issue with trimming of
chimeras not being re-extended back to the breakpoint, and to fix issue
with CIGAR strings from shortgaps comps being treated differently from
indel comps.
* stage3.c: Fixed issue with trimming of chimeras not being re-extended back
to the breakpoint. Fixed issue with CIGAR strings from shortgap comps
being treated differently from indel comps.
 
* stage1hr.c: Appending greedy results to subs
* gsnap.c: Using new interface to Sarray_search. Printing worker runtimes
to stderr. Using --transcriptome-accept flag instead of old flags
 
* dynprog_end.c: Merged revision 211220 from trunk to handle the case where
rev_goffset is negative
* sarray-search.c, sarray-search.h: Removed genes_iit as a parameter
 
* outbuffer.c: Merged revision 211219 from trunk to fix fatal bug when
trying to write SAM headers to OUTPUT_NONE split output, which is now NULL
* indel.c: Added debugging statements
* dynprog_end.c: Handling the case where rev_goffset is negative
* outbuffer.c: Fixed fatal bug when trying to write SAM headers to
OUTPUT_NONE split output, which is now NULL
 
2017-10-30 twu
 
* stage3.c: Merged revision 210882 from trunk to fix trim_end_indel
procedures to stop at a gap
* stage3.c: Fixed trim_end_indel procedures to stop at a gap
 
2017-10-29 twu
 
* VERSION, public-2017-09-05, src: Updated version number
* substring.c: Fixed a memory leak when embellish_genomic is called a second
time on a Stage3end_T object
* stage3hr.c: In Stage3end_new_gmap, in computing CIGAR, starting with
hardclips set to zero
 
* substring.c: Merged revision 210861 from trunk to fix a memory leak when
embellish_genomic is called a second time on a Stage3end_T object
* stage3.c: In traverse_single_gap, not allowing a force of the gappairs.
Implemented contiguous versions of peel_leftward and peel_rightward, but
not using yet.
 
* stage3hr.c: Merged revision 210860 from trunk to set hardclips to 0 for
creating CIGAR for a GMAP alignment
* sarray-search.c: For transcriptome endpoints, restricting further the
cases where an indel should be ignored. Added some potential code for
genome endpoints, but not implemented
* pairpool.c: In Pairpool_join_end5 and Pairpool_join_end3, if the final
revision process still results in a negative queryjump or genomejump, then
don't attach the end at all
* get-genome.c: If map file is not in mapdir, then look in genomesubdir
* cigar.c, cigar.h, gsnap.c: Calling Cigar_setup to initialize static
variables
 
* stage3.c: Merged revision 210859 from trunk to disable forcep in
traverse_single_gap
2017-10-20 twu
 
* pairpool.c: Merged revision 210857 from trunk to fix Pairpool_join_end5
and Pairpool_join_end3. Not attaching the end if revision process still
results in a negative queryjump or genomejump.
* trindex.c: Added error message if genes file not provided by user
 
* get-genome.c: Merged revision 210856 from trunk to look for map file in
genomesubdir as well as mapdir
* stage1hr.c, stage3hr.c, stage3hr.h: Doing remapping back to transcriptome
during pairing procedure
 
* cigar.c, cigar.h, gsnap.c: Merged revision 210855 from trunk to call
Cigar_setup
* get-genome.c: Added comment
 
* gmap.c: Merged revision 210647 from trunk to change option name from
--alt-initiation-codons to --alt-start-codons
* pair.c, pair.h, samprint.c: For GMAP-based alignments in GSNAP, printing
transcript info
 
* sarray-search.c: Merged part of revision 210755 from trunk. Ensuring that
we are using the smallest indel.
* sarray-read.c, sarray-read.h: Changed relevant types from Univcoord_T to
Sarrayptr_T
* sarray-search.c, sarray-search.h: Changed relevant types from Univcoord_T
to Sarrayptr_T. Choosing closest indel on left and right ends. For
transcriptome, checking for overlapping or adjacent indels
 
2017-10-18 twu
 
* sarray-search.c: Merged revision 210665 from trunk. Fixed an issue where
querystart was -1, which can result when nmatches is 0
* config.site.rescomp.prd, config.site.rescomp.tst, index.html: Updated for
latest version
* transcriptome.c, transcriptome.h: Implemented
Transcriptome_genomic_bounded_p
* transcript.c, transcript.h: Implemented Transcript_in_list_p. Returning
min_insertlength from Transcript_intersect_p
* stage3hr.c: Fixed bug in retrieving parent hit in
Stage3end_remove_overlaps
* sarray-search.c: Fixed an issue where querystart was -1, which can result
when nmatches is 0
2017-10-17 twu
 
2017-10-14 twu
* gmap.c: Changed option name from --alt-initiation-codons to
--alt-start-codons
 
* VERSION, src: Updated version number
* stage1hr.c: Fixed typo in variable name
2017-10-13 twu
 
* stage3hr.c: Merged revision 210536 from trunk. Removed use of minimum of
npaths and maxpaths
* stage3hr.c: Removed optimization to use the minimum of npaths and
maxpaths, since we need computations on all npaths to make a random
selection
 
* samprint.c: Merged revision 210535 from trunk. Handling dinucleotides
gracefully if genomic sequence is NULL.
* samprint.c: Handling dinucleotides gracefully if genomic sequence is NULL
 
* gsnap.c: Merged revision 210534 from trunk. Removed --maxsearch option.
Increased default expected_pairlength value.
* gsnap.c: Increased default expected_pairlength from 200 to 500. Removed
--maxsearch option, since it can lead to poor answers.
 
2017-10-12 twu
 
* outbuffer.c, samflags.h, samheader.c: Merged revision 210516 from trunk.
Fixed problem introduced in 2017-05 which caused the --output-file option
to produce a NULL file pointer.
* outbuffer.c, samflags.h, samheader.c: Fixed problem introduced in 2017-05
which caused the --output-file option to produce a NULL file pointer
 
* chrom.c: Merged revision 210513 from trunk. Dereferencing a character
pointer.
* chrom.c: Deferencing a character pointer
 
* pair.c: Merged revision 210506 from trunk. Fixed problem with
initialization of endi in determining gff3 coordinates. Avoiding reading
the pair at index of npairs.
* pair.c: Fixed problem with initialization of endi in determining gff3
coordinates. Avoiding reading the pair at index of npairs.
 
* cellpool.c, cellpool.h, stage2.c: Merged revision 210504 from trunk.
Adding non-overlapping paths, as well as high-scoring paths
* cellpool.c, cellpool.h, stage2.c: Adding non-overlapping paths, as well as
high-scoring paths
 
* gmap.c, translation.c, translation.h: Merged revision 210493 from trunk.
Adding option for only ATG as initiation codon. Making this the default.
* stage1hr.c: Using new interface to Sarray_search_transcriptome
 
* stage3.c: Merged revision 210492 from trunk. For trimming end exons,
using a percentage of the querylength instead of a fixed length
* substring.c, substring.h: Added functions for Substring_chrpos_low and
Substring_chrpos_high
 
* stage3hr.c: Merged revision 210278 from trunk. In
resolve_ambiguous_splice procedure, when ambiguity is resolved, setting
genomicstart or genomicend fields accordingly.
* stage3hr.h: Added interfaces for chrpos_low and chrpos_high
 
2017-09-29 twu
* stage3hr.c: In transferring Transcript_T objects, checking for duplicates
* sarray-search.c, sarray-search.h: Allowing for genomic bounds on
transcriptome alignment, for use in re-aligning genomic hit to find
transcriptome coordinates
* gmap.c, translation.c, translation.h: Adding option for only ATG as
initiation codon. Making this the default.
* stage3.c: For trimming end exons, using a percentage of the querylength
instead of a fixed length
2017-10-03 twu
* stage3hr.c: Removed old version of pair_up_concordant_transcriptome
* stage3hr.c: In resolve_ambiguous_splice procedures, when ambiguity is
resolved, setting genomicstart or genomicend fields accordingly
* stage3hr.h: Removed interface for Stage3pair_pairtype
* stage3hr.c: Fixed the order for constructing genomic sequence from
substrings
* substring.h: Not applying general test of goodness for substrings from
transcriptome-guided alignment
* substring.c: Not applying general test of goodness for substrings from
transcriptome-guided alignment
 
* VERSION, public-2017-09-05, src: Updated version number
* sarray-search.c: Modified debugging statements
 
* stage3.c: Merged revision 210194 from trunk to move build_dual_breaks step
* samprint.c: Determining pairtype again, and allowing for the possibility
of concordant uniq
* trindex.c: Copying the genes IIT file to the transcriptome directory
* transcriptome.c: Allowing a transcriptome to be read without a genome, by
using divints instead of chrnums
2017-10-02 twu
* transcript.c: Revised debugging statements
* gsnap.c, uniqscan.c: Using new interface to Stage1hr_setup
* stage3hr.c, stage3hr.h: Implemented a separate procedure for pairing up
transcriptome alignments. Transcriptome hit types now take precedence.
Implemented Stage3end_substrings_genomic_sequence.
* stage1hr.c, stage1hr.h: Using new interface to Stage3pair_new. Re-mapping
to transcriptome from genomic suffix array alignment.
* junction.c, junction.h: Added function Junction_deletionpos
2017-09-29 twu
* stage3.c: Moved location of build_dual_breaks step to get better behavior
 
2017-09-27 twu
 
* stage3.c: Merged revision 210170 from trunk to stop over-aggressive use of
maxintronlen_end from wrong side of the sequence
* stage3.c: Fixed over-aggressive use of minintronlen_ends from wrong end of
sequence
 
* chimera.c: Merged revision 210169 from trunk to initialize a variable
* chimera.c: Initializing a variable
 
2017-09-23 twu
 
* VERSION, public-2017-09-05, src, uinttableuint.c, uinttableuint.h: Merged
revision 210071 from trunk to add files
* uinttableuint.c, uinttableuint.h: Initial import
 
* gsnap.c, pair.c, pair.h, public-2017-09-05, src, uniqscan.c: Merged
revision 210062 from trunk to fix computation of cds bounds for GFF3
output
* stage1hr.c, stage3hr.c, stage3hr.h: For transcriptome-guided genomic
alignment, placing results into concordant_uniq instead of
paired_uniq_long, if a transcript matches both ends
* pair.c, pair.h: Fixed computation of cds bounds for GFF3 output
 
* translation.c: Merged revision 210057 from trunk to assign aaphase_g for
final genomic codon
* gsnap.c, uniqscan.c: Using new interface to Pair_setup
 
* gmap.c: Merged revision 210059 from trunk to restore MAX_CHIMERA_ITER to
3, but not iterating multiple times for middle pieces. Added option
--gff3-cds
* gmap.c: Restored MAX_CHIMERA_ITER to be 3, but not iterating multiple
times for middle pieces. Added option --gff3-cds
 
* Makefile.gsnaptoo.am: Merged revision 210058 from trunk to add
uinttableuint to library
* Makefile.gsnaptoo.am: Added uinttableuint.c to library
* translation.c: Assigning aaphase_g for final genomic codon
 
2017-09-11 twu
 
* VERSION: Updated version number
* gmap.c: Restored --intronlength option
 
* gmap.c, src: Merged revision 209800 from trunk to restore --intronlength
option
* pair.c: Fixed gff3 cds output so it ignores indels
* pair.c: Replaced gff3 printing code for CDS with a call to code for exons
* pair.c, pair.h: Using new interface to transcript print functions
* stage3hr.c, stage3hr.h, transcript.c, transcript.h: Replacing separate
trnums, trstarts, and trends fields with transcripts field
* stage1hr.c: No longer filtering initially by transcript concordance
 
* pair.c: Merged revisions 209797 and 209798 from trunk to replace gff3
printing code for CDS with a call to the code for exons
* gsnap.c, samprint.c, samprint.h: Using new interface to transcripts field
for Stage3end_T and Stage3pair_T objects
 
* gmap.c, src: Merged revision 209788 from trunk to no longer iterate on
check_middle_local
* gmap.c: No longer iterating on check_middle_local
* Makefile.gsnaptoo.am: Added transcript.c and transcript.h to programs that
need it from pair.c
2017-09-06 twu
* sarray-search.c, stage3hr.c: Commented out or fixed code for LARGE_GENOMES
to use Uint8list_T
* sarray-search.c, sarray-search.h: Commented out genome code for
LARGE_GENOMES
* trindex.c: Fixed code so it will compile. Fixed memory leaks.
 
2017-09-05 twu
 
* public-2017-09-05: Created public release
* Makefile.gsnaptoo.am, VERSION, bitpack64-readtwo.c,
config.site.rescomp.prd, config.site.rescomp.tst, genome128_consec.c,
genome128_consec.h, genome128_hr.c, genome128_hr.h, get-genome.c, gmap.c,
gmapindex.c, gsl.m4, gsnap.c, iit-read-univ.c, iit-read-univ.h,
iit-read.c, iit-read.h, indel.c, indel.h, index.html, intlist.c,
intlist.h, junction.c, junction.h, mapq.c, mapq.h, output.c, pair.c,
pair.h, pairpool.c, samprint.c, samprint.h, sarray-read.c, sarray-read.h,
sarray-search.c, sarray-search.h, sarray-write.c, sarray-write.h,
splicealt.c, src, stage1hr.c, stage1hr.h, stage3hr.c, stage3hr.h,
substring.c, substring.h, transcriptome.c, transcriptome.h, trindex.c,
trunk, uniqscan.c: Merged revisions 207858 to 209656 from
branches/2017-07-01-transcripts to allow for transcriptome-guided genomic
alignment
 
* sarray-search.c: Fixed bug resulting from check of common diagonal over
circular origin
......
......@@ -184,7 +184,7 @@ am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/config/compile \
$(top_srcdir)/config/config.sub \
$(top_srcdir)/config/install-sh $(top_srcdir)/config/ltmain.sh \
$(top_srcdir)/config/missing AUTHORS COPYING ChangeLog INSTALL \
NEWS README config/compile config/config.guess \
NEWS README TODO config/compile config/config.guess \
config/config.sub config/install-sh config/ltmain.sh \
config/missing
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
......@@ -259,6 +259,7 @@ EXEEXT = @EXEEXT@
FGREP = @FGREP@
GMAPDB = @GMAPDB@
GREP = @GREP@
HAVE_INLINE = @HAVE_INLINE@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
......
Add flag that allows for splitting afterwards.
2017-11-15
\ No newline at end of file
2018-07-04
\ No newline at end of file
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.69 for gmap 2017-11-15.
# Generated by GNU Autoconf 2.69 for gmap 2018-07-04.
#
# Report bugs to <Thomas Wu <twu@gene.com>>.
#
......@@ -590,8 +590,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='gmap'
PACKAGE_TARNAME='gmap'
PACKAGE_VERSION='2017-11-15'
PACKAGE_STRING='gmap 2017-11-15'
PACKAGE_VERSION='2018-07-04'
PACKAGE_STRING='gmap 2018-07-04'
PACKAGE_BUGREPORT='Thomas Wu <twu@gene.com>'
PACKAGE_URL=''
 
......@@ -660,6 +660,7 @@ SIMD_SSSE3_CFLAGS
SIMD_SSE2_CFLAGS
POPCNT_CFLAGS
ALLOCA
HAVE_INLINE
PTHREAD_CFLAGS
PTHREAD_LIBS
PTHREAD_CC
......@@ -689,6 +690,8 @@ SED
LIBTOOL
PERL
BINDIR
MAKE_LIB_FALSE
MAKE_LIB_TRUE
MAINTAINER_FALSE
MAINTAINER_TRUE
FULLDIST_FALSE
......@@ -800,6 +803,7 @@ enable_silent_rules
enable_maintainer_mode
enable_fulldist
enable_maintainer
enable_lib
enable_shared
enable_static
with_pic
......@@ -1369,7 +1373,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
\`configure' configures gmap 2017-11-15 to adapt to many kinds of systems.
\`configure' configures gmap 2018-07-04 to adapt to many kinds of systems.
 
Usage: $0 [OPTION]... [VAR=VALUE]...
 
......@@ -1440,7 +1444,7 @@ fi
 
if test -n "$ac_init_help"; then
case $ac_init_help in
short | recursive ) echo "Configuration of gmap 2017-11-15:";;
short | recursive ) echo "Configuration of gmap 2018-07-04:";;
esac
cat <<\_ACEOF
 
......@@ -1460,6 +1464,9 @@ Optional Features:
sometimes confusing) to the casual installer
--enable-fulldist For use by program maintainer
--enable-maintainer For use by program maintainer
--enable-lib Build and install a GMAP library (Warning: will put
headers into include subdirectory)
(default=disable-lib)
--enable-shared[=PKGS] build shared libraries [default=yes]
--enable-static[=PKGS] build static libraries [default=yes]
--enable-fast-install[=PKGS]
......@@ -1469,8 +1476,9 @@ Optional Features:
(default=yes). Note: Use only if you have a parallel
I/O file system, like Lustre
--enable-pthreads Enable pthreads (default=yes)
--enable-alloca Enable alloca (default=yes) for stack-based memory
allocation.
--enable-alloca Enable alloca (default=no) for stack-based memory
allocation. Warning: Can cause GMAP to crash on long
sequences.
--enable-mmap Enable mmap (default=yes). Recommend that you do not
disable this unless absolutely necessary.
--enable-simd Enable simd commands in general if they compile and
......@@ -1577,7 +1585,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
gmap configure 2017-11-15
gmap configure 2018-07-04
generated by GNU Autoconf 2.69
 
Copyright (C) 2012 Free Software Foundation, Inc.
......@@ -2183,7 +2191,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
 
It was created by gmap $as_me 2017-11-15, which was
It was created by gmap $as_me 2018-07-04, which was
generated by GNU Autoconf 2.69. Invocation command line was
 
$ $0 $@
......@@ -2533,8 +2541,8 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking package version" >&5
$as_echo_n "checking package version... " >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: 2017-11-15" >&5
$as_echo "2017-11-15" >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: 2018-07-04" >&5
$as_echo "2018-07-04" >&6; }
 
 
### Read defaults
......@@ -4401,7 +4409,7 @@ fi
 
# Define the identity of the package.
PACKAGE='gmap'
VERSION='2017-11-15'
VERSION='2018-07-04'
 
 
cat >>confdefs.h <<_ACEOF
......@@ -4679,6 +4687,22 @@ else
fi
 
 
if test "x$enable_library" = xyes; then
MAKE_LIB_TRUE=
MAKE_LIB_FALSE='#'
else
MAKE_LIB_TRUE='#'
MAKE_LIB_FALSE=
fi
# Check whether --enable-lib was given.
if test "${enable_lib+set}" = set; then :
enableval=$enable_lib; enable_library="yes"
else
enable_library="no"
fi
# For Perl scripts, because otherwise configure inserts
# @bindir@ => "${exec_prefix}/bin";
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking bindir" >&5
......@@ -14502,6 +14526,55 @@ done
 
 
# Checks for typedefs, structures, and compiler characteristics.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for inline" >&5
$as_echo_n "checking for inline... " >&6; }
if ${ac_cv_c_inline+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_cv_c_inline=no
for ac_kw in inline __inline__ __inline; do
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#ifndef __cplusplus
typedef int foo_t;
static $ac_kw foo_t static_foo () {return 0; }
$ac_kw foo_t foo () {return 0; }
#endif
_ACEOF
if ac_fn_c_try_compile "$LINENO"; then :
ac_cv_c_inline=$ac_kw
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
test "$ac_cv_c_inline" != no && break
done
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_inline" >&5
$as_echo "$ac_cv_c_inline" >&6; }
case $ac_cv_c_inline in
inline | yes) ;;
*)
case $ac_cv_c_inline in
no) ac_val=;;
*) ac_val=$ac_cv_c_inline;;
esac
cat >>confdefs.h <<_ACEOF
#ifndef __cplusplus
#define inline $ac_val
#endif
_ACEOF
;;
esac
if test "$ac_cv_c_line" != no; then
$as_echo "#define HAVE_INLINE 1" >>confdefs.h
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
$as_echo_n "checking whether byte ordering is bigendian... " >&6; }
if ${ac_cv_c_bigendian+:} false; then :
......@@ -15258,194 +15331,8 @@ $as_echo "disabled" >&6; }
;;
 
x)
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: not specified so enabled by default" >&5
$as_echo "not specified so enabled by default" >&6; }
# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
# for constant arguments. Useless!
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working alloca.h" >&5
$as_echo_n "checking for working alloca.h... " >&6; }
if ${ac_cv_working_alloca_h+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <alloca.h>
int
main ()
{
char *p = (char *) alloca (2 * sizeof (int));
if (p) return 0;
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
ac_cv_working_alloca_h=yes
else
ac_cv_working_alloca_h=no
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_working_alloca_h" >&5
$as_echo "$ac_cv_working_alloca_h" >&6; }
if test $ac_cv_working_alloca_h = yes; then
$as_echo "#define HAVE_ALLOCA_H 1" >>confdefs.h
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for alloca" >&5
$as_echo_n "checking for alloca... " >&6; }
if ${ac_cv_func_alloca_works+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#ifdef __GNUC__
# define alloca __builtin_alloca
#else
# ifdef _MSC_VER
# include <malloc.h>
# define alloca _alloca
# else
# ifdef HAVE_ALLOCA_H
# include <alloca.h>
# else
# ifdef _AIX
#pragma alloca
# else
# ifndef alloca /* predefined by HP cc +Olibcalls */
void *alloca (size_t);
# endif
# endif
# endif
# endif
#endif
int
main ()
{
char *p = (char *) alloca (1);
if (p) return 0;
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
ac_cv_func_alloca_works=yes
else
ac_cv_func_alloca_works=no
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_alloca_works" >&5
$as_echo "$ac_cv_func_alloca_works" >&6; }
if test $ac_cv_func_alloca_works = yes; then
$as_echo "#define HAVE_ALLOCA 1" >>confdefs.h
else
# The SVR3 libPW and SVR4 libucb both contain incompatible functions
# that cause trouble. Some versions do not even contain alloca or
# contain a buggy version. If you still want to use their alloca,
# use ar to extract alloca.o from them instead of compiling alloca.c.
ALLOCA=\${LIBOBJDIR}alloca.$ac_objext
$as_echo "#define C_ALLOCA 1" >>confdefs.h
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether \`alloca.c' needs Cray hooks" >&5
$as_echo_n "checking whether \`alloca.c' needs Cray hooks... " >&6; }
if ${ac_cv_os_cray+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#if defined CRAY && ! defined CRAY2
webecray
#else
wenotbecray
#endif
_ACEOF
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
$EGREP "webecray" >/dev/null 2>&1; then :
ac_cv_os_cray=yes
else
ac_cv_os_cray=no
fi
rm -f conftest*
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_os_cray" >&5
$as_echo "$ac_cv_os_cray" >&6; }
if test $ac_cv_os_cray = yes; then
for ac_func in _getb67 GETB67 getb67; do
as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
cat >>confdefs.h <<_ACEOF
#define CRAY_STACKSEG_END $ac_func
_ACEOF
break
fi
done
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking stack direction for C alloca" >&5
$as_echo_n "checking stack direction for C alloca... " >&6; }
if ${ac_cv_c_stack_direction+:} false; then :
$as_echo_n "(cached) " >&6
else
if test "$cross_compiling" = yes; then :
ac_cv_c_stack_direction=0
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
$ac_includes_default
int
find_stack_direction (int *addr, int depth)
{
int dir, dummy = 0;
if (! addr)
addr = &dummy;
*addr = addr < &dummy ? 1 : addr == &dummy ? 0 : -1;
dir = depth ? find_stack_direction (addr, depth - 1) : 0;
return dir + dummy;
}
int
main (int argc, char **argv)
{
return find_stack_direction (0, argc + !argv + 20) < 0;
}
_ACEOF
if ac_fn_c_try_run "$LINENO"; then :
ac_cv_c_stack_direction=1
else
ac_cv_c_stack_direction=-1
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_stack_direction" >&5
$as_echo "$ac_cv_c_stack_direction" >&6; }
cat >>confdefs.h <<_ACEOF
#define STACK_DIRECTION $ac_cv_c_stack_direction
_ACEOF
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: not specified so disabled by default" >&5
$as_echo "not specified so disabled by default" >&6; }
;;
esac
 
......@@ -19400,6 +19287,8 @@ ac_config_files="$ac_config_files util/gvf_iit.pl"
 
ac_config_files="$ac_config_files util/vcf_iit.pl"
 
ac_config_files="$ac_config_files util/sam-exons.pl"
ac_config_files="$ac_config_files tests/Makefile"
 
ac_config_files="$ac_config_files tests/align.test"
......@@ -19556,6 +19445,10 @@ if test -z "${MAINTAINER_TRUE}" && test -z "${MAINTAINER_FALSE}"; then
as_fn_error $? "conditional \"MAINTAINER\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
if test -z "${MAKE_LIB_TRUE}" && test -z "${MAKE_LIB_FALSE}"; then
as_fn_error $? "conditional \"MAKE_LIB\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
 
if test -z "${MAKE_AVX512_TRUE}" && test -z "${MAKE_AVX512_FALSE}"; then
as_fn_error $? "conditional \"MAKE_AVX512\" was never defined.
......@@ -19978,7 +19871,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
This file was extended by gmap $as_me 2017-11-15, which was
This file was extended by gmap $as_me 2018-07-04, which was
generated by GNU Autoconf 2.69. Invocation command line was
 
CONFIG_FILES = $CONFIG_FILES
......@@ -20044,7 +19937,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
gmap config.status 2017-11-15
gmap config.status 2018-07-04
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
 
......@@ -20483,6 +20376,7 @@ do
"util/dbsnp_iit.pl") CONFIG_FILES="$CONFIG_FILES util/dbsnp_iit.pl" ;;
"util/gvf_iit.pl") CONFIG_FILES="$CONFIG_FILES util/gvf_iit.pl" ;;
"util/vcf_iit.pl") CONFIG_FILES="$CONFIG_FILES util/vcf_iit.pl" ;;
"util/sam-exons.pl") CONFIG_FILES="$CONFIG_FILES util/sam-exons.pl" ;;
"tests/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Makefile" ;;
"tests/align.test") CONFIG_FILES="$CONFIG_FILES tests/align.test" ;;
"tests/coords1.test") CONFIG_FILES="$CONFIG_FILES tests/coords1.test" ;;
......
......@@ -131,6 +131,13 @@ AC_ARG_ENABLE([maintainer],
[enable_maintainer="yes"],
[enable_maintainer="no"])
AM_CONDITIONAL(MAKE_LIB,test "x$enable_library" = xyes)
AC_ARG_ENABLE([lib],
AC_HELP_STRING([--enable-lib],
[Build and install a GMAP library (Warning: will put headers into include subdirectory) (default=disable-lib)]),
[enable_library="yes"],
[enable_library="no"])
# For Perl scripts, because otherwise configure inserts
# @bindir@ => "${exec_prefix}/bin";
AC_MSG_CHECKING(bindir)
......@@ -223,6 +230,12 @@ AC_HEADER_DIRENT
AC_CHECK_HEADERS([fcntl.h limits.h stddef.h stdlib.h string.h strings.h unistd.h sys/types.h])
# Checks for typedefs, structures, and compiler characteristics.
AC_C_INLINE
if test "$ac_cv_c_line" != no; then
AC_DEFINE(HAVE_INLINE,1,[Define to 1 if compiler supports extern inline])
AC_SUBST(HAVE_INLINE)
fi
AC_C_BIGENDIAN
AC_C_CONST
AC_C_VOLATILE
......@@ -247,7 +260,7 @@ AC_FUNC_FSEEKO
AC_MSG_CHECKING(whether alloca is enabled)
AC_ARG_ENABLE([alloca],
AC_HELP_STRING([--enable-alloca],
[Enable alloca (default=yes) for stack-based memory allocation.]),
[Enable alloca (default=no) for stack-based memory allocation. Warning: Can cause GMAP to crash on long sequences.]),
[answer="$enableval"],
[answer=""])
case x"$answer" in
......@@ -261,8 +274,7 @@ case x"$answer" in
;;
x)
AC_MSG_RESULT([not specified so enabled by default])
AC_FUNC_ALLOCA
AC_MSG_RESULT([not specified so disabled by default])
;;
esac
......@@ -586,6 +598,7 @@ AC_CONFIG_FILES([util/gff3_genes.pl])
AC_CONFIG_FILES([util/dbsnp_iit.pl])
AC_CONFIG_FILES([util/gvf_iit.pl])
AC_CONFIG_FILES([util/vcf_iit.pl])
AC_CONFIG_FILES([util/sam-exons.pl])
AC_CONFIG_FILES([tests/Makefile])
AC_CONFIG_FILES([tests/align.test],[chmod +x tests/align.test])
AC_CONFIG_FILES([tests/coords1.test],[chmod +x tests/coords1.test])
......
gmap (2018-07-04-1) UNRELEASED; urgency=medium
* Cleanup d/rules
* New upstream version
* debhelper 11
* Point Vcs fields to salsa.debian.org
* Standards-Version: 4.1.5
* libgmap1-dev Depends: gmap, libgmap1 (instead of alternative)
Closes: #903793
-- Andreas Tille <tille@debian.org> Tue, 17 Jul 2018 07:24:19 +0200
gmap (2017-11-15-1) unstable; urgency=medium
* New upstream version 2017-11-15
......
......@@ -6,19 +6,21 @@ Uploaders: Shaun Jackman <sjackman@debian.org>,
Section: non-free/science
XS-Autobuild: no
Priority: optional
Build-Depends: debhelper (>= 10),
Build-Depends: debhelper (>= 11~),
dh-exec,
help2man,
libbz2-dev,
zlib1g-dev
Standards-Version: 4.1.2
Vcs-Browser: https://anonscm.debian.org/cgit/debian-med/gmap.git
Vcs-Git: https://anonscm.debian.org/git/debian-med/gmap.git
Standards-Version: 4.1.5
Vcs-Browser: https://salsa.debian.org/med-team/gmap
Vcs-Git: https://salsa.debian.org/med-team/gmap.git
Homepage: http://research-pub.gene.com/gmap
Package: gmap
Architecture: any
Depends: ${misc:Depends}, ${perl:Depends}, ${shlibs:Depends}
Depends: ${misc:Depends},
${perl:Depends},
${shlibs:Depends}
Description: spliced and SNP-tolerant alignment for mRNA and short reads
This package contains the programs GMAP and GSNAP as well as
utilities to manage genome databases in GMAP/GSNAP format.
......@@ -34,7 +36,8 @@ Description: spliced and SNP-tolerant alignment for mRNA and short reads
Package: libgmap1
Architecture: any
Section: non-free/libs
Depends: ${misc:Depends}, ${shlibs:Depends}
Depends: ${misc:Depends},
${shlibs:Depends}
Description: library for gmap tool
This package contains library for gmap tool.
GMAP (Genomic Mapping and Alignment Program) is a tool for aligning
......@@ -49,8 +52,9 @@ Description: library for gmap tool
Package: libgmap1-dev
Architecture: any
Section: non-free/libdevel
Depends: gmap (= ${binary:Version}) | libgmap1 (= ${binary:Version}),
${misc:Depends},
Depends: gmap (= ${binary:Version}),
libgmap1 (= ${binary:Version}),
${misc:Depends}
Description: development files for gmap
This package contains header files for gmap.
GMAP (Genomic Mapping and Alignment Program) is a tool for aligning
......
......@@ -2,8 +2,7 @@
export DEB_BUILD_MAINT_OPTIONS = hardening=+all
include /usr/share/dpkg/default.mk
pkg := gmap
mandir := $(CURDIR)/debian/$(pkg)/usr/share/man/man1
mandir := $(CURDIR)/debian/$(DEB_SOURCE)/usr/share/man/man1
utildir := $(CURDIR)/util
bindir := $(CURDIR)/src
......@@ -34,11 +33,11 @@ override_dh_auto_install:
override_dh_install:
dh_install
mkdir -p debian/$(pkg)/usr/bin
mkdir -p debian/$(DEB_SOURCE)/usr/bin
for bin in `echo gmap gsnap gmap_build gmapl gsnapl; \
cd $(CURDIR)/debian/tmp/usr/lib/$(pkg)/; \
cd $(CURDIR)/debian/tmp/usr/lib/$(DEB_SOURCE)/; \
ls -1 gmap*.* gsnap*.* `; do \
ln -s /usr/lib/gmap/$$bin debian/$(pkg)/usr/bin/$$bin; \
ln -s /usr/lib/gmap/$$bin debian/$(DEB_SOURCE)/usr/bin/$$bin; \
done
override_dh_auto_test:
......
This diff is collapsed.
This diff is collapsed.
static char rcsid[] = "$Id: access.c 198277 2016-09-24 00:46:18Z twu $";
static char rcsid[] = "$Id: access.c 213998 2018-03-03 04:59:34Z twu $";
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
......@@ -54,6 +54,9 @@ static char rcsid[] = "$Id: access.c 198277 2016-09-24 00:46:18Z twu $";
#endif
#define MAX_KILL_ATTEMPTS 5 /* Limits on attempts to kill unattached memory segments */
#ifdef DEBUG
#define debug(x) x
#else
......@@ -470,6 +473,45 @@ Access_deallocate (void *memory, int shmid, key_t key) {
}
/* Same as Access_deallocate, but without deleting semaphore */
void
Access_deallocate_wo_semaphore (void *memory, int shmid, key_t key) {
struct shmid_ds *buf = NULL;
short nattached;
int semid;
/* First, detach memory */
if (shmdt(memory) == -1) {
#if 0
/* Somehow, shmdt forks and prints the error message and continues with the rest of the code */
fprintf(stderr,"Error in Access_emergency_cleanup with shmdt on memory %p, shmid %d. Error %d: %s\n",
memory,shmid,errno,strerror(errno));
#endif
}
/* Then, delete memory and semaphores, if applicable */
if ((semid = Semaphore_find(key)) != -1 && Semaphore_get_value(semid,SEMNO_KEEP) == SEMAPHORE_RESIDENT) {
fprintf(stderr,"Keeping memory for shmid %d resident, because it was pre-loaded. To remove, run gsnap on this genome index with --unload-shared-memory\n",
shmid);
} else if ((nattached = shmem_nattached(shmid)) > 0) {
fprintf(stderr,"Keeping memory for shmid %d resident, because it is being used by %d processes\n",
shmid,nattached);
} else if (shmctl(shmid,IPC_RMID,buf) == -1) {
/* Somehow, shmctl forks and prints the error message and continues with the rest of the code */
/* fprintf(stderr,"Error in Access_deallocate with shmctl. Error %d: %s\n",errno,strerror(errno)); */
/* Semaphore_delete(semid); */
} else {
fprintf(stderr,"Removed existing memory for shmid %d\n",shmid);
/* Semaphore_delete(semid); */
}
return;
}
#define FREAD_BATCH 100000000 /* 100 million elements at a time */
......@@ -495,6 +537,17 @@ copy_memory_from_file (void *memory, char *filename, size_t filesize, size_t elt
fread(p,sizeof(unsigned char),filesize/eltsize - i,fp);
}
} else if (eltsize == 2) {
for (i = 0; i + FREAD_BATCH < filesize/eltsize; i += FREAD_BATCH) {
p = (void *) &(((UINT2 *) memory)[i]);
fread(p,sizeof(UINT2),FREAD_BATCH,fp);
}
if (i < filesize/eltsize) {
p = (void *) &(((UINT2 *) memory)[i]);
fread(p,sizeof(UINT2),filesize/eltsize - i,fp);
}
} else if (eltsize == 4) {
for (i = 0; i + FREAD_BATCH < filesize/eltsize; i += FREAD_BATCH) {
p = (void *) &(((UINT4 *) memory)[i]);
......@@ -545,6 +598,14 @@ copy_limited_from_file (void *memory, char *filename, size_t filesize, size_t el
fread(p,sizeof(unsigned char),filesize/eltsize,fp);
}
} else if (eltsize == 2) {
p = (void *) &(((UINT2 *) memory)[0]);
if (FREAD_BATCH < filesize/eltsize) {
fread(p,sizeof(UINT2),FREAD_BATCH,fp);
} else {
fread(p,sizeof(UINT2),filesize/eltsize,fp);
}
} else if (eltsize == 4) {
p = (void *) &(((UINT4 *) memory)[0]);
if (FREAD_BATCH < filesize/eltsize) {
......@@ -570,11 +631,15 @@ copy_limited_from_file (void *memory, char *filename, size_t filesize, size_t el
return;
}
static void *
shmem_attach (int *shmid, key_t *key, char *filename, size_t filesize, size_t eltsize) {
void *memory = NULL;
int semid = -1;
ushort values[NSEMAPHORES];
int nattached;
bool donep;
int niter;
values[SEMNO_LOCK] = -1;
/* For some reason, these values are not being set, so using Semaphore_set_value below */
......@@ -615,6 +680,9 @@ shmem_attach (int *shmid, key_t *key, char *filename, size_t filesize, size_t el
others wait. They will be woken up when the semaphore is
removed. */
donep = false;
niter = 0;
while (donep == false) {
if ((*shmid = shmget(*key,filesize,IPC_CREAT | IPC_EXCL |
#ifdef HAVE_SHM_NORESERVE
SHM_NORESERVE |
......@@ -628,28 +696,50 @@ shmem_attach (int *shmid, key_t *key, char *filename, size_t filesize, size_t el
shmem_memory = List_push(shmem_memory,memory);
shmem_ids = Intlist_push(shmem_ids,*shmid);
copy_limited_from_file(memory,filename,filesize,eltsize);
donep = true;
} else {
semaphore_ids = Intlist_push(semaphore_ids,semid);
shmem_memory = List_push(shmem_memory,memory);
shmem_ids = Intlist_push(shmem_ids,*shmid);
copy_memory_from_file(memory,filename,filesize,eltsize);
fprintf(stderr,"Attached new memory for %s...",filename);
donep = true;
}
} else if ((*shmid = shmget(*key,0,0)) != -1) {
/* Found existing shared memory */
if ((memory = shmat(*shmid,NULL,0)) == (void *) -1) {
fprintf(stderr,"Error with shmat. Error %d: %s\n",errno,strerror(errno));
} else {
} else if ((nattached = shmem_nattached(*shmid)) > 1) {
/* Existing memory is indeed valid: attached (by a process other than this one) */
semaphore_ids = Intlist_push(semaphore_ids,semid);
shmem_memory = List_push(shmem_memory,memory);
shmem_ids = Intlist_push(shmem_ids,*shmid);
fprintf(stderr,"Attached existing memory for %s...",filename);
fprintf(stderr,"Attached existing memory (%d attached) for %s...",nattached,filename);
donep = true;
} else if (niter > MAX_KILL_ATTEMPTS) {
/* Existing memory is not attached by any other process, but unable to kill. Could be corrupted */
fprintf(stderr,"Abandoned shared memory found, but could not be removed after %d attempts. Using malloc instead of shared memory\n",niter);
memory = (void *) NULL;
donep = true;
} else {
/* Existing memory is not attached by any other process. Could be corrupted. */
fprintf(stderr,"Clearing existing shared memory for %s...\n",filename);
Access_deallocate_wo_semaphore(memory,*shmid,*key);
/* Now loop above to try again */
}
} else {
fprintf(stderr,"Using malloc instead of shmget for file %s\n",filename);
memory = (void *) NULL;
donep = true;
}
niter++;
}
#if 0
......@@ -713,6 +803,8 @@ Access_allocate_private (Access_T *access, size_t *len, double *seconds, char *f
if (eltsize == 1) {
FREAD_CHARS(memory2,(*len)/eltsize,fp);
} else if (eltsize == 2) {
FREAD_USHORTS(memory2,(*len)/eltsize,fp);
} else if (eltsize == 4) {
FREAD_UINTS(memory2,(*len)/eltsize,fp);
} else if (eltsize == 8) {
......@@ -778,6 +870,8 @@ Access_allocate_shared (Access_T *access, int *shmid, key_t *key, int *fd, size_
if (eltsize == 1) {
FREAD_CHARS(memory2,(*len)/eltsize,fp);
} else if (eltsize == 2) {
FREAD_USHORTS(memory2,(*len)/eltsize,fp);
} else if (eltsize == 4) {
FREAD_UINTS(memory2,(*len)/eltsize,fp);
} else if (eltsize == 8) {
......
static char rcsid[] = "$Id: atoi.c 195989 2016-08-08 21:42:24Z twu $";
static char rcsid[] = "$Id: atoi.c 214305 2018-03-19 23:40:43Z twu $";
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
......@@ -16435,3 +16435,18 @@ Atoi_reduce_ag (Oligospace_T oligo) {
return reduced;
}
 
UINT2
Atoi_reduce_tc_local (UINT2 oligo) {
/* Handles 16 bits, or k-mer up to 8 */
return convert_tc[oligo];
}
UINT2
Atoi_reduce_ag_local (UINT2 oligo) {
/* Handles 16 bits, or k-mer up to 8 */
return convert_ag[oligo];
}
/* $Id: atoi.h 180699 2015-12-10 19:10:10Z twu $ */
/* $Id: atoi.h 214305 2018-03-19 23:40:43Z twu $ */
#ifndef ATOI_INCLUDED
#define ATOI_INCLUDED
......@@ -8,6 +8,10 @@ extern Oligospace_T
Atoi_reduce_ag (Oligospace_T oligo);
extern Oligospace_T
Atoi_reduce_tc (Oligospace_T oligo);
extern UINT2
Atoi_reduce_tc_local (UINT2 oligo);
extern UINT2
Atoi_reduce_ag_local (UINT2 oligo);
#endif
This diff is collapsed.
/* $Id: bitpack64-access.h 212659 2018-01-20 00:58:14Z twu $ */
#ifndef BITPACK64_ACCESS_INCLUDED
#define BITPACK64_ACCESS_INCLUDED
#include "types.h"
......
static char rcsid[] = "$Id: bitpack64-incr.c 199469 2016-10-23 03:49:07Z twu $";
static char rcsid[] = "$Id: bitpack64-incr.c 212659 2018-01-20 00:58:14Z twu $";
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
......@@ -9537,7 +9537,7 @@ transfer_22_24 (UINT4 *out, const UINT4 *in) {
value = ( CONVERT(*in) >> 18 ) % (1U << 22 ) ;
in += WORD_INCR;
value |= (CONVERT(*in) % (1U<< 8 ))<<( 22 - 8 );
*out |= (value << 8); /* was 16 */
*out |= (value << 8);
/* 12 */
value = ( CONVERT(*in) >> 8 ) % (1U << 22 ) ;
......@@ -9719,7 +9719,7 @@ transfer_26_28 (UINT4 *out, const UINT4 *in) {
value |= (CONVERT(*in) % (1U<< 2 ))<<( 26 - 2 );
*out |= (value << 16);
out += WORD_INCR;
*out |= (value >> (28 - 12)); /* was (28 - 8) */
*out |= (value >> (28 - 12));
/* 05 */
value = ( CONVERT(*in) >> 2 ) % (1U << 26 ) ;
......
/* $Id: bitpack64-incr.h 212659 2018-01-20 00:58:14Z twu $ */
#ifndef BITPACK64_INCR_INCLUDED
#define BITPACK64_INCR_INCLUDED
#include "types.h"
......