Py学习  »  Python

Python初体验之你可能需要Jupter的Notebook

生信技能树 • 10 月前 • 289 次点击  

我们前些天的推文:简单绘制一个3D效果的饼图吧,对比了R语言和Python的可视化效果,成功的吸引了不少小伙伴入坑Python编程语言,而且它确实是在单细胞数据处理领域占比有超越R的趋势,所以有必要开辟一个Python专辑啦。然后呢,开始学习一个编程语言,我们肯定是首先得安装好它,比如前面我们讲解了Python的安装,它多个版本的差异以及管理,详见:Python初体验之弄清楚版本差异和如何安装管理

如果是在R编程语言,我们会推荐大家写rmarkdown,交互式动态呈现每次代码以及它的运行结果,一步到位输出HTML或者PDF格式的数据分析报表,非常方便。在Python编程语言里面,能实现类似的功能的就是Jupter的Notebook。

如何安装Jupter的Notebook

无论是Windows还是MacOS都可以通过专业Python IDE(PyCharm) 里面的终端窗口可以使用pip的install命令来安装任意成熟的Python模块,而Jupter的Notebook就是一个模块哦,只需要你电脑已经是配置好了Python的编程语言环境即可,然后就如下所示设置合理的镜像来加快你的模块安装速度!

 pip install jupyter -i https://pypi.tuna.tsinghua.edu.cn/simple 

上面的代码基本上不会出错,而且你多次运行也不会重复安装。安装成功了之后这个jupyter 就是在我们的终端的一个命令行工具软件啦,如下所示:

jupyter --help 
usage: jupyter [-h]  

Jupyter: Interactive Computing

positional arguments:
  subcommand     the subcommand to launch

options:
  -h, --help     show this help message and exit
  --version      show the versions of core jupyter packages and exit
  --config-dir   show Jupyter config dir
  --data-dir     show Jupyter data dir
  --runtime-dir  show Jupyter runtime dir
  --paths        show all Jupyter paths. Add --json for machine-readable format.
  --json         output paths as machine-readable json
  --debug        output debug information about paths

Available subcommands: console dejavu events execute kernel kernelspec lab labextension labhub
migrate nbconvert notebook qtconsole run server troubleshoot trust

可以看到这个jupyter软件有一系列大家的subcommands,我们最常用的就是输入jupyter notebook即可在浏览器中自动打开notebook啦,就是跳转到我们的电脑的浏览器里面然后自动打开了:

http://localhost:8888

接下来就是大量的熟悉这个界面啦,可以自己慢慢研读Jupyter官方网址:

  • https://jupyter.org/

以及配套的IPython官方网址:

  • https://ipython.readthedocs.io/en/stable/index.html

这些都是小技巧,很难图文并茂给大家一个个演示,比如Jupyter Notebook快捷键大全都是靠实战来慢慢记忆的。

jupyter的一系列魔法命令

首先呢,前面我们输入jupyter notebook即可在浏览器中自动打开notebook啦,然后这个notebook就可以新建,这样的话浏览器里面的网页链接就变成了:notebooks/Untitled.ipynb

这个notebook就是交互式的可以练习你的Python编程哦,而且它里面的输入代码如果前面加上了感叹号而且是一个合法的系统命令(一般来说是Linux系统的各种命令啦),也是可以有运行结果,如下所示:

合法的系统命令 

如果我们是Windows电脑通常是可以安装git软件它提供一系列系统命令,如果是MacOS它本身就类似于Linux所以也自带很多系统命令。但是这些仍然是不够的,还有一些魔法命令,官方文档:

  • https://ipython.readthedocs.io/en/stable/interactive/magics.html

其实它来源于IPython,但是我们默认安装Jupyter的时候IPython模块也是会被安装。这个时候主要是靠百分号的前缀来运行,可以使用%lsmagic:查看所有魔法命令。然后呢使用%time?的语法结构查看具体的魔法命令的帮助文档:查看time魔法命令帮助文档。

关于 .ipynb后缀的文件

现在越来越多文章采用Python编程语言完成全部的数据分析,尤其是单细胞领域,比如文章《Deconstruction of rheumatoid arthritis synovium defines inflammatory subtypes》:Nature 2023. doi: 10.1038/s41586-023-06708-y,就是如此,它代码公开在github里面,链接是:

  • https://github.com/Immunogenomics/RA_Atlas_CITEseq/

可以看到里面有大量的 .ipynb后缀的文件,如下所示:

03-13-23_R4RA_CTAPclassificatin_Code.ipynb
2021-10-29_mapping_analysis.ipynb
CTAPs_predict_flow.ipynb
all_celltype_reference.html
all_celltype_reference.ipynb
define_CTAP_name.ipynb
fan_fibro_CNA.ipynb
histology_fragment_densities_analysis.ipynb
myeloid_visualization_pseudobulk.ipynb
tcell_visualization_pseudobulk.ipynb
test_theta_LISI.ipynb
visualize_CNA_res.ipynb

.ipynb 文件是 Jupyter Notebook 的文件格式,它包含了代码、文本、图表等元素,以及交互性的代码块。

  • 如果你已经安装了 Jupyter Notebook,你可以在终端或命令提示符中导航到包含 .ipynb 文件的目录,然后运行命令 jupyter notebook
  • 在 Jupyter Notebook 界面中,你可以看到文件浏览器,通过点击文件名来打开 .ipynb 文件。

.ipynb 文件是一种方便的协作格式,多人可以编辑和注释同一个文件,共同进行项目工作。它主要是包含下面的四个单元:

  1. 代码单元(Code Cells):
  • 在代码单元中,你可以输入和运行代码。点击代码单元,然后按 Shift + Enter 运行代码。你还可以使用工具栏中的按钮运行、停止、插入、删除代码单元等。
  • 文本单元(Markdown Cells):
    • 在文本单元中,你可以使用 Markdown 语法编写文本、标题、列表等。点击文本单元,然后按 Shift + Enter 渲染 Markdown 格式。
  • 图表和输出:
    • 执行代码单元后,输出结果(如图表、文本输出)将会显示在代码单元下方。
  • 保存和导出:
    • 使用 Jupyter Notebook 界面中的保存按钮或快捷键保存修改。你还可以导出 .ipynb 文件为其他格式,如 HTML、PDF 等。

    进阶到JupyterLab

    如果是在R编程语言,大家写rmarkdown通常是在自己的电脑即可,如果是有服务器提供给多个用户就需要rstudio的server来管理大家。同样的,在Python编程语言里面的,大部分人写Jupter的Notebook也是在个人电脑,但是也可以使用JupyterLab,它是 Jupyter的Notebook的升级版,可以更灵活地管理和编辑 .ipynb 文件。

    • JupyterLab的官网
      • https://github.com/jupyterlab/jupyterlab-desktop
      • https://hub.fastgit.org/jupyterlab/jupyterlab-desktop
    • 在官网可以看到它提供了多种操作系统的对应的软件下载链接哦:
      • Debian, Ubuntu Linux Installer
      • Red Hat, Fedora, SUSE Linux Installer
      • macOS Intel Installer, macOS Apple silicon Installer
      • Windows Installer
    • 安装:必须要先装Node.js, 然后再安装Jupyter Desktop
      • 先安装NodeJs:https://nodejs.org/en/download/,根据不同操作系统来下载Node的长期稳定版LTS选择最新版即可,下载后安装Node环境。
      • 下载Jupyhter Desktop,是可安装文件,直接点击安装可以

    值得一提的是如果你安装了Jupyter Desktop而且习惯了它,其实大概率就没必要使用JetBrains公司开发的专业Python IDE(PyCharm)。


    如果大家已经安装配置好了自己的Python环境,就可以把前些天的推文:简单绘制一个3D效果的饼图吧里面的Python可视化代码敲一下,如果是Python编程经验充足,也可以直接看看我们在《单细胞天地》的Python实战笔记哈:

    Python图文复现2022

    scanpy官方教程2022

    如果你需要Python编程书籍

    看了看主流的平台差不多是图灵社区整理的最齐全了,详见:年度书单盘点 | 豆瓣高分,值得反复刷的Python好书

    Python编程书籍


    文末友情宣传

    强烈建议你推荐给身边的博士后以及年轻生物学PI,多一点数据认知,让他们的科研上一个台阶:

    生信Python初体验1



    Python社区是高质量的Python/Django开发社区
    本文地址:http://www.python88.com/topic/166230
     
    289 次点击