コード例 #1
0
 /// <summary>
 /// Initializes a new instance of the VirtualQualitativeSequenceList class with a specified provider,
 /// a specified parser, and a specifed sequence count.
 /// </summary>
 /// <param name="provider">SequencePointer provider from sidecar file.</param>
 /// <param name="parser">Parser used to parse sequence data on request.</param>
 /// <param name="count">Number of items in the actual file.</param>
 public VirtualQualitativeSequenceList(SidecarFileProvider provider, IVirtualSequenceParser parser, int count)
 {
     _sequenceParser     = parser;
     _sidecarProvider    = provider;
     _count              = count;
     _sequenceDictionary = new Dictionary <int, WeakReference>(_count);
 }
コード例 #2
0
        /// <summary>
        /// Initializes a new instance of MBF.IO.FileVirtualSequenceProvider
        /// class to hold a sequence parser, a sidecar file provider and
        /// the index of the sequence.
        /// </summary>
        /// <param name="parser">A virtual parser object.</param>
        /// <param name="pointer">The sequence pointer.</param>
        /// <param name="sidecarFileProvider">A sidecar file provider.</param>
        /// <param name="index">The zero-based index of the sequence within the file.</param>
        public FileVirtualSequenceProvider(IVirtualSequenceParser parser, SequencePointer pointer, SidecarFileProvider sidecarFileProvider, int index)
            : this(parser, pointer)
        {
            if (sidecarFileProvider == null)
            {
                throw new ArgumentNullException("sidecarFileProvider");
            }

            _sidecarProvider = sidecarFileProvider;
            _sequenceIndex   = index;
        }
コード例 #3
0
        /// <summary>
        /// Initializes a new instance of the MBF.IO.FileVirtualQualitativeSequenceProvider
        /// class to hold a sequence pointer with a parser.
        /// </summary>
        /// <param name="parser">A virtual parser object.</param>
        /// <param name="pointer">The sequence pointer.</param>
        public FileVirtualQualitativeSequenceProvider(IVirtualSequenceParser parser, SequencePointer pointer)
        {
            if (parser == null)
            {
                throw new ArgumentNullException("parser");
            }

            if (pointer == null)
            {
                throw new ArgumentNullException("pointer");
            }

            _parser = parser;
            _count  = (int)(pointer.IndexOffsets[1] - pointer.IndexOffsets[0]);
            SequencePointerInstance = pointer;

            //set the default DV properties.
            _virtualData = new VirtualData <Sequence>
            {
                BlockSize         = FileLoadHelper.DefaultBlockSize,
                MaxNumberOfBlocks = FileLoadHelper.DefaultMaxNumberOfBlocks
            };
        }
コード例 #4
0
        /// <summary>
        /// Initializes a new instance of the MBF.IO.FileVirtualSequenceProvider
        /// class to hold a sequence pointer with a parser.
        /// </summary>
        /// <param name="parser">A virtual parser object.</param>
        /// <param name="pointer">The sequence pointer.</param>
        public FileVirtualSequenceProvider(IVirtualSequenceParser parser, SequencePointer pointer)
        {
            if (parser == null)
            {
                throw new ArgumentNullException("parser");
            }

            if (pointer == null)
            {
                throw new ArgumentNullException("pointer");
            }

            _parser = parser;
            _count  = (int)(pointer.IndexOffsets[1] - pointer.IndexOffsets[0]);
            SequencePointerInstance = pointer;
            _alphabet = Alphabets.All.FirstOrDefault(A => A.Name.Equals(pointer.AlphabetName));

            //set the default DV properties.
            _virtualData = new VirtualData <byte[]>
            {
                BlockSize         = FileLoadHelper.DefaultBlockSize,
                MaxNumberOfBlocks = FileLoadHelper.DefaultMaxNumberOfBlocks
            };
        }