Skip to content

Commit

Permalink
Merge pull request #50 from janash/feature/about
Browse files Browse the repository at this point in the history
adds library details page
  • Loading branch information
janash authored Sep 20, 2023
2 parents 3f43b08 + 5578748 commit a268440
Show file tree
Hide file tree
Showing 4 changed files with 143 additions and 36 deletions.
2 changes: 2 additions & 0 deletions frontend/src/App.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,13 @@ import Home from './pages/Home';

const Search = lazy(() => import('./pages/SearchHook'));
const NeighborSearch = lazy(() => import('./pages/Neighbors'));
const About = lazy(() => import('./pages/About'))

const pages = {
'Home': <Home />,
'Search': <Search />,
'Neighbors': <NeighborSearch/>,
'About': <About/>,
};

function Content() {
Expand Down
60 changes: 60 additions & 0 deletions frontend/src/components/DFTTable.jsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
import {
Container,
Table,
TableHead,
TableContainer,
TableRow,
TableBody,
TableCell,
Paper,
} from '@mui/material';

function createData(
name,
description,
forXTB,
forDFT
) {
return { name, description, forXTB, forDFT }
};

const rows = [
createData("boltz", "Boltzmann-weighted average of all conformers' properties (T=298.15 K", true, true),
createData("max", "highest value of a property of any conformer", true, true),
createData("min", "lowest value of a property of any conformer", true, true),
createData("std", "standard deviation of the value across all conformers", true, false),
createData("vburminconf", "property value of the conformer with the smallest buried volume", false, true),
createData("delta", "difference between the maximum and minimum property values", false, true),
];

function DataTable() {
return (
<Container sx={{marginTop: "20px", marginBottom: "20px"}}>
<TableContainer component={Paper}>
<Table>
<TableHead>
<TableRow>
<TableCell>Condensed Properties</TableCell>
<TableCell>Description</TableCell>
<TableCell>For XTB</TableCell>
<TableCell>For DFT</TableCell>
</TableRow>
</TableHead>
<TableBody>
{rows.map((row) => (
<TableRow key={row.name}>
<TableCell>{row.name}</TableCell>
<TableCell>{row.description}</TableCell>
<TableCell>{row.forXTB ? '✔️' : ''}</TableCell>
<TableCell>{row.forDFT ? '✔️' : ''}</TableCell>
</TableRow>
))}
</TableBody>
</Table>
</TableContainer>
</Container>
);
};

export default DataTable;

113 changes: 77 additions & 36 deletions frontend/src/pages/About.jsx
Original file line number Diff line number Diff line change
@@ -1,42 +1,83 @@
import Typography from '@mui/material/Typography';
import Container from '@mui/material/Container';
import {
Container,
Typography,
List,
ListItem,
Link
} from '@mui/material';

import DataTable from '../components/DFTTable';

function About() {
return (<>
<Container maxWidth="lg">
<h2>About</h2>

<Typography variant="subtitle1" sx={{mb:3}}>
Kraken stands for ...<b>K</b>olossal vi<b>R</b>tual d<b>A</b>tabase
for mole<b>K</b>ular d<b>E</b>scriptors of orga<b>N</b>ophosphorus
ligands.
</Typography>

<Typography variant="body1" align="justify" paragraph={true}>
With descriptors for 330949 monodentate organophosphorus(III)
ligands at two levels of theory as well as property estimation
powered by machine learning, we hope experimentalists,
theoreticians, and data scientists will find utility in this library
when designing new ligands for catalysis. This descriptor set
accounts for conformational flexibility and was created by the authors of "Mapping the Property
Space of Monodentate Organophosphorus Ligands for Catalysis",
preprint on ChemRxiv (doi: 10.26434/chemrxiv.12996665).
</Typography>

<Typography variant="body1" align="justify" paragraph={true}>
This project was originally created as a collaboration between University of Toronto,
University of Utah, Technische Universität Berlin, Karlsruhe
Institute of Technology, Vector Institute for Artificial
Intelligence, Center for Computer Assisted Synthesis, IBM Research,
and AstraZeneca.
</Typography>
return (
<Container maxWidth="xl" sx={{marginBottom: "30px"}}>

<Typography variant="h2" component="h1" textAlign="center">Library Details</Typography>

<Typography variant="h5" component="h2" sx={{fontStyle:"oblique", marginBottom:"15px"}} >Conformational Searching</Typography>
<Typography variant="body1" paragraph>
Initial ligand geometries were generated using SMILES strings and converted to free ligands and [LNi(CO)<sub>3</sub>] complexes using RDKit, OpenBabel or Molconvert.
These guess geometries were optimized at the GFN2-xTB level of theory (xTB v6.2.2).
Optimized geometries were subjected to a conformational search using CREST (v2.8) at the GFN2-xTB level with toluene solvation (GBSA model).
For ligands containing ferrocene, conformational searches were performed at the GFN-FF level to avoid structural changes.
Molecular descriptors at the xTB level for the full conformational ensembles from CREST were collected using MORFEUS.
</Typography>

<Typography variant="body1" paragraph></Typography>

<Typography variant="body1" paragraph>
Molecular descriptors at the xTB level for the full conformational ensembles from CREST were collected using MORFEUS.
</Typography>

<Typography variant="h5" component="h2" sx={{fontStyle:"oblique", marginTop:"30px", marginBottom:"15px"}}>Selection of conformers for DFT computations</Typography>
<Typography variant="body1" paragraph>
Conformers from both sets (free ligand and Ni complex) were selected based on the following two criteria:

<List sx = {{listStyleType: 'disc', pl: 2,'& .MuiListItem-root': {display: 'list-item',},}}>

<Typography variant="body1" align="justify" paragraph={true}>
This project is now maintained by The Molecular Sciences Software Institute.
</Typography>
</Container>
</>)
<ListItem>
Conformers that minimize or maximize any of the following xTB-level steric properties in any of the two conformer sets:
B1, B5, lval, far_vbur, far_vtot, max_delta_qvbur, max_delta_qvtot, near_vbur, near_vtot, ovbur_max, ovbur_min, ovtot_max,
ovtot_min, pyr_val, qvbur_max, qvbur_min, qvtot_max, qvtot_min, vbur.
</ListItem>

<ListItem>
Up to 20 conformers within 3 kcal/mol relative energy in the <i>free ligand conformer set.</i>
If more than 20 conformers are in that range, the selection was made by RMSD pruning (using PyDP4).
This enables structurally diverse selection of conformers in the relevant energy window.
</ListItem>
</List>
</Typography>

<Typography variant="h5" component="h2" sx={{fontStyle:"oblique", marginTop:"30px", marginBottom:"15px"}}>DFT computations</Typography>

<Typography variant="body1" paragraph>
Prior to DFT computations, the [Ni(CO)<sub>3</sub>]-fragment was removed from the Ni complex conformer set to obtain free-ligand initial geometries.
All DFT optimizations (Gaussian 16, rev C.01) were performed at the PBE-D3(BJ)/6-31+G(d,p) level of theory.
The corresponding geometries were used for a series of single-point energy calculations at the PBE0-D3(BJ)/def2-TZVP and PBE0-D3(BJ)/def2-TZVP/SMD(CHCl3) levels of theory.
Additional single-points were also run for the radical cations and radical anions from the optimized geometry of the neutral free ligand.
</Typography>

<Typography variant="body1" paragraph>
From the DFT calculations, steric, electronic, or full molecule/interaction-type descriptors were collected for each conformer.
The range of properties across the conformers of a single ligand was treated by using up to five condensed measures for each of the properties.
</Typography>


<DataTable></DataTable>

<Typography variant="body1" paragraph>
An extended explanation of the computational workflow used to build the monophosphine library, as well as details on the descriptors collected
(xTB- and DFT-level) can be found in the <Link target="_blank" href="https://pubs.acs.org/doi/10.1021/jacs.1c09718">original publication supporting information.</Link>
</Typography>

<Typography variant="body1" paragraph>
Gensch, T.; dos Passos Gomes, G.; Friederich, P.; Peters, E.; Gaudin, T.; Pollice, R.; Jorner, K.; Nigam, A.; Lindner-D’Addario, M.; Sigman, M. S.; Aspuru-Guzik, A. A Comprehensive Discovery Platform for Organophosphorus Ligands for Catalysis. J. Am. Chem. Soc. 2022, 144, 3, 1205–1217. DOI: 10.1021/jacs.1c09718
</Typography>

</Container>
)

}

export default About;
export default About;
4 changes: 4 additions & 0 deletions frontend/src/pages/Home.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import SearchIcon from '@mui/icons-material/Search';
import BubbleChartIcon from '@mui/icons-material/BubbleChart';
//import DownloadIcon from '@mui/icons-material/Download';
import AutoStoriesIcon from '@mui/icons-material/AutoStories';
import InfoIcon from '@mui/icons-material/Info';
import StatCard from '../components/SummaryCard';
import IconLink from '../components/IconLink';

Expand Down Expand Up @@ -145,6 +146,9 @@ function Home() {
<Grid item>
<IconLink IconElement={BubbleChartIcon} text="Neighbor Search" link='/neighbors'></IconLink>
</Grid>
<Grid item>
<IconLink IconElement={InfoIcon} text="Library Details" link="/about"></IconLink>
</Grid>
{/* Hide until we're ready to add
<Grid item>
<IconLink IconElement={DownloadIcon} text="Download" link="/download"></IconLink>
Expand Down

0 comments on commit a268440

Please sign in to comment.