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

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

文章分类

全部博文(36)

文章存档

2015年(7)

2014年(29)

我的朋友

分类: PERL

2015-03-20 10:59:20

#!/usr/bin/perl -w
use strict;
############################
#
#使用方法:windows的dos界面或者linux下:perl file_name
###########################
my ($input_file,$head,$line,$width,%seq);
print "输入文件名称,并按Enter\n";
$input_file=;
  chomp$input_file;
open IN,"<$input_file";
open OUT,">result";
   while (){
            chomp;
       if (/^>/){$head=$_;}else{$seq{$head}.=$_;}
       }
 print "程序负责单条序列转换成特定长度的序列\n";      
 print "输入期望的序列宽度,并按一下Enter键\n";     
              
           $width=;
            chomp$width;
foreach $line(sort keys %seq){
                     chomp$line;
             
              # $seq{$line}=~s/(?<=\w{30})(?                $seq{$line}=~s/((\w{$width})+?)(\w{0})/$1\n$3/gi;  #折叠  这一块需要优化,最好的方法是用环顾(?=|?<=),比较一下就知道速度的差异了
               
               print OUT "$line\n$seq{$line}\n";
           }
           
       exit;
       

阅读(982) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~