upbm provides functions for loading, organizing, and analyzing protein binding microarray (PBM) data in R using standard Bioconductor classes. The pacakage was developed with a particular focus on universal PBMs (uPBMs) and testing for differential affinity across proteins.
If you have any suggestions on how we can improve the package, let us know!
upbm depends on two closely related packages, upbmAux and upbmData, which contain auxiliary data, e.g. standard uPBM probe designs, and example uPBM data used throughout examples and vignettes to illustrate the functions in the package.
Development versions of the packages are hosted on GitHub.
## install from GitHub along with suggested packages BiocManager::install("pkimes/upbm") BiocManager::install("pkimes/upbmAux") BiocManager::install("pkimes/upbmData")
With upbm, PBM data is first read from GenePix Results (GPR) files and organized as a SummarizedExperiment object with rows corresponding to probes, and columns corresponding to individual array scans. Several functions are included for loading, normalizing, and processing array data to k-mer level summaries. Additionally, the package includes functions for testing and identifying both preferentially bound k-mers for proteins and differentially bound k-mers across proteins. To performing statistical inference, replicates of the proteins of interest must be available.
This package complements the Universal PBM Analysis Suite, written in Perl. The data pre-processing steps implemented in upbm largely follow the steps in the Analysis Suite software, but have been reimplemented in R (and some C++). The Analysis Suite can be used to analyze individual samples separately, and provides k-mer level summaries as non-parametric enrichment scores (E-scores). This differs from the parameteric mixed-effects model employed in upbm, which requires replicate samples, but allows for statistical hypothesis testing. The two software suites can be viewed as alternative approaches to summarizing protein-DNA binding at the k-mer level using PBM data, but with major differences in the approaches taken to perform inference. We hope you find upbm useful!