ont research.fast5读/写api。
fast5-research的Python项目详细描述
Fast5_研究
ont research提供的python fast5读写功能。
?2018牛津纳米孔技术有限公司
功能
- 读取接口块
.fast5
文件,用于提取读取、通道状态、电压… - 对单个读取文件的读/写接口,确保一致性。
- 适用于Linux、MacOS和Windows。
- 开源(Mozilla公共许可证2.0)。
文档可以在https://nanoporetech.github.io/fast5_research/找到。
安装
fast5_research
可从pypi获得,可与pip一起安装:
pip install fast5_research
用法
完整的文档可以在上面的链接中找到,下面是两个简单的例子。
读取文件:
from fast5_research import Fast5
filename='my.fast5'
with Fast5(filename) as fh:
raw = fh.get_read(raw=True)
summary = fh.summary()
print('Raw is {} samples long.'.format(len(raw)))
print('Summary {}.'.format(summary))
写一个文件,库会检查给定的元数据,确保所有需要的 值存在,并将所有值转换为其定义的类型。
from uuid import uuid4
import numpy as np
from fast5_research import Fast5
filename='my_new.fast5'
mean, stdv, n = 40.0, 2.0, 10000
raw_data = np.random.laplace(mean, stdv/np.sqrt(2), int(dwell))
# example of how to digitize data
start, stop = int(min(raw_data - 1)), int(max(raw_data + 1))
rng = stop - start
digitisation = 8192.0
bins = np.arange(start, stop, rng / digitisation)
# np.int16 is required, the library will refuse to write anything other
raw_data = np.digitize(raw_data, bins).astype(np.int16)
# The following are required meta data
channel_id = {
'digitisation': digitisation,
'offset': 0,
'range': rng,
'sampling_rate': 4000,
'channel_number': 1,
}
read_id = {
'start_time': 0,
'duration': len(raw_data),
'read_number': 1,
'start_mux': 1,
'read_id': str(uuid4()),
'scaling_used': 1,
'median_before': 0,
}
tracking_id = {
'exp_start_time': '1970-01-01T00:00:00Z',
'run_id': str(uuid4()).replace('-',''),
'flow_cell_id': 'FAH00000',
}
context_tags = {}
with Fast5.New(filename, 'w', tracking_id=tracking_id, context_tags=context_tags, channel_id=channel_id) as h:
h.set_raw(raw_data, meta=read_id, read_number=1)
帮助
许可和版权
?2018牛津纳米孔技术有限公司
medaka
根据mozilla公共许可2.0的条款发布。
研究版
提供研究报告作为技术示范,以便尽早提供 获取功能或刺激社区开发工具。支持 这个软件将是最小的,只由开发人员直接提供。 欢迎功能请求、改进和讨论 通过分叉和拉取请求实现。不管我们怎么想 喜欢纠正用户可能有的每一个问题和反馈, 开发人员支持此软件的资源可能有限。研究 释放可能不稳定,并受到牛津纳米孔快速迭代的影响 技术。