Ejemplo n.º 1
0
        /// <summary>
        /// Parses the data from the open file.
        /// </summary>
        /// <typeparam name="T">Sequence Type</typeparam>
        /// <param name="parser">Parser</param>
        /// <returns>Set of parsed data elements.</returns>
        public static T ParseOne <T>(this IParser <T> parser)
        {
            var fs = ParserFormatterExtensions <IParser <T> > .GetOpenStream(parser, false);

            if (fs == null)
            {
                throw new Exception("You must open a parser before calling ParseOne.");
            }

            return(parser.ParseOne(fs));
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Parses the sequences from the open file.
        /// </summary>
        /// <param name="parser">Sequence Parser</param>
        /// <returns>Set of parsed sequences.</returns>
        public static Tree Parse(this IPhylogeneticTreeParser parser)
        {
            var fs = ParserFormatterExtensions <IPhylogeneticTreeParser> .GetOpenStream(parser, false);

            if (fs == null)
            {
                throw new Exception("You must open a parser before calling Parse.");
            }

            return(parser.Parse(fs));
        }
        /// <summary>
        /// Parses the sequences from the open file.
        /// </summary>
        /// <param name="parser">Sequence Parser</param>
        /// <returns>Set of parsed sequences.</returns>
        public static IEnumerable <ISequenceAlignment> Parse(this ISequenceAlignmentParser parser)
        {
            var fs = ParserFormatterExtensions <ISequenceAlignmentParser> .GetOpenStream(parser, false);

            if (fs == null)
            {
                throw new Exception("You must open a parser before calling Parse.");
            }

            return(parser.Parse(fs));
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Writes a single data element to the formatter.
        /// </summary>
        /// <param name="formatter">Formatter</param>
        /// <param name="data">Data</param>
        public static void Format <T>(this IFormatter <T> formatter, T data) where T : class
        {
            var fs = ParserFormatterExtensions <IFormatter <T> > .GetOpenStream(formatter, true);

            if (fs != null)
            {
                formatter.Format(fs, data);
            }
            else
            {
                throw new Exception("You must open a formatter before calling Write.");
            }
        }
        /// <summary>
        /// Writes a single data element to the formatter.
        /// </summary>
        /// <param name="formatter">Formatter</param>
        /// <param name="data">Tree Data</param>
        public static void Format(this IPhylogeneticTreeFormatter formatter, Tree data)
        {
            var fs = ParserFormatterExtensions <IPhylogeneticTreeFormatter> .GetOpenStream(formatter, true);

            if (fs != null)
            {
                formatter.Format(fs, data);
            }
            else
            {
                throw new Exception("You must open a formatter before calling Write.");
            }
        }
        /// <summary>
        /// Writes a single sequence to the formatter.
        /// </summary>
        /// <param name="formatter">Formatter</param>
        /// <param name="sequence">Sequence</param>
        public static void Format(this ISequenceAlignmentFormatter formatter, ISequenceAlignment sequence)
        {
            var fs = ParserFormatterExtensions <ISequenceAlignmentFormatter> .GetOpenStream(formatter, true);

            if (fs != null)
            {
                formatter.Format(fs, sequence);
            }
            else
            {
                throw new Exception("You must open a formatter before calling Write.");
            }
        }
        /// <summary>
        /// Parses the sequences from the open file.
        /// </summary>
        /// <param name="parser">Sequence Parser</param>
        /// <returns>Set of parsed sequences.</returns>
        public static ISequenceAlignment ParseOne(this ISequenceAlignmentParser parser)
        {
            var fs = ParserFormatterExtensions <ISequenceAlignmentParser> .GetOpenStream(parser, false);

            return(parser.ParseOne(fs));
        }