作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 8 字母 DNA 序列的列表,例如:
GGAGACAA
GGATACAA
AATCAGTC
ACACCTGG
我想选择所有位置与其他行至少有 2 个字母不同的行。理想情况下,我想保留第 3,4 和 1 或 2 行(但不关心是哪一行)。但至少,我想保留 3 和 4。最重要的是,没有包含与任何其他保留行只有一个位置基数差异的行。
你会怎么做? R、grep/gawk 是我常用的工具,但我不知道如何使用它们来完成看似简单的任务。
预计到达时间第一行和第二行只有一个字母不同(第四位的 G 与 T)。这就是为什么我不想保留它们。 8 个碱基有约 65,000 种可能的组合,所以我的大部分(约 4000 行)列表应该满足这 2 个字母,这与所有其他行标准不同。我很难弄清楚如何找到那些没有的。
最佳答案
stringdist包具有函数 stringdistmatrix 和许多不同的距离度量。
> library(stringdist)
> stringdistmatrix(x, x)
[,1] [,2] [,3] [,4]
[1,] 0 1 7 7
[2,] 1 0 6 7
[3,] 7 6 0 5
[4,] 7 7 5 0
现在由您来弄清楚“2 个不同的字母”是什么意思!
关于r - 短文本列表,要选择至少有 2 个字母不同的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31508490/
我是一名优秀的程序员,十分优秀!