perl求助:geneid替换成gene symbol

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了perl求助:geneid替换成gene symbol相关的知识,希望对你有一定的参考价值。

最近在处理数据的时候遇到一个问题,关于匹配替换的。
text1.txt

1432;3551;51135;5518;5519;5520;5522;55844;5970
1432;3551;51701;5608;9020;9064
1432;3551;5595;5601;5602;5608
1432;3551;5595;5601;5602;5970;8767
1432;3551;5608;7186;9020;9064
1432;3659;5610;5970;9451
1432;3659;5610;673;9451
1432;3725;5595;5601;5602

text2.txt文件里面只有两列,分别是数字对应字符,例如

1432 adec
2778 lkhj
2799 snjkl
2811 sdf
2821 pop
2885 myc
2977 myb
3033 cde
.....

现在想把text1.txt中的字符匹配到text2.txt中,然后输出到text3.txt中。

之前也做过匹配替换的
但是对于多次出现的字符“1432",总是自动去重。这样得不到我想要的结果

open IN,"file2.txt";#geneId geneSymbol
open IN2,"file1.txt";#geneIds
open OUT,"> file3.txt";#ouput file
my %hash=();
my @str=();
while(<IN>)
chomp;
@str=split;
$hash$str[0]=$str[1];

while(<IN2>)
s/(\d+)/$hash$1/g;
print OUT;
参考技术A 1. 你想 text3 里装的是甚麼 ? 可否举例 ?

2. 甚麼和甚麼做匹配? 怎麼才算一个你想要的匹配?
3. 你说到 关于匹配替换, 匹配你说了, 那替换甚麼呢 ?追问

得到结果如下:
FAS;BID;CASP3;CASP7;CASP8;CASP10;FADD;TNFRSF10D;TNFRSF10C;TNFRSF10B;TNFRSF10A;CFLAR
ARPC5;ARPC4;ARPC3;ARPC1B;ARPC2;ARPC1A;RHOA;ACTB;653888;ACTG1;VCL;ARPC5L
ARPC5;ARPC4;ARPC3;ARPC1B;ARPC2;ARPC1A;RHOA;ACTB;653888;ACTG1;VCL;ARPC5L
......
.....

追答

彻底不知道你在说甚麼, 祝你好运啦 =)

追问

嗯,我描写的不清晰。不过我已经做出来了。

参考技术B 直接说你想要什么结果

以上是关于perl求助:geneid替换成gene symbol的主要内容,如果未能解决你的问题,请参考以下文章

Perl练习GO2gene对应关系一对多转成一对一

如何将上百个gene symbol 转换成gene ID

gene ID,gene symbole,EnsembleID

R语言入门06:GEO数据库中数据的下载

关于stringtie定量基因的时候,最后输出很多MSTRG样式的geneid

mysql中的Sample-Gene-Expression数据存储问题