public RepeatExpansionProvider(GenomeAssembly genomeAssembly, IDictionary <string, IChromosome> refNameToChromosome, int numRefSeqs, string customTsvPath) { using (Stream stream = GetTsvStream(genomeAssembly, customTsvPath)) { IIntervalForest <RepeatExpansionPhenotype> phenotypeForest = RepeatExpansionReader.Load(stream, genomeAssembly, refNameToChromosome, numRefSeqs); _matcher = new Matcher(phenotypeForest); } }
private static void TryLoadStrFile(Stream stream, GenomeAssembly genomeAssembly, ISequenceProvider refProvider) { try { RepeatExpansionReader.Load(stream, genomeAssembly, refProvider.RefNameToChromosome, refProvider.RefIndexToChromosome.Count); } catch (Exception exception) { throw new UserErrorException(exception.Message); } }
public void ComputePercentiles_Nominal() { var repeatNumbers = new[] { 10, 15, 20, 100, 200 }; var alleleCounts = new[] { 550, 34, 78, 30, 45 }; double[] expectedPercentiles = { 0, 550 * 100.0 / 737, (550 + 34) * 100.0 / 737, (550 + 34 + 78) * 100.0 / 737, (550 + 34 + 78 + 30) * 100.0 / 737 }; double[] observedResults = RepeatExpansionReader.ComputePercentiles(repeatNumbers, alleleCounts); Assert.Equal(expectedPercentiles, observedResults); }