mirror of
https://github.com/johrpan/geposan.git
synced 2025-10-26 10:47:25 +01:00
parent
54e3b433f7
commit
99bc6794b9
4 changed files with 57 additions and 1 deletions
|
|
@ -22,6 +22,7 @@ export(plot_positions)
|
||||||
export(plot_rankings)
|
export(plot_rankings)
|
||||||
export(plot_scores)
|
export(plot_scores)
|
||||||
export(preset)
|
export(preset)
|
||||||
|
export(proximity)
|
||||||
export(ranking)
|
export(ranking)
|
||||||
export(result)
|
export(result)
|
||||||
export(species_adjacency)
|
export(species_adjacency)
|
||||||
|
|
|
||||||
|
|
@ -37,7 +37,8 @@ all_methods <- function() {
|
||||||
correlation(),
|
correlation(),
|
||||||
neural(),
|
neural(),
|
||||||
adjacency(),
|
adjacency(),
|
||||||
species_adjacency()
|
species_adjacency(),
|
||||||
|
proximity()
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
39
R/proximity.R
Normal file
39
R/proximity.R
Normal file
|
|
@ -0,0 +1,39 @@
|
||||||
|
#' Score the mean distance of genes to the telomeres across species.
|
||||||
|
#'
|
||||||
|
#' A score will be given to each gene such that 0.0 corresponds to the maximal
|
||||||
|
#' mean distance across all genes and 1.0 corresponds to a distance of 0.
|
||||||
|
#'
|
||||||
|
#' @return An object of class `geposan_method`.
|
||||||
|
#'
|
||||||
|
#' @export
|
||||||
|
proximity <- function() {
|
||||||
|
method(
|
||||||
|
id = "proximity",
|
||||||
|
name = "Proximity",
|
||||||
|
description = "Proximity to telomeres",
|
||||||
|
function(preset, progress) {
|
||||||
|
species_ids <- preset$species_ids
|
||||||
|
gene_ids <- preset$gene_ids
|
||||||
|
|
||||||
|
cached("proximity", c(species_ids, gene_ids), {
|
||||||
|
# Prefilter distances by species and gene.
|
||||||
|
data <- geposan::distances[
|
||||||
|
species %chin% preset$species_ids &
|
||||||
|
gene %chin% preset$gene_ids
|
||||||
|
]
|
||||||
|
|
||||||
|
# Compute the score as described above.
|
||||||
|
data <- data[, .(mean_distance = mean(distance)), by = "gene"]
|
||||||
|
max_distance <- data[, max(mean_distance)]
|
||||||
|
data[, score := 1 - mean_distance / max_distance]
|
||||||
|
|
||||||
|
progress(1.0)
|
||||||
|
|
||||||
|
result(
|
||||||
|
method = "proximity",
|
||||||
|
scores = data[, .(gene, score)]
|
||||||
|
)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
)
|
||||||
|
}
|
||||||
15
man/proximity.Rd
Normal file
15
man/proximity.Rd
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
% Generated by roxygen2: do not edit by hand
|
||||||
|
% Please edit documentation in R/proximity.R
|
||||||
|
\name{proximity}
|
||||||
|
\alias{proximity}
|
||||||
|
\title{Score the mean distance of genes to the telomeres across species.}
|
||||||
|
\usage{
|
||||||
|
proximity()
|
||||||
|
}
|
||||||
|
\value{
|
||||||
|
An object of class \code{geposan_method}.
|
||||||
|
}
|
||||||
|
\description{
|
||||||
|
A score will be given to each gene such that 0.0 corresponds to the maximal
|
||||||
|
mean distance across all genes and 1.0 corresponds to a distance of 0.
|
||||||
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue