October 15, 2012

PhD Fellowship in Computational Chemistry in Copenhagen

Cytochrome P450 17A1 selectivity – important for anti-cancer therapy 

Project Aim
The aim of the project is to develop selective inhibitors for cytochrome P450 (CYP) 17A1 for use in anti-cancer therapy.

Project Strategy
Initially, the enzymatic mechanism will be mapped by computational methods. Subsequently and utilizing the knowledge about the mechanism, selective inhibitors will be identified, respectively designed. Finally, potentially interesting ligands will be tested and characterized.

Background and contents
When a foreign compound, like a drug, enters the human organism, a number of defence systems are activated. One of them is the ubiquitous multifunctional cytochrome P450 (CYP) family of enzymes that metabolizes about 80 % of drugs, by transforming structurally diverse compounds to water-soluble derivatives by oxidation. The seven most prevalent isoforms of cytochrome P450 enzymes are responsible for almost all metabolism of all known drugs. 
It has been known for long time that certain CYPs may convert foreign compounds, xenobiotics, to reactive metabolites, and that some of these metabolites may be carcinogenic. New findings – that several endogenous metabolizing CYPs are directly related to various cancer types – have turned the CYPs into direct targets for anti-cancer therapy. 
In this PhD project, we will focus on the CYP17A1 for three reasons: 1) CYP17A1 is a proven target for treatment of prostate cancer and perhaps also for treatment of breast cancer, 2) the 3D structure of the CYP17A1 complexed with abiraterone and a related compound recently have been determined and published in Nature by Emily Scott, who will be part of the project, and 3) developing selective nonsteroidal inhibitors for CYP17A1 represents a special challenge.
CYP17A1 is unique enzyme, because the same enzyme catalyses two subsequent processes: 1) conversion of pregnenolone to 17-a-hydroxypregnenolone (the 17-a-hydroxylase process) and 2) conversion of the 17-a-hydroxypregnenolone to dehydroepiandrosterone (the C17,20-lyase process). Only a limited number of inhibitors of CYP17A1 have been reported in the literature, and nearly all of these are steroidal inhibitors, which also may interact with the androgen receptor. We have in several cases documented that we by computational methods are able to identify new ligands for various drug targets, i.e. b-lactamases, human peptide transporter, the 5-HT2A receptor, and most recently CYP1A2. Based on our experience with modelling enzymatic reactions, especially CYP-mediated reactions and virtual screening, we are confident that it will be possible to identify selective inhibitors for CYP17A1 within the framework of a PhD project.

Perspectives
The project is expected to lead to an improved understanding of the structural requirements for ligand binding to and inhibition of CYP 17A1, i.e. to a establish structure/mechanism-activity relationships. The PhD project is also expected to identify/yield selective compounds, which may provide the basis for further work towards therapeutically interesting compounds.

Supervisors
Professor Flemming Steen Jørgensen and associate professor Lars Olsen, Biostructural Research, Department of Drug Design and Pharmacology, University of Copenhagen.

International Collaboration
The project is a collaborative project between the Biostructural Research group at University of Copenhagen and associate professor Emily E. Scott at University of Kansas. The project will combine the computational expertise on the CYPs present in the BR group and the experimental expertise present in Scott’s group. The PhD student is expected to spend a considerable time in Scott’s laboratory.

The Applicant
An applicant with experience in computational chemistry (in particular molecular dynamics simulations, docking and virtual screening), thermodynamic studies or protein-ligand studies will be preferred. Experimental experience with handling proteins will also be an advantage.

Deadline
Deadline for applications is Thursday 8. November 2012 at 12:00.

Applications
See http://www.farma.ku.dk/index.php/Jobs/3744/0/ for the official announcement and
application procedure.

October 4, 2012

Are human cytochromes P450 crystal structures "wrong"?

A recent paper by Denisov et al. "Structural differences between soluble and membrane bound cytochrome P450s", have shown that there may be discrepancies between the crystal structures of human cytochromes P450 enzymes and reality. In this post I will discuss what they actually have shown, and it's possible implication on computational work done on membrane-bound cytochrome P450s.

First, they have found that there are some structural differences with regard to the heme propionate side chains of CYPs that are membrane bound vs. CYPs that are not membrane bound. This is highly interesting as all crystal structures of human CYPs are made of solubilized variants (while in fact, they are membrane bound in vivo).

So the two major question then becomes, do these structural differences affect the binding site? and are all the crystal structures of human CYPs bad representations of reality?

To study this, they took the 1TQN structure of CYP3A4 and run a 50 ns molecular dynamics simulation with the protein bound to a membrane. Interestingly, they find that the access channels to the active site changes compared to a MD simulation in water. After 40 ns one of the channels have closed, and remain closed for the remaining 10ns. Of course, this is only a 10ns time frame, but the result is still intriguing. Unfortunately, they did not analyze the properties of the binding site. So we don't know yet if this has any effects on the shape and properties of the binding site.

The harsh reality for studies of access channels for human CYPs is that all made without a membrane might be wrong (or maybe not...), I guess the future will tell.

There is currently labs researching human P450s with longer MD simulations in membranes (up to 1 mikrosecond), so it will be interesting to see the results and if there actually are any effects on access channels or the active site during a longer period of time.
 

July 3, 2012

Automatically binned histograms in Gnuplot

Here follows a gnuplot script that will make a histogram plot for two series of data, with automatic binning of the data, and adjustment of xrange and bin-size (max 20 bins).

Requirements, working installations of gnuplot and perl.

set datafile separator "," #my data is in comma-separated files
set style fill solid 1.00 border lt -1
set key inside right top vertical Right noreverse noenhanced autotitles nobox
set title "Var:4 Dataset:datasetname"
max=`perl -e '$max=-1e38; while (<>) {@t=split(","); $max=$t[3] if $t[3]>$max}; print $max' < series1.csv` #gets the maximum value of column 4 (perl starts with column 0)
if (max<20) bw=1; else bw = max/20 #if max value is small, boxwidth is 1, otherwise it's 5% of max
if (max<20) set xrange [-1:*];else set xrange [-max/20:*] #if max is small set xrange to start at -1, otherwise at -max/20
bin(x,width)=width*floor(x/width)
set boxwidth bw*0.4
set yrange [0:*]
plot 'series1.csv' using (bin($4,bw)-bw*0.2):(1.0) t "0" smooth freq with boxes,'series2.csv' using (bin($4,bw)+bw*0.2):(1.0) t "1" smooth freq with boxes #+-bw adjusts the columns so they end up next to eachother, 0.2 is half of 0.4 which is the width of the boxes set above.

Example output:

June 29, 2012

1D pharmacophores in P450 models

During the development of SMARTCyp 2 we realized something profound, site-of-metabolism in CYP2D6 and CYP2C9 can be modelled by reactivity and a simple 1-dimensional pharmacophore. Simply by measuring the distance from the atom of interest to the pharmacophore we get a good variable to use for correcting the energy with.

So how come this simple correction works? It is rather well known that cytochromes P450s are quite flexible. A homology model of CYP2D6 has been shown to be more reliable for site-of-metabolism prediction through docking than the crystal structure, indicating a flexible site. The CYP2C9 structure has also been shown to be able to take on multiple conformations. Hence, a structure based model will require many different conformations to give accurate description of the binding, whereas a non-structure based model (i.e. SMARTCyp) simply implicitly includes this flexibility by assuming that there are very few restraints on the rotation of the substrate. SMARTCyp only uses the relative distance (no. of bonds) to the center of the molecule as a small penalty to the reactivity to prioritize sites that are closer to the end of the molecule than the center.


For the implementation of 1D pharmacophores we devised SMARTS strings that match the pharmacophores of CYP2D6 and CYP2C9 that matches the pharmacophores of the isoforms (strings below from SMARTCyp 2.2).

CYP2D6: positively charged amines
$([N][CX3](=[N])[N]) //guanidine like fragment
$([N^3X3H0]([#6^3])([#6^3])[#6^3]),$([N^3X3H1]([#6^3])[#6^3]),$([N^3X3H2][#6^3]) // primary, secondary, tertiary amines bound to only carbon and hydrogen atoms, not next to sp2 carbon
                                

CYP2C9: carboxylic acids and their bioisosteres
$([O]=[C^2][OH1]) // carboxylic acid oxygen
$([O]=[C^2][C^2]=[C^2][OH1]),$([O]=[C^2][c][c][OH1]) // vinylogous carboxylic acids (e.g. ascorbic acid)
$([n]1:[n]:[n]:[n]:[c]1) // tetrazole 1
$([n]1:[n]:[n]:[c]:[n]1) // tetrazole 2
$([O]=[C^2][N][OH1]) // hydroxamic acid
$([O]=[C^2]([N])[N]) // urea
$([O]=[S][OH1]) // sulfinic and sulfonic acids
$([O]=[PD4][OH1]) // phosphate esters and phosphoric acids
$([O]=[S](=[O])(c)[C][C]=[O]),$([O]=[C][C][S](=[O])(=[O])[c]) // sulfones next to phenyls with carbonyl two bonds away
$([O]=[S](=[O])[NH1][C]=[O]),$([O]=[C][NH1][S](=[O])=[O]) // sulfones bound to nitrogen with carbonyl next to it
$([O]=[C^2][NH1][O]),$([O]=[C^2][NH1][C]#[N]) // peptide with oxygen or cyano group next to nitrogen
$([OH1][c]1[n][o,s][c,n][c]1),$([OH1][n]1[n][c,n][c][c]1),$([OH1][n]1[c][n][c][c]1) // alcohol on aromatic five membered ring
$([O]=[C]1[N][C](=O)[O,S][C,N]1) // carbonyl oxygen on almost conjugated five membered ring
$([O]=[C]1[NH1,O][N]=[N,C][N]1) // carbonyl oxygen on fully conjugated five membered ring
$([nD2]1[nD2][c]([S]=[O])[nD2][c]1),$([nD2]1[c]([S]=[O])[nD2][c][nD2]1),$([nD2]1[c]([S]=[O])[nD2][nD2][c]1) // nitrogens in histidine-like 5-ring with sulfoxide/sulfone next to it
$([O]=[SX4](=[O])[NX3]) // sulfonamides

References:
2D6 model
Patrik Rydberg and Lars Olsen "Ligand-Based Site of Metabolism Prediction for Cytochrome P450 2D6" ACS Med. Chem. Lett., 2012, 3, 69-73
2C9 model
Patrik Rydberg and Lars Olsen "Predicting Drug Metabolism by Cytochrome P450 2C9: Comparison with the 2D6 and 3A4 Isoforms" ChemMedChem, 2012, 7, 1202-1209

June 7, 2012

PhD fellowship in molecular drug research at the University of Copenhagen

The Faculty of Health and Medical Sciences, University of Copenhagen is pleased to announce that a PhD fellowship will be available from 1 September 2012 or as soon as possible thereafter. Applications are invited for the three-year fellowships from candidates that hold or expect to hold a master's degree in a field relevant to the following project:
The driving forces for recognition of drug compounds by cytochrome P450 enzymes - Computational chemistry studies on thermodynamics of binding. Supervisor: Associate Professor Lars Olsen, Department of Drug Design and Pharmacology (email: lo@farma.ku.dk).

An applicant with experience in computational chemistry (in particular molecular dynamics simulations), thermodynamic studies or protein-ligand studies will be preferred. Experimental experience with handling proteins will also be an advantage.

The project is part of the Faculty’ collaboration with the Leiden/Amsterdam Centre for Drug Research and are expected to lead to a double PhD degree at the University of Copenhagen and Vrije University Amsterdam (see press release).
The PhD student will spend a significant part of the time in Amsterdam, and fulfil the academic requirements for both Universities. In Denmark, the PhD fellowship is to be completed in accordance with the Ministerial order on the PhD programme at the universities (PhD order) from the Ministry of Science, Technology and Innovation and the Regulations and guidelines for the conferment of the PhD degree by the Faculty .

The terms of employment are stated in the agreement between The Danish Confederation of Professional Associations and the Ministry of Finance.

As an equal opportunity employer, the Faculty of Health and Medical Sciences invites applications from all interested candidates regardless of gender, age, ethnic origin or religion.
For further information, applicants may contact the main supervisor.

How to apply
STEP ONE: Make the following pdf-files:
Letter stating the interest and qualifications for the project (max. one page)
Full CV
Master's degree diploma (including grade transcripts for bachelor’s and master’s degrees)
Possible publication list
Possible references
Applicants with a Master's degree from abroad should also enclose a short description of the grading scale used.
STEP TWO: Apply on-line by filling in the application form below and uploading the pdf-files.

STEP THREE: Print the pdf-files and send one hard copy in an envelope marked “PhD September 2012 LACDR" to:
University of Copenhagen
Faculty of Health and Medical Sciences
Personnel Office
Universitetsparken 2
DK - 2100 Copenhagen
Denmark

The hard copy has to be received at the Faculty of Health and Medical Sciences, Personnel Office before the application deadline. Please do not send the application directly to the main supervisor, all applications should be sent to the Personnel Office.
Deadline for applications: Tuesday 17 July 2012 at 12 o'clock noon.
Evaluation process: Applications will be handled and processed by the main supervisor and by the Scholarship Committee. An answer as to the granting of the fellowship can be expected appr. 4 weeks after application deadline.

January 31, 2012

Journal abbreviations in Mendeley

If you are using Mendeley for handling citations in your research papers, you might have run into the issue that by default it cannot generate journal abbreviations. Hence you always get the full journal name which is a bit problematic when trying to adhere to citation standards.
However, with the current Mendeley version this functionality actually exists (but is not advertised anywhere and there are some manual configuration to do). I have not come up with this myself, all credit to Robert Knight in the Mendeley support forum. I'm just copying his intstructions here so I can find it again later, since the original post in the support forum was a bit tricky to find among all the decoys.

You need to create a text file specifying the journal abbreviations to use. The original steps to do this were documented in the discussion at http://feedback.mendeley.com/forums/4941-mendeley-feedback/suggestions/83173-journal-abbreviations. The short version is:

1. Locate your Mendeley Desktop user data folder. You can do this by pressing Ctrl+Shift+D in Mendeley (Cmd+Shift+D on Mac) and clicking 'Open Data Directory'

2. Create a folder inside the data folder called "journalAbbreviations"

3. Within this folder create a plain text file called "default.txt"

4. On each line of the default.txt file, add the full journal name, followed by a TAB character, followed by the associated journal abbreviation. Note that the full journal name is case sensitive. See http://pastebin.com/raw.php?i=tVrUas82 for an example.

5. In Mendeley Desktop, when you change to a new style, the default.txt file will be read and the abbrevations will be used if the style specifies form="short" for "containter-title", like the Vancouver style does for Journal Articles.

January 27, 2012

SMARTCyp with ChemDoodle web components

Recently we released version 2.01 of SMARTCyp, which is the first version to use ChemDoodle web components.

We have done this for two major reasons, the first one is speed. Creating HTML output by writing text files with javascript is much faster than generating three png files for each molecule. While the old version output is still available in SMARTCyp, the default HTML output is HTML5 using ChemDoodle web components. Not only is it faster, it looks nicer too.

The second reason is platform compatibility, the new HTML output can also respond to input from touch-screens. A touch input on the structures (when using your mobile phone or your tablet device) will display atom numbers in the same way a mouseover effect does it on a standard computer. To get this working we simply made duplicate functions in the javascript. There are mousover and mouseout functions for displaying and not displaying atom numbers. The same functions also exist as touchstart and touchend functions. If you want the details, just check out the resulting HTML you get when you run a molecule on our web server.

When we did this we also changed the sketcher on our web server start page. It used to be a JchemPaint sketcher applet. Since this is java it simply does not work on all mobile devices (and Ipads). Now we instead use the ChemDoodle sketcher, which loads much faster, and is compatible for all mobile devices as well.

January 10, 2012

Chemdoodle web components tricks #4: showing atom numbers with the altLabel property

Due to the release of version 4.5 of chemdoodle web compontents we have access to the altLabel property for atoms. This property will replace the atom label when set. This seriously simplifies the display of atom numbers in molecules, so the technique shown here supersedes my old post on the same subject (Chemdoodle web components tricks #2: showing atom numbers).

A canvas with atom numbers shown:

The javascript code for a canvas with atom numbers:
 
  var tutorial4_testmol2 = new ChemDoodle.ViewerCanvas('tutorial4_testmol2', 300, 300);
  tutorial4_testmol2.specs.atoms_useJMOLColors = true;
  var caffeineMolFile = 'Molecule Name\n  CHEMDOOD08070920033D 0   0.00000     0.00000     0\n[Insert Comment Here]\n 14 15  0  0  0  0  0  0  0  0  1 V2000\n   -0.3318    2.0000    0.0000   O 0  0  0  1  0  0  0  0  0  0  0  0\n   -0.3318    1.0000    0.0000   C 0  0  0  1  0  0  0  0  0  0  0  0\n   -1.1980    0.5000    0.0000   N 0  0  0  1  0  0  0  0  0  0  0  0\n    0.5342    0.5000    0.0000   C 0  0  0  1  0  0  0  0  0  0  0  0\n   -1.1980   -0.5000    0.0000   C 0  0  0  1  0  0  0  0  0  0  0  0\n   -2.0640    1.0000    0.0000   C 0  0  0  4  0  0  0  0  0  0  0  0\n    1.4804    0.8047    0.0000   N 0  0  0  1  0  0  0  0  0  0  0  0\n    0.5342   -0.5000    0.0000   C 0  0  0  1  0  0  0  0  0  0  0  0\n   -2.0640   -1.0000    0.0000   O 0  0  0  1  0  0  0  0  0  0  0  0\n   -0.3318   -1.0000    0.0000   N 0  0  0  1  0  0  0  0  0  0  0  0\n    2.0640   -0.0000    0.0000   C 0  0  0  2  0  0  0  0  0  0  0  0\n    1.7910    1.7553    0.0000   C 0  0  0  4  0  0  0  0  0  0  0  0\n    1.4804   -0.8047    0.0000   N 0  0  0  1  0  0  0  0  0  0  0  0\n   -0.3318   -2.0000    0.0000   C 0  0  0  4  0  0  0  0  0  0  0  0\n  1  2  2  0  0  0  0\n  3  2  1  0  0  0  0\n  4  2  1  0  0  0  0\n  3  5  1  0  0  0  0\n  3  6  1  0  0  0  0\n  7  4  1  0  0  0  0\n  4  8  2  0  0  0  0\n  9  5  2  0  0  0  0\n 10  5  1  0  0  0  0\n 10  8  1  0  0  0  0\n  7 11  1  0  0  0  0\n  7 12  1  0  0  0  0\n 13  8  1  0  0  0  0\n 13 11  2  0  0  0  0\n 10 14  1  0  0  0  0\nM  END\n> \n07-08-2009\n';
  var caffeine = ChemDoodle.readMOL(caffeineMolFile);
  // get the dimension of the molecule
  var size = caffeine.getDimension();
  // find the scale by taking the minimum of the canvas/size ratios
  var scale = Math.min(tutorial4_testmol2.width/size.x, tutorial4_testmol2.height/size.y);
  // load the molecule first (this function automatically sets scale, so we need to change specs after)
  tutorial4_testmol2.loadMolecule(caffeine);
  // change the specs.scale value to the scale calculated, shrinking it slightly so that text is not cut off
  tutorial4_testmol2.specs.scale = scale*.9;

  //now display atom numbers instead of element letter
  for (var i = 0, ii=caffeine.atoms.length; i<ii; i++) {
     caffeine.atoms[i].altLabel = i+1;
  }
  //repaint the canvas in correct scale with atom numbers
  tutorial4_testmol2.repaint();

January 2, 2012

Using CDK to output a ChemDoodle web component canvas

A very short description of how to get your CDK java code to output a canvas that can be displayed using the ChemDoodle web components java script library.
What ChemDoodle web components needs is actually a molfile with 2D coordinates on one line without line breaks (and explicit \n in place of the line breaks). So that's what we're generating here.
The molecule (variable name "molecule" is assumed to have 2D coordinates, if it only has 3D coordinates it will not look very nice, and without coordinates it will not work at all.
ByteArrayOutputStream baos = new ByteArrayOutputStream();
MDLV2000Writer writer = new MDLV2000Writer(baos);

//force 2D coordinates even if 3D exists
Properties customSettings = new Properties();
customSettings.setProperty("ForceWriteAs2DCoordinates", "true");
PropertiesListener listener = new PropertiesListener(customSettings);
writer.addChemObjectIOListener(listener);
//end force 2D coordinates

//write the molecule to the outputstream
try {
   writer.write(molecule);
} catch (CDKException e) {
   e.printStackTrace();
}

//convert the outputstream to a string
String MoleculeString = baos.toString();

//now split MoleculeString into multiple lines to enable explicit printout of \n
String Moleculelines[] = MoleculeString.split("\\r?\\n");

//now we print the javascript variable in the canvas
outfile.print("var myMolFile = '");
for(int i=0; i<Moleculelines.length; i++){
   outfile.print(Moleculelines[i]);
   outfile.print("\\n");
}  
And then you just have to surround this javascript variable with the required settings and canvas definitions as described in my earlier posts about ChemDoodle: Chemdoodle web components tricks #1: scaling molecules, Chemdoodle web components tricks #2: showing atom numbers , Chemdoodle web components tricks #3: Using mouseover functions to do multiple repaints on a canvas