将 BED 文件读入 pandas 数据框 (windows)

Reading BED files into pandas dataframe (windows)

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

如有任何帮助,我们将不胜感激。

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

A BED file (.bed) is a tab-delimited text file that defines a feature track.

根据 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)]

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

如果您使用 pyranges,df 将被赋予名称和相应数据类型的列。

import pyranges as pr

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

它还有 gtfs 和 gff3s 等不整洁的生物信息学格式的读者。