CpGenie/HCT116_ENCSR000DFS
License: Apache License v2
Contributed by: Roman Kreuzhuber
Cite as: https://doi.org/10.1093/nar/gkx177
Type: keras
Postprocessing: None
Trained on: RRBS (restricted representation bisulfite sequencing) data from ENCODE (https://www.encodeproject.org/)
Abstract: DNA methylation plays a crucial role in the establishment of tissue-specific gene expression and the regulation of key biological processes. However, our present inability to predict the effect of genome sequence variation on DNA methylation precludes a comprehensive assessment of the consequences of non-coding variation. We introduce CpGenie, a sequence-based framework that learns a regulatory code of DNA methylation using a deep convolutional neural network and uses this network to predict the impact of sequence variation on proximal CpG site DNA methylation. CpGenie produces allele-specific DNA methylation prediction with single-nucleotide sensitivity that enables accurate prediction of methylation quantitative trait loci (meQTL). We demonstrate that CpGenie prioritizes validated GWAS SNPs, and contributes to the prediction of functional non-coding variants, including expression quantitative trait loci (eQTL) and disease-associated mutations. CpGenie is publicly available to assist in identifying and interpreting regulatory non-coding variants.
kipoi env create CpGenie
source activate kipoi-CpGenie
	
      kipoi test CpGenie/HCT116_ENCSR000DFS --source=kipoi
	
      kipoi get-example CpGenie/HCT116_ENCSR000DFS -o example
kipoi predict CpGenie/HCT116_ENCSR000DFS \
  --dataloader_args='{"intervals_file": "example/intervals_file", "fasta_file": "example/fasta_file"}' \
  -o '/tmp/CpGenie|HCT116_ENCSR000DFS.example_pred.tsv'
# check the results
head '/tmp/CpGenie|HCT116_ENCSR000DFS.example_pred.tsv'
	
      kipoi env create CpGenie
source activate kipoi-CpGenie
	
      import kipoi
model = kipoi.get_model('CpGenie/HCT116_ENCSR000DFS')
	
      pred = model.pipeline.predict_example(batch_size=4)
	
      # Download example dataloader kwargs
dl_kwargs = model.default_dataloader.download_example('example')
# Get the dataloader and instantiate it
dl = model.default_dataloader(**dl_kwargs)
# get a batch iterator
batch_iterator = dl.batch_iter(batch_size=4)
for batch in batch_iterator:
    # predict for a batch
    batch_pred = model.predict_on_batch(batch['inputs'])
	
      pred = model.pipeline.predict(dl_kwargs, batch_size=4)
	
      library(reticulate)
kipoi <- import('kipoi')
model <- kipoi$get_model('CpGenie/HCT116_ENCSR000DFS')
	
      predictions <- model$pipeline$predict_example()
	
      # Download example dataloader kwargs
dl_kwargs <- model$default_dataloader$download_example('example')
# Get the dataloader
dl <- model$default_dataloader(dl_kwargs)
# get a batch iterator
it <- dl$batch_iter(batch_size=4)
# predict for a batch
batch <- iter_next(it)
model$predict_on_batch(batch$inputs)
	
      pred <- model$pipeline$predict(dl_kwargs, batch_size=4)
	
      docker pull kipoi/kipoi-docker:sharedpy3keras1.2-slim
	
      docker pull kipoi/kipoi-docker:sharedpy3keras1.2
	
      docker run -it kipoi/kipoi-docker:sharedpy3keras1.2-slim
	
      docker run kipoi/kipoi-docker:sharedpy3keras1.2-slim kipoi test CpGenie/HCT116_ENCSR000DFS --source=kipoi
	
      # Create an example directory containing the data
mkdir -p $PWD/kipoi-example 
# You can replace $PWD/kipoi-example with a different absolute path containing the data 
docker run -v $PWD/kipoi-example:/app/ kipoi/kipoi-docker:sharedpy3keras1.2-slim \
kipoi get-example CpGenie/HCT116_ENCSR000DFS -o /app/example 
docker run -v $PWD/kipoi-example:/app/ kipoi/kipoi-docker:sharedpy3keras1.2-slim \
kipoi predict CpGenie/HCT116_ENCSR000DFS \
--dataloader_args='{'intervals_file': '/app/example/intervals_file', 'fasta_file': '/app/example/fasta_file'}' \
-o '/app/CpGenie_HCT116_ENCSR000DFS.example_pred.tsv' 
# check the results
head $PWD/kipoi-example/CpGenie_HCT116_ENCSR000DFS.example_pred.tsv
    
	
      https://apptainer.org/docs/user/main/quick_start.html#quick-installation-steps
	
      kipoi get-example CpGenie/HCT116_ENCSR000DFS -o example
kipoi predict CpGenie/HCT116_ENCSR000DFS \
--dataloader_args='{"intervals_file": "example/intervals_file", "fasta_file": "example/fasta_file"}' \
-o 'CpGenie_HCT116_ENCSR000DFS.example_pred.tsv' \
--singularity 
# check the results
head CpGenie_HCT116_ENCSR000DFS.example_pred.tsv
	
      Defined as: kipoiseq.dataloaders.SeqIntervalDl
Doc: Dataloader for a combination of fasta and tab-delimited input files such as bed files. The dataloader extracts regions from the fasta file as defined in the tab-delimited `intervals_file` and converts them into one-hot encoded format. Returned sequences are of the type np.array with the shape inferred from the arguments: `alphabet_axis` and `dummy_axis`.
Authors: Ziga Avsec , Roman Kreuzhuber
Type: Dataset
License: MIT
Arguments
intervals_file : bed3+<columns> file path containing intervals + (optionally) labels
fasta_file : Reference genome FASTA file path.
num_chr_fasta (optional): True, the the dataloader will make sure that the chromosomes don't start with chr.
label_dtype (optional): None, datatype of the task labels taken from the intervals_file. Example: str, int, float, np.float32
use_strand (optional): reverse-complement fasta sequence if bed file defines negative strand. Requires a bed6 file
ignore_targets (optional): if True, don't return any target variables
- python=3.7
 - pysam=0.15.3
 - pip=20.2.4
 
- h5py==2.10.0
 - tensorflow==1.15
 - keras==1.2.2
 - protobuf==3.20
 
- bioconda::pybedtools
 - bioconda::pyfaidx
 - bioconda::pyranges
 - numpy
 - pandas
 
- kipoiseq