- What is transferase
- What's new
- Current status
- Installation
- Command line app
- The Python package
- The R package
- All documentation
Transferase is a system for retrieving DNA methylation levels through user-defined sets of genomic intervals. When analyzing whole-genome DNA methylation profiles ("methylomes"), this form of summary statistic is central to both hypothesis testing and exploratory data analysis. In particular, it is the basis of identifying differentially methylated regions, clustering methylomes based on subsets of genes and other genomic features, and clustering genomic features according to their methylation dynamics.
The motivation behind transferase is simple. Methylomes derived from whole-genome sequencing are huge. Even with access to high-performance computing, downloading, moving and processing a collection of methylomes takes time. Any study leveraging this type of data will examine multiple different sets of genomic features and explore a variety of contrasts between methylomes. This process can and should be faster and more convenient. But attaining these goals requires methods that synergize to exploit certain unique characteristics of sequencing-based whole-genome DNA methylation profiles.
Transferase is a complete system: it includes server software, a collection of file formats and algorithms, client apps and APIs, all co-designed to maximize efficiency of data retrieval. Transferase can run on a local system for an individual user, or remotely granting more users access to larger volumes of data. With a good network connection, queries to a remote transferase server can be faster than similar analysis of locally stored files.
A public transferase server currently provides access to MethBase2, a methylome database with roughly 14,000 vertebrate methylomes (as of 2025-06-25) that are whole-genome, sequencing-based and high-quality. Most of these are split between human and mouse. The transferase clients include tools to help identify which among those methylomes might be useful to inform specific biological questions.
-
If you work on Mac or Linux, there are lots of ways to get and use transferase.
-
Transferase is in early development and is improving quickly.
-
But this means frequent changes -- check back for updates, and star or watch this repo.
-
I appreciate your feedback. You can open an issue on GitHub or contact me (Andrew) directly via the email in my GitHub profile.
-
Important: As of the release of v0.6.4, the format of future metadata will no longer work with previous versions of
xfr select
. -
Important: As of the release of v0.6.3, the server will not communicate with previous versions.
-
Sliding window queries have been introduced in v0.6.3.
-
Remote query speed has been improved, and for "bins" or "windows" queries this is by more than 3x.
-
The transferase Python package, pyxfr, can now be installed using pip with Python >= 3.12 on Linux and macOS:
pip install pyxfr
-
Public server: It's open and currently serving over 14,300 high-quality methylomes. Right now (2025-07-17) the only restriction on use is that individual queries are limited to roughly 45 methylomes, and roughly 1M query intervals or bin/window size of 200bp. If you need more, do multiple queries.
-
Linux: The binary installation for Linux should work on any Linux machine.
-
macOS: The binary installation for macOS should work on any Mac running at least Ventura (macos-13; October 2022).
-
Python: The python package, pyxfr, can be installed with
pip install pyxfr
and requires Python >= 3.12 but otherwise should work on any Linux and macOS-13 or later. -
R: Rxfr can be installed on Linux and macOS (R >= 4.4). Paste exactly this into your terminal:
(CXX23=$(R CMD config CXX23) && [ -n "$CXX23" ] && $CXX23 --version)
If you get output and it says version 14.2 or greater, you can install Rxfr with devtools within R:
devtools::install_url('https://github.com/andrewdavidsmith/transferase/releases/download/v0.6.4/Rxfr_0.6.4.tar.gz')
Alternatives for both Linux and macOS are covered in docs/installing_Rxfr.md.
-
Linux The Linux binary releases should work on any Linux system. You can find installers here, including packages deb and rpm-based systems. The easiest is the shell installer:
sh transferase-0.6.4-Linux.sh --prefix=/desired/install/location /desired/install/location/bin/xfr # check that it worked
-
Mac The transferase binary for Mac is a "universal binary" and should work on any Mac. It is built to work on Ventura or later, but it has worked on a much older system. The easiest is the shell installer:
sh transferase-0.6.4-macOS.sh --prefix=/desired/install/location /desired/install/location/bin/xfr # check that it worked
-
Python pyxfr can be installed using pip with Python (>= 3.12) on Linux and macOS:
pip install pyxfr python3 -c "from pyxfr import pyxfr; help(pyxfr)" # check that it worked
-
R Detailed instructions to install Rxfr are in docs/installing_Rxfr.md.
-
Source Detailed instructions for building from source are in docs/building.md.
-
Linux packages
# Red Hat or Fedora (not sure SUSE has dnf) rpm -i transferase-0.6.4-Linux.rpm # See what will be installed sudo dnf install ./transferase-0.6.4-Linux.rpm # Install (note the dot-slash) dnf info transferase # See what was installed sudo dnf remove transferase # Uninstall # Ubuntu or Debian dpkg --info transferase-0.6.4-Linux.deb # See what will be installed sudo apt install ./transferase-0.6.4-Linux.deb # Install (note the dot-slash) apt info transferase # See what was installed sudo apt remove transferase # Uninstall