问题是:
我有53种不同组织中表达的基因列表。最初,这些数据存储在一个最大的基因数组中,其中“NaN”没有表达。我正在尝试为每一个刚刚表达了基因的组织创建新的列表,因为每次我运行脚本时搜索这个数组是非常低效的。我有一个代码,可以根据需要找到每个组织的基因,但我不知道如何存储输出。你知道吗
我使用熊猫数据帧,然后转换成csv。但这不接受不同长度的列表,除非我将此列表作为单个项目。然而,当我将数据帧保存到csv时,它试图将这个很长的列表(一个组织的所有基因表达)压缩到一个细胞中。我得到一个字符串长度超过excel字符/单元格限制的错误。你知道吗
因此,我需要一种方法来处理这个限制,或者以一种不同的方式来处理我的列表。我宁愿所有列表都有一个文件。你知道吗
我的代码:
import csv
import pandas as pd
import math
import numpy as np
#Import list of tissues:
df = pd.read_csv(r'E-MTAB-5214-query-results.tsv', skiprows = [0,1,2,3], sep='\t')
tissuedict=df.to_dict()
tissuelist = list(tissuedict.keys())[2:]
all_genes = [gene for key,gene in tissuedict['Gene Name'].items()]
data = []
for tissue in tissuelist:
#Create array to keep track of the protein mRnaS in tissue that are not present in the network
#initiate with first tissue, protein
nanInd = [key for key,value in tissuedict[tissue].items() if math.isnan(value)]
tissueExpression = np.delete(all_genes, nanInd)
datatis = [tissue, tissueExpression.tolist()]
print(datatis)
data.append(datatis)
print(data)
df = pd.DataFrame(data)
df.to_csv(r'tissue_expression_data.csv')
链接到数据(任意一个):
https://github.com/joanna-lada/gene_data/blob/master/E-MTAB-5214-query-results.tsv
https://raw.githubusercontent.com/joanna-lada/gene_data/master/E-MTAB-5214-query-results.tsv
你需要在每个组织中找到的基因名的列表。这会将这些列表作为列写入csv:
(将它们写成行会更容易,但Excel无法导入这么多列) 不要直接在Excel中打开csv,而是使用空白工作表并导入csv(数据-外部数据,来自文本),否则不能在一次运行中将它们分离到Excel列中(至少在Excel 2010中是这样)。你知道吗
创建
data
变量作为字典 您可以使用json.dump文件refer here相关问题 更多 >
编程相关推荐