##やりたいこと
NanoPlotツールをPyPIからダウンロードして、インストールする
PyPIとは?
インターネット上にあるPythonパッケージの貯蔵庫
https://pypi.python.org/pypi
##実行結果
% pip3 install NanoPlot
DEPRECATION: Configuring installation scheme with distutils config files is deprecated and will no longer work in the near future. If you are using a Homebrew or Linuxbrew Python, please see discussion at https://github.com/Homebrew/homebrew-core/issues/76621
Collecting NanoPlot
Using cached NanoPlot-1.38.1-py3-none-any.whl
Requirement already satisfied: python-dateutil in /usr/local/lib/python3.9/site-packages (from NanoPlot) (2.8.2)
Collecting kaleido
Using cached kaleido-0.2.1-py2.py3-none-macosx_10_11_x86_64.whl (85.2 MB)
Collecting pandas>=1.1.0
Using cached pandas-1.3.2-cp39-cp39-macosx_10_9_x86_64.whl (11.6 MB)
Collecting pysam>0.10.0.0
Using cached pysam-0.16.0.1.tar.gz (3.6 MB)
Collecting pyarrow
Using cached pyarrow-5.0.0-cp39-cp39-macosx_10_13_x86_64.whl (17.6 MB)
Collecting plotly>=4.1.0
Using cached plotly-5.2.2-py2.py3-none-any.whl (21.8 MB)
Collecting nanoget>=1.14.0
Using cached nanoget-1.16.1-py3-none-any.whl
Collecting scipy
Using cached scipy-1.7.1-cp39-cp39-macosx_10_9_x86_64.whl (32.8 MB)
Requirement already satisfied: numpy>=1.16.5 in /usr/local/lib/python3.9/site-packages (from NanoPlot) (1.21.2)
Collecting biopython
Using cached biopython-1.79-cp39-cp39-macosx_10_9_x86_64.whl (2.3 MB)
Collecting nanomath>=1.0.0
Using cached nanomath-1.2.1-py3-none-any.whl
Requirement already satisfied: Python-Deprecated in /usr/local/lib/python3.9/site-packages (from nanomath>=1.0.0->NanoPlot) (1.1.0)
Requirement already satisfied: pytz>=2017.3 in /usr/local/lib/python3.9/site-packages (from pandas>=1.1.0->NanoPlot) (2021.1)
Requirement already satisfied: six in /usr/local/lib/python3.9/site-packages (from plotly>=4.1.0->NanoPlot) (1.16.0)
Requirement already satisfied: tenacity>=6.2.0 in /usr/local/lib/python3.9/site-packages (from plotly>=4.1.0->NanoPlot) (8.0.1)
Building wheels for collected packages: pysam
Building wheel for pysam (setup.py) ... done
Created wheel for pysam: filename=pysam-0.16.0.1-cp39-cp39-macosx_11_0_x86_64.whl size=2723096 sha256=b40d087b736e7f1b7d83bba01eadb34c8778fe93802fdb64bb844e1fdd671ea7
Stored in directory: /Users/You/Library/Caches/pip/wheels/fb/96/5b/d62b12ccae437c41f0368bca424aa34b6d3f9fef4a38640edc
Successfully built pysam
Installing collected packages: pysam, pandas, biopython, scipy, pyarrow, plotly, nanomath, nanoget, kaleido, NanoPlot
DEPRECATION: Configuring installation scheme with distutils config files is deprecated and will no longer work in the near future. If you are using a Homebrew or Linuxbrew Python, please see discussion at https://github.com/Homebrew/homebrew-core/issues/76621
DEPRECATION: Configuring installation scheme with distutils config files is deprecated and will no longer work in the near future. If you are using a Homebrew or Linuxbrew Python, please see discussion at https://github.com/Homebrew/homebrew-core/issues/76621
DEPRECATION: Configuring installation scheme with distutils config files is deprecated and will no longer work in the near future. If you are using a Homebrew or Linuxbrew Python, please see discussion at https://github.com/Homebrew/homebrew-core/issues/76621
DEPRECATION: Configuring installation scheme with distutils config files is deprecated and will no longer work in the near future. If you are using a Homebrew or Linuxbrew Python, please see discussion at https://github.com/Homebrew/homebrew-core/issues/76621
DEPRECATION: Configuring installation scheme with distutils config files is deprecated and will no longer work in the near future. If you are using a Homebrew or Linuxbrew Python, please see discussion at https://github.com/Homebrew/homebrew-core/issues/76621
DEPRECATION: Configuring installation scheme with distutils config files is deprecated and will no longer work in the near future. If you are using a Homebrew or Linuxbrew Python, please see discussion at https://github.com/Homebrew/homebrew-core/issues/76621
ERROR: Could not install packages due to an OSError: [Errno 13] Permission denied: '/usr/local/LICENSE'
Consider using the `--user` option or check the permissions.
%
最後にエラーが出てますね。
ERROR: Could not install packages due to an OSError: [Errno 13] Permission denied: '/usr/local/LICENSE'
Consider using the `--user` option or check the permissions.
エラーメッセージによると--userオプションを使うか、実行権限を確認しろとのこと。
--userオプションについてヘルプを見てみる。
% pip3 install --help
・・・以下省略
--user Install to the Python user install directory for
your platform. Typically ~/.local/, or
%APPDATA%\Python on Windows. (See the Python
documentation for site.USER_BASE for full
details.)
--userオプションをつけるとパッケージがインストールされるディレクトリが違う。
user install では管理者権限の必要ないホームディレクトリ下の ~/.local下にパッケージがインストールされる。
※ちなみに--userオプションなしのpip installでは管理者権限が必要な /usr下にパッケージがインストールされる。
##エラーメッセージにある通りに--userオプションをつけて実行
インストールはうまくいった!
% pip3 install NanoPlot --user
Collecting NanoPlot
Using cached NanoPlot-1.38.1-py3-none-any.whl
Requirement already satisfied: scipy in /usr/local/lib/python3.9/site-packages (from NanoPlot) (1.7.1)
Requirement already satisfied: numpy>=1.16.5 in /usr/local/lib/python3.9/site-packages (from NanoPlot) (1.21.2)
Collecting nanoget>=1.14.0
Using cached nanoget-1.16.1-py3-none-any.whl
Requirement already satisfied: pysam>0.10.0.0 in /usr/local/lib/python3.9/site-packages (from NanoPlot) (0.16.0.1)
Requirement already satisfied: pandas>=1.1.0 in /usr/local/lib/python3.9/site-packages (from NanoPlot) (1.3.2)
Requirement already satisfied: plotly>=4.1.0 in /usr/local/lib/python3.9/site-packages (from NanoPlot) (5.2.2)
Requirement already satisfied: pyarrow in /usr/local/lib/python3.9/site-packages (from NanoPlot) (5.0.0)
Requirement already satisfied: nanomath>=1.0.0 in /usr/local/lib/python3.9/site-packages (from NanoPlot) (1.2.1)
Requirement already satisfied: python-dateutil in /usr/local/lib/python3.9/site-packages (from NanoPlot) (2.8.2)
Collecting kaleido
Using cached kaleido-0.2.1-py2.py3-none-macosx_10_11_x86_64.whl (85.2 MB)
Requirement already satisfied: biopython in /usr/local/lib/python3.9/site-packages (from NanoPlot) (1.79)
Requirement already satisfied: Python-Deprecated in /usr/local/lib/python3.9/site-packages (from nanomath>=1.0.0->NanoPlot) (1.1.0)
Requirement already satisfied: pytz>=2017.3 in /usr/local/lib/python3.9/site-packages (from pandas>=1.1.0->NanoPlot) (2021.1)
Requirement already satisfied: six in /usr/local/lib/python3.9/site-packages (from plotly>=4.1.0->NanoPlot) (1.16.0)
Requirement already satisfied: tenacity>=6.2.0 in /usr/local/lib/python3.9/site-packages (from plotly>=4.1.0->NanoPlot) (8.0.1)
Installing collected packages: nanoget, kaleido, NanoPlot
WARNING: The script NanoPlot is installed in '/Users/You/Library/Python/3.9/bin' which is not on PATH.
Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
Successfully installed NanoPlot-1.38.1 kaleido-0.2.1 nanoget-1.16.1
%
実行してみる。
% NanoPlot
zsh: command not found: NanoPlot
あれ、動かない。
よくみるとインストールの時、最後に警告メッセージがついてた。
WARNING: The script NanoPlot is installed in '/Users/You/Library/Python/3.9/bin' which is not on PATH.
Consider adding this directory to PATH
PATHが通っていないらいい。--userオプションをつけたからか。
エラーメッセージの通りにパスを通す。
% export PATH=/Users/You/Library/Python/3.9/bin:$PATH
動作確認。
% NanoPlot
usage: NanoPlot [-h] [-v] [-t THREADS] [--verbose] [--store] [--raw] [--huge] [-o OUTDIR] [-p PREFIX]
[--tsv_stats] [--info_in_report] [--maxlength N] [--minlength N] [--drop_outliers]
[--downsample N] [--loglength] [--percentqual] [--alength] [--minqual N]
[--runtime_until N] [--readtype {1D,2D,1D2}] [--barcoded] [--no_supplementary]
[-c COLOR] [-cm COLORMAP] [-f {png,jpg,jpeg,webp,svg,pdf,eps,json}]
[--plots [{kde,hex,dot} ...]] [--legacy [{kde,dot,hex} ...]] [--listcolors]
[--listcolormaps] [--no-N50] [--N50] [--title TITLE] [--font_scale FONT_SCALE]
[--dpi DPI] [--hide_stats]
(--fastq file [file ...] | --fasta file [file ...] | --fastq_rich file [file ...] | --fastq_minimal file [file ...] | --summary file [file ...] | --bam file [file ...] | --ubam file [file ...] | --cram file [file ...] | --pickle pickle | --feather file [file ...])
NanoPlot: error: one of the arguments --fastq --fasta --fastq_rich --fastq_minimal --summary --bam --ubam --cram --pickle --feather is required
できた!
以上です。
###参考にした記事
https://pyteyon.hatenablog.com/entry/2019/05/24/003924