private void CreateCustIntervalTsv(string fileName)
        {
            if (string.IsNullOrEmpty(fileName))
            {
                return;
            }

            var benchMark = new Benchmark();

            var version = DataSourceVersionReader.GetSourceVersion(fileName);
            var reader  = new CustomIntervalParser(new FileInfo(fileName), _refNamesDictionary);

            using (var writer = new IntervalTsvWriter(_outputDirectory, version,
                                                      _genomeAssembly.ToString(), SaTsvCommon.CustIntervalSchemaVersion, reader.KeyName,
                                                      ReportFor.AllVariants))
            {
                foreach (var custInterval in reader.GetCustomIntervals())
                {
                    writer.AddEntry(custInterval.Chromosome.EnsemblName, custInterval.Start, custInterval.End, custInterval.GetJsonString());
                }
            }

            var timeSpan = Benchmark.ToHumanReadable(benchMark.GetElapsedTime());

            TsvWriterUtilities.WriteCompleteInfo("customInterval", fileName, timeSpan);
        }
        private void CreateMitoMapSvTsv(IReadOnlyList <string> mitoMapSvFileNames)
        {
            if (mitoMapSvFileNames.Count == 0 || mitoMapSvFileNames.Any(string.IsNullOrEmpty))
            {
                return;
            }
            var benchMark        = new Benchmark();
            var rootDirectory    = new FileInfo(mitoMapSvFileNames[0]).Directory;
            var version          = DataSourceVersionReader.GetSourceVersion(Path.Combine(rootDirectory.ToString(), "mitoMapSV"));
            var sequenceProvider =
                new ReferenceSequenceProvider(FileUtilities.GetReadStream(_compressedReferencePath));

            sequenceProvider.LoadChromosome(new Chromosome("chrM", "MT", 24));
            var mitoMapSvReaders = new List <MitoMapSvReader>();

            foreach (var mitoMapFileName in mitoMapSvFileNames)
            {
                mitoMapSvReaders.Add(new MitoMapSvReader(new FileInfo(mitoMapFileName), sequenceProvider));
            }

            var mergedMitoMapItems = MitoMapSvReader.MergeAndSort(mitoMapSvReaders);

            using (var writer = new IntervalTsvWriter(_outputDirectory, version,
                                                      GenomeAssembly.rCRS.ToString(), SaTsvCommon.MitoMapSchemaVersion, InterimSaCommon.MitoMapTag,
                                                      ReportFor.StructuralVariants))
                CreateSvTsv(mergedMitoMapItems, writer);
            var timeSpan = Benchmark.ToHumanReadable(benchMark.GetElapsedTime());

            TsvWriterUtilities.WriteCompleteInfo(InterimSaCommon.MitoMapTag, version.Version, timeSpan);
        }
 private static void CreateSvTsv(IEnumerable <SupplementaryDataItem> siItems, IntervalTsvWriter writer)
 {
     foreach (var siItem in siItems)
     {
         var interval = siItem.GetSupplementaryInterval();
         writer.AddEntry(interval.Chromosome.EnsemblName, interval.Start, interval.End, interval.GetJsonString());
     }
 }
        private void CreateSvTsv(string sourceName, string fileName)
        {
            if (string.IsNullOrEmpty(fileName))
            {
                return;
            }

            var benchMark = new Benchmark();
            //Console.WriteLine($"Creating TSV from {fileName}");
            var dataSource = "";
            var version    = DataSourceVersionReader.GetSourceVersion(fileName);

            switch (sourceName)
            {
            case InterimSaCommon.DgvTag:
                dataSource = "DGV";
                using (var writer = new IntervalTsvWriter(_outputDirectory, version,
                                                          _genomeAssembly.ToString(), SaTsvCommon.DgvSchemaVersion, InterimSaCommon.DgvTag, ReportFor.StructuralVariants))
                {
                    var reader = new DgvReader(new FileInfo(fileName), _refNamesDictionary);
                    CreateSvTsv(reader.GetDgvItems(), writer);
                }
                break;

            case InterimSaCommon.ClinGenTag:
                dataSource = "ClinGen";
                using (var writer = new IntervalTsvWriter(_outputDirectory, version,
                                                          _genomeAssembly.ToString(), SaTsvCommon.ClinGenSchemaVersion, InterimSaCommon.ClinGenTag,
                                                          ReportFor.StructuralVariants))
                {
                    var reader = new ClinGenReader(new FileInfo(fileName), _refNamesDictionary);
                    CreateSvTsv(reader.GetClinGenItems(), writer);
                }

                break;

            case InterimSaCommon.OnekSvTag:
                dataSource = "OnekSv";
                using (var writer = new IntervalTsvWriter(_outputDirectory, version,
                                                          _genomeAssembly.ToString(), SaTsvCommon.OneKgenSchemaVersion, InterimSaCommon.OnekSvTag,
                                                          ReportFor.StructuralVariants))
                {
                    var reader = new OneKGenSvReader(new FileInfo(fileName), _refNamesDictionary);
                    CreateSvTsv(reader.GetOneKGenSvItems(), writer);
                }

                break;

            default:
                Console.WriteLine("invalid source name");
                break;
            }

            var timeSpan = Benchmark.ToHumanReadable(benchMark.GetElapsedTime());

            TsvWriterUtilities.WriteCompleteInfo(dataSource, version.Version, timeSpan);
        }
Exemple #5
0
        public void CreateTsv()
        {
            var          benchMark  = new Benchmark();
            const string dataSource = "COSMIC";

            if (_cnvStream != null)
            {
                using (var writer = new IntervalTsvWriter(_outputDirectory, _version,
                                                          _genomeAssembly.ToString(), SaTsvCommon.CosmicSvSchemaVersion, InterimSaCommon.CosmicCnvTag, ReportFor.StructuralVariants))
                    using (var cnvReader = new CosmicCnvReader(_cnvStream, _refNameToChorm, _genomeAssembly))
                    {
                        foreach (var cnvEntry in cnvReader.GetEntries())
                        {
                            writer.AddEntry(cnvEntry.Chromosome.EnsemblName, cnvEntry.Start, cnvEntry.End, cnvEntry.GetJsonString());
                        }
                    }
            }


            var timeSpan = Benchmark.ToHumanReadable(benchMark.GetElapsedTime());

            TsvWriterUtilities.WriteCompleteInfo(dataSource, _version.Version, timeSpan);
        }