zoukankan      html  css  js  c++  java
  • Perl去重fasta序列

    常规方法

    #! usr/bin/perl -w
    use strict;
    my $input=shift;
    my %hash;
    open IN,"<$input";
    $/=">";
    while(<IN>){
        chomp;
        $hash{$_}=1;
    }
    foreach my $key(keys %hash){
        print ">$key";
    }
    close IN;
    

    Bioseq模块方法

    #!/usr/bin/perl
    use Bio::SeqIO;
    
    my $fas=shift @ARGV;
    my $IN=Bio::SeqIO->new(-file=>"$fas",-format=>'fasta');
    my $OUT=Bio::SeqIO->new(-file=>">New_$fas",-format=>'fasta');
    my $check={};
    while (my $seq=$IN->next_seq()){
        my $id=$seq->id;
        unless($check->{$id}){
           $check->{$id}=1;
           $OUT->write_seq($seq);
        }
    }
    $IN->close();
    $OUT->close();
    print "Finished!\n";
    

    单行命令

    cat cat_allsample.fa |perl -076 -ne 'chomp; print ">$_" unless $c{$_}++ '|grep -c '>'
    
  • 相关阅读:
    模块和包
    mysql视图、存储过程等
    mysql 索引
    sql语句
    HTTP协议
    Django中的form组件
    数据结构
    一些常用函数
    C/C++中tag和type
    什么是compile-time-constant
  • 原文地址:https://www.cnblogs.com/jessepeng/p/11221893.html
Copyright © 2011-2022 走看看