fibertools-rs 0.4.0

Fiber-seq toolkit in rust
Documentation
fibertools-rs-0.4.0 has been yanked.


fibertools-rs

Actions Status Conda (channel only) Downloads crates.io version crates.io downloads DOI

fibertools-rs a CLI tool for creating and interacting with fiberseq bam files.

Install Conda (channel only)

fibertools-rs is avalible through bioconda and can be installed with the following command:

mamba install -c conda-forge -c bioconda fibertools-rs

However, due to size constraints in bioconda this version does not support m6a prediction or GPU acceleration. If you would like to use m6A prediction and GPU acceleration, you will need to install using the directions in the INSTALL.md file.

Usage

ft --help

Help page for fibertools

Subcommands for fibertools-rs

ft predict-m6a

Predict m6A positions using HiFi kinetics data and encode the results in the MM and ML bam tags. Help page for predict-m6a.

ft add-nucleosomes

Add nucleosomes to a bam that file already contains m6a predictions. Note, this process is also run in the background during predict-m6a, so it is unnecessary to run independently unless you want to try new parameters for nucleosome calling. Help page for add-nucleosomes.

ft extract

Extracts Fiber-seq data from a bam file into plain text. Help page for extract. Extract

ft center

Center Fiber-seq reads (bam) around reference position(s). Help page for center. Center

Python API (pyft)

The python API is still in development and not stable; however, you can find the current code progress in the py-ft folder. More information available at readthedocs.

Cite

Jha, A., Bohaczuk, S. C., Mao, Y., Ranchalis, J., Mallory, B. J., Min, A. T., Hamm, M. O., Swanson, E., Finkbeiner, C., Li, T., Whittington, D., Stergachis, A. B., & Vollger, M. R. (2023). DNA-m6A calling and integrated long-read epigenetic and genetic analysis with fibertools. bioRxiv. https://doi.org/10.1101/2023.04.20.537673

TODO items

  • Use new iterator for ft extract and group writes to try and improve the speed
  • long format extract command
  • Improve progress bar for predict-m6a.
    • Get size of bam, say how far we are through the bam in terms of MB/GB?
  • Add a python API (see py-ft for progress)
    • add default data viz
    • add conversion to pandas data frame or maybe anndata
  • GPU support
    • see if I can simplify or statically link PyTorch to get it onto bioconda
    • Detect GPU memory to set batch size dynamically.
  • Add unaligned, secondary, supplemental reads to the test bam.

Contributing

If you would like to contribute to fibertools-rs, please see the CONTRIBUTING.md file for more information.