Skip to content

Commit

Permalink
Release 4.15.0
Browse files Browse the repository at this point in the history
  • Loading branch information
abought committed Mar 14, 2019
2 parents f134456 + a49eadf commit dbd2cff
Show file tree
Hide file tree
Showing 920 changed files with 27,356 additions and 129,868 deletions.
40 changes: 36 additions & 4 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,36 @@
raremetal/obj/
raremetalworker/obj/
bin/raremetalworkerTest
bin/raremetalTest
# Build process artifacts
cget/
build*

# Compiled Object files
*.slo
*.lo
*.o
*.obj

# Precompiled Headers
*.gch
*.pch

# Compiled Dynamic libraries
*.so
*.dylib
*.dll

# Fortran module files
*.mod
*.smod

# Compiled Static libraries
*.lai
*.la
*.a
*.lib

# Executables
*.exe
*.out
*.app

#Jetbrains
.idea/
143 changes: 143 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,143 @@
cmake_minimum_required(VERSION 3.2)
project(raremetal VERSION 4.15.0 LANGUAGES C CXX Fortran)

set(CMAKE_CXX_STANDARD 11)

find_package(Threads)
find_library(LIB_STATGEN StatGen)
find_library(LIB_SAVVY savvy)
find_library(LIB_ZSTD zstd)
find_library(LIB_HTS hts)
find_library(LIB_Z z)
find_library(LIB_RMATH Rmath)

add_library(libraremetal
libRareMetal/mvtnorm/randomF77.c
libRareMetal/pdf/PDF.cpp
libRareMetal/pdf/PDF.h
libRareMetal/pdf/PDFchartaxis.cpp
libRareMetal/pdf/PDFchartaxis.h
libRareMetal/pdf/PDFchartbar.cpp
libRareMetal/pdf/PDFchartbar.h
libRareMetal/pdf/PDFchartbasics.cpp
libRareMetal/pdf/PDFchartbasics.h
libRareMetal/pdf/PDFchartlegend.cpp
libRareMetal/pdf/PDFchartlegend.h
libRareMetal/pdf/PDFchartline.cpp
libRareMetal/pdf/PDFchartline.h
libRareMetal/pdf/PDFchartmarker.cpp
libRareMetal/pdf/PDFchartmarker.h
libRareMetal/pdf/PDFchartobject.cpp
libRareMetal/pdf/PDFchartobject.h
libRareMetal/pdf/PDFfont.cpp
libRareMetal/pdf/PDFfont.h
libRareMetal/pdf/PDFgrid.cpp
libRareMetal/pdf/PDFgrid.h
libRareMetal/pdf/PDFgridcell.cpp
libRareMetal/pdf/PDFgridcell.h
libRareMetal/pdf/PDFhistogram.cpp
libRareMetal/pdf/PDFhistogram.h
libRareMetal/pdf/PDFinfo.cpp
libRareMetal/pdf/PDFinfo.h
libRareMetal/pdf/PDFlinechart.cpp
libRareMetal/pdf/PDFlinechart.h
libRareMetal/pdf/PDFlinechartwithpolygon.cpp
libRareMetal/pdf/PDFlinechartwithpolygon.h
libRareMetal/pdf/PDFmanhattan.cpp
libRareMetal/pdf/PDFmanhattan.h
libRareMetal/pdf/PDFpage.cpp
libRareMetal/pdf/PDFpage.h
libRareMetal/pdf/PDFpageobject.cpp
libRareMetal/pdf/PDFpageobject.h
libRareMetal/src/Kinship.cpp
libRareMetal/src/Kinship.h
libRareMetal/src/KinshipX.cpp
libRareMetal/src/KinshipX.h
libRareMetal/src/MathCholesky.cpp
libRareMetal/src/MathCholesky.h
libRareMetal/src/MathDeriv.cpp
libRareMetal/src/MathDeriv.h
libRareMetal/src/MathFloatVector.cpp
libRareMetal/src/MathFloatVector.h
libRareMetal/src/MathGenMin.cpp
libRareMetal/src/MathGenMin.h
libRareMetal/src/MathGold.cpp
libRareMetal/src/MathGold.h
libRareMetal/src/MathNormal.cpp
libRareMetal/src/MathNormal.h
libRareMetal/src/MathSVD.cpp
libRareMetal/src/MathSVD.h
libRareMetal/src/Rmath.h
libRareMetal/src/TraitTransformations.cpp
libRareMetal/src/TraitTransformations.h
libRareMetal/mvtnorm/mvt.f)

set_target_properties(libraremetal PROPERTIES OUTPUT_NAME raremetal)
target_include_directories(libraremetal PUBLIC libRareMetal/pdf libRareMetal/src)
target_link_libraries(libraremetal ${LIB_STATGEN} ${LIB_HTS} ${CMAKE_THREAD_LIBS_INIT} ${LIB_Z} ${LIB_RMATH})

add_executable(raremetal
# raremetal/src/Calculate_mvt_pvalue.h
# raremetal/src/group.cpp
raremetal/src/GroupFromAnnotation.cpp
raremetal/src/GroupFromAnnotation.h
raremetal/src/Main.cpp
raremetal/src/Meta.cpp
raremetal/src/Meta.h
raremetal/src/MetaUtility.cpp
raremetal/src/MetaUtility.h
# raremetal/src/MixChidist.h
# raremetal/src/My_mvt.h
# raremetal/src/qfc.h
raremetal/src/QuadProg.cpp
raremetal/src/QuadProg.h
# raremetal/src/Rmath.h
raremetal/src/SummaryFileReader.cpp
raremetal/src/SummaryFileReader.h
# raremetal/src/WriteLog.h
raremetal/src/WritePDF.cpp
raremetal/src/WritePDF.h)

target_include_directories(raremetal PRIVATE otherLib/eigen-3.2.0)
target_link_libraries(raremetal libraremetal)
target_compile_definitions(raremetal PRIVATE VERSION="${PROJECT_VERSION}")

add_executable(raremetalworker
raremetalworker/src/AutoFit.cpp
raremetalworker/src/AutoFit.h
raremetalworker/src/AutoFit2.cpp
raremetalworker/src/AutoFit2.h
#raremetalworker/src/CheckRef.cpp
#raremetalworker/src/CheckRef.h
raremetalworker/src/DataQC.cpp
raremetalworker/src/DataQC.h
raremetalworker/src/FastFit.cpp
raremetalworker/src/FastFit.h
raremetalworker/src/GroupFromAnnotation.cpp
raremetalworker/src/GroupFromAnnotation.h
raremetalworker/src/KinshipEmp.cpp
raremetalworker/src/KinshipEmp.h
raremetalworker/src/logistic.cpp
raremetalworker/src/logistic.h
raremetalworker/src/Main.cpp
raremetalworker/src/OutputKin.cpp
raremetalworker/src/OutputKin.h
raremetalworker/src/PreMeta.cpp
raremetalworker/src/PreMeta.h
#raremetalworker/src/Rmath.h
#raremetalworker/src/snpHWE.h
raremetalworker/src/TransformResiduals.cpp
raremetalworker/src/TransformResiduals.h
#raremetalworker/src/WriteLog.h
raremetalworker/src/WritePDF.cpp
raremetalworker/src/WritePDF.h)

target_include_directories(raremetalworker PRIVATE otherLib/eigen-3.2.0)
target_link_libraries(raremetalworker libraremetal ${LIB_SAVVY} ${LIB_ZSTD})
target_compile_definitions(raremetalworker PRIVATE VERSION="${PROJECT_VERSION}")


if(BUILD_TESTS)
enable_testing()
add_subdirectory(tests)
endif()
7 changes: 0 additions & 7 deletions Makefile

This file was deleted.

54 changes: 0 additions & 54 deletions Makefile.inc

This file was deleted.

51 changes: 42 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,51 @@
Raremetal: A tool for rare variants meta-analysis

(c) 2012-2017 Shuang Feng, Dajiang Liu, Sai Chen, Gonçalo Abecasis
(c) 2012-2019 Shuang Feng, Dajiang Liu, Sai Chen, Gonçalo Abecasis

For more info, please see wiki page
http://genome.sph.umich.edu/wiki/RAREMETAL
For more information, please see the [RAREMETAL wiki](http://genome.sph.umich.edu/wiki/RAREMETAL).

## Installation
1. Clone this repository
2. Open a terminal and change to the directory containing this README file.
3. Enter the following sequence of commands to download dependencies and build the code:

```bash
$ cget install -f requirements.txt
$ mkdir build && cd build
$ cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE=../cget/cget/cget.cmake -DBUILD_TESTS=1 ..
$ make
```

**There is a known issue with the newest versions (>=4.14.0) of RAREMETAL, which may give incorrect p-values for some
burden test calculation methods. We are working on a fix, but for now we recommend using an older version (<= 4.13.9).**
To run unit tests, ensure that you have run cmake with `-DBUILD_TESTS=1` and built at least once,
then run `make` or `ctest --verbose`. These unit tests were written on Mac OS and you may encounter small differences
due to system precision on other platforms.

If you encounter problems while building, see the [wiki instructions](https://genome.sph.umich.edu/wiki/RAREMETAL_DOWNLOAD_%26_BUILD)
and [FAQ](https://genome.sph.umich.edu/wiki/RAREMETAL_FAQ) for more information.

Newest version: v.4.14.1 released at 07/10/2017
- Some bug fixes
- View change log at: http://genome.sph.umich.edu/wiki/RAREMETAL_Change_Log
### Requirements
Raremetal requires the following libraries to build. These should already be installed on most scientific
computing clusters.

We've made a brand new version, RAREMETAL2. Still in beta, but a full release is planned in the future. See:
- libRMath (The R math library. If not installed, use `apt-get install r-mathlib` on ubuntu or `brew install r`
on Mac OS)
- zlib (`apt-get install zlib1g-dev` on Ubuntu)

### Troubleshooting
On Mac OS, installing R as a standalone package is not sufficient to use libRMath in other executables.
Consider `brew install r` or [r-devel](https://r.research.att.com/) in that case.

On Mac OS, some `cget` dependencies (such as xz) may fail to install. In certain cases, this can be fixed by running an
OS-version-specific command similar to the below:

`$ open /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg`

## Changes
Newest version: v4.15.0 released March 14, 2019.
View change log at: http://genome.sph.umich.edu/wiki/RAREMETAL_Change_Log

### RAREMETAL2
We are also working on a beta version that provides new features and options- RAREMETAL2.

This code is still in the experimental stages, but a full release is planned in the future. See:
https://github.com/statgen/Raremetal2
Binary file removed bin/raremetal
Binary file not shown.
Binary file removed bin/raremetalworker
Binary file not shown.
15 changes: 15 additions & 0 deletions dep/libstatgen.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
cmake_minimum_required(VERSION 3.2)
project(libStatGen VERSION 1.0.0)

#execute_process(COMMAND ./configure --prefix=${CMAKE_INSTALL_PREFIX} WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})

add_custom_target(libStatGen ALL COMMAND make CFLAGS="\"--std=c++11 -I${CMAKE_PREFIX_PATH}/include ${CMAKE_CXX_FLAGS}\"" WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} COMMENT "Building libStatGen ...")

file(GLOB_RECURSE LSG_HEADER_LIST "bam/*.h" "fastq/*.h" "general/*.h" "glf/*.h" "vcf/*.h")
install(FILES ${LSG_HEADER_LIST} DESTINATION include)

if (BUILD_SHARED_LIBS)
install(FILES ${CMAKE_SHARED_LIBRARY_PREFIX}StatGen${CMAKE_SHARED_LIBRARY_SUFFIX} DESTINATION lib)
else()
install(FILES ${CMAKE_STATIC_LIBRARY_PREFIX}StatGen${CMAKE_STATIC_LIBRARY_SUFFIX} DESTINATION lib)
endif()
7 changes: 7 additions & 0 deletions dep/rmath.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
cmake_minimum_required(VERSION 3.2)
project(libRmath VERSION 1.0.0)

add_custom_target(libRmath ALL COMMAND make CFLAGS="\"-I${CMAKE_PREFIX_PATH}/include ${CMAKE_CXX_FLAGS}\"" WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} COMMENT "Building libRmath ...")

install(DIRECTORY Rmath DESTINATION include)
install(FILES ${CMAKE_STATIC_LIBRARY_PREFIX}Rmath${CMAKE_STATIC_LIBRARY_SUFFIX} DESTINATION lib)
13 changes: 0 additions & 13 deletions libRareMetal/Makefile

This file was deleted.

Loading

0 comments on commit dbd2cff

Please sign in to comment.