#include "PGOneII_PD.h" #include "PGOneII_PerProtein.h" #include ProjectedDatabase::ProjectedDatabase() { Support=0; } void ProjectedDatabase::InitiateProData(const char & FirstPrefix, const vector & SequencesDatabase) { Support = 0; for (int ProteinIndex = 0; ProteinIndex < (int)(SequencesDatabase.size()); ProteinIndex++) { PerProtein TempPerProtein; TempPerProtein.InitiatePerProtein(SequencesDatabase[ProteinIndex], FirstPrefix, ProteinIndex); if (TempPerProtein.GetNumberOfPositions()>0) { ForEachProtein.push_back(TempPerProtein); Support++; } } Prefix.push_back(FirstPrefix); } void ProjectedDatabase::UpdateProData(const ProjectedDatabase & rval, const char & NewPrefix, const vector & SequencesDatabase, const int & Lower, const int & Upper) { Support = 0; Prefix = rval.Prefix; Wildcard_Number = rval.Wildcard_Number; PerProtein EmptyProtein; for (int PerProteinIndex = 0; PerProteinIndex < (int)(rval.ForEachProtein.size()); PerProteinIndex++) { PerProtein TempProtein; TempProtein = EmptyProtein; TempProtein.CopyPart(rval.ForEachProtein[PerProteinIndex]); string TempStr = SequencesDatabase[TempProtein.GetRealProteinIndex()]; TempProtein.UpdateCurrentPrefix(rval.ForEachProtein[PerProteinIndex], TempStr, NewPrefix, Lower, Upper); if (TempProtein.GetNumberOfPositions() > 0) { ForEachProtein.push_back(TempProtein); Support++; } } Prefix.push_back(NewPrefix); Wildcard_Number.push_back(Lower); Wildcard_Number.push_back(Upper); } int ProjectedDatabase::GetSupport() {return Support;} int ProjectedDatabase::GetPrefixSize() {return Prefix.size();} vector ProjectedDatabase::GetPrefix(){return Prefix;} vector ProjectedDatabase::GetWildcardNumber() {return Wildcard_Number;}