pkgsrc-WIP-changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

gemma: Genome-wide Efficient Mixed Model Association



Module Name:	pkgsrc-wip
Committed By:	Jason Bacon <bacon%NetBSD.org@localhost>
Pushed By:	outpaddling
Date:		Mon Apr 29 17:09:36 2019 -0500
Changeset:	9ade706bba1920e9b74d1e8c312870ea726eeb4c

Added Files:
	gemma/DESCR
	gemma/Makefile
	gemma/PLIST
	gemma/distinfo
	gemma/files/Makefile
	gemma/patches/patch-doc_manual.tex
	gemma/patches/patch-src_fastblas.cpp
	gemma/patches/patch-src_fastopenblas.h
	gemma/patches/patch-src_gemma.cpp

Log Message:
gemma: Genome-wide Efficient Mixed Model Association

To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=9ade706bba1920e9b74d1e8c312870ea726eeb4c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

diffstat:
 gemma/DESCR                            |   3 +
 gemma/Makefile                         |  36 +++++++
 gemma/PLIST                            |   2 +
 gemma/distinfo                         |  10 ++
 gemma/files/Makefile                   |  67 +++++++++++++
 gemma/patches/patch-doc_manual.tex     | 128 +++++++++++++++++++++++++
 gemma/patches/patch-src_fastblas.cpp   |  19 ++++
 gemma/patches/patch-src_fastopenblas.h |  19 ++++
 gemma/patches/patch-src_gemma.cpp      | 170 +++++++++++++++++++++++++++++++++
 9 files changed, 454 insertions(+)

diffs:
diff --git a/gemma/DESCR b/gemma/DESCR
new file mode 100644
index 0000000000..9db7086ea4
--- /dev/null
+++ b/gemma/DESCR
@@ -0,0 +1,3 @@
+GEMMA is a software toolkit for fast application of linear mixed models (LMMs)
+and related models to genome-wide association studies (GWAS) and other
+large-scale data sets.
diff --git a/gemma/Makefile b/gemma/Makefile
new file mode 100644
index 0000000000..44c62da70a
--- /dev/null
+++ b/gemma/Makefile
@@ -0,0 +1,36 @@
+# $NetBSD$
+#
+###########################################################
+#                  Generated by fbsd2pkg                  #
+#              Mon Apr 29 11:01:43 CDT 2019               #
+###########################################################
+
+DISTNAME=	GEMMA-${PV}
+CATEGORIES=	biology
+MASTER_SITES=	${MASTER_SITE_GITHUB:=genetics-statistics/}
+GITHUB_PROJECT=	GEMMA
+GITHUB_TAG=	${PV}
+
+MAINTAINER=	bacon%NetBSD.org@localhost
+HOMEPAGE=	https://github.com/genetics-statistics/GEMMA
+COMMENT=	Genome-wide Efficient Mixed Model Association
+LICENSE=	gnu-gpl-v3
+
+# Just assuming C and C++: Adjust this!
+USE_LANGUAGES=	c c++
+USE_TOOLS+=	gmake
+
+CXXFLAGS+=	-I${PREFIX}/include/eigen3 -DOPENBLAS -DOPENBLAS_LEGACY
+CXXFLAGS+=	-fpermissive
+MAKE_FLAGS+=	LDFLAGS+="${BLAS_LIBS} -lgsl -lcblas -lz"
+MAKE_FILE=	${FILESDIR}/Makefile
+
+PV=		0.98.1
+BLAS_ACCEPTED=	openblas
+
+.include "../../devel/zlib/buildlink3.mk"
+.include "../../wip/mk/blas.buildlink3.mk"
+.include "../../wip/cblas/buildlink3.mk"
+.include "../../math/gsl/buildlink3.mk"
+.include "../../math/eigen3/buildlink3.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/gemma/PLIST b/gemma/PLIST
new file mode 100644
index 0000000000..af3289fe74
--- /dev/null
+++ b/gemma/PLIST
@@ -0,0 +1,2 @@
+@comment $NetBSD$
+bin/gemma
diff --git a/gemma/distinfo b/gemma/distinfo
new file mode 100644
index 0000000000..b13346ec22
--- /dev/null
+++ b/gemma/distinfo
@@ -0,0 +1,10 @@
+$NetBSD$
+
+SHA1 (GEMMA-0.98.1.tar.gz) = 460036a4a689ed0ff1cf049e671a3804faa0e873
+RMD160 (GEMMA-0.98.1.tar.gz) = a2a89a092e653536a50c8ad9561a7c534cebff2c
+SHA512 (GEMMA-0.98.1.tar.gz) = 501e77a0150d9de25c793b67245f813569d12313a60ee6974719cd6f97d0044fe8f975f039b7864b1e3c93c16fe31cb8e3a69e719bc058532bbd46891c8a6d45
+Size (GEMMA-0.98.1.tar.gz) = 49569015 bytes
+SHA1 (patch-doc_manual.tex) = 02b3c057b31794b3f87d825870369d264c4b9f31
+SHA1 (patch-src_fastblas.cpp) = 1190884b24ddefbff785fc84c6381db0dbde14d1
+SHA1 (patch-src_fastopenblas.h) = 7a70c72de630bef2a7f24d66324a7d8a153195df
+SHA1 (patch-src_gemma.cpp) = 7420a4be1d6fe3b487c9565c153955e733ac2e68
diff --git a/gemma/files/Makefile b/gemma/files/Makefile
new file mode 100644
index 0000000000..dbd29d1c9d
--- /dev/null
+++ b/gemma/files/Makefile
@@ -0,0 +1,67 @@
+
+GEMMA_VERSION = $(shell cat ./VERSION)
+VGEN		= scripts/gen_version_info.sh
+CXXFLAGS	+= -DHAVE_INLINE -pthread -Wall -std=gnu++11
+CXXFLAGS 	+= -DNDEBUG -Icontrib/catch-1.9.7 -Isrc
+
+SRC_DIR		= ./src
+TEST_SRC_DIR	= ./test/src
+DESTDIR		?= .
+PREFIX		?= /usr/local
+MKDIR		?= mkdir
+INSTALL		?= install
+
+BIN		= gemma
+HDR		= $(wildcard src/*.h) ./src/version.h
+SOURCES		= $(wildcard src/*.cpp)
+OBJS		= $(SOURCES:.cpp=.o)
+
+.PHONY: all test
+
+all: $(BIN)
+
+./src/version.h: ./VERSION
+	$(shell bash $(VGEN) $(GUIX_PROFILE) > src/version.h)
+
+$(BIN): $(OBJS)
+	$(CXX) $(CXXFLAGS) -o $(BIN) $(OBJS) $(LDFLAGS)
+
+$(OBJS): $(HDR)
+
+install: all
+	$(MKDIR) -p $(DESTDIR)$(PREFIX)/bin
+	$(INSTALL) -s -c $(BIN) $(DESTDIR)$(PREFIX)/bin
+
+.SUFFIXES : .cpp .c .o $(SUFFIXES)
+
+./bin/unittests-gemma: contrib/catch-1.9.7/catch.hpp $(TEST_SRC_DIR)/unittests-main.o $(TEST_SRC_DIR)/unittests-math.o $(OBJS)
+	$(CXX) $(CXXFLAGS) $(TEST_SRC_DIR)/unittests-main.o  $(TEST_SRC_DIR)/unittests-math.o $(filter-out src/main.o, $(OBJS)) $(LIBS) -o ./bin/unittests-gemma
+
+unittests: all ./bin/unittests-gemma
+	./bin/unittests-gemma
+
+fast-check: all unittests
+	rm -vf test/output/*
+	cd test && ./dev_test_suite.sh | tee ../dev_test.log
+	grep -q 'success rate: 100%' dev_test.log
+
+slow-check: all
+	rm -vf test/output/*
+	cd test && ./test_suite.sh | tee ../test.log
+	grep -q 'success rate: 100%' test.log
+
+lengthy-check: all
+	rm -vf test/output/*
+	cd test && ./lengthy_test_suite.sh | tee ../lengthy_test.log
+	grep -q 'success rate: 100%' lengthy_test.log
+
+check: fast-check slow-check
+
+check-all: check lengthy-check
+
+clean:
+	rm -vf $(SRC_DIR)/*.o
+	rm -vf $(SRC_DIR)/*~
+	rm -vf $(TEST_SRC_DIR)/*.o
+	rm -vf $(BIN)
+	rm -vf ./bin/unittests-gemma
diff --git a/gemma/patches/patch-doc_manual.tex b/gemma/patches/patch-doc_manual.tex
new file mode 100644
index 0000000000..8cfeb0e229
--- /dev/null
+++ b/gemma/patches/patch-doc_manual.tex
@@ -0,0 +1,128 @@
+$NetBSD$
+
+# Don't assume running from current directory
+
+--- doc/manual.tex.orig	2019-04-18 21:03:11 UTC
++++ doc/manual.tex
+@@ -767,8 +767,8 @@ of ``nan"s.
+ The basic usages for linear model association analysis with either the PLINK binary ped format or the BIMBAM format are:
+ 
+ \begin{verbatim}
+-./gemma -bfile [prefix] -lm [num] -o [prefix]
+-./gemma -g [filename] -p [filename] -a [filename] -lm [num] -o [prefix]
++gemma -bfile [prefix] -lm [num] -o [prefix]
++gemma -g [filename] -p [filename] -a [filename] -lm [num] -o [prefix]
+ \end{verbatim}
+ 
+ where the ``-lm [num]" option specifies which frequentist test to use,
+@@ -825,8 +825,8 @@ The basic usages to calculate an estimated relatedness
+ either the PLINK binary ped format or the BIMBAM format are:
+ %
+ \begin{verbatim}
+-./gemma -bfile [prefix] -gk [num] -o [prefix]
+-./gemma -g [filename] -p [filename] -gk [num] -o [prefix]
++gemma -bfile [prefix] -gk [num] -o [prefix]
++gemma -g [filename] -p [filename] -gk [num] -o [prefix]
+ \end{verbatim}
+ %
+ where the ``-gk [num]" option specifies which relatedness matrix to
+@@ -887,8 +887,8 @@ matrix with either the PLINK binary ped format or the 
+ are:
+ %
+ \begin{verbatim}
+-./gemma -bfile [prefix] -k [filename] -eigen -o [prefix]
+-./gemma -g [filename] -p [filename] -k [filename] -eigen -o [prefix]
++gemma -bfile [prefix] -k [filename] -eigen -o [prefix]
++gemma -g [filename] -p [filename] -k [filename] -eigen -o [prefix]
+ \end{verbatim}
+ %
+ where the ``-bfile [prefix]" specifies PLINK binary ped file prefix;
+@@ -923,8 +923,8 @@ The basic usages for association analysis with either 
+ ped format or the BIMBAM format are:
+ 
+ \begin{verbatim}
+-./gemma -bfile [prefix] -k [filename] -lmm [num] -o [prefix]
+-./gemma -g [filename] -p [filename] -a [filename] -k [filename] -lmm [num] -o [prefix]
++gemma -bfile [prefix] -k [filename] -lmm [num] -o [prefix]
++gemma -g [filename] -p [filename] -a [filename] -k [filename] -lmm [num] -o [prefix]
+ \end{verbatim}
+ 
+ where the ``-lmm [num]" option specifies which frequentist test to
+@@ -1037,8 +1037,8 @@ The basic usages for association analysis with either 
+ ped format or the BIMBAM format are:
+ 
+ \begin{verbatim}
+-./gemma -bfile [prefix] -k [filename] -lmm [num] -n [num1] [num2] [num3] -o [prefix]
+-./gemma -g [filename] -p [filename] -a [filename] -k [filename] -lmm [num]
++gemma -bfile [prefix] -k [filename] -lmm [num] -n [num1] [num2] [num3] -o [prefix]
++gemma -g [filename] -p [filename] -a [filename] -k [filename] -lmm [num]
+ -n [num1] [num2] [num3] -o [prefix]
+ \end{verbatim}
+ 
+@@ -1069,8 +1069,8 @@ In addition, when a small proportion of phenotypes are
+ missing, one can impute these missing values before association tests:
+ 
+ \begin{verbatim}
+-./gemma -bfile [prefix] -k [filename] -predict -n [num1] [num2] [num3] -o [prefix]
+-./gemma -g [filename] -p [filename] -a [filename] -k [filename] -predict
++gemma -bfile [prefix] -k [filename] -predict -n [num1] [num2] [num3] -o [prefix]
++gemma -g [filename] -p [filename] -a [filename] -k [filename] -predict
+ -n [num1] [num2] [num3] -o [prefix]
+ \end{verbatim}
+ 
+@@ -1099,8 +1099,8 @@ The basic usages for fitting a BSLMM with either the P
+ format or the BIMBAM format are:
+ 
+ \begin{verbatim}
+-./gemma -bfile [prefix] -bslmm [num] -o [prefix]
+-./gemma -g [filename] -p [filename] -a [filename] -bslmm [num] -o [prefix]
++gemma -bfile [prefix] -bslmm [num] -o [prefix]
++gemma -g [filename] -p [filename] -a [filename] -bslmm [num] -o [prefix]
+ \end{verbatim}
+ 
+ where the ``-bslmm [num]" option specifies which model to fit,
+@@ -1225,9 +1225,9 @@ The basic usages for association analysis with either 
+ ped format or the BIMBAM format are:
+ 
+ \begin{verbatim}
+-./gemma -bfile [prefix] -epm [filename] -emu [filename] -ebv [filename] -k [filename]
++gemma -bfile [prefix] -epm [filename] -emu [filename] -ebv [filename] -k [filename]
+ -predict [num] -o [prefix]
+-./gemma -g [filename] -p [filename] -epm [filename] -emu [filename] -ebv [filename]
++gemma -g [filename] -p [filename] -epm [filename] -emu [filename] -ebv [filename]
+ -k [filename] -predict [num] -o [prefix]
+ \end{verbatim}
+ 
+@@ -1300,8 +1300,8 @@ The basic usages for variance component estimation wit
+ matrices are:
+ 
+ \begin{verbatim}
+-./gemma -p [filename] -k [filename] -n [num] -vc [num] -o [prefix]
+-./gemma -p [filename] -mk [filename] -n [num] -vc [num] -o [prefix]
++gemma -p [filename] -k [filename] -n [num] -vc [num] -o [prefix]
++gemma -p [filename] -mk [filename] -n [num] -vc [num] -o [prefix]
+ \end{verbatim}
+ 
+ where the ``-vc [num]" option specifies which estimation to use, in
+@@ -1349,8 +1349,8 @@ binary ped format or the BIMBAM format. The basic usag
+ component estimation with summary statistics are:
+ 
+ \begin{verbatim}
+-./gemma -beta [filename] -bfile [prefix] -vc 1 -o [prefix]
+-./gemma -beta [filename] -g [filename] -p [filename] -a [filename] -vc 1 -o [prefix]
++gemma -beta [filename] -bfile [prefix] -vc 1 -o [prefix]
++gemma -beta [filename] -g [filename] -p [filename] -a [filename] -vc 1 -o [prefix]
+ \end{verbatim}
+ 
+ where the ``-vc 1" option specifies to use MQS-HEW; ``-beta
+@@ -1395,8 +1395,8 @@ previous MQS run. The basic usages for using the asymp
+ compute the confidence intervals are
+ 
+ \begin{verbatim}
+-./gemma -beta [filename] -bfile [prefix] -ref [prefix] -pve [num] -ci 1 -o [prefix]
+-./gemma -beta [filename] -g [filename] -p [filename] -ref [prefix] -pve [num] -ci 1 -o [prefix]
++gemma -beta [filename] -bfile [prefix] -ref [prefix] -pve [num] -ci 1 -o [prefix]
++gemma -beta [filename] -g [filename] -p [filename] -ref [prefix] -pve [num] -ci 1 -o [prefix]
+ \end{verbatim}
+ 
+ In the above usages, ``-ref [prefix]" specifies the prefix of the
diff --git a/gemma/patches/patch-src_fastblas.cpp b/gemma/patches/patch-src_fastblas.cpp
new file mode 100644
index 0000000000..46f3e0c0a5
--- /dev/null
+++ b/gemma/patches/patch-src_fastblas.cpp
@@ -0,0 +1,19 @@
+$NetBSD$
+
+# gcc7 error
+
+--- src/fastblas.cpp.orig	2019-04-29 21:49:43.950495513 +0000
++++ src/fastblas.cpp
+@@ -66,9 +66,9 @@ gsl_matrix *fast_copy(gsl_matrix *m, con
+ /*
+     Helper function fast_cblas_dgemm runs the local dgemm
+ */
+-void fast_cblas_dgemm(const enum CBLAS_ORDER Order,
+-                      const enum CBLAS_TRANSPOSE TransA,
+-                      const enum CBLAS_TRANSPOSE TransB,
++void fast_cblas_dgemm(const CBLAS_ORDER Order,
++                      const CBLAS_TRANSPOSE TransA,
++                      const CBLAS_TRANSPOSE TransB,
+                       const size_t M,
+                       const size_t N,
+                       const size_t K,
diff --git a/gemma/patches/patch-src_fastopenblas.h b/gemma/patches/patch-src_fastopenblas.h
new file mode 100644
index 0000000000..adffdccc3e
--- /dev/null
+++ b/gemma/patches/patch-src_fastopenblas.h
@@ -0,0 +1,19 @@
+$NetBSD$
+
+# gcc7 error
+
+--- src/fastopenblas.h.orig	2019-04-29 21:48:45.740065714 +0000
++++ src/fastopenblas.h
+@@ -29,9 +29,9 @@ extern "C"
+ }
+ #include "gsl/gsl_matrix.h"
+ 
+-void fast_cblas_dgemm(const enum CBLAS_ORDER Order,
+-                      const enum CBLAS_TRANSPOSE TransA,
+-                      const enum CBLAS_TRANSPOSE TransB,
++void fast_cblas_dgemm(const CBLAS_ORDER Order,
++                      const CBLAS_TRANSPOSE TransA,
++                      const CBLAS_TRANSPOSE TransB,
+                       const size_t M,
+                       const size_t N,
+                       const size_t K,
diff --git a/gemma/patches/patch-src_gemma.cpp b/gemma/patches/patch-src_gemma.cpp
new file mode 100644
index 0000000000..b90388ef88
--- /dev/null
+++ b/gemma/patches/patch-src_gemma.cpp
@@ -0,0 +1,170 @@
+$NetBSD$
+
+# Don't assume running from current directory
+
+--- src/gemma.cpp.orig	2019-04-18 21:03:48 UTC
++++ src/gemma.cpp
+@@ -154,7 +154,7 @@ void GEMMA::PrintHelp(size_t option) {
+ 
+   if (option == 0) {
+     cout << endl;
+-    cout << " type ./gemma -h [num] for detailed help" << endl;
++    cout << " type gemma -h [num] for detailed help" << endl;
+     cout << " options: " << endl;
+     cout << "  1: quick guide" << endl;
+     cout << "  2: file I/O related" << endl;
+@@ -176,116 +176,116 @@ void GEMMA::PrintHelp(size_t option) {
+   if (option == 1) {
+     cout << " QUICK GUIDE" << endl;
+     cout << " to generate a relatedness matrix: " << endl;
+-    cout << "         ./gemma -bfile [prefix] -gk [num] -o [prefix]" << endl;
+-    cout << "         ./gemma -g [filename] -p [filename] -gk [num] -o [prefix]"
++    cout << "         gemma -bfile [prefix] -gk [num] -o [prefix]" << endl;
++    cout << "         gemma -g [filename] -p [filename] -gk [num] -o [prefix]"
+          << endl;
+     cout << " to generate the S matrix: " << endl;
+-    cout << "         ./gemma -bfile [prefix] -gs -o [prefix]" << endl;
+-    cout << "         ./gemma -p [filename] -g [filename] -gs -o [prefix]"
++    cout << "         gemma -bfile [prefix] -gs -o [prefix]" << endl;
++    cout << "         gemma -p [filename] -g [filename] -gs -o [prefix]"
+          << endl;
+-    cout << "         ./gemma -bfile [prefix] -cat [filename] -gs -o [prefix]"
++    cout << "         gemma -bfile [prefix] -cat [filename] -gs -o [prefix]"
+          << endl;
+-    cout << "         ./gemma -p [filename] -g [filename] -cat [filename] -gs "
++    cout << "         gemma -p [filename] -g [filename] -cat [filename] -gs "
+             "-o [prefix]"
+          << endl;
+-    cout << "         ./gemma -bfile [prefix] -sample [num] -gs -o [prefix]"
++    cout << "         gemma -bfile [prefix] -sample [num] -gs -o [prefix]"
+          << endl;
+-    cout << "         ./gemma -p [filename] -g [filename] -sample [num] -gs -o "
++    cout << "         gemma -p [filename] -g [filename] -sample [num] -gs -o "
+             "[prefix]"
+          << endl;
+     cout << " to generate the q vector: " << endl;
+-    cout << "         ./gemma -beta [filename] -gq -o [prefix]" << endl;
+-    cout << "         ./gemma -beta [filename] -cat [filename] -gq -o [prefix]"
++    cout << "         gemma -beta [filename] -gq -o [prefix]" << endl;
++    cout << "         gemma -beta [filename] -cat [filename] -gq -o [prefix]"
+          << endl;
+     cout << " to generate the ldsc weigthts: " << endl;
+-    cout << "         ./gemma -beta [filename] -gw -o [prefix]" << endl;
+-    cout << "         ./gemma -beta [filename] -cat [filename] -gw -o [prefix]"
++    cout << "         gemma -beta [filename] -gw -o [prefix]" << endl;
++    cout << "         gemma -beta [filename] -cat [filename] -gw -o [prefix]"
+          << endl;
+     cout << " to perform eigen decomposition of the relatedness matrix: "
+          << endl;
+-    cout << "         ./gemma -bfile [prefix] -k [filename] -eigen -o [prefix]"
++    cout << "         gemma -bfile [prefix] -k [filename] -eigen -o [prefix]"
+          << endl;
+-    cout << "         ./gemma -g [filename] -p [filename] -k [filename] -eigen "
++    cout << "         gemma -g [filename] -p [filename] -k [filename] -eigen "
+             "-o [prefix]"
+          << endl;
+     cout << " to estimate variance components: " << endl;
+-    cout << "         ./gemma -bfile [prefix] -k [filename] -vc [num] -o "
++    cout << "         gemma -bfile [prefix] -k [filename] -vc [num] -o "
+             "[prefix]"
+          << endl;
+-    cout << "         ./gemma -p [filename] -k [filename] -vc [num] -o [prefix]"
++    cout << "         gemma -p [filename] -k [filename] -vc [num] -o [prefix]"
+          << endl;
+-    cout << "         ./gemma -bfile [prefix] -mk [filename] -vc [num] -o "
++    cout << "         gemma -bfile [prefix] -mk [filename] -vc [num] -o "
+             "[prefix]"
+          << endl;
+     cout
+-        << "         ./gemma -p [filename] -mk [filename] -vc [num] -o [prefix]"
+-        << endl;
+-    cout << "         ./gemma -beta [filename] -cor [filename] -vc [num] -o "
++         << "         gemma -p [filename] -mk [filename] -vc [num] -o [prefix]"
++         << endl;
++    cout << "         gemma -beta [filename] -cor [filename] -vc [num] -o "
+             "[prefix]"
+          << endl;
+-    cout << "         ./gemma -beta [filename] -cor [filename] -cat [filename] "
++    cout << "         gemma -beta [filename] -cor [filename] -cat [filename] "
+             "-vc [num] -o [prefix]"
+          << endl;
+     cout << "         options for the above two commands: -crt -windowbp [num]"
+          << endl;
+-    cout << "         ./gemma -mq [filename] -ms [filename] -mv [filename] -vc "
++    cout << "         gemma -mq [filename] -ms [filename] -mv [filename] -vc "
+             "[num] -o [prefix]"
+          << endl;
+     cout << "         or with summary statistics, replace bfile with mbfile, "
+             "or g or mg; vc=1 for HE weights and vc=2 for LDSC weights"
+          << endl;
+-    cout << "         ./gemma -beta [filename] -bfile [filename] -cat "
++    cout << "         gemma -beta [filename] -bfile [filename] -cat "
+             "[filename] -wsnp [filename] -wcat [filename] -vc [num] -o [prefix]"
+          << endl;
+-    cout << "         ./gemma -beta [filename] -bfile [filename] -cat "
++    cout << "         gemma -beta [filename] -bfile [filename] -cat "
+             "[filename] -wsnp [filename] -wcat [filename] -ci [num] -o [prefix]"
+          << endl;
+     cout << " to fit a linear mixed model: " << endl;
+-    cout << "         ./gemma -bfile [prefix] -k [filename] -lmm [num] -o "
++    cout << "         gemma -bfile [prefix] -k [filename] -lmm [num] -o "
+             "[prefix]"
+          << endl;
+-    cout << "         ./gemma -g [filename] -p [filename] -a [filename] -k "
++    cout << "         gemma -g [filename] -p [filename] -a [filename] -k "
+             "[filename] -lmm [num] -o [prefix]"
+          << endl;
+     cout << " to fit a linear mixed model to test g by e effects: " << endl;
+-    cout << "         ./gemma -bfile [prefix] -gxe [filename] -k [filename] "
++    cout << "         gemma -bfile [prefix] -gxe [filename] -k [filename] "
+             "-lmm [num] -o [prefix]"
+          << endl;
+-    cout << "         ./gemma -g [filename] -p [filename] -a [filename] -gxe "
++    cout << "         gemma -g [filename] -p [filename] -a [filename] -gxe "
+             "[filename] -k [filename] -lmm [num] -o [prefix]"
+          << endl;
+     cout << " to fit a univariate linear mixed model with different residual "
+             "weights for different individuals: "
+          << endl;
+-    cout << "         ./gemma -bfile [prefix] -weight [filename] -k [filename] "
++    cout << "         gemma -bfile [prefix] -weight [filename] -k [filename] "
+             "-lmm [num] -o [prefix]"
+          << endl;
+-    cout << "         ./gemma -g [filename] -p [filename] -a [filename] "
++    cout << "         gemma -g [filename] -p [filename] -a [filename] "
+             "-weight [filename] -k [filename] -lmm [num] -o [prefix]"
+          << endl;
+     cout << " to fit a multivariate linear mixed model: " << endl;
+-    cout << "         ./gemma -bfile [prefix] -k [filename] -lmm [num] -n "
++    cout << "         gemma -bfile [prefix] -k [filename] -lmm [num] -n "
+             "[pheno cols...] -o [prefix]"
+          << endl;
+-    cout << "         ./gemma -g [filename] -p [filename] -a [filename] -k "
++    cout << "         gemma -g [filename] -p [filename] -a [filename] -k "
+             "[filename] -lmm [num] -n [pheno cols...] -o [prefix]"
+          << endl;
+     cout << " to fit a Bayesian sparse linear mixed model: " << endl;
+-    cout << "         ./gemma -bfile [prefix] -bslmm [num] -o [prefix]" << endl;
+-    cout << "         ./gemma -g [filename] -p [filename] -a [filename] -bslmm "
++    cout << "         gemma -bfile [prefix] -bslmm [num] -o [prefix]" << endl;
++    cout << "         gemma -g [filename] -p [filename] -a [filename] -bslmm "
+             "[num] -o [prefix]"
+          << endl;
+     cout << " to obtain predicted values: " << endl;
+-    cout << "         ./gemma -bfile [prefix] -epm [filename] -emu [filename] "
++    cout << "         gemma -bfile [prefix] -epm [filename] -emu [filename] "
+             "-ebv [filename] -k [filename] -predict [num] -o [prefix]"
+          << endl;
+-    cout << "         ./gemma -g [filename] -p [filename] -epm [filename] -emu "
++    cout << "         gemma -g [filename] -p [filename] -epm [filename] -emu "
+             "[filename] -ebv [filename] -k [filename] -predict [num] -o "
+             "[prefix]"
+          << endl;
+     cout << " to calculate correlations between SNPs: " << endl;
+-    cout << "         ./gemma -bfile [prefix] -calccor -o [prefix]" << endl;
+-    cout << "         ./gemma -g [filename] -p [filename] -calccor -o [prefix]"
++    cout << "         gemma -bfile [prefix] -calccor -o [prefix]" << endl;
++    cout << "         gemma -g [filename] -p [filename] -calccor -o [prefix]"
+          << endl;
+     cout << endl;
+   }


Home | Main Index | Thread Index | Old Index