【问题标题】:inputting and aligning protein sequence输入和比对蛋白质序列
【发布时间】:2013-01-22 17:45:50
【问题描述】:

我有一个用于在蛋白质序列中查找突变位置的脚本。以下脚本将执行此操作。

import pandas as pd #data analysis python module
data =     'MTAQDDSYSDGKGDYNTIYLGAVFQLN,MTAQDDSYSDGRGDYNTIYLGAVFQLN,MTSQEDSYSDGKGNYNTIMPGAVFQLN,MTAQDDSYSDGRGDYNTIMPGAVFQLN,MKAQDDSYSDGRGNYNTIYLGAVFQLQ,MKSQEDSYSDGRGDYNTIYLGAVFQLN,MTAQDDSYSDGRGDYNTIYPGAVFQLN,MTAQEDSYSDGRGEYNTIYLGAVFQLQ,MTAQDDSYSDGKGDYNTIMLGAVFQLN,MTAQDDSYSDGRGEYNTIYLGAVFQLN' #protein sequences

df = pd.DataFrame(map(list,data.split(',')))

I = df.columns[(df.ix[0] != df).any()] 

J = [pd.get_dummies(df[i], prefix=df[i].name+1, prefix_sep='') for i in I] 

print df[[]].join(J)

这里我给出了数据(硬编码),即输入蛋白质序列。通常在应用程序中,用户必须给出输入序列,即,我的意思是软编码。 这里的对齐也没有完成。我阅读了 biopython 教程并得到了以下脚本,但我不知道如何将这些脚本添加到上面的脚本中。

from Bio import AlignIO
alignment = AlignIO.read("c:\python27\proj\data1.fasta", "fasta")
print alignment

我该怎么做 我尝试过的:

>>> import sys

>>> import pandas as pd

>>> from Bio import AlignIO

>>> data=sys.stdin.read()
    MTAQDDSYSDGKGDYNTIYLGAVFQLN
    MTAQDDSYSDGRGDYNTIYLGAVFQLN
    MTSQEDSYSDGKGNYNTIMPGAVFQLN
    MTAQDDSYSDGRGDYNTIMPGAVFQLN
    MKAQDDSYSDGRGNYNTIYLGAVFQLQ
    MKSQEDSYSDGRGDYNTIYLGAVFQLN
    MTAQDDSYSDGRGDYNTIYPGAVFQLN
    MTAQEDSYSDGRGEYNTIYLGAVFQLQ
    MTAQDDSYSDGKGDYNTIMLGAVFQLN
    MTAQDDSYSDGRGEYNTIYLGAVFQLN
    ^Z
>>> df=pd.DataFrame(map(list,data.split(',')))
>>> I=df.columns[(df.ix[0]!=df).any()]
>>> J=[pd.get_dummies(df[i],prefix=df[i].name+1,prefix_sep='')for i in I]
>>> print df[[]].join(J)

但它给出了空的 DataFrame 作为输出。

我也尝试过关注,但我不知道如何将这些序列加载到我的脚本中

while 1:
 var=raw_input("Enter your sequence here:")
 print "you entered ",var

请帮帮我。

【问题讨论】:

  • 对于第三个代码 sn-p:确保数据是逗号分隔的,而不是空格或换行符分隔,或者将 data.split(',') 更改为例如 data.split('\n')
  • 我认识this code (!)

标签: input python-2.7 alignment pandas biopython


【解决方案1】:

当您通过以下方式读取数据时:

sys.stdin.read()

使用'\n' 而不是',' 分隔序列(打印data 将确认是否是这种情况,它可能取决于系统),因此您应该使用以下方法进行拆分:

df = pd.DataFrame(map(list,data.split('\n')))

检查这种事情的一个好方法是逐行检查它,您会看到df 是一个单行数据帧(然后传播以使I 为空)。

除此之外:您使用的是什么well written piece of code! :)

【讨论】:

    猜你喜欢
    • 2012-06-27
    • 2013-01-16
    • 1970-01-01
    • 1970-01-01
    • 2020-12-22
    • 1970-01-01
    • 2017-01-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多