- 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
- Remove N padding for out-of-range bases in read-sequence. #121
- Fix some serialization functions. #122
- Fix parsing SAM header values containing ':'. #123
- Fix wrong padding of last bases in 2bit writer. #127
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