Skip to content
Snippets Groups Projects
Commit 991519ba authored by Katja's avatar Katja
Browse files

save, self-cit, legend

parent 6f060a66
Branches
No related tags found
2 merge requests!10Output,!9Main
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>JsDoc Reference - File Index</title>
<meta name="generator" content="JsDoc Toolkit" />
<style type="text/css">
/* default.css */
body
{
font: 12px "Lucida Grande", Tahoma, Arial, Helvetica, sans-serif;
width: 800px;
}
.header
{
clear: both;
background-color: #ccc;
padding: 8px;
}
h1
{
font-size: 150%;
font-weight: bold;
padding: 0;
margin: 1em 0 0 .3em;
}
hr
{
border: none 0;
border-top: 1px solid #7F8FB1;
height: 1px;
}
pre.code
{
display: block;
padding: 8px;
border: 1px dashed #ccc;
}
#index
{
margin-top: 24px;
float: left;
width: 160px;
position: absolute;
left: 8px;
background-color: #F3F3F3;
padding: 8px;
}
#content
{
margin-left: 190px;
width: 600px;
}
.classList
{
list-style-type: none;
padding: 0;
margin: 0 0 0 8px;
font-family: arial, sans-serif;
font-size: 1em;
overflow: auto;
}
.classList li
{
padding: 0;
margin: 0 0 8px 0;
}
.summaryTable { width: 100%; }
h1.classTitle
{
font-size:170%;
line-height:130%;
}
h2 { font-size: 110%; }
caption, div.sectionTitle
{
background-color: #7F8FB1;
color: #fff;
font-size:130%;
text-align: left;
padding: 2px 6px 2px 6px;
border: 1px #7F8FB1 solid;
}
div.sectionTitle { margin-bottom: 8px; }
.summaryTable thead { display: none; }
.summaryTable td
{
vertical-align: top;
padding: 4px;
border-bottom: 1px #7F8FB1 solid;
border-right: 1px #7F8FB1 solid;
}
/*col#summaryAttributes {}*/
.summaryTable td.attributes
{
border-left: 1px #7F8FB1 solid;
width: 140px;
text-align: right;
}
td.attributes, .fixedFont
{
line-height: 15px;
color: #002EBE;
font-family: "Courier New",Courier,monospace;
font-size: 13px;
}
.summaryTable td.nameDescription
{
text-align: left;
font-size: 13px;
line-height: 15px;
}
.summaryTable td.nameDescription, .description
{
line-height: 15px;
padding: 4px;
padding-left: 4px;
}
.summaryTable { margin-bottom: 8px; }
ul.inheritsList
{
list-style: square;
margin-left: 20px;
padding-left: 0;
}
.detailList {
margin-left: 20px;
line-height: 15px;
}
.detailList dt { margin-left: 20px; }
.detailList .heading
{
font-weight: bold;
padding-bottom: 6px;
margin-left: 0;
}
.light, td.attributes, .light a:link, .light a:visited
{
color: #777;
font-style: italic;
}
.fineprint
{
text-align: right;
font-size: 10px;
}
</style>
</head>
<body>
<div id="header">
</div>
<div id="index">
<div align="center"><a href="index.html">Class Index</a>
| <a href="files.html">File Index</a></div>
<hr />
<h2>Classes</h2>
<ul class="classList">
<li><i><a href="symbols/_global_.html">_global_</a></i></li>
</ul>
<hr />
</div>
<div id="content">
<h1 class="classTitle">File Index</h1>
<div>
<h2><a href="symbols/src/cn.js.html">cn.js</a></h2>
<dl>
</dl>
</div>
<hr />
</div>
<div class="fineprint" style="clear:both">
Documentation generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blankt">JsDoc Toolkit</a> 2.4.0 on Tue Nov 23 2021 23:46:32 GMT+0100 (MEZ)
</div>
</body>
</html>
\ No newline at end of file
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>JsDoc Reference - Index</title>
<meta name="generator" content="JsDoc Toolkit" />
<style type="text/css">
/* default.css */
body
{
font: 12px "Lucida Grande", Tahoma, Arial, Helvetica, sans-serif;
width: 800px;
}
.header
{
clear: both;
background-color: #ccc;
padding: 8px;
}
h1
{
font-size: 150%;
font-weight: bold;
padding: 0;
margin: 1em 0 0 .3em;
}
hr
{
border: none 0;
border-top: 1px solid #7F8FB1;
height: 1px;
}
pre.code
{
display: block;
padding: 8px;
border: 1px dashed #ccc;
}
#index
{
margin-top: 24px;
float: left;
width: 160px;
position: absolute;
left: 8px;
background-color: #F3F3F3;
padding: 8px;
}
#content
{
margin-left: 190px;
width: 600px;
}
.classList
{
list-style-type: none;
padding: 0;
margin: 0 0 0 8px;
font-family: arial, sans-serif;
font-size: 1em;
overflow: auto;
}
.classList li
{
padding: 0;
margin: 0 0 8px 0;
}
.summaryTable { width: 100%; }
h1.classTitle
{
font-size:170%;
line-height:130%;
}
h2 { font-size: 110%; }
caption, div.sectionTitle
{
background-color: #7F8FB1;
color: #fff;
font-size:130%;
text-align: left;
padding: 2px 6px 2px 6px;
border: 1px #7F8FB1 solid;
}
div.sectionTitle { margin-bottom: 8px; }
.summaryTable thead { display: none; }
.summaryTable td
{
vertical-align: top;
padding: 4px;
border-bottom: 1px #7F8FB1 solid;
border-right: 1px #7F8FB1 solid;
}
/*col#summaryAttributes {}*/
.summaryTable td.attributes
{
border-left: 1px #7F8FB1 solid;
width: 140px;
text-align: right;
}
td.attributes, .fixedFont
{
line-height: 15px;
color: #002EBE;
font-family: "Courier New",Courier,monospace;
font-size: 13px;
}
.summaryTable td.nameDescription
{
text-align: left;
font-size: 13px;
line-height: 15px;
}
.summaryTable td.nameDescription, .description
{
line-height: 15px;
padding: 4px;
padding-left: 4px;
}
.summaryTable { margin-bottom: 8px; }
ul.inheritsList
{
list-style: square;
margin-left: 20px;
padding-left: 0;
}
.detailList {
margin-left: 20px;
line-height: 15px;
}
.detailList dt { margin-left: 20px; }
.detailList .heading
{
font-weight: bold;
padding-bottom: 6px;
margin-left: 0;
}
.light, td.attributes, .light a:link, .light a:visited
{
color: #777;
font-style: italic;
}
.fineprint
{
text-align: right;
font-size: 10px;
}
</style>
</head>
<body>
<div id="header">
</div>
<div id="index">
<div align="center"><a href="index.html">Class Index</a>
| <a href="files.html">File Index</a></div>
<hr />
<h2>Classes</h2>
<ul class="classList">
<li><i><a href="symbols/_global_.html">_global_</a></i></li>
</ul>
<hr />
</div>
<div id="content">
<h1 class="classTitle">Class Index</h1>
<div>
<h2><a href="symbols/_global_.html">_global_</a></h2>
</div>
<hr />
</div>
<div class="fineprint" style="clear:both">
Documentation generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blankt">JsDoc Toolkit</a> 2.4.0 on Tue Nov 23 2021 23:46:32 GMT+0100 (MEZ)
</div>
</body>
</html>
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
/**
* creates a new zoom behavior
*/
var zoom = d3.zoom().on("zoom", zoomHandler);
/**
* creates svg object and associated attributes
* applies the zoom behavior to svg
*/
var svg = d3.select("svg")
.call(zoom),
width = svg.attr("width"),
height = svg.attr("height");
/**
* creates node object and associated attributes
*/
var node,
r=10,
color = d3.scaleOrdinal()
.domain(["citing", "input", "cited"])
.range([' #01d7c0', ' #8b90fe ', ' #a15eb2 ']),
yscale = d3.scaleOrdinal()
.domain(["citing", "input", "cited"])
.range([0, 200, 400]),
toRemove;
/**
* creates link object
*/
/**
* creates a background
* creates a click functionality of the background
*/
var rect = svg.append("rect")
.attr("x", 0)
.attr("y", 0)
.attr("height", height)
.attr("width", width)
.style("fill", 'white')
.on('click', clickRect);
/**
* creates a new simulation
* updates the positions of the links and nodes when the
state of the layout has changed (simulation has advanced by a tick)
*/
var simulation = d3.forceSimulation()
.force("link", d3.forceLink().id(function(d) {return d.doi;}).distance(100).strength(1))
.force("collide", d3.forceCollide(50))
.force("charge", d3.forceManyBody().strength(-30))
.force("center", d3.forceCenter(width/2, height/2))
.force("yscale", d3.forceY().strength(1).y(function(d) {return yscale(d.group)}));
/**
* creates group element
*/
var g = svg.append("g")
.attr("class", "everything")
/**
* loads JSON data and calls the update function
*/
d3.json("json_text.json").then(function(graph) {
update(graph.links, graph.nodes);
})
/**
* calls update functions for links and nodes
* adds the nodes and links to the simulation
* @param {object} nodes - nodes
* @param {object} links - links
*/
function update(links, nodes) {
updateLinks(links);
updateNodes(nodes);
simulation
.nodes(nodes)
.on("tick", tickHandler);
simulation.force("link")
.links(links);
link.attr('marker-end', function(d) {return updateMarker("#999", d.target);})
.style("stroke-dasharray",function(d){return self_cit(d.source,d.target)? ("8,8"): ("1,0")});
}
var rect2 = svg.append("rect")
.attr("x", 0)
.attr("y", 0)
.attr("height", 180)
.attr("width", 210)
.style("fill", 'white');
legendposition=[70,110,150]
groupnames=["citing","input","cited"]
var legend = svg.selectAll(".legend")
.data(legendposition)
.enter()
.append("g")
.attr("class","legend")
.attr("transform", function(d) { return "translate(0," + d + ")"; });
legend.append("text")
.attr("x", 100)
.attr("y", 0)
.attr("dy", ".35em")
.style("text-anchor", "start")
.text(function(d){return groupnames[legendposition.indexOf(d)]});
legend.append("circle")
.attr("r", r)
.attr("cx",50-r)
.style("fill", color);
var legendarrow = svg.append("g")
.attr("class","legend")
.attr("transform","translate(20,20)");
legendarrow.append("line")
.attr("x1", 10)
.attr("x2", 50)
.attr("y1", 10)
.attr("y2", 10)
.style("stroke-dasharray","8,8")
.style("stroke", '#999')
.style("stroke-width", "1px")
.style('pointer-events', 'none')
.attr('marker-end',updateMarker('#999',this));
legendarrow.append("text")
.attr("x", 80)
.attr("y", 10)
.attr("dy", ".35em")
.style("text-anchor", "start")
.text("self-citation");
/**
* initializes and shows links
* @param {object} links - links
*/
function updateLinks(links) {
link = g.append("g")
.selectAll(".link")
.data(links)
.enter()
.append("line")
.style("stroke-width", "1px")
.style("stroke", "#999")
.attr("class", "link");
}
/**
* initializes and shows nodes with circles and texts
* creates a new drag behavior and applies it to the circles
* creates a click functionality of the circles and texts
* @param {object} nodes - nodes
*/
function updateNodes(nodes) {
node = g.selectAll(".node")
.data(nodes)
.enter()
.append("g")
.attr("class", "node")
.attr("initial_x", function(d) {return d.dx;})
.attr("initial_y", function(d) {return d.dy;})
.call(d3.drag()
.on("start", dragstarted)
.on("drag", dragged)
);
node.append("circle")
.attr("class", "circle")
.attr("r", function(d) {return r+d.citations*0.1})
.style("fill", function(d){ return color(d.group)})
.on('click', clickNode);
node.append("text")
.attr("class", "text")
.style("font-size", "15px")
.style('pointer-events', 'auto')
.text(function (d) {return firstauthor(d.author);})
.on('click', clickNode);
}
/**
* creates arrowhead and returns its url
* @param {string} color - color of arrowhead
* @param {string} target - target-node
*/
function updateMarker(color, target) {
var radius = r+target.citations*0.1;
svg.append('defs').append('marker')//arrowhead
.attr('id',color.replace("#", "")+radius)
.attr('viewBox','-0 -5 10 10')
.attr('refX',radius+10)
.attr('refY',0)
.attr('orient','auto')
.attr('markerWidth',10)
.attr('markerHeight',15)
.attr('xoverflow','visible')
.append('svg:path')
.attr('d', 'M 0,-5 L 10 ,0 L 0,5')
.attr('fill', color)//arrowhead color
.style('stroke','none');
return "url(" + color + radius + ")";
};
/**
* colors the circle and its links black and removes the previous markings
* @param {object} node - node
*/
function clickNode(node) {
if(toRemove){
d3.select(toRemove).selectAll(".circle").style("stroke","none")
}
toRemove = this.parentNode;
d3.select(this.parentNode).selectAll(".circle").style("stroke","black")
marklink(node)
textfunc(node)
}
/**
* removes the markings of the circles and their links
*/
function clickRect() {
d3.selectAll(".circle").style("stroke", "none")
d3.selectAll(".link")
.style("stroke", "#999")
.attr('marker-end', function(d) {return updateMarker('#999', d.target);})
document.getElementById('textbox').innerHTML = "Click node";
}
function create_author_array(authors){
authorarray=authors.split(",")
authorarray=authorarray.map(elem =>{return elem.trim();})
return authorarray
}
function self_cit(source,target){
sourceauthors=create_author_array(source.author)
targetauthors=create_author_array(target.author)
return sourceauthors.some(item=>targetauthors.includes(item))
}
/**
* sets color of link (line and arrowhead) to black if it is directly connected to node
* and to grey otherwise
* @param {object} node - node
*/
function marklink(node){
d3.selectAll(".link")
.style("stroke", function(o) {
return isLinkForNode(node, o) ? "black" : "#999";})
.attr('marker-end', function(o) {
return isLinkForNode(node, o) ? updateMarker('#000000', o.target) : updateMarker('#999', o.target);})
}
/**
* returns true if link is directly connected to node and false if it is not
* @param {object} node - node
* @param {object} link - link
*/
function isLinkForNode(node, link){
return link.source.index == node.index || link.target.index == node.index;
}
/**
* returns last name of first author
* @param {string} authors - the comma-separated string of authors
*/
function firstauthor(authors){
if (/,/.test(authors)==false){
var firstauthor=/^.*\s+([\w\-]+)[\.\s]*$/.exec(authors)
}
else {
var firstauthor=/^[\s\w\.\-]*\s([\w\-]+)[\.\s]*,.*$/.exec(authors)
}
return firstauthor[1]
}
/**
* outputs node info to textbox
* @param {object} node - data of current node
*/
function textfunc(node){
document.getElementById('textbox').innerHTML = "Title:" + '</br>' + node.name +
'</br>' +'</br>'+"Author:"+ '</br>' +node.author+'</br>'+'</br>'+"Year:"+'</br>'
+node.year+'</br>'+'</br>'+"doi:"+'</br>'+node.doi;
}
/**
* updates the positions of the links and nodes
*/
function tickHandler() {
link.attr("x1", function (d) {return d.source.x;})
.attr("y1", function (d) {return d.source.y;})
.attr("x2", function (d) {return d.target.x;})
.attr("y2", function (d) {return d.target.y;});
node.attr("transform", function (d) {return "translate(" + d.x + ", " + d.y + ")";});
}
/**
* initializes the dragging of the node
* @param {object} node - data of current node
*/
function dragstarted(node) {
if (!d3.event.active)
simulation.alphaTarget(0.3).restart()
node.fx = node.x;
node.fy = node.y;
}
/**
* applies the dragging to the node
* @param {object} node - data of current node
*/
function dragged(node) {
node.fx = d3.event.x;
node.fy = d3.event.y;
}
/**
* resets the positions of the nodes
*/
function resetGraph() {
d3.selectAll(".node").each(function(d) {
d.fx = d.initial_x;
d.fy = d.initial_y;
})
}
/**
* applies the transformation (zooming or dragging) to the g element
*/
function zoomHandler() {
d3.select('g').attr("transform", d3.event.transform);
}
/**
* transforms svg so that that the zoom is reset
*/
function resetZoom() {
d3.select('svg')
.call(zoom.scaleTo, 1);
}
/**
* transforms svg so that it is centered
*/
function center() {
d3.select('svg')
.call(zoom.translateTo, 0.5 * width, 0.5 * height);
}
function savesvg(){
var svgString = getSVGString(svg.node());
svgString2Image( svgString, 2*width, 2*height, 'png', save ); // passes Blob and filesize String to the callback
function save( dataBlob, filesize ){
saveAs( dataBlob, 'D3 vis exported to PNG.png' ); // FileSaver.js function
}
};
// Below are the functions that handle actual exporting:
// getSVGString ( svgNode ) and svgString2Image( svgString, width, height, format, callback )
function getSVGString( svgNode ) {
svgNode.setAttribute('xlink', 'http://www.w3.org/1999/xlink');
var cssStyleText = getCSSStyles( svgNode );
appendCSS( cssStyleText, svgNode );
var serializer = new XMLSerializer();
var svgString = serializer.serializeToString(svgNode);
svgString = svgString.replace(/(\w+)?:?xlink=/g, 'xmlns:xlink='); // Fix root xlink without namespace
svgString = svgString.replace(/NS\d+:href/g, 'xlink:href'); // Safari NS namespace fix
return svgString;
function getCSSStyles( parentElement ) {
var selectorTextArr = [];
// Add Parent element Id and Classes to the list
selectorTextArr.push( '#'+parentElement.id );
for (var c = 0; c < parentElement.classList.length; c++)
if ( !contains('.'+parentElement.classList[c], selectorTextArr) )
selectorTextArr.push( '.'+parentElement.classList[c] );
// Add Children element Ids and Classes to the list
var nodes = parentElement.getElementsByTagName("*");
for (var i = 0; i < nodes.length; i++) {
var id = nodes[i].id;
if ( !contains('#'+id, selectorTextArr) )
selectorTextArr.push( '#'+id );
var classes = nodes[i].classList;
for (var c = 0; c < classes.length; c++)
if ( !contains('.'+classes[c], selectorTextArr) )
selectorTextArr.push( '.'+classes[c] );
}
// Extract CSS Rules
var extractedCSSText = "";
for (var i = 0; i < document.styleSheets.length; i++) {
var s = document.styleSheets[i];
try {
if(!s.cssRules) continue;
} catch( e ) {
if(e.name !== 'SecurityError') throw e; // for Firefox
continue;
}
var cssRules = s.cssRules;
for (var r = 0; r < cssRules.length; r++) {
if ( contains( cssRules[r].selectorText, selectorTextArr ) )
extractedCSSText += cssRules[r].cssText;
}
}
return extractedCSSText;
function contains(str,arr) {
return arr.indexOf( str ) === -1 ? false : true;
}
}
function appendCSS( cssText, element ) {
var styleElement = document.createElement("style");
styleElement.setAttribute("type","text/css");
styleElement.innerHTML = cssText;
var refNode = element.hasChildNodes() ? element.children[0] : null;
element.insertBefore( styleElement, refNode );
}
}
function svgString2Image( svgString, width, height, format, callback ) {
var format = format ? format : 'png';
var imgsrc = 'data:image/svg+xml;base64,'+ btoa( unescape( encodeURIComponent( svgString ) ) ); // Convert SVG string to data URL
var canvas = document.createElement("canvas");
var context = canvas.getContext("2d");
canvas.width = width;
canvas.height = height;
var image = new Image();
image.onload = function() {
context.clearRect ( 0, 0, width, height );
context.drawImage(image, 0, 0, width, height);
canvas.toBlob( function(blob) {
var filesize = Math.round( blob.length/1024 ) + ' KB';
if ( callback ) callback( blob, filesize );
});
};
image.src = imgsrc;
}
\ No newline at end of file
......@@ -18,6 +18,7 @@
right: 550px;
} */
/* textbox */
div {
width:270px;
......@@ -26,7 +27,7 @@
padding: 10px;
border: 1px solid #999;
position: absolute;
top: 20px;
top: 100px;
left: 980px;
display: inline-block;
overflow-y: scroll;
......@@ -40,20 +41,25 @@
<p id="id"></p> <!--for commenting with document.getElementById("id").innerHTML = "text"; -->
<!-- graph -->
<svg width="960" height="600"></svg>
<svg width="960" height="500" ></svg>
<!-- textbox -->
<div id = "textbox" style="border:1px solid">Click node</div>
<div id = "textbox" style="border:1px solid" >Click node</div>
<!-- reset-buttons -->
<button onclick="javascript:location.reload();">Reload</button>
<button onclick="resetGraph()">Reset graph</button>
<button onclick="resetZoom()">Reset zoom</button>
<button onclick="center()">Center</button>
<button onclick="savesvg()">Save</button>
<!-- link D3 (version 5) -->
<script src="https://d3js.org/d3.v5.min.js"></script>
<script type="text/javascript" src="cn.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3-legend/2.13.0/d3-legend.js"></script>
<script src="https://cdn.rawgit.com/eligrey/canvas-toBlob.js/f1a01896135ab378aa5c0118eadd81da55e698d8/canvas-toBlob.js"></script>
<script src="https://cdn.rawgit.com/eligrey/FileSaver.js/e9d941381475b5df8b7d7691013401e171014e89/FileSaver.min.js"></script>
<script type="text/javascript" src="cn_26_11_1.js"></script>
</body>
</html>
\ No newline at end of file
......@@ -2,23 +2,23 @@
"nodes": [
{
"name": "Comparing Molecular Patterns Using the Example of SMARTS: Applications and Filter Collection Analysis",
"author":"Emanuel S. R. Ehmki,Robert Schmidt, Farina Ohm, Matthias Rarey",
"year":"2001",
"author":"Emanuel S. R. Ehmki,Robert Schmidt, Farina Ohm, Matthias Rarey",
"year":"1997",
"doi": "https://doi.org/10.1021/acs.jcim.9b00249",
"group": "input",
"citations": 0
},
{
"name": "Combining Machine Learning and Computational Chemistry for Predictive Insights Into Chemical Systems ",
"author": "John A. Keith, Valentin Vassilev-Galindo, Bingqing Cheng, Stefan Chmiela, Michael Gastegger, Klaus-Robert M\u00fcller, Alexandre Tkatchenko. ",
"year":"1967",
"author": "John A. Keith, Valentin Vassilev-Galindo, Bingqing Cheng, Stefan Chmiela, Michael Gastegger, Klaus-Robert M\u00fcller, Alexandre Tkatchenko ",
"year":"1937",
"doi": "https://doi.org/10.1021/acs.chemrev.1c00107",
"group": "citing",
"citations": 140
},
{
"name": "Disconnected Maximum Common Substructures under Constraints ",
"author": "Robert Schmidt, Florian Krull, Anna Lina Heinzke, Matthias Rarey. ",
"author": "Robert Schmidt, Florian Krull, Anna Lina Heinzke,Emanuel S. R. Ehmki, Matthias Rarey ",
"year":"1991",
"doi": "https://doi.org/10.1021/acs.jcim.0c00741",
"group": "citing",
......@@ -26,15 +26,15 @@
},
{
"name": "Evolution of Novartis\u2019 Small Molecule Screening Deck Design ",
"author": "Ansgar Schuffenhauer, Nadine Schneider, Samuel Hintermann, Douglas Auld, Jutta Blank, Simona Cotesta, Caroline Engeloch, Nikolas Fechner, Christoph Gaul, Jerome Giovannoni, Johanna Jansen, John Joslin, Philipp Krastel, Eugen Lounkine, John Manchester, Lauren G. Monovich, Anna Paola Pelliccioli, Manuel Schwarze, Michael D. Shultz, Nikolaus Stiefl, Daniel K. Baeschlin. ",
"year":"1990",
"author": "Ansgar Schuffenhauer, Nadine Schneider, Samuel Hintermann, Douglas Auld, Jutta Blank, Simona Cotesta, Caroline Engeloch, Nikolas Fechner, Christoph Gaul, Jerome Giovannoni, Johanna Jansen, John Joslin, Philipp Krastel, Eugen Lounkine, John Manchester, Lauren G. Monovich, Anna Paola Pelliccioli, Manuel Schwarze, Michael D. Shultz, Nikolaus Stiefl, Daniel K. Baeschlin ",
"year":"2001",
"doi": "https://doi.org/10.1021/acs.jmedchem.0c01332",
"group": "input",
"citations": 250
},
{
"name": "Comparing Molecular Patterns Using the Example of SMARTS: Theory and Algorithms ",
"author": "Robert Schmidt, Emanuel S. R. Ehmki, Farina Ohm, Hans-Christian Ehrlich, Andriy Mashychev, Matthias Rarey. ",
"author": "Robert Schmidt, Emanuel S. R. Ehmki, Farina Ohm, Hans-Christian Ehrlich, Andriy Mashychev, Matthias Rarey ",
"year":"2021",
"doi": "https://doi.org/10.1021/acs.jcim.9b00250",
"group": "cited",
......@@ -42,7 +42,7 @@
},
{
"name": "Machine learning accelerates quantum mechanics predictions of molecular crystals ",
"author": "Yanqiang Han, Imran Ali, Zhilong Wang, Junfei Cai, Sicheng Wu, Jiequn Tang, Lin Zhang, Jiahao Ren, Rui Xiao, Qianqian Lu, Lei Hang, Hongyuan Luo, Jinjin Li. ",
"author": "Yanqiang Han, Imran Ali, Zhilong Wang, Junfei Cai, Sicheng Wu, Jiequn Tang, Lin Zhang, Jiahao Ren, Rui Xiao, Qianqian Lu, Lei Hang, Hongyuan Luo, Jinjin Li ",
"year":"2011",
"doi": "https://doi.org/10.1016/j.physrep.2021.08.002",
"group": "cited",
......@@ -50,7 +50,7 @@
},
{
"name": "The Growing Importance of Chirality in 3D Chemical Space Exploration and Modern Drug Discovery Approaches for Hit-ID ",
"author": "Ilaria Proietti Silvestri, Paul J. J. Colbon. ",
"author": "Ilaria Proietti Silvestri, Robert Schmidt,Nadine Schneider ,Paul J. J. Colbon ",
"year":"2001",
"doi": "https://doi.org/10.1021/acsmedchemlett.1c00251",
"group": "cited",
......@@ -58,7 +58,7 @@
},
{
"name": "Target-Based Evaluation of \u201cDrug-Like\u201d Properties and Ligand Efficiencies ",
"author": "Paul D. Leeson, A. Patricia Bento, Anna Gaulton, Anne Hersey, Emma J. Manners, Chris J. Radoux, Andrew R. Leach. ",
"author": "Paul D. Leeson,Ansgar Schuffenhauer, A. Patricia Bento, Anna Gaulton, Anne Hersey, Emma J. Manners, Chris J. Radoux, Andrew R. Leach ",
"year":"2003",
"doi": "https://doi.org/10.1021/acs.jmedchem.1c00416",
"group": "cited",
......@@ -66,7 +66,7 @@
},
{
"name": "BonMOLi\u00e8re: Small-Sized Libraries of Readily Purchasable Compounds, Optimized to Produce Genuine Hits in Biological Screens across the Protein Space ",
"author": "Neann Mathai, Conrad Stork, Johannes Kirchmair. ",
"author": "Neann Mathai, Conrad Stork, Johannes Kirchmair ",
"year":"2003",
"doi": "https://doi.org/10.3390/ijms22157773",
"group": "cited",
......@@ -74,7 +74,7 @@
},
{
"name": "Accelerating high-throughput virtual screening through molecular pool-based active learning ",
"author": "David E. Graff, Eugene I. Shakhnovich, Connor W. Coley. ",
"author": "David E. Graff, Eugene I. Shakhnovich, Connor W. Coley ",
"year":"2013",
"doi": "https://doi.org/10.1039/D0SC06805E",
"group": "cited",
......@@ -82,7 +82,7 @@
},
{
"name": "Compound Screening ",
"author": "Shin Numao.",
"author": "Shin Numao",
"year":"2009",
"doi": "https://doi.org/10.1016/B978-0-12-820472-6.00078-5",
"group": "citing",
......
# Projekt CiS-Biochemie 2021-22
Automated citation loop finder for ACS articles.
\ No newline at end of file
{"nodes":[{"name":"StudieA","author":"MenschA","year":"JahrA","doi":"doiA","group":"input"},
{"name":"StudieB","author":"MenschB","year":"JahrB","doi":"doiB","group":"cited"},
{"name":"StudieC","author":"MenschC","year":"JahrC","doi":"doiC","group":"input"},
{"name":"StudieD","author":"MenschD","year":"JahrD","doi":"doiD","group":"cited"},
{"name":"StudieE","author":"MenschE","year":"JahrE","doi":"doiE","group":"cited"},
{"name":"StudieF","author":"MenschF","year":"JahrF","doi":"doiF","group":"cited"},
{"name":"StudieG","author":"MenschG","year":"JahrG","doi":"doiG","group":"citing"},
{"name":"StudieH","author":"MenschH","year":"JahrH","doi":"doiH","group":"cited"},
{"name":"StudieI","author":"MenschI","year":"JahrI","doi":"doiI","group":"citing"}],
"links":[{"source":"doiA","target":"doiB"},
{"source":"doiA","target":"doiC"},
{"source":"doiC","target":"doiE"},
{"source":"doiD","target":"doiB"},
{"source":"doiC","target":"doiB"},
{"source":"doiA","target":"doiH"},
{"source":"doiA","target":"doiI"},
{"source":"doiI","target":"doiC"},
{"source":"doiH","target":"doiC"},
{"source":"doiG","target":"doiA"},
{"source":"doiH","target":"doiI"},
{"source":"doiE","target":"doiF"}
]}
{
"nodes": [
{
"name": "Comparing Molecular Patterns Using the Example of SMARTS: Applications and Filter Collection Analysis",
"author":"Emanuel S. R. Ehmki,Robert Schmidt, Farina Ohm, Matthias Rarey",
"year":"7",
"doi": "https://doi.org/10.1021/acs.jcim.9b00249",
"group": "input"
},
{
"name": "Combining Machine Learning and Computational Chemistry for Predictive Insights Into Chemical Systems ",
"author": "John A. Keith, Valentin Vassilev-Galindo, Bingqing Cheng, Stefan Chmiela, Michael Gastegger, Klaus-Robert M\u00fcller, Alexandre Tkatchenko. ",
"year":"1937",
"doi": "https://doi.org/10.1021/acs.chemrev.1c00107",
"group": "citing"
},
{
"name": "Disconnected Maximum Common Substructures under Constraints ",
"author": "Robert Schmidt, Florian Krull, Anna Lina Heinzke, Matthias Rarey. ",
"year":"1991",
"doi": "https://doi.org/10.1021/acs.jcim.0c00741",
"group": "citing"
},
{
"name": "Evolution of Novartis\u2019 Small Molecule Screening Deck Design ",
"author": "Ansgar Schuffenhauer, Nadine Schneider, Samuel Hintermann, Douglas Auld, Jutta Blank, Simona Cotesta, Caroline Engeloch, Nikolas Fechner, Christoph Gaul, Jerome Giovannoni, Johanna Jansen, John Joslin, Philipp Krastel, Eugen Lounkine, John Manchester, Lauren G. Monovich, Anna Paola Pelliccioli, Manuel Schwarze, Michael D. Shultz, Nikolaus Stiefl, Daniel K. Baeschlin. ",
"year":"2001",
"doi": "https://doi.org/10.1021/acs.jmedchem.0c01332",
"group": "input"
},
{
"name": "Comparing Molecular Patterns Using the Example of SMARTS: Theory and Algorithms ",
"author": "Robert Schmidt, Emanuel S. R. Ehmki, Farina Ohm, Hans-Christian Ehrlich, Andriy Mashychev, Matthias Rarey. ",
"year":"2021",
"doi": "https://doi.org/10.1021/acs.jcim.9b00250",
"group": "cited"
},
{
"name": "Machine learning accelerates quantum mechanics predictions of molecular crystals ",
"author": "Yanqiang Han, Imran Ali, Zhilong Wang, Junfei Cai, Sicheng Wu, Jiequn Tang, Lin Zhang, Jiahao Ren, Rui Xiao, Qianqian Lu, Lei Hang, Hongyuan Luo, Jinjin Li. ",
"year":"2011",
"doi": "https://doi.org/10.1016/j.physrep.2021.08.002",
"group": "cited"
},
{
"name": "The Growing Importance of Chirality in 3D Chemical Space Exploration and Modern Drug Discovery Approaches for Hit-ID ",
"author": "Ilaria Proietti Silvestri, Paul J. J. Colbon. ",
"year":"2001",
"doi": "https://doi.org/10.1021/acsmedchemlett.1c00251",
"group": "cited"
},
{
"name": "Target-Based Evaluation of \u201cDrug-Like\u201d Properties and Ligand Efficiencies ",
"author": "Paul D. Leeson, A. Patricia Bento, Anna Gaulton, Anne Hersey, Emma J. Manners, Chris J. Radoux, Andrew R. Leach. ",
"year":"2003",
"doi": "https://doi.org/10.1021/acs.jmedchem.1c00416",
"group": "cited"
},
{
"name": "BonMOLi\u00e8re: Small-Sized Libraries of Readily Purchasable Compounds, Optimized to Produce Genuine Hits in Biological Screens across the Protein Space ",
"author": "Neann Mathai, Conrad Stork, Johannes Kirchmair. ",
"year":"2003",
"doi": "https://doi.org/10.3390/ijms22157773",
"group": "cited"
},
{
"name": "Accelerating high-throughput virtual screening through molecular pool-based active learning ",
"author": "David E. Graff, Eugene I. Shakhnovich, Connor W. Coley. ",
"year":"2013",
"doi": "https://doi.org/10.1039/D0SC06805E",
"group": "cited"
},
{
"name": "Compound Screening ",
"author": "Shin Numao, Gianluca Etienne. ",
"year":"2009",
"doi": "https://doi.org/10.1016/B978-0-12-820472-6.00078-5",
"group": "citing"
}
],
"links": [
{
"source": "https://doi.org/10.1021/acs.jcim.9b00249",
"target": "https://doi.org/10.1021/acs.chemrev.1c00107"
},
{
"source": "https://doi.org/10.1021/acs.jcim.9b00249",
"target": "https://doi.org/10.1021/acs.jcim.0c00741"
},
{
"source": "https://doi.org/10.1021/acs.jcim.9b00249",
"target": "https://doi.org/10.1021/acs.jmedchem.0c01332"
},
{
"source": "https://doi.org/10.1021/acs.jcim.9b00249",
"target": "https://doi.org/10.1021/acs.jcim.9b00250"
},
{
"source": "https://doi.org/10.1021/acs.jcim.9b00249",
"target": "https://doi.org/10.1016/j.physrep.2021.08.002"
},
{
"source": "https://doi.org/10.1021/acs.jmedchem.0c01332",
"target": "https://doi.org/10.1021/acsmedchemlett.1c00251"
},
{
"source": "https://doi.org/10.1021/acs.jmedchem.0c01332",
"target": "https://doi.org/10.1021/acs.jmedchem.1c00416"
},
{
"source": "https://doi.org/10.1021/acs.jmedchem.0c01332",
"target": "https://doi.org/10.3390/ijms22157773"
},
{
"source": "https://doi.org/10.1021/acs.jmedchem.0c01332",
"target": "https://doi.org/10.1039/D0SC06805E"
},
{
"source": "https://doi.org/10.1021/acs.jmedchem.0c01332",
"target": "https://doi.org/10.1016/B978-0-12-820472-6.00078-5"
}
]
}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment