R 패키지 메타데이터와 수집 신호를 모아 봅니다.
첫 화면에서 판단해야 할 수집 신호를 먼저 배치합니다.
DESCRIPTION에서 감지한 backend 관련 package입니다.
기본 메타데이터를 작은 카드와 토큰으로 압축합니다.
| Package | Type | Spec |
|---|---|---|
| Familias CRAN · 1.4.1 · 2026-05-30 | Imports | Familias (>= 2.6.1) |
| flextable CRAN · 1.4.1 · 2026-05-30 | Imports | flextable |
| officer CRAN · 1.4.1 · 2026-05-30 | Imports | officer |
| pedFamilias CRAN · 1.4.1 · 2026-05-30 | Imports | pedFamilias |
| pedtools CRAN · 1.4.1 · 2026-05-30 | Imports | pedtools |
| gWidgets2 CRAN · 1.4.1 · 2026-05-30 | Suggests | gWidgets2 (>= 1.0-10) |
| gWidgets2tcltk CRAN · 1.4.1 · 2026-05-30 | Suggests | gWidgets2tcltk |
| knitr CRAN · 1.4.1 · 2026-05-30 | Suggests | knitr |
| pander CRAN · 1.4.1 · 2026-05-30 | Suggests | pander |
| rmarkdown CRAN · 1.4.1 · 2026-05-30 | Suggests | rmarkdown |
| tkrplot CRAN · 1.4.1 · 2026-05-30 | Suggests | tkrplot |
| 검색 결과가 없습니다. | ||
| Package | Type | Spec |
|---|---|---|
| 표시할 dependency edge가 없습니다. | ||
| 검색 결과가 없습니다. | ||
NEWS code{white-space: pre-wrap;} span.smallcaps{font-variant: small-caps;} span.underline{text-decoration: underline;} div.column{display: inline-block; vertical-align: top; width: 50%;} div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;} ul.task-list{list-style: none;} relMix 1.4.1 Minor changes in v. 1.4.1 Fixed links in some Rd files Corrected an *** buffer overflow detected *** error Changes in v. 1.4 New features Custom pedigree files in relMixGUI must be specified by text files in ped format instead of R scripts relMixGUI now also accept non-numeric allele names The exception is if mutation model “stepwise” is used An improved report file that includes Allele frequencies used in the LR calculations Plots of pedigrees used under each hypothesis And is saved as a word file rather than a txt file Major changes in v. 1.3 Input files in relMixGUI are now being checked for most common errors, such as: Incorrect table structure Incorrect headers Typos in marker and sample names Non-numeric allele frequencies Duplicate markers Four new functions, incorporated in relMixGUI , provide the input check: checkFrequenciesFile() checkMixtureFile() checkReferenceFile() checkPedigreeFile() Minor changes in v. 1.3.1 Package has been updated to use gWidgets2 and gWidgets2tcltk instead of gWidgets and gWidgetstcltk because the latter are being removed from CRAN. Minor changes in v. 1.3.2 Replace deprecated argument initialFilename with updated name initial.filename in call to gWidgets2::gfile function. Fix a bug where database alleles were being all set to NA. Avoid saving loaded profiles when an error occurs in f_importprof . Fix an issue where if an allele was repeated in the mixture file, but not present in the database file, it would get added twice causing an error when Familias is called. Minor changes in v. 1.3.3 Make tkrplot a suggests dependency so that users which cannot install it can still use the non-plotting functionality of relMix. Now, if tkrplot is not available, the pedigrees will not be plotted in the results screen and instead a message explaining the problem will be shown. Minor changes in v. 1.3.4 The dependency Familias is no longer available on CRAN and is installed from GitHub instead. Due to this, relMix is also no longer available on CRAN.README code{white-space: pre-wrap;} span.smallcaps{font-variant: small-caps;} span.underline{text-decoration: underline;} div.column{display: inline-block; vertical-align: top; width: 50%;} div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;} ul.task-list{list-style: none;} pre > code.sourceCode { white-space: pre; position: relative; } pre > code.sourceCode > span { display: inline-block; line-height: 1.25; } pre > code.sourceCode > span:empty { height: 1.2em; } .sourceCode { overflow: visible; } code.sourceCode > span { color: inherit; text-decoration: inherit; } div.sourceCode { margin: 1em 0; } pre.sourceCode { margin: 0; } @media screen { div.sourceCode { overflow: auto; } } @media print { pre > code.sourceCode { white-space: pre-wrap; } pre > code.sourceCode > span { text-indent: -5em; padding-left: 5em; } } pre.numberSource code { counter-reset: source-line 0; } pre.numberSource code > span { position: relative; left: -4em; counter-increment: source-line; } pre.numberSource code > span > a:first-child::before { content: counter(source-line); position: relative; left: -1em; text-align: right; vertical-align: baseline; border: none; display: inline-block; -webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; padding: 0 4px; width: 4em; color: #aaaaaa; } pre.numberSource { margin-left: 3em; border-left: 1px solid #aaaaaa; padding-left: 4px; } div.sourceCode { } @media screen { pre > code.sourceCode > span > a:first-child::before { text-decoration: underline; } } code span.al { color: #ff0000; font-weight: bold; } /* Alert */ code span.an { color: #60a0b0; font-weight: bold; font-style: italic; } /* Annotation */ code span.at { color: #7d9029; } /* Attribute */ code span.bn { color: #40a070; } /* BaseN */ code span.bu { color: #008000; } /* BuiltIn */ code span.cf { color: #007020; font-weight: bold; } /* ControlFlow */ code span.ch { color: #4070a0; } /* Char */ code span.cn { color: #880000; } /* Constant */ code span.co { color: #60a0b0; font-style: italic; } /* Comment */ code span.cv { color: #60a0b0; font-weight: bold; font-style: italic; } /* CommentVar */ code span.do { color: #ba2121; font-style: italic; } /* Documentation */ code span.dt { color: #902000; } /* DataType */ code span.dv { color: #40a070; } /* DecVal */ code span.er { color: #ff0000; font-weight: bold; } /* Error */ code span.ex { } /* Extension */ code span.fl { color: #40a070; } /* Float */ code span.fu { color: #06287e; } /* Function */ code span.im { color: #008000; font-weight: bold; } /* Import */ code span.in { color: #60a0b0; font-weight: bold; font-style: italic; } /* Information */ code span.kw { color: #007020; font-weight: bold; } /* Keyword */ code span.op { color: #666666; } /* Operator */ code span.ot { color: #007020; } /* Other */ code span.pp { color: #bc7a00; } /* Preprocessor */ code span.sc { color: #4070a0; } /* SpecialChar */ code span.ss { color: #bb6688; } /* SpecialString */ code span.st { color: #4070a0; } /* String */ code span.va { color: #19177c; } /* Variable */ code span.vs { color: #4070a0; } /* VerbatimString */ code span.wa { color: #60a0b0; font-weight: bold; font-style: italic; } /* Warning */ relMix relMix makes relationship inference involving DNA mixtures with unknown profiles and interprets DNA mixtures with related contributors. The main function is the graphical user interface relMixGUI . A tutorial can be found here: https://gdorum.github.io/relMix/articles/relMix.html Installation Install from CRAN as follows: install.packages ( "relMix" ) Alternatively, install the latest development version from GitHub: # First install devtools if needed if ( ! require (devtools)) install.packages ( "devtools" ) #Install relMix from GitHub: devtools :: install_github ( "gdorum/relMix" ) To provide pedigree plots, relMix uses the package tkrplot . However, this package has some compatibility issues with MacOS and hence is not included as a hard dependency. Users who wish to see pedigree plots in the results screen have to install the package tkrplot manually with install.packages ( "tkrplot" ) The tkrplot package will be loaded by relMix automatially, so users do not need to run library("tkrplot") in advance.Help for package relMix const macros = { "\\R": "\\textsf{R}", "\\mbox": "\\text", "\\code": "\\texttt"}; function processMathHTML() { var l = document.getElementsByClassName('reqn'); for (let e of l) { katex.render(e.textContent, e, { throwOnError: false, macros }); } return; } Package {relMix} Contents allGenos checkFrequenciesFile checkMixtureFile checkPedigreeFile checkReferenceFile createDatamatrix db db2 generateMix mixLikDrop relMix relMixGUI Type: Package Title: Relationship Inference for DNA Mixtures Version: 1.4.1 Date: 2025-01-07 Description: Analysis of DNA mixtures involving relatives by computation of likelihood ratios that account for dropout and drop-in, mutations, silent alleles and population substructure. This is useful in kinship cases, like non-invasive prenatal paternity testing, where deductions about individuals' relationships rely on DNA mixtures, and in criminal cases where the contributors to a mixed DNA stain may be related. Relationships are represented by pedigrees and can include kinship between more than two individuals. The main function is relMix() and its graphical user interface relMixGUI(). The implementation and method is described in Dorum et al. (2017) < doi:10.1007/s00414-016-1526-x >, Hernandis et al. (2019) < doi:10.1016/j.fsigss.2019.09.085 > and Kaur et al. (2016) < doi:10.1007/s00414-015-1276-1 >. VignetteBuilder: knitr Encoding: UTF-8 Depends: R (≥ 3.5.0) Imports: Familias (≥ 2.6.1), flextable, officer, pedFamilias, pedtools Suggests: gWidgets2 (≥ 1.0-10), gWidgets2tcltk, knitr, pander, rmarkdown, tkrplot SystemRequirements: tcltk, tk License: GPL-2 | GPL-3 [expanded from: GPL (≥ 2)] RoxygenNote: 7.3.2 URL: https://gdorum.github.io/relMix/ NeedsCompilation: no Packaged: 2025-01-13 12:02:00 UTC; guro.dorum.rondot Author: Guro Dorum [aut, cre], Elias Hernandis [aut], Navreet Kaur [ctb], Thore Egeland [ctb], Magnus Dehli Vigeland [ctb] Maintainer: Guro Dorum <guro.dorum@gmail.com> Repository: CRAN Date/Publication: 2025-01-13 13:40:02 UTC Find all possible genotypes Description Finds all possible genotypes based on input alleles. Usage allGenos(alleles) Arguments alleles Vector of input alleles, numeric or character Value Matrix of all possible genotypes, one row per genotype Author(s) Guro Dorum Examples alleles <- 1:3 allGenos(alleles) Load and check a frequency file Description Loads a frequency database file and compares it against mixture data to check for common errors. Usage checkFrequenciesFile(filename, mix) Arguments filename Path of the frequency database file mix Data frame with mixture data. See relMix vignette for description of the format Details The mixture data is used to perform more advanced checks, such as to make sure all alleles present in the mixture file have an entry in the frequency database. If warnings are found, the function attempts to fix them and explains what it has done in the warning messages. If an error is found, checking stops and a NULL data frame is returned. The error is described in the error messages. Value A list containing df Data frame with frequencies warning List of strings describing the errors that occurred but could be fixed or that do not prevent the execution of the program. error List of strings describing the errors that occurred that made it impossible to return a valid data frame. If this list is not empty, then the data frame item will be NULL Author(s) Elias Hernandis See Also checkMixtureFile for information on how to load a mixture file. Examples mixfile <- system.file("extdata","mixture.txt",package="relMix") mix <- checkMixtureFile(mixfile) # note: the mixture data frame is passed as an argument # if the previous check failed, the program should not continue # with the frequencies file check freqfile <- system.file('extdata','frequencies22Markers.txt',package='relMix') freqs <- checkFrequenciesFile(freqfile, mix$df) Load and check a mixture file Description Given a mixture file name, returns the loaded data frame along with any detected errors or warnings. Usage checkMixtureFile(filename) Arguments filename Path of the mixture file Details If warnings are found, the function attempts to fix them and explains what it has done in the warning messages. If an error is found, checking stops and a NULL data frame is returned. The error is described in the error messages. Value A list containing df The loaded data frame, NULL if errors are present. warning A list of strings describing the errors that ocurred but could be fixed or that do not prevent the execution of the program. error A list of strings describing the errors that occurred that made it impossible to return a valid data frame. If this list is not empty, then the data frame item will be null. Author(s) Elias Hernandis Examples mixfile <- system.file("extdata","mixture.txt",package="relMix") result <- checkMixtureFile(mixfile); print(result$df); print(result$warning); print(result$error); Check a pedigree file Description Given a pedigree file path the function attempts to load it and compare it to the reference profiles to detect possible errors. Usage checkPedigreeFile(filename, df) Arguments filename Path of the pedigree file df Data frame with reference profiles Details The pedigree file must be a a text file in ped format (see the relMix vignette for an example). The data frame with reference data is used to compare names of individuals and detect possible misspellings. If warnings are found, the function attempts to fix them and explains what it has done in the warning messages. If an error is found, checking stops. The error is described in the error messages. Value A list containing df A list of class [Familias::FamiliasPedigree()], or NULL if errors are present. warning A list of strings describing the errors that ocurred but could be fixed or that do not prevent the execution of the program. error A list of strings describing the errors that ocurred that made it imposible to return a valid data frame. If this list is not empty, then the dataframe item will be null. Author(s) Elias Hernandis Examples #First load mixture file mixfile <- system.file("extdata","mixture_silent_ex.txt",package="relMix") mix <- checkMixtureFile(mixfile); #Load reference file reffile <- system.file("extdata","references_silent.txt",package="relMix") ref <- checkReferenceFile(reffile, mix$df) #Check pedigree file pedfile <- system.file("extdata","custom_pedigree_maternity_duo.ped",package="relMix") checkPedigreeFile(pedfile,ref$df); Check a reference profiles file Description Given a reference profile file name the function attempts to load it and compare it to the mixture file to detect possible errors. Usage checkReferenceFile(filename, mix) Arguments filename Path of the reference profiles file mix Data frame with mixture data Details See the relMix vignette for a description of the format of the reference file. The data frame with mixture data is used to compare If warnings are found, the function attempts to fix them and explains what it has done in the warning messages. If an error is found, checking stops and a NULL dataframe is returned. The error is described in the error messages. Value A list containing df The loaded data frame, NULL if errors are present warning A list of strings describing the errors that ocurred but could be fixed or that do not prevent the execution of the program. error A list of strings describing the errors that ocurred that made it impossible to return a valid data frame. If this list is not empty, then the data frame item will be null. Author(s) Elias Hernandis See Also checkMixtureFile for information on how to load a mixture file. Examples #Load a mixture file mixfile <- system.file("extdata","mixture.txt",package="relMix") mix <- checkMixtureFile(mixfile); #Note: the mixture dataframe is passed as an argument. If the previous check failed, #the program should not continue with the reference file check reffile <- system.file("extdata","references.txt",packagFinds all possible genotypes based on input alleles.
allGenos(alleles)alleles <- 1:3 allGenos(alleles)Loads a frequency database file and compares it against mixture data to check for common errors.
checkFrequenciesFile(filename, mix)mixfile <- system.file("extdata","mixture.txt",package="relMix") mix <- checkMixtureFile(mixfile) # note: the mixture data frame is passed as an argument # if the previous check failed, the program should not continue # with the frequencies file check freqfile <- system.file('extdata','frequencies22Markers.txt',package='relMix') freqs <- checkFrequenciesFile(freqfile, mix$df)Given a mixture file name, returns the loaded data frame along with any detected errors or warnings.
checkMixtureFile(filename)mixfile <- system.file("extdata","mixture.txt",package="relMix") result <- checkMixtureFile(mixfile); print(result$df); print(result$warning); print(result$error);Given a pedigree file path the function attempts to load it and compare it to the reference profiles to detect possible errors.
checkPedigreeFile(filename, df)#First load mixture file mixfile <- system.file("extdata","mixture_silent_ex.txt",package="relMix") mix <- checkMixtureFile(mixfile); #Load reference file reffile <- system.file("extdata","references_silent.txt",package="relMix") ref <- checkReferenceFile(reffile, mix$df) #Check pedigree file pedfile <- system.file("extdata","custom_pedigree_maternity_duo.ped",package="relMix") checkPedigreeFile(pedfile,ref$df);Given a reference profile file name the function attempts to load it and compare it to the mixture file to detect possible errors.
checkReferenceFile(filename, mix)#Load a mixture file mixfile <- system.file("extdata","mixture.txt",package="relMix") mix <- checkMixtureFile(mixfile); #Note: the mixture dataframe is passed as an argument. If the previous check failed, #the program should not continue with the reference file check reffile <- system.file("extdata","references.txt",package="relMix") checkReferenceFile(reffile, mix$df);A data matrix of genotypes for known individuals and all possible genotypes for unknown individuals is created.
createDatamatrix(locus, knownGenos, idsU = NULL)#Define alleles and frequencies alleles <- 1:2 afreq <- c(0.5,0.5) #Create locus object locus <- Familias::FamiliasLocus(frequencies=afreq,name="M1",allelenames= alleles) #Known genotypes of alleged father and mother, child's genotype is uknown gAF <- c(1,1) gMO <- c(1,1) datamatrix <- createDatamatrix(locus,knownGenos=list(AF=gAF,MO=gMO),idsU=c("CH"))Norwegian database with 17 EXS17 markers and 6 additional markers.
data(db)Dupuy et al. (2013), unpublished.data(db) #Checks that frequencies add to 1 lapply(split(db$Frequency,db$Marker),sum) #Finds number of alleles for all markers unlist(lapply(split(db$Frequency,db$Marker),length)) #A closer look at the marker SE33 SE33=db[db$Marker=="SE33",] barplot(SE33$Frequency)Frequencies for 22 loci from the prototype 24-plex STR panel from Thermo Fisher.
data(db2)Hill et al. (2013) U.S. population data for 29 autosomal STR loci. Forensic Sci. Int. Genet. 7, e82-e83. Hill et al. (2006) Allele Frequencies for 26 MiniSTR Loci with U.S. Caucasian, African American, and Hispanic Populations. http://www.cstl.nist.gov/biotech/strbase/NISTpop.htmdata(db2)Takes as input genotypes and creates a mixture. Alleles drop in and out of the mixture with the specified probabilities
generateMix(G, alleles, afreq, D, di)#Define alleles and frequencies alleles <- 1:2 afreq <- c(0.5,0.5) #Genotypes gM <- c(1,1) gC <- c(1,2) #Dropout and drop-in values d <- 0.1 di <- 0.05 #No drop-in for first contributor D <- list(c(0,0),c(d,d^2)) R <- generateMix(G=list(gM,gC),alleles,afreq,D=D,di=di)Computes the likelihood of a mixture conditioned on a given number of known and unknown contributors, and drop-in and dropout probabilities.
mixLikDrop(R, G, D, di = 0, alleleNames, afreq)#Define alleles and frequencies alleles <- 1:2 afreq <- c(0.5,0.5) #Genotypes gM <- c(1,1) gC <- c(1,2) #Mixture alleles R <- c(1,2) #Dropout and drop-in values d <- 0.1 di <- 0.05 #No drop-in for first contributor D <- list(c(0,0),c(d,d^2)) mixLikDrop(R=R,G=list(gM,gC),D=D,di=di,alleleNames=alleles,afreq=afreq)Calculates likelihoods for relationship inference involving mixtures and missing reference profiles, including drop-in and dropout, mutations, silent alleles and theta correction.
relMix( pedigrees, locus, R, datamatrix, ids, D = rep(list(c(0, 0)), length(ids)), di = 0, kinship = 0 )#Example 1: paternity trio with mixture of mother and child #Define alleles and frequencies alleles <- 1:2 afreq <- c(0.4,0.6) #Define pedigrees persons <- c("CH","MO","AF") ped1 <- Familias::FamiliasPedigree(id=persons, dadid=c("AF",NA, NA), momid=c("MO", NA,NA), sex=c("male", "female", "male")) ped2 <- Familias::FamiliasPedigree(id=c(persons, "TF"), dadid=c("TF", NA, NA,NA), momid=c("MO", NA, NA,NA), sex=c("male", "female", "male", "male")) pedigrees <- list(isFather = ped1, unrelated=ped2) #Create locus object locus <- Familias::FamiliasLocus(frequencies=afreq,name="M1", allelenames= alleles) #Known genotypes of alleged father and mother gAF <- c(1,1) gMO <- c(1,1) #Mixture alleles R <- c(1,2) datamatrix <- createDatamatrix(locus,knownGenos=list(AF=gAF,MO=gMO),idsU=c("CH")) #Define dropout and drop-in values d <- 0.1 di <- 0.05 res <- relMix(pedigrees, locus, R, datamatrix, ids=c("MO","CH"), D=list(c(0,0),c(d,d^2)),di=di, kinship=0) #LR=0.054 res$isFather/res$unrelated #Example 2: Exhaustive example with silent allele, mutations, dropout and drop-in #H1: Contributors are mother and child #H2: Contributors are mother and unrelated #Possible dropout in both contributors gMO <- c(1,1) #Mother's genotype R <- 1 #Mixture alleles #Mother/child pedigree persons <- c("CH","MO") ped1 <- Familias::FamiliasPedigree(id=persons, dadid=c(NA,NA), momid=c("MO", NA), sex=c("male", "female")) ped2 <- Familias::FamiliasPedigree(id=c(persons), dadid=c(NA, NA), momid=c( NA, NA), sex=c("male", "female")) pedigrees <- list(H1 = ped1, H2=ped2) #Alleles and frequencies: #When silent alleles are involved, a custom mutation matrix is required. #No mutations are possible to or from silent alleles. #We create the mutation model with FamiliasLocus and modify it before it is #passed on to relMix alleles <- c(1,2,'silent') afreq <- c(0.4,0.5,0.1) #Create initial locus object with mutation matrix locus <- Familias::FamiliasLocus(frequencies=afreq,name='M1', allelenames= alleles, MutationModel='Equal', femaleMutationRate=0.1,maleMutationRate=0.1) #Modify mutation matrix from Familias: #Silent allele must be given as 's' (not 'silent' as in Familias) newAlleles <- c(alleles[-length(alleles)],'s') mm <- locus$femaleMutationMatrix colnames(mm) <- rownames(mm) <- newAlleles #Create new locus object with modified mutation matrix locus <- Familias::FamiliasLocus(frequencies=afreq,name='M1', allelenames= newAlleles, MutationModel='Custom', MutationMatrix=mm) knownGenos <- list(gMO) names(knownGenos) <- c("MO") datamatrix <- createDatamatrix(locus,knownGenos,ids="CH") d <- 0.1 #Dropout probability for both contributors di <- 0.05 res2 <- relMix(pedigrees, locus, R, datamatrix, ids=c("MO","CH"), D=list(c(d,d^2),c(d,d^2)),di=di, kinship=0) #LR=1.68 res2$H1/res2$H2User-friendly graphical user interface for relMix.
relMixGUI()#Examples can be found in the vignette and example data files can be found #in the folder "extdata" in the installation folder for relMix| Repository | Version | Published | First seen | Last seen | Docs |
|---|---|---|---|---|---|
| CRAN | 1.4.1 | 2026-05-29 | 2026-05-30 |
표시할 OSV 데이터가 없습니다.
표시할 OpenAlex 데이터가 없습니다.