Chinaunix首页 | 论坛 | 博客
  • 博客访问: 83792
  • 博文数量: 36
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 0
  • 用 户 组: 普通用户
  • 注册时间: 2016-07-28 10:06
个人简介

安徽屯溪,哈尔滨的雪地,扬州的瘦西湖,想必知道我是谁了吧!!对,小金思密达

文章分类

全部博文(36)

文章存档

2015年(7)

2014年(29)

我的朋友

分类: PERL

2014-09-27 21:42:21

问题描述:比如数据(如下),我现在想提取表头里第二列数字小于99的序列,以下perl代码可以完成这个工作。
>example 100 other tail  1
   AGCTAGTAGATGACCAGTGATCAGGATGTTGATTAGGAGGAGGGGATTAACCCCCAAGTAGATGATG
 >example 99 other tail  2
   AATGATCAGTAGGATCCCAGTTATGATCGGACGATCCAGCAGTAGTCGTCGATGACGATGACGATCA
             
#! /usr/bin/perl -w          ######example.pl#######
use strict;
use diagnostics;
print "please input your file,then press Enter! \n";
my $file = ;
open FILE,"$file";
open OUT,">output_result";
my $key;
my %hash;
       while (){
         chomp;
         if (/>/){   $key=$_ ;} else{ $hash{$key}.=$_ ;}
           }
     foreach $line (keys %hash){
            chomp $line;
          my @match= split (/\s+/,$line);
        if ($match[1]  < 99) {
            print OUT " $key\n$hash{$key}\n";
          }
     }
close OUT;
close FILE;
#####脚本运行:perl  example.pl#########

阅读(1099) | 评论(0) | 转发(0) |
0

上一篇:没有了

下一篇:FASTA|EMBL|genbank 文件格式相互转化

给主人留下些什么吧!~~