view count_ref_length.pl @ 30:ba8e8c338d2e draft

Uploaded
author big-tiandm
date Fri, 14 Nov 2014 03:15:07 -0500
parents 07745c0958dd
children
line wrap: on
line source

#!/usr/bin/perl -w
#Filename:
#Author: Tian Dongmei
#Email: tiandm@big.ac.cn
#Date: 2009-05-06
#Modified:
#Description: ɾ³ýmatched reads 
my $version=1.00;

use strict;
use Getopt::Long;

my %opts;
GetOptions(\%opts,"i=s","o=s","h");
if (!(defined $opts{i} and defined $opts{o} ) || defined $opts{h}) { #necessary arguments
&usage;
}

my $filein=$opts{'i'};
my $fileout=$opts{'o'};

open IN,"<$filein"; #input file  
open OUT,">$fileout"; #output file  

my ($name,$seq);
while (my $aline=<IN>) {
	chomp $aline;
	if ($aline=~/^>(\S+)/) {
		$name=$1;
		while (my $new=<IN>) {
			chomp $new;
			if ($new=~/^>(\S+)/) {
				print OUT $name,"\t",length($seq),"\n";
				$seq ="";
				$name=$1;
				next;
			}
			else{$seq .=$new;}
		}
	}
	print OUT $name,"\t",length($seq),"\n";
}
 
close IN;
close OUT;
sub usage{
print <<"USAGE";
Version $version
Usage:
$0 -i -o
options:
-i input file
-o output file
-h help
USAGE
exit(1);
}