2012-08-22 139 views
1

我正在研究生物信息學項目,並試圖在python 2.7中運行一個名爲pycogent的模塊。我的目標是從由對齊的16s Fastq序列組成的文件創建一個祖先序列。如何使用pycogent在Python 2.7中創建祖先序列?

我的Python代碼如下:

from cogent import LoadSeqs 
aln = LoadSeqs('FullStrep.fasta') 
lf.setAlignment(aln) 
lf.optimise(show_progress=False, local=True) 
ancestors = lf.likelyAncestralSeqs() 
print ancestors 

不過,我收到以下錯誤消息。

Traceback (most recent call last): 
    File "/Users/paulfryling/Desktop/Mypythonproj/pycogentancestor", line 1, in <module> 
    from cogent import LoadSeqs 
    File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/cogent/__init__.py", line 5, in <module> 
    import numpy 
    File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/numpy/__init__.py", line 137, in <module> 
    import add_newdocs 
    File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/numpy/add_newdocs.py", line 9, in <module> 
    from numpy.lib import add_newdoc 
    File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/numpy/lib/__init__.py", line 4, in <module> 
    from type_check import * 
    File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/numpy/lib/type_check.py", line 8, in <module> 
    import numpy.core.numeric as _nx 
    File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/numpy/core/__init__.py", line 5, in <module> 
    import multiarray 
ImportError: dlopen(/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/numpy/core/multiarray.so, 2): no suitable image found. Did find: 
    /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/numpy/core/multiarray.so: no matching architecture in universal wrapper 
>>> 

任何幫助或方向將非常感激。

最好的問候,

保羅

+1

它看起來並不像我這樣與'pycogent'有關,而是用'numpy'安裝,而不是這個版本的32/64位問題。你能否成功地從控制檯導入numpy? – DSM

+0

我認爲你是正確的關於numpy未被正確安裝,導入numpy不能從控制檯工作。我得到了安裝QIIME VirtualBox作爲解決方法的幫助,但只有很少的Ubuntu體驗,我在QIIME虛擬框中運行我的python程序時遇到了困難。 – Pfryling

+0

雖然QIIME虛擬盒子像魅力一樣工作,但我遇到的問題是pycogent能夠讀取我的序列。我收到以下錯誤消息: – Pfryling

回答

2

你的問題是,你不這樣做一些PyCogent的依賴,它有相當多的人,但如果你有以下三種,你會能夠使用幾乎所有的東西。

你需要做的,安裝的第一件事是Python的**,因爲你是在Mac OS X中選擇您使用的是當前的操作系統版本:

你需要接下來的事情是NumPy的,你可以從這裏下載類似:

接下來,您將需要安裝Matplotlib:

一旦你把所有這些,你將需要安裝PyCogent庫,這樣做:

  1. 下載並解壓到您的計算機此file

  2. 從終端轉至該文件被下載的文件夾,並PyCogent文件夾內,運行以下命令:


python setup.py build 
sudo python setup.py install 

這應該是所有的。如果您需要,可以安裝optional installs

**雖然您的計算機中可能安裝了一個Python,但最好確保您從Python.org獲得Python,因爲它也會與PyPgent的另一個依賴關係Matplotlib兼容。

相關問題