示例#1
0
        /// <summary>
        /// Gets Aligned seqeunces in the Specified SAM file.
        /// </summary>
        /// <param name="textReader">SAM file stream.</param>
        private IEnumerable <SAMAlignedSequence> GetAlignedSequence(TextReader textReader)
        {
            bool isFilterRequired = IsFilterApplied();
            bool display          = true;

            //Displays SAM as output.
            string line = ReadNextLine(textReader);

            while (line != null)
            {
                // Ignore headers.
                if (!line.StartsWith(@"@", StringComparison.OrdinalIgnoreCase))
                {
                    SAMAlignedSequence alignedSequence = SAMParser.ParseSequence(line);
                    if (isFilterRequired)
                    {
                        display = Filter(alignedSequence);
                    }

                    if (display)
                    {
                        yield return(alignedSequence);
                    }
                }

                line = ReadNextLine(textReader);
            }
        }
示例#2
0
        /// <summary>
        /// Gets Aligned seqeunces in the Specified SAM file.
        /// </summary>
        /// <param name="textReader">SAM file stream.</param>
        private IEnumerable <SAMAlignedSequence> GetAlignedSequence(MBFTextReader textReader)
        {
            bool isFilterRequired = IsFilterApplied();
            bool display          = true;

            //Displays SAM as output.

            while (textReader.HasLines)
            {
                SAMAlignedSequence alignedSequence = SAMParser.ParseSequence(textReader, false);
                if (isFilterRequired)
                {
                    display = Filter(alignedSequence);
                }

                if (display)
                {
                    yield return(alignedSequence);
                }

                textReader.GoToNextLine();
            }
        }