【发布时间】:2014-03-02 00:16:39
【问题描述】:
我的文本文件数据如下所示:(蛋白质-蛋白质相互作用数据)
转录因子蛋白
Myc Rilpl1
Mycn Rilpl1
Mycn "Wdhd1,Socs4"
Sox2 Rilpl1
Sox2 "Wdhd1,Socs4"
纳米“Wdhd1,Socs4”
我希望它看起来像这样:(查看每个蛋白质与多少个转录因子相互作用)
蛋白质转录因子
Rilpl1 Myc、Mycn、Sox2
Wdhd1 Mycn、Sox2、Nanog
Socs4 Mycn、Sox2、Nanog
使用我的代码后,我得到的是:(我怎样才能摆脱“”并将两个蛋白质分开到新行)
蛋白质转录因子
Rilpl1 Myc、Mycn、Sox2
"Wdhd1,Socs4" Mycn, Nanog, Sox2
这是我的代码:
input_file = ARGV[0]
hash = {}
File.readlines(input_file, "\r").each do |line|
transcription_factor, protein = line.chomp.split("\t")
if hash.has_key? protein
hash[protein] << transcription_factor
else
hash[protein] = [transcription_factor]
end
end
hash.each do |key, value|
if value.count > 2
string = value.join(', ')
puts "#{key}\t#{string}"
end
end
【问题讨论】:
-
transcription_factor prtoein [sic]和protein transcription_factor去哪儿了? -
对不起,你什么意思?
-
你的文本文件真的每行文本之间都有空行吗?如果没有,请修正您的示例,以便它们准确无误。与现实生活中的 GIGO 一样,我们需要良好的输入样本。
-
另外,制表符不会分隔行中的字段,但您甚至没有解释应该有制表符。 -1 和关闭投票。
-
顺便问一下,什么是“蛋白质”?我确信 OP 的问题并不是来自专业人士的问题,但对我来说仍然是一个问题。
标签: ruby arrays hash text-files readlines