GUIDE
- Left-click and drag the background to move the graph
- Left-click and drag the nodes to reorganize
- Left-click a node to view first level connections
- Double left-click a node to navigate to its page
- Double left-click the background to zoom in
- Right-click the background to zoom out
sigma.utils.pkg('sigma.canvas.nodes');
sigma.canvas.nodes.image = (function() {
var _cache = {},
_loading = {},
_callbacks = {};
// Return the renderer itself:
var renderer = function(node, context, settings) {
var args = arguments,
prefix = settings('prefix') || '',
size = node[prefix + 'size'],
color = node.color || settings('defaultNodeColor'),
url = node.url;
if (_cache[url]) {
context.save();
// Draw the clipping disc:
context.beginPath();
context.arc(
node[prefix + 'x'],
node[prefix + 'y'],
node[prefix + 'size'],
0,
Math.PI * 2,
true
);
context.closePath();
context.clip();
// Draw the image
context.drawImage(
_cache[url],
node[prefix + 'x'] - size,
node[prefix + 'y'] - size,
2 * size,
2 * size
);
// Quit the "clipping mode":
context.restore();
// Draw the border:
context.beginPath();
context.arc(
node[prefix + 'x'],
node[prefix + 'y'],
node[prefix + 'size'],
0,
Math.PI * 2,
true
);
context.lineWidth = 1;
context.strokeStyle = node.color || settings('defaultNodeColor');
context.stroke();
} else {
sigma.canvas.nodes.image.cache(url);
sigma.canvas.nodes.def.apply(
sigma.canvas.nodes,
args
);
}
};
// Let's add a public method to cache images, to make it possible to
// preload images before the initial rendering:
renderer.cache = function(url, callback) {
if (callback)
_callbacks[url] = callback;
if (_loading[url])
return;
var img = new Image();
img.onload = function() {
_loading[url] = false;
_cache[url] = img;
if (_callbacks[url]) {
_callbacks[url].call(this, img);
delete _callbacks[url];
}
};
_loading[url] = true;
img.src = url;
};
return renderer;
})();
var i,
s,
o,
offset_left = 0.5,
N = 1,
E = 40,
C = 5,
d = 0.5,
cs = [],
g = {
nodes: [],
edges: []
};
if (!sigma.classes.graph.hasMethod('neighbors')){
sigma.classes.graph.addMethod('neighbors', function(nodeId) {
var k,
neighbors = {},
index = this.allNeighborsIndex[nodeId] || {};
for (k in index)
neighbors[k] = this.nodesIndex[k];
return neighbors;
});
}
//adding the central node
g.nodes.push({
id: 4802,
label: 'Artur Scherf',
type: 'image',
url: 'https://research.pasteur.fr/wp-content/uploads/2015/07/research.pasteur.fr_artur-bis-150x150.jpg',
x: 0,
y: 0,
size: 30,
color: '#DDDDDD'
});
var biggest_node_size = 0;
N=25
// adding node
var x_node = Math.cos(2 * 0 * Math.PI / N) * 10;
var y_node = Math.sin(2 * 0 * Math.PI / N) * 10;
g.nodes.push({
id: 196975,
label: 'NEWS: New publication: Hemisynthetic alkaloids derived from trilobine are antimalarials with sustained activity in multidrug-resistant Plasmodium falciparum',
x: x_node,
y: y_node,
type: 'image',
url: '',
page_url: 'https://research.pasteur.fr/en/news/new-publication-hemisynthetic-alkaloids-derived-from-trilobine-are-antimalarials-with-sustained-activity-in-multidrug-resistant-plasmodium-falciparum/',
size: 35,
color: '#DDDDDD'
});
//link content to central post
g.edges.push({
id: 4802196975,
size: 0.5,
source: 4802,
target: 196975,
});
//check if content already exist
if (x_node<0){
x_site = x_node + ((Math.random() * 2)-1) - offset_left;
}else{
x_site = x_node + ((Math.random() * 2)-1) + offset_left;
}
if (y_node<0){
y_site = y_node + ((Math.random() * 2)-1) - offset_left;
}else{
y_site = y_node + ((Math.random() * 2)-1) + offset_left;
}
// adding site
g.nodes.push({
id: 4564,
label: 'Sabine Thiberge',
type: 'image',
url: 'https://research.pasteur.fr/wp-content/uploads/2019/10/research_pasteur-img_0425-150x150.jpg',
page_url: 'https://research.pasteur.fr/en/member/sabine-thiberge/',
x: x_site,
y: y_site,
size: 10,
color: '#dddddd'
});
//link to content
g.edges.push({
id: 1969754564,
size: 0.5,
source: 196975,
target: 4564 });
//check if content already exist
if (x_node<0){
x_site = x_node + ((Math.random() * 2)-1) - offset_left;
}else{
x_site = x_node + ((Math.random() * 2)-1) + offset_left;
}
if (y_node<0){
y_site = y_node + ((Math.random() * 2)-1) - offset_left;
}else{
y_site = y_node + ((Math.random() * 2)-1) + offset_left;
}
// adding site
g.nodes.push({
id: 90901,
label: 'Flore Nardella',
type: 'image',
url: '',
page_url: 'https://research.pasteur.fr/en/?post_type=member&p=90901',
x: x_site,
y: y_site,
size: 10,
color: '#dddddd'
});
//link to content
g.edges.push({
id: 19697590901,
size: 0.5,
source: 196975,
target: 90901 });
//check if content already exist
// update node size depending on the amount of edges
g.nodes.forEach(function(n) {
if (n.id == 4802) {
n.size = n.size + 8;
}
});
//link to content
g.edges.push({
id: 1969754802,
size: 0.5,
source: 196975,
target: 4802 });
//check if content already exist
if (x_node<0){
x_site = x_node + ((Math.random() * 2)-1) - offset_left;
}else{
x_site = x_node + ((Math.random() * 2)-1) + offset_left;
}
if (y_node<0){
y_site = y_node + ((Math.random() * 2)-1) - offset_left;
}else{
y_site = y_node + ((Math.random() * 2)-1) + offset_left;
}
// adding site
g.nodes.push({
id: 95915,
label: 'Paola Arimondo',
type: 'image',
url: 'https://research.pasteur.fr/wp-content/uploads/2017/10/research_pasteur-p-arimondo_5757-150x150.jpg',
page_url: 'https://research.pasteur.fr/en/member/paola-arimondo/',
x: x_site,
y: y_site,
size: 10,
color: '#dddddd'
});
//link to content
g.edges.push({
id: 19697595915,
size: 0.5,
source: 196975,
target: 95915 });
//check if content already exist
if (x_node<0){
x_site = x_node + ((Math.random() * 2)-1) - offset_left;
}else{
x_site = x_node + ((Math.random() * 2)-1) + offset_left;
}
if (y_node<0){
y_site = y_node + ((Math.random() * 2)-1) - offset_left;
}else{
y_site = y_node + ((Math.random() * 2)-1) + offset_left;
}
// adding site
g.nodes.push({
id: 135536,
label: 'Irina Dobrescu',
type: 'image',
url: '',
page_url: 'https://research.pasteur.fr/en/?post_type=member&p=135536',
x: x_site,
y: y_site,
size: 10,
color: '#dddddd'
});
//link to content
g.edges.push({
id: 196975135536,
size: 0.5,
source: 196975,
target: 135536 });
//check if content already exist
if (x_node<0){
x_site = x_node + ((Math.random() * 2)-1) - offset_left;
}else{
x_site = x_node + ((Math.random() * 2)-1) + offset_left;
}
if (y_node<0){
y_site = y_node + ((Math.random() * 2)-1) - offset_left;
}else{
y_site = y_node + ((Math.random() * 2)-1) + offset_left;
}
// adding site
g.nodes.push({
id: 101558,
label: 'Ludovic Halby',
type: 'image',
url: '',
page_url: 'https://research.pasteur.fr/en/member/ludovic-halby/',
x: x_site,
y: y_site,
size: 10,
color: '#dddddd'
});
//link to content
g.edges.push({
id: 196975101558,
size: 0.5,
source: 196975,
target: 101558 });
//check if content already exist
if (x_node<0){
x_site = x_node + ((Math.random() * 2)-1) - offset_left;
}else{
x_site = x_node + ((Math.random() * 2)-1) + offset_left;
}
if (y_node<0){
y_site = y_node + ((Math.random() * 2)-1) - offset_left;
}else{
y_site = y_node + ((Math.random() * 2)-1) + offset_left;
}
// adding site
g.nodes.push({
id: 61229,
label: 'Audrey Lorthiois',
type: 'image',
url: '',
page_url: 'https://research.pasteur.fr/en/member/fr-audrey-lorthiois/',
x: x_site,
y: y_site,
size: 10,
color: '#dddddd'
});
//link to content
g.edges.push({
id: 19697561229,
size: 0.5,
source: 196975,
target: 61229 });
//check if content already exist
if (x_node<0){
x_site = x_node + ((Math.random() * 2)-1) - offset_left;
}else{
x_site = x_node + ((Math.random() * 2)-1) + offset_left;
}
if (y_node<0){
y_site = y_node + ((Math.random() * 2)-1) - offset_left;
}else{
y_site = y_node + ((Math.random() * 2)-1) + offset_left;
}
// adding site
g.nodes.push({
id: 121426,
label: 'Stéphane Goussin',
type: 'image',
url: 'https://research.pasteur.fr/wp-content/uploads/2020/02/research_pasteur-sgoussin-150x150.jpg',
page_url: 'https://research.pasteur.fr/en/member/stephane-goussin/',
x: x_site,
y: y_site,
size: 10,
color: '#dddddd'
});
//link to content
g.edges.push({
id: 196975121426,
size: 0.5,
source: 196975,
target: 121426 });
//check if content already exist
if (x_node<0){
x_site = x_node + ((Math.random() * 2)-1) - offset_left;
}else{
x_site = x_node + ((Math.random() * 2)-1) + offset_left;
}
if (y_node<0){
y_site = y_node + ((Math.random() * 2)-1) - offset_left;
}else{
y_site = y_node + ((Math.random() * 2)-1) + offset_left;
}
// adding site
g.nodes.push({
id: 124950,
label: 'Liliana Mancio Silva',
type: 'image',
url: 'https://research.pasteur.fr/wp-content/uploads/2019/09/research_pasteur-photo-1-5-150x150.jpg',
page_url: 'https://research.pasteur.fr/en/member/liliana-mancio-silva/',
x: x_site,
y: y_site,
size: 10,
color: '#dddddd'
});
//link to content
g.edges.push({
id: 196975124950,
size: 0.5,
source: 196975,
target: 124950 });
// adding node
var x_node = Math.cos(2 * 1 * Math.PI / N) * 10;
var y_node = Math.sin(2 * 1 * Math.PI / N) * 10;
g.nodes.push({
id: 188850,
label: 'EVENT: DPT Parasites and insects Vectors Seminar – Nicolas Brancucci “From basic malaria research to drug discovery”',
x: x_node,
y: y_node,
type: 'image',
url: '',
page_url: 'https://research.pasteur.fr/en/event/dpt-parasites-and-insects-vectors-seminar-nicolas-brancucci-from-basic-malaria-research-to-drug-discovery/',
size: 35,
color: '#DDDDDD'
});
//link content to central post
g.edges.push({
id: 4802188850,
size: 0.5,
source: 4802,
target: 188850,
});
//check if content already exist
// update node size depending on the amount of edges
g.nodes.forEach(function(n) {
if (n.id == 4802) {
n.size = n.size + 8;
}
});
//link to content
g.edges.push({
id: 1888504802,
size: 0.5,
source: 188850,
target: 4802 });
// adding node
var x_node = Math.cos(2 * 2 * Math.PI / N) * 10;
var y_node = Math.sin(2 * 2 * Math.PI / N) * 10;
g.nodes.push({
id: 195169,
label: 'NEWS: Paludisme : recréer le cycle sanguin du parasite in vivo pour mieux lutter contre la maladie',
x: x_node,
y: y_node,
type: 'image',
url: '',
page_url: 'https://research.pasteur.fr/en/news/paludisme-recreer-le-cycle-sanguin-du-parasite-in-vivo-pour-mieux-lutter-contre-la-maladie/',
size: 35,
color: '#DDDDDD'
});
//link content to central post
g.edges.push({
id: 4802195169,
size: 0.5,
source: 4802,
target: 195169,
});
//check if content already exist
if (x_node<0){
x_site = x_node + ((Math.random() * 2)-1) - offset_left;
}else{
x_site = x_node + ((Math.random() * 2)-1) + offset_left;
}
if (y_node<0){
y_site = y_node + ((Math.random() * 2)-1) - offset_left;
}else{
y_site = y_node + ((Math.random() * 2)-1) + offset_left;
}
// adding site
g.nodes.push({
id: 97251,
label: 'Camilla Luiza Batista',
type: 'image',
url: '',
page_url: 'https://research.pasteur.fr/en/?post_type=member&p=97251',
x: x_site,
y: y_site,
size: 10,
color: '#dddddd'
});
//link to content
g.edges.push({
id: 19516997251,
size: 0.5,
source: 195169,
target: 97251 });
//check if content already exist
if (x_node<0){
x_site = x_node + ((Math.random() * 2)-1) - offset_left;
}else{
x_site = x_node + ((Math.random() * 2)-1) + offset_left;
}
if (y_node<0){
y_site = y_node + ((Math.random() * 2)-1) - offset_left;
}else{
y_site = y_node + ((Math.random() * 2)-1) + offset_left;
}
// adding site
g.nodes.push({
id: 4309,
label: 'Sylvie Garcia',
type: 'image',
url: 'https://research.pasteur.fr/wp-content/uploads/2015/05/research_pasteur-sylvie-garcia-image001-150x150.jpg',
page_url: 'https://research.pasteur.fr/en/member/sylvie-garcia/',
x: x_site,
y: y_site,
size: 10,
color: '#dddddd'
});
//link to content
g.edges.push({
id: 1951694309,
size: 0.5,
source: 195169,
target: 4309 });
//check if content already exist
// update node size depending on the amount of edges
g.nodes.forEach(function(n) {
if (n.id == 4564) {
n.size = n.size + 8;
}
});
//link to content
g.edges.push({
id: 1951694564,
size: 0.5,
source: 195169,
target: 4564 });
//check if content already exist
if (x_node<0){
x_site = x_node + ((Math.random() * 2)-1) - offset_left;
}else{
x_site = x_node + ((Math.random() * 2)-1) + offset_left;
}
if (y_node<0){
y_site = y_node + ((Math.random() * 2)-1) - offset_left;
}else{
y_site = y_node + ((Math.random() * 2)-1) + offset_left;
}
// adding site
g.nodes.push({
id: 8254,
label: 'Malika Serra-Hassoun',
type: 'image',
url: 'https://research.pasteur.fr/wp-content/uploads/2015/07/research.pasteur.fr_ha19-150x150.jpeg',
page_url: 'https://research.pasteur.fr/en/member/malika-serra-hassoun/',
x: x_site,
y: y_site,
size: 10,
color: '#dddddd'
});
//link to content
g.edges.push({
id: 1951698254,
size: 0.5,
source: 195169,
target: 8254 });
//check if content already exist
// update node size depending on the amount of edges
g.nodes.forEach(function(n) {
if (n.id == 90901) {
n.size = n.size + 8;
}
});
//link to content
g.edges.push({
id: 19516990901,
size: 0.5,
source: 195169,
target: 90901 });
//check if content already exist
// update node size depending on the amount of edges
g.nodes.forEach(function(n) {
if (n.id == 124950) {
n.size = n.size + 8;
}
});
//link to content
g.edges.push({
id: 195169124950,
size: 0.5,
source: 195169,
target: 124950 });
//check if content already exist
// update node size depending on the amount of edges
g.nodes.forEach(function(n) {
if (n.id == 4802) {
n.size = n.size + 8;
}
});
//link to content
g.edges.push({
id: 1951694802,
size: 0.5,
source: 195169,
target: 4802 });
// adding node
var x_node = Math.cos(2 * 3 * Math.PI / N) * 10;
var y_node = Math.sin(2 * 3 * Math.PI / N) * 10;
g.nodes.push({
id: 180447,
label: 'EVENT: PIV Department seminar – Benoît Gamin- “Towards the development of a placental malaria vaccine”',
x: x_node,
y: y_node,
type: 'image',
url: '',
page_url: 'https://research.pasteur.fr/en/event/piv-department-seminar-benoit-gamin-towards-the-development-of-a-placental-malaria-vaccine/',
size: 35,
color: '#DDDDDD'
});
//link content to central post
g.edges.push({
id: 4802180447,
size: 0.5,
source: 4802,
target: 180447,
});
//check if content already exist
// update node size depending on the amount of edges
g.nodes.forEach(function(n) {
if (n.id == 4802) {
n.size = n.size + 8;
}
});
//link to content
g.edges.push({
id: 1804474802,
size: 0.5,
source: 180447,
target: 4802 });
// adding node
var x_node = Math.cos(2 * 4 * Math.PI / N) * 10;
var y_node = Math.sin(2 * 4 * Math.PI / N) * 10;
g.nodes.push({
id: 174101,
label: 'EVENT: Video seminar PIV department- Pierre Buffet “Plasmodium-induced disease in humans (malaria). Parasites, Red cells, Clearance, Persistence, and 100 spleens”',
x: x_node,
y: y_node,
type: 'image',
url: '',
page_url: 'https://research.pasteur.fr/en/event/video-seminar-piv-department-pierre-buffet-plasmodium-induced-disease-in-humans-malaria-parasites-red-cells-clearance-persistence-and-100-spleens/',
size: 35,
color: '#DDDDDD'
});
//link content to central post
g.edges.push({
id: 4802174101,
size: 0.5,
source: 4802,
target: 174101,
});
//check if content already exist
// update node size depending on the amount of edges
g.nodes.forEach(function(n) {
if (n.id == 4802) {
n.size = n.size + 8;
}
});
//link to content
g.edges.push({
id: 1741014802,
size: 0.5,
source: 174101,
target: 4802 });
// adding node
var x_node = Math.cos(2 * 5 * Math.PI / N) * 10;
var y_node = Math.sin(2 * 5 * Math.PI / N) * 10;
g.nodes.push({
id: 154547,
label: 'PROJECT: EpiKillMal- Use of DNA methyltransferase inhibitors to kill drug-resistant malaria parasites –',
x: x_node,
y: y_node,
type: 'image',
url: '',
page_url: 'https://research.pasteur.fr/en/project/epikillmal-use-of-dna-methyltransferase-inhibitors-to-kill-drug-resistant-malaria-parasites/',
size: 35,
color: '#DDDDDD'
});
//link content to central post
g.edges.push({
id: 4802154547,
size: 0.5,
source: 4802,
target: 154547,
});
//check if content already exist
// update node size depending on the amount of edges
g.nodes.forEach(function(n) {
if (n.id == 101558) {
n.size = n.size + 8;
}
});
//link to content
g.edges.push({
id: 154547101558,
size: 0.5,
source: 154547,
target: 101558 });
//check if content already exist
// update node size depending on the amount of edges
g.nodes.forEach(function(n) {
if (n.id == 90901) {
n.size = n.size + 8;
}
});
//link to content
g.edges.push({
id: 15454790901,
size: 0.5,
source: 154547,
target: 90901 });
//check if content already exist
// update node size depending on the amount of edges
g.nodes.forEach(function(n) {
if (n.id == 135536) {
n.size = n.size + 8;
}
});
//link to content
g.edges.push({
id: 154547135536,
size: 0.5,
source: 154547,
target: 135536 });
//check if content already exist
if (x_node<0){
x_site = x_node + ((Math.random() * 2)-1) - offset_left;
}else{
x_site = x_node + ((Math.random() * 2)-1) + offset_left;
}
if (y_node<0){
y_site = y_node + ((Math.random() * 2)-1) - offset_left;
}else{
y_site = y_node + ((Math.random() * 2)-1) + offset_left;
}
// adding site
g.nodes.push({
id: 8390,
label: 'Véronique Cadet-Daniel',
type: 'image',
url: 'https://research.pasteur.fr/wp-content/uploads/2015/07/research.pasteur.fr_veronique-150x150.jpg',
page_url: 'https://research.pasteur.fr/en/member/veronique-cadet-daniel/',
x: x_site,
y: y_site,
size: 10,
color: '#dddddd'
});
//link to content
g.edges.push({
id: 1545478390,
size: 0.5,
source: 154547,
target: 8390 });
//check if content already exist
// update node size depending on the amount of edges
g.nodes.forEach(function(n) {
if (n.id == 95915) {
n.size = n.size + 8;
}
});
//link to content
g.edges.push({
id: 15454795915,
size: 0.5,
source: 154547,
target: 95915 });
//check if content already exist
// update node size depending on the amount of edges
g.nodes.forEach(function(n) {
if (n.id == 4802) {
n.size = n.size + 8;
}
});
//link to content
g.edges.push({
id: 1545474802,
size: 0.5,
source: 154547,
target: 4802 });
// adding node
var x_node = Math.cos(2 * 6 * Math.PI / N) * 10;
var y_node = Math.sin(2 * 6 * Math.PI / N) * 10;
g.nodes.push({
id: 132349,
label: 'PROJECT: Targeting Malaria Epigenetics',
x: x_node,
y: y_node,
type: 'image',
url: '',
page_url: 'https://research.pasteur.fr/en/project/targeting-malaria-epigenetics/',
size: 35,
color: '#DDDDDD'
});
//link content to central post
g.edges.push({
id: 4802132349,
size: 0.5,
source: 4802,
target: 132349,
});
//check if content already exist
// update node size depending on the amount of edges
g.nodes.forEach(function(n) {
if (n.id == 101558) {
n.size = n.size + 8;
}
});
//link to content
g.edges.push({
id: 132349101558,
size: 0.5,
source: 132349,
target: 101558 });
//check if content already exist
// update node size depending on the amount of edges
g.nodes.forEach(function(n) {
if (n.id == 95915) {
n.size = n.size + 8;
}
});
//link to content
g.edges.push({
id: 13234995915,
size: 0.5,
source: 132349,
target: 95915 });
//check if content already exist
// update node size depending on the amount of edges
g.nodes.forEach(function(n) {
if (n.id == 4802) {
n.size = n.size + 8;
}
});
//link to content
g.edges.push({
id: 1323494802,
size: 0.5,
source: 132349,
target: 4802 });
//check if content already exist
// update node size depending on the amount of edges
g.nodes.forEach(function(n) {
if (n.id == 90901) {
n.size = n.size + 8;
}
});
//link to content
g.edges.push({
id: 13234990901,
size: 0.5,
source: 132349,
target: 90901 });
//check if content already exist
if (x_node<0){
x_site = x_node + ((Math.random() * 2)-1) - offset_left;
}else{
x_site = x_node + ((Math.random() * 2)-1) + offset_left;
}
if (y_node<0){
y_site = y_node + ((Math.random() * 2)-1) - offset_left;
}else{
y_site = y_node + ((Math.random() * 2)-1) + offset_left;
}
// adding site
g.nodes.push({
id: 4559,
label: 'Patricia Baldacci',
type: 'image',
url: '',
page_url: 'https://research.pasteur.fr/en/?post_type=member&p=4559',
x: x_site,
y: y_site,
size: 10,
color: '#dddddd'
});
//link to content
g.edges.push({
id: 1323494559,
size: 0.5,
source: 132349,
target: 4559 });
// adding node
var x_node = Math.cos(2 * 7 * Math.PI / N) * 10;
var y_node = Math.sin(2 * 7 * Math.PI / N) * 10;
g.nodes.push({
id: 131872,
label: 'EVENT: PhD defense – Clonally variant non-coding RNA family and its role in Plasmodium falciparum antigenic variation.',
x: x_node,
y: y_node,
type: 'image',
url: '',
page_url: 'https://research.pasteur.fr/en/event/phd-defense-clonally-variant-non-coding-rna-family-in-plasmodium-falciparum-antigenic-variation/',
size: 35,
color: '#DDDDDD'
});
//link content to central post
g.edges.push({
id: 4802131872,
size: 0.5,
source: 4802,
target: 131872,
});
//check if content already exist
// update node size depending on the amount of edges
g.nodes.forEach(function(n) {
if (n.id == 4802) {
n.size = n.size + 8;
}
});
//link to content
g.edges.push({
id: 1318724802,
size: 0.5,
source: 131872,
target: 4802 });
//check if content already exist
if (x_node<0){
x_site = x_node + ((Math.random() * 2)-1) - offset_left;
}else{
x_site = x_node + ((Math.random() * 2)-1) + offset_left;
}
if (y_node<0){
y_site = y_node + ((Math.random() * 2)-1) - offset_left;
}else{
y_site = y_node + ((Math.random() * 2)-1) + offset_left;
}
// adding site
g.nodes.push({
id: 57437,
label: '',
type: 'image',
url: '',
page_url: '',
x: x_site,
y: y_site,
size: 10,
color: '#dddddd'
});
//link to content
g.edges.push({
id: 13187257437,
size: 0.5,
source: 131872,
target: 57437 });
// adding node
var x_node = Math.cos(2 * 8 * Math.PI / N) * 10;
var y_node = Math.sin(2 * 8 * Math.PI / N) * 10;
g.nodes.push({
id: 131849,
label: 'EVENT: PhD Defense – DNA methylation and hydroxymethylation in Plasmodium falciparum: a potential new target for novel drug discovery.',
x: x_node,
y: y_node,
type: 'image',
url: '',
page_url: 'https://research.pasteur.fr/en/event/phd-defense-dna-methylation-and-hydroxymethylation-in-plasmodium-falciparum-a-potential-new-target-for-novel-drug-discovery/',
size: 35,
color: '#DDDDDD'
});
//link content to central post
g.edges.push({
id: 4802131849,
size: 0.5,
source: 4802,
target: 131849,
});
//check if content already exist
if (x_node<0){
x_site = x_node + ((Math.random() * 2)-1) - offset_left;
}else{
x_site = x_node + ((Math.random() * 2)-1) + offset_left;
}
if (y_node<0){
y_site = y_node + ((Math.random() * 2)-1) - offset_left;
}else{
y_site = y_node + ((Math.random() * 2)-1) + offset_left;
}
// adding site
g.nodes.push({
id: 77941,
label: 'Elie Hammam',
type: 'image',
url: 'https://research.pasteur.fr/wp-content/uploads/2016/12/research.pasteur.fr_15181589_10202325217727359_6781735665124606086_n-150x150.jpg',
page_url: 'https://research.pasteur.fr/en/member/elie-hammam/',
x: x_site,
y: y_site,
size: 10,
color: '#dddddd'
});
//link to content
g.edges.push({
id: 13184977941,
size: 0.5,
source: 131849,
target: 77941 });
//check if content already exist
// update node size depending on the amount of edges
g.nodes.forEach(function(n) {
if (n.id == 4802) {
n.size = n.size + 8;
}
});
//link to content
g.edges.push({
id: 1318494802,
size: 0.5,
source: 131849,
target: 4802 });
// adding node
var x_node = Math.cos(2 * 9 * Math.PI / N) * 10;
var y_node = Math.sin(2 * 9 * Math.PI / N) * 10;
g.nodes.push({
id: 124473,
label: 'EVENT: “Plasmodium falciparum asymptomatic infections: in search of the elephant in the room” – Antoine Claessens',
x: x_node,
y: y_node,
type: 'image',
url: '',
page_url: 'https://research.pasteur.fr/en/event/plasmodium-falciparum-asymptomatic-infections-in-search-of-the-elephant-in-the-room-antoine-claessens/',
size: 35,
color: '#DDDDDD'
});
//link content to central post
g.edges.push({
id: 4802124473,
size: 0.5,
source: 4802,
target: 124473,
});
//check if content already exist
// update node size depending on the amount of edges
g.nodes.forEach(function(n) {
if (n.id == 4802) {
n.size = n.size + 8;
}
});
//link to content
g.edges.push({
id: 1244734802,
size: 0.5,
source: 124473,
target: 4802 });
// adding node
var x_node = Math.cos(2 * 10 * Math.PI / N) * 10;
var y_node = Math.sin(2 * 10 * Math.PI / N) * 10;
g.nodes.push({
id: 122072,
label: 'TEAM: U1201 – Genetic and molecular basis of host-parasite interactions',
x: x_node,
y: y_node,
type: 'image',
url: '',
page_url: 'https://research.pasteur.fr/en/team/genetic-and-molecular-basis-of-host-parasite-interactions/',
size: 35,
color: '#DDDDDD'
});
//link content to central post
g.edges.push({
id: 4802122072,
size: 0.5,
source: 4802,
target: 122072,
});
//check if content already exist
if (x_node<0){
x_site = x_node + ((Math.random() * 2)-1) - offset_left;
}else{
x_site = x_node + ((Math.random() * 2)-1) + offset_left;
}
if (y_node<0){
y_site = y_node + ((Math.random() * 2)-1) - offset_left;
}else{
y_site = y_node + ((Math.random() * 2)-1) + offset_left;
}
// adding site
g.nodes.push({
id: 3949,
label: 'Philippe Bastin',
type: 'image',
url: 'https://research.pasteur.fr/wp-content/uploads/2015/06/research.pasteur.fr_philippe_bastin-150x150.jpg',
page_url: 'https://research.pasteur.fr/en/member/philippe-bastin/',
x: x_site,
y: y_site,
size: 10,
color: '#dddddd'
});
//link to content
g.edges.push({
id: 1220723949,
size: 0.5,
source: 122072,
target: 3949 });
//check if content already exist
if (x_node<0){
x_site = x_node + ((Math.random() * 2)-1) - offset_left;
}else{
x_site = x_node + ((Math.random() * 2)-1) + offset_left;
}
if (y_node<0){
y_site = y_node + ((Math.random() * 2)-1) - offset_left;
}else{
y_site = y_node + ((Math.random() * 2)-1) + offset_left;
}
// adding site
g.nodes.push({
id: 4848,
label: 'Gérald Spaeth',
type: 'image',
url: 'https://research.pasteur.fr/wp-content/uploads/2015/05/research_pasteur-gerald-spaeth-portrait-gfs-1-150x150.jpg',
page_url: 'https://research.pasteur.fr/en/member/gerald-spaeth/',
x: x_site,
y: y_site,
size: 10,
color: '#dddddd'
});
//link to content
g.edges.push({
id: 1220724848,
size: 0.5,
source: 122072,
target: 4848 });
//check if content already exist
// update node size depending on the amount of edges
g.nodes.forEach(function(n) {
if (n.id == 4802) {
n.size = n.size + 8;
}
});
//link to content
g.edges.push({
id: 1220724802,
size: 0.5,
source: 122072,
target: 4802 });
// adding node
var x_node = Math.cos(2 * 11 * Math.PI / N) * 10;
var y_node = Math.sin(2 * 11 * Math.PI / N) * 10;
g.nodes.push({
id: 119275,
label: 'EVENT: Cross-talks between the human spleen and Plasmodia: exploring cell- and organ-related phenotypes – Pierre Buffet',
x: x_node,
y: y_node,
type: 'image',
url: '',
page_url: 'https://research.pasteur.fr/en/event/cross-talks-between-the-human-spleen-and-plasmodia-exploring-cell-and-organ-related-phenotypes-pierre-buffet/',
size: 35,
color: '#DDDDDD'
});
//link content to central post
g.edges.push({
id: 4802119275,
size: 0.5,
source: 4802,
target: 119275,
});
//check if content already exist
// update node size depending on the amount of edges
g.nodes.forEach(function(n) {
if (n.id == 4802) {
n.size = n.size + 8;
}
});
//link to content
g.edges.push({
id: 1192754802,
size: 0.5,
source: 119275,
target: 4802 });
// adding node
var x_node = Math.cos(2 * 12 * Math.PI / N) * 10;
var y_node = Math.sin(2 * 12 * Math.PI / N) * 10;
g.nodes.push({
id: 88513,
label: 'EVENT: EMBO Conference on Hijacking host signalling and epigenetic mimicry during infections',
x: x_node,
y: y_node,
type: 'image',
url: '',
page_url: 'https://research.pasteur.fr/en/event/embo-conference-on-hijacking-host-signalling-and-epigenetic-mimicry-during-infections/',
size: 35,
color: '#DDDDDD'
});
//link content to central post
g.edges.push({
id: 480288513,
size: 0.5,
source: 4802,
target: 88513,
});
//check if content already exist
if (x_node<0){
x_site = x_node + ((Math.random() * 2)-1) - offset_left;
}else{
x_site = x_node + ((Math.random() * 2)-1) + offset_left;
}
if (y_node<0){
y_site = y_node + ((Math.random() * 2)-1) - offset_left;
}else{
y_site = y_node + ((Math.random() * 2)-1) + offset_left;
}
// adding site
g.nodes.push({
id: 4009,
label: 'Carmen Buchrieser',
type: 'image',
url: 'https://research.pasteur.fr/wp-content/uploads/2015/06/research.pasteur.fr_carmen1-150x150.jpg',
page_url: 'https://research.pasteur.fr/en/member/carmen-buchrieser/',
x: x_site,
y: y_site,
size: 10,
color: '#dddddd'
});
//link to content
g.edges.push({
id: 885134009,
size: 0.5,
source: 88513,
target: 4009 });
//check if content already exist
if (x_node<0){
x_site = x_node + ((Math.random() * 2)-1) - offset_left;
}else{
x_site = x_node + ((Math.random() * 2)-1) + offset_left;
}
if (y_node<0){
y_site = y_node + ((Math.random() * 2)-1) - offset_left;
}else{
y_site = y_node + ((Math.random() * 2)-1) + offset_left;
}
// adding site
g.nodes.push({
id: 3783,
label: 'Pascale Cossart',
type: 'image',
url: 'https://research.pasteur.fr/wp-content/uploads/2015/05/research.pasteur.fr_pascale-cossart-150x150.jpg',
page_url: 'https://research.pasteur.fr/en/member/pascale-cossart/',
x: x_site,
y: y_site,
size: 10,
color: '#dddddd'
});
//link to content
g.edges.push({
id: 885133783,
size: 0.5,
source: 88513,
target: 3783 });
//check if content already exist
if (x_node<0){
x_site = x_node + ((Math.random() * 2)-1) - offset_left;
}else{
x_site = x_node + ((Math.random() * 2)-1) + offset_left;
}
if (y_node<0){
y_site = y_node + ((Math.random() * 2)-1) - offset_left;
}else{
y_site = y_node + ((Math.random() * 2)-1) + offset_left;
}
// adding site
g.nodes.push({
id: 4780,
label: 'Philippe Sansonetti',
type: 'image',
url: 'https://research.pasteur.fr/wp-content/uploads/2015/06/research.pasteur.fr_philippe-sansonetti-150x150.jpg',
page_url: 'https://research.pasteur.fr/en/member/philippe-sansonetti__trashed/',
x: x_site,
y: y_site,
size: 10,
color: '#dddddd'
});
//link to content
g.edges.push({
id: 885134780,
size: 0.5,
source: 88513,
target: 4780 });
//check if content already exist
// update node size depending on the amount of edges
g.nodes.forEach(function(n) {
if (n.id == 4802) {
n.size = n.size + 8;
}
});
//link to content
g.edges.push({
id: 885134802,
size: 0.5,
source: 88513,
target: 4802 });
//check if content already exist
if (x_node<0){
x_site = x_node + ((Math.random() * 2)-1) - offset_left;
}else{
x_site = x_node + ((Math.random() * 2)-1) + offset_left;
}
if (y_node<0){
y_site = y_node + ((Math.random() * 2)-1) - offset_left;
}else{
y_site = y_node + ((Math.random() * 2)-1) + offset_left;
}
// adding site
g.nodes.push({
id: 6957,
label: 'Moshe Yaniv',
type: 'image',
url: 'https://research.pasteur.fr/wp-content/uploads/2015/09/research.pasteur.fr_institutpasteur_28821-150x150.jpg',
page_url: 'https://research.pasteur.fr/en/member/moshe-yaniv/',
x: x_site,
y: y_site,
size: 10,
color: '#dddddd'
});
//link to content
g.edges.push({
id: 885136957,
size: 0.5,
source: 88513,
target: 6957 });
// adding node
var x_node = Math.cos(2 * 13 * Math.PI / N) * 10;
var y_node = Math.sin(2 * 13 * Math.PI / N) * 10;
g.nodes.push({
id: 87952,
label: 'EVENT: “Regulation of PfEMP1-VAR2CSA translation by a translation-enhancing factor (PTEF)” :',
x: x_node,
y: y_node,
type: 'image',
url: '',
page_url: 'https://research.pasteur.fr/en/event/regulation-of-pfemp1-var2csa-translation-by-a-translation-enhancing-factor-ptef/',
size: 35,
color: '#DDDDDD'
});
//link content to central post
g.edges.push({
id: 480287952,
size: 0.5,
source: 4802,
target: 87952,
});
//check if content already exist
// update node size depending on the amount of edges
g.nodes.forEach(function(n) {
if (n.id == 4802) {
n.size = n.size + 8;
}
});
//link to content
g.edges.push({
id: 879524802,
size: 0.5,
source: 87952,
target: 4802 });
// adding node
var x_node = Math.cos(2 * 14 * Math.PI / N) * 10;
var y_node = Math.sin(2 * 14 * Math.PI / N) * 10;
g.nodes.push({
id: 67094,
label: 'EVENT: “Insights into the B cell and Tfh cell biology underlying the inefficient acquisition of humoral immunity to malaria”',
x: x_node,
y: y_node,
type: 'image',
url: '',
page_url: 'https://research.pasteur.fr/en/event/insights-into-the-b-cell-and-tfh-cell-biology-underlying-the-inefficient-acquisition-of-humoral-immunity-to-malaria/',
size: 35,
color: '#DDDDDD'
});
//link content to central post
g.edges.push({
id: 480267094,
size: 0.5,
source: 4802,
target: 67094,
});
//check if content already exist
// update node size depending on the amount of edges
g.nodes.forEach(function(n) {
if (n.id == 4802) {
n.size = n.size + 8;
}
});
//link to content
g.edges.push({
id: 670944802,
size: 0.5,
source: 67094,
target: 4802 });
// adding node
var x_node = Math.cos(2 * 15 * Math.PI / N) * 10;
var y_node = Math.sin(2 * 15 * Math.PI / N) * 10;
g.nodes.push({
id: 64615,
label: 'EVENT: “P.falciparum resistance to artemisinins: who cares?”',
x: x_node,
y: y_node,
type: 'image',
url: '',
page_url: 'https://research.pasteur.fr/en/event/p-falciparum-resistance-to-artemisinins-who-cares/',
size: 35,
color: '#DDDDDD'
});
//link content to central post
g.edges.push({
id: 480264615,
size: 0.5,
source: 4802,
target: 64615,
});
//check if content already exist
// update node size depending on the amount of edges
g.nodes.forEach(function(n) {
if (n.id == 4802) {
n.size = n.size + 8;
}
});
//link to content
g.edges.push({
id: 646154802,
size: 0.5,
source: 64615,
target: 4802 });
// adding node
var x_node = Math.cos(2 * 16 * Math.PI / N) * 10;
var y_node = Math.sin(2 * 16 * Math.PI / N) * 10;
g.nodes.push({
id: 60782,
label: 'EVENT: “Breadth of the humoral response and antigenic targets associated with protection following experimental Plasmodium falciparum sporozoite inoculation in humans”',
x: x_node,
y: y_node,
type: 'image',
url: '',
page_url: 'https://research.pasteur.fr/en/event/breadth-of-the-humoral-response-and-antigenic-targets-associated-with-protection-following-experimental-plasmodium-falciparum-sporozoite-inoculation-in-humans/',
size: 35,
color: '#DDDDDD'
});
//link content to central post
g.edges.push({
id: 480260782,
size: 0.5,
source: 4802,
target: 60782,
});
//check if content already exist
// update node size depending on the amount of edges
g.nodes.forEach(function(n) {
if (n.id == 4802) {
n.size = n.size + 8;
}
});
//link to content
g.edges.push({
id: 607824802,
size: 0.5,
source: 60782,
target: 4802 });
// adding node
var x_node = Math.cos(2 * 17 * Math.PI / N) * 10;
var y_node = Math.sin(2 * 17 * Math.PI / N) * 10;
g.nodes.push({
id: 27870,
label: 'PROJECT: Alkoxypyrazoles, inhibitors of dihydroorotate dehydrogenase (DHODH)',
x: x_node,
y: y_node,
type: 'image',
url: '',
page_url: 'https://research.pasteur.fr/en/project/alkoxypyrazoles-inhibitors-of-dihydroorotate-dehydrogenase-dhodh/',
size: 35,
color: '#DDDDDD'
});
//link content to central post
g.edges.push({
id: 480227870,
size: 0.5,
source: 4802,
target: 27870,
});
//check if content already exist
if (x_node<0){
x_site = x_node + ((Math.random() * 2)-1) - offset_left;
}else{
x_site = x_node + ((Math.random() * 2)-1) + offset_left;
}
if (y_node<0){
y_site = y_node + ((Math.random() * 2)-1) - offset_left;
}else{
y_site = y_node + ((Math.random() * 2)-1) + offset_left;
}
// adding site
g.nodes.push({
id: 4692,
label: 'Yves Janin',
type: 'image',
url: '',
page_url: 'https://research.pasteur.fr/en/?post_type=member&p=4692',
x: x_site,
y: y_site,
size: 10,
color: '#dddddd'
});
//link to content
g.edges.push({
id: 278704692,
size: 0.5,
source: 27870,
target: 4692 });
//check if content already exist
if (x_node<0){
x_site = x_node + ((Math.random() * 2)-1) - offset_left;
}else{
x_site = x_node + ((Math.random() * 2)-1) + offset_left;
}
if (y_node<0){
y_site = y_node + ((Math.random() * 2)-1) - offset_left;
}else{
y_site = y_node + ((Math.random() * 2)-1) + offset_left;
}
// adding site
g.nodes.push({
id: 4693,
label: 'Hélène Munier-Lehmann',
type: 'image',
url: 'https://research.pasteur.fr/wp-content/uploads/2015/09/research.pasteur.fr_photo-hml-recadre-150x150.jpg',
page_url: 'https://research.pasteur.fr/en/member/helene-munier-lehmann/',
x: x_site,
y: y_site,
size: 10,
color: '#dddddd'
});
//link to content
g.edges.push({
id: 278704693,
size: 0.5,
source: 27870,
target: 4693 });
//check if content already exist
if (x_node<0){
x_site = x_node + ((Math.random() * 2)-1) - offset_left;
}else{
x_site = x_node + ((Math.random() * 2)-1) + offset_left;
}
if (y_node<0){
y_site = y_node + ((Math.random() * 2)-1) - offset_left;
}else{
y_site = y_node + ((Math.random() * 2)-1) + offset_left;
}
// adding site
g.nodes.push({
id: 4895,
label: 'Marianne Lucas-Hourani',
type: 'image',
url: '',
page_url: 'https://research.pasteur.fr/en/?post_type=member&p=4895',
x: x_site,
y: y_site,
size: 10,
color: '#dddddd'
});
//link to content
g.edges.push({
id: 278704895,
size: 0.5,
source: 27870,
target: 4895 });
//check if content already exist
if (x_node<0){
x_site = x_node + ((Math.random() * 2)-1) - offset_left;
}else{
x_site = x_node + ((Math.random() * 2)-1) + offset_left;
}
if (y_node<0){
y_site = y_node + ((Math.random() * 2)-1) - offset_left;
}else{
y_site = y_node + ((Math.random() * 2)-1) + offset_left;
}
// adding site
g.nodes.push({
id: 4881,
label: 'Frédéric Tangy',
type: 'image',
url: 'https://research.pasteur.fr/wp-content/uploads/2015/07/research.pasteur.fr_fig11-150x150.jpeg',
page_url: 'https://research.pasteur.fr/en/member/frederic-tangy/',
x: x_site,
y: y_site,
size: 10,
color: '#dddddd'
});
//link to content
g.edges.push({
id: 278704881,
size: 0.5,
source: 27870,
target: 4881 });
//check if content already exist
if (x_node<0){
x_site = x_node + ((Math.random() * 2)-1) - offset_left;
}else{
x_site = x_node + ((Math.random() * 2)-1) + offset_left;
}
if (y_node<0){
y_site = y_node + ((Math.random() * 2)-1) - offset_left;
}else{
y_site = y_node + ((Math.random() * 2)-1) + offset_left;
}
// adding site
g.nodes.push({
id: 4807,
label: '',
type: 'image',
url: '',
page_url: '',
x: x_site,
y: y_site,
size: 10,
color: '#dddddd'
});
//link to content
g.edges.push({
id: 278704807,
size: 0.5,
source: 27870,
target: 4807 });
//check if content already exist
// update node size depending on the amount of edges
g.nodes.forEach(function(n) {
if (n.id == 4802) {
n.size = n.size + 8;
}
});
//link to content
g.edges.push({
id: 278704802,
size: 0.5,
source: 27870,
target: 4802 });
//check if content already exist
if (x_node<0){
x_site = x_node + ((Math.random() * 2)-1) - offset_left;
}else{
x_site = x_node + ((Math.random() * 2)-1) + offset_left;
}
if (y_node<0){
y_site = y_node + ((Math.random() * 2)-1) - offset_left;
}else{
y_site = y_node + ((Math.random() * 2)-1) + offset_left;
}
// adding site
g.nodes.push({
id: 30892,
label: '',
type: 'image',
url: '',
page_url: '',
x: x_site,
y: y_site,
size: 10,
color: '#dddddd'
});
//link to content
g.edges.push({
id: 2787030892,
size: 0.5,
source: 27870,
target: 30892 });
//check if content already exist
if (x_node<0){
x_site = x_node + ((Math.random() * 2)-1) - offset_left;
}else{
x_site = x_node + ((Math.random() * 2)-1) + offset_left;
}
if (y_node<0){
y_site = y_node + ((Math.random() * 2)-1) - offset_left;
}else{
y_site = y_node + ((Math.random() * 2)-1) + offset_left;
}
// adding site
g.nodes.push({
id: 30766,
label: '',
type: 'image',
url: '',
page_url: '',
x: x_site,
y: y_site,
size: 10,
color: '#dddddd'
});
//link to content
g.edges.push({
id: 2787030766,
size: 0.5,
source: 27870,
target: 30766 });
//check if content already exist
if (x_node<0){
x_site = x_node + ((Math.random() * 2)-1) - offset_left;
}else{
x_site = x_node + ((Math.random() * 2)-1) + offset_left;
}
if (y_node<0){
y_site = y_node + ((Math.random() * 2)-1) - offset_left;
}else{
y_site = y_node + ((Math.random() * 2)-1) + offset_left;
}
// adding site
g.nodes.push({
id: 4814,
label: '',
type: 'image',
url: '',
page_url: '',
x: x_site,
y: y_site,
size: 10,
color: '#dddddd'
});
//link to content
g.edges.push({
id: 278704814,
size: 0.5,
source: 27870,
target: 4814 });
//check if content already exist
if (x_node<0){
x_site = x_node + ((Math.random() * 2)-1) - offset_left;
}else{
x_site = x_node + ((Math.random() * 2)-1) + offset_left;
}
if (y_node<0){
y_site = y_node + ((Math.random() * 2)-1) - offset_left;
}else{
y_site = y_node + ((Math.random() * 2)-1) + offset_left;
}
// adding site
g.nodes.push({
id: 4698,
label: '',
type: 'image',
url: '',
page_url: '',
x: x_site,
y: y_site,
size: 10,
color: '#dddddd'
});
//link to content
g.edges.push({
id: 278704698,
size: 0.5,
source: 27870,
target: 4698 });
//check if content already exist
if (x_node<0){
x_site = x_node + ((Math.random() * 2)-1) - offset_left;
}else{
x_site = x_node + ((Math.random() * 2)-1) + offset_left;
}
if (y_node<0){
y_site = y_node + ((Math.random() * 2)-1) - offset_left;
}else{
y_site = y_node + ((Math.random() * 2)-1) + offset_left;
}
// adding site
g.nodes.push({
id: 8304,
label: 'Olivier Helynck',
type: 'image',
url: 'https://research.pasteur.fr/wp-content/uploads/2015/07/research.pasteur.fr_olivier.h1-150x150.jpg',
page_url: 'https://research.pasteur.fr/en/member/olivier-helynck/',
x: x_site,
y: y_site,
size: 10,
color: '#dddddd'
});
//link to content
g.edges.push({
id: 278708304,
size: 0.5,
source: 27870,
target: 8304 });
// adding node
var x_node = Math.cos(2 * 18 * Math.PI / N) * 10;
var y_node = Math.sin(2 * 18 * Math.PI / N) * 10;
g.nodes.push({
id: 20955,
label: 'PROJECT: P. berghei, a rodent malaria model to investigate host-parasite interactions central for malaria pathogenesis',
x: x_node,
y: y_node,
type: 'image',
url: '',
page_url: 'https://research.pasteur.fr/en/project/p-berghei-a-rodent-malaria-model-to-investigate-host-parasite-interactions-central-for-malaria-pathogenesis/',
size: 35,
color: '#DDDDDD'
});
//link content to central post
g.edges.push({
id: 480220955,
size: 0.5,
source: 4802,
target: 20955,
});
//check if content already exist
// update node size depending on the amount of edges
g.nodes.forEach(function(n) {
if (n.id == 4802) {
n.size = n.size + 8;
}
});
//link to content
g.edges.push({
id: 209554802,
size: 0.5,
source: 20955,
target: 4802 });
//check if content already exist
if (x_node<0){
x_site = x_node + ((Math.random() * 2)-1) - offset_left;
}else{
x_site = x_node + ((Math.random() * 2)-1) + offset_left;
}
if (y_node<0){
y_site = y_node + ((Math.random() * 2)-1) - offset_left;
}else{
y_site = y_node + ((Math.random() * 2)-1) + offset_left;
}
// adding site
g.nodes.push({
id: 4809,
label: 'Salah Mecheri',
type: 'image',
url: '',
page_url: 'https://research.pasteur.fr/en/?post_type=member&p=4809',
x: x_site,
y: y_site,
size: 10,
color: '#dddddd'
});
//link to content
g.edges.push({
id: 209554809,
size: 0.5,
source: 20955,
target: 4809 });
//check if content already exist
if (x_node<0){
x_site = x_node + ((Math.random() * 2)-1) - offset_left;
}else{
x_site = x_node + ((Math.random() * 2)-1) + offset_left;
}
if (y_node<0){
y_site = y_node + ((Math.random() * 2)-1) - offset_left;
}else{
y_site = y_node + ((Math.random() * 2)-1) + offset_left;
}
// adding site
g.nodes.push({
id: 4804,
label: 'Pascale Gueirard',
type: 'image',
url: '',
page_url: 'https://research.pasteur.fr/en/?post_type=member&p=4804',
x: x_site,
y: y_site,
size: 10,
color: '#dddddd'
});
//link to content
g.edges.push({
id: 209554804,
size: 0.5,
source: 20955,
target: 4804 });
//check if content already exist
if (x_node<0){
x_site = x_node + ((Math.random() * 2)-1) - offset_left;
}else{
x_site = x_node + ((Math.random() * 2)-1) + offset_left;
}
if (y_node<0){
y_site = y_node + ((Math.random() * 2)-1) - offset_left;
}else{
y_site = y_node + ((Math.random() * 2)-1) + offset_left;
}
// adding site
g.nodes.push({
id: 4812,
label: '',
type: 'image',
url: '',
page_url: '',
x: x_site,
y: y_site,
size: 10,
color: '#dddddd'
});
//link to content
g.edges.push({
id: 209554812,
size: 0.5,
source: 20955,
target: 4812 });
//check if content already exist
if (x_node<0){
x_site = x_node + ((Math.random() * 2)-1) - offset_left;
}else{
x_site = x_node + ((Math.random() * 2)-1) + offset_left;
}
if (y_node<0){
y_site = y_node + ((Math.random() * 2)-1) - offset_left;
}else{
y_site = y_node + ((Math.random() * 2)-1) + offset_left;
}
// adding site
g.nodes.push({
id: 8251,
label: 'Roger Peronet',
type: 'image',
url: '',
page_url: 'https://research.pasteur.fr/en/?post_type=member&p=8251',
x: x_site,
y: y_site,
size: 10,
color: '#dddddd'
});
//link to content
g.edges.push({
id: 209558251,
size: 0.5,
source: 20955,
target: 8251 });
// adding node
var x_node = Math.cos(2 * 19 * Math.PI / N) * 10;
var y_node = Math.sin(2 * 19 * Math.PI / N) * 10;
g.nodes.push({
id: 20950,
label: 'PROJECT: Identification of parasite co-factors that are critical for adhesion of P. falciparum–infected RBC',
x: x_node,
y: y_node,
type: 'image',
url: '',
page_url: 'https://research.pasteur.fr/en/project/identification-of-parasite-co-factors-that-are-critical-for-adhesion-of-p-falciparum-infected-rbc/',
size: 35,
color: '#DDDDDD'
});
//link content to central post
g.edges.push({
id: 480220950,
size: 0.5,
source: 4802,
target: 20950,
});
//check if content already exist
// update node size depending on the amount of edges
g.nodes.forEach(function(n) {
if (n.id == 4802) {
n.size = n.size + 8;
}
});
//link to content
g.edges.push({
id: 209504802,
size: 0.5,
source: 20950,
target: 4802 });
//check if content already exist
if (x_node<0){
x_site = x_node + ((Math.random() * 2)-1) - offset_left;
}else{
x_site = x_node + ((Math.random() * 2)-1) + offset_left;
}
if (y_node<0){
y_site = y_node + ((Math.random() * 2)-1) - offset_left;
}else{
y_site = y_node + ((Math.random() * 2)-1) + offset_left;
}
// adding site
g.nodes.push({
id: 4808,
label: 'Denise Mattei',
type: 'image',
url: 'https://research.pasteur.fr/wp-content/uploads/2015/07/research.pasteur.fr_denise-mattei-150x150.jpg',
page_url: 'https://research.pasteur.fr/en/member/denise-mattei/',
x: x_site,
y: y_site,
size: 10,
color: '#dddddd'
});
//link to content
g.edges.push({
id: 209504808,
size: 0.5,
source: 20950,
target: 4808 });
// adding node
var x_node = Math.cos(2 * 20 * Math.PI / N) * 10;
var y_node = Math.sin(2 * 20 * Math.PI / N) * 10;
g.nodes.push({
id: 20953,
label: 'PROJECT: Targeting epigenetic factors for new intervention strategies',
x: x_node,
y: y_node,
type: 'image',
url: '',
page_url: 'https://research.pasteur.fr/en/project/targeting-epigenetic-factors-for-new-intervention-strategies/',
size: 35,
color: '#DDDDDD'
});
//link content to central post
g.edges.push({
id: 480220953,
size: 0.5,
source: 4802,
target: 20953,
});
//check if content already exist
// update node size depending on the amount of edges
g.nodes.forEach(function(n) {
if (n.id == 4802) {
n.size = n.size + 8;
}
});
//link to content
g.edges.push({
id: 209534802,
size: 0.5,
source: 20953,
target: 4802 });
//check if content already exist
// update node size depending on the amount of edges
g.nodes.forEach(function(n) {
if (n.id == 4807) {
n.size = n.size + 8;
}
});
//link to content
g.edges.push({
id: 209534807,
size: 0.5,
source: 20953,
target: 4807 });
//check if content already exist
if (x_node<0){
x_site = x_node + ((Math.random() * 2)-1) - offset_left;
}else{
x_site = x_node + ((Math.random() * 2)-1) + offset_left;
}
if (y_node<0){
y_site = y_node + ((Math.random() * 2)-1) - offset_left;
}else{
y_site = y_node + ((Math.random() * 2)-1) + offset_left;
}
// adding site
g.nodes.push({
id: 8250,
label: 'Patty Chen',
type: 'image',
url: 'https://research.pasteur.fr/wp-content/uploads/2015/07/research.pasteur.fr_patty-chen-bis-150x150.jpg',
page_url: 'https://research.pasteur.fr/en/member/patty-chen/',
x: x_site,
y: y_site,
size: 10,
color: '#dddddd'
});
//link to content
g.edges.push({
id: 209538250,
size: 0.5,
source: 20953,
target: 8250 });
// adding node
var x_node = Math.cos(2 * 21 * Math.PI / N) * 10;
var y_node = Math.sin(2 * 21 * Math.PI / N) * 10;
g.nodes.push({
id: 20944,
label: 'PROJECT: Nuclear biology and the identification of novel chromatin factors linked to the control of virulence gene expression and genome variability',
x: x_node,
y: y_node,
type: 'image',
url: 'https://research.pasteur.fr/wp-content/uploads/2015/07/research.pasteur.fr_figura15-1-150x150.jpg',
page_url: 'https://research.pasteur.fr/en/project/nuclear-biology-and-the-identification-of-novel-chromatin-factors-linked-to-the-control-of-virulence-gene-expression-and-genome-variability/',
size: 35,
color: '#DDDDDD'
});
//link content to central post
g.edges.push({
id: 480220944,
size: 0.5,
source: 4802,
target: 20944,
});
//check if content already exist
// update node size depending on the amount of edges
g.nodes.forEach(function(n) {
if (n.id == 4802) {
n.size = n.size + 8;
}
});
//link to content
g.edges.push({
id: 209444802,
size: 0.5,
source: 20944,
target: 4802 });
// adding node
var x_node = Math.cos(2 * 22 * Math.PI / N) * 10;
var y_node = Math.sin(2 * 22 * Math.PI / N) * 10;
g.nodes.push({
id: 20940,
label: 'PROJECT: Molecular mechanism of antigenic variation of P. falciparum',
x: x_node,
y: y_node,
type: 'image',
url: '',
page_url: 'https://research.pasteur.fr/en/project/molecular-mechanism-of-antigenic-variation-of-p-falciparum/',
size: 35,
color: '#DDDDDD'
});
//link content to central post
g.edges.push({
id: 480220940,
size: 0.5,
source: 4802,
target: 20940,
});
//check if content already exist
// update node size depending on the amount of edges
g.nodes.forEach(function(n) {
if (n.id == 4802) {
n.size = n.size + 8;
}
});
//link to content
g.edges.push({
id: 209404802,
size: 0.5,
source: 20940,
target: 4802 });
// adding node
var x_node = Math.cos(2 * 23 * Math.PI / N) * 10;
var y_node = Math.sin(2 * 23 * Math.PI / N) * 10;
g.nodes.push({
id: 20085,
label: 'PROJECT: From basic research to new intervention strategies against malaria parasites',
x: x_node,
y: y_node,
type: 'image',
url: '',
page_url: 'https://research.pasteur.fr/en/project/biology-of-host-parasite-interactions__trashed/',
size: 35,
color: '#DDDDDD'
});
//link content to central post
g.edges.push({
id: 480220085,
size: 0.5,
source: 4802,
target: 20085,
});
//check if content already exist
// update node size depending on the amount of edges
g.nodes.forEach(function(n) {
if (n.id == 4802) {
n.size = n.size + 8;
}
});
//link to content
g.edges.push({
id: 200854802,
size: 0.5,
source: 20085,
target: 4802 });
// adding node
var x_node = Math.cos(2 * 24 * Math.PI / N) * 10;
var y_node = Math.sin(2 * 24 * Math.PI / N) * 10;
g.nodes.push({
id: 6206,
label: 'TEAM: Biology of Host-parasite Interactions',
x: x_node,
y: y_node,
type: 'image',
url: 'https://research.pasteur.fr/wp-content/uploads/2015/07/research.pasteur.fr_institutpasteur_39695-150x150.jpg',
page_url: 'https://research.pasteur.fr/en/team/biology-of-host-parasite-interactions/',
size: 35,
color: '#DDDDDD'
});
//link content to central post
g.edges.push({
id: 48026206,
size: 0.5,
source: 4802,
target: 6206,
});
//check if content already exist
if (x_node<0){
x_site = x_node + ((Math.random() * 2)-1) - offset_left;
}else{
x_site = x_node + ((Math.random() * 2)-1) + offset_left;
}
if (y_node<0){
y_site = y_node + ((Math.random() * 2)-1) - offset_left;
}else{
y_site = y_node + ((Math.random() * 2)-1) + offset_left;
}
// adding site
g.nodes.push({
id: 219591,
label: 'Reginald Akossi',
type: 'image',
url: 'https://research.pasteur.fr/wp-content/uploads/2024/02/research_pasteur-enreginald-akossifrreginald-akossi-research-pasteur-enreginald-akossifrreginald-akossi-photo-pinte-of-science-e1707208026716-150x150.jpg',
page_url: 'https://research.pasteur.fr/en/member/reginald-akossi/',
x: x_site,
y: y_site,
size: 10,
color: '#dddddd'
});
//link to content
g.edges.push({
id: 6206219591,
size: 0.5,
source: 6206,
target: 219591 });
//check if content already exist
if (x_node<0){
x_site = x_node + ((Math.random() * 2)-1) - offset_left;
}else{
x_site = x_node + ((Math.random() * 2)-1) + offset_left;
}
if (y_node<0){
y_site = y_node + ((Math.random() * 2)-1) - offset_left;
}else{
y_site = y_node + ((Math.random() * 2)-1) + offset_left;
}
// adding site
g.nodes.push({
id: 4759,
label: 'Catherine Bourgouin',
type: 'image',
url: '',
page_url: 'https://research.pasteur.fr/en/member/catherine-bourgouin/',
x: x_site,
y: y_site,
size: 10,
color: '#dddddd'
});
//link to content
g.edges.push({
id: 62064759,
size: 0.5,
source: 6206,
target: 4759 });
//check if content already exist
if (x_node<0){
x_site = x_node + ((Math.random() * 2)-1) - offset_left;
}else{
x_site = x_node + ((Math.random() * 2)-1) + offset_left;
}
if (y_node<0){
y_site = y_node + ((Math.random() * 2)-1) - offset_left;
}else{
y_site = y_node + ((Math.random() * 2)-1) + offset_left;
}
// adding site
g.nodes.push({
id: 4803,
label: 'Jessica Bryant',
type: 'image',
url: 'https://research.pasteur.fr/wp-content/uploads/2020/08/research_pasteur-117-0p9a0564-3-150x150.jpg',
page_url: 'https://research.pasteur.fr/en/member/jessica-bryant/',
x: x_site,
y: y_site,
size: 10,
color: '#dddddd'
});
//link to content
g.edges.push({
id: 62064803,
size: 0.5,
source: 6206,
target: 4803 });
//check if content already exist
if (x_node<0){
x_site = x_node + ((Math.random() * 2)-1) - offset_left;
}else{
x_site = x_node + ((Math.random() * 2)-1) + offset_left;
}
if (y_node<0){
y_site = y_node + ((Math.random() * 2)-1) - offset_left;
}else{
y_site = y_node + ((Math.random() * 2)-1) + offset_left;
}
// adding site
g.nodes.push({
id: 216653,
label: 'Maureen Mathilde Cabahug',
type: 'image',
url: 'https://research.pasteur.fr/wp-content/uploads/2024/01/research_pasteur-enmaureen-mathilde-cabahugfrmaureen-cabahug-processed-d5598692-4372-41d8-9895-2c9b82a3f836-150x150.jpeg',
page_url: 'https://research.pasteur.fr/en/member/maureen-cabahug/',
x: x_site,
y: y_site,
size: 10,
color: '#dddddd'
});
//link to content
g.edges.push({
id: 6206216653,
size: 0.5,
source: 6206,
target: 216653 });
//check if content already exist
// update node size depending on the amount of edges
g.nodes.forEach(function(n) {
if (n.id == 8250) {
n.size = n.size + 8;
}
});
//link to content
g.edges.push({
id: 62068250,
size: 0.5,
source: 6206,
target: 8250 });
//check if content already exist
if (x_node<0){
x_site = x_node + ((Math.random() * 2)-1) - offset_left;
}else{
x_site = x_node + ((Math.random() * 2)-1) + offset_left;
}
if (y_node<0){
y_site = y_node + ((Math.random() * 2)-1) - offset_left;
}else{
y_site = y_node + ((Math.random() * 2)-1) + offset_left;
}
// adding site
g.nodes.push({
id: 177442,
label: 'Jean Elie Cluzel',
type: 'image',
url: 'https://research.pasteur.fr/wp-content/uploads/2022/03/research_pasteur-processed-1fd023d4-5c1d-4662-9788-de2941b22a9e-cwcp98eb-150x150.jpeg',
page_url: 'https://research.pasteur.fr/en/member/jean-elie-cluzel/',
x: x_site,
y: y_site,
size: 10,
color: '#dddddd'
});
//link to content
g.edges.push({
id: 6206177442,
size: 0.5,
source: 6206,
target: 177442 });
//check if content already exist
if (x_node<0){
x_site = x_node + ((Math.random() * 2)-1) - offset_left;
}else{
x_site = x_node + ((Math.random() * 2)-1) + offset_left;
}
if (y_node<0){
y_site = y_node + ((Math.random() * 2)-1) - offset_left;
}else{
y_site = y_node + ((Math.random() * 2)-1) + offset_left;
}
// adding site
g.nodes.push({
id: 8216,
label: 'Anne Cozanet',
type: 'image',
url: 'https://research.pasteur.fr/wp-content/uploads/2017/07/research_pasteur-anne-july17-bis-1-1-150x150.jpg',
page_url: 'https://research.pasteur.fr/en/member/anne-cozanet/',
x: x_site,
y: y_site,
size: 10,
color: '#dddddd'
});
//link to content
g.edges.push({
id: 62068216,
size: 0.5,
source: 6206,
target: 8216 });
//check if content already exist
if (x_node<0){
x_site = x_node + ((Math.random() * 2)-1) - offset_left;
}else{
x_site = x_node + ((Math.random() * 2)-1) + offset_left;
}
if (y_node<0){
y_site = y_node + ((Math.random() * 2)-1) - offset_left;
}else{
y_site = y_node + ((Math.random() * 2)-1) + offset_left;
}
// adding site
g.nodes.push({
id: 124945,
label: 'Gretchen Diffendall',
type: 'image',
url: 'https://research.pasteur.fr/wp-content/uploads/2019/04/research_pasteur-24862473_10215215984174996_8181622776401523978_n-150x150.jpg',
page_url: 'https://research.pasteur.fr/en/member/gretchen-diffendall/',
x: x_site,
y: y_site,
size: 10,
color: '#dddddd'
});
//link to content
g.edges.push({
id: 6206124945,
size: 0.5,
source: 6206,
target: 124945 });
//check if content already exist
if (x_node<0){
x_site = x_node + ((Math.random() * 2)-1) - offset_left;
}else{
x_site = x_node + ((Math.random() * 2)-1) + offset_left;
}
if (y_node<0){
y_site = y_node + ((Math.random() * 2)-1) - offset_left;
}else{
y_site = y_node + ((Math.random() * 2)-1) + offset_left;
}
// adding site
g.nodes.push({
id: 217391,
label: 'Mathurin Fatou',
type: 'image',
url: '',
page_url: 'https://research.pasteur.fr/en/member/mathurin-fatou/',
x: x_site,
y: y_site,
size: 10,
color: '#dddddd'
});
//link to content
g.edges.push({
id: 6206217391,
size: 0.5,
source: 6206,
target: 217391 });
//check if content already exist
if (x_node<0){
x_site = x_node + ((Math.random() * 2)-1) - offset_left;
}else{
x_site = x_node + ((Math.random() * 2)-1) + offset_left;
}
if (y_node<0){
y_site = y_node + ((Math.random() * 2)-1) - offset_left;
}else{
y_site = y_node + ((Math.random() * 2)-1) + offset_left;
}
// adding site
g.nodes.push({
id: 216665,
label: 'Célia Peuziat',
type: 'image',
url: 'https://research.pasteur.fr/wp-content/uploads/2024/01/research_pasteur-encelia-peuziatfrcelia-peuziat-img-5381-150x150.jpg',
page_url: 'https://research.pasteur.fr/en/member/celia-peuziat/',
x: x_site,
y: y_site,
size: 10,
color: '#dddddd'
});
//link to content
g.edges.push({
id: 6206216665,
size: 0.5,
source: 6206,
target: 216665 });
//check if content already exist
if (x_node<0){
x_site = x_node + ((Math.random() * 2)-1) - offset_left;
}else{
x_site = x_node + ((Math.random() * 2)-1) + offset_left;
}
if (y_node<0){
y_site = y_node + ((Math.random() * 2)-1) - offset_left;
}else{
y_site = y_node + ((Math.random() * 2)-1) + offset_left;
}
// adding site
g.nodes.push({
id: 8356,
label: 'Nicolas Puchot',
type: 'image',
url: '',
page_url: 'https://research.pasteur.fr/en/member/nicolas-puchot/',
x: x_site,
y: y_site,
size: 10,
color: '#dddddd'
});
//link to content
g.edges.push({
id: 62068356,
size: 0.5,
source: 6206,
target: 8356 });
//check if content already exist
if (x_node<0){
x_site = x_node + ((Math.random() * 2)-1) - offset_left;
}else{
x_site = x_node + ((Math.random() * 2)-1) + offset_left;
}
if (y_node<0){
y_site = y_node + ((Math.random() * 2)-1) - offset_left;
}else{
y_site = y_node + ((Math.random() * 2)-1) + offset_left;
}
// adding site
g.nodes.push({
id: 177754,
label: 'Parul Singh',
type: 'image',
url: 'https://research.pasteur.fr/wp-content/uploads/2022/03/research_pasteur-parul-singh-img-1468-scaled-e1647601615846-150x150.jpg',
page_url: 'https://research.pasteur.fr/en/member/parul-singh/',
x: x_site,
y: y_site,
size: 10,
color: '#dddddd'
});
//link to content
g.edges.push({
id: 6206177754,
size: 0.5,
source: 6206,
target: 177754 });
//check if content already exist
// update node size depending on the amount of edges
g.nodes.forEach(function(n) {
if (n.id == 4802) {
n.size = n.size + 8;
}
});
//link to content
g.edges.push({
id: 62064802,
size: 0.5,
source: 6206,
target: 4802 });
var s = new sigma({
//container: document.getElementById('graph-main'),
graph: g,
renderer: {
// IMPORTANT:
// This works only with the canvas renderer, so the
// renderer type set as "canvas" is necessary here.
container: document.getElementById('graph-main'),
type: 'canvas'
},
settings: {
minNodeSize: 6,
maxNodeSize: 35,
mouseWheelEnabled: false,
font: 'Montserrat',
labelThreshold:25,
borderSize:1,
defaultNodeBorderColor: '#999',
sideMargin:25,
}
});
// We first need to save the original colors of our
// nodes and edges, like this:
s.graph.nodes().forEach(function(n) {
n.originalColor = n.color;
});
s.graph.edges().forEach(function(e) {
e.originalColor = e.color;
});
// When a node is clicked, we check for each node
// if it is a neighbor of the clicked one. If not,
// we set its color as grey, and else, it takes its
// original color.
// We do the same for the edges, and we only keep
// edges that have both extremities colored.
s.bind('clickNode', function(e) {
var nodeId = e.data.node.id,
toKeep = s.graph.neighbors(nodeId);
toKeep[nodeId] = e.data.node;
s.graph.nodes().forEach(function(n) {
if (toKeep[n.id])
n.color = '#35a9f5';
else
n.color = '#dddddd';
});
s.graph.edges().forEach(function(e) {
if (toKeep[e.source] && toKeep[e.target])
e.color = '#35a9f5';
else
e.color = '#dddddd';
});
// Since the data has been modified, we need to
// call the refresh method to make the colors
// update effective.
s.refresh();
});
// When the stage is clicked, we just color each
// node and edge with its original color.
s.bind('clickStage', function(e) {
s.graph.nodes().forEach(function(n) {
n.color = n.originalColor;
});
s.graph.edges().forEach(function(e) {
e.color = e.originalColor;
});
// Same as in the previous event:
s.refresh();
});
s.bind("doubleClickNode", function (e) {
$("#canvas-wrap, .sigma-scene, .sigma-mouse").val();
ajax_load_page( e.data.node.page_url );
});
var c = s.camera;
s.bind("rightClickStage", function (e) {
sigma.misc.animation.camera(c, {
ratio: c.ratio * c.settings('zoomingRatio')
}, {
duration: 200
});
});
// Configure the noverlap layout:
var noverlapListener = s.configNoverlap({
nodeMargin: 10,
scaleNodes: 0.3,
gridSize: 1,
easing: 'quadraticInOut', // animation transition function
duration: 4000 // animation duration. Long here for the purposes of this example only
});
// Bind the events:
noverlapListener.bind('start stop interpolate', function(e) {
//console.log(e.type);
if(e.type === 'start') {
//console.time('noverlap');
}
if(e.type === 'interpolate') {
//console.timeEnd('noverlap');
}
});
// Start the layout:
s.startNoverlap();
//s.refresh();
// Initialize the dragNodes plugin:
var dragListener = sigma.plugins.dragNodes(s, s.renderers[0]);
dragListener.bind('startdrag', function(event) {
});
dragListener.bind('drag', function(event) {
});
dragListener.bind('drop', function(event) {
});
dragListener.bind('dragend', function(event) {
});