0.8.5 - 2024-05-23
- Use aset instead of aset-* for performance #286
- Misc performance tuning for cljam.algo.depth #287
- Disable :missing-docstring linter for test code #288
- Use ByteBuffer wrapper instead of LSB protocol #290
- Rewrite TwoBitWriter using FileChannel and ByteBuffer #291
- Replace remaining LSB protocol implementations with ordinary functions #293
- Remove nth's linear search overhead in BCF reader #294
- Fix/apply lint #269
- Fix/vcf float case insensitive #272
- Fix/additional coding style #279
- Fix/shadowing var #281
- Fix/add doc string #282
- Remove extra parens around static field references #300
- Update dependencies #310
- Add function for unphasing genotypes #275
- Support explicit first phasing indicator for VCF genotypes #276
- Add validator for writing vcf. #277
- Add validator for writing sam. #278
- Implementing rANS4x8 decoder toward CRAM support #297
- Add CRAM reader (alpha) #302
- Misc performance improvements for CRAM reader #304
- Index-based random access for CRAM reader #306
- Support reading CRAM files with embedded references #307
- Automatic read name generation for CRAM records #308
- Support for CRAM beta coding #309
- Support for reading alignments in specific region without CRAI index file #311
0.8.4 - 2023-04-12
- Bump actions/checkout from 2.4.0 to 3 #254
- Bump actions/cache from 2.1.7 to 3 #255
- Bump codecov/codecov-action from 2.1.0 to 3 #256
- Bump actions/setup-java from 2 to 3 #257
- Bump xcoo/clj-lint-action from 1.1.10 to 1.1.11 #262
- Fix error that occurs when encoding a value greater than 32767 with ‘B, S’ data type in encoding alignment in encoding alignment. #264
- Fix cljam.io.bam-test to work properly #266
- fix: overflowing qual value in vcf #268
- Support CIGARs longer than 65535 operations #263
- Extend the supported data types in encoding alignment options #265
0.8.3 - 2021-12-27
- Bump actions/checkout from 2.3.4 to 2.3.5. #248
- Bump actions/checkout from 2.3.5 to 2.4.0. #249
- Bump actions/cache from 2.1.6 to 2.1.7. #250
- Avoid StackOverflowError while reading a VCF with many lines of meta. #252
- Use bgzip as default for writing
.gz
files. #253
0.8.2 - 2021-09-30
- Bump xcoo/clj-lint-action from 1.1.9 to 1.1.10. #246
- Fix error that occurs when querying intervals for missing chr. #247
0.8.1 - 2021-09-28
- Add support for fast interval finder. #209
- Add support for nclist. #211
- Add support for indexed? for vcf/bcf. #212
- Update the version of lint-action to read the clj-kondo config file. #203
- Introduce GitHub Dependabot to keep dependencies up to date. #204
- Bump codecov/codecov-action from v1.0.3 to v1.0.10. #205
- Bump codecov/codecov-action from v1.0.10 to v1.0.12. #207
- Bump codecov/codecov-action from v1.0.12 to v1.0.13. #208
- Bump xcoo/clj-lint-action from v1.1.6 to v1.1.7. #210
- Bump codecov/codecov-action from v1.0.13 to v1.0.14. #213
- Bump codecov/codecov-action from v1.0.14 to v1.0.15. #214
- Update java versions for testing. #215
- Bump codecov/codecov-action from v1.0.15 to v1.1.0. #216
- Bump codecov/codecov-action from v1.1.0 to v1.1.1. #217
- Bump codecov/codecov-action from v1.1.1 to v1.2.0. #218
- Bump codecov/codecov-action from v1.2.0 to v1.2.1. #219
- Bump actions/cache from v2 to v2.1.4. #220
- Bump codecov/codecov-action from v1.2.1 to v1.2.2. #221
- Bump codecov/codecov-action from v1.2.2 to v1.3.1. #222
- Bump codecov/codecov-action from v1.3.1 to v1.3.2. #225
- Update actions/setup-java to v2. #226
- Bump actions/cache from v2.1.4 to v2.1.5. #227
- Bump codecov/codecov-action from v1.3.2 to v1.4.0. #229
- Bump codecov/codecov-action from v1.4.0 to v1.4.1. #230
- Bump xcoo/clj-lint-action from v1.1.7 to v1.1.8. #231
- Bump codecov/codecov-action from v1.4.1 to v1.5.0. #232
- Bump actions/checkout from 2 to 2.3.4. #233
- Bump actions/cache from 2.1.5 to 2.1.6. #234
- Bump xcoo/clj-lint-action from 1.1.8 to 1.1.9. #235
- Add explanation to info exception. #236
- Bump codecov/codecov-action from 1.5.0 to 1.5.2. #237
- Fix bam encoder/decoder to convert sam to bam. #239
- Fix parser generation not to interpret unnecessary data when calculat…. #241
- Bump codecov/codecov-action from 1.5.2 to 2.0.1. #242
- Bump codecov/codecov-action from 2.0.1 to 2.0.2. #243
- Bump codecov/codecov-action from 2.0.2 to 2.0.3. #244
- Bump codecov/codecov-action from 2.0.3 to 2.1.0. #245
0.8.0 - 2020-06-22
cljam.io.tabix
is rewritten. #180cljam.io.bam-index.writer/pos->lidx-offset
is moved tocljam.io.util.bin/pos->lidx-offset
. #180cljam.io.sam.util/reg->bin
is moved tocljam.io.util.bin/reg->bin
. Also, a coordinate system of its argument is changed from 0-based half-open to 1-based fully-closed. #190
- Add support for random reading of vcf file. #180
- Add support for CSI reader. #182
- Add support for random reading of a bcf file. #187
- Add support for generating CSI file from bgzip compressed VCF. #190
- Add lint actions. #195
- Add support for generating CSI file from BCF. #196
- Add support cloning VCF/BCF. #200
- Create an index file while writing a sorted BAM file. #197
- Migrate CI to GitHub Actions. #181
- Detect the latest build number of OpenJDK EA. #183
- Improve performance for reading string from BCF. #186
- Improvement for pileup memory usage. #188
- Replace memoizing cache for parsed CIGARs with core.memoize's LU cache. #189
- Apply cljfmt. #191
- Fix warnings and errors reported by clj-kondo. #192
- Update actions/checkout to v2. #193
- Run lein check on CI. #199
- Refactor cljam.io.util.bin. #201
- Refactor cljam.io.csi. #202
- Fix a bug in reading bgzipped VCF files. #184
- Fix float reader for specific environments such as IcedTea. #185
- Fix reading chrs when chrs in index file and chr are not equal. #194
- Add base_sha option to clj-lint-action. #198
0.7.4 - 2019-10-04
- Fix creating temp directory to support multiple users. #178
- Avoid an ArityException on creating an index for BAM files without alignments. #179
0.7.3 - 2019-09-03
- Add content-based file type detection. #171
- Add support for random reading of bgzipped FASTA files. #174
- Fix I/O of variants with empty info/individual fields. #167
- Fix bugs in BCF I/O. #168
- Ignore undeclared keys in INFO and FORMAT when writing BCF files. #169
- Provide a default file format version for BCF. #170
- Fix nonintentional paths. #172
- Fix decoding of long CIGAR ops in BAM. #173
- Fix reflection warnings. #175
- Fix minor typos. #176
- Fix grammar. #177
0.7.2 - 2019-06-04
- Add utility functions for manipulating genotypes. #162
- Add support for breakends in VCF. #163
- Add a function to inspect an ALT allele of VCF. #164
- Normalize variants in a VCF file. #166
- Skip INFO value parsing if it's empty. #161
0.7.1 - 2019-04-01
- Remove useless nil entries in variants. #156
- Fix ByteBuffer/CharBuffer methods incompatibility. #159
0.7.0 - 2018-11-21
- Strand representation is changed to keyword (
:forward
,:reverse
). - Chromosome name normalization is decoupled from BED i/o.
- Pileup module is entirely rewritten. See #140 for more information.
- Support extra fields for VCF/BCF meta info. #135
- Character escaping support for string fields in VCF meta info. #138
- GFF3 I/O. #143
- Add basic reader/writer support for WIG. #145
- Add a reader for bigWig format. #149
- Rewrite pileup module. #140
- Use :forward/:reverse/nil as values for the key ':strand'. #144
- Improve performance of TwoBitReader. #153
- Remove normalization of chromosome names from BED reader. #154
- Fix options of cljam.algo.pileup/pileup. #146
- Fix a bug in
cljam.algo.pileup/pileup
. #148 - Fix some fields of cljam.io.pileup LocusPile and PileupBase. #151
0.6.0 - 2018-06-22
- N padding for out-of-range bases is not appended. See #120 comment and #121 for more information.
cljam.io.protocols/{reader,writer}-path
were renamed tocljam.io.protocols/{reader,writer}-url
. Their return values arejava.net.URL
.
- Add some extensions for FASTA format. #124
- Add many util functions for SAM/BAM files & split cljam.io.sam.util. #128
- Add FASTQ=>FASTA, SAM=>FASTQ conversions. #129
- Add some BED manipulation APIs. #131
- Support more source types. #132
- Fix some serialization functions. #122
- Fix parsing SAM header values containing ':'. #123
- Fix wrong padding of last bases in 2bit writer. #127
- Fix a bug in merging bed regions. #130
- Fix exec binary on Java 9+. #133
0.5.1 - 2017-11-10
- Set up benchmarks. #108
- Add
read-indices
toISequenceReader
protocol. #109 - Extract region utils to
cljam.util.region
and add some functions. #110 - Add region option to view command. #112
- Add FASTA-TwoBit converter. #117
- Make convert parallelism controllable. #113
- Java 9 compatibility. #114
- Move coverage phase to build stages. #116
- Low-memory sequence I/O. #118
- Improve performance of FASTA random reading. #120
- Fix StackOverflowError in
cljam.io.protocols/read-in-region
. #107 - Fix parsing comma-separated number in region. #111
- Don't refer
clojure.core/indexed?
incljam.io
. #115 - Fix a bug that 2bit reader incorrectly reads small n. #119
0.5.0 - 2017-09-05
:ignore-index
option ofcljam.io.sam/bam-reader
andcljam.io.sequence/fasta-reader
is removed.:depth
option ofcljam.io.sam/read-alignments
is removed. It returnsSAMAlignment
only.- SAM/BAM reading functions return
Eduction
instances instead of lazy sequences.
- Add a logging configuration for cli. #99
- Add an ordering function for chromosome name. #101
- Add utilities for whole-genome coordinate. #103
- Refactor cljam.algo.level. #93
- Refactor BAI I/O. #96
- Reorganize BAM I/O. #97
- Tweak the normalization function for chromosome name. #98
- Make index reading of FASTA reader delayed. #100
- Improve sequence readers. #104
- Rename test namespaces to conventional names. #105
- Upgrade dependencies. #106
- Update an example usage of depth in README. #94
- Use returned values of conj! in reg->bins*. #95
- Use lazy pmap for lazy-depth. #102
0.4.1 - 2017-08-01
- Improve chromosome normalization. #89
- Suppress log output in test. #90
- Extract depth algorithm and improve performance. #91
- Fix parser of optional fields in SAM/BAM. #92
0.4.0 - 2017-06-28
Namespaces of most APIs are changed in this release.
cljam.io.***
- reader/writer functions of various formats such as SAM, VCF, and FASTA.cljam.algo.***
- algorithms such as sort, indexing, and pileup.cljam.util.***
- utilities such as chromosome name normalization.cljam.tools.***
- tools such as command-line interface.
- Add protocols for I/O APIs. #78
- Add FASTAWriter and TwoBitWriter. #79
- Support SAM normalization. #86
- Add docstring. #88
- Remove dependency on raynes/fs. #80
- Improve sorter. #81
- Namespace refactoring. #83
- I/O API refactoring. #84 #85
- Use proton instead of some utilities. #87
- Fix test of BCF writer. #82
0.3.1 - 2017-05-29
- Add BED reader/writer. #73
- Change default start/end of bam reader. #74
- Extend cljam.core reader/writer functions. #75
- Setup automatic snapshots deployment. #76
- Improve performance of deep decoding of BAM files. #77
0.3.0 - 2017-05-08
From this release, cljam.vcf/read-variants
parses FORMAT, FILTER, INFO and samples columns of VCF.
(require '[cljam.vcf :as vcf])
(with-open [rdr (vcf/reader "test-resources/vcf/test-v4_3.vcf")]
(first (vcf/read-variants rdr)))
;;=> {:FORMAT (:GT :GQ :DP :HQ),
;; :NA00001 {:DP 1, :GQ 48, :GT "0|0", :HQ (51 51)},
;; :NA00002 {:DP 8, :GQ 48, :GT "1|0", :HQ (51 51)},
;; :NA00003 {:DP 5, :GQ 43, :GT "1/1", :HQ (nil nil)},
;; :alt ["A"],
;; :chr "20",
;; :filter (:PASS),
;; :id "rs6054257",
;; :info {:AF (0.5), :DB :exists, :DP 14, :H2 :exists, :NS 3},
;; :pos 14370,
;; :qual 29.0,
;; :ref "G"}
Add {:depth :vcf}
option to the second argument if string is preferred.
- Add a function to clone bam reader. #39
- Support coverage analysis with cloverage. #45
- Add many tests. #60
- Add tests to check generated data correctness. #61
- Add BCF reader/writer and utility functions for VCF. #68
- Improves performance of pileup. #41
- Migrate from midje to clojure.test. #44
- Correct base qualities if reads are overlapped. #47
- Use lein-binplus instead of lein-bin. #48
- Add marks to private fn. #50
- Refine unused code for newline. #51
- Pileup without options. #54
- Refine
trim-chromosome-key
. #55 - Refine
fastq-char->phred-byte
/ Addphred-byte->fastq-char
. #56 - Separate test resources based on file types. #71
- Separate :slow and :heavy test-selectors. #72
0.2.1 - 2017-04-06
- 2bit-encoded reference reader. #31
- Add functions for deduplicating paired-end BAM. #32
- Add :ignore-index option to cljam.fasta/reader. #34
0.2.0 - 2017-02-20
From this release, ranges are represented as one-based closed intervals. For example,
{:chr "chr1", :start 1, :end 3}
represents the first three bases of chromosome 1.
- Improve performance of reading BAM files. #22
- Replace candidate-message function with one in clj-sub-command.
- Improve performance of reading vcf file. #29
- Fix a bug in BAM random reader. #21
- Read multiple contigs in VCF meta info. #23 #25
- Enable decompressUntilEOF of CompressorStreamFactory. #26
- Fix bugs in mpileup. #27 #28
0.1.6 - 2017-01-06
- Sequential reading function for FASTA #16
- Common compressor stream #17
- Add encode/decode functions for SAM FLAG field #19
- Fix mpileup bug
- Improve project settings #18
0.1.5 - 2016-07-26
- Add FASTQ I/O
- Add VCF I/O
- Improve level analyzer
- Improve mpileup
- Improve performance of SAM/BAM conversion
- Fix bugs of sorter
- Fix small bugs
0.1.4 - 2016-02-02
- Add level analyzer of alignments
- Update dependencies except clojure 1.8.0
- Enable CI with JDK8
- Fix bugs of sorter
- Fix bugs of m-pileup
- Fix small bugs
0.1.3 - 2015-08-14
- Improve FASTA reading
- Improve normalization
- Improve pileup performance (also support concurrency)
- Enable
index
command to specify the number of threads - Display sub-command candidates
- Fix bugs
0.1.2 - 2014-05-20
- Improve performance of pileup
- Fix small bugs
- Refactoring codes
0.1.1 - 2014-04-25
- Improve performance of BAM indexing
- Fix bugs of FASTA indexing
- Fix bugs of sequence dictionary creation
- Refactoring codes
First release