python gtf工具包(pygtftk)包:轻松处理gtf文件
pygtftk的Python项目详细描述
python gtf工具包(pygtftk)
python gtf toolkit(pygtftk)包旨在简化gtf/gff2.0文件(基因传输格式)的处理。它当前不支持gff3文件格式。pygtftk包与python>;=3.5,<;3.7兼容,并依赖于用c编写的函数库libgtftk。
该软件包附带一组unix命令,可以通过gtftk程序进行访问。gtftk程序提出了几个原子工具来过滤、转换或提取gtf文件中的数据。
新发布的命令 ologram(使用monte carlo进行基因组区域重叠分析) 可用于计算用户提供区域(bed格式)之间的重叠统计信息和来自以下位置的注释:
- GTF中包含的以基因为中心的特征(如外显子、启动子、终止子等)。
- 标记有内置键/值的gtfs中的区域(例如,检查由ensembl gtfs提供的峰值下降区域的"gene_biotype"。
- 与通过gtftk cli的自定义键/值相同(例如,向一个基因添加一个数值,并将该值离散化以创建基因类)。
- 用户提供的床位文件。
使用基本的插件体系结构,可以轻松地扩展gtftk unix命令集。
所有这些方面都包含在帮助部分中;请参见 文档
虽然gtftk unix程序附带了数百个单一的和功能性的测试,但它仍处于积极的开发中,因此可能会遇到一些有待发现的错误。请随时在github存储库的问题部分发布任何问题或所需的增强功能。
文档
有关最新版本的文档可在github页面中找到。
有关ologram(使用蒙特卡罗进行基因组区域分析的重叠)的文档可以在文档的"ologram"部分找到。
注意: 将不维护已读的文档版本,并将在不久的将来关闭。考虑到readthedoc服务器提供的计算时间,不可能维护动态文档(使用sphinx/sphinxcontrollib程序输出)是这一选择的动机。
系统要求
根据gtf文件的大小,pygtftk和gtftk可能需要大量内存来执行选定的任务。建议使用带有16go的计算机,以便在使用来自ensembl发行版(例如91)的人工注释时能够传送多个命令。使用群集时,请考虑保留足够的内存。
目前,gtftk程序已在以下时间进行测试:
< Buff行情>- Linux(ubuntu 12.04和18.04)
- OSX(约塞米蒂、埃尔卡皮坦、莫哈韦)。
安装
通过Conda软件包建筑安装
通过conda安装应该是首选安装解决方案。pygtftk包和gtftk命令行工具需要具有某些版本约束的外部依赖项。
如果您的系统上没有Conda,请首先从官方网站安装miniconda,并确保按以下顺序设置了Bioconda和Conda Forge频道。
conda config --add channels defaults conda config --add channels bioconda conda config --add channels conda-forge
然后,您只需在pygtftk自己的隔离环境中安装并激活它即可。
conda create -n pygtftk -c bioconda pygtftk conda activate pygtftk
通过setup.py安装
这不是安装的首选方式。尽可能选择康达。我们观察到一些依赖关系问题仍然需要解决。
git clone git@github.com:dputhier/pygtftk.git pygtftk cd pygtftk # Check your Python version (>=3.5,<3.7) pip install -r requirements.txt python setup.py install
通过PIP安装
先决条件
同样,这不是安装的首选方式。请尽可能选择康达。我们观察到一些依赖关系问题仍然需要解决。
运行PIP
通过PIP进行安装的步骤如下。
pip install -r requirements.txt pip install pygtftk # It is important to call gtftk -h # to look for plugins and their # CLI in ~/.gtftk # before going further gtftk -h
测试
运行功能测试
为了确保与预期结果的一致性,已经开发了许多功能测试。这并不排除错误可能隐藏在整个代码中…为了检查安装是否正常,您可能对运行功能测试感兴趣。可以使用-p/–plugin tests参数访问gtftk命令中声明的所有功能测试的定义:
gtftk -p
要运行测试,您需要安装bats(bash自动测试系统)。安装BATS后,运行以下命令:
# The tests should be run in the pygtftk git # directory because several tests contains references (relative path) # to file enclosed in pygtftk/data directory. gtftk -p > gtftk_test.bats bats gtftk_test.bats
注意,或者您可以使用makefile直接调用测试。
make clean make test
或使用以下命令并行运行测试:
make clean make test_para -j 10 # Using 10 cores
运行单元测试
使用doctests实现了几个酉测试。您可以使用nose通过以下命令行运行它们:
make nose