Skip to content

Commit

Permalink
Working on v0.5.0 (#50)
Browse files Browse the repository at this point in the history
* feat: add the samtools filter flag `-F` to all commands, this is a
breaking change as it makes small adjustments to the CLI
* feat: unify the input and output bam handling 
* fix: pyft doc CI build 
* feat: Add a pileup command that gives per-base summaries of fiber-seq
data.
* fix: label on FIRE vs LINKER for decorator tracks
  • Loading branch information
mrvollger authored Jul 31, 2024
1 parent bd71ca5 commit 198cebe
Show file tree
Hide file tree
Showing 80 changed files with 2,646 additions and 1,759 deletions.
4 changes: 2 additions & 2 deletions .cargo/config.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,14 @@
rustflags = [
"-C", "link-arg=-undefined",
"-C", "link-arg=dynamic_lookup",
"-C", "target-cpu=native",
"-C", "target-cpu=generic",
]

[target.x86_64-unknown-linux-gnu]
rustflags = [
"-C", "link-arg=-Wl,--allow-shlib-undefined",
"-C", "link-arg=-fno-lto",
"-C", "target-cpu=native",
"-C", "target-cpu=generic",
]

# this breaks my build on my mac. I don't know why
Expand Down
23 changes: 0 additions & 23 deletions .dockerignore

This file was deleted.

321 changes: 227 additions & 94 deletions .github/workflows/release.yml

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion .readthedocs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ build:
apt_packages:
- cmake
tools:
python: "3.12"
python: "3.9"
rust: "1.75"

python:
Expand Down
312 changes: 311 additions & 1 deletion CHANGELOG.md

Large diffs are not rendered by default.

6 changes: 3 additions & 3 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

26 changes: 22 additions & 4 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,13 @@ license = "MIT"
name = "fibertools-rs"
readme = "README.md"
repository = "https://github.com/fiberseq/fibertools-rs"
version = "0.4.2"
version = "0.5.0"
# exclude py-ft and test data from cargo publish since they are too large
exclude = ["py-ft/", "tests/data/"]

[workspace]
exclude = ["py-ft"]

[[bin]]
name = "ft"
path = "src/main.rs"
Expand All @@ -22,7 +25,7 @@ path = "src/main.rs"
anstyle = "1.0.0"
anyhow = "1.0.58"
bio = "1.2.0"
clap = {version = "4.4.6", features = ["cargo", "string", "wrap_help", "color", "unstable-styles", "derive"], optional = true}
clap = {version = "4.4.6", features = ["cargo", "string", "wrap_help", "color", "unstable-styles", "derive", "env"], optional = true}
clap_complete = {version = "4.0.6", optional = true}
clap_mangen = {version = "0.2.5", optional = true}
colored = "2.0.0"
Expand All @@ -36,7 +39,8 @@ log = "0.4"
ordered-float = "3.4.0"
rayon = "1.8"
regex = "1.9.1"
rust-htslib = "0.43"
rust-htslib = "0.43.0"

serde = {version = "1.0.104", features = ["derive"], optional = false}
serde_json = {version = "1.0.48", optional = false}
serde_yaml = "0.9"
Expand All @@ -47,6 +51,7 @@ derive_builder = "0.12.0"
gzp = "0.11.3"
niffler = {version = "2.5.0", default-features = false, features = ["gz"]}
burn = { version = "0.12", optional = true, features = ["candle"] } # "wgpu",
#polars = "0.38"

[build-dependencies]
burn-import = {version = "0.12"}
Expand All @@ -66,7 +71,7 @@ burn = ["dep:burn"]
# generated by 'cargo dist init'
[profile.dist]
inherits = "release"
#split-debuginfo = "packed"
split-debuginfo = "packed"

# generated by 'cargo wizard'
[profile.dev]
Expand All @@ -88,4 +93,17 @@ debug = false
lto = true
panic = "abort"

# Config for 'cargo dist'
[workspace.metadata.dist]
# The preferred cargo-dist version to use in CI (Cargo.toml SemVer syntax)
cargo-dist-version = "0.13.0"
# CI backends to support
ci = ["github"]
# The installers to generate for each app
installers = []
# Target platforms to build apps for (Rust target-triple syntax)
targets = ["aarch64-apple-darwin", "x86_64-apple-darwin", "x86_64-unknown-linux-gnu", "x86_64-pc-windows-msvc"]
# Publish jobs to run in CI
pr-run-mode = "plan"


32 changes: 0 additions & 32 deletions Dockerfile

This file was deleted.

35 changes: 0 additions & 35 deletions INSTALL.md

This file was deleted.

14 changes: 0 additions & 14 deletions NOTES.md

This file was deleted.

14 changes: 7 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
[![crates.io downloads](https://img.shields.io/crates/d/fibertools-rs?color=orange&label=downloads)](https://crates.io/crates/fibertools-rs)
[![DOI](https://zenodo.org/badge/517338593.svg)](https://zenodo.org/badge/latestdoi/517338593)

`fibertools-rs` a CLI tool for creating and interacting with fiberseq bam files.
`fibertools-rs` a CLI tool for creating and interacting with Fiber-seq BAM files. For more details read the [book](https://fiberseq.github.io/).

# Install [![Conda (channel only)](https://img.shields.io/conda/vn/bioconda/fibertools-rs?color=green)](https://anaconda.org/bioconda/fibertools-rs)

Expand All @@ -31,28 +31,28 @@ However, due to size constraints in `bioconda` this version does not support con
ft --help
```

[Help page for fibertools](/docs/ft--help.md)
[Help page for fibertools](/docs/help.md)

# Highlighted 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](/docs/ft-predict-m6a-help.md).
Predict m6A positions using HiFi kinetics data and encode the results in the MM and ML bam tags. [Help page for predict-m6a](/docs/help.md#ft-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](/docs/ft-add-nucleosomes-help.md).
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](/docs/help.md#ft-add-nucleosomes).

### `ft extract`

Extracts Fiber-seq data from a bam file into plain text. [Help page for extract](/docs/extract.md).
Extracts Fiber-seq data from a bam file into plain text. [Docs for extract](/docs/extract.md).

### `ft center`

Center Fiber-seq reads (bam) around reference position(s). [Help page for center](/docs/center.md).
Center Fiber-seq reads (bam) around reference position(s). [Docs for center](/docs/center.md).

### `ft footprint`
Footprint Fiber-seq reads (bam) around reference motifs(s). [Help page for footprint](/docs/footprint.md).
Footprint Fiber-seq reads (bam) around reference motifs(s). [Docs for footprint](/docs/footprint.md).

# Python API (`pyft`)

Expand Down
22 changes: 0 additions & 22 deletions _config.yml

This file was deleted.

Binary file added assets/img/fiber_tools_grey.pdf
Binary file not shown.
Binary file added assets/img/fiber_tools_teal.pdf
Binary file not shown.
50 changes: 0 additions & 50 deletions docs/center.md

This file was deleted.

Loading

0 comments on commit 198cebe

Please sign in to comment.