数学SequenceAlignment SimilarityRules

问题描述:

在Mathematica的选项SimilarityRules http://reference.wolfram.com/mathematica/ref/SimilarityRules.htmlSequenceAlignment http://reference.wolfram.com/mathematica/ref/SequenceAlignment.html 是推动simmilarity矩阵的可能性 - 如 “闯天关” “BLOSUM62” “BLOSUM80” “PAM30” “PAM70” “PAM250”。 如果我想用我自己的东西呢? 我必须用{{a_,a _} - > 1,{a_,b _} - > - 1}等来定义每个字母的组合吗? 或者有没有可能写我自己的并将它作为矩阵存储,而不是导入它?用mathematica的矩阵定义这样的对象最快的选择是什么?数学SequenceAlignment SimilarityRules

任何帮助将理解的,

干杯, 米。

我做了“BLOSUM”(命名规则相似矩阵的一个),一个grep来看到它的定义和发现及其实施机制的希望。我发现它似乎是在名为SimilarityScoreMatrices.mx的文件中定义的,该文件是一个二进制Mathematica文件,大致相当于编译语言中的目标文件。我还查找了带有“BLOSUM”的文件,但没有找到,这就是说,看起来Wolfram并不打算将这些名称扩展,因为如果他们这样做了,机制可能会在文档中发现,或者至少通过

但是那种狩猎我做的,你仍然可以做你想做的,如果你建立你的规则列表,你可以用DumpSave[]将其写入到一个二进制图像,并使用Get[]阅读他们回来。

最后一点,SimilarityRules看起来非常像Mathematica的SparseArray规则。我不会惊讶地发现,命名的相似性规则矩阵实际上只是SparseArrays,也许你不会失去任何效率传递r在Mathematica正在用矩阵做什么。它甚至可能是你可以通过一个SpareArray,但它没有被记录下来,我没有尝试过。

+0

非常感谢你:)这就是我的想法,但我不确定我在挖掘文档的技能。干杯! – Strumillo