Ejemplo n.º 1
0
        private void PrepareDeNovoRegistries()
        {
            deNovoRegistryList = new List <DeNovoRegistry>();

            if (PeptideList == null || PeptideList.Equals(""))
            {
                if (Arguments.MPexResultPath.Length > 0)
                {
                    Console.WriteLine("Loading " + Arguments.MPexResultPath);
                    ResultPckg2 pkg = ResultPckg2.DeserializeResultPackage(Arguments.MPexResultPath);

                    deNovoRegistryList = new List <DeNovoRegistry>();

                    foreach (KeyValuePair <string, List <DeNovoRegistry> > kvp in pkg.MyUnmappedRegistries)
                    {
                        deNovoRegistryList.AddRange(kvp.Value);
                    }
                }
                else
                {
                    deNovoRegistryList = PreprareDeNovoRegistries();
                }
                //Eliminate denovo registries not having the minimum score
                int removedForNotHavingMinDenovoScore = deNovoRegistryList.RemoveAll(a => a.DeNovoScore < Arguments.MinDeNovoScore);
                Console.WriteLine("Removed elements for not attending the minimum denovo score: " + removedForNotHavingMinDenovoScore);
            }
            else
            {
                List <string> peptides = Regex.Split(PeptideList, "\n").ToList();
                for (int i = 0; i < peptides.Count; i++)
                {
                    string cleanSequence = PatternTools.pTools.CleanPeptide(peptides[i], true);
                    cleanSequence = Regex.Replace(cleanSequence, " ", "");
                    cleanSequence = Regex.Replace(cleanSequence, "\t", "");
                    deNovoRegistryList.Add(new DeNovoRegistry(0, i, 1, cleanSequence, 1, "Provided"));
                }
            }

            //Lets make sure we are satisfying the top hit constraint
            if (Arguments.DeNovoOption == DeNovoOption.PepNovoFull || Arguments.DeNovoOption == DeNovoOption.PepNovo)
            {
                deNovoRegistryList.RemoveAll(a => a.Rank + 1 > Arguments.TopHits);
            }
            else
            {
                deNovoRegistryList.RemoveAll(a => a.Rank > Arguments.TopHits);
            }

            //Finally, lets remove registries that do not satisfy the minimum left criterion
            int removedForNotHavingMinimumLength = deNovoRegistryList.RemoveAll(a => a.CleanSequence.Length < Arguments.PeptideMinNumAA);

            Console.WriteLine("Removed for not attending the minimum number of aa : " + removedForNotHavingMinimumLength);
        }
Ejemplo n.º 2
0
        private void FeedLocusFastaDictPex(DirectoryClassDescription myDir, FileInfo[] resultFilteredFiles)
        {
            foreach (FileInfo fi in resultFilteredFiles)
            {
                Console.WriteLine("Parsing " + fi.FullName);

                ResultPckg2 thisPckg = ResultPckg2.DeserializeResultPackage(fi.FullName);

                myResultPackages.Add(new FileInfoResultPackage(fi, thisPckg, myDir.ClassLabel));

                foreach (FastaItem fastaItem in thisPckg.MyFasta)
                {
                    if (!locusFastaDict.ContainsKey(fastaItem.SequenceIdentifier))
                    {
                        locusFastaDict.Add(fastaItem.SequenceIdentifier, fastaItem.Sequence);
                    }
                }
            }
        }
Ejemplo n.º 3
0
        public void ParseDirs(List <DirectoryClassDescription> dirs)
        {
            MyDirectoryDescriptionDictionary = dirs;
            MyResultPackages = new List <ThePackage>();

            foreach (DirectoryClassDescription dcd in dirs)
            {
                //Get all Sepro Files in this and in deeper directories

                FileInfo[] fileInfo = new DirectoryInfo(dcd.MyDirectoryFullName).GetFiles("*.mpex", SearchOption.AllDirectories);

                foreach (FileInfo file in fileInfo)
                {
                    //First lets unserialize the object
                    Console.WriteLine("Loading .. " + file.FullName);
                    ResultPckg2 rp = ResultPckg2.DeserializeResultPackage(file.FullName);
                    MyResultPackages.Add(new ThePackage(rp, file, dcd.ClassLabel));
                }

                Console.WriteLine("Done loading.");
            }
        }