Task4 Hemochromatosis Protocol
Contents
Template search
Query sequence used: Q30201
HHPred
We used HHPred (Webserver) to search for homologs. Standard parameters were used (DB: pdb70_15May12).
Weblink to results (as long as they are online): results
COMA
Another search was performed using COMA (Webserver). Again standard parameters were kept (DB: pdb40_2012-03-22).
Weblink to results (as long as they are online): results
Model creation
Modeller
SwissModel
We used the Webserver to produce our models.
I-Tasser
For I-Tasser we also used the Webserver, but with Option I to specify our template (without alignment).
Evaluation
For the native structure we used 1a6z and 1de4 for the complex structure.
A bash script was used to run TM-Score, TM-Align, and SAP for our models:
<source lang="bash">
- !/bin/bash
TMSCORE="/mnt/project/pracstrucfunc12/bin/TMscore" TMALIGN="/mnt/project/pracstrucfunc12/bin/TMalign" RMSD="/mnt/project/pracstrucfunc12/bin/sap"
for model in `ls | grep .pdb` do MODELNAME=${model%.[^.]*} echo "Processing model: "$MODELNAME mkdir -p $MODELNAME cd $MODELNAME $TMSCORE ../$model ../1a6z.ent -o $MODELNAME"_native_tm.sup" > $MODELNAME"_native.tmscore" $TMSCORE ../$model ../1de4.ent -o $MODELNAME"_complex_tm.sup" > $MODELNAME"_complex.tmscore" $TMALIGN ../$model ../1a6z.ent -o $MODELNAME"_native_align.sup" > $MODELNAME"_native.tmalign" $TMALIGN ../$model ../1de4.ent -o $MODELNAME"_complex_align.sup" > $MODELNAME"_complex.tmalign" $RMSD ../$model ../1a6z.ent > $MODELNAME"_native.rmsd" mv super.pdb $MODELNAME"_native_super.pdb" $RMSD ../$model ../1de4.ent > $MODELNAME"_complex.rmsd" mv super.pdb $MODELNAME"_complex_super.pdb" cd .. done </source>
These scores were then extracted with a perl script:
<source lang="perl">
- !/usr/local/bin/perl
use strict; use warnings; use diagnostics; use sigtrap; use autodie;
my $targetdir = "./"; my $outFileNative = "native.txt"; my $outFileComplex = "complex.txt";
opendir (DIR, $targetdir) or die ("Could not open directory!");
my @content= readdir(DIR);
closedir(DIR);
open (NATIVE, ">", $outFileNative) or die ("Could not open file!"); open (COMPLEX, ">", $outFileComplex) or die ("Could not open file!");
- print headers
print NATIVE "<figtable id=\"scores_native\">\n"; print NATIVE "{| class=\"wikitable\" style=\"width: 65%; margin: 1em 1em 1em 0; border-collapse: collapse; border-style: solid; border-width:0px; border-color: #000\"\n"; print NATIVE "|-\n"; print NATIVE "! style=\"text-align:left; border-style: solid; border-width: 0 0 2px 0\" |Model\n"; print NATIVE "! style=\"text-align:left; border-style: solid; border-width: 0 0 2px 0\" |Common residues\n"; print NATIVE "! style=\"text-align:left; border-style: solid; border-width: 0 0 2px 0\" |TM-Score\n"; print NATIVE "! style=\"text-align:left; border-style: solid; border-width: 0 0 2px 0\" |GDT-TS\n"; print NATIVE "! style=\"text-align:left; border-style: solid; border-width: 0 0 2px 0\" |GDT-HA\n"; print NATIVE "! style=\"text-align:left; border-style: solid; border-width: 0 0 2px 0\" |TM-Align\n"; print NATIVE "! style=\"text-align:left; border-style: solid; border-width: 0 0 2px 0\" |Weighted RMSD\n"; print NATIVE "|-\n";
print COMPLEX "<figtable id=\"scores_complex\">\n"; print COMPLEX "{| class=\"wikitable\" style=\"width: 65%; margin: 1em 1em 1em 0; border-collapse: collapse; border-style: solid; border-width:0px; border-color: #000\"\n"; print COMPLEX "|-\n"; print COMPLEX "! style=\"text-align:left; border-style: solid; border-width: 0 0 2px 0\" |Model\n"; print COMPLEX "! style=\"text-align:left; border-style: solid; border-width: 0 0 2px 0\" |Common residues\n"; print COMPLEX "! style=\"text-align:left; border-style: solid; border-width: 0 0 2px 0\" |TM-Score\n"; print COMPLEX "! style=\"text-align:left; border-style: solid; border-width: 0 0 2px 0\" |GDT-TS\n"; print COMPLEX "! style=\"text-align:left; border-style: solid; border-width: 0 0 2px 0\" |GDT-HA\n"; print COMPLEX "! style=\"text-align:left; border-style: solid; border-width: 0 0 2px 0\" |TM-Align\n"; print COMPLEX "! style=\"text-align:left; border-style: solid; border-width: 0 0 2px 0\" |Weighted RMSD\n"; print COMPLEX "|-\n";
foreach my $dir (@content)
{
if (not $dir=~m/\./gi)
{
print "Extracting scores for $dir...\n";
my @nativeTM = extractTM("$dir/$dir\_native.tmscore");
my @complexTM = extractTM("$dir/$dir\_complex.tmscore");
my @nativeTMA = extractTMA("$dir/$dir\_native.tmalign");
my @complexTMA = extractTMA("$dir/$dir\_complex.tmalign");
my @nativeRMSD = extractRMSD("$dir/$dir\_native.rmsd");
my @complexRMSD = extractRMSD("$dir/$dir\_complex.rmsd");
print NATIVE "| style=\"border-style: solid; border-width: 0 0 0 0\" |$dir\n"; print NATIVE "| style=\"border-style: solid; border-width: 0 0 0 0\" |$nativeTM[0]\n"; print NATIVE "| style=\"border-style: solid; border-width: 0 0 0 0\" |$nativeTM[1]\n"; print NATIVE "| style=\"border-style: solid; border-width: 0 0 0 0\" |$nativeTM[2]\n"; print NATIVE "| style=\"border-style: solid; border-width: 0 0 0 0\" |$nativeTM[3]\n"; print NATIVE "| style=\"border-style: solid; border-width: 0 0 0 0\" |$nativeTMA[0]\n"; print NATIVE "| style=\"border-style: solid; border-width: 0 0 0 0\" |$nativeRMSD[1] (over $nativeRMSD[0] atoms)\n"; print NATIVE "|-\n";
print COMPLEX "| style=\"border-style: solid; border-width: 0 0 0 0\" |$dir\n"; print COMPLEX "| style=\"border-style: solid; border-width: 0 0 0 0\" |$complexTM[0]\n"; print COMPLEX "| style=\"border-style: solid; border-width: 0 0 0 0\" |$complexTM[1]\n"; print COMPLEX "| style=\"border-style: solid; border-width: 0 0 0 0\" |$complexTM[2]\n"; print COMPLEX "| style=\"border-style: solid; border-width: 0 0 0 0\" |$complexTM[3]\n"; print COMPLEX "| style=\"border-style: solid; border-width: 0 0 0 0\" |$complexTMA[0]\n"; print COMPLEX "| style=\"border-style: solid; border-width: 0 0 0 0\" |$complexRMSD[1] (over $complexRMSD[0] atoms)\n"; print COMPLEX "|-\n"; } }
print NATIVE "|+ style=\"caption-side: bottom; text-align: left\" | TODO: NATIVE.\n"; print NATIVE "|}\n"; print NATIVE "</figtable>\n";
print COMPLEX "|+ style=\"caption-side: bottom; text-align: left\" | TODO: COMPLEX.\n"; print COMPLEX "|}\n"; print COMPLEX "</figtable>\n";
close COMPLEX; close NATIVE;
sub extractTM
{
my $filename = $_[0];
open (FILE, "<", $filename) or die "Could not open file!";
my $commonResidues = ""; my $tmScore = ""; my $gdttsScore = ""; my $gdthaScore = "";
while (<FILE>) { my $line = $_;
if ($line=~m/^Number\sof\sresidues\sin\scommon\s*?=\s*?(\S+?)\s+?/gi) { $commonResidues = $1; } elsif ($line=~m/^TM-score\s*?=\s*?(\S+?)\s+?/gi) { $tmScore = $1; } elsif ($line=~m/^GDT-TS-score\s*?=\s*?(\S+?)\s+?/gi) { $gdttsScore = $1; } elsif ($line=~m/^GDT-HA-score\s*?=\s*?(\S+?)\s+?/gi) { $gdthaScore = $1; } }
print $commonResidues."\t"; print $tmScore."\t"; print $gdttsScore."\t"; print $gdthaScore."\n";
close FILE;
return ($commonResidues, $tmScore, $gdttsScore, $gdthaScore); }
sub extractTMA
{
my $filename = $_[0];
open (FILE, "<", $filename) or die "Could not open file!";
my $tmScore = "";
while (<FILE>) { my $line = $_;
if ($line=~m/TM-score\s*?=\s*?(\S+?)\s*?,/gi) { $tmScore = $1; } }
print $tmScore."\n";
close FILE;
return ($tmScore); }
sub extractRMSD
{
my $filename = $_[0];
open (FILE, "<", $filename) or die "Could not open file!";
my $commonResidues = ""; my $rmsdScore = "";
while (<FILE>) { my $line = $_;
if ($line=~m/^Weighted\sRMSd\s*?=\s*?(\S+?)\s*?\(over\s*?(\S+?)\s+?/gi) { $rmsdScore = $1; $commonResidues = $2; } }
print $commonResidues."\t"; print $rmsdScore."\n";
close FILE;
return ($commonResidues, $rmsdScore); } </source>
Other