I have 400 virus genomes. In each virus, there are 100 genes (these are rough estimates). The genes in these viruses are transferred between each other very frequently. So Gene5 of Virus1 could be very closely related to Gene2 of Virus321.
I have predicted the secondary structure for each gene. In case you don't know, secondary structure is defined by elements. So for each amino acid, there is a secondary structure element (SSE). There are 8 SSEs used in my predictions.
For each amino acid in a gene, my program used an algorithm to give the probabilities for each SSE.
So for AminoAcid3 of Gene5 of Virus1, my program gave: 0.000 0.000 0.000 0.000 0.000 0.000 0.000 1.000
In AminoAcid6 of Gene5 of Virus1, my program gave: 0.135 0.021 0.000 0.025 0.008 0.174 0.145 0.492
You can see that all of the amino acids for a gene provide a unique fingerprint. The probabilities give a lot of interesting data.
Since my goal is to examine the evolutionary relationships between the genes, I am looking for a way to cluster the genes based on their secondary structure predictions. One thing to note is that many of these genes have missing pieces. A gene may be related to another gene that has 7 amino acids deleted relative to the first. Can anyone think of a clustering algorithm that suits my needs? I apologize if the explanation is at all confusing and will clarify any questions.