Skip to content

Commit e6a364c

Browse files
committed
Updating code and adding an image.
All in prep for AGU2024.
1 parent 4452e3a commit e6a364c

File tree

3 files changed

+34
-25
lines changed

3 files changed

+34
-25
lines changed

img/kamada_kawai.png

565 KB
Loading

src/networkgraph.py

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,11 @@
1-
import csv
2-
from itertools import combinations
31
import matplotlib.pyplot as plt
42
import networkx as nx
53
from networkx.algorithms import bipartite
64
from sknetwork.data import from_edge_list
75
from sknetwork.clustering import Louvain
8-
from nxviz import CircosPlot, BasePlot
96
import nxviz as nv
10-
import math
117
import json
8+
import math
129

1310
G = nx.Graph()
1411

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

28-
G.add_nodes_from(dois, bipartite = 0)
29-
G.add_nodes_from(resources, bipartite = 1)
25+
G.add_nodes_from(dois, bipartite = "publications")
26+
G.add_nodes_from(resources, bipartite = "resources")
3027

3128
for i in graph:
3229
for j in i['resources']:
@@ -58,26 +55,27 @@
5855

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

61-
resource_nodes = [node for node in G.nodes() if G._node[node]['bipartite'] == 1]
62-
paper_nodes = [node for node in G.nodes() if G._node[node]['bipartite'] == 0]
58+
resource_nodes = [node for node in G.nodes() if G._node[node]['bipartite'] == 'resources']
59+
paper_nodes = [node for node in G.nodes() if G._node[node]['bipartite'] == 'publications']
6360

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

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

68-
resource_graph = nx.bipartite.projection.projected_graph(G, resource_nodes)
65+
resource_graph = nx.bipartite.projection.weighted_projected_graph(G, resource_nodes)
6966

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

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

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

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

80-
nx.draw_networkx_edges(resource_graph, pos, alpha = 0.1)
78+
nx.draw_networkx_edges(resource_graph, pos, width= weights, alpha = 0.1)
8179
nx.draw_networkx_nodes(resource_graph, pos, **options)
8280
nx.draw_networkx_labels(resource_graph, pos, font_size=14, bbox=label_options)
8381
plt.show()

src/sed_cleaning.sh

Lines changed: 25 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,28 @@
11
#!/bin/bash
22

33
# Removing GBIF address lines:
4-
sed -i '/^.*Universitetsparken.*$/d' GBIF.csv
5-
sed -i '/^.*Biotime Biotech.*$/d' BioTIME.csv
6-
sed -i '/^.*Bio[Tt]ime,* Inc.*$/d' BioTIME.csv
7-
sed -i '/^.*[Bb]io[tT]imer.*$/d' BioTIME.csv
8-
sed -i '/^.*[bB]io[tT]imes.*$/d' BioTIME.csv
9-
sed -i '/^.*Alameda.*$/d' BioTIME.csv
10-
sed -i '/^.*[Bb]io[Tt]im[\s,\.].*$/d' BioTIME.csv
11-
sed -i '/^.*Neptune City.*$/d' Neptune.csv
12-
sed -i '/^.*Neptune, New.*$/d' Neptune.csv
13-
sed -i '/^.*Neptune, NJ.*$/d' Neptune.csv
14-
sed -i '/^.*[(Uranus)|(Jupiter)|(Saturn)|(Pluto)]+.*$/d' Neptune.csv
15-
sed -i '/^.*Poseidon.*$/d' Neptune.csv
16-
sed -i '/^.*MC[-–]*ICP.*$/d' Neptune.csv
17-
sed -i '/^.*NSB.*$/d' Neptune.csv
4+
sed -i.bak '/^.*Universitetsparken.*$/d' GBIF.csv
5+
sed -i.bak '/^.*Biotime Biotech.*$/d' BioTIME.csv
6+
sed -i.bak '/^.*Bio[Tt]ime,* Inc.*$/d' BioTIME.csv
7+
sed -i.bak '/^.*[Bb]io[tT]imer.*$/d' BioTIME.csv
8+
sed -i.bak '/^.*[bB]io[tT]imes.*$/d' BioTIME.csv
9+
sed -i.bak '/^.*Alameda.*$/d' BioTIME.csv
10+
sed -i.bak '/^.*[Bb]io[Tt]im[\s,\.].*$/d' BioTIME.csv
11+
sed -i.bak '/^.*Neptune City.*$/d' Neptune.csv
12+
sed -i.bak '/^.*Neptune, New.*$/d' Neptune.csv
13+
sed -i.bak '/^.*Neptune, NJ.*$/d' Neptune.csv
14+
sed -i.bak '/^.*[(Uranus)|(Jupiter)|(Saturn)|(Pluto)]+.*$/d' Neptune.csv
15+
sed -i.bak '/^.*Poseidon.*$/d' Neptune.csv
16+
sed -i.bak '/^.*MC[-–]*ICP.*$/d' Neptune.csv
17+
sed -i.bak '/^.*[Tt]riton[ -–][×Xx].*$/d' Triton.csv
18+
sed -i.bak '/^.*[Tt]riton[ -–].*TIMS.*$/d' Triton.csv
19+
sed -i.bak '/^.*[Tt]ritone.*$/d' Triton.csv
20+
sed -i.bak '/^.*[Tt]riton®.*$/d' Triton.csv
21+
sed -i.bak '/^.*[Tt]hermo[ -–]*[Ff]isher.*$/d' Triton.csv
22+
sed -i.bak '/^.*[Tt]hermo[ -–]*[Ff]innigan.*$/d' Triton.csv
23+
sed -i.bak '/^.*[-–][Tt]riton.*$/d' Triton.csv
24+
sed -i.bak '/^.*[(Naiad)|(Thalassa)|(Despina)|(Galatea)|(Larissa)|(Hippocamp)|(Proteus)]+.*/d' Triton.csv
25+
sed -i.bak '/^.*TRITON[ -–]TIMI.*/d' Triton.csv
26+
sed -i.bak '/^.*% [Tt]riton.*/d' Triton.csv
27+
sed -i.bak '/^.*Varda Rotter.*/d' VARDA.csv
28+
sed -i.bak '/^.*Varda.*/d' VARDA.csv

0 commit comments

Comments
 (0)