Giter VIP home page Giter VIP logo

gfalace's Introduction

gfalace

gfalace is a Rust-based tool designed to process a collection of GFA (Graphical Fragment Assembly) files. It aims to interpret the path names within these files as sub-ranges of a set of genome sequences. Utilizing these positional relationships, GFALace laces together the sub-graphs extracted from the GFA files into a single, comprehensive graph structure. This process facilitates the analysis and visualization of genomic data by providing a unified view of the sequences and their connections.

Features

  • Parsing GFA Files: GFALace can parse multiple GFA files, extracting the graph structures and path information contained within.
  • Graph Construction: Leveraging the handlegraph library, it constructs HashGraph structures from the parsed GFA data, enabling efficient graph operations.
  • Path Interpretation: Path names in the GFA files are interpreted as indicating sub-ranges of genome sequences, which GFALace uses to correctly position and lace together sub-graphs.
  • Unified Graph Output: The tool outputs a single, large graph that represents the laced-together sub-graphs, providing a comprehensive view of the genomic data.

Usage

To use GFALace, you need to have Rust installed on your system. Once Rust is set up, you can clone the repository and build the project using Cargo, Rust's package manager and build system.

Basic Command Line Usage

cargo run --release -- -g <GFA_FILE_PATHS>

Here, <GFA_FILE_PATHS> should be replaced with the paths to the GFA files you wish to process, separated by spaces.

Warning

GFALace is currently a work in progress (WIP) and has not been extensively tested. It is being made available publicly as a checkpoint in its development process. Users should be aware that the tool may contain bugs and its output should be verified independently. Contributions, bug reports, and suggestions for improvements are welcome.

Dependencies

GFALace relies on several Rust crates, including:

  • bstr for byte string operations.
  • clap for command-line argument parsing.
  • handlegraph for graph operations, specifically using the HashGraph structure for efficient graph manipulation.
  • gfa for parsing GFA files.

These dependencies are specified in the Cargo.toml file and will be automatically managed by Cargo when building the project.

Contributing

Contributions to GFALace are welcome. If you have suggestions for improvements, bug fixes, or new features, please feel free to open an issue or submit a pull request.

License

GFALace is open-source software licensed under the MIT License. See the LICENSE file for more details.

gfalace's People

Contributors

ekg avatar

Stargazers

DDuchen avatar  avatar Zhigui Bao avatar Simon Heumos avatar

Watchers

 avatar Simon Heumos avatar Andrea Guarracino avatar

gfalace's Issues

chunk overlaps and pruning of the subgraphs

We need to be able to have the subgraphs which are merging overlap. This is done to eliminate boundary effects. And we'll have to make sure this can be handled in this code.

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.