five

Bio Datasets

收藏
github2024-11-08 更新2024-11-12 收录
下载链接:
https://github.com/bioml-tools/bio-datasets
下载链接
链接失效反馈
官方服务:
资源简介:
将生物数据(包括分子等)引入Hugging Face数据集库。该扩展旨在简化生物数据的存储、加载和共享,支持多种生物数据格式,并提供高效的转换和加载机制。

Integrating biological data (including molecules and other related biological data types) into the Hugging Face Datasets library. This extension is designed to streamline the storage, loading, and sharing of biological data, supports a wide range of biological data formats, and provides efficient conversion and loading mechanisms.
创建时间:
2024-10-10
原始信息汇总

Bio Datasets

概述

Bio Datasets 是一个非官方扩展,旨在将生物数据(如分子等)引入 HuggingFace Datasets 库。主要目标包括:

  1. 高效存储生物数据以供机器学习使用。
  2. 低开销加载并将数据标准化为机器学习就绪的 Python 对象。
  3. 共享大小不一的数据集。

支持的生物分子结构数据格式

存储和加载格式

特征名称 存储格式 加载格式(由 load_as 特征关键字参数控制)
AtomArrayFeature 笛卡尔内部坐标和注释的数组 biotite.structure.AtomArray(默认)/ bio_datasets.BiomoleculeChain / bio_datasets.BiomoleculeComplex
StructureFeature 嵌入到 parquet 列中的压缩字节字符串编码文件格式:PDB / mmCIF / binaryCIF biotite.structure.AtomArray / bio_datasets.BiomoleculeChain / bio_datasets.BiomoleculeComplex

蛋白质特定版本

特征名称 存储格式 加载格式
ProteinAtomArrayFeature 笛卡尔或(实验性)离散内部坐标和注释的数组 biotite.structure.AtomArray / bio_datasets.ProteinChain / bio_datasets.ProteinComplex(默认)
ProteinStructureFeature 嵌入到 parquet 列中的压缩字节字符串编码文件格式:PDB / mmCIF / binaryCIF / foldcomp biotite.structure.AtomArray / bio_datasets.ProteinChain / bio_datasets.ProteinComplex(默认)

安装

bash pip install datasets-bio

使用示例

从 Hub 加载数据

python import foldcomp from bio_datasets import load_dataset

dataset = load_dataset( "biodatasets/afdb_e_coli", split="train", ) ex = dataset[0] # 包含 namestructurebiotite.structure.AtomArray 包装在 bio_datasets.Protein 对象中) print(type(ex["structure"]))

<class bio_datasets.structure.protein.protein.ProteinChain>

创建数据集

从本地文件构建和共享数据集

python from bio_datasets import Dataset, Features, ProteinStructureFeature

def examples_generator(pdb_file_list): for file_path in pdb_file_list: yield {"structure": {"path": file_path}}

features = Features(structure=ProteinStructureFeature(encode_with_foldcomp=True)) ds = Dataset.from_generator(examples_generator, gen_kwargs={"pdb_file_list": pdb_file_list}, features=features) ds[0]

将生物数据集分享到 HuggingFace Hub

ds.push_to_hub(HUB_REPO_ID)

性能优化

python from bio_datasets import Features, Value, load_dataset, AtomArrayFeature

dataset = load_dataset( "biodatasets/afdb_e_coli", split="train", ) pdb_time = timeit.timeit(stmt="""[ex for ex in dataset]""", number=1, globals=globals()) def convert_structure_to_array(ex, features): return features.encode_example(ex)

new_features = Features(name=Value("string"), structure=AtomArrayFeature()) array_dataset = dataset.map(convert_structure_to_array, features=new_features, fn_kwargs={"features": new_features}) array_time = timeit.timeit(stmt="""[ex for ex in array_dataset]""", number=1, globals=globals())

print( f"Iterated over {len(dataset)} examples in " f"{pdb_time:.1f}s with PDB storage vs {array_time:.1f}s with array storage " f" i.e. {len(dataset)/pdb_time:.1f} samples/s vs {len(dataset)/array_time:.1f} samples/s" )

Iterated over 8726 examples in 47.5s with PDB storage vs 7.0s with array storage i.e. 183.6 samples/s vs 1237.8 samples/s

未来计划

  • 支持其他生物数据类型:MD、单细胞/组学等。

贡献

欢迎代码贡献(如新的特征类型)、新数据格式/特征类型的建议,以及兼容生物数据集的分享。

搜集汇总
数据集介绍
main_image_url
构建方式
Bio Datasets通过扩展HuggingFace Datasets库,旨在高效存储生物数据,并提供低开销的数据加载和标准化功能。其构建方式主要依赖于Feature类,这些类定义了数据如何存储和加载。具体而言,Bio Datasets支持多种生物分子结构数据的存储格式,如PDB、mmCIF和binaryCIF,并通过AtomArrayFeature和StructureFeature等特征类型,实现从存储格式到Python对象的高效转换。此外,还提供了蛋白质特异性特征类型,如ProteinAtomArrayFeature和ProteinStructureFeature,以支持蛋白质结构数据的特定存储和加载需求。
特点
Bio Datasets的主要特点在于其高效的数据存储和加载机制。通过使用特定的Feature类型,数据可以在存储时以高效格式保存,而在加载时自动转换为适合机器学习处理的Python对象。此外,该数据集支持多种生物分子结构数据的存储格式,并提供了蛋白质特异性特征类型,增强了数据处理的灵活性和效率。Bio Datasets还支持数据集的共享,使得大型和小型数据集的分享变得简单,同时保持了数据的高效性和标准化。
使用方法
使用Bio Datasets时,用户可以通过pip安装该库,并利用load_dataset函数从HuggingFace Hub加载预配置的数据集。加载的数据集会自动包含Feature类型信息,确保数据在加载后可以直接用于下游应用。用户还可以通过创建自定义的Feature类型,从本地文件构建数据集,并通过push_to_hub方法将数据集分享到HuggingFace Hub。此外,Bio Datasets提供了性能优化选项,如使用AtomArrayFeature类型加速数据迭代,以及支持foldcomp压缩格式,进一步提高数据处理的效率。
背景与挑战
背景概述
生物数据集(Bio Datasets)是一个非官方扩展,旨在将生物分子数据引入HuggingFace的Datasets库。该数据集由一组研究人员和机构创建,专注于生物数据的机器学习应用。其核心研究问题是如何高效地存储、加载和共享生物数据,特别是生物分子结构数据。通过创建优化的特征类型,Bio Datasets解决了生物数据在存储和加载格式之间的转换问题,显著提升了数据处理的效率和便捷性。这一创新对生物信息学和机器学习领域具有重要影响,为研究人员提供了一个强大的工具来处理和分析复杂的生物数据。
当前挑战
尽管Bio Datasets在生物数据处理方面取得了显著进展,但仍面临若干挑战。首先,数据集的构建过程中需要处理多种生物数据格式,如PDB、mmCIF和binaryCIF,这要求高效的转换机制。其次,数据集的共享和加载过程中,如何确保数据的一致性和兼容性是一个重要问题。此外,随着生物数据类型的多样化和复杂化,支持更多生物数据类型(如MD、单细胞/组学数据)的需求日益增加,这对数据集的扩展性和灵活性提出了更高的要求。最后,性能优化和加载速度的提升仍然是持续关注的焦点,特别是在大规模数据处理和实时分析场景中。
常用场景
经典使用场景
Bio Datasets 数据集在生物信息学领域中被广泛用于分子结构数据的存储与加载。其经典使用场景包括高效地将生物分子结构数据转换为机器学习就绪的 Python 对象,从而支持蛋白质结构预测、药物设计等高级应用。通过集成到 HuggingFace Datasets 库中,Bio Datasets 简化了数据的标准化过程,使得研究人员能够快速访问和处理大规模的生物数据。
解决学术问题
Bio Datasets 数据集解决了生物信息学中数据存储与加载效率低下的常见问题。通过提供优化的存储格式和高效的加载机制,该数据集显著减少了数据处理的时间和资源消耗,从而加速了生物分子结构分析和机器学习模型的训练。此外,Bio Datasets 还促进了数据共享,有助于推动跨学科的研究合作和知识传播。
衍生相关工作
Bio Datasets 数据集的推出催生了多项相关研究和工作。例如,基于该数据集的蛋白质结构预测模型在多个国际竞赛中取得了优异成绩,推动了结构生物学的发展。此外,Bio Datasets 还激发了新的数据处理工具和算法的开发,如快速PDB解析工具和内部坐标表示法,这些工具和算法进一步提升了生物数据处理的效率和精度。
以上内容由遇见数据集搜集并总结生成
5,000+
优质数据集
54 个
任务类型
进入经典数据集
二维码
社区交流群

面向社区/商业的数据集话题

二维码
科研交流群

面向高校/科研机构的开源数据集话题

数据驱动未来

携手共赢发展

商业合作