Patent ID: 7941434

Claim:
A non-transitory computer readable medium comprising: (1) a database of attribute profiles, wherein each attribute profile comprises pangenetic and non-pangenetic attributes; and (2) a set of instructions that, when executed by a processor, cause that processor to perform the steps of: (a) receiving a query attribute; (b) selecting, as a positive set, a set of attribute profiles from the database that match the query attribute; (c) selecting, as a negative set, a set of attribute profiles from the database that do not match the query attribute; (d) identifying, as candidate attributes, attributes from the profiles in the positive set that are not found in a designated fraction of the attribute profiles in the negative set; (e) selecting a first attribute profile from the positive set; (f) generating a first set of attribute combinations, wherein the first set of attribute combinations comprises an attribute combination for each of the attribute profiles in the positive set, and wherein each attribute combination is the intersection of the first attribute profile with one of the other attribute profiles in the positive set; (g) identifying, as a primary attribute combination, the attribute combination generated by step (f) having the greatest number of attributes; (h) removing the primary attribute combination from the first set of attribute combinations; (j) generating a second set of attribute combinations, wherein the second set of attribute combinations comprises an attribute combination for each of the first set of attribute combinations, and wherein each attribute combination of the second set of attribute combinations is the intersection of the primary attribute combination with one of the attribute combinations in the first set of attribute combinations; (k) identifying, as a third set of attribute combinations, those attribute combinations from the second set of attribute combinations that have a number of attributes greater than a designated fraction of the number of attributes of the primary attribute combination; (l) identifying, as a third set of attribute profiles, the attribute profiles corresponding to the primary attribute combination plus all attribute profiles matching at least one of the attribute combinations in the third set of attribute combinations; (m)designating, as a combination of co-associating attributes, the set of attributes that occur in all attribute profiles of the third set of attribute profiles; (n) designating, as a new positive set, the complement of the third set of attribute profiles in the positive set; (o) repeating steps (e) through (n) using the new positive set, unless the new positive set is an empty set; and (p) storing, in the medium, a compilation comprising the query attribute and each of the combinations of co-associating attributes designated by step (m).