用于读取Axon二进制格式(ABF)文件的Python库

pyabf的Python项目详细描述


pyabf:纯python abf文件读取器

pyabf以axon二进制格式(abf)为电生理文件提供了一个python接口。 Pyabf支持Python2.7和Python3.6+,并且不使用晦涩的库 (只有标准库加上numpy和matplotlib)。Pyabf支持读取 abf1和abf2文件,并可以写入abf1文件。

pyABF electrophysiology data analysis with Python and Matplotlib

快速启动

安装或升级pyabf:

pip install --upgrade pyabf

访问ABF扫描数据:

importpyabfabf=pyabf.ABF("demo.abf")abf.setSweep(3)print(abf.sweepY)# sweep data (ADC)print(abf.sweepC)# sweep command (DAC)print(abf.sweepX)# sweep times (seconds)

使用matplotlib绘制扫描:

importmatplotlib.pyplotaspltimportpyabfabf=pyabf.ABF("17o05028_ic_steps.abf")abf.setSweep(14)plt.plot(abf.sweepX,abf.sweepY)plt.show()
pyABF Example

喜欢matplotlib:

importmatplotlib.pyplotaspltimportpyabfabf=pyabf.ABF("sample.abf")plt.figure(figsize=(8,5))forsweepNumberinrange(abf.sweepCount)[::5]:abf.setSweep(sweepNumber)plt.plot(abf.sweepX,abf.sweepY,alpha=.5,label="sweep %d"%(sweepNumber))plt.legend()plt.ylabel(abf.sweepLabelY)plt.xlabel(abf.sweepLabelX)plt.title("pyABF and Matplotlib are a great pair!")plt.show()
pyABF Example

其他示例

完整的Pyabf API文档,附加代码示例,Pyabf食谱, 关于abf文件格式的低级信息可以在pyabf中找到 项目主页:https://github.com/swharden/pyABF

pyABF Example

引用pyabf

如果Pyabf模块有助于您的研究,请考虑按名称引用此项目,以便它也能使其他人受益:

“Computational analysis of electrophysiological recordings was performed with custom software written for this project using Python 3.6 and the pyABF module.”

功能请求/不支持的ABF文件

如果有不受支持的abf文件(或读取错误) 通过这个软件,很可能是因为我们没有运行一个用例 到现在为止,让我们知道!我们只能开发和测试 这个软件是针对我们可以访问的abf文件的,所以如果你 有兴趣让您的abf文件支持发送主要作者 一封电子邮件(以及你试图分析的abf文件),我们将 调查一下。如果找到解决方案,pyabf包将 更新以使每个人都能从更改中受益。 我们只能为我们能接触到的ABF开发(和测试)。 所以我们非常感谢你的贡献!


欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
maven字段#getGenericType()抛出java。lang.TypeNotPresentException   用java绘制三角形的几何图形   java无法下载主题和发件人地址(rediff)   java如何使代码线程安全   java在尝试转换FileInputStream中的文件时,我遇到了一个FileNotFound异常   java Moxy和Jackson如何将Json映射到Pojo   在foreach循环中使用BufferedWriter生成新行的java问题   java为什么我的测试在单次执行中运行时间小于1秒,而在maven构建中运行时间大于20秒?   java如何显示下载附件的进度条   了解java rmi的良好实践   .net可以将Java portlet嵌入ASP。网页?   循环如何多次执行Java方法?   java如何确保用户输入在给定的有效范围内?   java单元测试定理   java如何在IntelliJ上运行外部构建项目?   JAVA:试图编写一个检查字符串是否为数字的方法。总是返回错误   javahadoop将特定键的所有map方法生成的所有值都发送到一个reduce方法,对吗?   在java中读取和使用文件