This is designed to be a general holder for a set of patterns and
should be subclassed for specific implementations (ie. holding Motifs
or Signatures.
Methods
|
|
__init__
count
get_all
get_differing
get_random
get_top
get_top_percentage
remove_polyA
|
|
__init__
|
__init__ ( self, pattern_info )
Initialize a repository with patterns,
Arguments:
The patterns are represented interally as a list of two
tuples, where the first element is the number of times a pattern
occurs, and the second is the pattern itself. This makes it easy
to sort the list and return the top N patterns.
|
|
count
|
count ( self, pattern )
Return the number of times the specified pattern is found.
|
|
get_all
|
get_all ( self )
Retrieve all of the patterns in the repository.
|
|
get_differing
|
get_differing (
self,
top_num,
bottom_num,
)
Retrieve patterns that are at the extreme ranges.
This returns both patterns at the top of the list (ie. the same as
returned by get_top) and at the bottom of the list. This
is especially useful for patterns that are the differences between
two sets of patterns.
Arguments:
|
|
get_random
|
get_random ( self, num_patterns )
Retrieve the specified number of patterns randomly.
Randomly selects patterns from the list and returns them.
Arguments:
|
|
get_top
|
get_top ( self, num_patterns )
Return the specified number of most frequently occurring patterns
Arguments:
|
|
get_top_percentage
|
get_top_percentage ( self, percent )
Return a percentage of the patterns.
This returns the top percent percentage of the patterns in the
repository.
|
|
remove_polyA
|
remove_polyA ( self, at_percentage=.9 )
Remove patterns which are likely due to polyA tails from the lists.
This is just a helper function to remove pattenrs which are likely
just due to polyA tails, and thus are not really great motifs.
This will also get rid of stuff like ATATAT, which might be a
useful motif, so use at your own discretion.
XXX Could we write a more general function, based on info content
or something like that?
Arguments:
|