Exemplo n.º 1
0
        /// <summary>
        /// Gets all registered aligners in core folder and addins (optional) folders
        /// </summary>
        /// <returns>List of registered aligners</returns>
        private static IEnumerable <ISequenceAligner> GetAligners()
        {
            IList <ISequenceAligner> registeredAligners = new List <ISequenceAligner>();
            IList <ISequenceAligner> addInAligners      = RegisteredAddIn.GetComposedInstancesFromAssemblyPath <ISequenceAligner>(
                "NetBioSequenceAlignersExport", RegisteredAddIn.AddinFolderPath, RegisteredAddIn.DLLFilter);

            if (null != addInAligners && addInAligners.Count > 0)
            {
                foreach (ISequenceAligner aligner in addInAligners.Where(
                             aligner => aligner != null && registeredAligners.All(sa => string.Compare(sa.Name, aligner.Name, StringComparison.OrdinalIgnoreCase) != 0)))
                {
                    registeredAligners.Add(aligner);
                }
            }
            return(registeredAligners);
        }
Exemplo n.º 2
0
        /// <summary>
        /// Gets all registered alphabets in core folder and addins (optional) folders.
        /// </summary>
        /// <returns>List of registered alphabets.</returns>
        private static IList <IAlphabet> GetAlphabets()
        {
            IList <IAlphabet> registeredAlphabets = new List <IAlphabet>();

            IList <IAlphabet> addInAlphabets = RegisteredAddIn.GetComposedInstancesFromAssemblyPath <IAlphabet>(
                "NetBioAlphabetsExport", RegisteredAddIn.AddinFolderPath, RegisteredAddIn.DLLFilter);

            if (null != addInAlphabets)
            {
                foreach (IAlphabet alphabet in addInAlphabets.Where(
                             alphabet => alphabet != null && !registeredAlphabets.Any(
                                 ra => String.Compare(ra.Name, alphabet.Name, StringComparison.OrdinalIgnoreCase) == 0)))
                {
                    registeredAlphabets.Add(alphabet);
                }
            }

            return(registeredAlphabets);
        }