Difference between revisions of "Journal Task4 PKU"
(→Modeller) |
|||
Line 157: | Line 157: | ||
== Modeller == |
== Modeller == |
||
+ | Modeller needs the target as a .pir-file which we provided as mentioned above |
||
+ | >P1;2pah |
||
+ | sequence:2pah:::::::0.00: 0.00 |
||
+ | MSTAVLENPGLGRKLSDFGQETSYIEDNCNQNGAISLIFSLKEEVGALAKVLRLFEENDV |
||
+ | NLTHIESRPSRLKKDEYEFFTHLDKRSLPALTNIIKILRHDIGATVHELSRDKKKDTVPW |
||
+ | FPRTIQELDRFANQILSYGAELDADHPGFKDPVYRARRKQFADIAYNYRHGQPIPRVEYM |
||
+ | EEEKKTWGTVFKTLKSLYKTHACYEYNHIFPLLEKYCGFHEDNIPQLEDVSQFLQTCTGF |
||
+ | RLRPVAGLLSSRDFLGGLAFRVFHCTQYIRHGSKPMYTPEPDICHELLGHVPLFSDRSFA |
||
+ | QFSQEIGLASLGAPDEYIEKLATIYWFTVEFGLCKQGDSIKAYGAGLLSSFGELQYCLSE |
||
+ | KPKLLPLELEKTAIQNYTVTEFQPLYYVAESFNDAKEKVRNFAATIPRPFSVRYDPYTQR |
||
+ | IEVLDNTQQLKILADSINSEIGILCSALQKIK* |
||
+ | |||
+ | === single template === |
||
+ | For a single template we used the two scripts as mentioned in the [[Using_Modeller_for_TASK_4|tutorial]] created last year. In the following we only show one example of our scripts. |
||
+ | ---- |
||
+ | '''Alignment step''' |
||
+ | <source lang="python"> |
||
+ | from modeller import * |
||
+ | |||
+ | log.verbose() |
||
+ | env = environ() |
||
+ | aln = alignment(env) |
||
+ | mdl = model(env, file='input/1phz', model_segment=('FIRST:@', 'END:')) |
||
+ | aln.append_model(mdl, align_codes='1phz', atom_files='1phz') |
||
+ | aln.append(file='input/2pah.pir', align_codes='2pah') |
||
+ | aln.align2d() |
||
+ | aln.check() |
||
+ | aln.write(file='output/1phz-1pah-2d.ali', alignment_format='PIR') |
||
+ | aln.malign() |
||
+ | aln.check() |
||
+ | aln.write(file='output/1phz-1pah.ali', alignment_format='PIR') |
||
+ | |||
+ | |||
+ | </source> |
Revision as of 10:25, 31 May 2012
Phenylketonuria » Homology based structure predictions » Journal
Datasets
To get homologous structures we performed three different searches with three different web-services and compared them to our findings from Task2. We got three outputfiles which were parsed and the related files got downloaded from the PDB by using these scripts
HHPred
<source lang="perl"> my $id; my $Evalue; my $Identities; my $bool = "F";
open(IN,"<". $ARGV[0]); open(OUT80, ">dataset_80.txt"); open(OUT40, ">dataset_40.txt"); open(OUT20, ">dataset_20.txt");
mkdir("output");
while(<IN>) { chomp; if( ($_ =~ /^>\d+/ )) { $_ =~ />(.{4}).+/; $id = $1; $bool ="T"; } if($bool eq "T" && $_ =~ /^.*Probab/) { $_ =~ /^.*Probab=.+E-value=(.+)\s+Score=.+Aligned_cols=.+Identities=(.+)%\s+Similarity=.+/; $bool ="F"; $Evalue = $1; $Identities = $2; if($Evalue <= $ARGV[1] && $Identities > 80){ print OUT80 "$id\t$Evalue\t$Identities\n"; @args = ("wget", "http://pdb.rcsb.org/pdb/files/". $id . ".pdb", "--output-document=output/$id.pdb"); system(@args) == 0 or die "system @args failed: $?" } elsif($Evalue <= $ARGV[1] && $Identities < 30){ print OUT20 "$id\t$Evalue\t$Identities\n"; @args = ("wget", "http://pdb.rcsb.org/pdb/files/". $id . ".pdb", "--output-document=output/$id.pdb"); system(@args) == 0 or die "system @args failed: $?" } elsif($Evalue <= $ARGV[1] && $Identities > 40) { print OUT40 "$id\t$Evalue\t$Identities\n"; @args = ("wget", "http://pdb.rcsb.org/pdb/files/". $id . ".pdb", "--output-document=output/$id.pdb"); system(@args) == 0 or die "system @args failed: $?" } } } close OUT80; close OUT40; close OUT20; </source>
Coma
<source lang="perl"> my $id; my $Evalue; my $Identities; my $Positives; my $bool = "F";
open(IN,"<". $ARGV[0]); open(OUT80, ">dataset_coma_80.txt"); open(OUT40, ">dataset_coma_40.txt"); open(OUT20, ">dataset_coma_20.txt");
mkdir("outputcoma");
while(<IN>) { chomp; if( ($_ =~ /^>\d+/ )) { $_ =~ />(.{4}).+/; $id = $1; $bool ="T"; } elsif($bool eq "T" && $_ =~ /^Score/){ $_ =~ /.+Expect\s+=\s+(.+)\s+P-value.+/; $Evalue = $1; } elsif($bool eq "T" && $_ =~ /^Identities/) { $_ =~ /Identities.+\((\d+)%\)\s+Positives.+\((\d+)%\)\s+Gaps.+/; $bool ="F"; $Identities = $1; $Positives = $2; if($Evalue <= $ARGV[1] && $Identities > 80){ print OUT80 "$id\t$Evalue\t$Identities\t$Positives\n"; @args = ("wget", "http://pdb.rcsb.org/pdb/files/". $id . ".pdb", "--output-document=outputcoma/$id.pdb"); system(@args) == 0 or die "system @args failed: $?" } elsif($Evalue <= $ARGV[1] && $Identities < 30){ print OUT20 "$id\t$Evalue\t$Identities\t$Positives\n"; @args = ("wget", "http://pdb.rcsb.org/pdb/files/". $id . ".pdb", "--output-document=outputcoma/$id.pdb"); system(@args) == 0 or die "system @args failed: $?" } elsif($Evalue <= $ARGV[1] && $Identities > 40) { print OUT40 "$id\t$Evalue\t$Identities\t$Positives\n"; @args = ("wget", "http://pdb.rcsb.org/pdb/files/". $id . ".pdb", "--output-document=outputcoma/$id.pdb"); system(@args) == 0 or die "system @args failed: $?" } } }
close OUT80; close OUT40; close OUT20; </source>
PDBe
<source lang="perl"> my $id; my $Evalue; my $Identities; my $bool = "F";
open(IN,"<". $ARGV[0]); open(OUT80, ">dataset_80.txt"); open(OUT40, ">dataset_40.txt"); open(OUT20, ">dataset_20.txt");
mkdir("output");
while(<IN>) { chomp;
if( ($_ =~ /^\d+/ )) { @linesplit = split( /\t/,$_);
$id = $linesplit[0]; $Evalue = $linesplit[8]; $Identities = $linesplit[7]; if($Evalue <= $ARGV[1] && $Identities > 80){ print OUT80 "$id\t$Evalue\t$Identities\n"; @args = ("wget", "http://pdb.rcsb.org/pdb/files/". $id . ".pdb", "--output-document=output/$id.pdb"); system(@args) == 0 or die "system @args failed: $?" } elsif($Evalue <= $ARGV[1] && $Identities < 30){ print OUT20 "$id\t$Evalue\t$Identities\n"; @args = ("wget", "http://pdb.rcsb.org/pdb/files/". $id . ".pdb", "--output-document=output/$id.pdb"); system(@args) == 0 or die "system @args failed: $?" } elsif($Evalue <= $ARGV[1] && $Identities > 40) { print OUT40 "$id\t$Evalue\t$Identities\n"; @args = ("wget", "http://pdb.rcsb.org/pdb/files/". $id . ".pdb", "--output-document=output/$id.pdb"); system(@args) == 0 or die "system @args failed: $?" } }
} close OUT80; close OUT40; close OUT20; </source>
Modeller
Modeller needs the target as a .pir-file which we provided as mentioned above
>P1;2pah sequence:2pah:::::::0.00: 0.00 MSTAVLENPGLGRKLSDFGQETSYIEDNCNQNGAISLIFSLKEEVGALAKVLRLFEENDV NLTHIESRPSRLKKDEYEFFTHLDKRSLPALTNIIKILRHDIGATVHELSRDKKKDTVPW FPRTIQELDRFANQILSYGAELDADHPGFKDPVYRARRKQFADIAYNYRHGQPIPRVEYM EEEKKTWGTVFKTLKSLYKTHACYEYNHIFPLLEKYCGFHEDNIPQLEDVSQFLQTCTGF RLRPVAGLLSSRDFLGGLAFRVFHCTQYIRHGSKPMYTPEPDICHELLGHVPLFSDRSFA QFSQEIGLASLGAPDEYIEKLATIYWFTVEFGLCKQGDSIKAYGAGLLSSFGELQYCLSE KPKLLPLELEKTAIQNYTVTEFQPLYYVAESFNDAKEKVRNFAATIPRPFSVRYDPYTQR IEVLDNTQQLKILADSINSEIGILCSALQKIK*
single template
For a single template we used the two scripts as mentioned in the tutorial created last year. In the following we only show one example of our scripts.
Alignment step <source lang="python"> from modeller import *
log.verbose() env = environ() aln = alignment(env) mdl = model(env, file='input/1phz', model_segment=('FIRST:@', 'END:')) aln.append_model(mdl, align_codes='1phz', atom_files='1phz') aln.append(file='input/2pah.pir', align_codes='2pah') aln.align2d() aln.check() aln.write(file='output/1phz-1pah-2d.ali', alignment_format='PIR') aln.malign() aln.check() aln.write(file='output/1phz-1pah.ali', alignment_format='PIR')
</source>