我目前能够生成包含信息的文本文件,但由于某种原因,我无法将数据发送到列表中。我试过两种方法:
cnx = mysql.connector.connect(user='root', database='smor')
cursor = cnx.cursor()
sqlQuery = ("SELECT id,name,CAST(aa_seq as CHAR(65535)) aa_seq FROM smor.domain_tbl WHERE domain_type_id=5 AND domain_special IS NULL LIMIT 100000")
cursor.execute(sqlQuery)
print "Generating FASTA file: ", FASTA_File1
with open(FASTA_File1, "w") as FASTA1:
for (aa_id, name, aa_seq) in cursor:
FASTA1.write(">" + name + '\n' + aa_seq + '\n')
print ">" + name + '\n' + aa_seq
ListOfNames =[]
for (aa_id, name, aa_seq) in cursor:
ListOfNames.append(name)
cursor.close()
print "ListOfNames", ListOfNames
这成功地将名称和氨基酸序列打印到文本文件中,但字符串为空。这是控制台中输出的最后几行:
>NC_018581.1_05_011_001_020 P
RVPGEMYERAEDGALIPTGVRARWVDAPGSRREIVGPIARHPRIDGRRVDLDVVEEALAAVTGVTAAAVVGLPTDDGVEVGACVVLDRDDLDVPGLRRELSQTLAAHCVPTMISIVESIPLGTDGRPDHGEV
ListOfNames []
如您所见,列表仍然为空。我想也许光标无法跳回顶部,所以我关闭了光标并完全按照上面的方式重新打开它,但在第二个实例中生成了列表。这导致脚本出错,我不知道为什么。
是不是数据不能直接读入列表?
从理论上讲,我可以将序列的名称从文本文件中拆分出来,但我很好奇为什么这种方法不起作用。