There's something odd about your numbers:
I took a quick look at the database and just used the (LENGTH:[X TO Y]) command to filter by lengths. This gives you numbers of entries for each size bracket (see numbers on left of image under the Clusters heading).
These are the numbers for clusters I get in the UniRef90 database (Yes, there's some overlap in the brackets 'cause I used 0-1000, 1000-2000 etc, but it doesn't matter in the final analysis, all it did was save some typing time for me):
Size bracket |
Number of clusters |
0 - 1K |
173,209,693 |
1K - 2K |
5,303,314 |
2K - 3K |
658,504 |
3K - 4K |
161,999 |
4K - 5K |
80,517 |
5K - 6K |
32,742 |
6K - 7K |
12,207 |
7K - 8K |
7,076 |
8K - 9K |
4,995 |
9K - 10K |
2,616 |
10K - 11K |
1,603 |
11K - 12K |
900 |
12K - 13K |
792 |
13K - 14K |
476 |
14K - 15K |
519 |
15K - 50K |
3902 |
From this you can see that the first two brackets (even the first one alone) are vastly more than all the others summed together, which means that there's no way that the average cluster can be 5000 aa in length
This tells me that you have some real problems in your analysis or in your data, but what that problem might be, I don't know. I thought it might have been that you had substituted size for length, but even there cluster size of 5K-6K is only in the 400 range and vastly outweighed by the 1-1000 clusters.
Rest assured, the average protein size is between 50 and 2000 amino acids in length (see 4th para in link).
Edited to add:
I did some analysis of my own using R and ggplot. I downloaded a dataset specifying 90% identity and lengths to be between 2000 and 8000, to keep the file smallish. This makes it a fairly small dataset of 952,569 entries and using the following code (yes, poor coding style, but it's literally a 4 line code including loading the file and library (left out here), so don't need anything fancy). The binwidth of 200 means that the counts for each category are "binned" in lengths of 200 aa, meaning there are 5 bars per 1000 aa.
plot <- ggplot(file, mapping = aes(x = Length))
plot + geom_histogram(binwidth = 200)
This shows me that there is a peak number of entries between 2000 and 3000, not the ~5000-6000 peak in yours (I note that your bins don't line up with nice groupings, so it makes it hard to work out what they are, but something like 910 aa per bin I think, so it should be about 5400 at the peak). This peak has about 200,000 entries, which is massive compared to the ~45,000 peak in your plot, and if you pool my numbers into brackets of ~1000, you get an even more telling picture:
These plots, together with the numbers in my table above, tells me that there is a problem with your dataset or the code you used to generate the plot, probably the data table. You might wish to explore your data more - look at the number of entries in the table. I think, from your plot, that you have vastly too few entries to be a full UniRef90 dataset, as they should total somewhere close to 180 million not the (very rough) <200,000 entries you have.