Giter Club home page Giter Club logo

xdropxohw-public's Introduction

Project Information

Team number: xohw20_405
Project name: X-drop on FPGA
Date: 30/06/2020
Version of uploaded archive:1

University name: Politecnico di Milano
Supervisor name: Marco Domenico Santambrogio
Supervisor e-mail: [email protected]
Participant: Alberto Zeni
Email: [email protected]
Participant: Guido Walter Di Donato
Email: [email protected]
Participant: Francesco Peverelli
Email: [email protected]

Board used: Xilinx Alveo U280
Vitis Version: 2019.2

Project Organization

The seqan folder contains the Seqan library
The report of the development of PALADIN is in report/
Source files are in the src/ folder:

  • xdrop.cpp contains the kernel
  • host.cpp contains the host

Project Description

Pairwise sequence alignment is one of the most computationally intensive kernels in genomic data analysis, accounting for more than 90% of the run time for key bioinformatics applications. This method is particularly expensive for third-generation sequences due to the high computational expense of analyzing these long read lengths (1Kb-1Mb). Given the quadratic overhead of exact pairwise algorithms such as Smith-Waterman, for long alignments the community primarily relies on approximate algorithms that search only for high-quality alignments and stop early when one is not found. In this work, we present the first FPGA implementation of the popular X-drop alignment algorithm, named PALADIN.

Usage

The repo already includes a host and a bitstream for the Alveo U280. Before executing PALADIN be sure so source XRT.

Compilation

Before executing PALADIN be sure so source XRT and Vitis. PALADIN requires Vitis 2019.2 and C++14. To build PALADIN simply type:

make all TARGET=hw

PALADIN has been written to run on the Xilinx Alveo U280. PALADIN will an executable called host and a bitstream file for the Alveo U280 called xdrop.xclbin.

Demo

To check everything works properly type:

./host inputs/example.txt 17 21 build_dir.hw.xilinx_u280_xdma_201920_3/xdrop.xclbin 

This command executes PALADIN on our example dataset with a k-mer length of 17, an X-drop value of 21. If everything executes correctly you can start using PALADIN with any input, and any X-drop.

The command line inputs are:

./host [input] [k-mer-length] [X-drop] [bitstream]

The input format for this demo is:

[seqV] [posV] [seqH] [posH] [strand]

Each line of the input contains a pair of sequences to align: the query sequence (seqV), the starting position of the seed on the query sequence (posV), the target sequence (seqH), the starting position of the seed on the target sequence (posH), and the relative strand ("c" if on opposite strands, "n" otherwise). Tab separated.

Link to YouTube Video

https://www.youtube.com/watch?v=7Bn-XBZIsmA&t=4s

xdropxohw-public's People

Contributors

albertozeni avatar

Stargazers

 avatar  avatar

Watchers

 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.