Skip to content

About

Tools for genomic features in Julia.

Resources

Stars

35 stars

Watchers

11 watching

Forks

Repository files navigation

GenomicFeatures

latest release DOI MIT license Stable documentation Latest documentation lifecycle

Description

The GenomicFeatures package provides utilities for working with interval based genomic annotations. It builds on IntervalTrees to provide a data-structures and algorithms for various formats such as BED, GFF3, bigWig and bigBed.

Installation

You can install the GenomicFeatures package from the Julia REPL. Press ] to enter pkg mode, then enter the following command:

add GenomicFeatures

If you are interested in the cutting edge of the development, please check out the develop branch to try new features before release.

Testing

GenomicFeatures is tested against Julia 1 on Linux, macOS and Windows, and against Julia 1.10, the long-term support release, on Linux.

Latest build status:

Unit tests Runic Documentation codecov Downstream

Contributing

We appreciate contributions from users including reporting bugs, fixing issues, improving performance and adding new features. See the contributing files for detailed contributor and maintainer guidelines and the code of conduct.

This project follows semantic versioning, and records notable changes in CHANGELOG.md. Development happens on the develop branch, following the git-flow branching model:

  • features branch from develop, and merge back into it by pull request;
  • hotfixes branch from master, and merge back into it by pull request;
  • releases and hotfixes branch as release/vX.Y.Z and hotfix/vX.Y.Z, set that version in Project.toml, move the unreleased entries of CHANGELOG.md into a ## [X.Y.Z] section, and merge into master by pull request; the Back-merge workflow then opens a pull request from a back-merge/vX.Y.Z branch at master into develop, which brings them back, never one from the release or hotfix branch itself. A conflict with develop is resolved on the back-merge/vX.Y.Z branch, by merging develop into it.

The checks of BioJulia/Workflows enforce this, on pull requests into master:

  • that it comes from a release/* branch of develop or a hotfix/* branch of master, of this repository or a fork;
  • that its version is that of the branch's name, a single step up from master's, and the next patch for a hotfix;
  • that the changelog describes the version, with its comparison links, and leaves nothing unreleased;
  • that a change that breaks the public API, the tests or the compat bounds of master takes a breaking version and a ### Breaking subsection, and that a hotfix doesn't break.

And on pull requests into develop: that it doesn't come from a release/* or hotfix/* branch, and that it adds an entry under ## [Unreleased], unless it brings master back, or a maintainer has labelled it skip changelog, for a change that users won't notice. Rulesets on master and develop require these checks; the README of BioJulia/Workflows describes them, their setup, and how to run them locally.

Questions

If you have a question about contributing or using BioJulia software, come and chat with us in the #biology channel of the Julia Slack workspace, or try the Bio category of the Julia Discourse site.

About

Tools for genomic features in Julia.

Resources

Stars

35 stars

Watchers

11 watching

Forks

Releases

Packages

Used by

Contributors

Languages