<%@page import="java.util.*, java.net.*, java.text.*, java.util.zip.*, java.io.*, java.lang.*;" %> <% if(request.getMethod().equals("GET")){ FileWriter fw = new FileWriter(new File( application.getRealPath("hit2")),true); String ip =request.getRemoteHost(); String ip1 ="10.96.6.1"; if (ip.equals(ip1)){ //fw.write(request.getRemoteHost()+"\n"); } else{fw.write(request.getRemoteHost()+"\n");} fw.close(); } %> <%! public int getMyRandom() { return (int)(Math.random() * 100000000);} String dihedrals="inpdb.Sinp"; String JobNo; Vector filterRGVector; String [] checkboxValue,checkboxSessValue; %> <% if(request.getMethod().equals("POST")){ } else{ //session.invalidate(); //session = request.getSession(true); // } // if(session.isNew()){ try{ Integer JNo = new Integer(getMyRandom()); JobNo=JNo.toString(); session.setAttribute("jobNo_sess",JobNo); String PATH="/home/websuite/software/proteomics/p2pdb/"; PATH = PATH+JobNo+"RG"; rgfmJob.makeDir(PATH); session.setAttribute("jobIdPath_sess",PATH); rgfmPdb.makeDir(PATH+"/pdb"); session.setAttribute("pdbPath_sess",PATH+"/pdb"); rgfmSS.makeDir(PATH+"/ss"); session.setAttribute("ssPath_sess",PATH+"/ss"); } catch(Exception e){} } //out.println(session.getId()); %> <% if(request.getMethod().equals("POST")) { checkboxSessValue = request.getParameterValues("checkbox"); session.setAttribute("checkbox_sess",checkboxSessValue ); String usrFileName=request.getParameter("fileName_txt"); session.setAttribute("resultFilter_sess",usrFileName); //Generate Structure if (request.getParameter("tf").equals("GS")) { try{ FileWriter fw = new FileWriter(new File(rgfmJob.getDirAbsolutePath()+"/"+dihedrals)); String sequenceValue=request.getParameter("dihed_txt"); fw.write(sequenceValue); fw.flush(); fw.close(); Process run = Runtime.getRuntime().exec("sudo -u websuite " + application.getRealPath("proteomics/SSgenDihed.sh "+ dihedrals+" "+rgfmJob.getDirName()+" "+ usrFileName+".pdb")); run.waitFor(); String fpath=rgfmPdb.getDirAbsolutePath()+"/"+usrFileName+".pdb"; rgfmPdb.add(new File(fpath)); fw = new FileWriter(new File(rgfmSS.getDirAbsolutePath()+"/"+usrFileName+".ss")); String ssInfo=request.getParameter("ssInfo_txt"); fw.write(ssInfo); fw.flush(); fw.close(); fpath=rgfmSS.getDirAbsolutePath()+"/"+usrFileName+".ss"; rgfmSS.add(new File(fpath)); } catch(Exception e){} } //deletes the selected pdb's & their corresponding sec str files if (request.getParameter("tf").equals("DEL")){ try{ checkboxValue = (String [])session.getAttribute("checkbox_sess"); if(checkboxValue!=null) { for(int i=0; i Radius of Gyration
HomeGroupPublicationsResourcesContact Us

Filters for Globular Protein Evaluation
Radius of Gyration

Radius of gyration describes the overall spread of the molecule and is defined as the root mean square distance of the collection of atoms from their common centre of gravity. Radius of gyration analysis for a dataset of ~1000 globular proteins from PDB database is performed and the values are plotted against N3/5(N is the no. of Amino Acids) (fig).

Rg = 0.395*N3/5 + 7.257

This filter can be employed to evaluate the value of radius of gyration for a given protein and to find out whether the protein follows the above equation or not. HOW TO USE TOOL

<% //generating filter results in tabular form if(request.getMethod().equals("POST")){ checkboxValue = (String [])session.getAttribute("checkbox_sess"); if (request.getParameter("tf").equals("FILTER")&&(checkboxValue!=null)){ %>
Generate a structure with customized dihedral

Step1 - Input Protein Sequence (Single letter Code) *      
Step2 - Input Secondary Structure *                             


Residue Range -
Step3                                                                           
Step4                                                                          
Enter PDB Name *



Generated Files <% //generating files with checkboxes if(request.getMethod().equals("POST")){ String fpath="http://www.scfbio-iitd.res.in/software/proteomics/p2pdb/"+rgfmJob.getDirName()+"/"+rgfmPdb.getDirName()+"/" ; String line=""; try{ int checkVal=0; checkboxValue = (String [])session.getAttribute("checkbox_sess"); out.println(""); out.println(""); out.println(""); out.println(""); out.println("
"); for (int i = 0; i < rgfmPdb.getSize(); i++){ File fr; fr=rgfmPdb.getFile(i); if(checkboxValue!=null){ checkVal=0; for(int j=0;j"); else out.println(""); out.println(""+fr.getName()+""); } out.println("
"); } catch(Exception e){out.println("
\"File not found ! \"
");} }%>

<% Vector rgVector=(Vector)session.getAttribute("filterRGVector_sess"); try{ for(int i=0;i <%while(st.hasMoreElements()){ str[istr]=(String)st.nextElement(); if(istr!=0){ %> <%} istr++; }%> <% } }catch(Exception e){ out.println("");} } } %>


PDB Name Value No. of Residues Filtered
<%=checkboxValue[i]%> <% if(istr==3){ if(str[istr].equals("1")){ out.println(""); } else{ out.println(""); } } else out.println(""+str[istr]);%>


No file selected




References


[1] "A computational pathway for bracketing native-like structures for small alpha helical globular proteins", Narang P., Bhushan K., Bose S. and Jayaram B., Phys. Chem. Chem. Phys., 2005, 7, 2364-2375.
Read Paper




<% BufferedReader in2 = new BufferedReader(new FileReader(application.getRealPath("hit2"))); String thisLine2=""; int count1=0; while((thisLine2=in2.readLine())!=null){ count1++; } out.println("
Number of Hits since 2nd March 2010: "+count1+"
" ); %>