预测cpg甲基化的深度学习

deepcpg的Python项目详细描述


========================================================================
DeepCpG: Deep neural networks for predicting single-cell DNA methylation
========================================================================

|Version| |License| |PyPI| |Docs| |DOI| |Tweet|

.. |版本图像::https://img.shields.io/badge/python-2.7%2b%2c3.4%2b绿色.svg
:目标:https://www.python.org/

…|许可证图像::https://img.shields.io/github/license/mashape/apistus.svg
:目标:https://github.com/cangermueller/deepcpg/tree/master/license

| pypi图像::https://img.shields.io/badge/pypi latest orange.svg
:目标:https://pypi.python.org/pypi/deepcpg

……|文档图像::https://img.shields.io/badge/docs up--date brightgreen.svg
:目标:http://deepcpg.readthedocs.io

…| doi image::https://zenodo.org/badge/68630079.svg
:目标:https://zenodo.org/badge/latestdoi/68630079

| tweet图片::https://img.shields.io/twitter/url/http/shields.io.svg?style=social
:目标:https://twitter.com/intent/tweet?text=checkout+%23deep cpg%3a+%23deeplearning+for+predicting+dna+甲基化%2c+%40cangermueller

deepcpg[1]\u是一个预测多细胞中cpg二核苷酸甲基化状态的深层神经网络。它允许准确地输入不完整的dna甲基化谱,发现预测性序列模体,并量化序列突变的影响。(`angermueller等人,2017<;http://dx.doi.org/10.1186/s13059-017-1189-z>;````.

**请帮助改进deepcpg**,报告错误、笔记本和文档中的打字错误,或任何关于如何使事情变得更好的想法。您可以提交"问题"https://github.com/cangermueller/deepcpg/issues>;``或向我发送"电子邮件"<;mailto:cangermueller@gmail.com>;`` `.

……图:docs/source/fig1.png
:width:640 px
:align:left
:alt:deepcpg model architecture and applications

**deepcpg model architecture and applications.*

(a\)从scbs seq或scrrbs seq获得的稀疏单细胞cpg简档。甲基化的cpg位点用1表示,非甲基化的cpg位点用0表示,问号表示甲基化状态未知的cpg位点(缺失数据)。(b)DeepCPG模型架构。dna模型由两个卷积层和汇集层组成,用于从局部序列上下文中识别预测性模体,以及一个完全连接的模体相互作用层。cpg模型使用双向门控递归网络(gru)扫描多个细胞(b中的行)的cpg邻域,在恒定大小的向量中产生压缩特征。联合模型学习来自DNA和CPG模型的高级特征之间的相互作用,以预测所有细胞中的甲基化状态。(c,d)训练的deepcpg模型可用于不同的下游分析,包括缺失cpg位点的全基因组估算(c)和与dna甲基化水平或细胞间变异性(d)相关的dna序列模体的发现。[1]Angermueller、Christof、Heather J.Lee、Wolf Reik和Oliver Stegle。*DeepCPG:使用深度学习准确预测单细胞DNA甲基化状态。*基因组生物学18(2017年4月11日):67。doi:10.1186/s130959-017-1189-z.








==========
============================================================================================================================================



DeepCPG 1.0.7发布!
**180224**:发布了DeepCPG 1.0.6!
**171112**:Keras 2现在是Keras的主要版本(1.0.5版)。
**170412**:新的"笔记本电脑<;/examples/notebooks/stats/index.ipynb>;` ` `关于预测单元间的统计数据!
**170414**:添加了"dcpg_eval_perf.py<;/scripts/dcpg_eval_perf.py>;``和` dcpg_eval_perf.rmd<;/r/dcpg_eval_perf.rmd>;``用于评估和可视化预测性能!请在"this notebook<;/examples/notebooks/basics/index.ipynb""评估预测性能"中查找一个示例。
**170412**:新的"notebook<;/examples/notebooks/stats/index.ipynb>;``关于预测细胞间统计数据!
**170410**:新的"notebook<;/examples/notebooks/snp/index.ipynb>;``关于估计突变效应!
**170406**:所有"deepcpg脚本"的简短描述<;http://deepcpg.readthedocs.io/latest/scripts/index.html>;`!
**170404**:发布了关于创建和分析deepcpg数据的新指南<;http://deepcpg.readthedocs.io/latest/data.html>;`!
**170404**:连续数据培训,例如批量实验,现在"支持"<;http://deepcpg.readthedocs.io/latest/data.html>;`!


代码::bash

pip安装deepcpg

代码::bash

git克隆https://github.com/cangermueller/deepcpg.git



,然后使用"setup.py"安装deepcpg:

。代码::bash

python setup.py install




Getting Started
=将每个细胞已知的CpG甲基化状态存储到一个标签删除文件中,列如下:

*染色体(不带chr)
*CpG位点在染色体上的位置以一个CpG位点的二元甲基化状态开始(0=非甲基化,1=甲基化)

exampleE:

…代码:

13000827 1.0
13001007 0.0
13001018 1.0
……
y 90829839 1.0
y 90829899 1.0
y 90829918 0.0



2.运行"dcpg_data.py"为deepcpg创建输入数据:

…代码::bash

dcpg_data.py
--cpg_profiles./cpg/cell1.tsv./cpg/cell2.tsv./cpg/cell3.tsv
--dna_files./dna/mm10
--cpg_wlen 50
--dna轱len1001
--out轱dir./data

`./cpg/cell[123].tsv``存储步骤1中的甲基化数据,`./dna``包含dna数据库,例如"mm10<;http://ftp.ensembl.or g/pub/release-85/fasta/mus廑musculus/dna/>;``用于鼠标或"hg38<;http://ftp.ensembl.org/pub/release-86/fasta/homo廑人/dna/>;``用于人类,输出数据文件将存储在`./data`.


3。微调一个预先训练过的模型,或者用"dcpg_train.py"从头开始训练自己的模型:

…编码:bash


dcpg列车。py
./data/c{1,3,6,7,7,9}h5
--VALU数据。/data/c{13,14,15,16,17,18,19}h5
--dna模型cnnl2h128
--cpg模型rnnl1
--联合模型jointl2h512
--nb纪元30

--outu dir.
./data/data/c{-13,14,15,15,15,16,17,18,19}h5
--br/>--dna模型cnnl2h128
--dna模型cnnl2h128
--/>
此命令使用chromosomES 1-3用于培训,10-13用于验证。``——DNA模型````--CPG模型``和``--Joint模型``分别指定了CPG、DNA和Joint模型的体系结构(详见手稿)。培训将在最多30个阶段后停止,模型文件将存储在`./model``.




4中。使用"dcpg_eval.py"来估算甲基化谱并评估模型性能。代码::bash

dcpg_eval.py
./data/*.h5
--model_文件/model/model.json./model/model_weights_val.h5
--out_数据/eval/data.h5
--out_报告/eval/report.tsv

n使用已知甲基化状态的性能。预测状态将存储在`./eval/data.h5``中,性能指标存储在`./eval/report.tsv``.




5中。将估算的甲基化简档导出到HDF5或床图文件:

…代码::bash

dcpg_eval_export.py
./eval/data.h5
-o./eval/hdf
-f hdf






你可以在`/examples<;examples/readme.md>;``中找到关于如何使用deepcpg的示例笔记本和脚本。r用于下游分析的脚本和rmarkdown文件存储在`/r<;r/readme.md>;` `.




文档
==


the`deepcpg documentation<;http://deepcpg.readthedocs.io>;` ` `中提供了有关培训、超参数选择和模型架构的信息是的。



model zoo
=使用"dcpg_data.py"时?**
这意味着`--cpg_profile``文件中的某些位点不是cpg位点,即在dna序列中的给定位置没有cg二核苷酸。确保"dna文件"指向正确的基因组和cpg位点正确对齐。由于deepcpg目前不支持等位基因特异性甲基化,因此必须合并(推荐)来自不同等位基因的数据,或者只使用一个等位基因。

**如何在一个或多个gpu上训练模型?**BR/> Debug Cpg使用'Kalas&Lt:http://Kalas.IO & Gt;''深度学习库],它支持"TeaNo.lt;http://深度学习".NET/Studio/TeaNo//Gt;``或'TunSorFort&Lt:http://www. TorsForth.org/gt;`'作为后端。如果您使用tensorflow,deepcpg将在所有可用的gpu上自动运行。如果使用的是ano,则必须在"theano_flags"环境变量中设置标志"device=gpu"。

…代码::bash


nt
==
*``/deepcpg/``:源代码
*``/docs`:文档
*``/examples/``:如何使用deepcpg的示例
*``/r``:r脚本和rmarkdown文件用于下游分析
*`/script/``:可执行的deepcpg脚本
*`/tests`:测试文件

==



>1.0.7
-
-
*增加对keras的支持>;=2.2.0.



>1.0.6
-
-
*增加对keras 2.1.4和tensorflow 1.5.0的支持
*小错误修复。














<1.0.4.4.4.0.=2.1.1.1.1.1.1.4.4.4和tensorflow 1.5.0.0<
----
添加评估脚本s和笔记本,改进文档,并修复小错误。
+添加"dcpg eval_perf.py<;http://deepcpg.readthedocs.io/en/latest/scripts/index.html"module scripts.dcpg eval_perf>;``和r标记文件,用于计算和可视化全基因组和带注释的内容中的性能指标xts.
+添加"dcpg_snp.py<;http://deepcpg.readthedocs.io/en/latest/scripts/index.html"模块脚本.dcpg_snp>;``用于计算突变效果。
+添加有关计算突变效果和预测细胞间统计的笔记本。
+添加"deepcpg脚本"文档<;http://deepcpg.readthedocs.io/latest/scripts/index.html>;`.
+添加集成测试。
+包括小错误修复。

>1.0.3
----
扩展``dcpg_data.py``,更新文档并修复小错误。
+扩展``dcpg_data.py``以支持bedGraph和tsv输入文件s.
+启用关于连续甲基化状态的培训。
+添加关于创建和分析数据的"文档"lt;http://deepcpg.readthedocs.io/en/latest/data.html data>;``。
+更新"脚本"文档lt;http://deepcpg.readthedocs.io/en/latest/scripts/index.html和"图书馆<;http://deepcpg.readthedocs.io/en/最新/lib/index.html;library>;` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` `<





联系
===
==
*christof angermuueller
*christof angermuueller
*cangermuueller@gmail.com
*https://cangermuueller.com
=>>*` ` ` ` ` ` ` ` ` ` ` ` ` ` `br/>

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
javascript点击文本(文本链接到web url)如何打开   java将一个按钮替换为另一个按钮   J2ME上的java音频,我不知道哪里出了问题?   java异常仅在调试+断点中引发   图形按钮文本在4Gb Ram和IBM Java 1.5中消失   java如何在输入错误的用户名和/或密码时将用户从登录控件重定向到错误页面?   java对象的计算时代有什么好处?   加密限制了应用程序功能的启动   swing只有在我移动鼠标时才会显示组件。帮助(爪哇)   使用Spring进行java密码加密/解密   Java8Java。时间:如何更改一周中的某一天和一天的开始时间?   java Android:设置文本视图中来自另一个活动的文本不起作用   如何在java中创建ActionEvent类的对象?   java Tomcat 7和无效的密钥库格式   GWT面板类型的java问题   字符输入java中的异常   带有文件输出的java JOptionPane   java Kotlin泛型声明站点方差<在T>构造中   java是非对话框,带进度