ENAに配列データを登録する

配列データベースはDDBJ、ENA、NCBIとありますが、
ENAに諸々アップしたときの備忘録(2022年11頃)。

手順

1. Webin Submissions Portalのアカウント取得

リンクからアカウントの取得。https://www.ebi.ac.uk/ena/submit/webin/

2. ProjectIDの取得

Webin Submissions Portalの「Register Study」から登録。
以降Project IDの項に記入するのはここで取得したID。
タイトルやリリース日は後から変えられるので、ここでは仮の入力でも大丈夫。

アノテーションつきアセンブルデータをアップする予定の場合は、
「□Will you provide functional genome annotation ?」
にチェックを入れる。
すると「Locus Tag Prefix Registration」項目が出現するので、
「Locus Tag」を登録する。
※Locus Tag:ひとつのアノテーションデータにひとつ必要。
 ユニークである必要があるので特異的っぽい名前にする(Hoge.sp.2022 等)。
 ここで登録したLocus Tagはユニークかどうかのチェックをして貰う必要があるようなので、
 登録してから24h以降に使えるようになるらしい。

3. TaxonIDの取得

※すでに同種のデータがアップされたことがある場合ここはスキップできる。
※TaxonID等はhttps://www.ncbi.nlm.nih.gov/taxonomyから確認できる。
※TaxonIDは各階層(Rank: genus 等)に振られているIDではあるが
 「RANK: species」になっているTaxonIDを使わなければいけないらしい。
 (昔はRANK: cladeでもOKだったようだが今は受け付けてもらえない)

Webin Submissions Portalの「Register Novel Taxonomy」から登録。
Taxonomy descriptionには、「New species in [属名]」などと書けば良いみたい。

登録後ENAから特に音沙汰がなくて問い合わせたところ、
https://www.ebi.ac.uk/ena/taxonomy/rest/scientific-name/Hoge.sp
にアクセスするとTaxonIDが見られるとの返信が来た。
※末尾のHoge.spのところを、Register Novel TaxonomyでProposed nameに記入した名前に変える。
※Proposed nameにスペースを入れてしまった場合(Hoge sp.)は、スペースを%20に変換すればよい(Hoge%20sp.)。

4. サンプル登録番号(ACCESSION)の取得

Webin Submissions Portalの「Register Novel Taxonomy」から登録。
ここでは、あくまでサンプル名を登録するので、
例えばpaired endでR1とR2の2ファイルある時のように、アップするファイルとしては複数個に渡る場合でも
「Hoge.sp_assemled_genome」
「Hoge.sp_transcriptome」
のようにある程度まとめた名前を付ける。
うまく行けば、「SAMPLE        ERS123456」のようなaccession番号もらえるので、
この番号をメモに控える。

5. データのアップロード

生データ(SRA)の場合

複数方法はあるが、大量にあるなら圧倒的にftpがオススメ。

FTPを使う場合

Uploading Files To ENA — ENA Documentation 1 documentation
ステップ1. とりあえずアップロード
cd upload_data                    #upしたいファイルが有るフォルダに移動
md5sum hogehoge.fa                #md5を確認、メモに控える
lftp webin2.ebi.ac.uk -u Webin-12345                #パスワードを入力
mput hogehoge.fa                  #ファイルをupload
ls                                # uploadできたか確認
Bash
ステップ2. ファイルとサンプル名の対応付け

 ※1ファイル1行じゃなくても良いらしいので、どうしても分割してアップしたい場合は、
  同じサンプル名で複数行に分けて書けば良い。
 ※tar.gzでまとめてアップロードできるようなことをENAのHPには書いてあるが、
  うまくいかなかった。

webin-cliを使う場合

web-cliをインストール
Webin-CLI Submission — ENA Documentation 1 documentation
manifest.txt
STUDY PRJEB12345
SAMPLE ERS123456
NAME Hoge.sp_ShortRead
INSTRUMENT Illumina HiSeq 3000
INSERT_SIZE 200
LIBRARY_SOURCE GENOMIC
LIBRARY_SELECTION RANDOM
LIBRARY_STRATEGY WGS
FASTQ ./Hoge_R1.fastq.gz
FASTQ ./Hoge_R2.fastq.gz
webin-cli使ってアップロード
java -jar ~/webin-cli-5.2.0.jar -context reads -manifest manifest.txt -username Webin-12345 -validate -password [パスワード]
java -jar ~/webin-cli-5.2.0.jar -context reads -manifest manifest.txt -username Webin-12345 -submit -password [パスワード]
Bash

※何故か非常に時間がかかることがあるのが、そういうときはやり直したほうが良い。
 (3Gに1hかかってたら怪しい。やり直す際は、付随して作られている「reads」のフォルダを消す。)

アノテーション付きアセンブルデータの場合

ステップ1.FLATファイルの作成
  1. EMBLmyGFF3をインストール(https://github.com/NBISweden/EMBLmyGFF3
  2. emblファイルの作成
EMBLmyGFF3 hoge.gff3 Hoge.assembled.fa --topology linear --molecule_type 'genomic DNA' --transl_table 1 --species 'Hoge.sp' --locus_tag Hoge.sp.2022 --project_id PRJEB12345 -o pre_Hoge.sp.embl
head pre_Hoge.sp.embl #日付の項の表記を確認
cat pre_Hoge.sp.embl | sed s/01-Jan-2022//g > Hoge.sp.embl 
#なぜか日付の行が残っていると後でエラーでるので上で確認した日付をここで削除
gzip Hoge.sp.embl
Bash
ステップ2.サンプルごとにmanifest.txtを作成する
manifest.txt
STUDY PRJEB12345
SAMPLE ERS123457
ASSEMBLYNAME Hoge.sp_assemled_genome
ASSEMBLY_TYPE isolate
COVERAGE 150
PROGRAM canu
PLATFORM PacBio Sequel, Illumina HiSeq 3000
MOLECULETYPE genomic DNA
FLATFILE ./Hoge.sp.embl.gz
ステップ3.webin-cli使ってアップロード
java -jar ~/webin-cli-5.2.0.jar -context genome -manifest manifest.txt -username Webin-12345 -validate -password [パスワード]
java -jar ~/webin-cli-5.2.0.jar -context genome -manifest manifest.txt -username Webin-12345 -submit -password [パスワード]
Bash

※Nが多い配列データだと以下のようなエラーがでることがある。
ERROR: Protein coding feature translation contains more than 50% X 
コーデング領域の配列が半数以上Nの遺伝子が存在するとアップできないようなので、
とりあえずはそういった遺伝子を以下のような手順で消す。(アセンブルやアノテーションからやり直せればそうしたほうが良いかも)

gffread -E hoge.gff3 -g Hoge.assembled.fa -x hoge_cds.fasta
seqkit fx2tab -n -B N hoge_cds.fasta > hoge_cds.Ncontent  
cat hoge_cds.Ncontent | awk '$3>50{print $0}'> remove.list #この書き方はgffや遺伝子名の表記次第で変わる
cat remove.list | awk '{print $1}' | sed -e 's/$/\$/' > remove.list1 #この書き方はgffや遺伝子名の表記次第で変わる       
cat remove.list | awk '{print $2}' | awk -F "=" '{print $2}' | sed -e 's/$/\$/' > remove.list2    #この書き方はgffや遺伝子名の表記次第で変わる
grep -v -f remove.list1 -f remove.list2 hoge.gff3 > hoge.rm.gff3     #この書き方はgffや遺伝子名の表記次第で変わる
Bash

6. 完了確認

Webin Submissions Portalの「Run Files Report」から確認。
「Archive status」がFile archivedになればOK。
Invalid file checksumが出ていれば、すでにアップロードしたもの消す必要はなく、そのままやり直せばよい。

コメント