0

Mathematica のオプションであるSimilarityRules http://reference.wolfram.com/mathematica/ref/SimilarityRules.htmlSequenceAlignment http://reference.wolfram.com/mathematica/ref/SequenceAlignment.html は、類似度行列をプッシュする可能性があります-「 BLAST」「BLOSUM62」「BLOSUM80」「PAM30」「PAM70」「PAM250」。自分のものを使いたい場合はどうすればよいですか?文字の組み合わせごとに {{a_,a_}->1,{a_,b_}->-1} などで定義する必要がありますか?? または、インポートするよりも、自分で作成してマトリックスとして保存する可能性はありますか? Mathematica の行列を使用してそのようなオブジェクトを定義する最も速いオプションは何ですか?

どんな助けでも大歓迎です、

乾杯、M。

4

1 に答える 1

1

「BLOSUM」(名前付きの類似性ルール マトリックスの 1 つ) で grep を実行して、それが定義されている場所を確認し、その実装のメカニズムを発見することを期待しました。私が見つけたのは、SimilarityScoreMatrices.mx というファイルで定義されているように見えることです。これは Mathematica のバイナリ ファイルであり、コンパイルされた言語のオブジェクト ファイルにほぼ相当します。「BLOSUM」が含まれるファイルも探しましたが、何も見つかりませんでした。これは、Wolframがこれらの名前を拡張することを意図していなかったように見えることを意味します.私が行った狩猟の種類によって。

ただし、やりたいことはできます。ルール リストを作成する場合は、DumpSave[]を使用してそれをバイナリ イメージに書き込み、Get[]を使用してそれらを読み戻すことができます。

最後に、SimilarityRules は Mathematica のSparseArrayルールに非常によく似ています。名前付き類似性ルール行列が実際には単なる SparseArray であることを知っても、それほど驚くことではありません。Mathematica が行列に対して行っていることよりも、ルールを渡す効率が失われていない可能性があります。SpareArray を渡すこともできるかもしれませんが、そのように文書化されておらず、私も試していません。

于 2013-07-24T02:05:32.967 に答える