GithubHelp home page GithubHelp logo

rcheol / mas Goto Github PK

View Code? Open in Web Editor NEW

This project forked from snucse-cta/mas

0.0 1.0 0.0 26 KB

Maximal Average Shift (MAS) algorithm, Tuned Maximal Average Shift (TMAS) algorithm, q-gram Maximal Average Shift (QMAS) algorithm

C 100.00%

mas's Introduction

Fast String Matching for DNA Sequences [Theoretical Computer Science 2019]

Cheol Ryu, Thierry Lecroq, and Kunsoo Park

MAS, TMAS, QMAS

Maximal Average Shift (MAS) algorithm

Tuned Maximal Average Shift (TMAS) algorithm

q-gram Maximal Average Shift (QMAS) algorithm

Introduction

In this paper we propose the Maximal Average Shift (MAS) algorithm that finds a pattern scan order that maximizes the average shift length. We also present two extensions of MAS: one improves the scan speed of MAS by using the scan result of the previous window, and the other improves the running time of MAS by using $q$-grams. These algorithms show better average performances in scan speed than previous string matching algorithms for DNA sequences.

Source Code Information

This source code is an implementation of [1], fast string matching algorithms for DNA Sequences.

The source code is implemented based on SMART [2].

(SMART is available at https://github.com/smart-tool/smart)

Datasets

Human chromosomes 20 downloaded from the 1000 Genomes Project website [3].

Run

$ ./mas (pattern) (pattern length) (text) (text length)

$ ./mas GCAGAGAG 8 GCATCGCAGAGAGTATACAGTACG 24

(โˆ‘ = A,C,G,T)

References

[1] C. Ryu, T. Lecroq, and K. Park, Fast String Matching for DNA Sequences, Theoretical Computer Science (2019).

[2] S. Faro, T. Lecroq, S. Borzi, S. D. Mauro, A. Maggio, The string matching algorithms research tool, in: Proceedings of the Prague Stringology Conference 2016, Prague Stringology Club, 2016, pp. 99-113.

[3] The 1000 Genomes Project Consortium, The 1000 Genomes Project, http://www.1000genomes.org, 2010.

mas's People

Contributors

rcheol 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.