我是Python新手,我想知道如何从Python中的Fasta文件中找到相同的序列。例如,这里有4个记录序列读取,如何找到相同的序列并返回它们的ids?非常感谢!!
from Bio import SeqIO
record=list(SeqIO.parse("data/dna.txt", "fasta"))
for i in range(0,len(record)):
print record[i].id,record[i].seq
seq1 GAATGCATACTGCATCGATA
seq2 CATAAAACGTCTCCATCGCT
seq3 TG
在较新的Python中,我可以使用sorted函数,并根据字符串的最后几个字符轻松地对其进行排序:
lots_list = ['anything']
print sorted(lots_list, key=returnlastchar)
def returnlastchar(s):
return s[10:]
如何在老版本的Python2.3中将上述功能实现到lots_list.sort()?
“错误:当我尝试使用sorted()时,the global name sorted is not defined。”
我正在研究一个字符级递归神经网络。为了训练网络,我从互联网上复制了一个文本语料库。下面是包含错误的代码块:
X = np.zeros((int(len(data)/SEQ_LENGTH), SEQ_LENGTH, VOCAB_SIZE))
y = np.zeros((int(len(data)/SEQ_LENGTH), SEQ_LENGTH, VOCAB_SIZE))
for i in range(0, int(len(data)/SEQ_LENGTH)):
X_sequence = data[i*SEQ_LENGTH:(i+1)*SEQ_LENGTH]
X_sequence_
我正在使用Python3.5.2。我正在测试一个函数,它可以读取文件中的单词,并将它们放入列表中。我制作了两个版本:一个使用追加方法,另一个使用串联操作。然后,我做了另一个函数来测试他们花费的时间。
import time
def build1(path):
seq = []
fin = open(path)
for line in fin:
word = line.strip()
seq.append(word)
fin.close()
return seq
def build2(path):
seq = [
我试图从python控制台运行Tensorflow的translate.py,而不是通过bazel -build运行,但是在这两行中我得到了一个错误:
from tensorflow.models.rnn.translate import data_utils
from tensorflow.models.rnn.translate import seq2seq_model
ImportError: No module named translate
我已经检查了文件夹,以查看"init.py“文件的存在,但是python似乎认为没有翻译这样的模块。我怎么才能解决这个问题?
在Python 3中运行此代码后:
import pdb
def foo():
nums = [1, 2, 3]
a = 5
pdb.set_trace()
foo()
以下表达式有效:
(Pdb) print(nums)
[1, 2, 3]
(Pdb) print(a)
5
(Pdb) [x for x in nums]
[1, 2, 3]
但是下面的表达式失败了:
(Pdb) [x*a for x in nums]
*** NameError: global name 'a' is not defined
上面的代码在Python2.7中运行
我正在尝试复制python列表迭代,但与python列表不同的是,我的循环索引不会在嵌套循环中重新开始。 目前第一个case按预期工作,但第二个case永远循环,因为内循环和外循环都共享相同的myClassObj,并且内循环总是将索引重置为起始值,因此外循环永远不会终止。如何让它的行为像python内置列表? class MyClass:
"""Iterator for looping over a sequence."""
def __init__(self, seq):
self.data = seq
这个问题与生物信息学有关。我在相应的论坛上没有收到任何建议,所以我把它写在这里。
我需要删除fasta文件中的非ACTG核苷酸,并使用来自biopython的seqio将输出写入一个新文件。
我的代码是
import re
import sys
from Bio import SeqIO
from Bio.SeqRecord import SeqRecord
from Bio.Seq import Seq
from Bio.Alphabet import IUPAC
seq_list=[]
for seq_record in SeqIO.parse("test.fasta"
我正在尝试在python中获取group by和count。由于某些原因,它似乎不能分组 使用python 2.7 #!/usr/bin/env python
counts = {}
logfile = open("/tmp/test.out", "r")
for line in logfile:
if line.startswith("20") in line:
seq = line.strip()
substr = seq[0:13]
if substr not in counts:
我是Python新手,我目前正在尝试做一些列表。我有一个包含对象的列表,每个对象都有两个属性:
for s in objlist:
s.attribute1
s.attribute2
问题是,我想一次读取和处理两个对象,如下所示:
s1.attribute1
s1.attribute2
s2.attribute1
s2.attribute2
然后让循环“跳过”下一个对象,因为它已经被处理了。
在Java中,它应该是这样的:
for [int i = 0, i<list.length, i = i+2]
list[i].attribute1
list[i].attribute2
list[
我有一个Python程序,可以在Python中正确运行,但在用py2exe编译后出现错误。
Traceback (most recent call last):
File "annotate.py", line 229, in <module>
File "random.pyc", line 274, in choice
IndexError: list index out of range
出现错误的第229行如下:
file = random.choice(filenames)
我使用Python2.7.5和py2exe 0.6.9来实现
我正在做一个简单的任务:在Python中寻找两个数组的交集。
我写了代码:
def intersect(nums1, nums2):
"""
:type nums1: List[int]
:type nums2: List[int]
:rtype: List[int]
"""
hash_2 = {}
for x in nums2:
if x in hash_2:
hash_2[x] = 1
else:
has