2012-11-14 59 views
0

我目前正在嘗試與python Dendropy庫一起工作,並在代碼中包含一些PAUP命令。Dendropy interop和numpy數組

我有矩陣作爲numpy數組,但它看起來像numpy數組和這個模塊有問題。

***Distance matrix A (Numpy array)*** 

[[ 0 2 7 8 16 17] 
[ 2 0 5 6 17 16] 
[ 7 5 0 9 15 13] 
[ 8 6 9 0 18 16] 
[16 17 15 18 0 5] 
[17 16 13 16 5 0]] 

我試圖transfrom的numpy的陣列使用,以numpy的矩陣:A=numpy.matrix(A)

import dendropy 
from dendropy.interop import paup  

#A is a distance matrix like this  

tree = paup.estimate_tree(A, 'nj') 

我得到的錯誤是:AttributeError: 'matrix' object has no attribute 'write_to_stream'

或:

AttributeError: 'numpy.ndarray' object has no attribute 'write_to_stream' 

任何幫助,將不勝感激。

回答

0

我從來沒有用過DendroPy,但它是從你報告的錯誤很明顯,並從快看DendroPy文檔(如http://packages.python.org/DendroPy/tutorial/chars.htmlhttp://packages.python.org/DendroPy/tutorial/paup.html)是estimate_tree預計某種CharacterMatrix對象(DendroPy中定義的類),而不是一個NumPy數組或矩陣。

+0

你有什麼想法如何將這個characterMatrix的形狀?本教程沒有提及任何關於它的內容 – ifreak

+0

對不起,沒有。我建議你在dendropy-users郵件列表(https://groups.google.com/forum/?fromgroups#!forum/dendropy-users)上提問你的問題,但看起來你已經擁有了!或者有人問過幾乎完全相同的問題:)(https://groups.google.com/forum/?hl=zh-CN&fromgroups=#!topic/dendropy-users/I1dz2wVDoF0) –

+0

是的,我已經做了..謝謝無論如何。 – ifreak