alternate_codes.h 9.03 KB
void select_genetic_code(string selection){
	cout << "Genetic code selected: " << selection << endl;
	// The Vertebrate Mitochondrial Code
	if (selection == "2"){
		gc_std["AGA"] = "*"; gc_std_DNA["AGA"] = "*"; gc_std_rev["UCU"] = "*"; gc_std_DNA_rev["TCT"] = "*";
		gc_std["AGG"] = "*"; gc_std_DNA["AGG"] = "*"; gc_std_rev["UCC"] = "*"; gc_std_DNA_rev["TCC"] = "*";
		gc_std["AGR"] = "*"; gc_std_DNA["AGR"] = "*"; gc_std_rev["UCY"] = "*"; gc_std_DNA_rev["TCY"] = "*";
		gc_std["AUA"] = "M"; gc_std_DNA["ATA"] = "M"; gc_std_rev["UAU"] = "M"; gc_std_DNA_rev["TAT"] = "M";
		gc_std["UGA"] = "W"; gc_std_DNA["TGA"] = "W"; gc_std_rev["ACU"] = "W"; gc_std_DNA_rev["ACT"] = "W";
	}
	// xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
	else if (selection == "3"){
		gc_std["AUA"] = "M"; gc_std_DNA["ATA"] = "M"; gc_std_rev["UAU"] = "M"; gc_std_DNA_rev["TAT"] = "M";
		gc_std["CUU"] = "T"; gc_std_DNA["CTT"] = "T"; gc_std_rev["GAA"] = "T"; gc_std_DNA_rev["GAA"] = "T";
		gc_std["CUC"] = "T"; gc_std_DNA["CTC"] = "T"; gc_std_rev["GAG"] = "T"; gc_std_DNA_rev["GAG"] = "T";
		gc_std["CUA"] = "T"; gc_std_DNA["CTA"] = "T"; gc_std_rev["GAU"] = "T"; gc_std_DNA_rev["GAT"] = "T";
		gc_std["CUG"] = "T"; gc_std_DNA["CTG"] = "T"; gc_std_rev["GAC"] = "T"; gc_std_DNA_rev["GAC"] = "T";
		gc_std["CUN"] = "T"; gc_std_DNA["CTN"] = "T"; gc_std_rev["GAN"] = "T"; gc_std_DNA_rev["GAN"] = "T";
		gc_std["CUR"] = "T"; gc_std_DNA["CTR"] = "T"; gc_std_rev["GAR"] = "T"; gc_std_DNA_rev["GAR"] = "T";
		gc_std["CUY"] = "T"; gc_std_DNA["CTY"] = "T"; gc_std_rev["GAY"] = "T"; gc_std_DNA_rev["GAY"] = "T";
		gc_std["CUM"] = "T"; gc_std_DNA["CTM"] = "T"; gc_std_rev["GAM"] = "T"; gc_std_DNA_rev["GAM"] = "T";
		gc_std["CUK"] = "T"; gc_std_DNA["CTK"] = "T"; gc_std_rev["GAK"] = "T"; gc_std_DNA_rev["GAK"] = "T";
		gc_std["CUS"] = "T"; gc_std_DNA["CTS"] = "T"; gc_std_rev["GAS"] = "T"; gc_std_DNA_rev["GAS"] = "T";
		gc_std["CUW"] = "T"; gc_std_DNA["CTW"] = "T"; gc_std_rev["GAW"] = "T"; gc_std_DNA_rev["GAW"] = "T";
		gc_std["CUH"] = "T"; gc_std_DNA["CTH"] = "T"; gc_std_rev["GAH"] = "T"; gc_std_DNA_rev["GAH"] = "T";
		gc_std["CUB"] = "T"; gc_std_DNA["CTB"] = "T"; gc_std_rev["GAB"] = "T"; gc_std_DNA_rev["GAB"] = "T";
		gc_std["CUV"] = "T"; gc_std_DNA["CTV"] = "T"; gc_std_rev["GAV"] = "T"; gc_std_DNA_rev["GAV"] = "T";
		gc_std["CUD"] = "T"; gc_std_DNA["CTD"] = "T"; gc_std_rev["GAD"] = "T"; gc_std_DNA_rev["GAD"] = "T";
		gc_std["UGA"] = "W"; gc_std_DNA["TGA"] = "W"; gc_std_rev["ACU"] = "W"; gc_std_DNA_rev["ACT"] = "W";
	}
	// xxxxxxxxxxxxxxxxxxxxxxxx
	else if (selection == "4"){ // Mycoplasma
		gc_std["UGA"] = "W"; gc_std_DNA["TGA"] = "W"; gc_std_rev["ACU"] = "W"; gc_std_DNA_rev["ACT"] = "W";
	}
	// xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
	else if (selection == "5"){
		gc_std["AGA"] = "S"; gc_std_DNA["AGA"] = "S"; gc_std_rev["UCU"] = "S"; gc_std_DNA_rev["TCT"] = "S";
		gc_std["AGG"] = "S"; gc_std_DNA["AGG"] = "S"; gc_std_rev["UCC"] = "S"; gc_std_DNA_rev["TCC"] = "S";
		gc_std["AGR"] = "S"; gc_std_DNA["AGR"] = "S"; gc_std_rev["UCY"] = "S"; gc_std_DNA_rev["TCY"] = "S";
		gc_std["AUA"] = "M"; gc_std_DNA["ATA"] = "M"; gc_std_rev["UAU"] = "M"; gc_std_DNA_rev["TAT"] = "M";
		gc_std["UGA"] = "W"; gc_std_DNA["TGA"] = "W"; gc_std_rev["ACU"] = "W"; gc_std_DNA_rev["ACT"] = "W";
	}
	// xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
	else if (selection == "6"){
		gc_std["UAA"] = "Q"; gc_std_DNA["TAA"] = "Q"; gc_std_rev["AUU"] = "Q"; gc_std_DNA_rev["ATT"] = "Q";
		gc_std["UAG"] = "Q"; gc_std_DNA["TAG"] = "Q"; gc_std_rev["AUC"] = "Q"; gc_std_DNA_rev["ATC"] = "Q";
		gc_std["UAR"] = "Q"; gc_std_DNA["TAR"] = "Q"; gc_std_rev["AUY"] = "Q"; gc_std_DNA_rev["ATY"] = "Q";
	}
	// xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
	else if (selection == "9"){
		gc_std["AAA"] = "N"; gc_std_DNA["AAA"] = "N"; gc_std_rev["UUU"] = "N"; gc_std_DNA_rev["TTT"] = "N";
		gc_std["AGA"] = "S"; gc_std_DNA["AGA"] = "S"; gc_std_rev["UCU"] = "S"; gc_std_DNA_rev["TCT"] = "S";
		gc_std["AGG"] = "S"; gc_std_DNA["AGG"] = "S"; gc_std_rev["UCC"] = "S"; gc_std_DNA_rev["TCC"] = "S";
		gc_std["AGR"] = "S"; gc_std_DNA["AGR"] = "S"; gc_std_rev["UCY"] = "S"; gc_std_DNA_rev["TCY"] = "S";
		gc_std["UGA"] = "W"; gc_std_DNA["TGA"] = "W"; gc_std_rev["ACU"] = "W"; gc_std_DNA_rev["ACT"] = "W";
	}
	// xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
	else if (selection == "10"){
		gc_std["UGA"] = "C"; gc_std_DNA["TGA"] = "C"; gc_std_rev["ACU"] = "C"; gc_std_DNA_rev["ACT"] = "C";
	}
	// xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
	else if (selection == "12"){
		gc_std["CUG"] = "S"; gc_std_DNA["CTG"] = "S"; gc_std_rev["GAC"] = "S"; gc_std_DNA_rev["GAC"] = "S";
	}
	// xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
	else if (selection == "13"){
		gc_std["AGA"] = "G"; gc_std_DNA["AGA"] = "G"; gc_std_rev["UCU"] = "G"; gc_std_DNA_rev["TCT"] = "G";
		gc_std["AGG"] = "G"; gc_std_DNA["AGG"] = "G"; gc_std_rev["UCC"] = "G"; gc_std_DNA_rev["TCC"] = "G";
		gc_std["AGR"] = "G"; gc_std_DNA["AGR"] = "G"; gc_std_rev["UCY"] = "G"; gc_std_DNA_rev["TCY"] = "G";
		gc_std["AUA"] = "M"; gc_std_DNA["ATA"] = "M"; gc_std_rev["UAU"] = "M"; gc_std_DNA_rev["TAT"] = "M";
		gc_std["UGA"] = "W"; gc_std_DNA["TGA"] = "W"; gc_std_rev["ACU"] = "W"; gc_std_DNA_rev["ACT"] = "W";
	}
	// xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
	else if (selection == "14"){
		gc_std["AAA"] = "N"; gc_std_DNA["AAA"] = "N"; gc_std_rev["UUU"] = "N"; gc_std_DNA_rev["TTT"] = "N";
		gc_std["AGA"] = "S"; gc_std_DNA["AGA"] = "S"; gc_std_rev["UCU"] = "S"; gc_std_DNA_rev["TCT"] = "S";
		gc_std["AGG"] = "S"; gc_std_DNA["AGG"] = "S"; gc_std_rev["UCC"] = "S"; gc_std_DNA_rev["TCC"] = "S";
		gc_std["AGR"] = "S"; gc_std_DNA["AGR"] = "S"; gc_std_rev["UCY"] = "S"; gc_std_DNA_rev["TCY"] = "S";
		gc_std["UAA"] = "Y"; gc_std_DNA["TAA"] = "Y"; gc_std_rev["AUU"] = "Y"; gc_std_DNA_rev["ATT"] = "Y";
		gc_std["UGA"] = "W"; gc_std_DNA["TGA"] = "W"; gc_std_rev["ACU"] = "W"; gc_std_DNA_rev["ACT"] = "W";
	}
	// xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
	else if (selection == "16"){
		gc_std["UAG"] = "L"; gc_std_DNA["TAG"] = "L"; gc_std_rev["AUC"] = "L"; gc_std_DNA_rev["ATC"] = "L";
	}
	// xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
	else if (selection == "21"){
		gc_std["UGA"] = "W"; gc_std_DNA["TGA"] = "W"; gc_std_rev["ACU"] = "W"; gc_std_DNA_rev["ACT"] = "W";
		gc_std["AUA"] = "M"; gc_std_DNA["ATA"] = "M"; gc_std_rev["UAU"] = "M"; gc_std_DNA_rev["TAT"] = "M";
		gc_std["AGA"] = "S"; gc_std_DNA["AGA"] = "S"; gc_std_rev["UCU"] = "S"; gc_std_DNA_rev["TCT"] = "S";
		gc_std["AGG"] = "S"; gc_std_DNA["AGG"] = "S"; gc_std_rev["UCC"] = "S"; gc_std_DNA_rev["TCC"] = "S";
		gc_std["AGR"] = "S"; gc_std_DNA["AGR"] = "S"; gc_std_rev["UCY"] = "S"; gc_std_DNA_rev["TCY"] = "S";
		gc_std["AAA"] = "N"; gc_std_DNA["AAA"] = "N"; gc_std_rev["UUU"] = "N"; gc_std_DNA_rev["TTT"] = "N";
	}
	// xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
	else if (selection == "22"){
		gc_std["UCA"] = "*"; gc_std_DNA["TCA"] = "*"; gc_std_rev["AGU"] = "*"; gc_std_DNA_rev["AGT"] = "*";
		gc_std["UAG"] = "L"; gc_std_DNA["TAG"] = "L"; gc_std_rev["AUC"] = "L"; gc_std_DNA_rev["ATC"] = "L";
	}
	// xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
	else if (selection == "23"){
		gc_std["UUA"] = "*"; gc_std_DNA["TTA"] = "*"; gc_std_rev["AAU"] = "*"; gc_std_DNA_rev["AAT"] = "*";
	}
	// xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
	else if (selection == "24"){
		gc_std["AGA"] = "S"; gc_std_DNA["AGA"] = "S"; gc_std_rev["UCU"] = "S"; gc_std_DNA_rev["TCT"] = "S";
		gc_std["AGG"] = "K"; gc_std_DNA["AGG"] = "K"; gc_std_rev["UCC"] = "K"; gc_std_DNA_rev["TCC"] = "K";
		gc_std["UGA"] = "W"; gc_std_DNA["TGA"] = "W"; gc_std_rev["ACU"] = "W"; gc_std_DNA_rev["ACT"] = "W";
	}
	// xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
	else if (selection == "25"){
		gc_std["UGA"] = "G"; gc_std_DNA["TGA"] = "G"; gc_std_rev["ACU"] = "G"; gc_std_DNA_rev["ACT"] = "G";
	}
	// xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
	else if (selection == "26"){
		gc_std["CUG"] = "A"; gc_std_DNA["CTG"] = "A"; gc_std_rev["GAC"] = "A"; gc_std_DNA_rev["GAC"] = "A";
	}
	// xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
	else if (selection == "29"){
		gc_std["UAA"] = "Y"; gc_std_DNA["TAA"] = "Y"; gc_std_rev["AUU"] = "Y"; gc_std_DNA_rev["ATT"] = "Y";
		gc_std["UAG"] = "Y"; gc_std_DNA["TAG"] = "Y"; gc_std_rev["AUC"] = "Y"; gc_std_DNA_rev["ATC"] = "Y";
		gc_std["UAR"] = "Y"; gc_std_DNA["TAR"] = "Y"; gc_std_rev["AUY"] = "Y"; gc_std_DNA_rev["ATY"] = "Y";
	}
	// xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
	else if (selection == "30"){
		gc_std["UAA"] = "E"; gc_std_DNA["TAA"] = "E"; gc_std_rev["AUU"] = "E"; gc_std_DNA_rev["ATT"] = "E";
		gc_std["UAG"] = "E"; gc_std_DNA["TAG"] = "E"; gc_std_rev["AUC"] = "E"; gc_std_DNA_rev["ATC"] = "E";
		gc_std["UAR"] = "E"; gc_std_DNA["TAR"] = "E"; gc_std_rev["AUY"] = "E"; gc_std_DNA_rev["ATY"] = "E";
	}
	// xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
	else if (selection == "33"){
		gc_std["UAA"] = "Y"; gc_std_DNA["TAA"] = "Y"; gc_std_rev["AUU"] = "Y"; gc_std_DNA_rev["ATT"] = "Y";
		gc_std["UGA"] = "W"; gc_std_DNA["TGA"] = "W"; gc_std_rev["ACU"] = "W"; gc_std_DNA_rev["ACT"] = "W";
		gc_std["AGA"] = "S"; gc_std_DNA["AGA"] = "S"; gc_std_rev["UCU"] = "S"; gc_std_DNA_rev["TCT"] = "S";
		gc_std["AGG"] = "K"; gc_std_DNA["AGG"] = "K"; gc_std_rev["UCC"] = "K"; gc_std_DNA_rev["TCC"] = "K";
	}
}

// -11,  (-27, -28, -31)


                                        // N R Y M K S W H B V D
                                        // N Y R K M S W D V B H