File: revcomp_fasta.pl

package info (click to toggle)
trinityrnaseq 2.15.2%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 468,004 kB
  • sloc: perl: 49,905; cpp: 17,993; java: 12,489; python: 3,282; sh: 1,989; ansic: 985; makefile: 717; xml: 62
file content (21 lines) | stat: -rwxr-xr-x 571 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#!/usr/bin/env perl

use strict;
use warnings;

local $/ = ">";
while(<>){
	chomp;
	my $lineSepPos = index($_, "\n");
	my $header = substr($_,0,$lineSepPos);
	if($header){
		print(">", $header, "\n");
		my $sequence = reverse(substr($_,$lineSepPos));
		# see http://shootout.alioth.debian.org/u32/performance.php?test=revcomp#about
		# for ambiguity codes and translation
		$sequence =~ tr/ACGTUMRWSYKVHDBNacgtumrwsykvhdbn\n/TGCAAKYWSRMBDHVNtgcaakywsrmbdhvn/d;
		for(my $pos = 0; $pos < length($sequence);$pos += 60){
			print(substr($sequence, $pos, 60),"\n");
		}
	}
}