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

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

推荐PyPI第三方库


热门话题
java爬虫获取外部网站搜索结果   java Bluestack未连接到eclipse   java如何从ConstraintViolationException Hibernamte获取数据库字段名   HttpResponse HttpResponse=httpClient引发java运行时错误。执行(httpPost);   Jama中矩阵的java点积和叉积   java有什么方法可以唯一地识别可扩展设备吗?   java我需要用*来写我的名字,但我不断遇到一个错误,我对编码很陌生   java变量是在内部类中访问的。需要被宣布为最终决定。但我不想宣布最终结果   java如何缩短base64图像字符串,Android?   JavaSpringMVC:计划方法不自动触发   图形学习Java 2D API的好资源是什么?   如何在java中对方法进行排队   java JavaFX多行   java Selenium无法在[链接]上找到基于CSS元素的密码字段元素http://www.cartasi.it/gtwpages/index.jsp   Java中的equals()和hashCode()契约   软删除情况下的java Hibernate二级缓存   java为什么这段代码要两次调用这些方法?