int Ladder :: MergeLocusIntoLadder (const Locus* locus) { // This combines info and then computes the rest Locus* matchingLocus = FindLocusByName (locus->GetName ()); if (matchingLocus == NULL) { cout << "Could not find locus matching name: " << locus->GetName ().GetData () << endl; return -1; } matchingLocus->SetFirstCoreLocusBP (locus->GetFirstCoreLocusBP ()); matchingLocus->SetFirstExtendedAllele (locus->GetFirstExtendedAllele ()); matchingLocus->SetLastExtendedAllele (locus->GetLastExtendedAllele ()); matchingLocus->ComputeAllBPs (); matchingLocus->SetMinMaxSearchILSBP (locus->GetMinSearchILSBP (), locus->GetMaxSearchILSBP ()); matchingLocus->AdjustSearchRegion (); matchingLocus->SetMerged (); return 0; }