FAQ - nibb-unix/gitc202402-unix GitHub Wiki
最近のmacOSでターミナル.appを使用すると、シェルが zsh になります。このままHomebrewのインストールはできるのですが、brewコマンドでPython をインストールすると、Python3 での参照先がズレてしまいます。このため、"pip3 -V" を実行してもエラーがでます。
pip3 -V
Traceback (most recent call last):
File "/Library/Developer/CommandLineTools/usr/bin/pip3", line 6, in <module>
from pip._internal import main
File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.8/lib/python3.8/site-packages/pip/_internal/__init__.py", line 40, in <module>
...(以下エラーメッセージ)
これを避けるためには、pip3 の実行を /usr/local/bin/pip3 から直接実行するか、 一旦シェルを bash にします。 pip3 -V を実行して、バージョンが表示されることを確認してください。
直接実行する
% /usr/local/bin/pip3 -V
または シェルをbashにしてから pip3を実行する。
% bash
The default interactive shell is now zsh.
To update your account to use zsh, please run `chsh -s /bin/zsh`.
For more details, please visit https://support.apple.com/kb/HT208050.
bash-3.2$ pip3 -V
pip 21.3.1 from /usr/local/lib/python3.9/site-packages/pip (python 3.9)
確認できたら、(zsh) "/usr/local/bin/pip3 install HTSeq" または (bash)"pip3 install HTSeq" を実行してみてください。pipのバージョンが最新でないという旨の警告が出ますが、htseqのインストール自体は success で終了します。 htseq-count -h を実行して、usageが表示されることを確認してくみてください。
- 実は現在のUNIXでは、パスの設定が必要な場面はほとんどない。コマンドサーチパスの考え方は2つあって、
- パスの通った場所(ディレクトリ)にプログラムを置く
- プログラムを置いた場所(ディレクトリ)にパスを通す
動くという点ではどちらでも構わないが、1. の方法が一般的であり、プログラムを正しくインストールすれば、慣例的にパスの通った場所にプログラムが置かれるはずである。 condaなどを用いる場合も、インストール最後に .bash_profile
にcondaのプログラムが入ったディレクトリへのパスについて追加書きをするためのコマンドが現れて、それを実行すればパスが通るはず。.bash_profile
を直接手で編集する方法は、2日目のエディタを履修しないとできないため、中途半端な説明になってしまった。
- cat コマンドで複数のファイルを指定し、出力先をリダイレクト「>」でファイル名にすれば、複数のファイルを結合することができる。
~/data/1_unix/exercise/
にある「HUMAN」を含む fasta ファイルを結合して all_human.fasta というファイルを作成する。
cd ~/data/1_unix/exercise
cat *_HUMAN.fasta > all_human.fasta
- コピーしたいディレクトリ名の最後に「/」をつけると、そのディレクトリ内のファイルがコピーされ、ディレクトリそのものはコピーされない
cd ~/data/1_unix
mkdir unixtest
cp -r fastq unixtest
ls unixtest
fastq
cp -r fastq/ unixtest ### fastq ディレクトリ内のファイルが unixtest 内にコピーされる
ls unixtest
CFT_mpos_1.fastq CFT_urine_2.fastq MG_mpos_3.fastq
CFT_mpos_2.fastq CFT_urine_3.fastq MG_urine_1.fastq ...
まず、brew と Miniconda ではその性質が異なります。 Miniconda とは、Anaconda の縮小版であり、本家 Anaconda とは、Python およびそのパッケージを管理するものです。Python 環境を整えるために Anaconda はあります。 Homebrew は、Python に限らず、Mac にあらゆるアプリケーションをインストールするものです。必要に応じて使い分けてください。筆者の Python 環境に関する推奨は conda よりも 「pyenv で Python 本体のバージョンを管理して、Python パッケージは pip でインストールする」です。
-
~/data/1_unix/fastq
内で、「MG」で始まり「mpos」を含まず、.fastqで終わるファイルのリスト
ls MG_[!mpos]*.fastq
MG_urine_1.fastq MG_urine_2.fastq MG_urine_3.fastq
- Control-D はコマンドへの「入力の終わり」 (正確にはファイルの終わり、EOF = End Of File) コマンドの途中で入力待ちの状態に「入力終了」を告げる
- Control-C は実行中のプロセスに割り込みシグナルを送ってプロセスを終了させる
- 圧縮アルゴリズムが異なる。gzipは DEFLATEアルゴリズム、 bzip2は BURROW-WHEELER変換アルゴリズムが用いられている。
- 一般的にbzip2のほうが圧縮率が高く、変換時間がより長くかかる。
- テキスト形式のファイルにはgzipのほうが効率がよいと言われている。
参考) https://askanydifference.com/difference-between-gzip-and-bzip2-with-table/
- 「行の名前」として使われた列はデータフレームの変量としては取り除かれる。データではない列の名前も必要なくなるので消える
- "新しいスクリプト (Ctrl + N)"で "カーソル行または選択中のRコードを実行 (Ctrl + R)"
- 括弧の数が合わないなどの理由でコマンドが完結していないことを示すので、追加の 「括弧とじる」を入力してコマンドを完結させるか、Escapeキーを入力して打ち切ってから入力し直して下さい。
- 5_NGS ディレクトリをホームディレクトリにコピーし、そこから開いてください。コマンドラインからコピーする場合は
cp -r ~/Desktop/gitc/data/5_NGS ~/