Wrapper to read fast5 and pod5 files.
Read5_ont is a python wrapper to read fast5 and pod5 files using the same overloaded functions from different APIs.
pip install read5_ont
Pod5 is now available via conda (19.07.2023).
mamba create -n read5_ont -c jannessp read5_ont
conda activate read5_ont
Click here to see a full documentation about the classes and function.
my_file can be a fast5, slow5, blow5 or pod5 file. The wrapper detects the file format depending on the file extension.
from read5 import read # or from read5.Reader import read
r5 = read(my_file) # file with on of these extensions: .fast5, .slow5, .blow5, .pod5
for readid in r5:
signal = r5.getSignal(readid) # returns raw integer values stored in the file
pA_signal = r5.getpASignal(readid) # returns pA signal
norm_signal = r5.getZNormSignal(readid) # returns normalised read signal: norm_signal = (signal - median(signal)) / mad(signal)
polyAstdSignal = r5.getPolyAStandardizedSignal(readid, polyAstart, polyAend) # returns polyA standardized read signal
channel = r5.getChannelNumber(readid)
sampleid = r5.getSampleID(readid)
runid = r5.getRunID(readid)
readid_list = r5.getReads()
If you want to use the file readers you can import the corresponding class like this:
from read5.Fast5Reader import Fast5Reader # contains the Fast5 Reader class
from read5.Slow5Reader import Slow5Reader # contains the Slow5 Reader class - !not available in read5_ont!
from read5.Pod5Reader import Pod5Reader # contains the Pod5 Reader class
from read5.AbstractFileReader import AbstractFileReader
from read5.Exceptions import UnknownFileFormatException, UnknownNormalizationMode