Skip to content

Commit

Permalink
Update CITATION.cff and add workflow to lint CITATION.cff
Browse files Browse the repository at this point in the history
  • Loading branch information
robomics committed Sep 30, 2024
1 parent 7ec1bab commit 0c76328
Show file tree
Hide file tree
Showing 2 changed files with 91 additions and 6 deletions.
62 changes: 62 additions & 0 deletions .github/workflows/lint-cff.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
# Copyright (C) 2024 Roberto Rossini <[email protected]>
# SPDX-License-Identifier: MIT

name: Lint CITATION.cff

on:
push:
branches: [main]
paths:
- ".github/workflows/lint-cff.yml"
- "CITATION.cff"

pull_request:
paths:
- ".github/workflows/lint-cff.yml"
- "CITATION.cff"

# https://stackoverflow.com/a/72408109
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true

defaults:
run:
shell: bash

jobs:
lint-cff:
runs-on: ubuntu-latest
name: Lint CITATION.cff

steps:
- uses: actions/checkout@v4
with:
sparse-checkout: CITATION.cff
sparse-checkout-cone-mode: false

- name: Generate DESCRIPTION file
run: |
cat << EOF > DESCRIPTION
Package: hictk
Title: What the Package Does (One Line, Title Case)
Version: 0.0.0.9000
Authors@R:
person("First", "Last", , "[email protected]", role = c("aut", "cre"))
Description: What the package does (one paragraph).
License: MIT
Encoding: UTF-8
Roxygen: list(markdown = TRUE)
RoxygenNote: 7.3.2
Imports:
cffr
EOF
- name: Setup R
uses: r-lib/actions/setup-r@v2

- name: Add requirements
uses: r-lib/actions/setup-r-dependencies@v2

- name: Lint CITATION.cff
run: Rscript -e 'cffr::cff_validate("CITATION.cff")'
35 changes: 29 additions & 6 deletions CITATION.cff
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,19 @@ abstract: 'Blazing fast toolkit to work with .hic and .cool files.'
doi: '10.5281/zenodo.8214220'
url: 'https://github.com/paulsengroup/hictk'
repository-code: 'https://github.com/paulsengroup/hictk'
repository-artifact: 'https://github.com/paulsengroup/hictk/pkgs/container/hictk'
type: software
license: MIT
keywords:
- bioinformatics
- cxx
- conversion
- cooler
- cli-application
- hic
- cxx17
- cxx-library
- hictk
preferred-citation:
type: article
authors:
Expand All @@ -30,10 +41,22 @@ preferred-citation:
orcid: 'https://orcid.org/0000-0002-7918-5495'
email: [email protected]
affiliation: 'Department of Biosciences, University of Oslo'
doi: '10.1101/2023.11.26.568707'
url: 'https://doi.org/10.1101/2023.11.26.568707'
journal: 'Cold Spring Harbor Laboratory'
year: 2023
month: 11
doi: '10.1093/bioinformatics/btae408'
url: 'https://academic.oup.com/bioinformatics/article/40/7/btae408/7698028'
journal: 'Bioinformatics'
year: 2024
month: 06
title: 'hictk: blazing fast toolkit to work with .hic and .cool files'
abstract: 'We developed hictk, a toolkit that can transparently operate on .hic and .cool files with excellent performance. The toolkit is written in C++ and consists of a C++ library with Python bindings as well as CLI tools to perform common operations directly from the shell, including converting between .hic and .mcool formats. We benchmark the performance of hictk and compare it with other popular tools and libraries. We conclude that hictk significantly outperforms existing tools while providing the flexibility of natively working with both file formats without code duplication.'
abstract: >
Hi-C is gaining prominence as a method for mapping genome organization.
With declining sequencing costs and a growing demand for higher-resolution data, efficient tools for processing Hi-C datasets at different resolutions are crucial.
Over the past decade, the .hic and Cooler file formats have become the de-facto standard to store interaction matrices produced by Hi-C experiments in binary format.
Interoperability issues make it unnecessarily difficult to convert between the two formats and to develop applications that can process each format natively.
We developed hictk, a toolkit that can transparently operate on .hic and .cool files with excellent performance.
The toolkit is written in C++ and consists of a C++ library with Python and R bindings as well as CLI tools to perform common operations directly from the shell, including converting between .hic and .mcool formats. We benchmark the performance of hictk and compare it with other popular tools and libraries.
We conclude that hictk significantly outperforms existing tools while providing the flexibility of natively working with both file formats without code duplication.
The hictk library, Python bindings and CLI tools are released under the MIT license as a multi-platform application available at github.com/paulsengroup/hictk.
Pre-built binaries for Linux and macOS are available on bioconda.
Python bindings for hictk are available on GitHub at github.com/paulsengroup/hictkpy, while R bindings are available on GitHub at github.com/paulsengroup/hictkR.

0 comments on commit 0c76328

Please sign in to comment.