private static ExitCodes ProgramExecution() { const string tempLeftoverFilename = "LeftOvers.vcf.gz"; Dictionary <string, StreamWriter> writers; ISequenceProvider srcSequenceProvider = ProviderUtilities.GetSequenceProvider(_srcRefSequence); ISequenceProvider desSequenceProvider = ProviderUtilities.GetSequenceProvider(_desRefSequence); using (var srcReader = GZipUtilities.GetAppropriateStreamReader(_srcMapFile)) using (var destReader = GZipUtilities.GetAppropriateStreamReader(_destMapFile)) using (var leftoverWriter = GZipUtilities.GetStreamWriter(tempLeftoverFilename)) { var chromMapper = new ChromMapper(srcReader, destReader, leftoverWriter, srcSequenceProvider, desSequenceProvider); writers = chromMapper.Map(); } //now we will try to map the leftovers using (var destReader = GZipUtilities.GetAppropriateStreamReader(_destMapFile)) using (var leftoverReader = GZipUtilities.GetAppropriateStreamReader(tempLeftoverFilename)) { var leftOverMapper = new LeftoverMapper(leftoverReader, destReader, writers, desSequenceProvider); var leftoverCount = leftOverMapper.Map(); Console.WriteLine($"{leftoverCount} leftovers mapped!!"); } foreach (var writer in writers.Values) { writer.Dispose(); } return(ExitCodes.Success); }
public void GetNsaProvider_NoSaFile_ReturnNull() { var annotationFiles = new AnnotationFiles(); var nsaProvider = ProviderUtilities.GetNsaProvider(annotationFiles); Assert.Null(nsaProvider); }
public ValidationResult Run(ValidationConfig config, ILambdaContext context) { string snsTopicArn = null; try { LogUtilities.UpdateLogger(context.Logger, null); LogUtilities.LogLambdaInfo(context, CommandLineUtilities.InformationalVersion); LogUtilities.LogObject("Config", config); LogUtilities.Log(new[] { LambdaUrlHelper.UrlBaseEnvironmentVariableName, LambdaUtilities.SnsTopicKey }); LambdaUtilities.GarbageCollect(); snsTopicArn = LambdaUtilities.GetEnvironmentVariable(LambdaUtilities.SnsTopicKey); config.Validate(); GenomeAssembly genomeAssembly = GenomeAssemblyHelper.Convert(config.genomeAssembly); string nirvanaS3Ref = LambdaUrlHelper.GetRefUrl(genomeAssembly); var refProvider = ProviderUtilities.GetSequenceProvider(nirvanaS3Ref); using (var stream = PersistentStreamUtils.GetReadStream(config.customStrUrl)) TryLoadStrFile(stream, genomeAssembly, refProvider); } catch (Exception exception) { return(HandleException(config.id, exception, snsTopicArn)); } return(GetSuccessOutput(config.id)); }
private static (Annotator Annotator, IDictionary <string, IChromosome> RefNames) GetAnnotatorAndReferenceDict(string cacheFilePrefix, List <string> saPaths) { var sequenceFilePath = cacheFilePrefix + ".bases"; var sequenceProvider = ProviderUtilities.GetSequenceProvider(sequenceFilePath); var refNames = sequenceProvider.RefNameToChromosome; var transcriptAnnotationProvider = ProviderUtilities.GetTranscriptAnnotationProvider(cacheFilePrefix, sequenceProvider); var saProvider = ProviderUtilities.GetSaProvider(saPaths); var conservationProvider = ProviderUtilities.GetConservationProvider(saPaths); var annotator = new Annotator(transcriptAnnotationProvider, sequenceProvider, saProvider, conservationProvider, null); return(annotator, refNames); }
private static (Annotator Annotator, ISequenceProvider SequenceProvider) GetAnnotatorAndSequenceProvider(string cacheFilePrefix, List <string> saPaths) { var annotationFiles = new AnnotationFiles(); saPaths?.ForEach(x => annotationFiles.AddFiles(x)); var sequenceFilePath = cacheFilePrefix + ".bases"; var sequenceProvider = ProviderUtilities.GetSequenceProvider(sequenceFilePath); var transcriptAnnotationProvider = ProviderUtilities.GetTranscriptAnnotationProvider(cacheFilePrefix, sequenceProvider); var saProvider = ProviderUtilities.GetNsaProvider(annotationFiles); var conservationProvider = ProviderUtilities.GetConservationProvider(annotationFiles); var annotator = new Annotator(transcriptAnnotationProvider, sequenceProvider, saProvider, conservationProvider, null); return(annotator, sequenceProvider); }
internal static IAnnotatedPosition GetAnnotatedPosition(string cacheFilePrefix, List <string> saPaths, string vcfLine, bool enableVerboseTranscripts) { var refMinorProvider = ProviderUtilities.GetRefMinorProvider(saPaths); var annotatorAndRef = GetAnnotatorAndReferenceDict(cacheFilePrefix, saPaths); var annotator = annotatorAndRef.Annotator; var refNames = annotatorAndRef.RefNames; var variantFactory = new VariantFactory(refNames, refMinorProvider, enableVerboseTranscripts); var position = VcfReaderUtils.ParseVcfLine(vcfLine, variantFactory, refNames); var annotatedPosition = annotator.Annotate(position); return(annotatedPosition); }
internal static IAnnotatedPosition GetAnnotatedPosition(string cacheFilePrefix, List <string> saPaths, string vcfLine) { var annotationFiles = new AnnotationFiles(); saPaths?.ForEach(x => annotationFiles.AddFiles(x)); var refMinorProvider = ProviderUtilities.GetRefMinorProvider(annotationFiles); var(annotator, sequenceProvider) = GetAnnotatorAndSequenceProvider(cacheFilePrefix, saPaths); var variantFactory = new VariantFactory(sequenceProvider); var position = ParseVcfLine(vcfLine, refMinorProvider, variantFactory, sequenceProvider.RefNameToChromosome); var annotatedPosition = annotator.Annotate(position); return(annotatedPosition); }
public void SqlCeSchemaShouldBeGeneratedAndUsable() { var recordDescriptors = new[] { new RecordBlueprint { TableName = "Hello", Type = typeof(FooRecord) } }; ProviderUtilities.RunWithSqlCe(recordDescriptors, sessionFactory => { var session = sessionFactory.OpenSession(); var foo = new FooRecord { Name = "hi there" }; session.Save(foo); session.Flush(); session.Close(); Assert.That(foo, Is.Not.EqualTo(0)); }); }
public void SqlServerSchemaShouldBeGeneratedAndUsable() { var recordDescriptors = new[] { new RecordBlueprint { TableName = "Hello", Type = typeof(FooRecord) } }; ProviderUtilities.RunWithSqlServer(recordDescriptors, sessionFactory => { var session = sessionFactory.OpenSession(); var foo = new FooRecord { Name = "hi there", Timespan = DateTime.Now }; session.Insert(foo); //session.Flush(); session.Close(); Assert.NotEqual(foo.Id, default(int)); }); }