在校正基因长度和聚类的同时,测试全基因组统计数据在基因(或其他)类别中的丰富性。
enrichme的Python项目详细描述
丰富
全基因组评分或p值的富集试验 在基因分类中。 py实现了一个方法,该方法自然地为 基因长度、连锁不平衡与基因聚类 随机旋转分数得到零分布 与他们的基因组位置相反。
如果你有全基因组关联研究(gwas)的结果, 全基因组选择扫描或任何类型的分析 在整个基因组中的位置上的得分,可能是多少或者p值, py测试是否在特定的基因类别中丰富了高分。
测试
您可以使用以下命令运行单元测试:
python setup.py test
浓缩测试实施
程序目前实现三种方法:
- 候选人(enricme.py-m候选人–帮助)
- 比较候选基因列表和背景基因列表。 这是一个标准的函数,它是由许多丰富的 分析工具。基因长度或ld无修正。
- 表层岩芯(enrichme.py-m表层岩芯–帮助)
- 检查排名靠前的分数是否在基因内或接近基因 富含特定的基因种类。 这种方法自然地校正了基因长度和ld。 如果期望只有分数高于 阈值包含与生物学相关的信息。 不使用通过分数排名的信息 阈值。
- 摘要(enricme.py-m summary–help)
- 类似于表层岩芯,但不定义阈值 在分数上,计算每个基因的分数汇总 类别。作为一个例子,对于每个基因类别,程序可以 计算横跨最大得分类别的平均值 这一类中的每一个基因。 如果一个人认为分数包含信息,这个方法是有用的 低至低值或分数的相对值是否重要 除了定义一个简单的阈值之外。
如何使用
./enrichme.py --help
带有进一步解释和示例数据的示例脚本可以在./examples/
在围棋类别中,测试gwas分数是否超过3分(p值<;10^-3):
cd ./examples/ ../enrichme.py -M TopScores \ --feature_to_category example_gene_to_category.csv \ --feature_to_category_cols gene_id go_identifier \ --rod example_GWAS_result.csv \ --rod_cols chrom pos score \ --features example_gene_annotation.csv \ --feature_cols chrom start end gene_id \ --name minimal_test_TopScores \ --n_permut 10 \ --top_type threshold \ --top 3 \ --descending \ --max_dist 5000 \
对于每个基因,计算该基因内的最大gwas得分。然后,测试go分类中这些基因得分的平均值是否丰富:
cd ./examples/ ../enrichme.py -M Summary \ --feature_to_category example_gene_to_category_40_cats.csv \ --feature_to_category_cols gene_id go_identifier \ --category_to_description example_go_to_name.csv \ --category_to_description_cols go_identifier go_name \ --rod example_GWAS_result.csv \ --rod_cols chrom pos score \ --features example_gene_annotation.csv \ --feature_cols chrom start end gene_id \ --name minimal_test_Summary \ --feature_summary max \ --category_summary mean \
输入文件
- 特征到类别映射(输入参数–特征到类别)
此文件将遗传特征(通常是基因)映射到特征类别 比如基因列表。这可以是go术语或自定义的基因列表。 文件可以是制表符分隔(.tsv)或逗号分隔(.csv)
$head examples/example_gene_annotation.csv gene_id,go_identifier AT1G01010,GO:0005634 AT1G01010,GO:0006355 AT1G01010,GO:0003677 AT1G01010,GO:0007275 AT1G01010,GO:0003700 AT1G01010,GO:0043090 AT1G01010,GO:0006888 AT1G01020,GO:0016125 AT1G01020,GO:0016020
- 功能(输入参数–功能)
这个文件给出了特征的位置(例如基因) 整个基因组。通常这就是基因 注解。列pos给出了特性的开始。
$head examples/example_gene_annotation.csv chrom,start,end,gene_id 1,3631,5899,AT1G01010 1,5928,8737,AT1G01020 1,11649,13714,AT1G01030 1,23146,31227,AT1G01040 1,28500,28706,AT1G01046 1,31170,33153,AT1G01050 1,33379,37840,AT1G01060 1,38752,40944,AT1G01070 1,44677,44787,AT1G01073
- 整个基因组的得分(输入参数-rod)
这可能是snps和 与之相关的分数或p值。 rod代表参考顺序数据。
$head examples/example_GWAS_result.csv chrom,pos,score 1,3102,0.09305379 1,4648,0.30615359999999997 1,4880,0.35306350000000003 1,5975,0.9596856 1,6063,0.23715001 1,6449,0.019213928 1,6514,0.43630862 1,6603,0.23235813 1,6768,0.58977395
- [可选]将类别映射到类别描述(输入参数–类别描述)
这可能是一个csv,带有go category id和描述。
$head examples/example_go_to_name.csv go_identifier,go_name GO:0000001,mitochondrion inheritance GO:0000002,mitochondrial genome maintenance GO:0000003,reproduction GO:0042254,ribosome biogenesis GO:0044183,protein binding involved in protein folding GO:0051082,unfolded protein binding GO:0000006,high-affinity zinc uptake transmembrane transporter activity GO:0000007,low-affinity zinc ion transmembrane transporter activity GO:0003756,protein disulfide isomerase activity
输出
不同的模式提供不同的输出文件。主输出文件对所有模式都是通用的,称为<;name>;.pvals.tsv。这是一个排名表,最重要的是丰富的类别:
go_identifier out_of rank score_summary p_value benjamini_hochberg go_name GO:0000165 2000 1943 0.8731354255802085 0.02898550724637683 27.014492753623205 MAPK cascade GO:0000041 2000 1825 0.8348620634942308 0.08795602198900554 27.32500416458439 transition metal ion transport GO:0000160 2000 1800 0.9736749697560976 0.1004497751124438 23.404797601199405 phosphorelay signal transduction system GO:0000164 2000 1698 1.0469719100000001 0.15142428785607198 28.225487256371814 protein phosphatase type 1 complex GO:0000096 2000 1692 0.8680123230000001 0.15442278860569714 23.987006496751622 sulfur amino acid metabolic process GO:0000145 2000 1685 0.9976431777777778 0.15792103948025982 21.02605839937174 exocyst GO:0000159 2000 1562 0.9504652303750003 0.21939030484757627 25.558970514742636 protein phosphatase type 2A complex GO:0000156 2000 1558 0.9427544812820514 0.22138930534732637 22.92609250930091 phosphorelay response regulator activity
平行支架
有两种方法可以在paralle运行这个程序l.默认情况下,程序使用主机上可用的尽可能多的内核。这可以通过–ncpus选项进行控制。想要在计算集群的多个节点上并行的高级用户可以使用内置的map/reduce框架来自动合并多个独立运行的结果。请参见
examples/run_permute_reduce_examples.sh
举个例子。
更改日志
enrichme跟在semantic versioning后面。这个 使用稳定api的第一个版本将是1.0.0(很快)。在那之前,你 鼓励在依赖项中显式指定版本 工具,例如:
pip install enrichme==0.1.1
- 0.1.1初始发布。
历史
0.0.1
- 初始签入