{"id":12278,"name":"oneimpact","description":"Provides tools for the assessment of cumulative impacts of multiple infrastructure and land use modifications in ecological studies.","url":"https://github.com/NINAnor/oneimpact","last_synced_at":"2026-04-29T05:30:17.993Z","repository":{"id":54469378,"uuid":"453101311","full_name":"NINAnor/oneimpact","owner":"NINAnor","description":"Tools for the assessment of the cumulative impacts of anthropogenic features in ecological studies","archived":false,"fork":false,"pushed_at":"2025-12-05T18:30:17.000Z","size":162006,"stargazers_count":4,"open_issues_count":8,"forks_count":5,"subscribers_count":4,"default_branch":"main","last_synced_at":"2026-04-15T23:02:47.274Z","etag":null,"topics":["biodiversity","cumulative-impacts","grass-gis","r","r-package","spatial-ecology"],"latest_commit_sha":null,"homepage":"https://ninanor.github.io/oneimpact/","language":"R","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/NINAnor.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-01-28T14:38:29.000Z","updated_at":"2026-01-23T13:12:27.000Z","dependencies_parsed_at":"2024-04-15T20:40:43.159Z","dependency_job_id":"d1493467-351d-4e74-a23c-7b6c2f41b475","html_url":"https://github.com/NINAnor/oneimpact","commit_stats":{"total_commits":212,"total_committers":4,"mean_commits":53.0,"dds":0.09433962264150941,"last_synced_commit":"81532bcf0b00f1c4e5eb7ec469ba26f0d44a153f"},"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/NINAnor/oneimpact","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NINAnor%2Foneimpact","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NINAnor%2Foneimpact/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NINAnor%2Foneimpact/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NINAnor%2Foneimpact/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NINAnor","download_url":"https://codeload.github.com/NINAnor/oneimpact/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NINAnor%2Foneimpact/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32117798,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-22T00:31:26.853Z","status":"online","status_checked_at":"2026-04-22T02:00:05.693Z","response_time":58,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"owner":{"login":"NINAnor","name":"Norwegian Institute for Nature Research","uuid":"11290934","kind":"organization","description":"NINA repositories. Also on GitLab: https://gitlab.com/nina-data.","email":null,"website":"http://www.nina.no","location":"Norway","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/11290934?v=4","repositories_count":114,"last_synced_at":"2023-06-13T16:15:20.551Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/NINAnor","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-05T08:34:40.846Z","updated_at":"2023-06-13T16:15:20.615Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NINAnor","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NINAnor/repositories"},"packages":[],"commits":{"id":1327778,"full_name":"NINAnor/oneimpact","default_branch":"main","total_commits":488,"total_committers":6,"total_bot_commits":0,"total_bot_committers":0,"mean_commits":81.33333333333333,"dds":0.026639344262295084,"past_year_total_commits":55,"past_year_total_committers":3,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":18.333333333333332,"past_year_dds":0.054545454545454564,"last_synced_at":"2026-04-26T04:01:34.629Z","last_synced_commit":"ba09523fe0623243b6911a0a9fb18cbe41e211d8","created_at":"2023-09-11T16:26:17.000Z","updated_at":"2026-04-26T04:01:01.969Z","committers":[{"name":"Bernardo Brandao Niebuhr","email":"bernardo_brandaum@yahoo.com.br","login":"bniebuhr","count":475},{"name":"Francesco Frassinelli","email":"francesco.frassinelli@nina.no","login":"frafra","count":8},{"name":"Bernardo Brandão Niebuhr dos Santos","email":"bernardo.brandao@nina.no","login":null,"count":2},{"name":"Stefan Blumentrath","email":"stefan.blumentrath@gmx.de","login":"ninsbl","count":1},{"name":"Niccolò Cantù","email":"niccolo.cantu@nina.no","login":"nicokant","count":1},{"name":"Neriht","email":"33090326+Neriht","login":"Neriht","count":1}],"past_year_committers":[{"name":"Bernardo Brandao Niebuhr","email":"bernardo_brandaum@yahoo.com.br","login":"bniebuhr","count":52},{"name":"Bernardo Brandão Niebuhr dos Santos","email":"bernardo.brandao@nina.no","login":null,"count":2},{"name":"Francesco Frassinelli","email":"francesco.frassinelli@nina.no","login":"frafra","count":1}],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/NINAnor%2Foneimpact/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-04-28T00:00:07.369Z","repositories_count":6220950,"commits_count":899969262,"contributors_count":34882066,"owners_count":1146630,"icon_url":"https://github.com/github.png","host_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories"}},"issues_stats":{"full_name":"NINAnor/oneimpact","html_url":"https://github.com/NINAnor/oneimpact","last_synced_at":"2026-04-22T02:00:23.055Z","status":"error","issues_count":23,"pull_requests_count":14,"avg_time_to_close_issue":29534477.666666668,"avg_time_to_close_pull_request":1319964.0,"issues_closed_count":12,"pull_requests_closed_count":14,"pull_request_authors_count":5,"issue_authors_count":2,"avg_comments_per_issue":0.9565217391304348,"avg_comments_per_pull_request":0.8571428571428571,"merged_pull_requests_count":13,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":1,"past_year_pull_requests_count":5,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":1562377.4,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":5,"past_year_pull_request_authors_count":3,"past_year_issue_authors_count":1,"past_year_avg_comments_per_issue":0.0,"past_year_avg_comments_per_pull_request":1.2,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":5,"created_at":"2023-09-11T16:26:49.019Z","updated_at":"2026-04-22T02:00:23.056Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/NINAnor%2Foneimpact","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/NINAnor%2Foneimpact/issues","issue_labels_count":{"enhancement":3},"pull_request_labels_count":{},"issue_author_associations_count":{"COLLABORATOR":21,"NONE":2},"pull_request_author_associations_count":{"CONTRIBUTOR":6,"COLLABORATOR":5,"NONE":3},"issue_authors":{"bniebuhr":21,"renatamuy":2},"pull_request_authors":{"bniebuhr":5,"frafra":4,"nicokant":2,"Neriht":2,"ninsbl":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-04-24T00:00:07.455Z","repositories_count":14378526,"issues_count":34463336,"pull_requests_count":112818159,"authors_count":11243855,"icon_url":"https://github.com/github.png","host_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories","owners_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/owners","authors_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors"},"past_year_issue_labels_count":{},"past_year_pull_request_labels_count":{},"past_year_issue_author_associations_count":{},"past_year_pull_request_author_associations_count":{"CONTRIBUTOR":1},"past_year_issue_authors":{},"past_year_pull_request_authors":{"frafra":1},"maintainers":[{"login":"bniebuhr","count":26,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/bniebuhr"}],"active_maintainers":[]},"events":{"total":{"DeleteEvent":3,"PullRequestEvent":3,"ForkEvent":1,"IssuesEvent":6,"IssueCommentEvent":6,"PushEvent":60},"last_year":{"IssuesEvent":4,"IssueCommentEvent":4,"PushEvent":21}},"keywords":["biodiversity","cumulative-impacts","grass-gis","r","r-package","spatial-ecology"],"dependencies":[{"ecosystem":"cran","filepath":"DESCRIPTION","sha":null,"kind":"manifest","created_at":"2022-08-13T16:40:36.594Z","updated_at":"2022-08-13T16:40:36.594Z","repository_link":"https://github.com/NINAnor/oneimpact/blob/main/DESCRIPTION","dependencies":[{"id":1457221049,"package_name":"R","ecosystem":"cran","requirements":"\u003e= 3.3","direct":true,"kind":"depends","optional":false},{"id":1457221050,"package_name":"dplyr","ecosystem":"cran","requirements":"*","direct":true,"kind":"imports","optional":false},{"id":1457221051,"package_name":"tibble","ecosystem":"cran","requirements":"*","direct":true,"kind":"imports","optional":false},{"id":1457221052,"package_name":"purrr","ecosystem":"cran","requirements":"*","direct":true,"kind":"imports","optional":false},{"id":1457221053,"package_name":"rgrass7","ecosystem":"cran","requirements":"*","direct":true,"kind":"imports","optional":false},{"id":1457221054,"package_name":"terra","ecosystem":"cran","requirements":"*","direct":true,"kind":"imports","optional":false},{"id":1457221055,"package_name":"sf","ecosystem":"cran","requirements":"*","direct":true,"kind":"imports","optional":false},{"id":1457221056,"package_name":"ggplot2","ecosystem":"cran","requirements":"*","direct":true,"kind":"imports","optional":false},{"id":1457221057,"package_name":"scales","ecosystem":"cran","requirements":"*","direct":true,"kind":"imports","optional":false},{"id":1457221058,"package_name":"raster","ecosystem":"cran","requirements":"*","direct":true,"kind":"suggests","optional":false},{"id":1457221059,"package_name":"landscapetools","ecosystem":"cran","requirements":"*","direct":true,"kind":"suggests","optional":false},{"id":1457221060,"package_name":"NLMR","ecosystem":"cran","requirements":"*","direct":true,"kind":"suggests","optional":false},{"id":1457221061,"package_name":"smoothie","ecosystem":"cran","requirements":"*","direct":true,"kind":"suggests","optional":false},{"id":1457221062,"package_name":"rasterVis","ecosystem":"cran","requirements":"*","direct":true,"kind":"suggests","optional":false},{"id":1457221063,"package_name":"mobsim","ecosystem":"cran","requirements":"*","direct":true,"kind":"suggests","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/docker.yaml","sha":null,"kind":"manifest","created_at":"2023-01-21T03:02:54.379Z","updated_at":"2023-01-21T03:02:54.379Z","repository_link":"https://github.com/NINAnor/oneimpact/blob/main/.github/workflows/docker.yaml","dependencies":[{"id":7072279999,"package_name":"docker/setup-qemu-action","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":7072280000,"package_name":"docker/setup-buildx-action","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":7072280001,"package_name":"docker/metadata-action","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false},{"id":7072280002,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false},{"id":7072280003,"package_name":"docker/login-action","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":7072280004,"package_name":"docker/build-push-action","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/pkgdown.yaml","sha":null,"kind":"manifest","created_at":"2023-01-21T03:02:54.391Z","updated_at":"2023-01-21T03:02:54.391Z","repository_link":"https://github.com/NINAnor/oneimpact/blob/main/.github/workflows/pkgdown.yaml","dependencies":[{"id":7072280005,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":7072280006,"package_name":"r-lib/actions/setup-pandoc","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false},{"id":7072280007,"package_name":"r-lib/actions/setup-r","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false},{"id":7072280008,"package_name":"r-lib/actions/setup-r-dependencies","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"docker","filepath":"Dockerfile","sha":null,"kind":"manifest","created_at":"2023-01-21T03:02:54.419Z","updated_at":"2023-01-21T03:02:54.419Z","repository_link":"https://github.com/NINAnor/oneimpact/blob/main/Dockerfile","dependencies":[{"id":7072280009,"package_name":"rocker/geospatial","ecosystem":"docker","requirements":"4.2.1","direct":true,"kind":"build","optional":false}]},{"ecosystem":"docker","filepath":"docker-compose.yml","sha":null,"kind":"manifest","created_at":"2023-09-21T19:47:39.282Z","updated_at":"2023-09-21T19:47:39.282Z","repository_link":"https://github.com/NINAnor/oneimpact/blob/main/docker-compose.yml","dependencies":[]}],"score":4.276666119016055,"created_at":"2023-09-11T14:41:13.586Z","updated_at":"2026-04-29T05:30:17.994Z","avatar_url":"https://github.com/NINAnor.png","language":"R","category":"Biosphere","sub_category":"Biodiversity Analysis and Metrics","monthly_downloads":0,"total_dependent_repos":0,"total_dependent_packages":0,"readme":"# oneimpact \u003cimg src=\"man/figures/oneimpact_hex_logo.png\" align=\"right\" alt=\"\" width=\"150\" /\u003e\n\n\u003c!-- badges: start --\u003e\n  [![DOI](https://zenodo.org/badge/453101311.svg)](https://zenodo.org/badge/latestdoi/453101311)\n\u003c!--  [![R-CMD-check](https://github.com/NINAnor/oneimpact/workflows/R-CMD-check/badge.svg)](https://github.com/NINAnor/oneimpact/actions) --\u003e\n\u003c!-- badges: end --\u003e\n\n`oneimpact` provides tools for the assessment of cumulative impacts of multiple infrastructure and land use modifications in ecological studies.\nThis includes tools to calculate the zone of influence (ZOI) of anthropogenic variables as well as tools for model fitting, estimation of the \neffect size and ZOI, and ancillary functions. The functions dealing with spatial data processing can \nbe run in both R and GRASS GIS, using R as an interface. The tools available so far are:\n\n## Compute spatial layers representing zones of influence\n\nThe first set of functions in `oneimpact` are aimed at computing the (potential) ZOI of infrastructure or other\nspatial covariates. This means we use spatial information on where they are located to compute\nthe density of features in space (i.e. the cumulative ZOI) and/or the (decay) distance to the nearest\nfeature (i.e. the ZOI of the nearest), given an expected ZOI radius (i.e. the distance up to which\na given feature is expected to affect a certain species or process). These functions do not estimate\nthe ZOI, though (which is context and process dependent); for that see more functions further down.\n\nHere are the main functions in `oneimpact` to compute spatial layers representing zones of influence.\n\n### Zone of influence (ZOI) decay functions\n\n- zoi_functions: a set of decay zone of influence functions to characterize different shapes of the ZOI around infrastructure, \nparameterized based on the zone of influence radius. The functions implemented so far are: threshold (`threshold_decay()` or `step_decay()`),\nlinear decay (`linear_decay()` or `bartlett_decay()` or `tent_decay()`), exponential decay (`exp_decay()`), or Gaussian decay \n(`gaussian_decay()` or `half_norm_decay()`).\n- `plot_zoi1d()`: plot ZOI in 1 dimensional space for multiple points infrastructure, using both the ZOI of the nearest\nfeature and the cumulative ZOI metric.\n\n### Compute zones of influence (ZOI)\n\n- `calc_zoi_nearest()`: Calculate the zone of influence from the nearest infrastructure, according to multiple possible \ndecay functions and zones of influence radii.\n- `calc_zoi_cumulative()`: Calculate the cumulative zone of influence of multiple features, according to multiple possible \ndecay functions and zones of influence radii.\n- `calc_zoi()`: Calculate both the the ZOI of the nearest infrastructure and the cumulative ZOI, at multiple\nscales or zones of influence radii.\n\n### Spatial filters\n\n- `create_filter()`: Create filters or weight matrices for neighborhood analysis, according to different decay functions\nand parameterized using the zone of influence radius.\n- `save_filter()`: Saves filters/weight matrices outside R for use within GRASS GIS modules.\n\n## Estimate the cumulative impact and the ZOI of features on a certain species or process\n\nThe `oneimpact` package also allows us to, given a set of potential candidate ZOIs (with possibly\ndifferent types, shapes, and radii; computed with the functions above), estimate the actual \neffect and ZOI of the variables on a certain species or process. This is done combining three elements:\n\n- Bootstrap aggregation (bagging), a multi-model bootstrap procedure that allows us to estimate the \nuncertainty in the effect sizes and ZOI radii;\n- Penalized regression, an approach that allows us to penalize estimated coefficients and possibly \nremove the least likely covariates from a model, i.e., it allows us to perform model fitting together\nwith variable section;\n- Nested cross-validation, which allows is to consider hierarchical, spatial, or temporally cross-validation\nschemes in model and variable/feature selection.\n\n### Estimating ZOI - set up analysis\n\nFunctions to set up RSF and SSF analyses using ZOI variables:\n\n- `add_zoi_formula()`: Adds ZOI radii to formula\n- `spat_strat()`: Prepares data for spatially stratified cross‐validation schemes\n- `explore_blocks_pre()` and `explore_blocks()`: Explore hierarchical blocks before or \nafter sampling or spatial stratification, respectively\n- `create_resamples()`: Create samples for fitting, calibrating, and validating models in\na bootstrap/baggin procedure.\n\n### Estimating ZOI - fit models\n\nFunctions to fit RSF and SSF and estimate ZOI using penalized regression\n\n- `bag_fit_net_clogit()`: Fits a a bag of conditional logistic regressions/SSF/iSSF using glmnet. \nThis function is a wrapper around `fit_net_clogit()` which is the one properly setting up the \nmodel fitting, tunning, and validation. It allows the use of different penalization algorithms,\nincluding Lasso, Ridge, Adaptive Lasso, and different adaptations from Adaptive Lasso. This\nfunction calls the function `net_logit()` which is the one properly calling `glmnet` and fitting\nthe model.\n- `bag_fit_net_logit()` (and `fit_net_logit()`, `net_logit()`): equivalent to the one above, but\nperforming common logistic regression, with no strata.\n\n- `bag_load_models()`: Load a vector of files with the output of `fit_net_clogit()` or \n`fit_net_logit()` and put them on a bag.\n- `bag_models()`: Bag a list of loaded/fitted models fitted through `fit_net_clogit()` or \n`fit_net_logit()`. This created an object of class `bag` with all information for understanding\nand making prediction from the bag of models.\n- `AUC()`, `conditionalAUC()`, `coxnet.deviance()`, `Cindex()`, `conditionalSomersD()`: functions\nused for model tunning (selecting penalties) and validation.\n\n### Estimating ZOI - interpret and visualize models\n\nFunctions to help interpreting parameters and visualizing cumulative impacts from bags\nof fitted models:\n\n- `predict()`: Prediction of a bag of models to new data.\n- `variable_importance()`, `plot_importance()`: Computes and plots variable importance from a bag of models.\n- `plot_coef()`: Plots the coefficients of bags of models.\n- `plot_response()`: Plots (partial) response curves from a bag of models.\n- `bag_predict_spat()`: Predict bag of models in space.\n- `bag_predict_spat_vars()`: Predict reponses of each individual covariate in space according to \na bag of models.\n\n## Installation\n\nTo install the development version of the `oneimpact` R package, please use:\n\n```\nlibrary(devtools)\ndevtools::install_github(\"NINAnor/oneimpact\", ref = \"HEAD\")\n```\n\n## Run with Docker\n\n```bash\ndocker run --rm -p 8787:8787 -e PASSWORD=rstudio -v $PWD/myproject:/home/rstudio/myproject ghcr.io/ninanor/oneimpact:main\n```\n\nIf you use Compose:\n\n```bash\ndocker compose run rstudio\n```\n\nYou can customize `docker-compose.yml` based on your needs.\n\n## See also\n\nFor model fitting and estimation of ZOI, see the pacakage [`glmnet`](https://glmnet.stanford.edu/index.html),\nwhich is the backbone of the modeling approach used in `oneimpact`. For other similar approaches,\ncheck the [`maxnet()`](https://cran.r-project.org/web/packages/maxnet/index.html) for MaxEnt \nspecies distribution models using `glmnet`.\n\nThe `oneimpact` functions to compute the ZOI layers are greatly based on neighborhood analyses \nmade through the [`terra` package](https://rspatial.org/terra/pkg/index.html) in R and on three GRASS GIS modules:\n[`r.mfilter`](https://grass.osgeo.org/grass78/manuals/r.mfilter.html), \n[`r.resamp.filter`](https://grass.osgeo.org/grass78/manuals/r.resamp.filter.html), and \n[`r.neighbors`](https://grass.osgeo.org/grass78/manuals/r.neighbors.html). The connection\nbetween R and GRASS GIS is made through the [`rgrass`](https://github.com/rsbivand/rgrass) R package.\n\n## Meta\n\n  - Please [report any issues or bugs](https://github.com/NINAnor/oneimpact/issues/new/).\n  - License: GPL3\n  - Get citation information for `oneimpact` in R running `citation(package = 'oneimpact')`, or check the reference [here](https://ninanor.github.io/oneimpact/authors.html#citation).\n  - Contributions are mostly welcome!\n","funding_links":[],"readme_doi_urls":[],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":[],"project_url":"https://ost.ecosyste.ms/api/v1/projects/12278","html_url":"https://ost.ecosyste.ms/projects/12278"}