Jupyter和ipyrad API¶
ipyrad API是 jupyter-notebook 的可复写的内置工具。本节内容将介绍如何运行 jupyter-notebook ,如此读者便可以ipyrad API 运行分析。如何运行ipyrad API的指令(在生成notebook以后)在此:(ipyrad API)。一个完整的案例:(马先蒿属 API)。
Jupyter-notebook 能够允许读者运行可交互的代码(记录于可嵌入式的Markdown笔记本中),然后产生一个能够共享和可执行文件。在笔记本中交互式地运行 ipyrad 在笔记本或工作站中操作更简便,但在HPC上会更复杂一些,但阅读本指南后会发现其实也不难(🙄)。若这是读者第一次使用jupyter,最简单的开始方式是在笔记上尝试而非服务器。在服务器上运行的情况下,我们以下的案例包含了任务提交至SLURM,但是其他任务提交的系统都是差不多的。
以下是本节中用到的工具:¶
- ipyrad (用来组装RAD-seq)
- jupyter-notebook (运行Python代码的环境)
- ipcluster (用来在笔记本内平行编写代码)
- ssh (用来连接在HPC上运行的笔记本)
在本地使用jupyter-notebook¶
在本地电脑上(例如,笔记本)运行jupyter-notebook时在终端执行以下命令。这将会打开一个本地笔记本服务器,和默认的浏览器窗口。读者在停止使用笔记本之前不需要再对其有什么操作。现在可以讲笔记本服务器通过网页浏览器进行连接。读者应该能够看到一个网页在打开笔记本的路径显示了文件和文件夹。在右上方选择 <new> ,然后选择 <Python 2>,开始一个新的Python笔记本。
jupyter-notebook
服务器远程使用jupyter-notebook¶
由于jupyter是通过发送和接收信息工作的(即,其为一个服务器),因此,即使该服务器是通过远程控制的,通过个人的浏览器也能很容易地使用jupyter notebook,例如,计算机群。可通过加密提高安全性。
## 通过远程运行此命令 (即, the cluster)
## 输入自行设置的密码
## 连接时将进行加密并储存密码
jupyter-notebook password
## 通过远程运行此命令 (即, the cluster)
jupyter-notebook --no-browser --ip=$(hostname -i) --port=9999
当notebook开始工作时将会输出以下内容:读者所连接的服务器IP地址(类似10.125.0.25),读者使用的端口号(例如9999,然而,若某个端口已经被使用了,将需要重新选择一个端口,请检查一下输出结果)。读者需要搜集以上两个信息以进行下一步操作,用来替代以下的括号中的值。
## 在本地电脑中运行此命令(即, 读者的电脑)
ssh -N -L <port>:<ip-address>:<port> <user>@<login>
## 举例:
ssh -N -L 9999:10.115.0.25:9999 deren@hpc.columbia.edu
通过加载网址 localhost:<port> 和端口就能够通过本地计算机连接服务器上的jupiter notebook了。