Thread spezielle Daten aus Datei (12 answers)
Opened by ASDS at 2007-05-29 15:58

ASDS
 2007-06-04 15:51
#77028 #77028
User since
2007-01-29
115 Artikel
BenutzerIn
[default_avatar]
Sagt mal leute..

ich hab das ganze jetzt mal hinbekommen.... so halbwegs..auf gut Glück allerdings, weil ich es nicht zum laufen bring...
Aber wie bekomm ich es jetzt von der Synatx her in ein HTML File.. hier mein Code:

Code: (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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
#####
#Defintion der Variablen
######
my %Optionen = (
'htmlAusgabe' => "C:\Perl\Ergebnis.html",
'pdbaaZiel' => "pdbaa",
'SwissprotQuelle' => "uniprotsprot_clean.fasta",
);

my $ergebnis = GetOptions(\%Optionen, 'SwissprotQuelle=s', 'pdbaa=s', 'htmlAusgabe=s');

# oeffnen der QuellenDatenbank
open (SEQUENZ, $Optionen->{'SwissprotQuelle'}) or die "Die Datei $Optionen->{'SwissprotQuelle'} kann nicht geoeffnet werden.";

# Define Variables
my $parseparameter = {
'accessionNr' => 0,
'laenge_query' => 0,
'laenge_match' => 0,
'laenge_alignment' => 0,
'seq_query' => '',
'seq_match' => '', # in %
'identität' => '', # in %
'similarity' => 0,
'e_value' => 0,
'raw_score' => 0,
'hits' => '',
'match' => '', #link zu PDB
'query' => '', }; #Link zu Swissprot

my $Sequenze = { 'anno' => '',
'sequenze' => ''}

#Schleife um nach Human Sequenzes zu selektieren
#mit Merkparametern um Übersicht zu waren und schreiben in Datei
while (<SEQUENZ>) {
$line = $_;
chomp($line);

if ($line =~ /^(>\w*)\|(\w+HUMAN)/) {
if (defined $Sequenze->{'sequenze'} &&
defined($Sequenze->{'anno'}))&& {
if (length($Sequenze->{'sequenze'}) < 150){
&printblast();
}

$Sequenze->{'anno'} = $line; # merkt sich den Identifier
$parseparameter->{'accessionNr'} = $1;
$Sequenze->{'sequenze'} = " "; #speichert
} else {
$Sequenze->{'sequenze'} .= $line; #verbindet die Sequenzen
}
}
# we still need to print the last sequenc
&printblast();
# close Input File
close SEQUENZ;

#####
#blasten
######
sub blasten {
system( "blastall -i temp.fasta -d $Optionen{'pdbaaZiel'} -p blastp -o C:\Perl\blast\Sequenze" .$parseparameter->{'acc'} .'.blastp'; ); #blastall, inputfile auswählen, ZielDB angeben, und Outputfiles angeben
&parseparameter();
};

}

#####
#sub für die Analyse der Sequenzen + herausselektieren der $parseparameter
######
sub Analyse Sequenzen {

# Anwendung BioPerl
my $Seq_in = Bio::SearchIO->new (-format => 'blast',
-file => 'C:\Perl\blast\Sequenze '.$parseparameter->{'accessionNr'} .'.blastp');
my $ergebnis = $Seq_in->next_ergebnis;

##
#Links
##
#Pdbaa
my $AccessionNrQuery = $ergebnis->query_accession;
$parseparameter->{'laenge_query'} = $ergebnis->query_length;
$parseparameter->{'match'} = "http://www.rcsb.org/pdb/explore/explore.do?structureId=" .$hit->accession;
# swissprot
$parseparameter->{'query'} = "http://www.expasy.org/uniprot/$parseparameter->{'accessionNr'}";

####
#Restliche Infos
###
my $AccessionNrHit = $ergebnis->hit_accession;
my $hit = $ergebnis->next_hit;

if (defined($hit)){
$parseparameter->{'hits'} = 'C:\Perl\blast'.$parseparameter->{'accessionNr'} .'.blastp';
$parseparameter->{'raw_score'} = $hit->raw_score;
$parseparameter->{'length_match'} = $hit->length;

my $hsp = $hit->next_hsp;
$parseparameter->{'seq_query'} = $hsp->query_string;
$parseparameter->{'seq_match'} = $hsp->hit_string;
$parseparameter->{'identitaet'}= substr($hsp->percent_identity, 0, 5);
$parseparameter->{'e_value'} = $hsp->evalue;
$parseparameter->{'laenge_alignment'} =$hsp->length('total');
}

#####
#Ausgabe in ein .fasta für die sub blasten
######
sub printblast {
open (FH, ">temp.fasta"); #open File mit FileHandler
print (FH $parseparameter->{'accessionNr'} . "\n" . $Sequenze->{'sequenze'} );
close FH;

&blasten();
}


und ich würd jetzt eben gerne die heruaselektieren Parameter in ein HTML FIle schreiben.. wie mach ich das am geschicktesten?

View full thread spezielle Daten aus Datei