Thread String formatieren: Regular Expressions (13 answers)
Opened by birkhauser at 2006-03-06 16:14

renee
 2006-03-06 16:45
#63498 #63498
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Das Einlesen ist nicht ganz korrekt.

Ich würde es ungefähr so machen:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#!/usr/bin/perl

use strict;
use warnings;

my $file = 'eingabedatei.fasta';

{
local $/ = "\n>";
open(my $fh,"<",$file) or die $!;
while(my $entry = <$fh>){
chomp $entry;
next if($entry =~ /^\s*$/);
my ($header,$seq) = split(/\n/,$entry,2);
$seq =~ s/[\n\s]//gs;
print "header: $header\n";
$seq =~ s/([A-Z]{70})/$1\n/gs;
print "Sequenz: $seq\n";
}
close $fh;
}



Du könntest einfach ein Modul benutzen... Z.B. CPAN:Bio::FASTASequence. Das erspart Dir die eigenständige Einleserei...
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/

View full thread String formatieren: Regular Expressions