alignpairedend: fixed a bug when rebuilding joined (unaligned) sequences
where only the forward sequence was kept
This commit is contained in:
@ -188,7 +188,7 @@ def buildConsensus(ali, seq, ref_tags=None):
|
|||||||
seq[b'shift']=ali.shift
|
seq[b'shift']=ali.shift
|
||||||
else:
|
else:
|
||||||
if len(ali[0])>999: # TODO why?
|
if len(ali[0])>999: # TODO why?
|
||||||
raise AssertionError,"Too long alignemnt"
|
raise AssertionError,"Too long alignment"
|
||||||
|
|
||||||
ic=IterOnConsensus(ali)
|
ic=IterOnConsensus(ali)
|
||||||
|
|
||||||
@ -250,11 +250,21 @@ def buildJoinedSequence(ali, reverse, seq, forward=None):
|
|||||||
quality.extend(reverse.quality)
|
quality.extend(reverse.quality)
|
||||||
seq.set(forward.id +b"_PairedEnd", s, definition=forward.definition, quality=quality)
|
seq.set(forward.id +b"_PairedEnd", s, definition=forward.definition, quality=quality)
|
||||||
seq[b"score"]=ali.score
|
seq[b"score"]=ali.score
|
||||||
seq[b"ali_direction"]=ali.direction
|
if len(ali.direction) > 0:
|
||||||
|
seq[b"ali_direction"]=ali.direction
|
||||||
|
else:
|
||||||
|
seq[b"ali_direction"]=None
|
||||||
seq[b"mode"]=b"joined"
|
seq[b"mode"]=b"joined"
|
||||||
seq[b"pairedend_limit"]=len(forward)
|
seq[b"pairedend_limit"]=len(forward)
|
||||||
|
seq[b"ali_length"] = ali.consensus_len
|
||||||
|
if ali.consensus_len > 0:
|
||||||
|
seq[b"score_norm"]=float(ali.score)/ali.consensus_len
|
||||||
|
else:
|
||||||
|
seq[b"score_norm"]=0.0
|
||||||
|
|
||||||
for tag in forward:
|
for tag in forward:
|
||||||
if tag != REVERSE_SEQUENCE_COLUMN and tag != REVERSE_QUALITY_COLUMN:
|
if tag != REVERSE_SEQUENCE_COLUMN and tag != REVERSE_QUALITY_COLUMN and \
|
||||||
|
tag != NUC_SEQUENCE_COLUMN and tag != QUALITY_COLUMN:
|
||||||
seq[tag] = forward[tag]
|
seq[tag] = forward[tag]
|
||||||
return seq
|
return seq
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user