Skip to content

Commit

Permalink
Display leading insertions differently in alignment + bugfix
Browse files Browse the repository at this point in the history
  • Loading branch information
douweschulte committed Jan 23, 2023
1 parent 3594726 commit 4cdbf7a
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 4 deletions.
2 changes: 2 additions & 0 deletions stitch/Reporting/HTMLReport/Asides.cs
Original file line number Diff line number Diff line change
Expand Up @@ -393,7 +393,9 @@ static public (HtmlBuilder, int[]) CreateTemplateAlignment(Template template, st
seq.Append(new string(non_breaking_space, Math.Max(0, gaps[pos_a] - len_start)));
inserted += Math.Max(0, gaps[pos_a] - len_start);
}
if (pos_a == alignment.StartA) html.Open(HtmlTag.span, "class='insertion'");
html.Content(AminoAcid.ArrayToString(alignment.ReadB.Sequence.AminoAcids.SubArray(pos_b, piece.StepB)));
if (pos_a == alignment.StartA) html.Close(HtmlTag.span);
seq.Append(AminoAcid.ArrayToString(alignment.ReadB.Sequence.AminoAcids.SubArray(pos_b, piece.StepB)));
inserted += piece.StepB;
} else if (piece.StepB == 0) {
Expand Down
8 changes: 4 additions & 4 deletions stitch/Reporting/HTMLReport/Report.cs
Original file line number Diff line number Diff line change
Expand Up @@ -433,10 +433,10 @@ private HtmlBuilder CreateSegmentJoining(int group) {
var bars_a = new HtmlBuilder();
var bars_b = new HtmlBuilder();
var max_doc = new double[] {
set.EndAlignment.ReadA.Sequence.PositionalScore.SubArray(set.EndAlignment.StartA, set.EndAlignment.LenA).Max(),
set.EndAlignment.ReadB.Sequence.PositionalScore.SubArray(set.EndAlignment.StartB, set.EndAlignment.LenB).Max(),
set.SeqA.Sequence.PositionalScore.SubArray(set.SeqA.Sequence.Length - set.EndAlignment.LenA - padding, padding).Max(),
set.SeqB.Sequence.PositionalScore.SubArray(set.EndAlignment.LenB, padding).Max(),
set.EndAlignment.ReadA.Sequence.PositionalScore.SubArray(set.EndAlignment.StartA, set.EndAlignment.LenA).Max(0),
set.EndAlignment.ReadB.Sequence.PositionalScore.SubArray(set.EndAlignment.StartB, set.EndAlignment.LenB).Max(0),
set.SeqA.Sequence.PositionalScore.SubArray(set.SeqA.Sequence.Length - set.EndAlignment.LenA - padding, padding).Max(0),
set.SeqB.Sequence.PositionalScore.SubArray(set.EndAlignment.LenB, padding).Max(0),
}.Max();
bars_a.Open(HtmlTag.div, $"class='joining a' style='--max:{max_doc}'");
bars_b.Open(HtmlTag.div, $"class='joining b' style='--max:{max_doc}'");
Expand Down
7 changes: 7 additions & 0 deletions stitch/Structs/HelperFunctionality.cs
Original file line number Diff line number Diff line change
Expand Up @@ -153,6 +153,13 @@ public static int IntPow(int x, uint pow) {
return ret;
}

public static double Max(this IEnumerable<double> data, double fallback) {
if (data.Count() > 0)
return data.Max();
else
return fallback;
}

public static int SmithWatermanStrings(string template, string query) {
var score_matrix = new (int, Direction)[template.Length + 1, query.Length + 1]; // Default value of 0
int[] indices_template = new int[template.Length];
Expand Down

0 comments on commit 4cdbf7a

Please sign in to comment.