void CrossHypotheses::FillInPrediction(PersistingThreadObjects &thread_objects, const Alignment& my_read, const InputStructures &global_context) { // allocate everything here CleanAllocate(instance_of_read_by_state.size(), global_context.treePhaserFlowOrder.num_flows()); int flow_upper_bound = splice_end_flow + 4*min_delta_for_flow; max_last_flow = CalculateHypPredictions(thread_objects, my_read, global_context, instance_of_read_by_state, predictions, normalized, flow_upper_bound); SetModPredictions(); if (my_read.is_reverse_strand) strand_key = 1; else strand_key = 0; }
void CrossHypotheses::FillInPrediction(PersistingThreadObjects &thread_objects, const Alignment& my_read, const InputStructures &global_context) { // allocate everything here CleanAllocate(instance_of_read_by_state.size(), global_context.flow_order_vector.at(my_read.flow_order_index).num_flows()); // We search for test flows in the flow interval [(splice_start_flow-3*max_flows_to_test), (splice_end_flow+4*max_flows_to_test)] // We need to simulate further than the end of the search interval to get good predicted values within int flow_upper_bound = splice_end_flow + 4*max_flows_to_test + 20; max_last_flow = CalculateHypPredictions(thread_objects, my_read, global_context, instance_of_read_by_state, same_as_null_hypothesis, predictions_all_flows, normalized_all_flows, flow_upper_bound); SetModPredictions(); if (my_read.is_reverse_strand) strand_key = 1; else strand_key = 0; }