lace up GFA files using panSN path name sub-ranges to coordinate the lacing

Related tags

Command-line gfalace
Overview

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.

You might also like...
A tool that allow you to run SQL-like query on local files instead of database files using the GitQL SDK.
A tool that allow you to run SQL-like query on local files instead of database files using the GitQL SDK.

FileQL - File Query Language FileQL is a tool that allow you to run SQL-like query on local files instead of database files using the GitQL SDK. Sampl

Add path effects to open glyphs in a UFO file
Add path effects to open glyphs in a UFO file

ufostroker Add path effects to open contours in a UFO file Given a glyph with open contours: You can apply a noodle effect: ufostroker -i Open.ufo -o

A small unix and windows lib to search for executables in PATH folders.

A small unix and windows lib to search for executables in path folders.

A command-line tool aiming to upload the local image used in your markdown file to the GitHub repo and replace the local file path with the returned URL.
A command-line tool aiming to upload the local image used in your markdown file to the GitHub repo and replace the local file path with the returned URL.

Pup A command line tool aiming to upload the local image used in your markdown file to the GitHub repo and replace the local file path with the return

Jump Point Search Implementation for Path Finding, in Rust

jps : Jump Point Search in Rust. Jump Point Search Algorithm Implementation in Rust. Current implementation status JPS Implementation 3D case ✅ Lifeti

Generate commands that add node_modules/.bin to PATH

npx-bin-helper Generate commands that add node_modules/.bin to PATH. Supports Linux, MacOS and Windows. Installation cargo install npx-bin-helper Usag

A path-normalization pentesting tool.

pathbuster A path-normalization pentesting tool Todos • Installation • Usage • Examples • Contributing • License • Join Discord Todos Implement --filt

Anglosaxon is a command line tool to parse XML files using SAX
Anglosaxon is a command line tool to parse XML files using SAX

anglosaxon - Convert large XML files to other formats anglosaxon is a command line tool to parse XML files using SAX. You can do simple transformation

CLI application to run clang-format on a set of files specified using globs in a JSON configuration file.
CLI application to run clang-format on a set of files specified using globs in a JSON configuration file.

run_clang_format CLI application for running clang-format for an existing .clang-format file on a set of files, specified using globs in a .json confi

Owner
graphical pangenomic methods
null
A git sub-command to view your git repository in the web browser

git-view A git sub-command to view your git repository in the web browser! About Are you also frustrated from moving your hands away from the keyboard

Hamothy 5 Sep 26, 2022
🧠 A command-line utility for switching git branches more easily. Switch branches interactively or use a fuzzy search to find that long-forgotten branch name.

git-smart-checkout A git command extension for switching git branches more efficiently. About Interactively switch branches or fuzzy search for that f

Cezar Craciun 51 Dec 29, 2022
Experimental Rust UI library for Audulus. "rui" is a temporary name.

Experimental Rust UI library for Audulus. "rui" is a temporary name.

Audulus LLC 1.1k Dec 28, 2022
A truly zero-dependency crate providing quick, easy, reliable, and scalable access to the name "jordin"

jordin Finally! A truly zero-dependency crate providing quick, easy, reliable, and scalable access to the name "jordin". Additionally, this one-of-a-k

jordin 2 Aug 4, 2022
Give me your APK, I will give you framework name

APK-FiD Give me your APK, I will give you framework name Usage ❯ apk-fid -h APK-FiD 1.0 Petruknisme <[email protected]> Give me your APK, I will giv

Aan 2 Aug 31, 2022
Like wee_alloc, but smaller since I used skinnier letters in the name.

lol_alloc A laughably simple wasm global_allocator. Like wee_alloc, but smaller since I used skinnier letters in the name. lol_alloc is a experimental

Craig 44 Dec 28, 2022
Run a program with a modified process name.

tagrun Run a program with a modified process name. You can add a tag for a process with tagrun, and use the tag to locate the process with ps, pgrep o

Li 2 Dec 21, 2022
A basic text editor, written in Rust (hence the name).

rut A basic text editor, written in Rust (hence the name). Why, though? I just wanted a basic TUI text editor (like Nano) that could: Be used with all

Lowell Thoerner 4 Feb 3, 2023
Tool to check Nixpkgs' pkgs/by-name directory

Nixpkgs pkgs/by-name checker This repository implements a program to check Nixpkgs' pkgs/by-name directory as part of RFC 140. See CONTRIBUTING.md for

Nix/Nixpkgs/NixOS 8 May 6, 2024