这是我之前问过的一个问题的后续问题:Processing a sub-list of variable size within a larger list。你知道吗
我设法用itertools把一组组DNA片段取出来,但现在我面临一个不同的问题。你知道吗
我需要根据这些DNA片段设计引物。引物的设计包括不同DNA片段的重叠。假设我有三个DNA片段,片段a,B和C。我需要提取:
我似乎无法解决这个问题,我也不知道从哪里开始这件事对我来说是最好的。。。你知道吗
到目前为止,我已经编写的代码只输出“group1”(有目的的,这样我就可以最小化我正在处理的视觉输出量)。在这里:
#import BioPython Tools
from Bio.Seq import Seq
from Bio.Alphabet import IUPAC
#import csv tools
import csv
import sys
import os
import itertools
with open('constructs-to-make.csv', 'rU') as constructs:
construct_list = csv.DictReader(constructs)
def get_construct_number(row):
return row["Construct"]
def get_strategy(row):
return row["Strategy"]
## construct_list.next()
## construct_number = 1
primer_list = []
## temp_list = []
## counter = 2
groups = []
## for row in construct_list:
## print(row)
##
for key, items in itertools.groupby(construct_list, key=get_construct_number):
for subitems in items:
#here, I am trying to get the annealing portion of the Gibson sequence out
if subitems['Strategy'] == 'Gibson' and subitems['Construct'] == '1':
print(subitems['Construct'])
fw_anneal = Seq(subitems['Sequence'][0:40], IUPAC.unambiguous_dna)
print(fw_anneal)
re_anneal = Seq(subitems['Sequence'][-40:], IUPAC.unambiguous_dna).reverse_complement()
print(re_anneal)
fw_overhang = Seq(subitems['Sequence'][0:20], IUPAC.unambiguous_dna).reverse_complement()
print(fw_overhang)
re_overhang = Seq(subitems['Sequence'][-20:], IUPAC.unambiguous_dna)
print(re_overhang)
任何帮助都将不胜感激!你知道吗
最后我用了一堆条件来解决这个问题。你知道吗
这段代码不雅观,而且涉及大量的重复,但是对于一个我将反复使用的快速而肮脏的脚本,我认为它就足够了。你知道吗
谢谢大家的帮助!你知道吗
Martineau可能对特定领域的语言有正确的想法。我没有这方面的经验,但这是我在半小时内想到的。你知道吗
我没有运行,调试或测试这个,但如果你有任何问题,让我知道。这段代码还假设片段长度不够长,以至于在内存中保存它们时出现问题。如果这个假设不成立,这种方法就不会非常有效。你知道吗
我也懒得设计碎片字典。它不应该是一个全局变量,整个代码应该在一个类中。你知道吗
相关问题 更多 >
编程相关推荐