Coder Social home page Coder Social logo

maxbaird / masa-core Goto Github PK

View Code? Open in Web Editor NEW

This project forked from edanssandes/masa-core

0.0 2.0 0.0 2.26 MB

Multi-Platform Architecture for Sequence Aligner (MASA) is a flexible software framework that simplifies the creation of DNA sequence alignment applications in multiple hardware/software platforms. This framework is based on CUDAlign and it supports huge DNA sequences with more than 200 million base pairs.

License: GNU General Public License v3.0

Makefile 25.94% Shell 4.01% M4 0.47% TeX 0.23% HTML 0.02% C++ 68.89% C 0.35% Objective-C 0.09%

masa-core's Introduction

MASA-Core

Multi-Platform Architecture for Sequence Aligner (MASA) is a flexible software framework that simplifies the creation of DNA sequence alignment applications in multiple hardware/software platforms. This framework supports the alignment of huge DNA sequences with more than 200 million base pairs (MBP).

The MASA-Core library is based on CUDAlign, a tool able to align huge sequences in CUDA capable GPUs. The MASA-Core contains 90% of the original CUDAlign source code, isolating the platform-independent features. Thus, any developer may create "aligners" for different hardware/software platforms, reimplementing only some methods of the original code and linking it against the portable MASA-Core library. Furthermore, new platform-independent optimizations may be deployed into the MASA-Core, leading to a wider contribution to all the specific aligners implementations. Platform-specific aligners will be maintained in separate repositories, with a static copy of the masa-core source.

Main Features:

The MASA-Core contains the following features:

  • Produces optimal alignments for DNA sequences of any length (even greater than 200 MBP)
  • Based on Smith-Waterman and Needleman-Wunsch algorithms
  • Uses Myers-Miller strategy during the matrix computation (linear memory complexity)IPDPS2011
  • Produces Local, Semi-Global and Global optimal alignments
  • Multi-node support for homogeneousCCGRID2014 and heterogeneous hardwarePPOPP2014
  • Block Pruning optimizationTPDS2012
  • Portable C/C++ code. Compiled in Linux and MacOS X, for 32 and 64 bit platforms

Download

Latest Version: masa-core-1.3.9.1024.tar.gz

Compiling the static library (libmasa.a)

tar -xvzf masa-core-1.3.9.1024.tar.gz
cd masa-core-1.3.9.1024
./configure
make

To create MASA executable files, download one of the extensions listed below. Each extensions project contains a copy of the MASA-Core source.

Supported Platforms:

Each project that supplies a different Aligner linked with MASA-Core is called a MASA-Extension. Here is a list with some MASA-Extensions for some supported platforms.

  • MASA-CUDAlign: Extension that uses CUDA NVidia GPUs (based on the original CUDAlign code)
  • MASA-OpenMP: Uses OpenMP to computes many blocks in parallel using CPU or Intel Phi cores
  • MASA-OmpSs: Uses OmpSs to run parallel tasks respecting dependencies
  • MASA-Serial: This is a simple extension that runs with serial CPU code

Executing a MASA extension

./masa-extension [options] seq1.fasta seq2.fasta

All the command line arguments can be retrieved using the --help parameter. See the wiki for a list of command line examples.

Documentation

See the doxygen pages.

License:

MASA-Core is an open source project with public license (GPLv3). A copy of the LICENSE is maintained in this repository.


References:

[TOPC2016] MASA: a Multi-Platform Architecture for Sequence Aligners with Block Pruning. TOPC:2(4):28. Edans Sandes, Guillermo Miranda, Xavier Martorell, Eduard Ayguadé, George Teodoro, Alba Melo.
[TPDS2016] Genome Wide Alignment in GPU Cluster with Incremental Speculative Traceback. TPDS 2016. Edans Sandes, Guillermo Miranda, Alba Melo, Xavier Martorell, Eduard Ayguadé.
[CCGRID2014] CUDAlign 3.0: Parallel Biological Sequence Comparison in Large GPU Clusters. CCGRID 2014:160-169. Edans Sandes, Guillermo Miranda, Alba Melo, Xavier Martorell, Eduard Ayguadé.
[PPOPP2014] Fine-grain parallel megabase sequence comparison with multiple heterogeneous GPUs. PPOPP 2014:383-384. Edans Sandes, Guillermo Miranda, Alba Melo, Xavier Martorell, Eduard Ayguadé
[TPDS2013] Retrieving Smith-Waterman Alignments with Optimizations for Megabase Biological Sequences using GPU. TPDS:24:5:1009-1021. Edans Sandes, Alba Melo
[IPDPS2011] Smith-Waterman Alignment of Huge Sequences with GPU in Linear Space. IPDPS 2011: 1199-1211. Edans Sandes, Alba Melo
[PPOPP2010] CUDAlign: using GPU to accelerate the comparison of megabase genomic sequences. PPOPP 2010: 137-146. Edans Sandes, Alba Melo

masa-core's People

Contributors

edanssandes avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.