搜索
查看: 2574|回复: 0

[Perl] perl实现hash和数组互相嵌套-多维hash

[复制链接]

634

主题

1182

帖子

4030

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
4030
发表于 2017-4-10 11:16:19 | 显示全部楼层 |阅读模式
我以前不太喜欢这样用,主要是perl语法很奇怪,但有时候的确有用,我还是用一下吧:
[AppleScript] 纯文本查看 复制代码
NR_046018	chr1	9874	13874	0
NR_024540	chr1	27370	31370	1
NR_104148	chr7	64664083	64668083	0
NR_111960	chrX	44871175	44875175	0
NR_028458	chr14	92104621	92108621	1
NR_028459	chr14	92104621	92108621	1
NR_026818	chr1	34081	38081	1
NR_026820	chr1	34081	38081	1
NR_026822	chr1	34081	38081	1
NM_001005484	chr1	67091	71091	0

上面这个数据,首先要根据染色体来最外层hash
然后第二次hash记录坐标
第三层是数组,记录该染色体该坐标处的基因名字和正负链信息。
[AppleScript] 纯文本查看 复制代码
while(<>){
	chomp;
	@F=split;
	$chr{$F[1]}->{$F[2]}=[($F[0],$F[4])]
}
#print join('\t',keys %{$chr{'chr1'}}),'\n';
foreach( keys %{$chr{'chr1'}} ){
	#print join"\t", @{$chr{'chr1'}->{$_}};
	#print "\n";  
	print ${$chr{'chr1'}->{$_}}[0],"\n";
}

代码很简单,但是很多人会看的晕乎,我就不讲了,你自己实现,自己体悟



上一篇:R语言做coxPH建立生存对象Surv和右删失censoring的问题
下一篇:perl实现二分法查询最近的坐标
你这个问题很复杂,需要打赏,请点击 http://www.bio-info-trainee.com/donate 进行打赏,谢谢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|生信技能树 ( 粤ICP备15016384号  

GMT+8, 2019-8-19 14:33 , Processed in 0.041124 second(s), 26 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.