Giter Club home page Giter Club logo

catfish's Introduction

Overview

Catfish implements an efficient heuristic to decompose a given flow into a set of minimum number of paths.
Please refer to our paper at here. The tools, scripts, and datasets used in this manuscript can be found at catfishtest.

Release

Latest release of Catfish is v0.2.1, including both source code, and linux binary and macOS binary.

Installation

Download Catfish from source code. To install it, you need to first download Boost if it has not been installed in your system, and then compile the source code of Catfish.

Install Boost

If Boost has not been downloaded/installed in your system, download Boost (license) from (http://www.boost.org). Uncompress it somewhere (compiling and installing are not necessary).

Compile Catfish

Use the following to compile and install Catfish:

./configure --prefix=/path/to/your/installation/directory --with-boost=/path/to/your/boost/directory
make
make install

The --prefix argument for configure specifies the directory where you would put the binary of Catfish. It is optional and the default is /usr/local/bin for most linux distributions. If Boost has been installed in your system, the --with-boost argument for configure can also be omitted.

Usage

The usage of catfish is:

catfish -i <input.sgr> -o <output-file> [-a core|full|greedy] [-h] [-v]

-i parameter specifies the input file, which specifies multiple directed acyclic graph. Each graph starts with a header line marked with #. The next line gives n, indicating the number of vertices in this graph. The vertices are named from 0 to (n - 1), where vertex 0 has to be the source vertex and vertex (n - 1) has to be the sink vertex. Each of the following line specifies an edge, which consists of three integers: the in-vertex, out-vertex and the weight of this edge. There is one such input example files at examples.

-o parameter specifies the output file, which will show the predicted paths and their associated abundances.

-a parameter specifies the algorithm. There are three options: {full, core, greedy}. With option of core, the program will only run the core algorithm to partly decompose the given splice graph, which will predict fewer paths but with higher accuracy. With option of full, the program will completely decompose the given splice graph, using greedy algorithm following the core algorithm. With option of greedy, the program will only use greedy algorithm to fully decompose the given splice graph. This parameter is optional, and its default value is full.

-h parameter prints the usage of Catfish and exits.

-v parameter prints the version of Catfish and exits.

catfish's People

Contributors

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