\n"; print "
[Home] [Server] [Help] [Forum]
\n"; print "

EvoDesign Results for Interface Example

\n"; ################ Display link for tarball file if the simulation is finished $tarFile = "./PD101054.tar"; if(is_file($tarFile)){ print "

[Click on PD101054.tar to download the tarball file including the EvoDesign results listed on this page]

\n"; } $fp=fopen($filename,"r"); while(!feof($fp)) { $aline=fgets($fp,4096); chop($aline); $nrg=preg_split('/\s+/',$aline); break; } fclose($fp); $simulation=$nrg[1]; if($nrg[1]=="Thd") { $simulation="Evolution-based simulation"; } else { $simulation="Evolution and physics-based simulation"; } } print "
"; ################ print input ------------------> print "
"; print "
"; print "   Summary of Input
"; $complexPDB ="./complex.pdb"; print "\n"; $receptorFile = "./recPD101054.pdb"; if(file_exists($receptorFile)) { print "
\n"; print" "; print ""; print ""; print ""; } else { print "
\n"; print" "; print "
"; print "Scaffold Structure"; print "
"; print ""; print ""; } if(file_exists($receptorFile)) { print ""; print ""; print ""; } print ""; print "\n"; if(file_exists($receptorFile)) { print "\n"; if(is_file($complexPDB)) { print"\n"; } else { print ""; } } print ""; print ""; print "
"; print "Scaffold Structure"; print ""; print "Receptor Structure"; print ""; print " Complex Structure "; print "
Generating complex via docking. . .
"; print "
"; print "

"; $filename="./summary.txt"; if(!file_exists($filename) == True) { print "
"; print "Your submission has been received and the job is running. . ."; } ################ print output ------------------> if(is_file($filename) == True) { print "
"; print "

"; print "
"; print "   Top Homologs Used for Monomer Profile Construction
"; print "
"; print "
\n"; print "\n"; print ""; print ""; print "\n"; $tempAA=str_split($splitScaffold[1]); $AAcount=0; foreach($tempAA as $tAA) { if($tAA!=' ') { $scaffAA[$AAcount]=$tAA; $AAcount++; } } $fp=fopen("./msa.out","r"); $rank=1; $tempSeqID=file("./seqID.txt"); while(!feof($fp)) { $scaffIndex=0; $msaINFO=fgets($fp,4096); chop($aline); chop($splitMSA = explode(" ",$msaINFO)); if($rank <=10) { $PDBhit=str_split($splitMSA[0]); print ""; $TMscore=round($splitMSA[1],2); print ""; $seq=str_split($splitMSA[2]); $seqIDindex=$rank-1; $ID = round($tempSeqID[$seqIDindex],2); print ""; print ""; print ""; $rank++; } } fclose($msa); print "
Rank PDB
Hit
TM-scoreIden. "; $ss=file("./SS.txt"); chop($splitSS=explode(":",$ss[3])); $secStr = str_split($splitSS[1]); $seqLength =0; foreach ($secStr as $value) { if($value!=' ') { if($value == "C") { $seqLength++; } elseif($value == "H") { $seqLength++; } elseif($value == "E") { $seqLength++; } } } $i =1; while($i<=$seqLength) { if(is_int($i/20)) { print "$i"; $i=$i+mb_strlen($i); } else { print " "; $i++; } } print "
"; for($k=1;$k<=$seqLength;$k++) { if(is_int($k/20)) { print "|"; } else { print " "; } } print "
Sec.Str
Seq
"; foreach ($secStr as $value) { if ($value!=' ') { if($value == "C") { print "C"; $seqLength++; } elseif($value == "H") { print "H"; $seqLength++; } elseif($value == "E") { print "E"; $seqLength++; } } } print "
"; $scaffold=file("./SI.txt"); chop($splitScaffold=explode(":",$scaffold[2])); $expScaffold= str_split($splitScaffold[1]); foreach($expScaffold as $scaffAA) { if($scaffAA!=' ') { print $scaffAA; } } print "
$rank"; print "$splitMSA[0]$TMscore$ID "; foreach ($seq as $AA) { if($AA!=' ') { if ($AA == $scaffAA[$scaffIndex]) { if ($AA == "D" || $AA == "E") { print "$AA"; } elseif($AA == "G" || $AA == "H") { print "$AA"; } elseif($AA == "L" || $AA=="I") { print "$AA"; } elseif($AA == "F" || $AA=="Y") { print "$AA"; } elseif($AA =="C" || $AA=="M") { print "$AA"; } elseif ($AA=="A") { print "$AA"; } elseif ($AA == "P") { print "$AA"; } elseif ($AA=="N" || $AA =="Q") { print "$AA"; } elseif ($AA =="W") { print "$AA"; } elseif($AA=="V") { print "$AA"; } elseif($AA=="S" || $AA == "T") { print "$AA"; } elseif($AA=="R" || $AA=="K") { print "$AA"; } } else { print "$AA"; } $scaffIndex++; } } print "
"; print ""; print ""; print" "; print ""; print ""; print ""; print "
(a)All the residues are colored in black; however, those residues in the homolog that are identical to the residues in the scaffold sequence are highlighted in color. The coloring scheme is based on the property of the amino acid, where polar residues are brightly colored and non-polar residues are colored in darker shades. (more about the colors used)
(b)Homologs used for profile construction are ranked by TM-score.
(c)TM-score is calculated between the scaffold structure and each identified homolog. The higher the TM-score, the more similar the structure.
(d)Iden. is the percent sequence identity between the scaffold and each homolog.
"; print "
\n"; print "
\n"; print "
"; print "
\n"; print "Download full multiple sequence alignment\n"; print "
"; print "Download evolutionary profile"; print "
"; print "
"; $intProfile=file("./PD101054.intalign"); $intChain1=explode(":",$intProfile[2]); $intChain2=explode(":",$intProfile[4]); if(is_file("./PD101054.intalign")) { print "
"; print "
"; print "   Top Interface Analogies Used for Interface Profile Construction
"; print "
"; print "
\n"; print "\n"; print ""; print ""; print ""; $intIndex=7; $intRank=1; foreach($intProfile as $line) { $splitLine=preg_split("/[\s,]+/",$intProfile[$intIndex]); $scaffIndex=0; if($splitLine[0]!='') { if($intRank <=10) { if($intIndex==7) { $scaffAA = str_split($splitLine[6]); $recAA = str_split($splitLine[7]); print ""; print ""; } else { $PDBhit=str_split($splitLine[0]); print ""; $ISscore=round($splitLine[5],3); print ""; $seq=str_split($splitLine[6]); $recSeq=str_split($splitLine[7]); $hit1=0; $lengthCh1=0; foreach($seq as $ch1AA) { if($ch1AA==$scaffAA[$lengthCh1]) { $hit1++; } $lengthCh1++; } $seqIDCh1=round($hit1/$lengthCh1,2); $hit2=0; $lengthCh2=0; foreach($recSeq as $ch2AA) { if($ch2AA==$recAA[$lengthCh2]) { $hit2++; } $lengthCh2++; } $seqIDCh2=round($hit2/$lengthCh2,2); #$seqIDindex=$rank-1; #$ID = round($tempSeqID[$seqIDindex],2); print ""; print ""; print ""; print ""; $intRank++; print ""; } } $intIndex++; } } print "
Rank PDB
Hit
IS-scoreCh1
Iden.
Ch2
Iden.
  Chain 1
Interface
Chain 2
Interface
Seq"; print "$splitLine[6]$splitLine[7]
$intRank"; print "$splitLine[0]$ISscore$seqIDCh1$seqIDCh2 "; foreach ($seq as $AA) { if($AA!=' ') { if ($AA == $scaffAA[$scaffIndex]) { if ($AA == "D" || $AA == "E") { print "$AA"; } elseif($AA == "G" || $AA == "H") { print "$AA"; } elseif($AA == "L" || $AA=="I") { print "$AA"; } elseif($AA == "F" || $AA=="Y") { print "$AA"; } elseif($AA =="C" || $AA=="M") { print "$AA"; } elseif ($AA=="A") { print "$AA"; } elseif ($AA == "P") { print "$AA"; } elseif ($AA=="N" || $AA =="Q") { print "$AA"; } elseif ($AA =="W") { print "$AA"; } elseif($AA=="V") { print "$AA"; } elseif($AA=="S" || $AA == "T") { print "$AA"; } elseif($AA=="R" || $AA=="K") { print "$AA"; } } else { print "$AA"; } $scaffIndex++; } } print ""; $recIndex=0; foreach ($recSeq as $AA) { if($AA!=' ') { if ($AA == $recAA[$recIndex]) { if ($AA == "D" || $AA == "E") { print "$AA"; } elseif($AA == "G" || $AA == "H") { print "$AA"; } elseif($AA == "L" || $AA=="I") { print "$AA"; } elseif($AA == "F" || $AA=="Y") { print "$AA"; } elseif($AA =="C" || $AA=="M") { print "$AA"; } elseif ($AA=="A") { print "$AA"; } elseif ($AA == "P") { print "$AA"; } elseif ($AA=="N" || $AA =="Q") { print "$AA"; } elseif ($AA =="W") { print "$AA"; } elseif($AA=="V") { print "$AA"; } elseif($AA=="S" || $AA == "T") { print "$AA"; } elseif($AA=="R" || $AA=="K") { print "$AA"; } } else { print "$AA"; } $recIndex++; } } print "
"; print "
"; print "
\n"; print "Download interface multiple sequence alignment\n"; print "
"; print "
"; } print "
"; print "
"; print "   Clustering Results
"; print "
"; print "
\n"; print ""; print ""; print "
Sequences generated during the Monte Carlo simulation are clustered. The top clusters are listed in the table below. Information in the table includes the relative cluster sizes as well as the number of the top sequences that originate from each cluster. Users are able to download every sequence in each cluster; the files include the sequences as well as the free-energy of each sequence predicted by EvoDesign.
"; print "
"; print "
"; print "
\n"; print "\n"; print ""; $clusResults=file("./clusterResults.txt"); foreach ($clusResults as $clusLine) { $splitLine=explode(" ",$clusLine); print ""; print ""; print ""; print ""; } print "
Cluster
Number
Relative Cluster
Size
# Sequences Selected
from Cluster
Download Each
Sequence in Cluster
$splitLine[0]$splitLine[1]%$splitLine[2]Clus $splitLine[0] Sequences
"; print "
"; print "
"; print "
"; print "   Summary of Output
"; print "
\n"; print "
\n"; print "\n "; $count=0; $fp=fopen("./summary.txt","r"); while(!feof($fp)) { $aline=fgets($fp,4096); chop($aline); if(feof($fp)) { break; } $lineSummary[$count]=$aline; $count++; } fclose($fp); for($i=1;$i<$count;$i++) { $summary=explode(',',$lineSummary[$i]); print ""; $seqIDDes[$i]=$summary[2]; print " "; print ""; } print""; print "
Design Number Sequence Identity (%)[?] Normalized Relative Error [?]
Secondary Structure Solvent Accessibility Torsion Angle φ Torsion Angle ψ
Design $summary[0]$summary[2] $summary[3] $summary[4] $summary[5] $summary[6]
Data.zip SI SS SA φ ψ
"; print "
"; # parameters print "
\n"; print ""; print ""; print ""; print" "; print ""; print ""; print ""; print ""; print "
(a) Sequence Identity: The percent sequence identity between the designed sequence and the scaffold sequence.
(b) Normalized Relative Error (NRE): NRE=(EDSāˆ’ETS)/ETS, where EDS is the error of the neural-network predictions relative to the scaffold structure on the design sequence and ETS is the error of the predictions based on the sequence of the target scaffold. The secondary structure, solvent accessibility and torsion angles for the scaffold structure are assigned by DSSP.
(c) Secondary Structure (SS): SS is predicted by PSSPred for the scaffold and design sequences. The Q3 errors of the design sequence (EDS) and scaffold sequence (ETS) with respect to the scaffold structure are used to calculate the NRE for SS.
(d)Solvent Accessibility (SA): SA for scaffold and design sequences are predicted by neural-network method. The correlation on SA between design sequence and scaffold structure (EDS) and between scaffold sequence and scaffold structure (ETS) is used to calculate NRE on SA.
(e) Torsion Angle (TA): TA is predicted by ANGLOR for scaffold and design sequences. The mean absolute difference of the design sequence (EDS) and scaffold sequence (ETS) from the scaffold structure is used to calculate NRE for TA.
"; print "
"; print "
"; print "
"; print "
"; print "  Final Designed Sequences
"; print "
"; print "
\n"; $message="
Energy:         EvoDesign calculated energy
"; $message.="Iden.: % sequence identity between the design and scaffold sequences.
"; $fp=fopen("../des1.txt","r"); while(!feof($fp)) { $aline=fgets($fp,4096); chop($aline); $pos=strpos($aline,"bind"); if($pos == false) { } else { $message.="Lig_bind: Residues are within 8.0 Å sphere radius of the hetero atoms.
"; } break; } fclose($fp); $message.="DSSP_SS: Secondary structure as assigned by DSSP on the scaffold structure.
"; $message.="Scaffold: Scaffold sequence.
"; $message.=" Identical residues in the scaffold and design sequences are marked by '|'.
"; $message.="Design: Design sequence.
"; print "$message"; print "
"; $clusterData=file("./clusterData.txt"); $cluster ="1"; $oldCluster=""; $newCluster="true"; $energy=file("./energy.txt"); $energyIndex=0; $numberSeq=0; foreach($clusterData as $line) { $numberSeq++; } for ($j=1;$j<=$numberSeq;$j++) { $index = $j-1; $data = explode(" ",$clusterData[$index]); chop($cluster=$data[0]); $seqEnergy=round($energy[$energyIndex],2); if($cluster!=$oldCluster) { $oldCluster = $cluster; $newCluster = "true"; $newLowest = "true"; } else { $newCluster = "false"; } if($newCluster=="true") { print "
"; print "
"; print "  Cluster $cluster Center

"; print "
"; print ""; print ""; print ""; print ""; print ""; $energyIndex++; print ""; print "
"; print "
\n"; print ""; print ""; print "
Design
Number
EnergyIden. (%)
$j$seqEnergy$seqIDDes[$j] DSSP_SS
Scaffold

Design$j
"; $ssIndex=3+$j; chop($splitSS=explode(":",$ss[$ssIndex])); $secStr = str_split($splitSS[1]); foreach ($secStr as $value) { if($value == "C") { print "C"; } elseif($value == "H") { print "H"; } elseif($value=="E") { print "E"; } } fclose($fp); print "
"; $scaffold=file("./SI.txt"); chop($splitScaffold=explode(":",$scaffold[2])); print "$splitScaffold[1]"; print "
"; $dashFile=file("./des$j.txt"); chop($dashes=$dashFile[2]); $splitDash=str_split($dashes); $count =1; foreach($splitDash as $value) { if ($count >=17) { if ($value==' ') { print " "; } else { print "$value"; } } $count++; } print "
"; chop($desSeq=explode(":",$dashFile[3])); print "$desSeq[1]"; print "
"; print "
"; print "
"; } else { if($newLowest=="true") { print "
"; print "
"; print "  Cluster $cluster Lowest Energy Sequences

"; $newLowest="false"; print "
"; print ""; print ""; print ""; print ""; print ""; $energyIndex++; print ""; $countColor=2; } else { if($countColor % 2==0) { print ""; print ""; print ""; print ""; $countColor++; } else { print ""; print ""; print ""; print ""; $countColor++; } } print "
\n"; print "
\n"; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; } $newIndex = $j; $data = explode(" ",$clusterData[$newIndex]); chop($newCluster=$data[0]); if($newCluster!=$oldCluster) { print ""; print "
Design
Number
EnergyIden. (%)
$j$seqEnergy$seqIDDes[$j]
$j$seqEnergy$seqIDDes[$j]
$j$seqEnergy$seqIDDes[$j] DSSP_SS
Scaffold

Design$j
"; foreach ($secStr as $value) { if($value == "C") { print "C"; } elseif($value == "H") { print "H"; } elseif($value=="E") { print "E"; } } print "
"; $hideSeq[$cluster][$j]=$j; print "$splitScaffold[1]"; print "
"; $dashFile=file("./des$j.txt"); chop($dashes=$dashFile[2]); $splitDash=str_split($dashes); $count =1; foreach($splitDash as $value) { if ($count >=17) { if ($value==' ') { print " "; } else { print "$value"; } } $count++; } print "
"; chop($desSeq=explode(":",$dashFile[3])); print "$desSeq[1]"; print "
"; print "
"; } } print ""; print ""; $ITdone="true"; for($j=1;$j<=10;$j++) { if(!is_file("./ITmodel/model$j.pdb")) { $ITdone="false"; } } if($ITdone=="true") { print "
"; print "
"; print "  I-TASSER Modeling of Designed Sequences
"; print "
"; print "
"; print ""; print " "; print "

Models of Top 10 Designed Sequences

"; print " "; print ""; for($i=1;$i<=10;$i++) { $TMFile = file("./ITmodel/rmsd$i.txt"); $splitTM = explode(",",$TMFile[0]); $TMscore=$splitTM[0]; $RMSD=$splitTM[1]; $Cscore = file("./cscore.txt"); $cscoreIndex=$i-1; if($i==1) { print ""; print ""; } else { print ""; print ""; } } print"
Click
to view
Design
#
TM-scoreRMSDC-scoreModel
Structure
$i $TMscore$RMSD$Cscore[$cscoreIndex] Download
$i $TMscore$RMSD $Cscore[$cscoreIndex] Download

"; print" "; print" "; print" "; print"
(a)TM-score is calculated between the designed sequence and the scaffold structure.
(b)RMSD is calculated between the designed sequence and the scaffold structure.
(c)C-score typically ranges from [-5,2] and is a quantitative measure of the confidence of each model. The higher the C-score, the higher the confidence in the model.
"; print "

"; } } print "
\n"; print "


\n"; print "References:

\n"; ?>