Skip to content

Repository files navigation

kipoiseq

CircleCICoverage status

Standard set of data-loaders for training and making predictions for DNA sequence-based models.

All dataloaders in kipoiseq.dataloaders decorated with @kipoi_dataloader (SeqIntervalDl and StringSeqIntervalDl) are compatible Kipoi models and can be directly used when specifying a new model in model.yaml:

...
default_dataloader:
defined_as: kipoiseq.dataloaders.SeqIntervalDldefault_args:
auto_resize_len: 1000# override default args in SeqIntervalDldependencies:
pip:
- kipoiseq
...

Installation

pip install kipoiseq

Optional dependencies:

pip install cyvcf2, pyranges
conda install cyvcf2, pyranges

Getting started

fromkipoiseq.dataloadersimportSeqIntervalDldl=SeqIntervalDl.init_example() # use the provided example files# your own filesdl=SeqIntervalDl("intervals.bed", "genome.fa")
len(dl) # length of the datasetdl[0] # get one instance. # returns a dictionary: # dict(inputs=<one-hot-encoded-array>, # targets=<additional columns in the bed file>, # metadata=dict(ranges=GenomicRanges(chr=, start, end)...all=dl.load_all() # load the whole dataset# load batches of datait=dl.batch_iter(32, num_workers=8) # load batches of data in parallel using 8 workers# returns a dictionary with all three keys: inputs, targets, metadatait=dl.batch_train_iter(32, num_workers=8)
# returns a tuple: (inputs, targets), can be used directly with keras' `model.fit_generator`

More info:

How to write your own data-loaders

About

Standard set of data-loaders for training and making predictions for DNA sequence-based models.

Resources

Contributing

Stars

84 stars

Watchers

12 watching

Forks

Releases

Packages

Used by

Contributors

Languages