text: user9897: I need to find dissimilar proteins. Looking through the PDB I found the weekly BLASTClust results of proteins that are 30% similar. However, I do not know if protein A in cluster 1 is guaranteed to be less than 30% similar to protein B in cluster 2.
  The best and only documentation I can find for BLASTClust is here (link).
  It states:
  
  The program begins with pairwise matches and places a sequence in a cluster if the sequence matches at least one sequence already in the cluster.
  
  That's good, but consider a set of three proteins (A, B, and C). A is 40% similar to B and 40% similar to C. B is 20% similar to C. Say that the algorithm places B in cluster 1 and then C in cluster 2 as they are dissimilar. What happens when it tries to place A? Because A is similar to both B and C will they be joined into one cluster (this would be the best result for me) or is A just placed into one cluster even though it is similar to a protein in another cluster?
  
  user2108: Based on the documentation (that I linked to in comment), it seems that the clustering algorithm used by blastclust is single-linkage hierarchical clustering.
  SO what you can expect is that A will be placed with the protein to which it is most similar. And then the last protein will be added as an outgroup to that cluster due to its similarity to A (assuming that there are no other proteins).
  So if your goal is "I want clusters that are guaranteed to contain dissimilar proteins", then you might not be able to naively take blastclust output and interpret it as such. You could either postprocess it to find the set of clusters in which no protein is more than 30% similar to a protein in any other cluster (which may just be one big cluster!), or find another clustering algorithm that is more suited to your task.
  Update
  It does look like blastclust uses a minimum similarity (not identity) threshold (from blastclust docs). So they use an implementation of single-linkage clustering that stops before merging everything into a single cluster:
  If the coverage is above a certain threshold
   AND
  the score density is above a certain threshold,
  
  these two sequences are considered to be neighbored.
  
  Thus determined neighbor relationships is considered symmetric and provides
  the base for clustering by a single-linkage method (which puts a sequence
  to a cluster if the sequence is a neighbor to at least one sequence in the
  cluster)."
  
  I don't think that this is a general property of the generic clustering algorithm though (see the "Naive algorithm" section).
  
original_text: 9897: <p>I need to find dissimilar proteins. Looking through the PDB I found the weekly BLASTClust results of proteins that are 30% <em>similar</em>. However, I do not know if protein A in cluster 1 is guaranteed to be less than 30% similar to protein B in cluster 2.</p>
  <p>The best and only documentation I can find for BLASTClust is here <a href="https://www.ncbi.nlm.nih.gov/Web/Newsltr/Spring04/blastlab.html" rel="nofollow noreferrer">(link)</a>.</p>
  <p>It states:</p>
  <blockquote>
  <p>The program begins with pairwise matches and places a sequence in a cluster if the sequence matches at least one sequence already in the cluster.</p>
  </blockquote>
  <p>That's good, but consider a set of three proteins (A, B, and C). A is 40% similar to B and 40% similar to C. B is 20% similar to C. Say that the algorithm places B in cluster 1 and then C in cluster 2 as they are dissimilar. What happens when it tries to place A? Because A is similar to both B and C will they be joined into one cluster (this would be the best result for me) or is A just placed into one cluster even though it is similar to a protein in another cluster?</p>
   2108: <p>Based on the documentation (that I linked to in comment), it seems that the clustering algorithm used by blastclust is <a href="https://en.wikipedia.org/wiki/Single-linkage_clustering" rel="nofollow noreferrer">single-linkage hierarchical clustering</a>.</p>
  <p>SO what you can expect is that A will be placed with the protein to which it is most similar. And then the last protein will be added as an outgroup to that cluster due to its similarity to A (assuming that there are no other proteins).</p>
  <p>So if your goal is &quot;I want clusters that are guaranteed to contain dissimilar proteins&quot;, then you might not be able to naively take blastclust output and interpret it as such. You could either postprocess it to find the set of clusters in which no protein is more than 30% similar to a protein in any other cluster (which may just be one big cluster!), or find another clustering algorithm that is more suited to your task.</p>
  <p><strong>Update</strong></p>
  <p>It does look like blastclust uses a minimum <em>similarity</em> (not identity) threshold (from blastclust docs). So they use an implementation of single-linkage clustering that stops before merging everything into a single cluster:</p>
  <pre><code>If the coverage is above a certain threshold
   AND
  the score density is above a certain threshold,
  
  these two sequences are considered to be neighbored.
  
  Thus determined neighbor relationships is considered symmetric and provides
  the base for clustering by a single-linkage method (which puts a sequence
  to a cluster if the sequence is a neighbor to at least one sequence in the
  cluster).&quot;
  </code></pre>
  <p>I don't think that this is a general property of the generic clustering algorithm though (see the &quot;Naive algorithm&quot; section).</p>
  