#!/usr/bin/perl -w #Markus Westphal 17.01.2006 ###################################################### # Markus Westphal pattern.pl # ###################################################### use strict; my($pf,$j,$i,$stand,$datei,$id,$length,$sequ,$search,$record,$ind); $i = 1; #globale Variabeln füllen $datei = "patternerg.txt"; $i = 0; $stand = 1; #EINLESEN Dateinamen AUSGABEDATEI! for($j = -1; $j < $#ARGV; $j++) { if($ARGV[$j] =~ /^datei/) { ($pf, $datei) = split("=", $ARGV[$j]); } } #AUSGABEDATEI open(TF, ">$datei") || die ("$datei kann nicht erstellt werden!\n"); open(SW,") { if($_ =~ /ID\s+CX/m) { if($_ =~ /DE.*Conotoxin/im){&auswertung($_);} elsif($_ =~ /DE.*Cytotoxin/im){&auswertung($_);} } } close(SW); #FUNKTIONEN sub auswertung() { $record = $_; $record =~ /ID\s+(\w+).*;\s+(\d+) AA\..*\n\w\w\s+.*SQ\s+SEQUENCE\s+\d+\sAA;.*;\n(.*)\/\//s; #benötigt wird ID SEQ und Länge der SEQ $id = $1; $length = $2; $sequ = $3; $sequ =~ s/ //g; $sequ =~ s/\n//g; if($length >= 20 && $length <= 30) { print TF ">$id $length AA.\n$sequ\n\n"; } } close(TF);