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); }
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); } } } }
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."); } }