@@ -37,7 +37,7 @@ def find_discordant_pos(fragment,is_mp):
3737
3838 return (posA,posB)
3939
40- def main (prefix ,chromosomes ,contig_length ,samples ,is_mp ,epsilon ,m ,max_ins_len ,min_contig ,skip_assembly ):
40+ def main (prefix ,chromosomes ,contig_length ,samples ,is_mp ,epsilon ,m ,max_ins_len ,min_contig ,skip_assembly , min_reads ):
4141
4242 discordants= {}
4343 contigs= set ([])
@@ -265,13 +265,18 @@ def main(prefix,chromosomes,contig_length,samples,is_mp,epsilon,m,max_ins_len,mi
265265 candidates[chrA][chrB][candidate][" N_splits" ]= len (candidates[chrA][chrB][candidate][" splits" ])
266266 candidates[chrA][chrB][candidate][" N_contigs" ]= len (candidates[chrA][chrB][candidate][" contigs" ])
267267
268- if candidates[chrA][chrB][candidate][" N_contigs" ]:
268+
269+ if candidates[chrA][chrB][candidate][" N_splits" ] and min_reads <= candidates[chrA][chrB][candidate][" N_splits" ]:
270+ candidates[chrA][chrB][candidate][" posA" ]= mode(candidates[chrA][chrB][candidate][" positions_A" ][" splits" ])
271+ candidates[chrA][chrB][candidate][" posB" ]= mode(candidates[chrA][chrB][candidate][" positions_B" ][" splits" ])
272+
273+ elif candidates[chrA][chrB][candidate][" N_contigs" ]:
269274 candidates[chrA][chrB][candidate][" posA" ]= mode(candidates[chrA][chrB][candidate][" positions_A" ][" contigs" ])
270275 candidates[chrA][chrB][candidate][" posB" ]= mode(candidates[chrA][chrB][candidate][" positions_B" ][" contigs" ])
276+
271277 elif candidates[chrA][chrB][candidate][" N_splits" ]:
272278 candidates[chrA][chrB][candidate][" posA" ]= mode(candidates[chrA][chrB][candidate][" positions_A" ][" splits" ])
273- candidates[chrA][chrB][candidate][" posB" ]= mode(candidates[chrA][chrB][candidate][" positions_B" ][" splits" ])
274-
279+ candidates[chrA][chrB][candidate][" posB" ]= mode(candidates[chrA][chrB][candidate][" positions_B" ][" splits" ])
275280
276281 else :
277282 reverse_A = candidates[chrA][chrB][candidate][" positions_A" ][" orientation_discordants" ].count(" True" )
@@ -328,10 +333,6 @@ def main(prefix,chromosomes,contig_length,samples,is_mp,epsilon,m,max_ins_len,mi
328333 candidates[chrA][chrB][candidate][" posB" ]= mode(candidates[chrA][chrB][candidate][" positions_B" ][" discordants" ])
329334
330335
331-
332- candidates[chrA][chrB][candidate][" posA" ]
333- candidates[chrA][chrB][candidate][" posB" ]
334-
335336 candidates[chrA][chrB][candidate][" startB" ]= min (candidates[chrA][chrB][candidate][" positions_B" ][" start" ])
336337 candidates[chrA][chrB][candidate][" endB" ]= max (candidates[chrA][chrB][candidate][" positions_B" ][" end" ])
337338
0 commit comments