设为首页收藏本站
开启辅助访问
切换到窄版

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1121|回复: 3

perl 文本替换 根据关键字替换该文本的部分信息

[复制链接]
发表于 2016-6-12 10:30:30 | 显示全部楼层 |阅读模式
小白初学perl,还请大神们帮助,不舍赐教,谢谢了!

根据图片1(文件1)中的字符串(位置为1,如rs7412),在图片2(文件2)中检索相应的字符串(位置为6的 rs7412),然后将图片2中位置为4和5的信息插入到文件1中。

求教如何写perl文件,谢谢

只是知道先建立图片2(文件2),位置6相对于位置4和5的hash,然后就不知道如何去整合了,还请perl高手赐教,小白在此感谢了。




文件1

文件1

文件2

文件2
 楼主| 发表于 2016-6-12 10:36:52 | 显示全部楼层
#!/usr/bin/perl  -w

use strict;
use warnings;

die "Usage:perl $0  <gene_name> <gene_snp> <gene_merge>" if(@ARGV != 3);

my ($gene_primer, $gene_snp, $gene_merge) = @ARGV;

open(NAME, qq{$gene_primer})||die"$! \n";

my %neme_hasg = ();

while (<NAME>) {
    chomp;
    next if(/^#/);  
    my @its = split/\t/,$_;
    $neme_hasg{$its[6]} = [$its[4],$its[5]];
    my @key=keys %neme_hasg;
}
close NAME;

open(SNP, qq{$gene_snp})||die"$! \n";
open(EXPORT, qq{>$gene_merge})||die"$! \n";

while (<SNP>) {
    chomp;
    my @SNP = split/\t/,$_;
    while ($SNP[2]= @key[$str]){
        ?????该部分呢不知道如何写了
    }
    print EXPORT qq{$_\n};
    }
}
close GTF;
close EXPORT;
 楼主| 发表于 2016-6-12 15:19:47 | 显示全部楼层
千万不要沉啊
 楼主| 发表于 2016-6-13 12:11:23 | 显示全部楼层
好吧,我自己回答吧
供被人参考
#!/usr/bin/perl  -w

use strict;
use warnings;

die "Usage:perl $0  <gene_primer> <gene_snp> <export>" if(@ARGV != 3);

my ($gene_primer, $gene_snp, $export) = @ARGV;

open(NAME, qq{$gene_primer})||die"$! \n";

my %neme_hasg = ();

while (<NAME>) {
    chomp;
    my @its = split/,/,$_;
    next if($its[3] eq "Blank");
    my @fred = ($its[4],$its[5]);
    $neme_hasg{$its[6]} = [ @fred ];  #这个位置是hash值为数列
}
close NAME;

open(gene_SNP, qq{$gene_snp})||die"$! \n";
open(EXPORT, qq{>$export})||die"$! \n";

while (<gene_SNP>) {
    chomp;
    my @it_s = split/,/,$_;
    my $str =$_= $it_s[1];
    if (exists $neme_hasg{$str}){
    my @prime_r = @{$neme_hasg{$str}};   #这个位置是hash值为数列
    print EXPORT "$str".","."$prime_r[0]".","."$prime_r[1] \n";
    print "$str".","."$prime_r[0]".","."$prime_r[1] \n";
    }else{
        print EXPORT "$str".","."NONE\n";
        print "$str".","."NONE\n";
    }
}
close gene_SNP;
close EXPORT;
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|申请友链|小黑屋|手机版|Archiver|生物信息学论坛 ( 蜀ICP备09031721号  

GMT+8, 2017-5-23 22:44 , Processed in 0.120899 second(s), 26 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表