与“合作”;“床”;python中的文件
我有一个.bed文件,其中包含1000行,每行中的单词用tab(\t)分隔。如果我们把每个单词看作一列,每行有12列。 我需要一种将这个.bed文件转换为矩阵的方法,这样我就可以轻松访问它的列。 例如,我需要访问第12列。我有什么办法可以做吗 我已经试过了:与“合作”;“床”;python中的文件,python,Python,我有一个.bed文件,其中包含1000行,每行中的单词用tab(\t)分隔。如果我们把每个单词看作一列,每行有12列。 我需要一种将这个.bed文件转换为矩阵的方法,这样我就可以轻松访问它的列。 例如,我需要访问第12列。我有什么办法可以做吗 我已经试过了: import numpy as np data = np.genfromtxt("myFile.bed") 但它不能正常工作。 有人能帮我吗?床文件是标准的制表符分隔文本文件。Tu将其内容存储在内存中的常用方法是: con
import numpy as np
data = np.genfromtxt("myFile.bed")
但它不能正常工作。
有人能帮我吗?床文件是标准的制表符分隔文本文件。Tu将其内容存储在内存中的常用方法是:
content = []
with open("myFile.bed")as f:
for line in f:
content.append(line.strip().split())
您可以在此处使用numpy数组而不是列表,或者根据需要使用np.asarray
转换结果
实际上,很少需要从中提取矩阵,因为它们代表(基因组?)间隔,并且通常非常大。大多数情况下,在循环的每一行修改/读取/执行某些函数:
with open("myFile.bed")as f:
for line in f:
L = line.strip().split()
# ... do something with L
否则,库将实现R中的“数据帧”(但我从未使用过)
import pyranges as pr
path = pr.get_example_path("aorta.bed")
gr = pr.read_bed(path)
# +--------------+-----------+-----------+------------+-----------+--------------+
# | Chromosome | Start | End | Name | Score | Strand |
# | (category) | (int32) | (int32) | (object) | (int64) | (category) |
# |--------------+-----------+-----------+------------+-----------+--------------|
# | chr1 | 9939 | 10138 | H3K27me3 | 7 | + |
# | chr1 | 9953 | 10152 | H3K27me3 | 5 | + |
# | chr1 | 10024 | 10223 | H3K27me3 | 1 | + |
# | chr1 | 10246 | 10445 | H3K27me3 | 4 | + |
# | ... | ... | ... | ... | ... | ... |
# | chr1 | 9978 | 10177 | H3K27me3 | 7 | - |
# | chr1 | 10001 | 10200 | H3K27me3 | 5 | - |
# | chr1 | 10127 | 10326 | H3K27me3 | 1 | - |
# | chr1 | 10241 | 10440 | H3K27me3 | 6 | - |
# +--------------+-----------+-----------+------------+-----------+--------------+
# Stranded PyRanges object has 11 rows and 6 columns from 1 chromosomes.
# For printing, the PyRanges was sorted on Chromosome and Strand.
df = gr.df
# Chromosome Start End Name Score Strand
# 0 chr1 9939 10138 H3K27me3 7 +
# 1 chr1 9953 10152 H3K27me3 5 +
# 2 chr1 10024 10223 H3K27me3 1 +
# 3 chr1 10246 10445 H3K27me3 4 +
# 4 chr1 110246 110445 H3K27me3 1 +
# 5 chr1 9916 10115 H3K27me3 5 -
# 6 chr1 9951 10150 H3K27me3 8 -
# 7 chr1 9978 10177 H3K27me3 7 -
# 8 chr1 10001 10200 H3K27me3 5 -
# 9 chr1 10127 10326 H3K27me3 1 -
# 10 chr1 10241 10440 H3K27me3 6 -
如果使用
np.genfromtxt
,会发生什么情况?请添加详细信息。。。