본문으로 건너뛰기
cccskills
무료GitHub에 공개

bioconductor-ompbam

This packages provides C++ header files for developers wishing to create R packages that processes BAM files. ompBAM automates file access, memory management, and handling of multiple threads 'behind the scenes', so developers can focus on creating domain-specific functionality. The included vignette contains detailed documentation of this API, including quick-start instructions to create a new ompBAM-based package, and step-by-step explanation of the functionality behind the example packaged in

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

설치 방법 보기

포함된 파일(1)

  • SKILL.md3.9 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

ompBAM

Workflows

Standard Workflow

library(ompBAM)

# Create a new package template that compiles with ompBAM
pkg_path <- file.path(tempdir(), "MyPkg")
use_ompBAM(pkg_path)

# Retrieve the path to an example BAM file provided by the package
bam_path <- ompBAM::example_BAM("Unsorted")

Input: A destination directory path for the new package.
Output: A fully configured R package directory structure containing C++ templates and configuration files linked to ompBAM.

When to Use

  • Developing R packages that require high-performance, multi-threaded processing of BAM files using C++ and OpenMP.
  • Writing custom BAM parsing algorithms where you want ompBAM to handle file access, BGZF decompression, and thread management.
  • Creating packages that need to run on unsorted and unindexed BAM files (e.g., using pbam_in and pbam1_t APIs).

When NOT to Use

  • For standard BAM manipulation or filtering in R without writing C++ code; use Rsamtools or GenomicAlignments instead.
  • For querying small genomic regions of sorted and indexed BAM files; use htslib directly as ompBAM is optimized for whole-file sequential reads.

Data Requirements

  • Input BAM files (can be unsorted and unindexed).
  • A package development environment with Rcpp and a C++ compiler supporting OpenMP (e.g., gcc or clang with OpenMP libraries).

Key Parameters

  • path (in use_ompBAM): The directory path where the new package project will be created.
  • bam_file: Path to the BAM file to be processed.
  • n_threads: Number of threads to use for parallel execution.

Best Practices

  • Run devtools::document() on the newly created package to generate the NAMESPACE and export the R wrapper functions.
  • Use the #ifdef _OPENMP directive in C++ code to ensure compatibility with systems that do not have OpenMP installed (such as default macOS configurations).
  • Call pbam1_t::realize() if you need to store reads in memory across multiple calls of pbam_in::fillReads(), as virtual reads point to temporary buffers.

Common Pitfalls

  • macOS Compilation Failure: macOS does not support OpenMP natively. Fix: Install libomp via Homebrew (brew install libomp) and configure compiler flags.
  • Memory Corruption with Virtual Reads: Accessing pbam1_t objects after calling fillReads() leads to segmentation faults. Fix: Call realize() on the pbam1_t object to copy the data into persistent memory.
  • Requesting Too Many Threads: Requesting more threads than available can degrade performance. Fix: Use a helper function to cap requested threads at omp_get_max_threads().

Alternatives

  • Rsamtools: For high-level BAM file manipulation and querying in R.
  • GenomicAlignments: For representing and manipulating genomic alignments in R.
  • Rcpp: For general C++ integration in R packages without built-in BAM parsing support.

Citations

  • Alex C H Wong (2026). ompBAM API Documentation.

References

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

The package contains functions for exploratory oligonucleotide array analysis. The dependence on tkWidgets only concerns few convenience functions. 'affy' is fully functional without it.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

bioMate-AI/biomate-bioconductor-kb7932026년 6월 21일 업데이트

This tool uses the label-tree function from HyPhy to annotate a phylogenetic tree. It allows users to select a subset of leaves using either a regular expression or a list of sequence names, and then apply a specified label to these selecte

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

bioMate-AI/biomate-bioconductor-kb7932026년 6월 21일 업데이트

This package provides a client for the Bioconductor AnnotationHub web resource. The AnnotationHub web resource provides a central location where genomic files (e.g., VCF, bed, wig) and other resources from standard locations (e.g., UCSC, En

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

bioMate-AI/biomate-bioconductor-kb7932026년 6월 21일 업데이트

apeglm provides Bayesian shrinkage estimators for effect sizes for a variety of GLM models, using approximation of the posterior for individual coefficients.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

bioMate-AI/biomate-bioconductor-kb7932026년 6월 21일 업데이트

ASURAT is a software for single-cell data analysis. Using ASURAT, one can simultaneously perform unsupervised clustering and biological interpretation in terms of cell type, disease, biological process, and signaling pathway activity. Inputting a single-cell RNA-seq data and knowledge-based databases, such as Cell Ontology, Gene Ontology, KEGG, etc., ASURAT transforms gene expression tables into original multivariate tables, termed sign-by-sample matrices (SSMs).

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

bioMate-AI/biomate-bioconductor-kb7932026년 6월 21일 업데이트

AUCell allows to identify cells with active gene sets (e.g. signatures, gene modules...) in single-cell RNA-seq data. AUCell uses the "Area Under the Curve" (AUC) to calculate whether a critical subset of the input gene set is enriched with

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

bioMate-AI/biomate-bioconductor-kb7932026년 6월 21일 업데이트

bioMate-AI의 스킬 모두 보기

이 스킬의 문제 신고