Imported Upstream version 1.4.6-p2

parent e14aaf6e
No preview for this file type
......@@ -3837,6 +3837,7 @@ void init_global_context(global_context_t * context)
context->config.use_bitmap_event_table = 1;
context->config.convert_color_to_base = 0;
context->config.is_gzip_fastq = 0;
context->config.realignment_minimum_variant_distance = 16;
context->config.is_BAM_output = 0;
context->config.is_BAM_input = 0;
......
......@@ -50,6 +50,7 @@ static struct option long_options[] =
{"ignoreUnmapped", no_argument, 0, 0},
{"accurateFusions", no_argument, 0, 0},
{"maxMismatches", required_argument, 0, 'M'},
{"minDistanceBetweenVariants", required_argument, 0, 0},
{0, 0, 0, 0}
};
......@@ -192,6 +193,14 @@ void print_usage_core_aligner()
SUBREADputs(" 'fr' by default.");
SUBREADputs("");
SUBREADputs("");
SUBREADputs("Advanced arguments:");
SUBREADputs("");
SUBREADputs(" --minDistanceBetweenVariants <int> Minimum allowed distance between two");
SUBREADputs(" neighboring variants (or junctions in RNA-seq data)");
SUBREADputs(" within the same read. 16 by default. The value");
SUBREADputs(" should be greater than 0 and less than the length");
SUBREADputs(" of the read.");
SUBREADputs("");
SUBREADputs("For more information about these arguments, please refer to the User Manual.");
SUBREADputs("");
......@@ -430,6 +439,13 @@ int parse_opts_aligner(int argc , char ** argv, global_context_t * global_contex
global_context->config.prefer_donor_receptor_junctions = 0;
global_context->config.do_big_margin_filtering_for_reads = 1;
}
else if(strcmp("minDistanceBetweenVariants", long_options[option_index].name)==0)
{
int newdist = atoi(optarg);
newdist = max(newdist, 1);
newdist = min(newdist, MAX_READ_LENGTH);
global_context->config.realignment_minimum_variant_distance = newdist;
}
else if(strcmp("accurateFusions", long_options[option_index].name)==0)
{
global_context->config.more_accurate_fusions = 1;
......
......@@ -50,6 +50,7 @@ static struct option long_options[] =
{"reportPairedMultiBest", no_argument, 0, 0},
{"maxMismatches", required_argument, 0, 'M'},
{"exonicSubreadFrac", required_argument, 0, 0},
{"minDistanceBetweenVariants", required_argument, 0, 0},
{0, 0, 0, 0}
};
......@@ -187,6 +188,15 @@ void print_usage_core_subjunc()
SUBREADputs(" -S --order <ff:fr:rf> specifying if the first/second reads are forward");
SUBREADputs(" or reversed, 'fr' by default");
SUBREADputs("");
SUBREADputs("");
SUBREADputs("Advanced arguments:");
SUBREADputs("");
SUBREADputs(" --minDistanceBetweenVariants <int> Minimum allowed distance between two");
SUBREADputs(" neighboring variants (or junctions in RNA-seq data)");
SUBREADputs(" within the same read. 16 by default. The value");
SUBREADputs(" should be greater than 0 and less than the length");
SUBREADputs(" of the read.");
SUBREADputs("");
SUBREADputs("For more information about these arguments, please refer to the User Manual.");
SUBREADputs("");
......@@ -434,6 +444,13 @@ int parse_opts_subjunc(int argc , char ** argv, global_context_t * global_contex
global_context->config.minimum_exonic_subread_fraction = atof(optarg);
else SUBREADprintf("WARNING: unknown parameter: --exonicSubreadFrac '%s'\n", optarg);
}
else if(strcmp("minDistanceBetweenVariants", long_options[option_index].name)==0)
{
int newdist = atoi(optarg);
newdist = max(newdist, 1);
newdist = min(newdist, MAX_READ_LENGTH);
global_context->config.realignment_minimum_variant_distance = newdist;
}
else if(strcmp("disableBigMargin", long_options[option_index].name)==0)
{
global_context->config.do_big_margin_filtering_for_junctions = 0;
......
......@@ -91,10 +91,6 @@ typedef struct{
} select_junction_record_t;
//#define SEARCH_MIN_MOVEMENT 16
#define SEARCH_MIN_MOVEMENT 1
// read_head_abs_pos is the offset of the FIRST WANTED base.
void search_events_to_front(global_context_t * global_context, thread_context_t * thread_context, explain_context_t * explain_context, char * read_text , char * qual_text, unsigned int read_head_abs_offset, short remainder_len, short sofar_matched, int suggested_movement)
{
......@@ -126,7 +122,7 @@ void search_events_to_front(global_context_t * global_context, thread_context_t
// tested_read_pos is the index of the first base unwanted!
int move_start = SEARCH_MIN_MOVEMENT;
int move_start = global_context -> config.realignment_minimum_variant_distance;
if(suggested_movement) move_start = suggested_movement-1;
int is_junction_scanned = 0;
......@@ -389,10 +385,10 @@ void search_events_to_back(global_context_t * global_context, thread_context_t *
int is_junction_scanned = 0;
// minimum perfect section length is 1
// tested_read_pos is the first WANTED BASE in section.
int move_start = read_tail_pos - SEARCH_MIN_MOVEMENT;
int move_start = read_tail_pos - global_context -> config.realignment_minimum_variant_distance;
if(suggested_movement) move_start = read_tail_pos - suggested_movement + 1;
if(MAX_EVENTS_IN_READ - 1> explain_context -> tmp_search_sections && ( there_are_events_in_range(event_table -> appendix2, read_tail_abs_offset - read_tail_pos, read_tail_pos - 15)||global_context -> config.do_fusion_detection))
for(tested_read_pos = read_tail_pos - SEARCH_MIN_MOVEMENT; tested_read_pos >=0;tested_read_pos --)
for(tested_read_pos = read_tail_pos - global_context -> config.realignment_minimum_variant_distance; tested_read_pos >=0;tested_read_pos --)
{
int xk1, matched_bases_to_site;
int jump_penalty = 0;
......
......@@ -162,6 +162,7 @@ typedef struct{
char do_superlong_indel_detection;
char extending_search_indels;
int k_mer_length;
int realignment_minimum_variant_distance;
int reassembly_start_read_number;
int reassembly_key_length;
int reassembly_subread_length;
......
SUBREAD_VERSION="1.4.6-p1"
SUBREAD_VERSION="1.4.6-p2"
STATIC_MAKE=
#STATIC_MAKE= -static
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment