美文网首页
利用perl脚本统计基因组中的GAP

利用perl脚本统计基因组中的GAP

作者: qujingtao | 来源:发表于2024-01-01 15:01 被阅读0次
perl find_gap.pl genome.fa > gap.info
### find_gap.pl
local $/ = ">";
<>;
while (<>) {
    s/>//;
    my @a = split/\n/,$_,2;
    $a[1] =~ s/\n//g;
    my @seq = split//,$a[1];
    foreach  (0..$#seq) {
        if ($seq[$_] =~ /N/) {
            push @{$hash{$a[0]}},$_;
        }
    }
}

foreach my $chr (sort{$a cmp $b}keys %hash) {
    my @gap = group(@{$hash{$chr}});
    foreach  (@gap) {
        print "$chr\t$_->[0]\t$_->[1]\n";
    }
}

sub group {
    my @tmp = ();
    my $tmp = $_[0];
    my $cnt = 0;
    my @return;
    foreach  (0..$#_-1) {
        if ($_[$_+1] - $_[$_] != 1) {
            push @{$tmp[$cnt]},$_[$_];
            $cnt++;
        }else{
            push @{$tmp[$cnt]},$_[$_];
        }
    }
    push @{$tmp[$cnt]},$_[-1];
    foreach  (@tmp) {
        push @return,[(sort{$a<=>$b}@{$_})[0],scalar(@{$_})];
    }
    return @return;
}

相关文章

  • 利用perl脚本统计标记的信息

    输入数据格式为: 利用该脚本,可以获得标记的等位信息、杂合率、MAF、缺失率及PIC值。

  • Shell脚本统计DNA序列中碱基数目

    为了不编写perl脚本统计DNA中各碱基的数目,我采用了shell脚本直接对DNA序列进行统计。我的DNA序列如下...

  • Meta组装小课题2:GapCloser

    宏基因组复杂样品基因组的组装(无参考基因组) 什么是Gap以及它是怎样产生的 Gap : 序列中未确定的区域,通常...

  • Perl POD 文档

    Perl POD 文档 Perl 中可以在模块或脚本中嵌入 POD(Plain Old Documentation...

  • tRNAScan-SE v2.0

    tRNAscan-SE 能在基因组水平上进行tRNA扫描。该软件实际上是一个perl 脚本,整合了tRNAscan...

  • 【课程-Perl】Lesson 1: Perl 脚本的框架

    本文内容: 理解什么是Perl脚本 下载安装用来写Perl脚本的文本编辑器gedit 练习写简单的Perl脚本 用...

  • seqkit-fa&fq文件处理利器

    作为生信入门训练,我们常用perl python等脚本语言实现对基因组文件的处理,练习常规的文本文件处理。最近再做...

  • python R 的区别

    python和R在生信脚本编写中使用的频率是最高的,经常会把两者的脚本利用Perl/Shell 串联起来,进行Pi...

  • 用perl抓取 网站缓存的音乐。

    利用perl语言抓取脚本的时候,我是拒绝的。因为用perl语言太繁琐。空闲时间在听音乐,突然发现有些歌没办法听,就...

  • neo4j 日志的时区问题

    官网是使用新的perl脚本来完成的1,新建 perl-log.pl脚本 2,脚本内容 3,赋执行的权限,使用的时...

网友评论

      本文标题:利用perl脚本统计基因组中的GAP

      本文链接:https://www.haomeiwen.com/subject/jhuundtx.html