diff mutation_analysis.py @ 104:603a10976e9c draft

Uploaded
author davidvanzessen
date Wed, 22 Jun 2016 10:07:28 -0400
parents 5ffbf40cdd4b
children 01c9993865af
line wrap: on
line diff
--- a/mutation_analysis.py	Tue Jun 21 05:30:16 2016 -0400
+++ b/mutation_analysis.py	Wed Jun 22 10:07:28 2016 -0400
@@ -81,6 +81,7 @@
 AALength = (int(max(mutationList, key=lambda i: int(i[4]) if i[4] else 0)[4]) + 1)  # [4] is the position of the AA mutation, None if silent
 
 AA_mutation = [0] * AALength
+AA_mutation_dic = {"ca": AA_mutation[:], "cg": AA_mutation[:], "cm": AA_mutation[:], "un": AA_mutation[:]}
 AA_mutation_empty = AA_mutation[:]
 
 aa_mutations_by_id_file = outfile[:outfile.rindex("/")] + "/aa_id_mutations.txt"
@@ -89,8 +90,11 @@
 		AA_mutation_for_ID = AA_mutation_empty[:]
 		for mutation in mutationListByID[ID]:
 			if mutation[4]:
-				AA_mutation[int(mutation[4])] += 1
-				AA_mutation_for_ID[int(mutation[4])] += 1
+				AA_mutation_position = int(mutation[4])
+				AA_mutation[AA_mutation_position] += 1
+				AA_mutation_for_ID[AA_mutation_position] += 1
+				clss = genedic[ID][:2]
+				AA_mutation_dic[clss][AA_mutation_position] += 1
 		o.write(ID + "\t" + "\t".join([str(x) for x in AA_mutation_for_ID[1:]]) + "\n")
 
 
@@ -149,6 +153,27 @@
 	o.write("mutations.at.position\t" + "\t".join([str(x) for x in AA_mutation[1:]]) + "\n")
 	o.write("AA.at.position\t" + "\t".join([str(x) for x in absentAA]) + "\n")
 
+
+aa_mutations_file_ca = outfile[:outfile.rindex("/")] + "/aa_mutations_ca.txt"
+with open(aa_mutations_file_ca, 'w') as o:
+	o.write("row.name\t" + "\t".join([str(x) for x in range(1, AALength-1)]) + "\n")
+	o.write("mutations.at.position\t" + "\t".join([str(x) for x in AA_mutation_dic["ca"][1:]]) + "\n")
+	o.write("AA.at.position\t" + "\t".join([str(x) for x in absentAA]) + "\n")
+
+
+aa_mutations_file_cg = outfile[:outfile.rindex("/")] + "/aa_mutations_cg.txt"
+with open(aa_mutations_file_cg, 'w') as o:
+	o.write("row.name\t" + "\t".join([str(x) for x in range(1, AALength-1)]) + "\n")
+	o.write("mutations.at.position\t" + "\t".join([str(x) for x in AA_mutation_dic["cg"][1:]]) + "\n")
+	o.write("AA.at.position\t" + "\t".join([str(x) for x in absentAA]) + "\n")
+
+
+aa_mutations_file_cm = outfile[:outfile.rindex("/")] + "/aa_mutations_cm.txt"
+with open(aa_mutations_file_cm, 'w') as o:
+	o.write("row.name\t" + "\t".join([str(x) for x in range(1, AALength-1)]) + "\n")
+	o.write("mutations.at.position\t" + "\t".join([str(x) for x in AA_mutation_dic["cg"][1:]]) + "\n")
+	o.write("AA.at.position\t" + "\t".join([str(x) for x in absentAA]) + "\n")
+
 if linecount == 0:
 	print "No data, exiting"
 	with open(outfile, 'w') as o: