internal MutableWittyerResult GetQueryset([CanBeNull] string sampleName, GenomeType genomeType) { var query = new MutableWittyerResult(sampleName, false, _vcfReader.Header); GetResult(sampleName, query, genomeType); return(query); }
public static BaseGenome CreateGenome(GenomeType type, int length) { switch (type) { case GenomeType.BinaryString: return new GenomeBinaryString(length); case GenomeType.RawBinaryString32: return new GenomeBinaryStringRaw32(length); case GenomeType.RawBinaryString64: return new GenomeBinaryStringRaw64(length); case GenomeType.FloatString: return new GenomeFloatString(length); } DebugAux.Assert(false, "There is no such genome type"); return null; }
public static BaseGenome CreateGenome(GenomeType type, int length) { switch (type) { case GenomeType.BinaryString: return(new GenomeBinaryString(length)); case GenomeType.RawBinaryString32: return(new GenomeBinaryStringRaw32(length)); case GenomeType.RawBinaryString64: return(new GenomeBinaryStringRaw64(length)); case GenomeType.FloatString: return(new GenomeFloatString(length)); } DebugAux.Assert(false, "There is no such genome type"); return(null); }
internal static IVcfVariant ConvertGenomeType([NotNull] this IVcfVariant variant, GenomeType type) { switch (type) { case GenomeType.Ucsc: return(variant.ToUcscStyleVariant()); case GenomeType.Grch: return(variant.ToGrchStyleVariant()); case GenomeType.Unknown: return(variant); default: throw new InvalidDataException( $"Not sure why there's a genometype {type.ToString()} in vcf which we are not supporting!"); } }
private GenomeType?GetResult([CanBeNull] string sampleName, [NotNull] IMutableWittyerResult mutableResult, GenomeType targetType) { var bndSet = new Dictionary <IGeneralBnd, IVcfVariant>(BreakendPairComparer.Default); var errorList = new List <string>(); GenomeType?genomeType = null; foreach (var baseVariant in _baseVariants) { if (genomeType == null) { genomeType = baseVariant.Contig.GetGenomeType(); } var sample = sampleName == null ? null : baseVariant.Samples[sampleName]; var result = CreateVariant(baseVariant.ConvertGenomeType(targetType), sample, mutableResult.IsTruth, sampleName, _inputSpec, bndSet, errorList, _mode == EvaluationMode.CrossTypeAndSimpleCounting); switch (result) { //ugly implementation, first of breakend pair will return left as IGeneralBnd case IGeneralBnd _: continue; case IVcfVariant vcfVariant: mutableResult.AddUnsupported(vcfVariant); break; case IMutableWittyerSimpleVariant simpleVariant: mutableResult.AddTarget(simpleVariant); break; } } if (errorList.Count > 0) { var msg = (errorList.Count > MaxNonSupportedVariantToPrint ? errorList.Take(MaxNonSupportedVariantToPrint) : errorList).StringJoin("\n"); Console.Error.WriteLine( $"Fail to parse {errorList.Count} variants from truth, check first {MaxNonSupportedVariantToPrint} or less: \n{msg}"); } if (bndSet.Count == 0) { return(genomeType ?? GenomeType.Unknown); } Console.Error.WriteLine( $"Found single breakend in truth!!!! Those entries will be completely exclude from stats. First {MaxNonSupportedVariantToPrint} or less:"); Console.Error.WriteLine(bndSet.Values.Take(MaxNonSupportedVariantToPrint).StringJoin("\n")); foreach (var kvp in bndSet) { mutableResult.AddUnsupported(CreateUnsupportedVariant(kvp.Value, sampleName == null ? null : kvp.Value.Samples[sampleName], FailedReason.UnpairedBnd, mutableResult.IsTruth)); } return(genomeType ?? GenomeType.Unknown); }
private static ContigMetaInfoLine ConvertGenomeType([NotNull] this ContigMetaInfoLine line, GenomeType type) { var contig = line.Contig; if (contig.GetGenomeType() == type) { return(ContigMetaInfoLine.Create(contig)); } switch (type) { // since toGrchStyle()/toUcscStyle() does not preserve length information, this is to best preserve length case GenomeType.Grch: contig = contig.ToGrchStyle(); break; case GenomeType.Ucsc: contig = contig.ToUcscStyle(); break; } return(ContigMetaInfoLine.Create(contig)); }
/// <summary> /// Create a new instance of Genome with the specified /// name and GenomeType. /// </summary> /// <param name="name">The name of this Genome.</param> /// <param name="genomeType">The type of the genome test.</param> public GenomeOld(string name, GenomeType genomeType) { this.Name = name; this.GenomeTestType = genomeType; }