DDBJのスパコン上でDe novoアセンブリ解析をするための方法についての備忘録(随時更新)
目次
DDBJスパコンのウェブサイトにて、ユーザーアカウント発行基準及び利用規定を確認
SSH公開鍵・秘密鍵の生成、及びスパコンのアカウント新規登録を行う(通常は一般解析区画)(方法はこちらを参照)
申請者(責任者)宛に誓約書のPDFファイルが添付されたメールが届くので、誓約書に電子署名した上で返信する(方法はこちら)
アカウント登録証が申請時に登録した住所に郵送で届く
アカウント登録証に書いてあるアカウント名と初期パスワードを確認する(このパスワードはアカウント申請システムのマイページにログインするときに使う)
アカウント名と(SSH公開鍵・秘密鍵を作成したときに設定した)パスワードを用いて、スパコンにログインする
*DDBJスパコンのウェブサイトを参照
ターミナルを開き、「ssh (アカウント名)@(ゲートウェイノード名)」と入力(一般解析区画には2種類のゲートウェイノードがあるが、通常は@gw.ddbj.nig.ac.jpでいい)。
例: ssh usrname@gw.ddbj.nig.ac.jp
"Enter passphrase for key ..."と表示されるので、SSH公開鍵・秘密鍵を作成した際に設定したパスフレーズを入力
以下のような文章が表示されるはずなので、「qlogin」と入力し、自分のアカウントのホームディレクトリにログインする
---------------------------------------------------------------------
Thank you for using NIG supercomputer system.
This is the gateway node, do not run program here.
Please use 'qlogin' to login to a login node.
---------------------------------------------------------------------
(メモ)ログインノード上でのメモリ最大利用量を指定してqloginする場合は以下のように入力
qlogin -l s_vmem=50G -l mem_req=50G (50Gは50GBのこと)
「exit」または「logout」コマンドを2回入力すると、DDBJのスパコンから完全にログアウトする(1回目のexitでqloginからログアウト、2回目でDDBJスパコンからログアウトしている)
【ディレクトリ操作】
cd ホームディレクトリに戻る
cd .. 一つ上のディレクトリに戻る
cd (dir) 指定のディレクトリ(dir)へ移動
pwd 現在のディレクトリのフルパス表示
ls 現在のディレクトリの中にあるファイルやディレクトリの名前の一覧表示
ls -a 隠しファイルも含む全てのファイルやディレクトリの名前の一覧表示
ls -l ファイルやディレクトリの名前と詳細情報(作成日など)を一覧表示
mkdir (dir) 新規ディレクトリを作成
rm -r (dir) ディレクトリを中身ごと削除
(ワイルドカード * を使えば、共通の文字列を名前に含む複数のディレクトリを一括で削除できる)
mv (file) (dir) 指定のファイルを指定のディレクトリへ移動
cp (dirA) (dirB) ディレクトリAをディレクトリBにコピー
ディレクトリ:UNIXやLinux OSにおけるファイルが保存場所を管理するための特別なファイルで、WindowsやMac OSでいうところの「フォルダ」と同じ。ファイルを保管・分類する仕組みとして階層構造を実現するために使われる。階層構造はスラッシュ「/」を使って表現する。例えば "cd /home/usr/local" と入力すれば、homeディレクトリ内のusrディレクトリ内のlocalディレクトリに移動できる。
任意のファイルが格納されているディレクトリまでの階層構造を示す"/home/usr/local" はパスと呼ばれる
【ファイル操作】
less (file) ファイルの中身を閲覧(スクロール表示できる)。
qを押せばlessは閉じる。「g」で最初の行へ、「shift + g」で最終行まで一気に移動する。
head (file) ファイルの中身の最初の10行を表示("head -(数字) (file)"で指定した最初の行数を表示)
tail (file) ファイルの中身の最後の10行を表示("tail -(数字) (file)"で指定した最後の行数を表示)
cat (file) ファイルの中身をコンソール上に全部表示
cat (fileA) (fileB) > (fileC) ファイルAとファイルBの内容を結合したファイルCを作成(3つ以上のファイルの結合も可)
rm (file) ファイルを削除
(ワイルドカード * を使えば、共通の文字列を名前に含む複数のファイルを一括で削除できる)
mv (fileA) (fileB) ファイルAの名前をファイルBに変更
【ワイルドカード文字】
* 0文字以上の文字列(例:abc* なら"abc"から始まる名前のファイルやディレクトリ全部)
? 任意の1文字(例:a?c ならaから始まり3文字目がcである名前のファイルやディレクトリ全部)
[ ] 大括弧内のいずれかの文字
(例:[abc]ならaかbかcのいずれか、[0-9]なら0〜9の数字のいずれか、[!de]ならdとe以外の1文字)
【ファイルの解凍】
tar xvzf (file.tar.gz) .tar.gz形式の圧縮ファイルを解凍
tar -xvf (file.tar) .tar形式の圧縮ファイルを解凍
gunzip (file.gz) .gz形式の圧縮ファイルを解凍
gunzip -dc (file.fq.gz) | less .fq.gzファイルの中身を解凍せずに見る(普通にless (file.fq.gz)で見ようとすると文字化けする)
【プログラミング関連】
make Makefileに従った動作をする(ダウンロードしたプログラムによってはMakefileに従いコンパイルする必要あり)
【コマンドを検索する】
which (コマンド名) そのコマンドの実行ファイルがあるディレクトリを表示(何も表示されない=実行ファイルが無い)
PATH = (dir)/(dir) コマンド検索パス(コマンドの実行ファイルを探しに行くパス)を追加するためのコマンド
「echo $PATH」で現在の環境で登録されているコマンド検索パスを表示できる
$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/s
上の場合は6つのコマンド探索パスがコロンで区切られて表示されている。同名の実行ファイルが複数のパスの先にある場合、左のパス(/usr/local/bin)から優先的に探索する。
パスを追加する場合は、まず(隠しファイルである).bash_profile ファイルか .bashrcファイルに以下のようなコマンドを追記する。
export PATH=$PATH:追加したいコマンド検索パス (具体的な設定は後ろで説明する)
その後、「source .bash_profile」あるいは「source .bashrc」と入力して、一旦ログアウトする。再度ログインすると、設定が反映される(whichコマンドで設定した通りのパスが表示されればOK)。
【環境変数】
export (変数) 変数の環境変数化(注:ログアウトするとリセットされる)
【プロセスの強制終了】
kill (プロセスID) そのプロセスを強制終了
kill -9 (プロセスID) 上のコマンドでも止まらない場合に、何がなんでもそのプロセス強制終了させる
【テキスト or シェルスクリプトの作成・編集】
UNIX上に初めからインストールされているテキストエディタである「nano」の操作方法(こちらも参照)
nano (file.txt) 既に存在しているファイルであれば編集モードに、無ければ新規ファイルfile.txtを作成した上で編集モードに
Ctrl + o 編集内容を保存
Ctrl + x nanoを終了(編集内容を保存してなかった場合保存するか尋ねられるのでyと入力し、ファイル名を指定)
Ctrl + k 選択した文字列をカット
Ctrl + u 文字列をペースト
【自分のコンピュータからファイルを送信】
まずは自分のコンピューターにて(Macの場合)ターミナルを開き、送りたいファイルがあるディレクトリへ移動
次のコマンドを入力(スパコン上のホームディレクトリ中の任意のディレクトリを指定可能)
scp (fileA) (fileB) (usr@gw.ddbj.nig.ac.jp):(/home/usr) DDBJスパコンの自分のホームディレクトリにファイルA・Bを送る
Enter passphrase...と聞かれたら、公開鍵&秘密鍵を設定したときのパスフレーズを入力
送信が開始される。終了する場合は「exit」でログアウト
【DDBJスパコンにあるファイルを自分のコンピュータへダウンロード】
自分のコンピュータにて、ダウンロードファイルの保存先にしたいディレクトリへ移動する
次のコマンドを入力
sftp usrname@gw.ddbj.nig.ac.jp
パスフレーズの入力を求められるので、入力してDDBJスパコンの自分のアカウントへアクセスする
次のように入力し、ファイルやディレクトリをダウンロードする
get /home/usrname/file_A (ホームディレクトリ中の1つのファイルをダウンロードする場合)
get -r /home/usrname/directory_A (ホームディレクトリ中の1つのディレクトリを中身ごとダウンロードする場合)
「exit」でログアウト
(メモ)一時停止したい場合は「Ctrl + z」と入力すれば、以下のような文が表示される
[1]+ Stopped sftp usrname@gw.ddbj.nig.ac.jp ([ ]で囲まれた数字がジョブ番号)
再開したい場合は「fg (ジョブ番号)」 と入力すれば良い
ーーーーーーーーーーーーーーーーーー
(シェルスクリプトを書く際の注意)
スクリプトが一文で書くと長くなりすぎて読みにくい場合は、コマンドのオプション同士の間に「\」を入力してすぐに改行を入れれば、複数行に分けてスクリプトを書くことができる。
ただし、空白スペースの個数には注意。1マス多いだけでもコマンドはエラーを吐いて止まる。
次世代シーケンサー(NGS: next generation sequencing)から出力された、ゲノム未解読の生物の全mRNAの塩基配列の大量の断片を、Trinityと呼ばれるプログラムを用いてde novoでアセンブルし、その結果を元に、RSEMというソフトウェアツールを用いて各mRNA配列の発現量を推定する。
(注)ペアエンドリード(Pair-end read)を読んだサンプルで、かつトリミング済みのFASTQファイルを受け取ってから始める場合を以下に記す
Trinity自体はDDBJスパコンのSingularityコンテナの中に入ってはいるため、TrinityだけするのであればわざわざDDBJのスパコンの自分のホームディレクトリに入れる必要はないのだが、RSEMもSingularityコンテナ内のTrinityの機能を使って実行しようとすると、なぜかエラーが出て実行できない。そのため、自分のホームディレクトリにもTrinityをインストールしておく。
qloginしてホームディレクトリにアクセス
次のコマンドを入力し、Trinityの最新版 v2.15.2(2024年11月現在)をダウンロード
wget https://github.com/trinityrnaseq/trinityrnaseq/releases/download/Trinity-v2.15.2/trinityrnaseq-v2.15.2.FULL.tar.gz
次のコードでダウンロードファイルを解凍
tar xvzf trinityrnaseq-v2.15.2.FULL.tar.gz
ホームディレクトリ内に"src"ディレクトリ(名前はなんでもいい)を作成し、ダウンロードファイルを解凍したものをsrcディレクトリに配置
mkdir src
mv trinityrnaseq-v2.15.2 ~/src/
"trinityrnaseq-v2.15.2"ディレクトリに移動
cd src/trinityrnaseq-v2.15.2
lsと入力し、"trinityrnaseq-v2.15.2"ディレクトリ内に"Makefile"があることを確認
「make」と入力し、コンパイルする
「make plugins」と入力し、プラグインもコンパイルする
(注)trinityrnaseq-v2.15.2"ディレクトリ内にREADMEファイルがあるはずなので、それを読んで「make」でどこまでコンパイルすべきなのかは確認する
発現量推定に必要なsamtools、bowtie2、bowtie2-build、rsem-calculate-expressionもホームディレクトリにインストール。
1. samtoolsをインストール
cd local #ホームディレクトリに"local"ディレクトリに移動(なければ新規作成してから移動)
mkdir bin #"local"ディレクトリ内に"bin"ディレクトリを作成
wget https://github.com/samtools/samtools/releases/download/1.21/samtools-1.21.tar.bz2 #プログラムをダウンロード
tar -xvf samtools-1.21.tar.bz2 #.tar.bz2形式であるダウンロードファイルを解凍
cd samtools-1.21 #解凍してできた"samtools-1.21"ディレクトリに移動
./configure --prefix=/home/usrname/local #samtoolsのコンパイルの準備
make -j 8 #コンパイルする
make install #インストール(これで/home/usrname/local/bin内にsamtoolsのソフトウェアツール群が入る)
cd #ホームディレクトリへ戻る
2. bowtie2とbowtie2-buildをインストール
cd local/bin #"local"ディレクトリ内の"bin"ディレクトリへ移動
wget https://sourceforge.net/projects/bowtie-bio/files/latest/download #最新版のプログラムをダウンロード
unzip download #ダウンロードした"download"という名のファイル(.zip形式)を解凍
cd bowtie2-2.5.4 #解凍してできたディレクトリへ移動(2024年11月30日時点でver. 2.5.4が最新)
make #"Makefile"という名のファイルがあるのを確認し、コンパイルする
cd #ホームディレクトリへ戻る
(注:他のウェブサイトを見るとbowtie2のソフトウェアツール群はmakeしなくてもダウンロードしただけで使えるようなことを書いてある場合があるが、2024年11月時点ではmakeしないと、解凍した"bowtie2-2.5.4"ディレクトリ内にbowtie2-buildやbowtie2-alignなどが含まれておらず、RSEM実行中にプログラムが途中でエラー吐いて止まってしまう)
3. rsem-calculate-expressionをインストール
cd local/bin #"local"ディレクトリ内の"bin"ディレクトリに移動
wget https://github.com/deweylab/RSEM/archive/v1.3.3.tar.gz #2024年11月時点での最新版のv1.3.3のRSEMをダウンロード
tar -xvf v1.3.3.tar.gz #ダウンロードファイルを解凍(これはmakeする必要なさそう)。"RSEM-1.3.3"ディレクトリができる
cd #ホームディレクトリへ戻る
DDBJスパコンのsingularityコンテナ内にも、Trinity(とその関連ツールのalign_and_estimate_abundance.pl)、samtools、bowtie2、bowtie2-build、rsem-calculate-expressionの実行ファイルが格納されているため、デフォルト設定では「which」コマンドでこれらのソフトウェアツール群を探索すると、singularityコンテナへのパス(/usr/bin)に繋がる。しかし、最近singularityに格納されている方のソフトウェアツール群を使ってRSEMによる発現量推定を行おうとすると何故かエラーを吐いてプログラムが中断されてしまうため、自分のホームディレクトリにわざわざインストールした上記のソフトウェアツール群を用いる。
自分のコンピューターのコンソール上で「Export PATH=...」と入力して新たなコマンド探索パスを追加しても、DDBJスパコンからログアウトしたら追加したパスはリセットされてしまう。ログアウトしても追加パスが有効になるようにするため、ホームディレクトリ内の隠しファイルである".bash_profile"にパスを直接追加する(.bashrcへパスを追加しても良い)。
cd #ホームディレクトリへ移動
nano .bash_profile #".bash_profile"の編集画面を開く
以下のスクリプトをコピペ(.bash_profileに自分で設定した優先するパスに繋げる、かつ.bashrcを優先的に読み込むよう以下のスクリプトを書き込むという内容。.bashrcにパスを追加する場合は"# User specific environment and startup programs"以降の行のみコピペする)
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=/home/ymitaka/local/bin:\
/home/ymitaka/src:\
/home/ymitaka/src/util:\
/home/ymitaka/local/bin/bowtie2-2.5.4:\
/home/ymitaka/local/bin/RSEM-1.3.3:\
$PATH:$HOME/.local/bin:$HOME/bin
export PATH
「Ctrl + o」で保存し、「Ctrl + x」でnanoを閉じる
ホームディレクトリに戻り、「source .bash_profile」と入力した後、一旦ログアウトする
再度qloginして、「which」コマンドを使ってTrinity、align_and_estimate_abundance.pl、samtools、bowtie2、bowtie2-build、rsem-calculate-expressionへのパスが、自分のホームディレクトリから始まるパス(/home/usrname/ ...)が表示されるか確認する
<追加したパスについての説明>
/home/ymitaka/src # "Trinity"があるディレクトリへのパス
/home/ymitaka/src/util # "align_and_estimate_abundance.pl"があるディレクトリへのパス
/home/ymitaka/local/bin # "samtools"があるディレクトリへのパス
/home/ymitaka/local/bin/bowtie2-2.5.4 # "bowtie2"と"bowtie2-build"があるディレクトリへのパス
/home/ymitaka/local/bin/RSEM-1.3.3 # "rsem-calculate-expression"があるディレクトリへのパス
あらかじめホームディレクトリに転送した各サンプルのペアエンドリードファイル(.fq.gz形式圧縮ファイル)を使い、Forwardのリードファイル同士まとめた圧縮ファイルと、Reverseのリードファイル同士まとめた圧縮ファイルの2つを作成。
Forwardどうしまとめたファイル(merged_f.fq.gz)作成
cat File01_val_1.fq.gz File02_val_1.fq.gz File03_val_1.fq.gz ... File10_val_1.fq.gz > merged_f.fq.gz
Reverseどうしまとめたファイル(merged_r.fastq)作成
cat File01_val_2.fq.gz File02_val_2.fq.gz File03_val_2.fq.gz ... File10_val_2.fq.gz > merged_r.fq.gz
Trinityを実行するためのシェルスクリプト("Trinity.sh"ファイル)を新規作成
nano Trinity.sh
編集画面が出てきたら、以下のコマンドを入力
#!/bin/sh
#$ -S /bin/bash
#$ -N Trinity
#$ -l medium
#$ -cwd
#$ -l d_rt=1440:00:00
#$ -l s_rt=1440:00:00
#$ -l s_vmem=50G
#$ -l mem_req=50G
#$ -pe def_slot 5
#echo original path: $PATH
ulimit -s unlimited
echo running on `hostname`
echo starting at
date
singularity exec /usr/local/biotools/t/trinity\:2.15.2--pl5321hdcf5f25_0 Trinity --seqType fq --max_memory 50G --left merged_f.fq.gz --right merged_r.fq.gz --CPU 5 --verbose --no_version_check
echo ending at
date
(メモ:この行以降はTrinity.shへは入力しない)
上記はsingularityコンテナ内に元々あるTrinity(trinity\:2.15.2--pl5321hdcf5f25_0)を実行する場合のもの(Trinityをやるだけならこれでも構わない)。自分のホームディレクトリにあるTrinityを使う場合は以下のように書く。
/home/usrname/src/Trinity --seqType fq --max_memory 50G --left merged_f.fq.gz --right merged_r.fq.gz --CPU 5 --verbose --no_version_check
Trinity.shでJobを投げる際、以下のパラメーターをいじればCPU数は増えてJobは早くなるが、スパコンが混んでるとJobが待ち状態になりやすい。
#$ -pe def_slot 5
--CPU 5
メモリが足りないとコアダンプを起こしてjobが止まり、core.***というファイルができる。この場合は、以下のメモリの値を増やせば大丈夫だが、これもjobが入りにくくなる。
#$ -l s_vmem=50G
#$ -l mem_req=50G
"#$ -l medium" でスパコンのどの計算ノードにJobを投稿するか指定できる。"medium" でプログラムがうまく動かない場合は"medium-ubuntu" に変更するのもアリ。
保存してnanoを閉じる
以下を入力してTrinityによるde novo assemblyを実行
qsub Trinity.sh
以下のように表示されればJobのSubmitは完了したことになる("XXXXXXXX"は本来は数字でJob IDを表す)
Your job XXXXXXXX (“Trinity”) has been submitted
(メモ)
Job実行中に利用可能なコマンドは以下の通り(こちらも参照)
qstat #現在のJobの状態が確認可能(stateが "r" だとJobが走っていることを示す)
less Trinity.eXXXXXXXX 出力されたエラーの内容が確認できる
less Trinity.oXXXXXXXX 出力された途中経過を確認できる
qdel XXXXXXXX Jobの一時中断
Trinityが完了すると、カレントディレクトリ内に"trinity_out_dir.Trinity.fasta"という名の、各contigの塩基配列がFASTA形式で書かれているファイルや"trinity_out_dir"ディレクトリなどが生成されていることを確認する。
Trinityによるアセンブル結果のQuality checkを出力するため、以下のコマンドを実行
singularity exec /usr/local/biotools/s/seqkit\:2.8.2--h9ee0642_0 seqkit stat -a trinity_out_dir.Trinity.fasta
(メモ:N50やGC contentなどの結果はターミナルのウィンドウ内に表示されるので、テキストファイルなどにコピペして保存)
singularityコンテナ内に入っているtransdecoderを用いて、"trinity_out_dir.Trinity.fasta" 書かれている各contigの塩基配列をアミノ酸配列に翻訳する
以下のコマンドを入力
singularity exec -e /usr/local/biotools/t/transdecoder:5.7.0--pl5321hdfd78af_0 TransDecoder.LongOrfs -m 100 -t trinity_out_dir.Trinity.fasta
ディレクトリ内に "trinity_out_dir.Trinity.fasta.transdecoder_dir" という新たなディレクトリが作られる
その中の "longest_orfs.pep" というファイルにアミノ酸配列に変換された全アイソフォームの配列が書かれている
自分のホームディレクトリ内で発現量解析を実行する。事前準備として、ホームディレクトリ内に元のペアエンドリードファイル(各サンプルに対応する.fq.gz形式のファイル)と、Trinityによって出力された "trinity_out_dir.Trinity.fasta" ファイルや "trinity_out_dir.Trinity.fasta.transdecoder_dir" ディレクトリなどがあることを確認する。
RSEMを実行するためのシェルスクリプトを新規作成
nano RSEM.sh
編集可能な画面が出てきたら以下を入力(サンプルごとの発現量推定が同時並行で行われるようにする)
#!/bin/sh
#$ -S /bin/bash
#$ -N RSEM
#$ -l medium-ubuntu
#$ -cwd
#$ -l d_rt=1440:00:00
#$ -l s_rt=1440:00:00
#$ -l s_vmem=50G
#$ -l mem_req=50G
#$ -pe def_slot 5
#$ -t 1-10:1
SAMPLES=(File01 File02 File03 ... File10)
SAMPLE="${SAMPLES[${SGE_TASK_ID}-1]}"
#echo original path: $PATH
ulimit -s unlimited
echo running on 'hostname'
echo starting at
date
/home/ymitaka/src/util/align_and_estimate_abundance.pl \
--transcripts trinity_out_dir.Trinity.fasta \
--seqType fq \
--left ${SAMPLE}_val_1.fq.gz \
--right ${SAMPLE}_val_2.fq.gz \
--est_method RSEM \
--aln_method bowtie2 \
--trinity_mode \
--prep_reference \
--coordsort_bam \
--thread_count 5 \
--output_dir ${SAMPLE}_RSEM_outdir
echo ending at
date
(メモ:この行以降はRSEM.sh内に書き込まない)
"#$ -t 1-10:1"の1-10は繰り返し数。RNA抽出液のサンプル数の数に合わせる
SAMPLES=("" "" ...) この中にサンプル名を入れていく。そうすると次のSAMPLE="${SAMPLES[${SGE_TASK_ID}-1]}"の中にサンプル名が格納され、"--left ${SAMPLE}_val_1.fq.gz --right ${SAMPLE}_val_1.fq.gz"の部分でサンプル名が自動で入る。${SAMPLE}以外はファイル名を共通させる必要がある。
--output_dir ${SAMPLE}_RSEM_outdirによって、サンプル名ごとに結果がアウトプットされる。
保存して、nanoを閉じる
以下のように入力して、Indexファイルを作成
bowtie2-build -f trinity_out_dir.Trinity.fasta trinity_out_dir.Trinity.fasta.bowtie2
以下のように入力して、各サンプルについてJobを同時並行で実行(サンプル数が10なら、qstatでJobの進捗を確認した際に10個のJobが進行しているのが見えるはず)
qsub RSEM.sh
RSEMが完了すると、「(サンプル名)_RSEM_outdir」という名前のディレクトリがサンプルごとに生成される。その中に、contigごとに発現量を計算した結果のファイルである "RSEM.genes.results" と、各contigのisoformごとに発現量を計算した結果のファイルである "RSEM.isoforms.results" が入っているのを確認する。
以下のコマンドを入力し、全サンプルのRSEM.genes.resultsをマージして一つの表(CSVファイル)を作成
/home/usrname/local/bin/RSEM-1.3.3/rsem-generate-data-matrix \
/home/ymitaka/File01_val_1_RSEM_outdir/RSEM.genes.results \
/home/ymitaka/File02_val_1_RSEM_outdir/RSEM.genes.results \
... /home/ymitaka/File10_val_1_RSEM_outdir/RSEM.genes.results > GeneExpression_Count.csv
以下のコマンドを入力し、全サンプルのRSEM.isoforms.resultsをマージして一つの表(CSVファイル)を作成
/home/usrname/local/bin/RSEM-1.3.3/rsem-generate-data-matrix \
/home/ymitaka/File01_val_1_RSEM_outdir/RSEM.isoforms.results \
/home/ymitaka/File02_val_1_RSEM_outdir/RSEM.isoforms.results \
... /home/ymitaka/File10_val_1_RSEM_outdir/RSEM.isoforms.results > IsoformExpression_Count.csv
作成したCSVファイルやcontigの塩基配列のFASTAファイル、自分のコンピューターにダウンロードし、アノテーションなど諸々の解析に使う。
(メモ)
CSVファイルの中を見てみると、行が各contig(またはisoform)、列名がサンプルになっている。このままでは列名が上記のパスになって長すぎるため、余計な部分を消す。
また、上記の2つのCSVファイルはカンマ区切りになっていないため、エクセルで表示すると各行の1列目のセルに長いタブ区切りの文字列が入ってしまっている。そのため、エクセルの"データ"タブの"データファイル指定(Power Query)"を用いて、カンマ区切りになるよう編集した上で再度CSV形式で保存し直す必要あり。