{"id":14067006,"url":"https://github.com/thierrygosselin/stackr","last_synced_at":"2025-07-30T00:32:08.098Z","repository":{"id":32524029,"uuid":"36105356","full_name":"thierrygosselin/stackr","owner":"thierrygosselin","description":"stackr: an R package to run stacks software pipeline","archived":false,"fork":false,"pushed_at":"2025-04-02T02:46:35.000Z","size":21923,"stargazers_count":29,"open_issues_count":0,"forks_count":8,"subscribers_count":11,"default_branch":"master","last_synced_at":"2025-04-02T03:24:20.878Z","etag":null,"topics":["filter","gbs","genetics","genomic-data-analysis","genomics","genomics-visualization","genotype-likelihoods","genotyping-by-sequencing","rad","radseq","radseq-data","stackr"],"latest_commit_sha":null,"homepage":"http://thierrygosselin.github.io/stackr/","language":"HTML","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/thierrygosselin.png","metadata":{"files":{"readme":"README.Rmd","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}},"created_at":"2015-05-23T03:21:36.000Z","updated_at":"2025-04-02T02:46:39.000Z","dependencies_parsed_at":"2022-09-09T20:52:46.700Z","dependency_job_id":null,"html_url":"https://github.com/thierrygosselin/stackr","commit_stats":null,"previous_names":[],"tags_count":27,"template":false,"template_full_name":null,"purl":"pkg:github/thierrygosselin/stackr","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thierrygosselin%2Fstackr","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thierrygosselin%2Fstackr/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thierrygosselin%2Fstackr/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thierrygosselin%2Fstackr/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thierrygosselin","download_url":"https://codeload.github.com/thierrygosselin/stackr/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thierrygosselin%2Fstackr/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267785742,"owners_count":24144120,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-29T02:00:12.549Z","response_time":2574,"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"}},"keywords":["filter","gbs","genetics","genomic-data-analysis","genomics","genomics-visualization","genotype-likelihoods","genotyping-by-sequencing","rad","radseq","radseq-data","stackr"],"created_at":"2024-08-13T07:05:22.838Z","updated_at":"2025-07-30T00:32:08.076Z","avatar_url":"https://github.com/thierrygosselin.png","language":"HTML","funding_links":[],"categories":["R"],"sub_categories":[],"readme":"---\noutput: github_document\n---\n# stackr \u003cimg src=\"man/figures/logo.png\" align=\"right\" height=\"160\" alt=\"\" /\u003e\n\n```{r, echo = FALSE}\ndescription \u003c- readLines(\"DESCRIPTION\")\nrvers \u003c- stringr::str_match(grep(\"R \\\\(\", description, value = TRUE), \"[0-9]{1,4}\\\\.[0-9]{1,4}\\\\.[0-9]{1,4}\")[1,1]\nversion \u003c- gsub(\" \", \"\", gsub(\"Version:\", \"\", grep(\"Version:\", description, value = TRUE)))\n```\n\n\u003c!-- badges: start --\u003e\n[![lifecycle](https://img.shields.io/badge/lifecycle-experimental-orange.svg)](https://tidyverse.org/lifecycle/#experimental)\n[![CRAN_Status_Badge](http://www.r-pkg.org/badges/version/stackr)](http://cran.r-project.org/package=stackr)\n[![Project Status: Active – The project has reached a stable, usable state and is being actively developed.](http://www.repostatus.org/badges/latest/active.svg)](http://www.repostatus.org/#active)\n[![DOI](https://zenodo.org/badge/14548/thierrygosselin/stackr.svg)](https://zenodo.org/badge/latestdoi/14548/thierrygosselin/stackr)\n[![packageversion](https://img.shields.io/badge/Package%20version-`r version`-orange.svg)](commits/master)\n[![Last-changedate](https://img.shields.io/badge/last%20change-`r gsub('-', '--', Sys.Date())`-brightgreen.svg)](/commits/master)\n[![minimal R version](https://img.shields.io/badge/R%3E%3D-`r rvers`-6666ff.svg)](https://cran.r-project.org/)\n\u003c!-- badges: end --\u003e\n\n\n\n```{r, echo = FALSE}\nknitr::opts_chunk$set(\n  collapse = TRUE,\n  comment = \"#\u003e\",\n  fig.path = \"README-\"\n)\n```\n\n\n# stackr: an R package to run stacks pipeline\n\nThis is the development page of **stackr**.\n\n**stackr** package provides wrapper functions to run\n[STACKS](http://catchenlab.life.illinois.edu/stacks/) (*process_radtags*,\n*ustacks*, *cstacks*, *sstacks*, *tsv2bam*, *gstacks* and *populations*) inside R.\n\n### **Who is it for ?**\n\n* **stackr** is currently developed for my projects at CSIRO and to help colleagues and collaborators to get the most out of stacks. \n* I make **stackr** available for others, but I don't offer help, use it at your own risk.\n* [STACKS](http://catchenlab.life.illinois.edu/stacks/) related issues should be highlighted \nin [stacks google group](https://groups.google.com/forum/?fromgroups#!forum/stacks-users).\n* **It's not for R and/or stacks beginners**. Train with [STACKS](http://catchenlab.life.illinois.edu/stacks/) in the Terminal first.\n\n\n\n### **Overview of the differences from running stacks**\n\n* I work with thousands of samples, my [STACKS](http://catchenlab.life.illinois.edu/stacks/) experience is more **reproducible** and  **organized** inside RStudio\n* **stackr** requires you to think ahead by using a project info file that outlines the sample names and it's metadata (think sampling sites, barcodes, sequencing lanes, etc).\n* The outputs are organized by folders, it's more **tidy and it's automatic**. e.g. *logs* generated by [STACKS](http://catchenlab.life.illinois.edu/stacks/) \nare summarized in human-readable tables/tibbles, making **problem detection** easier.\n* Most functions that runs [STACKS](http://catchenlab.life.illinois.edu/stacks/)\ncan be restarted if the computer/cluster/server crash. Just restart the same function. stackr takes care of the rest.\n\n#### **Made it this far, here's more details:**\n\n* *process_radtags* -\u003e `run_process_radtags` (demultiplexing) : works better with multiple lanes and **technical replicates** inside or across chip/lanes are managed and accounted for.\n* *ustacks* -\u003e `run_ustacks` (*de novo* assembly): manages [STACKS](http://catchenlab.life.illinois.edu/stacks/) unique integer (*previously called SQL IDs*) and can also do **mismatch testing!** Integrated inside `run_ustacks` is a *de novo* mismatch threshold series function that generates tables and figures automatically to help you pick the appropriate thresholds.\n* *cstacks* -\u003e `run_cstacks` (catalog)\n  * With more than 1000 samples, *cstacks* is problematic: time consuming and vulnerable to computer crashes and other interruptions. \n  * **stackr** generates catalogs incrementally, this way the pipeline is more rigorous if your computer/cluster/server crash, because the previous catalog will already be saved and available to start over.\n  * Different catalogs with increasing sample number = better testing\n \n\n\n\n\n\n## Installation\nTo try out the dev version of **stackr**, copy/paste the code below:\n\n```r\nif (!require(\"devtools\")) install.packages(\"devtools\")\ndevtools::install_github(\"thierrygosselin/stackr\")\nlibrary(stackr)\n```\n\n## Stacks modules and RADseq typical workflow\n\n**stackr** package provides wrapper functions to run\n[STACKS](http://catchenlab.life.illinois.edu/stacks/) *process_radtags*,\n*ustacks*, *cstacks*, *sstacks*, *tsv2bam*, *gstacks* and *populations* inside R.\n\nBelow, a flow chart\nshowing the corresponding stacks modules and stackr corresponding functions.\n![](vignettes/stackr_workflow.png)\n\n## Vignette\n\n* [Get started section](http://thierrygosselin.github.io/stackr/articles/stackr.html)\n* Web site with additional info: [stackr](http://thierrygosselin.github.io/stackr/)\n* [Computer setup and troubleshooting](https://thierrygosselin.github.io/radiator/articles/rad_genomics_computer_setup.html)\n* [Vignettes](https://thierrygosselin.github.io/radiator/articles/index.html)\n\n## Citation:\nTo get the citation, inside R:\n```r\ncitation(\"stackr\")\n```\n\n## Life cycle\n\nstackr is quite mature, i've used it for almost 8 years with dozens of projects,\nbut changes are inevitable.\n\n* For reproducibility, if you use it, keep a copy safe.\n* I follow [STACKS](http://catchenlab.life.illinois.edu/stacks/) development closely, \nwhen a new version comes out, stackr will likely change as well.\n* Because of it's intrinsic nature, stackr will not be compatible with previous \n[STACKS](http://catchenlab.life.illinois.edu/stacks/) version.\n* Philosophy, major changes and deprecated functions/arguments are documented in\nlife cycle section of functions. \n* The latest changes are documented in [changelog, versions, new features and bug history](http://thierrygosselin.github.io/stackr/news/index.html)\n* [issues](https://github.com/thierrygosselin/stackr/issues/new/choose) and [contributions](https://github.com/thierrygosselin/stackr/issues/new/choose)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthierrygosselin%2Fstackr","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthierrygosselin%2Fstackr","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthierrygosselin%2Fstackr/lists"}