Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/357.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 向Neo4jRestClient分配变量时的索引器错误_Python_Numpy_Variables_Index Error_Neo4jrestclient - Fatal编程技术网

Python 向Neo4jRestClient分配变量时的索引器错误

Python 向Neo4jRestClient分配变量时的索引器错误,python,numpy,variables,index-error,neo4jrestclient,Python,Numpy,Variables,Index Error,Neo4jrestclient,我正在尝试访问基于Numpy的基因组数据,这是一个用于基因组数据的工具 我对python不是很在行,但我正在尝试迭代每个变量并提取数组中的相关列,然后使用Neo4j Rest客户端在Neo4j数据库中创建节点 下面的代码生成所有变量和所有数据类型的数组: variants = allel.VariantChunkedTable(callset[chrom]['variants'], names=['AC','AF_AFR', 'AF_AMR', 'AF_ASN', 'AF_EUR', 'AF_M

我正在尝试访问基于Numpy的基因组数据,这是一个用于基因组数据的工具

我对python不是很在行,但我正在尝试迭代每个变量并提取数组中的相关列,然后使用Neo4j Rest客户端在Neo4j数据库中创建节点

下面的代码生成所有变量和所有数据类型的数组:

variants = allel.VariantChunkedTable(callset[chrom]['variants'], names=['AC','AF_AFR', 'AF_AMR', 'AF_ASN', 'AF_EUR', 'AF_MAX', 'CGT', 'CLR', 'CSQ', 'DP', 'DP4', 'ESP_MAF', 'FILTER_LowQual', 'FILTER_MinHWE', 'FILTER_MinVQSLOD', 'FILTER_PASS', 'HWE', 'ICF', 'ID', 'IS', 'PC2', 'PCHI2', 'POS', 'PR', 'QCHI2', 'QUAL', 'REF', 'ALT', 'INDEL', 'SHAPEIT', 'SNP_ID', 'TYPE', 'UGT', 'VQSLOD', 'dbSNPmismatch', 'is_snp', 'numalt', 'svlen'], index='POS')
我(认为我)已以数组形式声明变量,如下所示:

pos = variants['POS'][:]
alt = variants['ALT'][:]
dp = variants['DP'][:]
ac = variants['AC'][:]
type = variants['TYPE'][:]
svlen = variants['svlen'][:]
qual = variants['QUAL'][:]
vq = variants['VQSLOD'][:]
这些变量创建数组,例如:

In: pos
Out: array([    28590,     50481,     52152, ..., 249225077, 249229702,
       249231222], dtype=int32)
我现在正试图访问每一行的变量,但似乎不知道如何访问。我当前的尝试如下所示(对于前10行):

不幸的是,出现以下错误:

IndexError: only integers, slices (`:`), ellipsis (`...`), numpy.newaxis (`None`) and integer or boolean arrays are valid indices

有谁能帮我找出如何获取每个属性的特定变量吗?

由于没有可复制的示例,我无法遵循您的代码,因此我必须根据scikit allel文档创建一个示例:

因此,
variants
变量(本例中只有6行)如下所示:

>>> variants
<VariantChunkedTable shape=(6,) dtype=[('CHROM', 'S4'), ('POS', '<i8'), ('AC', '<i8', (2,)), ('QD', '<f8'), ('DP', '<i8')] 
nbytes=264 cbytes=264 cratio=1.0 values=h5py._hl.group.Group>
    CHROM   POS AC      QD  DP
0   b'chr1' 2   [1 2]   4.5 35
1   b'chr1' 7   [3 4]   6.7 12
2   b'chr2' 3   [5 6]   1.2 78
3   b'chr2' 9   [7 8]   4.4 22
4   b'chr3' 6   [ 9 10] 2.8 99
5   b'chr3' 11  [11 12] 3.2 96
pos[i]、dp[i]等值随后可以馈送到
db.nodes。在
name=value
对中创建

当然,对于前10行,您只需要使用
for i in range(10)

谢谢,我知道这是一个相当简单的问题。我对共享任何VCF数据都有点怀疑,尽管这一点可以忽略不计。
import h5py
import allel
import os

#cleanup
h5_file = 'callset.h5'
os.remove(h5_file) if os.path.exists(h5_file) else None

chrom = [b'chr1', b'chr1', b'chr2', b'chr2', b'chr3', b'chr3']
pos = [2, 7, 3, 9, 6, 11]
dp = [35, 12, 78, 22, 99, 96]
qd = [4.5, 6.7, 1.2, 4.4, 2.8, 3.2]
ac = [(1, 2), (3, 4), (5, 6), (7, 8), (9, 10), (11, 12)]

with h5py.File(h5_file, mode='w') as h5f:
    h5g = h5f.create_group('/3L/variants')
    h5g.create_dataset('CHROM', data=chrom, chunks=True)
    h5g.create_dataset('POS', data=pos, chunks=True)
    h5g.create_dataset('DP', data=dp, chunks=True)
    h5g.create_dataset('QD', data=qd, chunks=True)
    h5g.create_dataset('AC', data=ac, chunks=True)


callset = h5py.File(h5_file, mode='r')
variants = allel.VariantChunkedTable(callset['/3L/variants'],
                                names=['CHROM', 'POS', 'AC', 'QD', 'DP'])
>>> variants
<VariantChunkedTable shape=(6,) dtype=[('CHROM', 'S4'), ('POS', '<i8'), ('AC', '<i8', (2,)), ('QD', '<f8'), ('DP', '<i8')] 
nbytes=264 cbytes=264 cratio=1.0 values=h5py._hl.group.Group>
    CHROM   POS AC      QD  DP
0   b'chr1' 2   [1 2]   4.5 35
1   b'chr1' 7   [3 4]   6.7 12
2   b'chr2' 3   [5 6]   1.2 78
3   b'chr2' 9   [7 8]   4.4 22
4   b'chr3' 6   [ 9 10] 2.8 99
5   b'chr3' 11  [11 12] 3.2 96
for i in range(len(variants)):
    print(f"> Row {i}")
    print(pos[i])
    print(dp[i])
    print(ac[i][0])