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: 10381,
label: 'Institut Pasteur in Iran',
type: 'image',
url: 'https://research.pasteur.fr/wp-content/uploads/2015/05/iran-150x150.jpg',
x: 0,
y: 0,
size: 30,
color: '#DDDDDD'
});
N=2
var x_node = Math.cos(2 * 0 * Math.PI / N) * 2;
var y_node = Math.sin(2 * 0 * Math.PI / N) * 2;
var biggest_node_size = 0;
//check if content already exist
x_site = Math.cos(2 * 0 * Math.PI / N) * 2;
y_site = Math.sin(2 * 0 * Math.PI / N) * 2;
// adding site
g.nodes.push({
id: 119221,
label: 'Alireza Biglari',
type: 'image',
url: '',
page_url: 'https://research.pasteur.fr/en/riip_member/alireza-biglari/',
x: x_site,
y: y_site,
size: 20,
color: '#DDDDDD'
});
//link to content
g.edges.push({
id: 10381119221,
size: 0.5,
source: 10381,
target: 119221 });
//check if content already exist
x_site = Math.cos(2 * 1 * Math.PI / N) * 2;
y_site = Math.sin(2 * 1 * Math.PI / N) * 2;
// adding site
g.nodes.push({
id: 137906,
label: 'Delavar Shahbazzadeh',
type: 'image',
url: '',
page_url: 'https://research.pasteur.fr/en/riip_member/delavar-shahbazzadeh/',
x: x_site,
y: y_site,
size: 20,
color: '#DDDDDD'
});
//link to content
g.edges.push({
id: 10381137906,
size: 0.5,
source: 10381,
target: 137906 });
// update positions
x_node = Math.cos(2 * 0 * Math.PI / N) * 10;
y_node = Math.sin(2 * 0 * Math.PI / N) * 10;
N=9
// 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: 137890,
label: 'PROJECT: VenoMATIcs: Toward a Global Management of Venoms and Envenomations: the Pasteur network Translational Approach',
x: x_node,
y: y_node,
type: 'image',
url: 'https://research.pasteur.fr/wp-content/uploads/2020/01/research_pasteur-naja-haje2-150x150.jpg',
page_url: 'https://research.pasteur.fr/en/project/venamatics-toward-a-global-management-of-venoms-and-envenomations-the-pasteur-network-translational-approach/',
size: 35,
color: '#DDDDDD'
});
//link content to central post
g.edges.push({
id: 10381137890,
size: 0.5,
source: 10381,
target: 137890 });
//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: 749,
label: 'Pierre Lafaye',
type: 'image',
url: 'https://research.pasteur.fr/wp-content/uploads/2015/01/Lafaye-150x150.jpg',
page_url: 'https://research.pasteur.fr/en/member/pierre-lafaye/',
x: x_site,
y: y_site,
size: 15,
color: '#DDDDDD'
});
//link to content
g.edges.push({
id: 137890749,
size: 0.5,
source: 137890,
target: 749 });
//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: 99324,
label: 'Gabriel Aymé',
type: 'image',
url: 'https://research.pasteur.fr/wp-content/uploads/2018/03/research_pasteur-iphone-006-1-150x150.jpg',
page_url: 'https://research.pasteur.fr/en/member/gabriel-ayme/',
x: x_site,
y: y_site,
size: 15,
color: '#DDDDDD'
});
//link to content
g.edges.push({
id: 13789099324,
size: 0.5,
source: 137890,
target: 99324 });
//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: 137900,
label: 'Balkiss Bouhaouala',
type: 'image',
url: '',
page_url: 'https://research.pasteur.fr/en/riip_member/balkiss-bouhaouala/',
x: x_site,
y: y_site,
size: 15,
color: '#DDDDDD'
});
//link to content
g.edges.push({
id: 137890137900,
size: 0.5,
source: 137890,
target: 137900 });
//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: 137893,
label: 'Djilani',
type: 'image',
url: '',
page_url: 'https://research.pasteur.fr/en/riip_member/bouhaouala/',
x: x_site,
y: y_site,
size: 15,
color: '#DDDDDD'
});
//link to content
g.edges.push({
id: 137890137893,
size: 0.5,
source: 137890,
target: 137893 });
//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: 137904,
label: 'Naoual Oukkache',
type: 'image',
url: '',
page_url: 'https://research.pasteur.fr/en/riip_member/naoual-oukkache-2/',
x: x_site,
y: y_site,
size: 15,
color: '#DDDDDD'
});
//link to content
g.edges.push({
id: 137890137904,
size: 0.5,
source: 137890,
target: 137904 });
//check if content already exist
// update node size depending on the amount of edges
g.nodes.forEach(function(n) {
if (n.id == 137906) {
n.size = n.size + 10;
if ( n.size > biggest_node_size ){
biggest_node_size = n.size;
}
}
});
g.nodes.forEach(function(n) {
if (n.id == 10381) {
if ( n.size < biggest_node_size ){
n.size = biggest_node_size;
}
}
});
//link to content
g.edges.push({
id: 137890137906,
size: 0.5,
source: 137890,
target: 137906 });
//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: 54025,
label: 'Laurent Reber',
type: 'image',
url: 'https://research.pasteur.fr/wp-content/uploads/2015/10/research.pasteur.fr_photo-laurent-150x150.jpg',
page_url: 'https://research.pasteur.fr/en/member/laurent-reber/',
x: x_site,
y: y_site,
size: 15,
color: '#DDDDDD'
});
//link to content
g.edges.push({
id: 13789054025,
size: 0.5,
source: 137890,
target: 54025 });
//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: 8541,
label: 'Fabien Taieb',
type: 'image',
url: 'https://research.pasteur.fr/wp-content/uploads/2015/07/research.pasteur.fr_taieb-150x150.jpg',
page_url: 'https://research.pasteur.fr/en/member/fabien-taieb/',
x: x_site,
y: y_site,
size: 15,
color: '#DDDDDD'
});
//link to content
g.edges.push({
id: 1378908541,
size: 0.5,
source: 137890,
target: 8541 });
//check if content already exist
// update node size depending on the amount of edges
g.nodes.forEach(function(n) {
if (n.id == 10381) {
n.size = n.size + 10;
if ( n.size > biggest_node_size ){
biggest_node_size = n.size;
}
}
});
g.nodes.forEach(function(n) {
if (n.id == 10381) {
if ( n.size < biggest_node_size ){
n.size = biggest_node_size;
}
}
});
//link to content
g.edges.push({
id: 13789010381,
size: 0.5,
source: 137890,
target: 10381 });
//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: 10380,
label: 'Institut Pasteur d’Algérie',
type: 'image',
url: 'https://research.pasteur.fr/wp-content/uploads/2015/05/20120420100411_1451_pasteur-alger_guide_image_congres_medical-150x150.jpg',
page_url: 'https://research.pasteur.fr/en/network/institut-pasteur-in-algeria/',
x: x_site,
y: y_site,
size: 15,
color: '#DDDDDD'
});
//link to content
g.edges.push({
id: 13789010380,
size: 0.5,
source: 137890,
target: 10380 });
//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: 10396,
label: 'Institut Pasteur de Tunis',
type: 'image',
url: 'https://research.pasteur.fr/wp-content/uploads/2015/09/research.pasteur.fr_institut-pasteur-de-tunis-150x150.jpg',
page_url: 'https://research.pasteur.fr/en/network/institut-pasteur-in-tunis/',
x: x_site,
y: y_site,
size: 15,
color: '#DDDDDD'
});
//link to content
g.edges.push({
id: 13789010396,
size: 0.5,
source: 137890,
target: 10396 });
//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: 10392,
label: 'Institut Pasteur du Maroc',
type: 'image',
url: 'https://research.pasteur.fr/wp-content/uploads/2015/05/institut_pasteur_maroc-150x150.jpg',
page_url: 'https://research.pasteur.fr/en/network/institut-pasteur-in-morocco/',
x: x_site,
y: y_site,
size: 15,
color: '#DDDDDD'
});
//link to content
g.edges.push({
id: 13789010392,
size: 0.5,
source: 137890,
target: 10392 });
// 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: 129695,
label: 'NEWS: Mid-term MATI project Algiers 8-9 July 2019',
x: x_node,
y: y_node,
type: 'image',
url: 'https://research.pasteur.fr/wp-content/uploads/2019/07/research_pasteur-devoilee-5242-002-150x150.jpg',
page_url: 'https://research.pasteur.fr/en/news/mid-term-mati-project-algiers-8-9-july-2019/',
size: 35,
color: '#DDDDDD'
});
//link content to central post
g.edges.push({
id: 10381129695,
size: 0.5,
source: 10381,
target: 129695 });
//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: 4255,
label: 'Anna-Bella Failloux',
type: 'image',
url: 'https://research.pasteur.fr/wp-content/uploads/2015/12/research.pasteur.fr_ab-failloux3-150x150.jpg',
page_url: 'https://research.pasteur.fr/en/member/anna-bella-failloux/',
x: x_site,
y: y_site,
size: 15,
color: '#DDDDDD'
});
//link to content
g.edges.push({
id: 1296954255,
size: 0.5,
source: 129695,
target: 4255 });
//check if content already exist
// update node size depending on the amount of edges
g.nodes.forEach(function(n) {
if (n.id == 10381) {
n.size = n.size + 10;
if ( n.size > biggest_node_size ){
biggest_node_size = n.size;
}
}
});
g.nodes.forEach(function(n) {
if (n.id == 10381) {
if ( n.size < biggest_node_size ){
n.size = biggest_node_size;
}
}
});
//link to content
g.edges.push({
id: 12969510381,
size: 0.5,
source: 129695,
target: 10381 });
//check if content already exist
// update node size depending on the amount of edges
g.nodes.forEach(function(n) {
if (n.id == 10396) {
n.size = n.size + 10;
if ( n.size > biggest_node_size ){
biggest_node_size = n.size;
}
}
});
g.nodes.forEach(function(n) {
if (n.id == 10381) {
if ( n.size < biggest_node_size ){
n.size = biggest_node_size;
}
}
});
//link to content
g.edges.push({
id: 12969510396,
size: 0.5,
source: 129695,
target: 10396 });
//check if content already exist
// update node size depending on the amount of edges
g.nodes.forEach(function(n) {
if (n.id == 10392) {
n.size = n.size + 10;
if ( n.size > biggest_node_size ){
biggest_node_size = n.size;
}
}
});
g.nodes.forEach(function(n) {
if (n.id == 10381) {
if ( n.size < biggest_node_size ){
n.size = biggest_node_size;
}
}
});
//link to content
g.edges.push({
id: 12969510392,
size: 0.5,
source: 129695,
target: 10392 });
//check if content already exist
// update node size depending on the amount of edges
g.nodes.forEach(function(n) {
if (n.id == 10380) {
n.size = n.size + 10;
if ( n.size > biggest_node_size ){
biggest_node_size = n.size;
}
}
});
g.nodes.forEach(function(n) {
if (n.id == 10381) {
if ( n.size < biggest_node_size ){
n.size = biggest_node_size;
}
}
});
//link to content
g.edges.push({
id: 12969510380,
size: 0.5,
source: 129695,
target: 10380 });
// 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: 129666,
label: 'PROJECT: Genomic insights into the 2016-2017 cholera epidemic in Yemen',
x: x_node,
y: y_node,
type: 'image',
url: 'https://research.pasteur.fr/wp-content/uploads/2019/07/research_pasteur-figure2_weill_yemen_revision2-150x150.jpg',
page_url: 'https://research.pasteur.fr/en/project/genomic-insights-into-the-2016-2017-cholera-epidemic-in-yemen/',
size: 35,
color: '#DDDDDD'
});
//link content to central post
g.edges.push({
id: 10381129666,
size: 0.5,
source: 10381,
target: 129666 });
//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: 4713,
label: 'Elisabeth Njamkepo Nguemkam',
type: 'image',
url: 'https://research.pasteur.fr/wp-content/uploads/2015/11/research.pasteur.fr_photo-elisabeth-2-150x150.jpg',
page_url: 'https://research.pasteur.fr/en/member/elisabeth-njamkepo-nguemkam/',
x: x_site,
y: y_site,
size: 15,
color: '#DDDDDD'
});
//link to content
g.edges.push({
id: 1296664713,
size: 0.5,
source: 129666,
target: 4713 });
//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: 8532,
label: 'Jean Rauzier',
type: 'image',
url: 'https://research.pasteur.fr/wp-content/uploads/2015/11/research.pasteur.fr_photo-jean-final-150x150.jpg',
page_url: 'https://research.pasteur.fr/en/member/jean-rauzier/',
x: x_site,
y: y_site,
size: 15,
color: '#DDDDDD'
});
//link to content
g.edges.push({
id: 1296668532,
size: 0.5,
source: 129666,
target: 8532 });
//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: 1633,
label: 'Christiane Bouchier',
type: 'image',
url: '',
page_url: 'https://research.pasteur.fr/en/member/christiane-bouchier/',
x: x_site,
y: y_site,
size: 15,
color: '#DDDDDD'
});
//link to content
g.edges.push({
id: 1296661633,
size: 0.5,
source: 129666,
target: 1633 });
//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: 4612,
label: 'Thérèse Malliavin',
type: 'image',
url: 'https://research.pasteur.fr/wp-content/uploads/2015/09/research.pasteur.fr_3ccf6f5-150x150.jpg',
page_url: 'https://research.pasteur.fr/en/member/therese-malliavin/',
x: x_site,
y: y_site,
size: 15,
color: '#DDDDDD'
});
//link to content
g.edges.push({
id: 1296664612,
size: 0.5,
source: 129666,
target: 4612 });
//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: 4708,
label: 'Francois-Xavier Weill',
type: 'image',
url: 'https://research.pasteur.fr/wp-content/uploads/2018/09/research_pasteur-weill-francois-xavier-34recadre-150x150.jpg',
page_url: 'https://research.pasteur.fr/en/member/francois-xavier-weill/',
x: x_site,
y: y_site,
size: 15,
color: '#DDDDDD'
});
//link to content
g.edges.push({
id: 1296664708,
size: 0.5,
source: 129666,
target: 4708 });
//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: 4706,
label: 'Marie-Laure Quilici',
type: 'image',
url: 'https://research.pasteur.fr/wp-content/uploads/2015/12/research.pasteur.fr_photo-mlq-150x150.png',
page_url: 'https://research.pasteur.fr/en/member/marie-laure-quilici/',
x: x_site,
y: y_site,
size: 15,
color: '#DDDDDD'
});
//link to content
g.edges.push({
id: 1296664706,
size: 0.5,
source: 129666,
target: 4706 });
//check if content already exist
// update node size depending on the amount of edges
g.nodes.forEach(function(n) {
if (n.id == 10381) {
n.size = n.size + 10;
if ( n.size > biggest_node_size ){
biggest_node_size = n.size;
}
}
});
g.nodes.forEach(function(n) {
if (n.id == 10381) {
if ( n.size < biggest_node_size ){
n.size = biggest_node_size;
}
}
});
//link to content
g.edges.push({
id: 12966610381,
size: 0.5,
source: 129666,
target: 10381 });
// 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: 120351,
label: 'PROJECT: H2020-MSA-RISE-2017: LeiSHield-MATI consortium',
x: x_node,
y: y_node,
type: 'image',
url: 'https://research.pasteur.fr/wp-content/uploads/2019/02/research_pasteur-featured-leishield-mati-150x150.jpg',
page_url: 'https://research.pasteur.fr/en/project/h2020-msa-rise-2017leishield-mati-consortium/',
size: 35,
color: '#DDDDDD'
});
//link content to central post
g.edges.push({
id: 10381120351,
size: 0.5,
source: 10381,
target: 120351 });
//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: 4849,
label: 'Pascale Pescher',
type: 'image',
url: 'https://research.pasteur.fr/wp-content/uploads/2019/02/research_pasteur-pescher-pascale-12_crop-150x150.png',
page_url: 'https://research.pasteur.fr/en/member/pascale-pescher/',
x: x_site,
y: y_site,
size: 15,
color: '#DDDDDD'
});
//link to content
g.edges.push({
id: 1203514849,
size: 0.5,
source: 120351,
target: 4849 });
//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: 63331,
label: 'Giovanni Bussotti',
type: 'image',
url: 'https://research.pasteur.fr/wp-content/uploads/2016/05/research.pasteur.fr_pic-150x150.jpg',
page_url: 'https://research.pasteur.fr/en/member/giovanni-bussotti/',
x: x_site,
y: y_site,
size: 15,
color: '#DDDDDD'
});
//link to content
g.edges.push({
id: 12035163331,
size: 0.5,
source: 120351,
target: 63331 });
//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: 8440,
label: 'Laura Piel',
type: 'image',
url: 'https://research.pasteur.fr/wp-content/uploads/2017/05/research_pasteur-laura_photot-150x150.jpg',
page_url: 'https://research.pasteur.fr/en/member/laura-piel/',
x: x_site,
y: y_site,
size: 15,
color: '#DDDDDD'
});
//link to content
g.edges.push({
id: 1203518440,
size: 0.5,
source: 120351,
target: 8440 });
//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/2019/01/research_pasteur-spaeth-gerald-us-visa-format-numerique-900x900-px-3-150x150.jpg',
page_url: 'https://research.pasteur.fr/en/member/gerald-spaeth/',
x: x_site,
y: y_site,
size: 15,
color: '#DDDDDD'
});
//link to content
g.edges.push({
id: 1203514848,
size: 0.5,
source: 120351,
target: 4848 });
//check if content already exist
// update node size depending on the amount of edges
g.nodes.forEach(function(n) {
if (n.id == 10380) {
n.size = n.size + 10;
if ( n.size > biggest_node_size ){
biggest_node_size = n.size;
}
}
});
g.nodes.forEach(function(n) {
if (n.id == 10381) {
if ( n.size < biggest_node_size ){
n.size = biggest_node_size;
}
}
});
//link to content
g.edges.push({
id: 12035110380,
size: 0.5,
source: 120351,
target: 10380 });
//check if content already exist
// update node size depending on the amount of edges
g.nodes.forEach(function(n) {
if (n.id == 10392) {
n.size = n.size + 10;
if ( n.size > biggest_node_size ){
biggest_node_size = n.size;
}
}
});
g.nodes.forEach(function(n) {
if (n.id == 10381) {
if ( n.size < biggest_node_size ){
n.size = biggest_node_size;
}
}
});
//link to content
g.edges.push({
id: 12035110392,
size: 0.5,
source: 120351,
target: 10392 });
//check if content already exist
// update node size depending on the amount of edges
g.nodes.forEach(function(n) {
if (n.id == 10381) {
n.size = n.size + 10;
if ( n.size > biggest_node_size ){
biggest_node_size = n.size;
}
}
});
g.nodes.forEach(function(n) {
if (n.id == 10381) {
if ( n.size < biggest_node_size ){
n.size = biggest_node_size;
}
}
});
//link to content
g.edges.push({
id: 12035110381,
size: 0.5,
source: 120351,
target: 10381 });
//check if content already exist
// update node size depending on the amount of edges
g.nodes.forEach(function(n) {
if (n.id == 10396) {
n.size = n.size + 10;
if ( n.size > biggest_node_size ){
biggest_node_size = n.size;
}
}
});
g.nodes.forEach(function(n) {
if (n.id == 10381) {
if ( n.size < biggest_node_size ){
n.size = biggest_node_size;
}
}
});
//link to content
g.edges.push({
id: 12035110396,
size: 0.5,
source: 120351,
target: 10396 });
// 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: 80943,
label: 'PROGRAM_PROJECT: Fighting Antibiotic Resistance',
x: x_node,
y: y_node,
type: 'image',
url: '',
page_url: 'https://research.pasteur.fr/en/program_project/fighting-antibiotic-resistance/',
size: 35,
color: '#DDDDDD'
});
//link content to central post
g.edges.push({
id: 1038180943,
size: 0.5,
source: 10381,
target: 80943 });
// 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: 74796,
label: 'PROGRAM_PROJECT: Outbreak Investigation Task Force',
x: x_node,
y: y_node,
type: 'image',
url: '',
page_url: 'https://research.pasteur.fr/en/program_project/outbreak-investigation-taskforce/',
size: 35,
color: '#DDDDDD'
});
//link content to central post
g.edges.push({
id: 1038174796,
size: 0.5,
source: 10381,
target: 74796 });
// 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: 64510,
label: 'PROJECT: Emergency response to global threats of emerging and re-emerging pathogens',
x: x_node,
y: y_node,
type: 'image',
url: 'https://research.pasteur.fr/wp-content/uploads/2016/02/research.pasteur.fr_img_4640-150x150.jpg',
page_url: 'https://research.pasteur.fr/en/project/emergency-response-to-global-threats-of-emerging-and-re-emerging-pathogens/',
size: 35,
color: '#DDDDDD'
});
//link content to central post
g.edges.push({
id: 1038164510,
size: 0.5,
source: 10381,
target: 64510 });
//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: 7142,
label: 'Christian Bréchot',
type: 'image',
url: 'https://research.pasteur.fr/wp-content/uploads/2015/05/0305_CB-150x150.png',
page_url: 'https://research.pasteur.fr/en/member/christian-brechot/',
x: x_site,
y: y_site,
size: 15,
color: '#DDDDDD'
});
//link to content
g.edges.push({
id: 645107142,
size: 0.5,
source: 64510,
target: 7142 });
//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: 4028,
label: 'Simon Cauchemez',
type: 'image',
url: 'https://research.pasteur.fr/wp-content/uploads/2015/07/research.pasteur.fr_fig45-150x150.jpg',
page_url: 'https://research.pasteur.fr/en/member/simon-cauchemez/',
x: x_site,
y: y_site,
size: 15,
color: '#DDDDDD'
});
//link to content
g.edges.push({
id: 645104028,
size: 0.5,
source: 64510,
target: 4028 });
//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: 2624,
label: 'Arnaud Fontanet',
type: 'image',
url: 'https://research.pasteur.fr/wp-content/uploads/2015/07/research.pasteur.fr_arnaud-150x150.jpg',
page_url: 'https://research.pasteur.fr/en/member/arnaud-fontanet/',
x: x_site,
y: y_site,
size: 15,
color: '#DDDDDD'
});
//link to content
g.edges.push({
id: 645102624,
size: 0.5,
source: 64510,
target: 2624 });
//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: 7170,
label: 'Marc Jouan',
type: 'image',
url: '',
page_url: 'https://research.pasteur.fr/en/member/marc-jouan/',
x: x_site,
y: y_site,
size: 15,
color: '#DDDDDD'
});
//link to content
g.edges.push({
id: 645107170,
size: 0.5,
source: 64510,
target: 7170 });
//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: 4508,
label: 'Jean-Claude Manuguerra',
type: 'image',
url: 'https://research.pasteur.fr/wp-content/uploads/2015/07/research.pasteur.fr_fig43-150x150.jpg',
page_url: 'https://research.pasteur.fr/en/member/jean-claude-manuguerra/',
x: x_site,
y: y_site,
size: 15,
color: '#DDDDDD'
});
//link to content
g.edges.push({
id: 645104508,
size: 0.5,
source: 64510,
target: 4508 });
//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: 11348,
label: 'Malik Peiris',
type: 'image',
url: 'https://research.pasteur.fr/wp-content/uploads/2015/05/Malik-Peiris-150x150.jpg',
page_url: 'https://research.pasteur.fr/en/riip_member/malik-peiris/',
x: x_site,
y: y_site,
size: 15,
color: '#DDDDDD'
});
//link to content
g.edges.push({
id: 6451011348,
size: 0.5,
source: 64510,
target: 11348 });
//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: 4724,
label: 'Félix A. Rey',
type: 'image',
url: 'https://research.pasteur.fr/wp-content/uploads/2015/05/research_pasteur-enfelix-a-reyfrfelix-rey-portrait-felixrey-1-150x150.jpeg',
page_url: 'https://research.pasteur.fr/en/member/felix-rey/',
x: x_site,
y: y_site,
size: 15,
color: '#DDDDDD'
});
//link to content
g.edges.push({
id: 645104724,
size: 0.5,
source: 64510,
target: 4724 });
//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: 15,
color: '#DDDDDD'
});
//link to content
g.edges.push({
id: 645104881,
size: 0.5,
source: 64510,
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: 4268,
label: 'Maria Van Kerkhove',
type: 'image',
url: 'https://research.pasteur.fr/wp-content/uploads/2015/07/research.pasteur.fr_mvk-150x150.jpg',
page_url: 'https://research.pasteur.fr/en/member/maria-van-kerkhove/',
x: x_site,
y: y_site,
size: 15,
color: '#DDDDDD'
});
//link to content
g.edges.push({
id: 645104268,
size: 0.5,
source: 64510,
target: 4268 });
//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: 3928,
label: 'Fernando Arenzana-Seisdedos',
type: 'image',
url: 'https://research.pasteur.fr/wp-content/uploads/2015/07/research.pasteur.fr_fig60-150x150.jpg',
page_url: 'https://research.pasteur.fr/en/member/fernando-arenzana-seisdedos/',
x: x_site,
y: y_site,
size: 15,
color: '#DDDDDD'
});
//link to content
g.edges.push({
id: 645103928,
size: 0.5,
source: 64510,
target: 3928 });
//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: 11275,
label: 'Myrielle Dupont-rouzeyrol',
type: 'image',
url: '',
page_url: 'https://research.pasteur.fr/en/riip_member/myrielle-dupont-rouzeyrol/',
x: x_site,
y: y_site,
size: 15,
color: '#DDDDDD'
});
//link to content
g.edges.push({
id: 6451011275,
size: 0.5,
source: 64510,
target: 11275 });
//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: 11267,
label: 'Mirdad Kazanji',
type: 'image',
url: 'https://research.pasteur.fr/wp-content/uploads/2015/05/25eb936-150x150.jpg',
page_url: 'https://research.pasteur.fr/en/riip_member/mirdad-kazanji/',
x: x_site,
y: y_site,
size: 15,
color: '#DDDDDD'
});
//link to content
g.edges.push({
id: 6451011267,
size: 0.5,
source: 64510,
target: 11267 });
//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: 10378,
label: 'Hong Kong University-Pasteur Research Pole',
type: 'image',
url: 'https://research.pasteur.fr/wp-content/uploads/2015/05/hku-150x150.jpg',
page_url: 'https://research.pasteur.fr/en/network/hong-kong-university-pasteur-research-centre/',
x: x_site,
y: y_site,
size: 15,
color: '#DDDDDD'
});
//link to content
g.edges.push({
id: 6451010378,
size: 0.5,
source: 64510,
target: 10378 });
//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: 10372,
label: 'Institut Pasteur',
type: 'image',
url: 'https://research.pasteur.fr/wp-content/uploads/2015/09/research.pasteur.fr_institutpasteur_i00845-150x150.jpg',
page_url: 'https://research.pasteur.fr/en/network/institut-pasteur-paris-france/',
x: x_site,
y: y_site,
size: 15,
color: '#DDDDDD'
});
//link to content
g.edges.push({
id: 6451010372,
size: 0.5,
source: 64510,
target: 10372 });
//check if content already exist
// update node size depending on the amount of edges
g.nodes.forEach(function(n) {
if (n.id == 10380) {
n.size = n.size + 10;
if ( n.size > biggest_node_size ){
biggest_node_size = n.size;
}
}
});
g.nodes.forEach(function(n) {
if (n.id == 10381) {
if ( n.size < biggest_node_size ){
n.size = biggest_node_size;
}
}
});
//link to content
g.edges.push({
id: 6451010380,
size: 0.5,
source: 64510,
target: 10380 });
//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: 10383,
label: 'Institut Pasteur du Cambodge',
type: 'image',
url: 'https://research.pasteur.fr/wp-content/uploads/2015/05/institut-pasteur-du-cambodge-panoramic-150x150.jpg',
page_url: 'https://research.pasteur.fr/en/network/institut-pasteur-in-cambodia/',
x: x_site,
y: y_site,
size: 15,
color: '#DDDDDD'
});
//link to content
g.edges.push({
id: 6451010383,
size: 0.5,
source: 64510,
target: 10383 });
//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: 10373,
label: 'Institut Pasteur de Dakar',
type: 'image',
url: 'https://research.pasteur.fr/wp-content/uploads/2015/05/82041945_o-150x150.jpg',
page_url: 'https://research.pasteur.fr/en/network/institut-pasteur-dakar-senegal/',
x: x_site,
y: y_site,
size: 15,
color: '#DDDDDD'
});
//link to content
g.edges.push({
id: 6451010373,
size: 0.5,
source: 64510,
target: 10373 });
//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: 10385,
label: 'Institut Pasteur de la Guyane',
type: 'image',
url: 'https://research.pasteur.fr/wp-content/uploads/2015/05/PF-gallery28-150x150.jpg',
page_url: 'https://research.pasteur.fr/en/network/institut-pasteur-in-french-guiana/',
x: x_site,
y: y_site,
size: 15,
color: '#DDDDDD'
});
//link to content
g.edges.push({
id: 6451010385,
size: 0.5,
source: 64510,
target: 10385 });
//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: 10386,
label: 'Institut Pasteur de la Guadeloupe',
type: 'image',
url: 'https://research.pasteur.fr/wp-content/uploads/2015/05/panorama_small-150x150.jpg',
page_url: 'https://research.pasteur.fr/en/network/institut-pasteur-guadeloupe/',
x: x_site,
y: y_site,
size: 15,
color: '#DDDDDD'
});
//link to content
g.edges.push({
id: 6451010386,
size: 0.5,
source: 64510,
target: 10386 });
//check if content already exist
// update node size depending on the amount of edges
g.nodes.forEach(function(n) {
if (n.id == 10381) {
n.size = n.size + 10;
if ( n.size > biggest_node_size ){
biggest_node_size = n.size;
}
}
});
g.nodes.forEach(function(n) {
if (n.id == 10381) {
if ( n.size < biggest_node_size ){
n.size = biggest_node_size;
}
}
});
//link to content
g.edges.push({
id: 6451010381,
size: 0.5,
source: 64510,
target: 10381 });
//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: 10390,
label: 'Institut Pasteur de Madagascar',
type: 'image',
url: 'https://research.pasteur.fr/wp-content/uploads/2015/05/Le-batiment-Monod-150x150.jpg',
page_url: 'https://research.pasteur.fr/en/network/institut-pasteur-in-madagascar/',
x: x_site,
y: y_site,
size: 15,
color: '#DDDDDD'
});
//link to content
g.edges.push({
id: 6451010390,
size: 0.5,
source: 64510,
target: 10390 });
//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: 10394,
label: 'Institut Pasteur de Nouvelle-Calédonie',
type: 'image',
url: 'https://research.pasteur.fr/wp-content/uploads/2015/05/nouvelle_caledonie-150x150.jpg',
page_url: 'https://research.pasteur.fr/en/network/institut-pasteur-new-caledonia/',
x: x_site,
y: y_site,
size: 15,
color: '#DDDDDD'
});
//link to content
g.edges.push({
id: 6451010394,
size: 0.5,
source: 64510,
target: 10394 });
//check if content already exist
// update node size depending on the amount of edges
g.nodes.forEach(function(n) {
if (n.id == 10392) {
n.size = n.size + 10;
if ( n.size > biggest_node_size ){
biggest_node_size = n.size;
}
}
});
g.nodes.forEach(function(n) {
if (n.id == 10381) {
if ( n.size < biggest_node_size ){
n.size = biggest_node_size;
}
}
});
//link to content
g.edges.push({
id: 6451010392,
size: 0.5,
source: 64510,
target: 10392 });
//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: 10397,
label: 'Institut Pasteur Korea',
type: 'image',
url: 'https://research.pasteur.fr/wp-content/uploads/2015/05/PF-gallery10-150x150.jpg',
page_url: 'https://research.pasteur.fr/en/network/institut-pasteur-korea/',
x: x_site,
y: y_site,
size: 15,
color: '#DDDDDD'
});
//link to content
g.edges.push({
id: 6451010397,
size: 0.5,
source: 64510,
target: 10397 });
//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: 10376,
label: 'Oswaldo Cruz Foundation',
type: 'image',
url: 'https://research.pasteur.fr/wp-content/uploads/2015/05/Castelo_fiocruz_panoramico-150x150.jpg',
page_url: 'https://research.pasteur.fr/en/network/oswaldo-cruz-foundation-fiocruz-brazil/',
x: x_site,
y: y_site,
size: 15,
color: '#DDDDDD'
});
//link to content
g.edges.push({
id: 6451010376,
size: 0.5,
source: 64510,
target: 10376 });
//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: 10398,
label: 'Institut Pasteur of Shanghai, Chinese Academy of Sciences',
type: 'image',
url: 'https://research.pasteur.fr/wp-content/uploads/2015/05/10154916v0m4-150x150.jpg',
page_url: 'https://research.pasteur.fr/en/network/institut-pasteur-of-shanghai-chinese-academy-of-sciences/',
x: x_site,
y: y_site,
size: 15,
color: '#DDDDDD'
});
//link to content
g.edges.push({
id: 6451010398,
size: 0.5,
source: 64510,
target: 10398 });
//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: 10391,
label: 'Institut Pasteur de Montevideo',
type: 'image',
url: 'https://research.pasteur.fr/wp-content/uploads/2015/05/20090616a01g-150x150.jpg',
page_url: 'https://research.pasteur.fr/en/network/institut-pasteur-in-montevideo/',
x: x_site,
y: y_site,
size: 15,
color: '#DDDDDD'
});
//link to content
g.edges.push({
id: 6451010391,
size: 0.5,
source: 64510,
target: 10391 });
// 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: 56152,
label: 'PROJECT: Perilic',
x: x_node,
y: y_node,
type: 'image',
url: 'https://research.pasteur.fr/wp-content/uploads/2015/10/research.pasteur.fr_image-perilic-150x150.jpg',
page_url: 'https://research.pasteur.fr/en/project/perilic/',
size: 35,
color: '#DDDDDD'
});
//link content to central post
g.edges.push({
id: 1038156152,
size: 0.5,
source: 10381,
target: 56152 });
//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: 4322,
label: 'Sandra Corre',
type: 'image',
url: 'https://research.pasteur.fr/wp-content/uploads/2015/09/research.pasteur.fr_sandra-150x150.jpg',
page_url: 'https://research.pasteur.fr/en/member/sandra-corre/',
x: x_site,
y: y_site,
size: 15,
color: '#DDDDDD'
});
//link to content
g.edges.push({
id: 561524322,
size: 0.5,
source: 56152,
target: 4322 });
//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: 4261,
label: 'Mohand Ait Ahmed',
type: 'image',
url: 'https://research.pasteur.fr/wp-content/uploads/2017/12/research_pasteur-mohand-150x150.jpeg',
page_url: 'https://research.pasteur.fr/en/member/mohand-ait-ahmed/',
x: x_site,
y: y_site,
size: 15,
color: '#DDDDDD'
});
//link to content
g.edges.push({
id: 561524261,
size: 0.5,
source: 56152,
target: 4261 });
//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: 6952,
label: 'Nicole Guiso',
type: 'image',
url: 'https://research.pasteur.fr/wp-content/uploads/2015/09/research.pasteur.fr_nicole-guiso-150x150.jpg',
page_url: 'https://research.pasteur.fr/en/member/nicole-guiso/',
x: x_site,
y: y_site,
size: 15,
color: '#DDDDDD'
});
//link to content
g.edges.push({
id: 561526952,
size: 0.5,
source: 56152,
target: 6952 });
//check if content already exist
// update node size depending on the amount of edges
g.nodes.forEach(function(n) {
if (n.id == 8541) {
n.size = n.size + 10;
if ( n.size > biggest_node_size ){
biggest_node_size = n.size;
}
}
});
g.nodes.forEach(function(n) {
if (n.id == 10381) {
if ( n.size < biggest_node_size ){
n.size = biggest_node_size;
}
}
});
//link to content
g.edges.push({
id: 561528541,
size: 0.5,
source: 56152,
target: 8541 });
//check if content already exist
// update node size depending on the amount of edges
g.nodes.forEach(function(n) {
if (n.id == 10390) {
n.size = n.size + 10;
if ( n.size > biggest_node_size ){
biggest_node_size = n.size;
}
}
});
g.nodes.forEach(function(n) {
if (n.id == 10381) {
if ( n.size < biggest_node_size ){
n.size = biggest_node_size;
}
}
});
//link to content
g.edges.push({
id: 5615210390,
size: 0.5,
source: 56152,
target: 10390 });
//check if content already exist
// update node size depending on the amount of edges
g.nodes.forEach(function(n) {
if (n.id == 10383) {
n.size = n.size + 10;
if ( n.size > biggest_node_size ){
biggest_node_size = n.size;
}
}
});
g.nodes.forEach(function(n) {
if (n.id == 10381) {
if ( n.size < biggest_node_size ){
n.size = biggest_node_size;
}
}
});
//link to content
g.edges.push({
id: 5615210383,
size: 0.5,
source: 56152,
target: 10383 });
//check if content already exist
// update node size depending on the amount of edges
g.nodes.forEach(function(n) {
if (n.id == 10381) {
n.size = n.size + 10;
if ( n.size > biggest_node_size ){
biggest_node_size = n.size;
}
}
});
g.nodes.forEach(function(n) {
if (n.id == 10381) {
if ( n.size < biggest_node_size ){
n.size = biggest_node_size;
}
}
});
//link to content
g.edges.push({
id: 5615210381,
size: 0.5,
source: 56152,
target: 10381 });
// 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: 40988,
label: 'PROJECT: Circulating biomarkers in geographically diverse populations with varying rates of gastric cancer',
x: x_node,
y: y_node,
type: 'image',
url: 'https://research.pasteur.fr/wp-content/uploads/2015/09/research.pasteur.fr_diapositive18-150x150.jpg',
page_url: 'https://research.pasteur.fr/en/project/circulating-biomarkers-in-geographically-diverse-populations-with-varying-rates-of-gastric-cancer/',
size: 35,
color: '#DDDDDD'
});
//link content to central post
g.edges.push({
id: 1038140988,
size: 0.5,
source: 10381,
target: 40988 });
//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: 8445,
label: 'Valérie Michel',
type: 'image',
url: 'https://research.pasteur.fr/wp-content/uploads/2015/09/research.pasteur.fr_photo-val--150x150.png',
page_url: 'https://research.pasteur.fr/en/member/valerie-michel/',
x: x_site,
y: y_site,
size: 15,
color: '#DDDDDD'
});
//link to content
g.edges.push({
id: 409888445,
size: 0.5,
source: 40988,
target: 8445 });
//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: 4121,
label: 'Eliette Touati',
type: 'image',
url: 'https://research.pasteur.fr/wp-content/uploads/2015/09/research.pasteur.fr_diapositive15-150x150.jpg',
page_url: 'https://research.pasteur.fr/en/member/eliette-touati/',
x: x_site,
y: y_site,
size: 15,
color: '#DDDDDD'
});
//link to content
g.edges.push({
id: 409884121,
size: 0.5,
source: 40988,
target: 4121 });
//check if content already exist
// update node size depending on the amount of edges
g.nodes.forEach(function(n) {
if (n.id == 10392) {
n.size = n.size + 10;
if ( n.size > biggest_node_size ){
biggest_node_size = n.size;
}
}
});
g.nodes.forEach(function(n) {
if (n.id == 10381) {
if ( n.size < biggest_node_size ){
n.size = biggest_node_size;
}
}
});
//link to content
g.edges.push({
id: 4098810392,
size: 0.5,
source: 40988,
target: 10392 });
//check if content already exist
// update node size depending on the amount of edges
g.nodes.forEach(function(n) {
if (n.id == 10381) {
n.size = n.size + 10;
if ( n.size > biggest_node_size ){
biggest_node_size = n.size;
}
}
});
g.nodes.forEach(function(n) {
if (n.id == 10381) {
if ( n.size < biggest_node_size ){
n.size = biggest_node_size;
}
}
});
//link to content
g.edges.push({
id: 4098810381,
size: 0.5,
source: 40988,
target: 10381 });
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: 12,
maxNodeSize: 40,
mouseWheelEnabled: false,
font: 'Montserrat',
labelThreshold:25,
borderSize:1,
defaultNodeBorderColor: '#333',
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;
//console.log(n.id);
//console.log(s.graph.nodes(n.id));
});
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) {
});