Okay the answer below is based on the second graph from the top. Looking at the update the correct answer is closer to the first answer presented. EDIT 3 is normalised data. It appears that the y-axis is probably natural log transformed (loge) or log2 and this transformation has normalised it.
Thus there is not need to normalise the data, the program has already done it in EDIT3 and in the very top graph now presented.
This looks impressive, thanks. I get it. There are two way to do this. If you are normalising the frequency (y-axis) is what you are wanting to normalise then either (in this instance its the wrong answer [see below the ----]):
- a log10 transformation (even Excel will log this data)
- a max-min transformation (thats in Python, likely in R - I dunno a general package maybe SPSS??, dunno)
You then test via the normal distribution using with Shapiro–Wilk test or Kolmogorov–Smirnov test
I suspect the max-min transformation will work. There are other ways in but it will involve discarding data that is >3SD from the mean. Try the above and see how it works.
Note, a specialist statistician will request you perform a QQ plot, because the above tests of normalisation are not perfect.
This is not standardisation this is conformation to the normal distribution.
This could be about bin size if you have a discrete range for gene length and doesn't need to be very big - normally you need to try a few values, in this case its just 1 amino acid bin ... This can be used as a sliding window. It will pull the data into a normal distribution. That may not be very well explained, but I'm pretty sure that will work.
1 amino acid sounds weird but part the failure to see a normal distribution is a result of your calculation: you are splitting an amino acid into fractions and thats whats causing the irregularities in the data. Thus between values 10 and 20 on the x-axis (presumably size range difference) you should only have 20 bars - but you've got loads > 100 which isn't possible.
Do that try SW and KS tests and you're sorted.