gpt4 book ai didi

python - 从文件中提取一级邻居

转载 作者:行者123 更新时间:2023-11-30 22:08:25 24 4
gpt4 key购买 nike

我有一个非常大的文件,其边缘带有一些数字属性(基因-基因相关值。

Solyc06g071220.1.1 Solyc03g119900.3.1 -0.103908702731133 0.84469789799632
Solyc06g021220.1.1 Solyc06g082440.1.1 -0.224259048700333 0.669250658547268
Solyc06g031220.1.1 Solyc03g062750.1.1 0.71688175201416 0.108887108533016
Solyc06g031220.1.1 Solyc04g055160.3.1 0.0175280850380659 0.973710565052682
Solyc06g041220.1.1 Solyc09g065990.3.1 0.390961289405823 0.443437425098591
Solyc06g031220.1.1 Solyc01g109440.2.1 -0.19314156472683 0.713890096929684
Solyc06g071220.1.1 Solyc06g065310.3.1 -0.0117298867553473 0.982405976825965
Solyc06g071220.1.1 Solyc04g078470.3.1 -0.325205653905869 0.529388185554353
Solyc06g071220.1.1 Solyc01g008510.3.1 0.7591872215271 0.0800037292660498
Solyc04g078470.3.1 Solyc06g031220.1.1 0.891855001449585 0.0169106147650597
Solyc04g055160.3.1 Solyc06g031220.1.1 0.0175280850380659 0.973710565052682

给定另一个文件 input.txt,它应该能够提取其所有邻居:

输入.txt

Solyc06g031220.1.1

输出:

Solyc06g031220.1.1 Solyc03g062750.1.1 0.71688175201416 0.108887108533016
Solyc06g031220.1.1 Solyc04g055160.3.1 0.0175280850380659 0.973710565052682
Solyc06g031220.1.1 Solyc01g109440.2.1 -0.19314156472683 0.713890096929684
Solyc04g078470.3.1 Solyc06g031220.1.1 0.891855001449585 0.0169106147650597
Solyc04g055160.3.1 Solyc06g031220.1.1 0.0175280850380659 0.973710565052682

由于网络是无向的,A-B 和 B-A 是相同的,应该删除。

我已经完成了Python方式,即根据空间分割每一行,并检查前两个列表元素中是否存在基因ID。但这需要非常长的时间来遍历该文件。请帮忙

file1=open("correlation_v1.txt", 'r')
file2=open("input.txt", "r")

file1_id=file1.readlines()
file2_id=file2.readlines()

for i in file1_id:
gene_id=i.split()
gene_id[0]=gene_id[0].strip()
gene_id[1]=gene_id[1].strip()
for j in file2_id:
loc_id=j.split()
loc_id[0]=loc_id[0].strip()
if ((loc_id[0] == gene_id[0]) or (loc_id[0] == gene_id[1])):
print i,"\t", j

最佳答案

这可以使用 grep 轻松完成:

grep -F -w -f input.txt filename

-F 使其查找文字字符串而不是正则表达式模式。 -w 使其将字符串作为整个单词进行查找。 -f 使其采用从输入文件中搜索的模式。

关于python - 从文件中提取一级邻居,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52160126/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com