Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- class BEDLike b where
- class BEDLike b => BEDConvert b where
- asBed :: ByteString -> Int -> Int -> b
- fromLine :: ByteString -> b
- toLine :: b -> ByteString
- convert :: BEDLike b' => b' -> b
- data BED
- data BED3
- data NarrowPeak
- npSignal :: Lens' NarrowPeak Double
- npPvalue :: Lens' NarrowPeak (Maybe Double)
- npQvalue :: Lens' NarrowPeak (Maybe Double)
- npPeak :: Lens' NarrowPeak (Maybe Int)
- data BEDExt bed a = BEDExt {}
- _bed :: forall bed a bed. Lens (BEDExt bed a) (BEDExt bed a) bed bed
- _data :: forall bed a a. Lens (BEDExt bed a) (BEDExt bed a) a a
- type BEDTree a = HashMap ByteString (IntervalMap Int a)
- bedToTree :: BEDLike b => (a -> a -> a) -> [(b, a)] -> BEDTree a
- sortedBedToTree :: (BEDLike b, Foldable f) => (a -> a -> a) -> Sorted (f (b, a)) -> BEDTree a
- intersecting :: BEDLike b => BEDTree a -> b -> IntervalMap Int a
- isIntersected :: BEDLike b => BEDTree a -> b -> Bool
- sizeOverlapped :: (BEDLike b1, BEDLike b2) => b1 -> b2 -> Int
- splitBed :: BEDConvert b => Int -> b -> [b]
- splitBedBySize :: BEDConvert b => Int -> b -> [b]
- splitBedBySizeLeft :: BEDConvert b => Int -> b -> [b]
- splitBedBySizeOverlap :: BEDConvert b => Int -> Int -> b -> [b]
- sortBed :: BEDLike b => [b] -> Sorted (Vector b)
- intersectBed :: (BEDLike b1, BEDLike b2, Monad m) => [b2] -> ConduitT b1 b1 m ()
- intersectBedWith :: (BEDLike b1, BEDLike b2, Monad m) => (b1 -> [b2] -> a) -> [b2] -> ConduitT b1 a m ()
- intersectSortedBed :: (BEDLike b1, BEDLike b2, Monad m) => Sorted (Vector b2) -> ConduitT b1 b1 m ()
- intersectSortedBedWith :: (BEDLike b1, BEDLike b2, Monad m) => (b1 -> [b2] -> a) -> Sorted (Vector b2) -> ConduitT b1 a m ()
- isOverlapped :: (BEDLike b1, BEDLike b2) => b1 -> b2 -> Bool
- mergeBed :: (BEDConvert b, Monad m) => [b] -> ConduitT i b m ()
- mergeBedWith :: (BEDLike b, Monad m) => ([b] -> a) -> [b] -> ConduitT i a m ()
- mergeSortedBed :: (BEDConvert b, Monad m) => ConduitT b b m ()
- mergeSortedBedWith :: (BEDLike b, Monad m) => ([b] -> a) -> ConduitT b a m ()
- countOverlapped :: BEDLike b => [b] -> [(BED3, Int)]
- streamBed :: (MonadResource m, BEDConvert b, MonadIO m) => FilePath -> ConduitT i b m ()
- streamBedGzip :: (BEDConvert b, MonadResource m, MonadThrow m, PrimMonad m) => FilePath -> ConduitT i b m ()
- readBed :: BEDConvert b => FilePath -> IO [b]
- sinkFileBed :: (BEDConvert b, MonadResource m) => FilePath -> ConduitT b o m ()
- sinkFileBedGzip :: (BEDConvert b, MonadResource m, MonadThrow m, PrimMonad m) => FilePath -> ConduitT b o m ()
- sinkHandleBed :: (BEDConvert b, MonadIO m) => Handle -> ConduitT b o m ()
- writeBed :: BEDConvert b => FilePath -> [b] -> IO ()
- compareBed :: (BEDLike b1, BEDLike b2) => b1 -> b2 -> Ordering
Documentation
class BEDLike b where Source #
A class representing BED-like data, e.g., BED3, BED6 and BED12. BED format uses 0-based index (see documentation).
chrom :: Lens' b ByteString Source #
Field lens
chromStart :: Lens' b Int Source #
chromEnd :: Lens' b Int Source #
name :: Lens' b (Maybe ByteString) Source #
score :: Lens' b (Maybe Int) Source #
strand :: Lens' b (Maybe Bool) Source #
Return the size of a bed region.
Instances
BEDLike NarrowPeak Source # | |
Defined in Bio.Data.Bed.Types chrom :: Lens' NarrowPeak ByteString Source # chromStart :: Lens' NarrowPeak Int Source # chromEnd :: Lens' NarrowPeak Int Source # name :: Lens' NarrowPeak (Maybe ByteString) Source # score :: Lens' NarrowPeak (Maybe Int) Source # strand :: Lens' NarrowPeak (Maybe Bool) Source # size :: NarrowPeak -> Int Source # | |
BEDLike BED3 Source # | |
BEDLike BED Source # | |
BEDLike BroadPeak Source # | |
BEDLike bed => BEDLike (BEDExt bed a) Source # | |
Defined in Bio.Data.Bed.Types |
class BEDLike b => BEDConvert b where Source #
asBed :: ByteString -> Int -> Int -> b Source #
Construct bed record from chromsomoe, start location and end location
fromLine :: ByteString -> b Source #
Convert bytestring to bed format
toLine :: b -> ByteString Source #
Convert bed to bytestring
Instances
BEDConvert NarrowPeak Source # | |
Defined in Bio.Data.Bed.Types asBed :: ByteString -> Int -> Int -> NarrowPeak Source # fromLine :: ByteString -> NarrowPeak Source # toLine :: NarrowPeak -> ByteString Source # convert :: BEDLike b' => b' -> NarrowPeak Source # | |
BEDConvert BED3 Source # | |
BEDConvert BED Source # | |
BEDConvert BroadPeak Source # | |
(Default a, Read a, Show a, BEDConvert bed) => BEDConvert (BEDExt bed a) Source # | |
BED6 format, as described in http://genome.ucsc.edu/FAQ/FAQformat.html#format1.7
data NarrowPeak Source #
ENCODE narrowPeak format: https://genome.ucsc.edu/FAQ/FAQformat.html#format12
Instances
Instances
(Eq bed, Eq a) => Eq (BEDExt bed a) Source # | |
(Read bed, Read a) => Read (BEDExt bed a) Source # | |
(Show bed, Show a) => Show (BEDExt bed a) Source # | |
(Default a, Read a, Show a, BEDConvert bed) => BEDConvert (BEDExt bed a) Source # | |
BEDLike bed => BEDLike (BEDExt bed a) Source # | |
Defined in Bio.Data.Bed.Types |
type BEDTree a = HashMap ByteString (IntervalMap Int a) Source #
sortedBedToTree :: (BEDLike b, Foldable f) => (a -> a -> a) -> Sorted (f (b, a)) -> BEDTree a Source #
Convert a set of sorted bed records to interval tree, with combining function for equal keys.
intersecting :: BEDLike b => BEDTree a -> b -> IntervalMap Int a Source #
splitBed :: BEDConvert b => Int -> b -> [b] Source #
split a bed region into k consecutive subregions, discarding leftovers
splitBedBySize :: BEDConvert b => Int -> b -> [b] Source #
split a bed region into consecutive fixed size subregions, discarding leftovers
splitBedBySizeLeft :: BEDConvert b => Int -> b -> [b] Source #
split a bed region into consecutive fixed size subregions, including leftovers
splitBedBySizeOverlap Source #
:: BEDConvert b | |
=> Int | bin size |
-> Int | overlap size |
-> b | |
-> [b] |
sortBed :: BEDLike b => [b] -> Sorted (Vector b) Source #
sort BED, first by chromosome (alphabetical order), then by chromStart, last by chromEnd
intersectBed :: (BEDLike b1, BEDLike b2, Monad m) => [b2] -> ConduitT b1 b1 m () Source #
return records in A that are overlapped with records in B
intersectBedWith :: (BEDLike b1, BEDLike b2, Monad m) => (b1 -> [b2] -> a) -> [b2] -> ConduitT b1 a m () Source #
intersectSortedBed :: (BEDLike b1, BEDLike b2, Monad m) => Sorted (Vector b2) -> ConduitT b1 b1 m () Source #
return records in A that are overlapped with records in B
intersectSortedBedWith :: (BEDLike b1, BEDLike b2, Monad m) => (b1 -> [b2] -> a) -> Sorted (Vector b2) -> ConduitT b1 a m () Source #
mergeBedWith :: (BEDLike b, Monad m) => ([b] -> a) -> [b] -> ConduitT i a m () Source #
Merge overlapping regions according to a merging function.
mergeSortedBed :: (BEDConvert b, Monad m) => ConduitT b b m () Source #
Merge overlapping regions. The input stream must be sorted first.
mergeSortedBedWith :: (BEDLike b, Monad m) => ([b] -> a) -> ConduitT b a m () Source #
Merge overlapping regions according to a merging function. The input stream must be sorted first.
countOverlapped :: BEDLike b => [b] -> [(BED3, Int)] Source #
Split overlapped regions into non-overlapped regions. The input must be overlapped.
This function is usually used with mergeBedWith
.
IO
streamBed :: (MonadResource m, BEDConvert b, MonadIO m) => FilePath -> ConduitT i b m () Source #
streamBedGzip :: (BEDConvert b, MonadResource m, MonadThrow m, PrimMonad m) => FilePath -> ConduitT i b m () Source #
sinkFileBed :: (BEDConvert b, MonadResource m) => FilePath -> ConduitT b o m () Source #
sinkFileBedGzip :: (BEDConvert b, MonadResource m, MonadThrow m, PrimMonad m) => FilePath -> ConduitT b o m () Source #
sinkHandleBed :: (BEDConvert b, MonadIO m) => Handle -> ConduitT b o m () Source #