cljam.io.tabix
is rewritten. #180cljam.io.bam-index.writer/pos->lidx-offset
is moved to cljam.io.util.bin/pos->lidx-offset
. #180cljam.io.sam.util/reg->bin
is moved to cljam.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
- Improve pileup by chunking alignments. #160
- Improve pileup more. #165
- 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 to cljam.io.protocols/{reader,writer}-url
. Their return values are java.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
- Remove N padding for out-of-range bases in read-sequence. #121
- Upgrade dependencies. #134
- 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
to ISequenceReader
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?
in cljam.io
. #115 - Fix a bug that 2bit reader incorrectly reads small n. #119
0.5.0 - 2017-09-05
:ignore-index
option of cljam.io.sam/bam-reader
and cljam.io.sequence/fasta-reader
is removed.:depth
option of cljam.io.sam/read-alignments
is removed. It returns SAMAlignment
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
- 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
- Examine result file of
dedupe
in test. #63 - Examine result file of
create-dict
in test. #64 - Examine result files of
cljam pileup
in test. #65 - Examine result file of
cljam normalize
in test. #66 - Examine result file of
create-mpileup
. #67 - Examine result file of
cljam level
test. #70
- 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
/ Add phred-byte->fastq-char
. #56 - Separate test resources based on file types. #71
- Separate :slow and :heavy test-selectors. #72
- Fix for
create-mpileup
. #52 - Fix for
cljam level
command. #57
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
- Improve performance of FASTA indexing. #30
- Improve performance of BAM sequence encoding. #35
- Fix cider-refresh error. #33
- Fix StackOverflowError in parse-header of SAM/BAM files. #38
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.
- BED file reader/writer. #20
- Read unplaced reads in BAM. #24
- 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