问题标签 [genetics]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
417 浏览

r - R循环用于将方程应用于每个唯一类别

我正在寻求帮助编写一个 R 循环来计算每个独特单倍型的香农信息内容 (SIC)。数据包括第 1 列中的单倍型和第 2 列中的单倍型频率。正如您在示例数据中看到的那样,只有 4 个独特的单倍型,每种单倍型的数量不同,频率对应于每个单倍型。所有单倍型 H* 的频率总和为 1。SIC 的方程为

Σi (πhi*log(1/(πhi)))

其中 πhi 是 hi 单倍型的频率

SIC 方程

在本例中,H1 的 SIC 为

(π*0.8278*log(1/(π*0.8278))) + (π*0.02248*log(1/(π*0.02248))) + (π*0.1494*log(1/(π*0.1494)))

最终输出应给出 4 个 SIC 值,一个对应于每个独特的单倍型。

我相信使用lapply()是前进的正确方法,但我的 R 技能非常初级,不知道下一步该做什么。感谢您的任何帮助。

0 投票
1 回答
268 浏览

r - 将函数应用于矩阵中的列对之间的每 20 行

我有一组遗传 SNP 数据,如下所示:

矩阵的大小为 56 列 x 46482 行。我需要首先将矩阵按每 20 行进行一次分类,然后将前 8 列(创始人)中的每一列(创始人)与每列 9-56 进行比较,并将匹配字母/等位基因的总数除以总行数(20)。最终我需要 48 个 8 列 x 2342 行矩阵,它们本质上是相似矩阵。我试图通过以下方式分别提取每一对:

但这远非高效,而且我不知道将函数应用于每 20 行和多对的更快方法。

在上面给出的示例中,如果行全部相同,如跨 20 行所示,则 Sample1 矩阵的第一行将是:

0 投票
1 回答
110 浏览

r - 循环回归

我有一个包含 2000 个基因表达变量的数据集,其中包含 62 个观察值,并且希望通过回归类变量上的每个变量来获得 p 值(1 表示健康或 2 表示有肿瘤),并且想要回归每个类变量上的基因表达变量并以矩阵形式获得p值-我该怎么做?

0 投票
2 回答
597 浏览

r - 使用 R 提取特定行

我有一个 ID 向量,它描述了一个组的成员身份。每个 ID 在列表中只出现一次。

例子:

我还有一个表(3 列,74985 行,无标题),其中包含 V1 中的单个 ID(记录为数字),V2 中的组 ID。以及 V3 中该组的简短描述。

例子:

每个人可以属于多个组,每个组中可以有多个个人。在示例中,个人 1 在 group 中 GO:0003674, GO:0005576 and GO:0008150

我想从表中提取并保留组 ID 与组 ID 向量匹配的每一行(即每个组)。第一个向量中的一些 ID 在表中没有匹配项。我尝试过使用合并功能,但没有成功,它似乎在一个组中多次包含同一个人。

0 投票
3 回答
226 浏览

r - 使用 SNP 等位基因数据为 ACGT 创建概率矩阵

给定 8 个样本 (A1-A8) 的以下数据:

每列是一个样本,每一行是一个标记,可能编码为 A、C、G、T,我希望计算每一行的 4 个等位基因中任何一个的起源的概率。例如,上面第 1 行数据的输出应该是

由于第 1 行中有 7 个样本具有 T,因此每个样本的概率为 1/7。由于只有 A8 拥有 C,因此将 C 分配给 A8 的概率为 100%。对于第 3 行,输出应为

总输出应该是 i 8x4 矩阵的列表,其中 i 等于行数。

一个可重做的代码示例是:

经过这一步,我不确定如何将每列的总计数相加并除以得到总概率。

0 投票
1 回答
3167 浏览

r - 在 HMM 中实现 Viterbi 算法,改变基因组标记的发射矩阵

我想在实施隐藏马尔可夫方法以根据 SNP 基因型数据分配祖先时寻求帮助。鉴于我有一个这样生成的转换矩阵:

发射矩阵是 n 个 8x4 矩阵的列表,其中 n 等于数据中 SNP/行的数量。例如,对于 3 个 SNP/行的 8 个样本 (A1-A8) 的以下数据:

列表中的矩阵 1 将是

由于第 1 行中有 7 个样本具有 T,因此每个样本的概率为 1/7。由于只有 A8 拥有 C,因此将 C 分配给 A8 的概率为 100%。对于第 3 行,输出应为

使用上述转换矩阵和发射矩阵列表,我希望在任何等位基因序列上实现维特比算法。我目前拥有的代码无法为每一行使用不同的发射矩阵

0 投票
4 回答
1794 浏览

r - 一种测试一组外显子/内含子/utr基因组位置的方法?

我想测试一堆形式的基因组位置:

我想看看它们是否位于 UTR 或内含子或外显子或基因间序列中。我不关心这些坐标在哪些基因的内含子(等)中的信息。

我假设每个已知的遗传元素(如外显子)都定义了基因组位置(每条染色体上基因组的起始位置)。我知道这对于外显子和内含子来说是正确的,例如 Ensembl 对基因组中的每个外显子都有 ID:请参见Mus muscululus 中 Amy1 基因的外显子和内含子的示例。我想用上面的位置列表查询此类位置的数据库,以及两者之间是否存在重叠(理想情况下,我应该能够指定重叠,例如,至少 10bp,但如果不是,我可以) ,我应该得到一个打击(是的,这个区域在外显子/内含子/)

缺点是我有几千个这样的位置,理想情况下希望一次性查询它们,并且作为输出有一个表格,每个位置都将被分配“内含子/外显子/utr/intergenic”。该生物是Mus musculus,位置来自整个基因组。

我现在无法提供我正在尝试做的代码示例,因为我不知道从哪里开始 - 如果我有一个包或任何可以构建的东西将帮助我找到解决方案。

如果我能在 R 中做到这将是完美的,但是我无法在 biomaRt 中做到这一点,而且我找不到一个包来做到这一点。我想到了 Galaxy,但考虑到他们不平凡的做法和他们产生的奇怪输出,我宁愿坚持 R。你知道的魔鬼等等。

帮助将不胜感激。

0 投票
3 回答
7175 浏览

r - 将 SNP ID 映射到基因组坐标

我有几个SNP ID(即 rs16828074、rs17232800 等),我想从UCSC 基因组网站获取它们在 Hg19 基因组中的坐标。

我宁愿使用R来实现这个目标。怎么做?

0 投票
2 回答
3659 浏览

r - 可以处理 NA 的 jump() 的替代方法是什么?

需要应用分支定界法来选择最佳模型。leaps()来自 jumps 包的效果很好,只有当数据没有NA值时,否则会引发错误:

仅使用complete.cases()不是一种选择,因为我丢失了 80% 的数据。

leap可以处理NAs的替代方法是什么?我正在编写自己的函数来做类似的事情,但它变得又大又笨重,我觉得我正在重新发明轮子......

更新: 我尝试过使用stepAIC(),面临同样的数据丢失问题:

0 投票
7 回答
9082 浏览

r - 补充 DNA 序列

假设我有一个 DNA 序列。我想得到它的补充。我使用了以下代码,但我没有得到它。我究竟做错了什么 ?