1

对于生物信息学项目,我想将 .BED 文件读入 pandas 数据框,但不知道我该怎么做以及需要哪些工具/程序。我在互联网上找到的任何东西都不适用于我,因为我正在使用 Python 3.7(Anaconda 发行版)在 windows10 上工作。

任何帮助,将不胜感激。

4

2 回答 2

1

根据https://software.broadinstitute.org/software/igv/BED

BED 文件 (.bed) 是一个制表符分隔的文本文件,用于定义特征轨迹。

根据http://genome.ucsc.edu/FAQ/FAQformat#format1包含多达 12 个字段(列)和可能以单词开头的注释行'track'。以下是将此类bed文件读入 pandas 数据帧的最小程序。

import pandas as pd

df = pd.read_csv('so58178958.bed', sep='\t', comment='t', header=None)
header = ['chrom', 'chromStart', 'chromEnd', 'name', 'score', 'strand', 'thickStart', 'thickEnd', 'itemRgb', 'blockCount', 'blockSizes', 'blockStarts']
df.columns = header[:len(df.columns)]

这只是一个非常简单的代码片段,它将所有以 a 开头的行't'视为注释。这应该可以工作,因为所有“chrom”字段条目都应该以 a 'c'、 an's'或数字开头。

于 2019-10-01T07:04:13.710 回答
1

如果您使用pyranges,将为 df 指定名称和相应的数据类型。

import pyranges as pr

df = pr.read_bed("your.bed", as_df=True)

它还具有用于不整洁的生物信息学格式的阅读器,例如 gtfs 和 gff3s。

于 2020-04-22T08:22:13.077 回答