UDC-GAC / mpi3snp

GWAS third-level epistatic search tool for cluster architectures

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

MPI3SNP

What is MPI3SNP?

MPI3SNP is a parallel software tool dedicated to genome-wide association studies, performing a third-order exhaustive search. It is targeted to cluster architectures, and mitigates the cubic time complexity inherent to third-order searches by exploiting the several layers of parallelism present in a supercomputer. CPU and GPU implementations are offered.

Building

Support is currently limited to linux distributions only.

Requirements

  • CMake (>3.0 version)
  • A C++14 compatible compiler
  • MPI library

Optional:

  • CUDA

Compilation

CMake is the project build manager. CMake should be able to determine installed compilers and libraries. If this is is not the case, please refer to your CMake version's documentation. By default, CMake will check for a CUDA installation and set the target architecture accordingly. This behaviour can be manually controlled by setting the TARGET_ARCH CMake variable to CPU or GPU.

Building the sources looks like this:

cd MPI3SNP/project/path
mkdir build
cd build/
cmake ..
make -j4

Usage

MPI3SNP takes two files as the input, using the PLINK/TPED format, and writes the results to a third file. All file paths are provided to the program as positional arguments as follows:

./MPI3SNP <path/to/tped> <path/to/tfam> <path/to/output>

Additional configuration options (specific to either CPU or GPU implementation) are available to the user, and can be consulted using the -h flag.

Sample files

Sample files can be found on MPI3SNP's wiki. These are a syntetic dataset used for performance evaluation, which describe the input file format and can be used for verification/evaluation purposes.

Troubleshooting

Support is currently limited to linux distributions only. If you are having trouble building/using the application, please submit a new issue to get help.

License

This software is licensed under the GPU GPLv3 license. Check the LICENSE file for details.

About

GWAS third-level epistatic search tool for cluster architectures

License:GNU General Public License v3.0


Languages

Language:C++ 55.4%Language:Cuda 37.5%Language:CMake 7.1%