{"id":18404655,"url":"https://github.com/romunov/wolfexplorer","last_synced_at":"2026-04-01T17:20:31.657Z","repository":{"id":144877632,"uuid":"105547250","full_name":"romunov/wolfexplorer","owner":"romunov","description":"Explorer designed to visualize complex multi-year multi-specimen data. Case study of Slovenian wolves.","archived":false,"fork":false,"pushed_at":"2019-06-14T06:12:48.000Z","size":33121,"stargazers_count":6,"open_issues_count":10,"forks_count":3,"subscribers_count":2,"default_branch":"master","last_synced_at":"2026-03-28T00:37:12.589Z","etag":null,"topics":["animals","cartography","genetics","mcp","parentage","r","samples","shiny","shinydashboard","wolves"],"latest_commit_sha":null,"homepage":null,"language":"R","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/romunov.png","metadata":{"files":{"readme":"README.Rmd","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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}},"created_at":"2017-10-02T14:55:10.000Z","updated_at":"2022-04-27T16:54:11.000Z","dependencies_parsed_at":null,"dependency_job_id":"2c0cca0c-9d61-472b-bd7a-dd80eefd37b4","html_url":"https://github.com/romunov/wolfexplorer","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/romunov/wolfexplorer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/romunov%2Fwolfexplorer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/romunov%2Fwolfexplorer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/romunov%2Fwolfexplorer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/romunov%2Fwolfexplorer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/romunov","download_url":"https://codeload.github.com/romunov/wolfexplorer/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/romunov%2Fwolfexplorer/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31290537,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-01T13:12:26.723Z","status":"ssl_error","status_checked_at":"2026-04-01T13:12:25.102Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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"}},"keywords":["animals","cartography","genetics","mcp","parentage","r","samples","shiny","shinydashboard","wolves"],"created_at":"2024-11-06T02:53:30.952Z","updated_at":"2026-04-01T17:20:31.626Z","avatar_url":"https://github.com/romunov.png","language":"R","funding_links":[],"categories":[],"sub_categories":[],"readme":"---\ntitle: wolfexplorer\noutput: \n  html_document: \n    keep_md: yes\n---\n[![status](http://joss.theoj.org/papers/1250a1c97f53a38efece1c973b499104/status.svg)](http://joss.theoj.org/papers/1250a1c97f53a38efece1c973b499104)\n\nExplorer designed to visualize complex multi-year multi-specimen data. Attached data is a subset of data from wolf monitoring of wolves in Slovenia in season 2016/2017 ([summary in English](http://www.natura2000.si/uploads/tx_library/MonitoringVolk__summary.pdf)).\n\n### Limitations\nThis viewer will require you shape your data to a somewhat specific, yet general enough, format. It can display only certain coordinate systems. Luckily WGS 84 (EPSG: 4326) is one of them. Data in the application is not persistent, but this limitation is something we're thinking of relaxing in the future.\n\nWARNING: Date slider and some other features may not be working perfectly in some browsers (looking at you, Chrome). If you experience problems, please do drop us a line and switch browsers. Testing has been done on Firefox.\n\n### Community guidelines\n1) **Contributing to the software**  \nAnyone interested is welcome to contribute to the software. There are a few ways to do it.  \nFirstly, if there is a feature that you would like us to add, you can open a new [issue](https://github.com/romunov/wolfexplorer/issues) with an **enhancement** tag.  \nSecondly, you can fork the repository, do your magic and offer your upgraded code through a pull request. When writing code please follow [R Style Guide](https://github.com/romunov/r_style_guide). \n2) **Reporting issues or problems with the software**  \nGithub makes it easy to report issues with the software. Simply navigate to the [issues tab](https://github.com/romunov/wolfexplorer/issues) and check if there is an issue similar to one you are experiencing already reported. If so, you are more than welcome to add your experience in a form of a comment to that issue thread. Otherwise, do not hesitate to report a new issue, that has not been previously reported.  \n3) **Seeking support**  \nFeel free to contact us through [email](mailto:wolfexplorer.help@gmail.com). We are also both on twitter as [romunov](https://twitter.com/romunov) and [zkuralt](https://twitter.com/zkuralt). \n\n# How to run this application\n## The easy way\n\nAssuming you have all the packages installed*, starting with `shiny`, you can run this piece of code and you're off.\n```r\nshiny::runGitHub(repo = \"wolfexplorer\", username = \"romunov\")\n```\n\n`*` you can install packages listed in the [`app.R`](https://github.com/romunov/wolfexplorer/blob/master/app.R#L1) using something along the lines of\n```{r echo = FALSE, comment = \"\"}\nx \u003c- readLines(\"app.R\")\nlibs \u003c- x[grepl(\"^library\\\\(.*\\\\)$\", x)]\nlibs \u003c- gsub(\"^library\\\\((.*)\\\\)$\", \"\\\\1\", libs)\n\ncat(sprintf(\"install.packages(c(%s))\", paste('\"', libs, '\"', collapse = \", \", sep = \"\")))\n```\n\n## The manual way\n\nFirst you need to clone the repository using git\n\n```\ngit clone https://github.com/romunov/wolfexplorer\n```\n\nIf you are using RStudio, open the project file, open `app.R` and press `Run App` button in the upper right corner of the script window.\n![](./img/runapp.png)\n\nIf you are not using RStudio, just set working directory the project folder and run `runApp()`.\n\nIf all goes well, you should see the application, displayed either in RStudio viewer pane or in your default broweser (preferably).\n\n![](./img/welcome.png)\n\n# How to format data\n\nTo start, you should load the data using `Data \u003e Samples data` menu for raw data and parentage information to `Data \u003e Parentage data`.\n\n### Samples data\nSamples data should come in the following raw text format:\n\n```r\n $ x               : num  430263 430260 475503 428961 419071 ...\n $ y               : num  63602 63609 59611 75076 44413 ...\n $ date            : chr  \"2012-05-30\" \"2012-05-30\" \"2011-08-27\" \"2011-06-23\" ...\n $ sample_type     : chr  \"Direct Saliva\" \"Direct Saliva\" \"Direct Saliva\" \"Direct Saliva\" ...\n $ animal          : chr  \"649\" \"650\" \"651\" \"652\" ...\n $ sex             : chr  \"M\" \"M\" \"M\" \"F\" ...\n $ sample_name     : chr  \"AH.02UE\" \"AH.02UH\" \"AH.0388\" \"AH.038A\" ...\n $ reference_sample: chr  \"AH.02UE\" \"AH.02UH\" \"AH.0388\" \"AH.038A\" ...\n```\n\nNotice the name of columns. In this example the coordinates for `x` and `y` are \"Gauss Krüger\" (EPSG: 3912). You should supply WGS 84 (EPSG: 4326) coordinates for longitude and latitude, respectively, as they will be used without converting. See [GKtoWGS.R](https://github.com/romunov/wolfexplorer/blob/master/GKtoWGS.R) for implementation of conversion. This would also be the place to perhaps add your \"parser\" to accomodate your coordinate format.\n\n`date` should come in the `%Y-%m-%d` form. `sample_type` right now is hard coded but this restriction will probably be relaxed in the near future. The rest should be pretty self explanatory. Animal is the designation for a group (or a singleton) of genotypes, `sex` and `sample_name` appear in the popup to aid in exploring of data.\n\n### Parentage data (optional)\nData for parentage, derived from your favorite software, should be transformed to the following format:\n\n```r\n $ offspring: chr  \"M1UA7\" \"M1YFC\" \"M2122\" \"M226C\" ...\n $ mother   : chr  \"EE.156X\" \"AL.068T\" \"AU.0AEF\" \"M20PK\" ...\n $ father   : chr  \"AX.0E1C\" \"AY.0F1M\" \"AH.03MT\" \"*1\" ...\n $ cluster  : chr  \"1\" \"2\" \"2\" \"2\" ...\n```\nColumn offspring is `reference_sample` (from samples data) of a putative child, `mother` and `father` its parents and `cluster` should be \"family\" id. This step is optional but note that some functionality will not be available (see below).\n\n# Navigating the application\nAs mentioned above, you should read in the (genetic) samples data through the `Data \u003e Samples data` menu. Imported data should appear in a table as seen in the picture below. Feel free to browse your data using autofilter input fields.\n\n![](./img/load_samples_data.png)\n\nIf you now head to `Explore data` menu, you should see the initial map with all samples plotted in grey. These markers are clickable. Go ahead, try it.\nUpper right corner of the map should house a transparent box which now has a slider and an input field. Use the slider to filter out samples between specific dates. Note that this does not work for grey samples, but only on which animals you can select in the input field (and thus their displaying on the map).\n\n![loaded samples and map](./img/samples_loaded_map.png)\n\nIf you also load parentage data (optional), you will be able to display selected animals' offspring as well.\n\n![loaded parentage data](./img/loaded_parentage_data.png)\n\nHead back to the `Explore data` menu. Notice that another input field has appeared. In the below example you can see offspring of animal `M2122`. These should be colored orange if added to the selection.\n\n![](./img/selected_all.png)\n\nIt is also possible to plot pedigree tree. Once you've selected parentage data and selected a cluster (\"family\"), check `Plot pedigree` checkmark.\n\n![](./img/parentage.png)\nYou can draw MCP (maximum convex polygon) for selected animals by checking the `Show MCP` checkmark. If there's only one sample, a circlular polygon is drawn around that point. For two points, a buffer of 1 km is drawn around the straight line connecting the two points. *These two cases are not true MCPs but is a compromise between accuracy of MCP and visual display of limited number of points.* For three points or more, a MCP as one would expect is created.\n\n![](./img/mcp.png)\n\nSliders in the sidebar should aid in visualizing overlapping points/lines.\n\nSee menu `Summary` for information on the dataset. If you filter samples by date, summary will be calculated on that subset.\n\n![](./img/summary.png)\n\nLegend colors can be manipulated through the `Settings` menu. Click on the input tab of the color and pick a color, any color.\n\n![](./img/color_setting.png)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fromunov%2Fwolfexplorer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fromunov%2Fwolfexplorer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fromunov%2Fwolfexplorer/lists"}