ksahlin / strobealign

Aligns short reads using dynamic seed size with strobemers
MIT License
128 stars 16 forks source link

Structure of aln.cpp #366

Open marcelm opened 7 months ago

marcelm commented 7 months ago

This shows which functions call which other functions in aln.cpp. This is an updated version of #98.

I’m documenting this because I think some functions should be renamed to make it easier to remember what function does what. I will update this over time.

Paired end

graph LR;
    align_or_map_paired --> shuffle_top_nams;
    align_or_map_paired --> output_hits_paf_PE;
    align_or_map_paired --> align_paired;
    align_or_map_paired --> get_best_map_location;

    align_paired --> is_proper_nam_pair;
    align_paired --> rescue_read;
    align_paired --> extend_seed;
    align_paired --> get_best_scoring_nam_pairs;
    align_paired --> joint_mapq_from_high_scores;
    align_paired --> is_proper_pair;
    align_paired --> proper_pair_mapq;
    align_paired --> top_dropoff;

    extend_seed --> hamming_distance;
    extend_seed --> hamming_align;
    extend_seed --> Aligner.align;
    get_best_scoring_nam_pairs --> is_proper_nam_pair;
    rescue_align --> has_shared_substring;
    rescue_align --> Aligner.align;
    rescue_read --> extend_seed;
    rescue_read --> rescue_align;
    rescue_read --> get_best_scoring_pairs;
    rescue_read --> joint_mapq_from_alignment_scores;
    rescue_read --> is_proper_pair;
    joint_mapq_from_high_scores --> joint_mapq_from_alignment_scores;
    get_best_map_location --> get_best_scoring_nam_pairs;

Single end

graph LR;
    align_or_map_single --> shuffle_top_nams;
    align_or_map_single --> align_single;
    align_or_map_single --> output_hits_paf;
    align_single --> reverse_nam_if_needed;
    align_single --> extend_seed;

    extend_seed --> hamming_distance;
    extend_seed --> hamming_align;
    extend_seed --> Aligner.align;
ksahlin commented 7 months ago

Good idea! Functions like get_best_scoring_nam_pairs are probably better represented by a name like score_nam_pairs.