| bio-0.4.6: A bioinformatics library | Source code | Contents | Index

Bio.Location.LocMap

Contents

Constructing location lookup maps
Searching for target locations
Modifying location lookup maps
Utilities

Description

Efficient lookup of sequence positions and locations in a large map of target locations. For example, target locations might represent a collection of genes annotated on a chromosome. The `LocMap` would efficiently find which gene(s) overlapped a sequence position on that chromosome.

Target locations are assigned to one or more zones based on `bounds`. Query locations are then tested only against the target locations in the relevant zones.

Synopsis

data LocMap a
fromList :: Offset -> [(Loc, a)] -> LocMap a
lookupWithin :: Pos -> LocMap a -> [(Loc, a)]
lookupOverlaps :: Loc -> LocMap a -> [(Loc, a)]
delete :: Eq a => (Loc, a) -> LocMap a -> LocMap a
deleteBy :: ((Loc, a) -> Bool) -> LocMap a -> LocMap a
insert :: Loc -> a -> LocMap a -> LocMap a
checkInvariants :: LocMap a -> [String]

Constructing location lookup maps

data LocMap a | Source

Data structure allowing efficient lookup of target sequence locations that overlap a query location. Target locations can be paired with an arbitrary object.
Instances

Monoid (LocMap a)

fromList :: Offset -> [(Loc, a)] -> LocMap a | Source

Create a `LocMap` from an association list of target locations.
Searching for target locations

lookupWithin :: Pos -> LocMap a -> [(Loc, a)] | Source

Find the (possibly empty) list of target locations and associated objects that contain a sequence position, in the sense of `isWithin`

lookupOverlaps :: Loc -> LocMap a -> [(Loc, a)] | Source

Find the (possibly empty) list of target locations and associated objects that overlap a sequence location, in the sense of `overlaps`
Modifying location lookup maps

delete :: Eq a => (Loc, a) -> LocMap a -> LocMap a | Source

Remove a target location and object association from the map, if it is present. If it is present multiple times, only the first occurrence will be deleted.

deleteBy :: ((Loc, a) -> Bool) -> LocMap a -> LocMap a | Source

Generalized version of `delete` that removes the first target location / object association that satisfies a predicate function.

insert :: Loc -> a -> LocMap a -> LocMap a | Source

Insert a new target association into a target location map.
Utilities

checkInvariants :: LocMap a -> [String] | Source

Produced by Haddock version 2.4.2