Skip to content

Commit

Permalink
Updating code and adding an image.
Browse files Browse the repository at this point in the history
All in prep for AGU2024.
  • Loading branch information
SimonGoring committed Dec 4, 2024
1 parent 4452e3a commit e6a364c
Show file tree
Hide file tree
Showing 3 changed files with 34 additions and 25 deletions.
Binary file added img/kamada_kawai.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
20 changes: 9 additions & 11 deletions src/networkgraph.py
Original file line number Diff line number Diff line change
@@ -1,14 +1,11 @@
import csv
from itertools import combinations
import matplotlib.pyplot as plt
import networkx as nx
from networkx.algorithms import bipartite
from sknetwork.data import from_edge_list
from sknetwork.clustering import Louvain
from nxviz import CircosPlot, BasePlot
import nxviz as nv
import math
import json
import math

G = nx.Graph()

Expand All @@ -25,8 +22,8 @@
for j in i['resources']:
resources.add(j)

G.add_nodes_from(dois, bipartite = 0)
G.add_nodes_from(resources, bipartite = 1)
G.add_nodes_from(dois, bipartite = "publications")
G.add_nodes_from(resources, bipartite = "resources")

for i in graph:
for j in i['resources']:
Expand Down Expand Up @@ -58,26 +55,27 @@

nx.set_node_attributes(G, partition, 'community_louvain')

resource_nodes = [node for node in G.nodes() if G._node[node]['bipartite'] == 1]
paper_nodes = [node for node in G.nodes() if G._node[node]['bipartite'] == 0]
resource_nodes = [node for node in G.nodes() if G._node[node]['bipartite'] == 'resources']
paper_nodes = [node for node in G.nodes() if G._node[node]['bipartite'] == 'publications']

resource_centrality = [node for node in nx.bipartite.degree_centrality(G, resource_nodes).items() if not node[0].startswith("1")]

sorted(resource_centrality, key=lambda x: x[1], reverse=True)[:5]

resource_graph = nx.bipartite.projection.projected_graph(G, resource_nodes)
resource_graph = nx.bipartite.projection.weighted_projected_graph(G, resource_nodes)

for n, d in resource_graph.nodes(data=True):
resource_graph._node[n]['neighbors_count'] = len(list(resource_graph.neighbors(n)))

options = {"edgecolors": "tab:gray", "node_size": 700, "alpha": 0.7}
label_options = {"ec": "k", "fc": "white", "alpha": 0.7}

pos = nx.spring_layout(resource_graph, seed=3113794652) # positions for all nodes
pos = nx.kamada_kawai_layout(resource_graph, weight = 'weight', scale = 10) # positions for all nodes
weights = [math.sqrt(i) for i in nx.get_edge_attributes(resource_graph, 'weight').values()]

fig = plt.figure(figsize=(6, 9))

nx.draw_networkx_edges(resource_graph, pos, alpha = 0.1)
nx.draw_networkx_edges(resource_graph, pos, width= weights, alpha = 0.1)
nx.draw_networkx_nodes(resource_graph, pos, **options)
nx.draw_networkx_labels(resource_graph, pos, font_size=14, bbox=label_options)
plt.show()
Expand Down
39 changes: 25 additions & 14 deletions src/sed_cleaning.sh
Original file line number Diff line number Diff line change
@@ -1,17 +1,28 @@
#!/bin/bash

# Removing GBIF address lines:
sed -i '/^.*Universitetsparken.*$/d' GBIF.csv
sed -i '/^.*Biotime Biotech.*$/d' BioTIME.csv
sed -i '/^.*Bio[Tt]ime,* Inc.*$/d' BioTIME.csv
sed -i '/^.*[Bb]io[tT]imer.*$/d' BioTIME.csv
sed -i '/^.*[bB]io[tT]imes.*$/d' BioTIME.csv
sed -i '/^.*Alameda.*$/d' BioTIME.csv
sed -i '/^.*[Bb]io[Tt]im[\s,\.].*$/d' BioTIME.csv
sed -i '/^.*Neptune City.*$/d' Neptune.csv
sed -i '/^.*Neptune, New.*$/d' Neptune.csv
sed -i '/^.*Neptune, NJ.*$/d' Neptune.csv
sed -i '/^.*[(Uranus)|(Jupiter)|(Saturn)|(Pluto)]+.*$/d' Neptune.csv
sed -i '/^.*Poseidon.*$/d' Neptune.csv
sed -i '/^.*MC[-–]*ICP.*$/d' Neptune.csv
sed -i '/^.*NSB.*$/d' Neptune.csv
sed -i.bak '/^.*Universitetsparken.*$/d' GBIF.csv
sed -i.bak '/^.*Biotime Biotech.*$/d' BioTIME.csv
sed -i.bak '/^.*Bio[Tt]ime,* Inc.*$/d' BioTIME.csv
sed -i.bak '/^.*[Bb]io[tT]imer.*$/d' BioTIME.csv
sed -i.bak '/^.*[bB]io[tT]imes.*$/d' BioTIME.csv
sed -i.bak '/^.*Alameda.*$/d' BioTIME.csv
sed -i.bak '/^.*[Bb]io[Tt]im[\s,\.].*$/d' BioTIME.csv
sed -i.bak '/^.*Neptune City.*$/d' Neptune.csv
sed -i.bak '/^.*Neptune, New.*$/d' Neptune.csv
sed -i.bak '/^.*Neptune, NJ.*$/d' Neptune.csv
sed -i.bak '/^.*[(Uranus)|(Jupiter)|(Saturn)|(Pluto)]+.*$/d' Neptune.csv
sed -i.bak '/^.*Poseidon.*$/d' Neptune.csv
sed -i.bak '/^.*MC[-–]*ICP.*$/d' Neptune.csv
sed -i.bak '/^.*[Tt]riton[ -–][×Xx].*$/d' Triton.csv
sed -i.bak '/^.*[Tt]riton[ -–].*TIMS.*$/d' Triton.csv
sed -i.bak '/^.*[Tt]ritone.*$/d' Triton.csv
sed -i.bak '/^.*[Tt]riton®.*$/d' Triton.csv
sed -i.bak '/^.*[Tt]hermo[ -–]*[Ff]isher.*$/d' Triton.csv
sed -i.bak '/^.*[Tt]hermo[ -–]*[Ff]innigan.*$/d' Triton.csv
sed -i.bak '/^.*[-–][Tt]riton.*$/d' Triton.csv
sed -i.bak '/^.*[(Naiad)|(Thalassa)|(Despina)|(Galatea)|(Larissa)|(Hippocamp)|(Proteus)]+.*/d' Triton.csv
sed -i.bak '/^.*TRITON[ -–]TIMI.*/d' Triton.csv
sed -i.bak '/^.*% [Tt]riton.*/d' Triton.csv
sed -i.bak '/^.*Varda Rotter.*/d' VARDA.csv
sed -i.bak '/^.*Varda.*/d' VARDA.csv

0 comments on commit e6a364c

Please sign in to comment.