本文整理汇总了Python中edge.models.Fragment.save方法的典型用法代码示例。如果您正苦于以下问题:Python Fragment.save方法的具体用法?Python Fragment.save怎么用?Python Fragment.save使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类edge.models.Fragment
的用法示例。
在下文中一共展示了Fragment.save方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: build_fragment
# 需要导入模块: from edge.models import Fragment [as 别名]
# 或者: from edge.models.Fragment import save [as 别名]
def build_fragment(self):
# pre-chunk the fragment sequence at feature start and end locations.
# there should be no need to further divide any chunk during import.
break_points = list(set(
[f[0] for f in self.__features] +
[f[1] + 1 for f in self.__features]))
break_points = sorted(break_points)
chunk_sizes = []
for i, bp in enumerate(break_points):
if i == 0:
if bp > 1:
chunk_sizes.append(break_points[i] - 1)
else:
chunk_sizes.append(break_points[i] - break_points[i - 1])
print '%d chunks' % (len(chunk_sizes),)
new_fragment = Fragment(name=self.__rec.id, circular=False, parent=None, start_chunk=None)
new_fragment.save()
new_fragment = new_fragment.indexed_fragment()
prev = None
flen = 0
seqlen = len(self.__sequence)
for sz in chunk_sizes:
prev = new_fragment._append_to_fragment(prev, flen, self.__sequence[flen:flen + sz])
flen += sz
if flen < seqlen:
f = new_fragment._append_to_fragment(prev, flen, self.__sequence[flen:seqlen])
return new_fragment
示例2: test_finds_genomes_with_specified_fragment_ids
# 需要导入模块: from edge.models import Fragment [as 别名]
# 或者: from edge.models.Fragment import save [as 别名]
def test_finds_genomes_with_specified_fragment_ids(self):
from edge.models import Genome, Fragment, Genome_Fragment
g1 = Genome(name='Foo')
g1.save()
g2 = Genome(name='Bar')
g2.save()
f1 = Fragment(circular=True, name='FooF1')
f1.save()
f2 = Fragment(circular=True, name='FooF2')
f2.save()
f3 = Fragment(circular=True, name='FooF3', parent=f2)
f3.save()
Genome_Fragment(genome=g1, fragment=f1, inherited=False).save()
Genome_Fragment(genome=g1, fragment=f2, inherited=False).save()
Genome_Fragment(genome=g2, fragment=f1, inherited=True).save()
Genome_Fragment(genome=g2, fragment=f3, inherited=False).save()
# no filter, return both genomes
res = self.client.get('/edge/genomes/')
self.assertEquals(res.status_code, 200)
d = json.loads(res.content)
self.assertItemsEqual([g['id'] for g in d], [g1.id, g2.id])
# looking for f1 and f2
res = self.client.get('/edge/genomes/?f=%d&f=%d' % (f1.id, f2.id))
self.assertEquals(res.status_code, 200)
d = json.loads(res.content)
self.assertItemsEqual([g['id'] for g in d], [g1.id])
# looking for f1 and f3
res = self.client.get('/edge/genomes/?f=%d&f=%d' % (f1.id, f3.id))
self.assertEquals(res.status_code, 200)
d = json.loads(res.content)
self.assertItemsEqual([g['id'] for g in d], [g2.id])
# looking for f2 and f3
res = self.client.get('/edge/genomes/?f=%d&f=%d' % (f2.id, f3.id))
self.assertEquals(res.status_code, 200)
d = json.loads(res.content)
self.assertEquals(d, [])
# looking for f1
res = self.client.get('/edge/genomes/?f=%d' % (f1.id,))
self.assertEquals(res.status_code, 200)
d = json.loads(res.content)
self.assertEquals(d, [])
# bad input, return []
res = self.client.get('/edge/genomes/?f=[1,2,3]')
self.assertEquals(res.status_code, 200)
d = json.loads(res.content)
self.assertEquals(d, [])