首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mathematica SimilarityRules

Mathematica SimilarityRules
EN

Stack Overflow用户
提问于 2013-07-23 18:33:59
回答 1查看 96关注 0票数 0

在Mathematica的选项中,SimilarityRules http://reference.wolfram.com/mathematica/ref/SimilarityRules.html for SequenceAlignment http://reference.wolfram.com/mathematica/ref/SequenceAlignment.html是一种可能,可以推送类似于"BLAST“、"BLOSUM62”、"BLOSUM80“、"PAM30”、"PAM70“、"PAM250”之类的简单矩阵。如果我想用自己的呢?是否必须为每个字母组合定义{{a_,a_}->1,{a_,b_}->-1}等??或者,除了导入外,是否有可能编写自己的矩阵并将其存储为一个矩阵呢?使用mathematica矩阵来定义这样的对象,最快的选择是什么?

任何帮助都将不胜感激,

干杯,先生。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-24 02:05:32

我在“BLOSUM”(命名的相似规则矩阵之一)上做了一个grep,以查看它的定义,并希望发现实现它的机制。我发现它似乎是在一个名为SimilarityScoreMatrices.mx的文件中定义的,它是一个二进制数学文件,大致相当于编译语言中的一个对象文件。我还查找了其中有“BLOSUM”的文件,但没有发现任何文件。这一切都是说,Wolfram似乎不打算延长这些名字,因为如果它们这样做了,这种机制可能会在文档中发现,或者至少通过我的搜索方式。

然而,你仍然可以做你想做的事。如果构建规则列表,则可以使用DumpSave[]将其写入二进制图像,并使用Get[]将它们读取回。

最后一个注意事项是,SimilarityRules看起来非常像Mathematica的SparseArray规则。如果我发现命名的相似规则矩阵实际上只是SparseArrays,我就不会感到惊讶了。它可能是,你没有失去任何效率,传递规则的数学是如何处理矩阵。它甚至可能是您可以传入一个SpareArray,但它不是以这种方式记录的,我也没有尝试过。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17818289

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档