Skip to content

Commit

Permalink
added methods hub metadata
Browse files Browse the repository at this point in the history
  • Loading branch information
schochastics committed Dec 2, 2024
1 parent 2458bdf commit f2801f8
Show file tree
Hide file tree
Showing 8 changed files with 367 additions and 0 deletions.
8 changes: 8 additions & 0 deletions .Rbuildignore
Original file line number Diff line number Diff line change
Expand Up @@ -21,3 +21,11 @@ paper.bib
^CONTRIBUTING\.md$
^codecov\.yml$
^data-raw$
^CITATION\.cff$
^install\.R$
^postBuild$
^apt\.txt$
^runtime\.txt$
^_quarto\.yml$
^\.quarto$
^methodshub
213 changes: 213 additions & 0 deletions CITATION.cff
Original file line number Diff line number Diff line change
@@ -0,0 +1,213 @@
# --------------------------------------------
# CITATION file created with {cffr} R package
# See also: https://docs.ropensci.org/cffr/
# --------------------------------------------

cff-version: 1.2.0
message: 'To cite package "graphlayouts" in publications use:'
type: software
license: MIT
title: 'graphlayouts: Additional Layout Algorithms for Network Visualizations'
version: 1.2.1
doi: 10.21105/joss.05238
identifiers:
- type: doi
value: 10.32614/CRAN.package.graphlayouts
abstract: Several new layout algorithms to visualize networks are provided which are
not part of 'igraph'. Most are based on the concept of stress majorization by Gansner
et al. (2004) <https://doi.org/10.1007/978-3-540-31843-9_25>. Some more specific
algorithms allow the user to emphasize hidden group structures in networks or focus
on specific nodes.
authors:
- family-names: Schoch
given-names: David
email: [email protected]
orcid: https://orcid.org/0000-0003-2952-4812
preferred-citation:
type: article
title: 'graphlayouts: Layout algorithms for network visualizations in R'
authors:
- name: David Schoch
year: '2023'
publisher:
name: The Open Journal
volume: '8'
issue: '84'
journal: Journal of Open Source Software
doi: 10.21105/joss.05238
url: https://doi.org/10.21105/joss.05238
start: '5238'
repository: https://CRAN.R-project.org/package=graphlayouts
repository-code: https://github.com/schochastics/graphlayouts
url: https://schochastics.github.io/graphlayouts/
contact:
- family-names: Schoch
given-names: David
email: [email protected]
orcid: https://orcid.org/0000-0003-2952-4812
keywords:
- ggraph
- graph-algorithms
- network-analysis
- network-visualization
- r
references:
- type: software
title: 'R: A Language and Environment for Statistical Computing'
notes: Depends
url: https://www.R-project.org/
authors:
- name: R Core Team
institution:
name: R Foundation for Statistical Computing
address: Vienna, Austria
year: '2024'
version: '>= 3.6.0'
- type: software
title: igraph
abstract: 'igraph: Network Analysis and Visualization'
notes: Imports
url: https://r.igraph.org/
repository: https://CRAN.R-project.org/package=igraph
authors:
- family-names: Csárdi
given-names: Gábor
email: [email protected]
orcid: https://orcid.org/0000-0001-7098-9676
- family-names: Nepusz
given-names: Tamás
email: [email protected]
orcid: https://orcid.org/0000-0002-1451-338X
- family-names: Traag
given-names: Vincent
orcid: https://orcid.org/0000-0003-3170-3879
- family-names: Horvát
given-names: Szabolcs
email: [email protected]
orcid: https://orcid.org/0000-0002-3100-523X
- family-names: Zanini
given-names: Fabio
email: [email protected]
orcid: https://orcid.org/0000-0001-7097-8539
- family-names: Noom
given-names: Daniel
- family-names: Müller
given-names: Kirill
email: [email protected]
orcid: https://orcid.org/0000-0002-1416-3412
year: '2024'
doi: 10.32614/CRAN.package.igraph
version: '>= 2.0.0'
- type: software
title: Rcpp
abstract: 'Rcpp: Seamless R and C++ Integration'
notes: Imports
url: https://www.rcpp.org
repository: https://CRAN.R-project.org/package=Rcpp
authors:
- family-names: Eddelbuettel
given-names: Dirk
email: [email protected]
orcid: https://orcid.org/0000-0001-6419-907X
- family-names: Francois
given-names: Romain
orcid: https://orcid.org/0000-0002-2444-4226
- family-names: Allaire
given-names: JJ
orcid: https://orcid.org/0000-0003-0174-9868
- family-names: Ushey
given-names: Kevin
orcid: https://orcid.org/0000-0003-2880-7407
- family-names: Kou
given-names: Qiang
orcid: https://orcid.org/0000-0001-6786-5453
- family-names: Russell
given-names: Nathan
- family-names: Ucar
given-names: Iñaki
orcid: https://orcid.org/0000-0001-6403-5550
- family-names: Bates
given-names: Doug
orcid: https://orcid.org/0000-0001-8316-9503
- family-names: Chambers
given-names: John
year: '2024'
doi: 10.32614/CRAN.package.Rcpp
- type: software
title: testthat
abstract: 'testthat: Unit Testing for R'
notes: Suggests
url: https://testthat.r-lib.org
repository: https://CRAN.R-project.org/package=testthat
authors:
- family-names: Wickham
given-names: Hadley
email: [email protected]
year: '2024'
doi: 10.32614/CRAN.package.testthat
- type: software
title: ggplot2
abstract: 'ggplot2: Create Elegant Data Visualisations Using the Grammar of Graphics'
notes: Suggests
url: https://ggplot2.tidyverse.org
repository: https://CRAN.R-project.org/package=ggplot2
authors:
- family-names: Wickham
given-names: Hadley
email: [email protected]
orcid: https://orcid.org/0000-0003-4757-117X
- family-names: Chang
given-names: Winston
orcid: https://orcid.org/0000-0002-1576-2126
- family-names: Henry
given-names: Lionel
- family-names: Pedersen
given-names: Thomas Lin
email: [email protected]
orcid: https://orcid.org/0000-0002-5147-4711
- family-names: Takahashi
given-names: Kohske
- family-names: Wilke
given-names: Claus
orcid: https://orcid.org/0000-0002-7470-9261
- family-names: Woo
given-names: Kara
orcid: https://orcid.org/0000-0002-5125-4188
- family-names: Yutani
given-names: Hiroaki
orcid: https://orcid.org/0000-0002-3385-7233
- family-names: Dunnington
given-names: Dewey
orcid: https://orcid.org/0000-0002-9415-4582
- family-names: Brand
given-names: Teun
name-particle: van den
orcid: https://orcid.org/0000-0002-9335-7468
year: '2024'
doi: 10.32614/CRAN.package.ggplot2
- type: software
title: RcppArmadillo
abstract: 'RcppArmadillo: ''Rcpp'' Integration for the ''Armadillo'' Templated Linear
Algebra Library'
notes: LinkingTo
url: https://dirk.eddelbuettel.com/code/rcpp.armadillo.html
repository: https://CRAN.R-project.org/package=RcppArmadillo
authors:
- family-names: Eddelbuettel
given-names: Dirk
email: [email protected]
orcid: https://orcid.org/0000-0001-6419-907X
- family-names: Francois
given-names: Romain
orcid: https://orcid.org/0000-0002-2444-4226
- family-names: Bates
given-names: Doug
orcid: https://orcid.org/0000-0001-8316-9503
- family-names: Ni
given-names: Binxiang
- family-names: Sanderson
given-names: Conrad
orcid: https://orcid.org/0000-0002-0049-4501
year: '2024'
doi: 10.32614/CRAN.package.RcppArmadillo

5 changes: 5 additions & 0 deletions _quarto.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
project:
title: graphlayouts
type: default
render:
- methodshub.qmd
1 change: 1 addition & 0 deletions apt.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
zip
1 change: 1 addition & 0 deletions install.R
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
install.packages("graphlayouts")
76 changes: 76 additions & 0 deletions methodshub.qmd
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
---
title: graphlayouts - Additional Layout Algorithms for Network Visualizations
format:
html:
embed-resources: true
gfm: default
---

## Description

<!-- - Provide a brief and clear description of the method, its purpose, and what it aims to achieve. Add a link to a related paper from social science domain and show how your method can be applied to solve that research question. -->

The package implements several new layout algorithms to visualize networks are provided which are not part of 'igraph'.
Most are based on the concept of stress majorization by Gansner et al. (2004) <doi:10.1007/978-3-540-31843-9_25>.
Some more specific algorithms allow the user to emphasize hidden group structures in networks or focus on specific nodes.

## Keywords

<!-- EDITME -->

* Network Analysis
* Network Visualization
* Network layouts

## Science Usecase(s)

Network visualization offers social scientists a powerful tool for analyzing relationships and interactions within digital traces. For instance, researchers studying online communities can use network visualization to map interactions on social media platforms, such as X or Reddit. By visualizing user interactions (like replies, mentions, or shared links), researchers can uncover patterns in information flow, identify influential users, and explore the formation of communities or echo chambers. Network visualization can reveal clusters of users who frequently engage with one another, suggesting tightly-knit subgroups with shared interests or beliefs. It also helps identify key influencers within these networks, who may play a critical role in spreading information or shaping public opinion. This analysis is particularly useful for understanding phenomena like misinformation spread, public discourse on sensitive topics, or the social dynamics of online activism, offering insights into how ideas and behaviors propagate through digital spaces.

## Repository structure

This repository follows [the standard structure of an R package](https://cran.r-project.org/doc/FAQ/R-exts.html#Package-structure).

## Environment Setup

With R installed:

```r
install.packages("graphlayouts")
```

<!-- ## Hardware Requirements (Optional) -->
<!-- - The hardware requirements may be needed in specific cases when a method is known to require more memory/compute power. -->
<!-- - The method need to be executed on a specific architecture (GPUs, Hadoop cluster etc.) -->


## Input Data

<!-- - The input data has to be a Digital Behavioral Data (DBD) Dataset -->
<!-- - You can provide link to a public DBD dataset. GESIS DBD datasets (https://www.gesis.org/en/institute/digital-behavioral-data) -->

<!-- This is an example -->

`graphlayouts` accepts `igraph` network objects as input.

## Sample Input and Output Data

The R package `networkdata` includes many datasets that can be used to test the layout algorithms.

## How to Use

You can find a tutorial [here](ADD METHODS LINK)

## Contact Details

Maintainer: David Schoch <[email protected]>

Issue Tracker: [https://github.com/schochastics/graphlayouts/issues](https://github.com/schochastics/graphlayouts/issues)

<!-- ## Publication -->
<!-- - Include information on publications or articles related to the method, if applicable. -->

<!-- ## Acknowledgements -->
<!-- - Acknowledgements if any -->

<!-- ## Disclaimer -->
<!-- - Add any disclaimers, legal notices, or usage restrictions for the method, if necessary. -->
62 changes: 62 additions & 0 deletions postBuild
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
#!/usr/bin/env -S bash -v

# determine which version of Quarto to install
QUARTO_VERSION=1.6.37

# See whether we need to lookup a Quarto version
if [ $QUARTO_VERSION = "prerelease" ]; then
QUARTO_JSON="_prerelease.json"
elif [ $QUARTO_VERSION = "release" ]; then
QUARTO_JSON="_download.json"
fi

if [ $QUARTO_JSON != "" ]; then

# create a python script and run it
PYTHON_SCRIPT=_quarto_version.py
if [ -e $PYTHON_SCRIPT ]; then
rm -rf $PYTHON_SCRIPT
fi

cat > $PYTHON_SCRIPT <<EOF
import urllib, json
import urllib.request, json
with urllib.request.urlopen("https://quarto.org/docs/download/${QUARTO_JSON}") as url:
data = json.load(url)
print(data['version'])
EOF

QUARTO_VERSION=$(python $PYTHON_SCRIPT)
rm -rf $PYTHON_SCRIPT

fi


echo
echo Installing Quarto $QUARTO_VERSION
echo

# download and install the deb file
curl -LO https://github.com/quarto-dev/quarto-cli/releases/download/v$QUARTO_VERSION/quarto-$QUARTO_VERSION-linux-amd64.deb
dpkg -x quarto-$QUARTO_VERSION-linux-amd64.deb .quarto
rm -rf quarto-$QUARTO_VERSION-linux-amd64.deb

# get quarto in the path
mkdir -p ~/.local/bin
ln -s ~/.quarto/opt/quarto/bin/quarto ~/.local/bin/quarto

# create the proper pandoc symlink to enable visual editor in Quarto extension
ln -s ~/.quarto/opt/quarto/bin/tools/x86_64/pandoc ~/.quarto/opt/quarto/bin/tools/pandoc


echo
echo Installed Quarto
echo
# install required python packages
python3 -m pip install jupyterlab-quarto==0.1.45

echo
echo Completed
echo
1 change: 1 addition & 0 deletions runtime.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
r-4.4.2-2024-10-31

0 comments on commit f2801f8

Please sign in to comment.