Rhtslib 1.28.0
Rhtslib是一个R包,提供CHTSlib
用于高通量序列数据分析的库。该库提供了用于在SAM/BAM/CRAM序列文件和VCF/BCF2变体文件中创建、索引、操作和分析数据的api。看到HTSlib网站获取完整的详细信息和文档。
的Rhtslib这个包主要是对那些想在自己的包的C代码中使用HTSlib工具的2021欧洲杯体育投注开户其他R包的开发人员有用。
包含的HTSlib版本在包加载时显示,但用户也可以通过调用直接查询HTSlib版本Rhtslib::: htsVersion ()
在R会话中。这个包的当前版本是1.7。
通过HTSlib作者发布的小版本来更新包含的HTSlib版本。如果您注意到包含的HTSlib比当前的小版本的HTSlib更老,请联系Rhtslib维护者。
使用它有几个优点Rhtslib
,而不需要显式的用户系统依赖htslib
直接。
Rhtslib
这意味着您的用户(并不总是老练的系统管理员)不需要手动安装他们自己的库。htslib
,这样作为开发人员的您就可以依赖于特定功能(和bug !)的存在,而不是编写代码来管理不同的库版本。看到Rsamtools
包的编译和链接的包的示例Rhtslib
.
为了让C/ c++编译器在安装包期间找到HTSlib头文件(以及Windows上的zlib头文件),你必须添加Rhtslib
而且zlibbioc
到链接
它的领域描述
文件,例如,
链接到:Rhtslib, zlibbic
注意,从R 3.0.2开始链接
值可以包括版本规范,例如:链接到:Rhtslib (>= 0.99.10)
.
在C或c++代码文件中,使用标准技术,例如:# include“htslib / hts.h”
.头文件可用于阅读(在R会话中输入)
系统。文件(包= " Rhtslib”,“包括”)
## [1] "/tmp/RtmpcMdpzw/Rinstd4c6e54339db/Rhtslib/include"
中包含的HTSlib来编译和链接你的包Rhtslib,你必须包括一个src / Makevars
文件。
创建一个src / Makevars
使用以下行文件
RHTSLIB_LIBS=$(shell "${R_HOME}/bin${R_ARCH_BIN}/Rscript" -e \ 'Rhtslib::pkgconfig("PKG_LIBS")') RHTSLIB_CPPFLAGS=$(shell "${R_HOME}/bin${R_ARCH_BIN}/Rscript" -e \ 'Rhtslib::pkgconfig("PKG_CPPFLAGS")') PKG_LIBS=$(RHTSLIB_LIBS) PKG_CPPFLAGS=$(RHTSLIB_CPPFLAGS)
请注意,$(壳……)
是GNU的make语法,所以你应该添加GNU使
到SystemRequirements
字段描述
你的包的文件,例如:
系统要求:GNU制作
我们使用的原因$(shell echo…)
而不是反节拍(例如:“回声…”
)是因为后者会导致问题,在评估之后,PKG_LIBS
和/或PKG_CPPFLAGS
包含包含空格的路径。
如果您的包需要添加到PKG_LIBS美元
变量,通过添加PKG_LIBS = $ (RHTSLIB_LIBS)
线,如
PKG_LIBS=$(RHTSLIB_LIBS) -L/path/to/foolib -lfoo
评论: #这可能会导致问题,例如,当的' head '节点评论: #一个集群通过一个符号链接来模拟集群节点评论: # Rhtslib的安装目录。使用评论: #环境变量RHTSLIB_RPATH
解决这个问题的方法是评论: #设置为集群节点可访问的路径。
Rhtslib
在Linux和Mac OS X平台上提供HTSlib的静态和动态库版本,但在Windows上只有静态版本。上面的过程将链接到所有平台上HTSlib的静态库版本。