pgrdup

Discover Probable Duplicates in Plant Genetic Resources Collections

https://github.com/aravind-j/pgrdup

Science Score: 67.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 5 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.3%) to scientific vocabulary

Keywords

double-metaphone double-metaphone-algorithm natural-language-processing pgr plant-genetic-resources r record-linkage
Last synced: 6 months ago · JSON representation ·

Repository

Discover Probable Duplicates in Plant Genetic Resources Collections

Basic Info
Statistics
  • Stars: 1
  • Watchers: 2
  • Forks: 2
  • Open Issues: 1
  • Releases: 6
Topics
double-metaphone double-metaphone-algorithm natural-language-processing pgr plant-genetic-resources r record-linkage
Created over 8 years ago · Last pushed 7 months ago
Metadata Files
Readme Changelog Citation Codemeta

README.Rmd

---
output: rmarkdown::github_document
always_allow_html: true
---

```{r, echo = FALSE}
knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "",
  fig.path = "inst/extdata/"
)
```

```{r, out.width = '100%', echo = FALSE, eval = FALSE}
knitr::include_graphics("https://raw.githubusercontent.com/aravind-j/PGRdup/master/inst/extdata/PGRdup.png")
```

logo


```{r,echo = FALSE, message = FALSE}
devtools::load_all(".", quiet = TRUE) # quiet = T for hiding macOS compiler warnings

```

###### Version : [`r getNamespaceVersion("PGRdup")`](https://aravind-j.github.io/PGRdup/articles/Introduction.html#version-history); Copyright (C) 2014-`r  format(Sys.Date(), "%Y")`: [ICAR-NBPGR](http://www.nbpgr.ernet.in/); License: [GPL-2|GPL-3](https://www.r-project.org/Licenses/)


##### *Aravind, J.^1^, Radhamani, J.^1^, Kalyani Srinivasan^1^, Ananda Subhash, B.^2^, and Tyagi, R. K.^1^*

1. ICAR-National Bureau of Plant Genetic Resources, New Delhi, India
2. Centre for Development of Advanced Computing, Thiruvananthapuram, Kerala, India

***

[![minimal R version](https://img.shields.io/badge/R>%3D-3.0.2-6666ff.svg?logo=R)](https://cran.r-project.org/)
[![License: GPL v3](https://img.shields.io/badge/License-GPL%20v3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)
[![CRAN_Status_Badge](https://www.r-pkg.org/badges/version-last-release/PGRdup)](https://cran.r-project.org/package=PGRdup)
[![Dependencies](https://tinyverse.netlify.com/badge/PGRdup)](https://cran.r-project.org/package=PGRdup)
[![rstudio mirror downloads](https://cranlogs.r-pkg.org/badges/grand-total/PGRdup?color=green)](https://CRAN.R-project.org/package=PGRdup)
```{r, results='asis', echo=FALSE}
dver <- ifelse(test = gsub("(.\\.)(\\d+)(\\..)", "", getNamespaceVersion("PGRdup")) != "",
               yes = getNamespaceVersion("PGRdup"),
               no = gsub("Version:\\s*", "", readLines(paste0("https://raw.githubusercontent.com/", "aravind-j/PGRdup", "/master/DESCRIPTION"))[grep("Version:", readLines(paste0("https://raw.githubusercontent.com/", "aravind-j/PGRdup", "/master/DESCRIPTION")))]))

cat(paste("[![develVersion](https://img.shields.io/badge/devel%20version-", dver, "-orange.svg)](https://github.com/aravind-j/PGRdup)", sep = ""))
```
[![Github Code Size](https://img.shields.io/github/languages/code-size/aravind-j/PGRdup.svg)](https://github.com/aravind-j/PGRdup)
[![R-CMD-check](https://github.com/aravind-j/PGRdup/workflows/R-CMD-check/badge.svg)](https://github.com/aravind-j/PGRdup/actions)
[![Project Status: Inactive](https://www.repostatus.org/badges/latest/inactive.svg)](https://www.repostatus.org/#inactive)
[![lifecycle](https://img.shields.io/badge/lifecycle-stable-brightgreen.svg)](https://lifecycle.r-lib.org/articles/stages.html#stable)
[![Last-changedate](https://img.shields.io/badge/last%20change-`r gsub('-', '--', Sys.Date())`-yellowgreen.svg)](https://github.com/aravind-j/PGRdup)
[![Rdoc](https://api.rdocumentation.org/badges/version/PGRdup)](https://rdocumentation.org/packages/PGRdup/)
[![Zenodo DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.841963.svg)](https://doi.org/10.5281/zenodo.841963)
[![Website - pkgdown](https://img.shields.io/website-up-down-green-red/https/aravind-j.github.io/PGRdup.svg)](https://aravind-j.github.io/PGRdup/)
[![.](https://pro-pulsar-193905.appspot.com/UA-112827210-2/welcome-page)](https://github.com/aravind-j/google-analytics-beacon)



***

## Introduction logo

The `R` package `PGRdup` was developed as a tool to aid genebank managers in the identification of probable duplicate accessions from plant genetic resources (PGR) passport databases.  

This package primarily implements a workflow designed to fetch groups or sets of germplasm accessions with similar passport data particularly in fields associated with accession names within or across PGR passport databases.   

The functions in this package are primarily built using the following R packages:

 * [`data.table`](https://cran.r-project.org/package=data.table)
 * [`igraph`](https://cran.r-project.org/package=igraph)
 * [`stringdist`](https://cran.r-project.org/package=stringdist)
 * [`stringi`](https://cran.r-project.org/package=stringi)
 
## Installation
The package can be installed from CRAN as follows:

```{r, eval=FALSE}
# Install from CRAN
install.packages('PGRdup', dependencies=TRUE)

The development version can be installed from github as follows:
# Install development version from Github
devtools::install_github("aravind-j/PGRdup")
```

## Workflow

The series of steps involve in the workflow along with the associated functions are are illustrated below:

#### Step 1

**Function(s) :**

 * `DataClean`
 * `MergeKW`
 * `MergePrefix`
 * `MergeSuffix`  

Use these functions for the appropriate data standardisation of the relevant fields in the passport databases to harmonize punctuation, leading zeros, prefixes, suffixes etc. associated with accession names.

#### Step 2
**Function(s) :**

 * `KWIC`

Use this function to extract the information in the relevant fields as keywords or text strings in the form of a searchable Keyword in Context (KWIC) index.  

#### Step 3
**Function(s) :**

 * `ProbDup`

Execute fuzzy, phonetic and semantic matching of keywords to identify probable duplicate sets either within a single KWIC index or between two indexes using this function. For fuzzy matching the levenshtein edit distance is used, while for phonetic matching, the double metaphone algorithm is used. For semantic matching, synonym sets or 'synsets' of accession names can be supplied as an input and the text strings in such sets will be treated as being identical for matching. Various options to tweak the matching strategies used are also available in this function.  

#### Step 4
**Function(s) :**

 * `DisProbDup`
 * `ReviewProbDup`
 * `ReconstructProbDup`

Inspect, revise and improve the retrieved sets using these functions. If considerable intersections exist between the initially identified sets, then `DisProbDup` may be used to get the disjoint sets. The identified sets may be subjected to clerical review after transforming them into an appropriate spreadsheet format which contains the raw data from the original database(s) using `ReviewProbDup` and subsequently converted back using `ReconstructProbDup`.  

#### Adjuncts
**Function(s) :**

 * `ValidatePrimKey`
 * `DoubleMetaphone`
 * `ParseProbDup`
 * `AddProbDup`
 * `SplitProbDup`
 * `MergeProbDup`
 * `ViewProbDup`
 * `KWCounts`
 * `read.genesys`
 
Use these helper functions if needed. `ValidatePrimKey` can be used to check whether a column chosen in a data.frame as the primary primary key/ID confirms to the constraints of absence of duplicates and NULL values.

`DoubleMetaphone` is an implementation of the Double Metaphone phonetic algorithm in `R` and is used for phonetic matching.

`ParseProbDup` and `AddProbDup` work with objects of class `ProbDup`. The former can be used to parse the probable duplicate sets in a `ProbDup` object to a `data.frame` while the latter can be used to add these sets data fields to the passport databases. `SplitProbDup` can be used to split an object of class `ProbDup` according to set counts. `MergeProbDup` can be used to merge together two objects of class `ProbDup`. `ViewProbDup` can be used to plot the summary visualizations of probable duplicate sets retrieved in an object of class `ProbDup`.

`KWCounts` can be used to compute keyword counts from PGR passport database fields(columns), which can give a rough indication of the completeness of the data.

`read.genesys` can be used to import PGR data in a Darwin Core - germplasm zip archive downloaded from genesys database into the R environment.


## Tips

 * Use [`fread`](https://rdrr.io/cran/data.table/man/fread.html) to rapidly read large files instead of `read.csv` or `read.table` in `base`.
 * In case the PGR passport data is in any DBMS, use the appropriate [`R`-database interface packages](https://www.burns-stat.com/r-database-interfaces/) to get the  required table as a `data.frame` in `R`.  
 
## Note

 * The `ProbDup` function can be memory hungry with large passport databases. In such cases, ensure that the system has sufficient memory for smooth functioning (See `?ProbDup`).
 
## Detailed tutorial
For a detailed tutorial (vignette) on how to used this package type:

```{r, eval=FALSE}
browseVignettes(package = 'PGRdup')
```

The vignette for the latest version is also available [online](https://aravind-j.github.io/PGRdup/articles/Introduction.html).

## What's new
To know whats new in this version type:

```{r, eval=FALSE}
news(package='PGRdup')
```

## Links

[CRAN page](https://cran.r-project.org/package=PGRdup)

[Github page](https://github.com/aravind-j/PGRdup)

[Documentation website](https://aravind-j.github.io/PGRdup/)

[Zenodo DOI](https://doi.org/10.5281/zenodo.841963)

## CRAN checks

```{r, echo = FALSE}
pkgname <- "PGRdup"

osdf <-
  rbind(data.frame(OS = "Linux", 
                   Flavour = c("r-devel-linux-x86_64-debian-clang",
                               "r-devel-linux-x86_64-debian-gcc", 
                               "r-devel-linux-x86_64-fedora-clang",
                               "r-devel-linux-x86_64-fedora-gcc", 
                               "r-patched-linux-x86_64",
                               "r-release-linux-x86_64")),
        # data.frame(OS = "Solaris", 
        #            Flavour = c("r-patched-solaris-x86")),
        data.frame(OS = "Windows", 
                   Flavour = c("r-devel-windows-x86_64", 
                               "r-release-windows-x86_64",
                               "r-oldrel-windows-x86_64")),
        data.frame(OS = "macOS", 
                   Flavour = c("r-release-macos-x86_64", 
                               # "r-release-macos-arm64",
                               # "r-oldrel-macos-arm64",
                               "r-oldrel-macos-x86_64")))

chkurl <- paste("https://cran.r-project.org/web/checks/check_results_",
                pkgname, ".html", sep = "")
library(RCurl)

if (url.exists(chkurl)) {
  chklink <- paste("(", chkurl,  ")", sep = "")
} else {
  chklink <- "(https://cran.r-project.org/web/checks/check_results_j.aravind_at_icar.gov.in.html)"
}

osdf$`CRAN check` <- paste("[![CRAN check - ", osdf$Flavour, "]",
                           "(https://badges.cranchecks.info/flavor/",
                           osdf$Flavour, "/", pkgname, ".svg)]",
                           chklink,
                           sep = "")
```


```{r, echo = FALSE, results='asis'}
cat("[![Linux](https://img.shields.io/badge/Linux-FCC624?style=for-the-badge&logo=linux&logoColor=black)](https://cran.r-project.org/web/checks/check_results_germinationmetrics.html)", "\n")

knitr::kable(osdf[osdf$OS == "Linux", c(2, 3)], format = "simple", 
             col.names = c("", ""), 
             row.names = FALSE)

cat("[![Windows](https://img.shields.io/badge/Windows-0078D6?style=for-the-badge&logo=windows&logoColor=white)](https://cran.r-project.org/web/checks/check_results_germinationmetrics.html)", "\n")

knitr::kable(osdf[osdf$OS == "Windows", c(2, 3)], format = "simple", 
             col.names = c("", ""),
             row.names = FALSE)

cat("[![MacOS](https://img.shields.io/badge/mac%20os-000000?style=for-the-badge&logo=apple&logoColor=white)](https://cran.r-project.org/web/checks/check_results_germinationmetrics.html)", "\n")

knitr::kable(osdf[osdf$OS == "macOS", c(2, 3)], format = "simple", 
             col.names = c("", ""),
             row.names = FALSE)

cat("\n")
```


## Citing `PGRdup`
To cite the methods in the package use:

```{r, eval = FALSE}
citation("PGRdup")
```


```{r, echo = FALSE}
detach("package:PGRdup", unload=TRUE)
suppressPackageStartupMessages(library(PGRdup))
cit <- citation("PGRdup")
# yr <- format(Sys.Date(), "%Y")
# cit[1]$year <- yr
# oc <- class(cit)
# 
# cit <- unclass(cit)
# attr(cit[[1]],"textVersion") <- gsub("\\(\\)",
#                                      paste("\\(", yr, "\\)", sep = ""),
#                                      attr(cit[[1]],"textVersion"))
# class(cit) <- oc
cit
```

Owner

  • Name: J. Aravind
  • Login: aravind-j
  • Kind: user
  • Location: New Delhi, India

Scientist, Division of Germplasm Conservation, ICAR-National Bureau of Plant Genetic Resources

Citation (CITATION.cff)

# -----------------------------------------------------------
# CITATION file created with {cffr} R package, v0.5.0
# See also: https://docs.ropensci.org/cffr/
# -----------------------------------------------------------
 
cff-version: 1.2.0
message: 'To cite package "PGRdup" in publications use:'
type: software
license:
- GPL-2.0-only
- GPL-3.0-only
title: 'PGRdup: Discover Probable Duplicates in Plant Genetic Resources Collections'
version: 0.2.3.9
abstract: Provides functions to aid the identification of probable/possible duplicates
  in Plant Genetic Resources (PGR) collections using 'passport databases' comprising
  of information records of each constituent sample. These include methods for cleaning
  the data, creation of a searchable Key Word in Context (KWIC) index of keywords
  associated with sample records and the identification of nearly identical records
  with similar information by fuzzy, phonetic and semantic matching of keywords.
authors:
- family-names: Aravind
  given-names: J.
  email: j.aravind@icar.gov.in
  orcid: https://orcid.org/0000-0002-4791-442X
- family-names: Radhamani
  given-names: J.
  email: jalli.radhamani@icar.gov.in
- name: Kalyani Srinivasan
  email: kalyani.srinivasan@icar.gov.in
- family-names: Ananda Subhash
  given-names: B.
  email: anandasubhash@gmail.com
- family-names: Tyagi
  given-names: Rishi Kumar
  email: rishi.tyagi@icar.gov.in
preferred-citation:
  type: manual
  title: 'PGRdup: Discover Probable Duplicates in Plant Genetic Resources Collections'
  authors:
  - family-names: Aravind
    given-names: J.
    email: j.aravind@icar.gov.in
    orcid: https://orcid.org/0000-0002-4791-442X
  - family-names: Radhamani
    given-names: J.
    email: jalli.radhamani@icar.gov.in
  - name: Kalyani Srinivasan
    email: kalyani.srinivasan@icar.gov.in
  - family-names: Ananda Subhash
    given-names: B.
    email: anandasubhash@gmail.com
  - family-names: Tyagi
    given-names: Rishi Kumar
    email: rishi.tyagi@icar.gov.in
  notes: R package version 0.2.3.9 https://github.com/aravind-j/PGRdup, https://cran.r-project.org/package=PGRdup
repository: https://CRAN.R-project.org/package=PGRdup
repository-code: https://github.com/aravind-j/PGRdup
url: https://cran.r-project.org/package=PGRdup
contact:
- family-names: Aravind
  given-names: J.
  email: j.aravind@icar.gov.in
  orcid: https://orcid.org/0000-0002-4791-442X
keywords:
- double-metaphone
- double-metaphone-algorithm
- natural-language-processing
- pgr
- plant-genetic-resources
- r
- record-linkage
identifiers:
- type: url
  value: https://doi.org/10.5281/zenodo.841963
- type: url
  value: https://aravind-j.github.io/PGRdup/
- type: url
  value: https://www.rdocumentation.org/packages/PGRdup

CodeMeta (codemeta.json)

{
  "@context": "https://doi.org/10.5063/schema/codemeta-2.0",
  "@type": "SoftwareSourceCode",
  "identifier": "PGRdup",
  "description": "Provides functions to aid the identification of probable/possible duplicates in Plant Genetic Resources (PGR) collections using 'passport databases' comprising of information records of each constituent sample. These include methods for cleaning the data, creation of a searchable Key Word in Context (KWIC) index of keywords associated with sample records and the identification of nearly identical records with similar information by fuzzy, phonetic and semantic matching of keywords.",
  "name": "PGRdup: Discover Probable Duplicates in Plant Genetic Resources Collections",
  "relatedLink": [
    "https://cran.r-project.org/package=PGRdup",
    "https://doi.org/10.5281/zenodo.841963",
    "https://aravind-j.github.io/PGRdup/",
    "https://www.rdocumentation.org/packages/PGRdup",
    "https://CRAN.R-project.org/package=PGRdup"
  ],
  "codeRepository": "https://github.com/aravind-j/PGRdup",
  "issueTracker": "https://github.com/aravind-j/PGRdup/issues",
  "license": "https://spdx.org/licenses/GPL-2.0",
  "version": "0.2.3.9",
  "programmingLanguage": {
    "@type": "ComputerLanguage",
    "name": "R",
    "url": "https://r-project.org"
  },
  "runtimePlatform": "R version 4.5.1 (2025-06-13)",
  "provider": {
    "@id": "https://cran.r-project.org",
    "@type": "Organization",
    "name": "Comprehensive R Archive Network (CRAN)",
    "url": "https://cran.r-project.org"
  },
  "author": [
    {
      "@type": "Person",
      "givenName": "J.",
      "familyName": "Aravind",
      "email": "j.aravind@icar.gov.in",
      "@id": "https://orcid.org/0000-0002-4791-442X"
    },
    {
      "@type": "Person",
      "givenName": "J.",
      "familyName": "Radhamani",
      "email": "jalli.radhamani@icar.gov.in"
    },
    {
      "@type": "Organization",
      "name": "Kalyani Srinivasan",
      "email": "kalyani.srinivasan@icar.gov.in"
    },
    {
      "@type": "Person",
      "givenName": "B.",
      "familyName": "Ananda Subhash",
      "email": "anandasubhash@gmail.com"
    },
    {
      "@type": "Person",
      "givenName": [
        "Rishi",
        "Kumar"
      ],
      "familyName": "Tyagi",
      "email": "rishi.tyagi@icar.gov.in"
    }
  ],
  "contributor": [
    {
      "@type": "Person",
      "givenName": "Maurice",
      "familyName": "Aubrey",
      "email": "maurice@hevanet.com"
    },
    {
      "@type": "Person",
      "givenName": "Kevin",
      "familyName": "Atkinson",
      "email": "kevina@users.sourceforge.net"
    },
    {
      "@type": "Person",
      "givenName": "Lawrence",
      "familyName": "Philips"
    }
  ],
  "copyrightHolder": [
    {
      "@type": "Organization",
      "name": "ICAR-NBGPR"
    }
  ],
  "maintainer": [
    {
      "@type": "Person",
      "givenName": "J.",
      "familyName": "Aravind",
      "email": "j.aravind@icar.gov.in",
      "@id": "https://orcid.org/0000-0002-4791-442X"
    }
  ],
  "softwareSuggestions": [
    {
      "@type": "SoftwareApplication",
      "identifier": "diagram",
      "name": "diagram",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=diagram"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "wordcloud",
      "name": "wordcloud",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=wordcloud"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "microbenchmark",
      "name": "microbenchmark",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=microbenchmark"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "XML",
      "name": "XML",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=XML"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "httr",
      "name": "httr",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=httr"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "RCurl",
      "name": "RCurl",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=RCurl"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "knitr",
      "name": "knitr",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=knitr"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "rmarkdown",
      "name": "rmarkdown",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=rmarkdown"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "pander",
      "name": "pander",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=pander"
    }
  ],
  "softwareRequirements": {
    "1": {
      "@type": "SoftwareApplication",
      "identifier": "R",
      "name": "R",
      "version": ">= 3.0.2"
    },
    "2": {
      "@type": "SoftwareApplication",
      "identifier": "data.table",
      "name": "data.table",
      "version": ">= 1.9.3",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=data.table"
    },
    "3": {
      "@type": "SoftwareApplication",
      "identifier": "igraph",
      "name": "igraph",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=igraph"
    },
    "4": {
      "@type": "SoftwareApplication",
      "identifier": "stringdist",
      "name": "stringdist",
      "version": ">= 0.9.4",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=stringdist"
    },
    "5": {
      "@type": "SoftwareApplication",
      "identifier": "stringi",
      "name": "stringi",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=stringi"
    },
    "6": {
      "@type": "SoftwareApplication",
      "identifier": "ggplot2",
      "name": "ggplot2",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=ggplot2"
    },
    "7": {
      "@type": "SoftwareApplication",
      "identifier": "grid",
      "name": "grid"
    },
    "8": {
      "@type": "SoftwareApplication",
      "identifier": "gridExtra",
      "name": "gridExtra",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=gridExtra"
    },
    "9": {
      "@type": "SoftwareApplication",
      "identifier": "methods",
      "name": "methods"
    },
    "10": {
      "@type": "SoftwareApplication",
      "identifier": "utils",
      "name": "utils"
    },
    "11": {
      "@type": "SoftwareApplication",
      "identifier": "stats",
      "name": "stats"
    },
    "SystemRequirements": null
  },
  "fileSize": "1081.999KB",
  "citation": [
    {
      "@type": "SoftwareSourceCode",
      "author": [
        {
          "@type": "Person",
          "givenName": "J.",
          "familyName": "Aravind",
          "email": "j.aravind@icar.gov.in",
          "@id": "https://orcid.org/0000-0002-4791-442X"
        },
        {
          "@type": "Person",
          "givenName": "J.",
          "familyName": "Radhamani",
          "email": "jalli.radhamani@icar.gov.in"
        },
        {
          "@type": "Organization",
          "name": [
            "Kalyani",
            "Srinivasan"
          ],
          "email": "kalyani.srinivasan@icar.gov.in"
        },
        {
          "@type": "Person",
          "givenName": "B.",
          "familyName": "Ananda Subhash",
          "email": "anandasubhash@gmail.com"
        },
        {
          "@type": "Person",
          "givenName": [
            "Rishi",
            "Kumar"
          ],
          "familyName": "Tyagi",
          "email": "rishi.tyagi@icar.gov.in"
        }
      ],
      "name": "PGRdup: Discover Probable Duplicates in Plant Genetic Resources Collections",
      "description": "R package version 0.2.3.9 https://github.com/aravind-j/PGRdup, https://cran.r-project.org/package=PGRdup"
    }
  ],
  "releaseNotes": "https://github.com/aravind-j/PGRdup/blob/main/NEWS.md",
  "contIntegration": "https://github.com/aravind-j/PGRdup/actions",
  "developmentStatus": [
    "https://www.repostatus.org/#inactive",
    "https://lifecycle.r-lib.org/articles/stages.html#stable"
  ]
}

GitHub Events

Total
  • Push event: 1
Last Year
  • Push event: 1

Issues and Pull Requests

Last synced: 11 months ago

All Time
  • Total issues: 2
  • Total pull requests: 1
  • Average time to close issues: 5 months
  • Average time to close pull requests: N/A
  • Total issue authors: 2
  • Total pull request authors: 1
  • Average comments per issue: 1.5
  • Average comments per pull request: 0.0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • anilyayavar (1)
  • sckott (1)
Pull Request Authors
  • ChrisMuir (1)
Top Labels
Issue Labels
Pull Request Labels

Dependencies

DESCRIPTION cran
  • R >= 3.0.2 depends
  • data.table >= 1.9.3 imports
  • ggplot2 * imports
  • grid * imports
  • gridExtra * imports
  • igraph * imports
  • methods * imports
  • stats * imports
  • stringdist >= 0.9.4 imports
  • stringi * imports
  • utils * imports
  • RCurl * suggests
  • XML * suggests
  • diagram * suggests
  • httr * suggests
  • knitr * suggests
  • microbenchmark * suggests
  • pander * suggests
  • rmarkdown * suggests
  • wordcloud * suggests
.github/workflows/R-CMD-check.yaml actions
  • actions/checkout v3 composite
  • r-lib/actions/setup-pandoc v2 composite
  • r-lib/actions/setup-r v2-branch composite
  • r-lib/actions/setup-r-dependencies v2 composite
  • r-lib/actions/setup-tinytex v2 composite
.github/workflows/codemeta-github-actions.yaml actions
  • actions/checkout v3 composite
  • r-lib/actions/setup-r v2-branch composite
.github/workflows/pkgdown.yaml actions
  • actions/cache v2 composite
  • actions/checkout v3 composite
  • r-lib/actions/setup-pandoc v2-branch composite
  • r-lib/actions/setup-r v2 composite
.github/workflows/rchk.yaml actions
  • actions/checkout v3 composite
  • r-lib/actions/run-rchk v2 composite
  • randy3k/gh-actions/r-install-deps main composite
.github/workflows/render-readme.yaml actions
  • actions/cache v2 composite
  • actions/checkout v3 composite
  • peter-evans/repository-dispatch v2 composite
  • r-lib/actions/setup-pandoc v2 composite
  • r-lib/actions/setup-r v2-branch composite
.github/workflows/update-citation-cff.yaml actions
  • actions/checkout v3 composite
  • r-lib/actions/setup-r v2-branch composite
  • r-lib/actions/setup-r-dependencies v2 composite