Skip to content

About

Scripts for generating plots about the usage of OpenMS

Resources

Stars

2 stars

Watchers

10 watching

Forks

Latest commit

 

History

136 Commits

Folders and files

Repository files navigation

Usage Statistics of OpenMS and SeqAn

This repo contains scripts, data and other files that create the usage statistics dashboards of OpenMS and SeqAn. A dashboard is a single HTML report that combines:

  • calls to the version check server: calls and users per month, top applications, operating systems, world map
  • downloads from GitHub releases, conda and PyPI
  • GitHub issues and pull requests
  • Google Scholar citations

A cron job which triggers the analysis of log files is set up on Jenkins.

❗Important❗: The top level seqan_versions.txt and openms_versions.txt must not be moved to a different location because it is needed to ensure a correct server response to a user call. The Tübingen REST server pulls both file once per night, so if a version changes, they can be directly updated in this repository.

Creating a dashboard

  1. Get the dependencies: They are available as a Docker image, see docker/README.md.

    $ docker pull ghcr.io/seqan/usage-plots:latest

    Without Docker, you need gawk, perl, pandoc, the Python packages from scripts/config/requirements.txt and the R packages from scripts/config/r-requirements.txt.

  2. Get log files: The original server calls are stored in Tübingen. Ask someone in Tübingen to send you a zipped file or get access to the server yourself. Concatenate the logs into one file. Its name has to start with seqan- or openms-, which selects the project. To try things out, use the randomized log in example/.

  3. Set a GitHub token: Without it, GitHub statistics are not collected, see scripts/README.md.

    $ export GITHUB_PAT="github_pat_[...]"
  4. Run scripts/run.sh: It calls the individual steps sequentially and creates all output in the current working directory.

    $ mkdir -p local/report && cd local/report # `local` is ignored by git
    $ ../../scripts/run.sh ../../example/seqan-example.log

    output_seqan/report.html is the dashboard.

example/output_seqan/ contains the result of these commands.

To change which GitHub repositories and conda/PyPI packages are counted as libraries or apps, edit scripts/config/config.py. scripts/README.md describes the configuration, the individual steps and the output.

Repository layout

Path Content
scripts/ Scripts that create the dashboard, see README
docker/ Docker image with all dependencies, see README
example/ Randomized example log and its dashboard, see README
database/ IP geolocation database, obtained from https://lite.ip2location.com
tooltags/ Tags for the tools of each project
seqan_versions.txt, openms_versions.txt Current versions, pulled by the REST server (do not move)

About

Scripts for generating plots about the usage of OpenMS

Resources

Stars

2 stars

Watchers

10 watching

Forks

Releases

Packages

Used by

Contributors

Languages