お久ぶりです!しゅるれです!
今回のタイトルにある「次世代シークエンサー DRY解析教本 改訂第2版_勉強の足跡」シリーズでは、『次世代シークエンサー DRY解析教本 改訂第2版』の実践編をWSL2上にUbuntuをインストールしてあるPCで一通り実行できるを環境を構築することを目的として、それを達成するまでに勉強した事や構築方法を掲載していきます!
今回は、実践編1「0から始める疾患ゲノム解析 ver2」のNGS解析を行うときに使ったコマンドと、その仕組みの簡易まとめを下記に記載します!
具体的には、ngsdat2のDiseaseGenomeMainの中にあるshファイルに記載されていたコマンドについて調べ、調べた先のサイトからコマンドの仕組みをコピペの形でまとめた物が記載されています!
今回は「010_download-ucsc.sh」から「020_concatinate.sh」の間で、勉強したコマンドです!
何か気になった事がありましたら、連絡いただけると嬉しいです!
よろしくお願いします!
[010_download-ucsc.shの中]
・shファイル
shファイルとは、LinuxなどのUNIX系OSで用いられる
ファイルの一つで、シェルスクリプトを記録したもの。
シェル上でコマンドを組み合わせた簡易なプログラムを
実行させることができる。
$:変数の展開。${変数}のように、
ドルマークの次に続く括弧の中に変数を入れる。
(バックスラッシュ):\は行の継続(この行と次の行をつないでから実行)
←シェルスクリプト
シェルスクリプトとは、OS(オペレーティングシステム)を操作するための
シェル上で実行できる簡易なプログラミング言語(スクリプト言語)。
また、そのような言語によって書かれた、複数のOSコマンドや制御文などを
組み合わせた簡易なプログラム。
一般的にはLinuxなどUNIX系OSのシェルで実行できるものを指す。
←シェル
シェルとは、コンピュータのOS(オペレーティングシステム)を
構成するソフトウェアの一つで、利用者からの操作の受け付けや、
利用者への情報の提示などを担当するもの。
シェルには、「sh、bash、csh、tcsh、ksh、zsh」などさまざまな種類があり、
Bシェル系とCシェル系に分けることができる。
転じて、OS以外のソフトウェアについても、その操作や表示を
担当する機能やソフトウェア部品などのことをシェルと呼ぶことがある。
・mkdir -p
「mkdir ディレクトリ名」でディレクトリを作成、
「rmdir ディレクトリ名」で空のディレクトリを削除できる。
-p --parents 必要に応じて親ディレクトリも作成する
・pushd
pushdコマンドで移動すると履歴がスタックに残り、
popdコマンドで簡単に戻ってくることができる。
cdコマンドで移動すると履歴が残らず、元のフォルダーへ戻るのが面倒。
cdを利用する場合、元のフォルダーへ戻るには、元の場所を憶えておいて、
「cd 元の場所」というコマンドを実行しなければならない。
・curl -o
curl コマンドは様々な通信プロトコルで
データの送受信を行うことができるコマンド。
よく使われる方法としては、Web サイトへ http リクエストを
送信してコンテンツを表示する、等がある。
また様々なオプションを指定する事でデータ取得時の条件や
取得する情報を変える事ができる。
-o:ローカルにダウンロード( -O --remote-name )
出力ファイル名を指定( -o --output )
・mv
「mv」は、ファイルやディレクトリを移動したり、
リネームしたりするコマンド。
「mv ファイル 移動先ディレクトリ」とすると、
ファイルが指定したディレクトリに移動される。
異動先にファイル名を指定した場合は、
「ファイルからファイルへの移動=リネーム」となる。
この場合、既存のファイルを指定すると「上書き」となる。
・popd
pushdコマンドで移動すると履歴がスタックに残り、
popdコマンドで簡単に戻ってくることができる。
[020_concatinate.shの中]
・cat
catコマンドとは、主にLinuxなどのUNIX系OSで標準的に使用される
コマンドおよびプログラムの一つで、標準入力から流れてきたデータを
そのまま標準出力に流し込むもの。“cat” は “concatenate” (連結させる)の略。
複数の対象を指定すると、記述した通りの順番に連結して出力する。
例えば、「cat foo.txt bar.txt>baz.txt」のように
複数のファイルと出力のリダイレクト先を指定すると、
入力ファイルを出現順に連結してリダイレクト先に指定したファイルに書き出すことができる。
・../
「‥」:1つ上の階層のディレクトリ
「/」:ルートディレクトリ。またはディレクトリ同士の上位・下位の関係
ここまで見てくださって、ありがとうございます!
実践編1「0から始める疾患ゲノム解析 ver2」についてはWSL2-Ubuntu上で実行できる環境を構築することが出来ているのですが、そのやり方を改めて文章に書き留めたり分かりやすく表現しようとすると、途端に難しくなりました...
(初めてNGS解析を行う関係で、ディレクトリ構造を予め考えることなく乱雑なまま突っ走ってしまったために、最終的な解析結果が出るあたりではグチャグチャな環境になってしまっていました...)
今回の事を通じて、事前に構造を予測しながら作業を進めることの重要性を認識できる事が出来ました!
記事に解析環境を掲載する際は、このことに気を付けながら分かりやすくなるように心がけたいと思います!
それでは、再来週に次回の記事を投稿しますので、また見てくれると嬉しいです!