150 likes | 269 Views
Amr and Lyman. In the medicinal chemistry projects, sometimes a dataset of ligands that are co-crystallized with proteins is needed.
E N D
In the medicinal chemistry projects, sometimes a dataset of ligands that are co-crystallized with proteins is needed. • This is very important as the co-crystallized ligands provide information for further development. This include for example, the binding mode and binding affinity. • One can use de-novo drug design or QSAR models based on these datasets to develop further ligands of better properties.
A website using XAMPP apache that allows fasta inputs of proteins which are then searched using BLASTP to retrieve similar proteins • It then extracts all ligands out of the results and provide comprehensive information regarding the ligand which includes Image, SMILES, Structure, Formula and Chemical Name • The site also provide the ability to visualize those proteins using VMD and create density map on the fly for them using Situs module in VMD. • The service can be extended in the future to provide more information
LIGAND SMILES codes are useful for cheminformatics. • Example of how they can be used is given as demo
EM maps are three dimensional mass distributions of proteins, where each voxel corresponds to a mass density and a position in space. Though they are lower resolution than pdb structures, they can be used in a variety of ways in which pdb files do poorly.
Pdbstuctures can be used to generate simulated EM maps in a number of ways, the most common being a guassian smearing of the atomic points in the pdb.
Steps: 1-Installing XAMPP (mainly here we want apache server and perl) 2-Installing Blast and formatting the PDB fasta files to be ready for dealing with as an input Database for BLAST. 3-Writing HMTL page that can allow uploading fasta file.
4-Writing CGI script which can do the following: • Run BLAST using the fasta query • Retrieve blast results as xml using qx • Parsing xml output ( differ if fasta query is single or multiple sequences) • Retrieve ligands using REST pdb service for each Protein • Filter ligands of no importance like metals .... • Retrieve information regarding each ligand like MWT, smiles, structure, formula and image using both PDB REST service and LigandEXPOwebsite. • Generate an output of all of these information as HTML page
Each protein retrieved from the blast run has button which on clicking trigger another CGI script that receive the PDB entry as an input for further manipulation. • The other CGI script will do the following : Download PDB file Open the PDB file using VMD Generate density map using Situsby creating TCL script and run them using VMD Visualize the density map using VMD
sub ligand { my ($ligand) = @_; #input PDB code my $site = "http://www.rcsb.org/pdb/rest/ligandInfo?structureId=$ligand"; my $agent = LWP::UserAgent->new(); my $content = $agent->get($site); #retrieve date from website corresponding to PDB code my $content2 = $content->as_string; $content2 =~ m|(<stru[\S\s]*>)|; #retrieve only the data between <struc and > my $parsed = XMLin($1); #parsing the XML retrieved return $parsed; }
my $blast = "blastp -query $filename -dbpdb -outfmt 5"; #the output is in xml format • my $output = qx{$blast}; • my $parsed = XMLin($output); # the Blast result is parsed
##$VAR1 = { # 'BlastOutput_query-ID' => 'Query_1', # 'BlastOutput_iterations' => { # 'Iteration' => [ <--------this array will disappear if we have only one query # iteration hash < ----------------{ 'Iteration_query-ID' => 'Query_1', # 'Iteration_hits' => { # 'Hit' => [ # { # 'Hit_id' => 'gnl|BL_ORD_ID|230409', # 'Hit_num' => '1',......}] # {'Iteration_query-ID' => 'Query_2',
print <<END_HTML; <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <body> <form action="map.cgi" method="post" enctype="multipart/form-data"> <input type="hidden" name="hide" value="$hit->{'Hit_def'}"/> <p><input type="submit" name="Submit" value="PDB INFO" /></p> </form> </body> </html> END_HTML
sub image { my ($id) = @_; $id =~ m|(\w)|; my $link = "http://ligand-expo.rcsb.org/reports/$1/$id/$id.gif"; return $link; }