数据可视化分析一般首选交互式环境 (如 Web 和 R)。那如果我们不想安装 R,同时不去用浏览器的情况下,我们有没有办法来绘制各种复杂的数据可视化图形?
答案是肯定的,一般比较通用的解决方案是通过远程网页服务的 RESTful APIs 或 Websocket 服务完成。
今天我们将分享最新发布的工具之一
hctl
(https://hiplot.com.cn/docs/download/#hctl):基于 Hiplot 科研绘图网站 和 Golang 开发的命令行绘图工具。
hctl 是一个支持跨平台运行的命令行工具(单一执行文件),它可以让用户在命令行环境下使用部分 Hiplot 网站的绘图功能(命令行环境下支持至少 70 种绘图功能)。
https://hiplot.com.cn/download/hctl/v0.1.0/hctl_0.1.0_Linux_64-bit.tar.gz
https://hiplot.com.cn/download/hctl/v0.1.0/hctl_0.1.0_Linux_32-bit.tar.gz
https://hiplot.com.cn/download/hctl/v0.1.0/hctl_0.1.0_Darwin_64-bit.tar.gz
https://hiplot.com.cn/download/hctl/v0.1.0/hctl_0.1.0_Windows_64-bit.tar.gz
https://hiplot.com.cn/download/hctl/v0.1.0/hctl_0.1.0_Windows_32-bit.tar.gz
后续可以在 Download | Hiplot
获取最新版本。
https://hiplot.com.cn/docs/zh/download/
根据你的操作系统下载对应的压缩包并解压缩后,你将可以得到 hctl 的可执行文件:Linux 和 Mac OSX 为
hctl
,Windows 为
hctl.exe
。
同时,为了方便进行测试,我们提供了热图的示例输入数据:demo.tar.gz。进入 hctl 可执行文件所在目录下载并解压该文件即可。
-
config[2-3].json (-c 参数的输入)
-
-
其中 params.json 为 Hiplot 网站直接导出的结果,而 config.json 文件则是将其中的数据表单独提取出来后的格式(方便用户查阅和修改数据表)。
countData.txt / sampleInfo.txt / geneInfo.txt 分别为热图绘制所需的表达值信息、样本信息、基因信息。其中表达值信息为必须,其他为可选输入。
hctl 目前提供两个子命令进行操作(后续将不断增加其他子命令):
在使用 hctl 进行绘图之前,所有用户都需要使用
hctl login
命令获得 Hiplot 的服务授权(授权信息将保存至 ~/.config/hiplot/login.json)。获得授权后,即可使用 hctl plot 命令进行后续绘图任务。
hctl 的输入文件为一个 JSON 格式的参数文件和/或一个/多个数据表,并主要分为以下四种文件输入模式:
输入数据的组合为 config.json + countData.txt + sampleInfo.txt + geneInfo.txt)。其中 config.json 文件不包含任何远程文件路径。
1hctl plot -c _demo/heatmap/config.json -t heatmap -d _demo/heatmap/countData.txt,_demo/heatmap/sampleInfo.txt,_demo/heatmap/geneInfo.txt -o /tmp/hiplot-pure-data-mode
仅需要输入 config2.json。其中 config2.json 包含了三个远程文件路径(表达数据、样本信息、基因注释)。
1hctl plot -c _demo/heatmap/config2.json -t heatmap -o /tmp/hiplot-pure-remote-data-mode
需要输入 config3.json + countData.txt + geneInfo.txt,其中 config3.json 中包含了远程 sampleInfo.txt 的路径信息。
1hctl plot -c _demo/heatmap/config3.json -t heatmap -d _demo/heatmap/countData.txt,,_demo/heatmap/geneInfo.txt -o /tmp/hiplot-mixed-mode
1hctl plot -p _demo/heatmap/params.json -t heatmap -o /tmp/hiplot-params-mode
-
-t 工具名(如 heatmap、pca、tsne,与 Hiplot 网址一一对应)
-
-m 模块名(可选 basic 和 advance)
-
-
-
-
--print-links 输出结果文件链接(默认不输出)
-
-
-k 任务名,默认使用配置文件中对应字段,如果无则随机生成
Linux 用户可以执行以下代码块所示命令,一键完成 hctl 的安装和功能测试。除热图外的绘图参数文件可以在 Hiplot 网站上进行导出(后续将提供命令行方式导出)后进行测试。
1## Linux 64 Demo
2mkdir /tmp/hiplot
3cd /tmp/hiplot
4wget https://hiplot.com.cn/download/hctl/v0.1.0/hctl_0.1.0_Linux_64-bit.tar.gz
5wget https://hiplot.com.cn/download/hctl/_demo.tar.gz
6
7tar -xzvf hctl_0.1.0_Linux_64-bit.tar.gz
8tar -xzvf _demo.tar.gz
9
10./hctl login
11
12# only input data files
13./hctl plot -c _demo/heatmap/config.json -t heatmap -d _demo/heatmap/countData.txt,_demo/heatmap/sampleInfo.txt,_demo/heatmap/geneInfo.txt -o /tmp/hiplot-pure-data-mode
14
15# only use remote files
16./hctl plot -c _demo/heatmap/config2.json -t heatmap -o /tmp/hiplot-pure-remote-data-mode
17
18# mixed usage
19./hctl plot -c _demo/heatmap/config3.json -t heatmap -d _demo/heatmap/countData.txt,,_demo/heatmap/geneInfo.txt -o /tmp/hiplot-mixed-mode
20
21# hiplot exported param
22./hctl plot -p _demo/heatmap/params.json -t heatmap -o /tmp/hiplot-params-mode
绘图任务完成后即可在对应的结果输出目录找到绘图结果文件(如 PDF/PNG/Rdata 格式):
热图示例输出