读取python中蛋白质序列的文本文件

时间:2019-05-07 17:07:51

标签: python

我正在尝试读取Pandas Data框架中的DNA序列,但没有在Data frame列中获得整个序列。

我尝试了File.open方法简单的read_csv方法,这些方法对我没有多大帮助。

pd.read_csv('../input/data 1/non-cpp.txt', index_col=0, header=None)

Output:

0
>
GNNRPVYIPQPRPPHPRI
>
HGVSGHGQHGVHG
>

myfile = open("../input/data 1/non-cpp.txt")
for line in myfile:
    print(line)
myfile.close()

>

GNNRPVYIPQPRPPHPRI

>

HGVSGHGQHGVHG

>

QRFSQPTFKLPQGRLTLSRKF

>

FLPVLAGIAAKVVPALFCKITKKC

DataSet Source

Here are some of sequences I want to read

  • 序列标签
  • 长序列(字符串)

我需要在第一列中看到的标签,而在第二列中可以看到的第二列中的整个序列,例如

标签

序列

2 个答案:

答案 0 :(得分:1)

这不是一个简单的内胆,但是它将为您提供所需的DNA序列系列。

import pandas as pd

data = pd.read_csv('cpp.txt', sep=">",header=None)

data[0].dropna()

我希望对您有帮助

答案 1 :(得分:0)

假设您的文件类似于:

>a1|b1|c1
a111
>a2|b2|c2
a222
>a3|b3|c3
a333

请注意,这里有6行。

然后,您可以读取文件并存储数据:

import pandas as pd

with open('filename.txt', 'r') as f:
    content = f.readlines()

n = len(content)

label = [content[i].strip() for i in range(0,n,2)]
seq = [content[i].strip() for i in range(1,n,2)]

df = pd.DataFrame({'label':label,
                   'sequence':seq})

您将获得一个熊猫数据框:

      label sequence
0   >a1|b1|c1   a111
1   >a2|b2|c2   a222
2   >a3|b3|c3   a333