lib5c.util.primers module¶
Module containing utilities for manipulating 5C primer information.
-
lib5c.util.primers.
aggregate_primermap
(primermap, region_order=None)[source]¶ Aggregates a primermap into a single list.
- Parameters
primermap (Dict[str, List[Dict[str, Any]]]) – Primermap to aggregate. See
lib5c.parsers.primers.get_primermap()
.region_order (Optional[List[str]]) – Order in which regions should be concatenated. If None, the regions will be concatenated in order of increasing genomic coordinate. See
lib5c.util.primers.determine_region_order()
.
- Returns
The dicts represent primers in the same format as the inner dicts of the passed primermap; however, they exist as a single flat list instead of within an outer dict structure. The regions are arranged within this list in contiguous blocks, arranged in the order specified by the region_order kwarg.
- Return type
List[Dict[str, Any]]
Notes
This function returns a list of references to the original primermap, under the assumption that primer dicts are rarely modified. To avoid this, pass a copy of the primermap instead of the original primermap.
-
lib5c.util.primers.
determine_region_order
(primermap)[source]¶ Orders regions in a primermap by genomic coordinate.
- Parameters
primermap (Dict[str, List[Dict[str, Any]]]) – Primermap containing information about the regions to be ordered. See
lib5c.parsers.primers.get_primermap()
.- Returns
List of ordered region names.
- Return type
List[str]
-
lib5c.util.primers.
guess_bin_step
(regional_pixelmap)[source]¶ Guesses the bin step from a regional pixelmap.
- Parameters
regional_pixelmap (List[Dict[str, Any]]) – Ordered list of bins for a single region.
- Returns
The guessed bin step for this pixelmap.
- Return type
int
-
lib5c.util.primers.
natural_sort_key
(s)[source]¶ Function to enable natural sorting of alphanumeric strings.
- Parameters
s (str) – String being sorted.
- Returns
This list is an alternative represenation of the input string that will sort in natural order.
- Return type
List[Union[int, str]]
Notes
Function written by SO user http://stackoverflow.com/users/15055/claudiu and provided in answer http://stackoverflow.com/a/16090640.