Skip to content

taffish/biser

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

taf-biser

TAFFISH wrapper for BISER, a tool for detecting and decomposing segmental duplications in one or more genome assemblies.

This repository packages upstream BISER 1.4 as a TAFFISH tool app. It exposes upstream biser through a versioned TAFFISH entry point while keeping BISER, Python dependencies, Samtools, and HTSlib inside a portable Debian 12 container image.

This release currently publishes a linux/amd64 container image. Native arm64 support is not declared because upstream BISER 1.4 is distributed on PyPI as an x86_64 wheel, and rebuilding the Codon component for arm64 requires additional upstream-source patching and validation.

Installation

Install from the public TAFFISH Hub index:

taf update
taf install biser

Install the exact release:

taf install biser 1.4-r1

For local testing before the app is published to the public index:

taf install --from .

Usage

Show TAFFISH app help:

taf-biser --help

Show upstream BISER help and version:

taf-biser biser --help
taf-biser biser --version

Index input FASTA files with Samtools before running BISER:

taf-biser samtools faidx genome.fa

Run BISER on a single genome:

taf-biser biser -o output -t 8 genome.fa

Run BISER on multiple genomes:

taf-biser biser -o output -t 8 genome1.fa genome2.fa

BISER works best with soft-masked genome assemblies. If the input assemblies are hard-masked, use the upstream --hard option:

taf-biser biser -o output -t 8 --hard genome.fa

Because this is a command-mode TAFFISH tool, the first non-option argument is treated as a command available inside the container image. Use explicit command mode for BISER itself and for companion tools:

taf-biser biser --help
taf-biser samtools faidx genome.fa
taf-biser python --version

When passing an upstream option through the default wrapper, use -- so the option is handled by BISER instead of the TAFFISH wrapper:

taf-biser -- --help
taf-biser -- --version

For most day-to-day use, explicit command mode is clearer:

taf-biser biser --help
taf-biser biser --version

Package

name: biser
command: taf-biser
version: 1.4-r1
kind: tool
image: ghcr.io/taffish/biser:1.4-r1
platforms: linux/amd64

Container

The container image is built from docker/Dockerfile. It compiles HTSlib 1.23.1 and Samtools 1.23.1 from upstream release tarballs in a builder stage, then installs BISER 1.4 and its Python runtime dependencies into a virtual environment in a slim Debian 12 runtime image.

The image includes:

biser
samtools
python

The packaged Python environment includes:

biser
dill
multiprocess
ncls
numpy
tqdm

Samtools is included because upstream BISER expects genome FASTA files to be indexed with samtools faidx before analysis. HTSlib is built with libcurl, S3, GCS, libdeflate, lzma, and bzip2 support through the bundled Samtools build.

The TAFFISH metadata declares a Docker smoke check:

exist: biser, samtools, python
test:  biser --version 2>&1 | grep -F 'biser v1.4' >/dev/null
test:  biser --help 2>&1 | grep -F 'Segmental duplication detection tool' >/dev/null
test:  samtools --version 2>&1 | grep -F 'samtools 1.23.1' >/dev/null
test:  samtools --version 2>&1 | grep -F 'Using htslib 1.23.1' >/dev/null
test:  python -c 'import biser, ncls, numpy, tqdm, multiprocess'
test:  printf '>chr1\nACGTACGT\n' >/tmp/taf-biser.fa && samtools faidx /tmp/taf-biser.fa && test -s /tmp/taf-biser.fa.fai

During TAFFISH Hub indexing, this smoke metadata is used to verify that the published image can be inspected, that BISER, Samtools, and Python are available, that the packaged BISER command reports version 1.4, that the bundled Samtools/HTSlib versions are pinned, and that samtools faidx can create a FASTA index.

Upstream

Maintainer Notes

Useful checks before publishing:

taf check
taf compile -- --help
taf compile -- biser --version
taf publish --release --dry-run
docker build --check -f docker/Dockerfile .
docker build --platform linux/amd64 -t ghcr.io/taffish/biser:1.4-r1 -f docker/Dockerfile .
docker run --rm --platform linux/amd64 ghcr.io/taffish/biser:1.4-r1 biser --version
docker run --rm --platform linux/amd64 ghcr.io/taffish/biser:1.4-r1 samtools --version

The repository wrapper files are licensed under Apache-2.0. BISER, Samtools, HTSlib, and third-party runtime components are distributed under their own upstream licenses.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors