def merged(self, s, t):
chars = []
for c1, c2 in zip_longest(s.sequence, t.sequence):
if c1 is None:
c = c2
elif c2 is None:
c = c1
elif c1 == 'N':
c = c2
elif c2 == 'N':
c = c1
elif c1 != c2:
return None
else:
assert c1 == c2
c = c1
chars.append(c)
seq = ''.join(chars)
requested = s.requested or t.requested
name = s.name + ';' + t.name
# take union of groups
group = pd.concat([s.group, t.group]).groupby(level=0).last()
return SiblingInfo(seq, requested, name, group)
评论列表
文章目录