aboutsummaryrefslogtreecommitdiff
path: root/RELEASE-NOTES.md
blob: ceb01988a8b00e293610915c9d4f805c4705000e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
For contributions
see
[contributors](https://github.com/genetics-statistics/GEMMA/graphs/contributors)
and
[commits](https://github.com/genetics-statistics/GEMMA/commits/master).

## ChangeLog v0.98.6 (2021/--/--)

* Added github-CI: https://github.com/genetics-statistics/GEMMA/actions

## ChangeLog v0.98.5 (2021/08/25)

* Changed banner to show 'Copyright (C) 2012–2021, Xiang Zhou, Pjotr Prins and team'
* Fixed tests for new Debian stable release - mostly roundoff confusion
* Documented `-lmm 9` which adds additive effect to `-lmm 2`
* Fix of GSL ERROR: function value is not finite in brent.c at line 202 errno 9, see #210
* Added profiler support in Guix profile and make file. Profiling issue #243
* Added new test suite to replace shunit2 scripts - should make it more robust for different architectures, see github issues #242 and #247.
* Fixed iter could go out of bounds in CalcLambda, see 43bbfda6253d1c5b88cb4ef5c092eb8be716592f
* Make sure P_yy=0 does not fail

MD5SUM of static binary:

    f5e90535ff6a36867dcb5f6b0fb24135  gemma-0.98.5

## ChangeLog v0.98.4 (2021/01/29)

Maintenance release

* Fix error on free with randomizer that segfaulted, see #239
* Moved travis-ci.org to travis-ci.com
* GEMMA builds on ARM and other architectures, see #189 and https://buildd.debian.org/status/package.php?p=gemma (thanks @tillea)
* Fixed static build with 00480e8549987b6cae7100b28bcead2a2d501177 - requires gfortran path for OpenBLAS
* Updated README's and Manual
* Added `-lmm 9` switch which shows ~beta/se~ with ~lmle~ and ~plrt~, see #237

## ChangeLog v0.98.3 (2020/11/28)

Maintenance release

* Fix Travis build with gcc 5.5 (OpenBLAS related round-offs)
* Fix Travis build on OSX (brew related)
* GEMMA installs on FreeBSD (thanks @outpaddling)
* Added github issue templates to ascertain the github issue
  tracker is only used for reporting bugs
* Added more debug output creating the GRM
* Remove info on the floating point version (gemmaf).
* Sane randomization handling: GEMMA now honours the -seed option
  (mostly for bslmm). It also allows GSL_RNG_SEED and GSL_RNG_TYPE to
  be used. See the
  [docs](https://www.gnu.org/software/gsl/doc/html/rng.html).
* The tests now use a fixed seed for the randomizer

A docker binary that runs on Linux, MaxOS and Windows can be downloaded from

http://ipfs.genenetwork.org/ipfs/Qmaq1q73ox53ykKdRF6tYDXL9bEKJQfnGCqBxFdo1fcYPb/gemma-0.98.3-AMD64-Guix-docker-release.tgz

After loading the image into Docker, run with something like

    docker run -w /run -v ${PWD}:/run ed5bf7499691 gemma -gk -bfile example/mouse_hs1940


## ChangeLog v0.98.2 (2019/05/28)

GCC 10.1 fix release

* Fix build on gcc 10.1 (mostly BLAS include files)
* Removed Eigenlib dependencies and modifed test results to match openblas output
* Also tested with guix gcc-toolchain@8.4.0 gdb gsl openblas zlib bash ld-wrapper perl vim which

## ChangeLog v0.98.1 (2018/12/10)

Bug fix release

* Fixes regression on Plink analysis with missing data #188 (thank you @voichek)

To install the image, download and

```sh
md5sum gemma-0.98.1.gz
8e7eda8091e4c4e587d91cf9d94ed147  gemma-0.98.1.gz
gzip -d gemma-0.98.1.gz
chmod a+x gemma-0.98.1
./gemma-0.98.1

GEMMA 0.98.1 (2018-12-10) by Xiang Zhou and team (C) 2012-2018

type ./gemma -h [num] for detailed help
```

The binary images were reproducibly built on x86_64 with

```sh
Generation 1    Nov 03 2018 12:30:38    (current)
  guix ff34941
    repository URL: https://git.savannah.gnu.org/git/guix.git
    commit: ff349415b27cc764fd7168ef35ca76c3b8b05889

guix environment -C guix --ad-hoc gcc gdb gfortran:lib gsl eigen openblas zlib bash ld-wrapper perl
make clean && make -j 16 && make fast-check
for x in `ldd bin/gemma|cut -d ' ' -f 3` ; do realpath $x ; done
/gnu/store/kf8pva0pgwg6yrcpa52iri293j8fc56q-gsl-2.5/lib/libgsl.so.23.1.0
/gnu/store/fxiwj2wpp11sif613axdax7gmwzsg6kp-zlib-1.2.11/lib/libz.so.1.2.11
/gnu/store/zpm494j02m6snmvcjxcdqxkgwx43nkmj-openblas-0.3.2/lib/libopenblasp-r0.3.2.so
/gnu/store/4ik1aw34nxs4372xlimvnaq2ilhclwpw-gfortran-8.2.0-lib/lib/libgfortran.so.5.0.0
/gnu/store/bmaxmigwnlbdpls20px2ipq1fll36ncd-gcc-8.2.0-lib/lib/libquadmath.so.0.0.0
/gnu/store/bmaxmigwnlbdpls20px2ipq1fll36ncd-gcc-8.2.0-lib/lib/libstdc++.so.6.0.25
/gnu/store/l4lr0f5cjd0nbsaaf8b5dmcw1a1yypr3-glibc-2.27/lib/libm-2.27.so
/gnu/store/bmaxmigwnlbdpls20px2ipq1fll36ncd-gcc-8.2.0-lib/lib/libgcc_s.so.1
/gnu/store/l4lr0f5cjd0nbsaaf8b5dmcw1a1yypr3-glibc-2.27/lib/libpthread-2.27.so
/gnu/store/l4lr0f5cjd0nbsaaf8b5dmcw1a1yypr3-glibc-2.27/lib/libc-2.27.so
/gnu/store/1yym4xrvnlsvcnbzgxy967cg6dlb19gq-gfortran-5.5.0-lib/lib/libgfortran.so.3.0.0

# build static image
make clean && make WITH_GFORTRAN=1 static -j 16 && make check
```

## ChangeLog v0.98 (2018/09/28)

With the v0.98 release GEMMA has stabilized, is faster than ever, and
contains extensive error checking. This release contains quite a few
bug fixes, hardware-based floating point checking and speedups.

* GEMMA is faster than ever #136
* Fixes log standing 'GSL ERROR: matrix is singular in lu.c at line
  266' mvlmm regression with correlated phenotypes #179 with
  https://github.com/genetics-statistics/GEMMA/commit/99527865c00b74a3a48daa2e1e5eb7c71bd861b5 -
  (thank you @HannahVMeyer and @xiangzhou)
* Adds x86 hardware based floating point error checking #161, see 70f419673d5d3e49a3eada70c70c2d284b502d7b
* Provide a static release of GEMMA again for Linux #162
* Fixes clang++ build on MacOS #160
* Enforce failed for 0.00 in src/io.cpp at line 1431 in BimbamKin #149
* -no-check is default now
* Force SIGINT on error so debuggers can get a stack trace
* Improved CalcPab functions to not break on division by zero
  https://github.com/genenetwork/GEMMA/commit/8010061e8af476d66a0ca6fb6d509b36acdb9b9a
  (thank you @xiangzhou)
* Add Windows MingW compilation support (thanks @DannyArends)
* Fully utilizing GNU Guix containers for a build system (see INSTALL.md)
* Updated manual by @xiangzhou)

Note: This is the last purely C/C++ compilable release because we are
integrating faster-lmm-d code for new functionality in the next
version. Also we are working on a Python and R interface.

To install the image, download and

```sh
md5sum gemma-0.98.gz
875cde6d37fb96014356b15dc77ebf93  gemma-0.98.gz
gzip -d gemma-0.98.gz
chmod a+x gemma-0.98
./gemma-0.98

GEMMA 0.98 (2018-09-28) by Xiang Zhou and team (C) 2012-2018

type ./gemma -h [num] for detailed help
```

The binary images were reproducibly built on x86_64 with

```sh
guix pull -l
Generation 4    Sep 25 2018 10:16:39    (current)
  guix 932839f
    repository URL: https://git.savannah.gnu.org/git/guix.git
    branch: origin/master
    commit: 932839ff124ff3b0dd3070914fb1c5beec69bf32

guix environment -C guix --ad-hoc gcc gdb gfortran:lib gsl eigen openblas zlib bash ld-wrapper perl
make clean && make -j 16 && make fast-check
for x in `ldd bin/gemma|cut -d ' ' -f 3` ; do realpath $x ; done
  /gnu/store/kf8pva0pgwg6yrcpa52iri293j8fc56q-gsl-2.5/lib/libgsl.so.23.1.0
  /gnu/store/fxiwj2wpp11sif613axdax7gmwzsg6kp-zlib-1.2.11/lib/libz.so.1.2.11
  /gnu/store/zpm494j02m6snmvcjxcdqxkgwx43nkmj-openblas-0.3.2/lib/libopenblasp-r0.3.2.so
  /gnu/store/4ik1aw34nxs4372xlimvnaq2ilhclwpw-gfortran-8.2.0-lib/lib/libgfortran.so.5.0.0
  /gnu/store/bmaxmigwnlbdpls20px2ipq1fll36ncd-gcc-8.2.0-lib/lib/libquadmath.so.0.0.0
  /gnu/store/bmaxmigwnlbdpls20px2ipq1fll36ncd-gcc-8.2.0-lib/lib/libstdc++.so.6.0.25
  /gnu/store/l4lr0f5cjd0nbsaaf8b5dmcw1a1yypr3-glibc-2.27/lib/libm-2.27.so
  /gnu/store/bmaxmigwnlbdpls20px2ipq1fll36ncd-gcc-8.2.0-lib/lib/libgcc_s.so.1
  /gnu/store/l4lr0f5cjd0nbsaaf8b5dmcw1a1yypr3-glibc-2.27/lib/libpthread-2.27.so
  /gnu/store/l4lr0f5cjd0nbsaaf8b5dmcw1a1yypr3-glibc-2.27/lib/libc-2.27.so
  /gnu/store/1yym4xrvnlsvcnbzgxy967cg6dlb19gq-gfortran-5.5.0-lib/lib/libgfortran.so.3.0.0

# build static image
make clean && make FORCE_STATIC=1 -j 16 && make check
```


## ChangeLog v0.97 (2017/12/19)

This is a massive bug fix release with many improvements.

### Speedup of GEMMA by using optimized OpenBlas

* Binary release with OpenBlas optimization for generic x86_64 and for Intel Haswell
* Dropped using standard lapack and gslcblas libs
* Fixed NaN bug with GSL2 and made recent libraries the default
* Minimized use of Eigenlib libraries (single threaded and slow compilation)
* -legacy switch provides v0.96 behaviour (incl. eigenlib)

### Added Leave One Chromosome Out (LOCO) support for Bimbam (K and LMM)

* See 449d882a3b33ef81ef4f0127c3932b01fa796dbb
* -snps [filename] option allow selecting a subset of SNPs for analysis
* -loco [chr] option for K and LMM computations
* added [gemma-wrapper](https://github.com/genetics-statistics/gemma-wrapper) to make using LOCO easy
* LOCO examples in https://github.com/genetics-statistics/GEMMA/blob/master/test/dev_test_suite.sh

### Added checks for matrices

* #72 and #45 implements
  1. Fail if K has negative eigen values
  2. Fail if K is not symmetric
  3. Fail if K is not positive definite
  4. Warn in eigen values are very small
  5. Warn if K is ill conditioned
* Check for NaN values

### Added test framework and unit tests

* Added integration and unit tests, as well as
  [Travis-CI](https://travis-ci.org/genenetwork/GEMMA) support
* Improved debug information and testing of input files

### Other

* #81 printing out beta and se(beta) under -lmm 2 as well as logl_H1
* Improved README and INSTALL docs
* Added support info and code of conduct
* Reformatted the full source tree with 3935ba39d30666dd7d4a831155631847c77b70c4
* Merged LMM computation for Plink and Bimbam formats
* Fixed progressbar issues
* #46 removed support for Oxford format
* Got rid of all compiler warnings
* Updated copyright banner, info and license information for included software
* Started a [discussion list](https://groups.google.com/forum/#!forum/gemma-discussion)

See also [commits](https://github.com/genetics-statistics/GEMMA/commits/master).

## GEMMA 0.96.0

+ First stable release.

## GEMMA 0.95.2

+ Resolved Issue #36.

## GEMMA 0.95.1

+ Created first release of GEMMA 0.95a following request in Issue #33.

## GEMMA 0.94.1

+ Fixed a bug (the predict option for multiple phenotype imputation
was not recoginzed with PLINK files).

## GEMMA 0.94.0

+ Implemented the multivariate linear mixed model.

## GEMMA 0.93

+ Implemented the Bayesian sparse linear mixed model.

## GEMMA 0.92

+ Fixed a few typos.

+ Now allows for missing values in the covariates file.

+ Included REMLE estimate for lambda in the output .log file.

+ Added small GWAS example dataset

+ Added detailed user manual.

## GEMMA 0.91

+ Fixed a bug (BIMBAM annotation file not recognized).

## GEMMA 0.90

+ Initial pre-release.

See also https://github.com/genetics-statistics/GEMMA/releases