Thread Bioinformatik (14 answers)
Opened by jaqueline12 at 2015-06-21 01:38

Linuxer
 2015-06-21 19:25
#181399 #181399
User since
2006-01-27
3870 Artikel
HausmeisterIn

user image
Beim Einlesen von "Filehandles" ermöglicht Perl es, festzulegen, was als Trenner eines Datensatzes zu verwenden ist. Das könntest Du Dir hier zu nutze machen.

Klassisch ist der Zeilenumbruch als Trenner definiert. Wenn man nun also aus einer Textdatei liest, wird zeilenweise gelesen und jede Zeile enthält noch am Ende den Umbruch.
Wenn man den Trenner auf einen anderen String setzt, passiert die Trennung eben bei diesem anderen String.

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#! perl
use strict;
use warnings;


# read data sequence from user
my $data = "TGCAACTGCATACGTACTCGACTGCATT";

# read separator from user
my $separator = "TG";


# split sequence into parts
my @splitted = do {

        # open filehandle for input data; maybe a filename later?
        open( my $fh, '<', \$data ) or die "Could not open data.";

        # set input field separator (it is NOT removed from the resulting parts)
        local $/ = $separator;

        # read parts from filehandle (list context because of @splitted)
        <$fh>;
};

# control; print each part in @splitted per line
print join "\n", @splitted, "";


Siehe dazu auch: http://perldoc.perl.org/perlvar.html#$/
meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen!

View full thread Bioinformatik