Glittr stats
Glittr stats
Glittr stats
- More than 10 contributors: 25%
- More than 1 contributor: 80.1% -
- Between 1 and 5 contributors: 60.3% +
- Between 1 and 5 contributors: 60.2%
Number of repositories per tag
This is figure 2C in the manuscript.
Glittr stats
Glittr stats
Glittr stats
Glittr stats
Glittr stats
Glittr stats
Number of outlinks by repo
-Here, we use the site data from matomo in order to investigate what visitors of Glittr.org have clicked on. This gives us an idea about which repositories and topics are popular among users. In Figure 7 we see that TheAlgorithms/Python was the most popular repository with 198 clicks.
+Here, we use the site data from matomo in order to investigate what visitors of Glittr.org have clicked on. This gives us an idea about which repositories and topics are popular among users. In Figure 7 we see that TheAlgorithms/Python was the most popular repository with 201 clicks.
visits_by_entry |>
slice(1:30) |>
@@ -1355,7 +1355,7 @@ Glittr stats
TheAlgorithms/Python
-198
+201
jakevdp/PythonDataScienceHandbook
@@ -1363,39 +1363,39 @@ Glittr stats
ISUgenomics/bioinformatics-workbook
-77
+79
realpython/python-guide
-70
+71
cxli233/FriendsDontLetFriends
-69
+70
galaxyproject/training-material
-64
+66
lexfridman/mit-deep-learning
-61
+63
mlabonne/llm-course
-59
+60
theislab/single-cell-tutorial
-57
+58
zhiwehu/Python-programming-exercises
-51
+50
hbctraining/Training-modules
-40
+41
hadley/r4ds
@@ -1406,24 +1406,24 @@ Glittr stats
39
-DataTalksClub/data-engineering-zoomcamp
-36
+bobbyiliev/introduction-to-bash-scripting
+37
instillai/TensorFlow-Course
-36
+37
-sib-swiss/single-cell-training
+DataTalksClub/data-engineering-zoomcamp
36
-bobbyiliev/introduction-to-bash-scripting
-35
+jeroenjanssens/data-science-at-the-command-line
+36
-jeroenjanssens/data-science-at-the-command-line
-35
+sib-swiss/single-cell-training
+36
Yorko/mlcourse.ai
@@ -1443,18 +1443,18 @@ Glittr stats
harvardinformatics/learning-bioinformatics-at-home
-25
+27
-hbctraining/scRNA-seq_online
+genome/bfx-workshop
25
-Functional-Genomics-Lab/Applied-Genomics
-23
+hbctraining/scRNA-seq_online
+25
-genome/bfx-workshop
+Functional-Genomics-Lab/Applied-Genomics
23
@@ -1480,7 +1480,7 @@ Glittr stats
-It becomes more interesting when we aggregate the data per main tag (Figure 8). This gives us an idea of topic which people are looking for when visiting glittr.org. The most popular topic is Python with 526 outlinks.
+It becomes more interesting when we aggregate the data per main tag (Figure 8). This gives us an idea of topic which people are looking for when visiting glittr.org. The most popular topic is Python with 531 outlinks.
visits_by_main_tag |>
slice(1:30) |>
@@ -1565,129 +1565,129 @@ Glittr stats
Galaxy
-64
+71
Computational methods and pipelines
3
-21.3333333
+23.6666667
Artificial intelligence
-59
+79
Statistics and machine learning
-5
-11.8000000
+6
+13.1666667
-Spatial transcriptomics
-56
-Omics analysis
-9
-6.2222222
-
-
General
-208
+219
Others
34
-6.1176471
+6.4411765
-
+
Multiomics
23
Omics analysis
4
5.7500000
+
+Spatial transcriptomics
+51
+Omics analysis
+9
+5.6666667
+
Python
-526
+531
Scripting and languages
-105
-5.0095238
+104
+5.1057692
-C/C++
-5
-Scripting and languages
-1
-5.0000000
-
-
Machine learning
-212
+199
Statistics and machine learning
51
-4.1568627
+3.9019608
-
+
Data visualization
-138
+139
Scripting and languages
36
-3.8333333
+3.8611111
-
+
Workflows
71
Computational methods and pipelines
21
3.3809524
-
+
Single-cell sequencing
-169
+165
Omics analysis
50
-3.3800000
+3.3000000
-
+
Long read sequencing
24
Omics analysis
9
2.6666667
-
+
Unix/Linux
-93
+97
Scripting and languages
40
-2.3250000
+2.4250000
-
+
MATLAB/Octave
2
Scripting and languages
1
2.0000000
-
+
Quarto
21
Scripting and languages
11
1.9090909
-
+
Proteomics
15
Omics analysis
8
1.8750000
-
+
Cloud computing
17
Computational methods and pipelines
10
1.7000000
-
+
Genomics
-84
+88
Omics analysis
53
-1.5849057
+1.6603774
+
+
+Pathways and Networks
+8
+Omics analysis
+5
+1.6000000
GNU Make
@@ -1697,33 +1697,19 @@ Glittr stats
1.5000000
-Pathways and Networks
-7
-Omics analysis
-5
-1.4000000
-
-
Statistics
83
Statistics and machine learning
-62
-1.3387097
+61
+1.3606557
-
+
Containerization
22
Computational methods and pipelines
20
1.1000000
-
-SQL
-3
-Scripting and languages
-3
-1.0000000
-
Epigenetics
11
@@ -1733,10 +1719,10 @@ Glittr stats
Data science
-48
+50
Statistics and machine learning
-54
-0.8888889
+55
+0.9090909
Metagenomics
@@ -1754,10 +1740,24 @@ Glittr stats
R
-176
+179
Scripting and languages
-269
-0.6542751
+268
+0.6679104
+
+
+High performance computing
+6
+Computational methods and pipelines
+10
+0.6000000
+
+
+Transcriptomics
+51
+Omics analysis
+87
+0.5862069
Variant analysis
@@ -1791,7 +1791,7 @@ Glittr stats
TheAlgorithms
-198
+201
sib-swiss
@@ -1802,72 +1802,72 @@ Glittr stats
89
-hadley
-81
+hbctraining
+85
-NBISweden
-79
+hadley
+84
-hbctraining
-78
+NBISweden
+80
ISUgenomics
-77
+79
realpython
-70
+71
cxli233
-69
+70
theislab
-69
+70
galaxyproject
-64
+66
lexfridman
-61
+63
mlabonne
-59
+60
carpentries-incubator
-53
+54
zhiwehu
-51
+50
trekhleb
39
-DataTalksClub
-36
+bobbyiliev
+37
instillai
-36
+37
-bobbyiliev
-35
+DataTalksClub
+36
jeroenjanssens
-35
+36
rmcelreath
@@ -1886,28 +1886,28 @@ Glittr stats
28
-AllenDowney
-26
+harvardinformatics
+27
-harvardinformatics
-25
+AllenDowney
+26
-rstudio
+genome
25
-Functional-Genomics-Lab
-23
+rstudio
+25
-genome
+Functional-Genomics-Lab
23
griffithlab
-21
+23
diff --git a/index_files/figure-html/fig-author-1.png b/index_files/figure-html/fig-author-1.png
index 7581e9c..7e2fd2d 100644
Binary files a/index_files/figure-html/fig-author-1.png and b/index_files/figure-html/fig-author-1.png differ
diff --git a/index_files/figure-html/fig-categories-1.png b/index_files/figure-html/fig-categories-1.png
index b00be47..4a7998b 100644
Binary files a/index_files/figure-html/fig-categories-1.png and b/index_files/figure-html/fig-categories-1.png differ
diff --git a/index_files/figure-html/fig-contributors-1.png b/index_files/figure-html/fig-contributors-1.png
index d5490ed..178f0f2 100644
Binary files a/index_files/figure-html/fig-contributors-1.png and b/index_files/figure-html/fig-contributors-1.png differ
diff --git a/index_files/figure-html/fig-country-1.png b/index_files/figure-html/fig-country-1.png
index 5694fa2..e2ca880 100644
Binary files a/index_files/figure-html/fig-country-1.png and b/index_files/figure-html/fig-country-1.png differ
diff --git a/index_files/figure-html/fig-license-1.png b/index_files/figure-html/fig-license-1.png
index 9e755cf..82530e7 100644
Binary files a/index_files/figure-html/fig-license-1.png and b/index_files/figure-html/fig-license-1.png differ
diff --git a/index_files/figure-html/fig-outlinks-1.png b/index_files/figure-html/fig-outlinks-1.png
index 3bc523a..6f6f509 100644
Binary files a/index_files/figure-html/fig-outlinks-1.png and b/index_files/figure-html/fig-outlinks-1.png differ
diff --git a/index_files/figure-html/fig-outlinks-tag-1.png b/index_files/figure-html/fig-outlinks-tag-1.png
index 64fed22..ed3cb77 100644
Binary files a/index_files/figure-html/fig-outlinks-tag-1.png and b/index_files/figure-html/fig-outlinks-tag-1.png differ
diff --git a/index_files/figure-html/fig-outlinks-tag-repo-1.png b/index_files/figure-html/fig-outlinks-tag-repo-1.png
index 2390b76..79d3f92 100644
Binary files a/index_files/figure-html/fig-outlinks-tag-repo-1.png and b/index_files/figure-html/fig-outlinks-tag-repo-1.png differ
diff --git a/index_files/figure-html/fig-tags-1.png b/index_files/figure-html/fig-tags-1.png
index 0f833f2..6730476 100644
Binary files a/index_files/figure-html/fig-tags-1.png and b/index_files/figure-html/fig-tags-1.png differ
diff --git a/search.json b/search.json
index 14edd13..e3c57b0 100644
--- a/search.json
+++ b/search.json
@@ -46,28 +46,28 @@
"href": "index.html#parse-outlink-data",
"title": "Glittr stats",
"section": "Parse outlink data",
- "text": "Parse outlink data\nHere, we use the matomo API to retrieve outlinks to repositories. In this way, we can have an idea which repositories are popular on glittr.org and how often people click on a link. It is summarized over a year (from today).\n\nCodeurl <- \"https://matomo.sib.swiss/?module=API\"\n\n# Create and send the request\nresponse <- request(url) |>\n req_body_form(\n method = \"Actions.getOutlinks\",\n idSite = 217,\n format = \"json\",\n date = \"today\",\n period = \"year\",\n expanded = 1,\n filter_limit = -1,\n token_auth = matomo_api_key\n ) |>\n req_perform() |>\n resp_body_json()\n\n## Get outlinks metadata in a dataframe\noutlinks_list <- list()\nfor(domain in response) {\n label <- domain$label\n url_info <- lapply(domain$subtable, function(x) {\n data.frame(\n url = ifelse(is.null(x$url),NA , x$url),\n nb_visits = ifelse(is.null(x$nb_visits),NA , x$nb_visits),\n domain = label\n )\n })\n outlinks_list[[domain$label]] <- do.call(rbind, url_info)\n}\n\noutlinks_df <- do.call(rbind, outlinks_list)\nrow.names(outlinks_df) <- NULL\n\n# function to clean urls for matching\nclean_url <- function(url) {\n trimws(url) |> gsub(\"/$\", \"\", x = _) |> tolower()\n}\n\n# function to match outlink data with repo and website url per entry\nmatch_url <- function(outlinks_df, repo_info, column = \"repo_url\") {\n url_clean <- clean_url(outlinks_df$url)\n column_clean <- clean_url(repo_info[[column]])\n outlinks_df[[paste0(\"is_\", column)]] <- url_clean %in% column_clean\n outlinks_df[[paste0(\"ass_repo_\", column)]] <- repo_info$repo[match(url_clean,\n column_clean)]\n return(outlinks_df)\n}\n\n# apply the match url function on urls associated with repo entry\nfor(column in c(\"url\", \"website\", \"author_profile\", \"author_website\")) {\n outlinks_df <- match_url(outlinks_df, repo_info, column = column)\n}\n\n# filter for only repo url and website (ignore author info)\n# check whether associations match\noutlinks_df$associated_entry <- outlinks_df |>\n select(ass_repo_url, ass_repo_website) |>\n apply(1, function(x) {\n x <- x[!is.na(x)] |> unique()\n \n if(length(x) == 1) return(x[1]) \n if(length(x == 0) == 0) return(NA)\n if(length(x == 2)) return(\"do not correspond\")\n })\n\n# create a list of outlink visits by entry\nvisits_by_entry <- outlinks_df |>\n select(url, nb_visits, associated_entry) |>\n filter(!is.na(associated_entry)) |>\n group_by(associated_entry) |>\n summarise(total_visits = sum(nb_visits)) \n\nvisits_by_entry <- merge(visits_by_entry, repo_info,\n by.x = \"associated_entry\",\n by.y = \"repo\") |>\n arrange(desc(total_visits))\n\nvisits_by_namespace <- visits_by_entry |>\n select(total_visits, author_name) |>\n group_by(author_name) |>\n summarise(total_visits = sum(total_visits)) |>\n arrange(desc(total_visits))\n\n# visits by tag\nvisits_by_main_tag <- visits_by_entry |>\n select(total_visits, main_tag) |>\n group_by(main_tag) |>\n summarise(total_visits = sum(total_visits))\n\n# add main category information for plotting\nvisits_by_main_tag <- merge(visits_by_main_tag, tag_df,\n by.x = \"main_tag\",\n by.y = \"name\") |>\n mutate(visits_per_repo = total_visits/repositories) |>\n arrange(desc(visits_per_repo))\n\n\n\nThe number of outlink visits in the last year: 2367\nNumber of repositories found using Glittr.org: 260\nMost popular repo was TheAlgorithms/Python with 198 outlinks.\nMost popular namespace was TheAlgorithms with 198 outlinks."
+ "text": "Parse outlink data\nHere, we use the matomo API to retrieve outlinks to repositories. In this way, we can have an idea which repositories are popular on glittr.org and how often people click on a link. It is summarized over a year (from today).\n\nCodeurl <- \"https://matomo.sib.swiss/?module=API\"\n\n# Create and send the request\nresponse <- request(url) |>\n req_body_form(\n method = \"Actions.getOutlinks\",\n idSite = 217,\n format = \"json\",\n date = \"today\",\n period = \"year\",\n expanded = 1,\n filter_limit = -1,\n token_auth = matomo_api_key\n ) |>\n req_perform() |>\n resp_body_json()\n\n## Get outlinks metadata in a dataframe\noutlinks_list <- list()\nfor(domain in response) {\n label <- domain$label\n url_info <- lapply(domain$subtable, function(x) {\n data.frame(\n url = ifelse(is.null(x$url),NA , x$url),\n nb_visits = ifelse(is.null(x$nb_visits),NA , x$nb_visits),\n domain = label\n )\n })\n outlinks_list[[domain$label]] <- do.call(rbind, url_info)\n}\n\noutlinks_df <- do.call(rbind, outlinks_list)\nrow.names(outlinks_df) <- NULL\n\n# function to clean urls for matching\nclean_url <- function(url) {\n trimws(url) |> gsub(\"/$\", \"\", x = _) |> tolower()\n}\n\n# function to match outlink data with repo and website url per entry\nmatch_url <- function(outlinks_df, repo_info, column = \"repo_url\") {\n url_clean <- clean_url(outlinks_df$url)\n column_clean <- clean_url(repo_info[[column]])\n outlinks_df[[paste0(\"is_\", column)]] <- url_clean %in% column_clean\n outlinks_df[[paste0(\"ass_repo_\", column)]] <- repo_info$repo[match(url_clean,\n column_clean)]\n return(outlinks_df)\n}\n\n# apply the match url function on urls associated with repo entry\nfor(column in c(\"url\", \"website\", \"author_profile\", \"author_website\")) {\n outlinks_df <- match_url(outlinks_df, repo_info, column = column)\n}\n\n# filter for only repo url and website (ignore author info)\n# check whether associations match\noutlinks_df$associated_entry <- outlinks_df |>\n select(ass_repo_url, ass_repo_website) |>\n apply(1, function(x) {\n x <- x[!is.na(x)] |> unique()\n \n if(length(x) == 1) return(x[1]) \n if(length(x == 0) == 0) return(NA)\n if(length(x == 2)) return(\"do not correspond\")\n })\n\n# create a list of outlink visits by entry\nvisits_by_entry <- outlinks_df |>\n select(url, nb_visits, associated_entry) |>\n filter(!is.na(associated_entry)) |>\n group_by(associated_entry) |>\n summarise(total_visits = sum(nb_visits)) \n\nvisits_by_entry <- merge(visits_by_entry, repo_info,\n by.x = \"associated_entry\",\n by.y = \"repo\") |>\n arrange(desc(total_visits))\n\nvisits_by_namespace <- visits_by_entry |>\n select(total_visits, author_name) |>\n group_by(author_name) |>\n summarise(total_visits = sum(total_visits)) |>\n arrange(desc(total_visits))\n\n# visits by tag\nvisits_by_main_tag <- visits_by_entry |>\n select(total_visits, main_tag) |>\n group_by(main_tag) |>\n summarise(total_visits = sum(total_visits))\n\n# add main category information for plotting\nvisits_by_main_tag <- merge(visits_by_main_tag, tag_df,\n by.x = \"main_tag\",\n by.y = \"name\") |>\n mutate(visits_per_repo = total_visits/repositories) |>\n arrange(desc(visits_per_repo))\n\n\n\nThe number of outlink visits in the last year: 2408\nNumber of repositories found using Glittr.org: 262\nMost popular repo was TheAlgorithms/Python with 201 outlinks.\nMost popular namespace was TheAlgorithms with 201 outlinks."
},
{
"objectID": "index.html#number-of-repositories-by-category",
"href": "index.html#number-of-repositories-by-category",
"title": "Glittr stats",
"section": "Number of repositories by category",
- "text": "Number of repositories by category\nThis is figure 2A in the manuscript.\n\ncat_count_plot <- table(category = repo_info$main_category) |>\n as.data.frame() |>\n ggplot(aes(x = reorder(category, Freq), y = Freq, fill = category)) +\n geom_bar(stat = \"identity\") +\n scale_fill_manual(values = glittr_cols) +\n coord_flip() +\n theme_classic() +\n ggtitle(\"Categories\") +\n theme(legend.position = \"none\",\n axis.title.y = element_blank()) +\n ylab(\"Number of repositories\")\n\nprint(cat_count_plot)\n\n\n\n\n\n\nFigure 1: Number of repositories per category\n\n\n\n\nAnd a table with the actual numbers\n\ncategory_count <- table(category = repo_info$main_category) |> as.data.frame()\nknitr::kable(category_count)\n\n\nTable 1: Number of repositories per category\n\n\n\n\ncategory\nFreq\n\n\n\nScripting and languages\n313\n\n\nComputational methods and pipelines\n47\n\n\nOmics analysis\n154\n\n\nReproducibility and data management\n42\n\n\nStatistics and machine learning\n83\n\n\nOthers\n29"
+ "text": "Number of repositories by category\nThis is figure 2A in the manuscript.\n\ncat_count_plot <- table(category = repo_info$main_category) |>\n as.data.frame() |>\n ggplot(aes(x = reorder(category, Freq), y = Freq, fill = category)) +\n geom_bar(stat = \"identity\") +\n scale_fill_manual(values = glittr_cols) +\n coord_flip() +\n theme_classic() +\n ggtitle(\"Categories\") +\n theme(legend.position = \"none\",\n axis.title.y = element_blank()) +\n ylab(\"Number of repositories\")\n\nprint(cat_count_plot)\n\n\n\n\n\n\nFigure 1: Number of repositories per category\n\n\n\n\nAnd a table with the actual numbers\n\ncategory_count <- table(category = repo_info$main_category) |> as.data.frame()\nknitr::kable(category_count)\n\n\nTable 1: Number of repositories per category\n\n\n\n\ncategory\nFreq\n\n\n\nScripting and languages\n311\n\n\nComputational methods and pipelines\n48\n\n\nOmics analysis\n154\n\n\nReproducibility and data management\n43\n\n\nStatistics and machine learning\n83\n\n\nOthers\n29"
},
{
"objectID": "index.html#number-of-contributors-per-repository-separated-by-category",
"href": "index.html#number-of-contributors-per-repository-separated-by-category",
"title": "Glittr stats",
"section": "Number of contributors per repository separated by category",
- "text": "Number of contributors per repository separated by category\nThis is figure 2B in the manuscript.\n\nrepo_info_gh$main_category <- factor(repo_info_gh$main_category,\n levels = names(cat_table))\n\ncontributors_plot <- repo_info_gh |>\n ggplot(aes(x = main_category, y = contributors, fill = main_category)) +\n geom_violin(scale = \"width\") +\n geom_boxplot(width = 0.1, col = \"darkgrey\") +\n coord_flip() +\n ggtitle(\"Contributors\") +\n ylab(\"Number of contributors\") +\n scale_y_sqrt() +\n scale_fill_manual(values = glittr_cols) +\n theme_bw() +\n theme(legend.position = \"none\",\n axis.title.y = element_blank(),\n plot.margin = margin(t = 5, r = 10, b = 5, l = 10))\n\nprint(contributors_plot)\n\n\n\n\n\n\nFigure 2: Number of contributors per repository separated by category\n\n\n\n\nAnd some statistics of contributors.\n\nnna_contr <- repo_info_gh$contributors\nparam1 <- sum(nna_contr > 10)/length(nna_contr)\nparam2 <- sum(nna_contr > 1)/length(nna_contr)\nparam3 <- sum(nna_contr <= 5)/length(nna_contr)\n\n\nMore than 10 contributors: 25%\nMore than 1 contributor: 80.1%\nBetween 1 and 5 contributors: 60.3%"
+ "text": "Number of contributors per repository separated by category\nThis is figure 2B in the manuscript.\n\nrepo_info_gh$main_category <- factor(repo_info_gh$main_category,\n levels = names(cat_table))\n\ncontributors_plot <- repo_info_gh |>\n ggplot(aes(x = main_category, y = contributors, fill = main_category)) +\n geom_violin(scale = \"width\") +\n geom_boxplot(width = 0.1, col = \"darkgrey\") +\n coord_flip() +\n ggtitle(\"Contributors\") +\n ylab(\"Number of contributors\") +\n scale_y_sqrt() +\n scale_fill_manual(values = glittr_cols) +\n theme_bw() +\n theme(legend.position = \"none\",\n axis.title.y = element_blank(),\n plot.margin = margin(t = 5, r = 10, b = 5, l = 10))\n\nprint(contributors_plot)\n\n\n\n\n\n\nFigure 2: Number of contributors per repository separated by category\n\n\n\n\nAnd some statistics of contributors.\n\nnna_contr <- repo_info_gh$contributors\nparam1 <- sum(nna_contr > 10)/length(nna_contr)\nparam2 <- sum(nna_contr > 1)/length(nna_contr)\nparam3 <- sum(nna_contr <= 5)/length(nna_contr)\n\n\nMore than 10 contributors: 25%\nMore than 1 contributor: 80.1%\nBetween 1 and 5 contributors: 60.2%"
},
{
"objectID": "index.html#number-of-repositories-per-tag",
"href": "index.html#number-of-repositories-per-tag",
"title": "Glittr stats",
"section": "Number of repositories per tag",
- "text": "Number of repositories per tag\nThis is figure 2C in the manuscript.\n\ntag_freq_plot <- tag_df |>\n filter(repositories > 10) |>\n ggplot(aes(x = reorder(name, repositories),\n y = repositories, fill = category)) +\n geom_bar(stat = \"identity\") +\n coord_flip() +\n scale_fill_manual(values = glittr_cols) +\n ggtitle(\"Tags with > 10 repositories\") +\n ylab(\"Number of repositories\") +\n annotate(geom = \"text\", x = 2, y = 150,\n label = paste(\"Total number of tags: \",\n nrow(tag_df)),\n color=\"black\") +\n theme_classic() +\n theme(legend.position = \"none\",\n axis.title.y = element_blank())\n\nprint(tag_freq_plot)\n\n\n\n\n\n\nFigure 3: Number of repostories per tag, colored by category.\n\n\n\n\nAnd a table with the actual numbers.\n\ntag_df |>\n filter(repositories > 10) |>\n arrange(desc(repositories)) |>\n knitr::kable(row.names = FALSE)\n\n\nTable 2: Number of repositories per tag\n\n\n\n\n\n\n\n\n\nname\ncategory\nrepositories\n\n\n\nR\nScripting and languages\n269\n\n\nPython\nScripting and languages\n105\n\n\nTranscriptomics\nOmics analysis\n87\n\n\nRNA-seq\nOmics analysis\n83\n\n\nNext generation sequencing\nOmics analysis\n65\n\n\nStatistics\nStatistics and machine learning\n62\n\n\nData science\nStatistics and machine learning\n54\n\n\nGenomics\nOmics analysis\n53\n\n\nMachine learning\nStatistics and machine learning\n51\n\n\nSingle-cell sequencing\nOmics analysis\n50\n\n\nUnix/Linux\nScripting and languages\n40\n\n\nData management\nReproducibility and data management\n39\n\n\nReproducibility\nReproducibility and data management\n39\n\n\nData visualization\nScripting and languages\n36\n\n\nGeneral\nOthers\n34\n\n\nFAIR data\nReproducibility and data management\n32\n\n\nVariant analysis\nOmics analysis\n30\n\n\nVersion control\nScripting and languages\n26\n\n\nWorkflows\nComputational methods and pipelines\n21\n\n\nShiny\nScripting and languages\n20\n\n\nContainerization\nComputational methods and pipelines\n20\n\n\nMetagenomics\nOmics analysis\n18\n\n\nDocker\nComputational methods and pipelines\n16\n\n\nChIP-seq\nOmics analysis\n16\n\n\nJulia\nScripting and languages\n13\n\n\nNextflow\nComputational methods and pipelines\n12\n\n\nATAC-seq\nOmics analysis\n12\n\n\nEpigenetics\nOmics analysis\n12\n\n\nQuarto\nScripting and languages\n11\n\n\nImage analysis\nComputational methods and pipelines\n11"
+ "text": "Number of repositories per tag\nThis is figure 2C in the manuscript.\n\ntag_freq_plot <- tag_df |>\n filter(repositories > 10) |>\n ggplot(aes(x = reorder(name, repositories),\n y = repositories, fill = category)) +\n geom_bar(stat = \"identity\") +\n coord_flip() +\n scale_fill_manual(values = glittr_cols) +\n ggtitle(\"Tags with > 10 repositories\") +\n ylab(\"Number of repositories\") +\n annotate(geom = \"text\", x = 2, y = 150,\n label = paste(\"Total number of tags: \",\n nrow(tag_df)),\n color=\"black\") +\n theme_classic() +\n theme(legend.position = \"none\",\n axis.title.y = element_blank())\n\nprint(tag_freq_plot)\n\n\n\n\n\n\nFigure 3: Number of repostories per tag, colored by category.\n\n\n\n\nAnd a table with the actual numbers.\n\ntag_df |>\n filter(repositories > 10) |>\n arrange(desc(repositories)) |>\n knitr::kable(row.names = FALSE)\n\n\nTable 2: Number of repositories per tag\n\n\n\n\n\n\n\n\n\nname\ncategory\nrepositories\n\n\n\nR\nScripting and languages\n268\n\n\nPython\nScripting and languages\n104\n\n\nTranscriptomics\nOmics analysis\n87\n\n\nRNA-seq\nOmics analysis\n83\n\n\nNext generation sequencing\nOmics analysis\n65\n\n\nStatistics\nStatistics and machine learning\n61\n\n\nData science\nStatistics and machine learning\n55\n\n\nGenomics\nOmics analysis\n53\n\n\nMachine learning\nStatistics and machine learning\n51\n\n\nSingle-cell sequencing\nOmics analysis\n50\n\n\nUnix/Linux\nScripting and languages\n40\n\n\nData management\nReproducibility and data management\n40\n\n\nReproducibility\nReproducibility and data management\n39\n\n\nData visualization\nScripting and languages\n36\n\n\nGeneral\nOthers\n34\n\n\nFAIR data\nReproducibility and data management\n33\n\n\nVariant analysis\nOmics analysis\n30\n\n\nVersion control\nScripting and languages\n26\n\n\nWorkflows\nComputational methods and pipelines\n21\n\n\nShiny\nScripting and languages\n20\n\n\nContainerization\nComputational methods and pipelines\n20\n\n\nMetagenomics\nOmics analysis\n18\n\n\nDocker\nComputational methods and pipelines\n16\n\n\nChIP-seq\nOmics analysis\n16\n\n\nJulia\nScripting and languages\n13\n\n\nNextflow\nComputational methods and pipelines\n12\n\n\nATAC-seq\nOmics analysis\n12\n\n\nEpigenetics\nOmics analysis\n12\n\n\nQuarto\nScripting and languages\n11\n\n\nImage analysis\nComputational methods and pipelines\n11"
},
{
"objectID": "index.html#number-of-repositories-by-author",
@@ -81,7 +81,7 @@
"href": "index.html#number-of-repositories-per-license",
"title": "Glittr stats",
"section": "Number of repositories per license",
- "text": "Number of repositories per license\nThis is figure 2E in the manuscript.\n\nlic_freq_data <- table(license = repo_info$license,\n main_category = repo_info$main_category) |>\n as.data.frame()\n\nlic_freq_data$main_category <- factor(lic_freq_data$main_category,\n levels = names(cat_table))\n\nlic_freq_plot <- lic_freq_data |>\n ggplot(aes(x = reorder(license, Freq), y = Freq, fill = main_category)) +\n geom_bar(stat = \"identity\") +\n coord_flip() +\n scale_fill_manual(values = glittr_cols) +\n theme_classic() +\n ggtitle(\"License type\") +\n ylab(\"Number of repositories\") +\n theme(legend.position = \"none\",\n axis.title.y = element_blank())\n\nprint(lic_freq_plot)\n\n\n\n\n\n\nFigure 5: Number of repositories per license\n\n\n\n\nAnd a table with the actual numbers.\n\nrepo_info$license |>\n table() |>\n as.data.frame() |>\n mutate(perc = round(Freq/nrow(repo_info)*100, 1)) |>\n arrange(desc(Freq)) |>\n knitr::kable()\n\n\nTable 4: Number of repositories per license\n\n\n\n\nVar1\nFreq\nperc\n\n\n\nother\n225\n33.7\n\n\nnone\n193\n28.9\n\n\nmit\n74\n11.1\n\n\ncc-by-sa-4.0\n48\n7.2\n\n\ncc-by-4.0\n43\n6.4\n\n\ngpl-3.0\n30\n4.5\n\n\ncc0-1.0\n25\n3.7\n\n\napache-2.0\n12\n1.8\n\n\nbsd-3-clause\n12\n1.8\n\n\nagpl-3.0\n2\n0.3\n\n\nartistic-2.0\n2\n0.3\n\n\nunlicense\n1\n0.1\n\n\nwtfpl\n1\n0.1"
+ "text": "Number of repositories per license\nThis is figure 2E in the manuscript.\n\nlic_freq_data <- table(license = repo_info$license,\n main_category = repo_info$main_category) |>\n as.data.frame()\n\nlic_freq_data$main_category <- factor(lic_freq_data$main_category,\n levels = names(cat_table))\n\nlic_freq_plot <- lic_freq_data |>\n ggplot(aes(x = reorder(license, Freq), y = Freq, fill = main_category)) +\n geom_bar(stat = \"identity\") +\n coord_flip() +\n scale_fill_manual(values = glittr_cols) +\n theme_classic() +\n ggtitle(\"License type\") +\n ylab(\"Number of repositories\") +\n theme(legend.position = \"none\",\n axis.title.y = element_blank())\n\nprint(lic_freq_plot)\n\n\n\n\n\n\nFigure 5: Number of repositories per license\n\n\n\n\nAnd a table with the actual numbers.\n\nrepo_info$license |>\n table() |>\n as.data.frame() |>\n mutate(perc = round(Freq/nrow(repo_info)*100, 1)) |>\n arrange(desc(Freq)) |>\n knitr::kable()\n\n\nTable 4: Number of repositories per license\n\n\n\n\nVar1\nFreq\nperc\n\n\n\nother\n226\n33.8\n\n\nnone\n192\n28.7\n\n\nmit\n74\n11.1\n\n\ncc-by-sa-4.0\n48\n7.2\n\n\ncc-by-4.0\n43\n6.4\n\n\ngpl-3.0\n30\n4.5\n\n\ncc0-1.0\n25\n3.7\n\n\napache-2.0\n12\n1.8\n\n\nbsd-3-clause\n12\n1.8\n\n\nagpl-3.0\n2\n0.3\n\n\nartistic-2.0\n2\n0.3\n\n\nunlicense\n1\n0.1\n\n\nwtfpl\n1\n0.1"
},
{
"objectID": "index.html#number-of-repositories-per-country",
@@ -95,7 +95,7 @@
"href": "index.html#number-of-outlinks-by-repo",
"title": "Glittr stats",
"section": "Number of outlinks by repo",
- "text": "Number of outlinks by repo\nHere, we use the site data from matomo in order to investigate what visitors of Glittr.org have clicked on. This gives us an idea about which repositories and topics are popular among users. In Figure 7 we see that TheAlgorithms/Python was the most popular repository with 198 clicks.\n\nvisits_by_entry |>\n slice(1:30) |>\n ggplot(aes(x = reorder(associated_entry, total_visits),\n y = total_visits, fill = main_category)) +\n geom_bar(stat = \"identity\") +\n coord_flip() +\n scale_fill_manual(values = glittr_cols) +\n ggtitle(\"Top 30 of most outlinked repos\") +\n ylab(\"Number of outlinks\") +\n theme_classic() +\n theme(legend.position = \"none\",\n axis.title.y = element_blank())\n\n\n\n\n\n\nFigure 7: Top 30 of most visited repos from Glittr.org in the past year\n\n\n\n\n\nvisits_by_entry |>\n select(associated_entry, total_visits) |>\n rename(repository = associated_entry) |>\n slice(1:30) |>\n knitr::kable()\n\n\nTable 6: Number visits per repository\n\n\n\n\nrepository\ntotal_visits\n\n\n\nTheAlgorithms/Python\n198\n\n\njakevdp/PythonDataScienceHandbook\n89\n\n\nISUgenomics/bioinformatics-workbook\n77\n\n\nrealpython/python-guide\n70\n\n\ncxli233/FriendsDontLetFriends\n69\n\n\ngalaxyproject/training-material\n64\n\n\nlexfridman/mit-deep-learning\n61\n\n\nmlabonne/llm-course\n59\n\n\ntheislab/single-cell-tutorial\n57\n\n\nzhiwehu/Python-programming-exercises\n51\n\n\nhbctraining/Training-modules\n40\n\n\nhadley/r4ds\n39\n\n\ntrekhleb/learn-python\n39\n\n\nDataTalksClub/data-engineering-zoomcamp\n36\n\n\ninstillai/TensorFlow-Course\n36\n\n\nsib-swiss/single-cell-training\n36\n\n\nbobbyiliev/introduction-to-bash-scripting\n35\n\n\njeroenjanssens/data-science-at-the-command-line\n35\n\n\nYorko/mlcourse.ai\n34\n\n\ngoogle/comprehensive-rust\n31\n\n\nrmcelreath/stat_rethinking_2022\n29\n\n\nclauswilke/dataviz\n28\n\n\nharvardinformatics/learning-bioinformatics-at-home\n25\n\n\nhbctraining/scRNA-seq_online\n25\n\n\nFunctional-Genomics-Lab/Applied-Genomics\n23\n\n\ngenome/bfx-workshop\n23\n\n\nrstudio/bookdown\n22\n\n\nhadley/ggplot2-book\n20\n\n\nAllenDowney/ThinkStats2\n19\n\n\nsib-swiss/NGS-variants-training\n19\n\n\n\n\n\n\n\n\nIt becomes more interesting when we aggregate the data per main tag (Figure 8). This gives us an idea of topic which people are looking for when visiting glittr.org. The most popular topic is Python with 526 outlinks.\n\nvisits_by_main_tag |>\n slice(1:30) |>\n ggplot(aes(x = reorder(main_tag, total_visits),\n y = total_visits, fill = category)) +\n geom_bar(stat = \"identity\") +\n coord_flip() +\n scale_fill_manual(values = glittr_cols) +\n ggtitle(\"Top 30 of most outlinked main tags\") +\n ylab(\"Number of outlinks\") +\n theme_classic() +\n theme(legend.position = \"none\",\n axis.title.y = element_blank())\n\n\n\n\n\n\nFigure 8: Top 30 of most popular main tags from Glittr.org in the past year\n\n\n\n\nWhen we normalize the visits by number of repositories per tag (Figure 9), we can get an idea where training materials might be lacking. A high number here show repositories that are quite unique in what they teach, but are still popular. Here, we see that there are 2 repositires with the main tag Rust with an average of 24.5 outlinks.\n\nvisits_by_main_tag |>\n arrange(desc(visits_per_repo)) |>\n slice(1:30) |>\n ggplot(aes(x = reorder(main_tag, visits_per_repo),\n y = visits_per_repo, fill = category)) +\n geom_bar(stat = \"identity\") +\n coord_flip() +\n scale_fill_manual(values = glittr_cols) +\n ggtitle(\"Top 30 of most outlinked main tags normalized by repo number\") +\n ylab(\"Number of outlinks per tag/number of repositories having tag\") +\n theme_classic() +\n theme(legend.position = \"none\",\n axis.title.y = element_blank())\n\n\n\n\n\n\nFigure 9: Top 30 of most popular main tags normalized per repo from Glittr.org in the past year\n\n\n\n\n\nvisits_by_main_tag |>\n slice(1:30) |>\n knitr::kable()\n\n\nTable 7: Number visits per tag\n\n\n\n\n\n\n\n\n\n\n\nmain_tag\ntotal_visits\ncategory\nrepositories\nvisits_per_repo\n\n\n\nRust\n49\nScripting and languages\n2\n24.5000000\n\n\nGalaxy\n64\nComputational methods and pipelines\n3\n21.3333333\n\n\nArtificial intelligence\n59\nStatistics and machine learning\n5\n11.8000000\n\n\nSpatial transcriptomics\n56\nOmics analysis\n9\n6.2222222\n\n\nGeneral\n208\nOthers\n34\n6.1176471\n\n\nMultiomics\n23\nOmics analysis\n4\n5.7500000\n\n\nPython\n526\nScripting and languages\n105\n5.0095238\n\n\nC/C++\n5\nScripting and languages\n1\n5.0000000\n\n\nMachine learning\n212\nStatistics and machine learning\n51\n4.1568627\n\n\nData visualization\n138\nScripting and languages\n36\n3.8333333\n\n\nWorkflows\n71\nComputational methods and pipelines\n21\n3.3809524\n\n\nSingle-cell sequencing\n169\nOmics analysis\n50\n3.3800000\n\n\nLong read sequencing\n24\nOmics analysis\n9\n2.6666667\n\n\nUnix/Linux\n93\nScripting and languages\n40\n2.3250000\n\n\nMATLAB/Octave\n2\nScripting and languages\n1\n2.0000000\n\n\nQuarto\n21\nScripting and languages\n11\n1.9090909\n\n\nProteomics\n15\nOmics analysis\n8\n1.8750000\n\n\nCloud computing\n17\nComputational methods and pipelines\n10\n1.7000000\n\n\nGenomics\n84\nOmics analysis\n53\n1.5849057\n\n\nGNU Make\n3\nScripting and languages\n2\n1.5000000\n\n\nPathways and Networks\n7\nOmics analysis\n5\n1.4000000\n\n\nStatistics\n83\nStatistics and machine learning\n62\n1.3387097\n\n\nContainerization\n22\nComputational methods and pipelines\n20\n1.1000000\n\n\nSQL\n3\nScripting and languages\n3\n1.0000000\n\n\nEpigenetics\n11\nOmics analysis\n12\n0.9166667\n\n\nData science\n48\nStatistics and machine learning\n54\n0.8888889\n\n\nMetagenomics\n13\nOmics analysis\n18\n0.7222222\n\n\nNext generation sequencing\n46\nOmics analysis\n65\n0.7076923\n\n\nR\n176\nScripting and languages\n269\n0.6542751\n\n\nVariant analysis\n17\nOmics analysis\n30\n0.5666667\n\n\n\n\n\n\n\n\nWe can also check popularity by namespace, i.e. author (Table 8).\n\nvisits_by_namespace |>\n slice(1:30) |>\n knitr::kable()\n\n\nTable 8: Number visits per namespace\n\n\n\n\nauthor_name\ntotal_visits\n\n\n\nTheAlgorithms\n198\n\n\nsib-swiss\n189\n\n\njakevdp\n89\n\n\nhadley\n81\n\n\nNBISweden\n79\n\n\nhbctraining\n78\n\n\nISUgenomics\n77\n\n\nrealpython\n70\n\n\ncxli233\n69\n\n\ntheislab\n69\n\n\ngalaxyproject\n64\n\n\nlexfridman\n61\n\n\nmlabonne\n59\n\n\ncarpentries-incubator\n53\n\n\nzhiwehu\n51\n\n\ntrekhleb\n39\n\n\nDataTalksClub\n36\n\n\ninstillai\n36\n\n\nbobbyiliev\n35\n\n\njeroenjanssens\n35\n\n\nrmcelreath\n35\n\n\nYorko\n34\n\n\ngoogle\n31\n\n\nclauswilke\n28\n\n\nAllenDowney\n26\n\n\nharvardinformatics\n25\n\n\nrstudio\n25\n\n\nFunctional-Genomics-Lab\n23\n\n\ngenome\n23\n\n\ngriffithlab\n21"
+ "text": "Number of outlinks by repo\nHere, we use the site data from matomo in order to investigate what visitors of Glittr.org have clicked on. This gives us an idea about which repositories and topics are popular among users. In Figure 7 we see that TheAlgorithms/Python was the most popular repository with 201 clicks.\n\nvisits_by_entry |>\n slice(1:30) |>\n ggplot(aes(x = reorder(associated_entry, total_visits),\n y = total_visits, fill = main_category)) +\n geom_bar(stat = \"identity\") +\n coord_flip() +\n scale_fill_manual(values = glittr_cols) +\n ggtitle(\"Top 30 of most outlinked repos\") +\n ylab(\"Number of outlinks\") +\n theme_classic() +\n theme(legend.position = \"none\",\n axis.title.y = element_blank())\n\n\n\n\n\n\nFigure 7: Top 30 of most visited repos from Glittr.org in the past year\n\n\n\n\n\nvisits_by_entry |>\n select(associated_entry, total_visits) |>\n rename(repository = associated_entry) |>\n slice(1:30) |>\n knitr::kable()\n\n\nTable 6: Number visits per repository\n\n\n\n\nrepository\ntotal_visits\n\n\n\nTheAlgorithms/Python\n201\n\n\njakevdp/PythonDataScienceHandbook\n89\n\n\nISUgenomics/bioinformatics-workbook\n79\n\n\nrealpython/python-guide\n71\n\n\ncxli233/FriendsDontLetFriends\n70\n\n\ngalaxyproject/training-material\n66\n\n\nlexfridman/mit-deep-learning\n63\n\n\nmlabonne/llm-course\n60\n\n\ntheislab/single-cell-tutorial\n58\n\n\nzhiwehu/Python-programming-exercises\n50\n\n\nhbctraining/Training-modules\n41\n\n\nhadley/r4ds\n39\n\n\ntrekhleb/learn-python\n39\n\n\nbobbyiliev/introduction-to-bash-scripting\n37\n\n\ninstillai/TensorFlow-Course\n37\n\n\nDataTalksClub/data-engineering-zoomcamp\n36\n\n\njeroenjanssens/data-science-at-the-command-line\n36\n\n\nsib-swiss/single-cell-training\n36\n\n\nYorko/mlcourse.ai\n34\n\n\ngoogle/comprehensive-rust\n31\n\n\nrmcelreath/stat_rethinking_2022\n29\n\n\nclauswilke/dataviz\n28\n\n\nharvardinformatics/learning-bioinformatics-at-home\n27\n\n\ngenome/bfx-workshop\n25\n\n\nhbctraining/scRNA-seq_online\n25\n\n\nFunctional-Genomics-Lab/Applied-Genomics\n23\n\n\nrstudio/bookdown\n22\n\n\nhadley/ggplot2-book\n20\n\n\nAllenDowney/ThinkStats2\n19\n\n\nsib-swiss/NGS-variants-training\n19\n\n\n\n\n\n\n\n\nIt becomes more interesting when we aggregate the data per main tag (Figure 8). This gives us an idea of topic which people are looking for when visiting glittr.org. The most popular topic is Python with 531 outlinks.\n\nvisits_by_main_tag |>\n slice(1:30) |>\n ggplot(aes(x = reorder(main_tag, total_visits),\n y = total_visits, fill = category)) +\n geom_bar(stat = \"identity\") +\n coord_flip() +\n scale_fill_manual(values = glittr_cols) +\n ggtitle(\"Top 30 of most outlinked main tags\") +\n ylab(\"Number of outlinks\") +\n theme_classic() +\n theme(legend.position = \"none\",\n axis.title.y = element_blank())\n\n\n\n\n\n\nFigure 8: Top 30 of most popular main tags from Glittr.org in the past year\n\n\n\n\nWhen we normalize the visits by number of repositories per tag (Figure 9), we can get an idea where training materials might be lacking. A high number here show repositories that are quite unique in what they teach, but are still popular. Here, we see that there are 2 repositires with the main tag Rust with an average of 24.5 outlinks.\n\nvisits_by_main_tag |>\n arrange(desc(visits_per_repo)) |>\n slice(1:30) |>\n ggplot(aes(x = reorder(main_tag, visits_per_repo),\n y = visits_per_repo, fill = category)) +\n geom_bar(stat = \"identity\") +\n coord_flip() +\n scale_fill_manual(values = glittr_cols) +\n ggtitle(\"Top 30 of most outlinked main tags normalized by repo number\") +\n ylab(\"Number of outlinks per tag/number of repositories having tag\") +\n theme_classic() +\n theme(legend.position = \"none\",\n axis.title.y = element_blank())\n\n\n\n\n\n\nFigure 9: Top 30 of most popular main tags normalized per repo from Glittr.org in the past year\n\n\n\n\n\nvisits_by_main_tag |>\n slice(1:30) |>\n knitr::kable()\n\n\nTable 7: Number visits per tag\n\n\n\n\n\n\n\n\n\n\n\nmain_tag\ntotal_visits\ncategory\nrepositories\nvisits_per_repo\n\n\n\nRust\n49\nScripting and languages\n2\n24.5000000\n\n\nGalaxy\n71\nComputational methods and pipelines\n3\n23.6666667\n\n\nArtificial intelligence\n79\nStatistics and machine learning\n6\n13.1666667\n\n\nGeneral\n219\nOthers\n34\n6.4411765\n\n\nMultiomics\n23\nOmics analysis\n4\n5.7500000\n\n\nSpatial transcriptomics\n51\nOmics analysis\n9\n5.6666667\n\n\nPython\n531\nScripting and languages\n104\n5.1057692\n\n\nMachine learning\n199\nStatistics and machine learning\n51\n3.9019608\n\n\nData visualization\n139\nScripting and languages\n36\n3.8611111\n\n\nWorkflows\n71\nComputational methods and pipelines\n21\n3.3809524\n\n\nSingle-cell sequencing\n165\nOmics analysis\n50\n3.3000000\n\n\nLong read sequencing\n24\nOmics analysis\n9\n2.6666667\n\n\nUnix/Linux\n97\nScripting and languages\n40\n2.4250000\n\n\nMATLAB/Octave\n2\nScripting and languages\n1\n2.0000000\n\n\nQuarto\n21\nScripting and languages\n11\n1.9090909\n\n\nProteomics\n15\nOmics analysis\n8\n1.8750000\n\n\nCloud computing\n17\nComputational methods and pipelines\n10\n1.7000000\n\n\nGenomics\n88\nOmics analysis\n53\n1.6603774\n\n\nPathways and Networks\n8\nOmics analysis\n5\n1.6000000\n\n\nGNU Make\n3\nScripting and languages\n2\n1.5000000\n\n\nStatistics\n83\nStatistics and machine learning\n61\n1.3606557\n\n\nContainerization\n22\nComputational methods and pipelines\n20\n1.1000000\n\n\nEpigenetics\n11\nOmics analysis\n12\n0.9166667\n\n\nData science\n50\nStatistics and machine learning\n55\n0.9090909\n\n\nMetagenomics\n13\nOmics analysis\n18\n0.7222222\n\n\nNext generation sequencing\n46\nOmics analysis\n65\n0.7076923\n\n\nR\n179\nScripting and languages\n268\n0.6679104\n\n\nHigh performance computing\n6\nComputational methods and pipelines\n10\n0.6000000\n\n\nTranscriptomics\n51\nOmics analysis\n87\n0.5862069\n\n\nVariant analysis\n17\nOmics analysis\n30\n0.5666667\n\n\n\n\n\n\n\n\nWe can also check popularity by namespace, i.e. author (Table 8).\n\nvisits_by_namespace |>\n slice(1:30) |>\n knitr::kable()\n\n\nTable 8: Number visits per namespace\n\n\n\n\nauthor_name\ntotal_visits\n\n\n\nTheAlgorithms\n201\n\n\nsib-swiss\n189\n\n\njakevdp\n89\n\n\nhbctraining\n85\n\n\nhadley\n84\n\n\nNBISweden\n80\n\n\nISUgenomics\n79\n\n\nrealpython\n71\n\n\ncxli233\n70\n\n\ntheislab\n70\n\n\ngalaxyproject\n66\n\n\nlexfridman\n63\n\n\nmlabonne\n60\n\n\ncarpentries-incubator\n54\n\n\nzhiwehu\n50\n\n\ntrekhleb\n39\n\n\nbobbyiliev\n37\n\n\ninstillai\n37\n\n\nDataTalksClub\n36\n\n\njeroenjanssens\n36\n\n\nrmcelreath\n35\n\n\nYorko\n34\n\n\ngoogle\n31\n\n\nclauswilke\n28\n\n\nharvardinformatics\n27\n\n\nAllenDowney\n26\n\n\ngenome\n25\n\n\nrstudio\n25\n\n\nFunctional-Genomics-Lab\n23\n\n\ngriffithlab\n23"
},
{
"objectID": "index.html#summary-plot",
diff --git a/sitemap.xml b/sitemap.xml
index 209e8a9..d57149d 100644
--- a/sitemap.xml
+++ b/sitemap.xml
@@ -2,6 +2,6 @@
https://sib-swiss.github.io/glittr-stats/index.html
- 2024-11-10T01:01:49.021Z
+ 2024-11-17T01:05:24.922Z