配列データベースは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を使う場合
ステップ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. ファイルとサンプル名の対応付け
- Webin Submissions Portalの「Read Submission」から登録。
- 「instrument_model」「library_source」などの書き方は
https://ena-docs.readthedocs.io/en/latest/submit/reads/webin-cli.html#permitted-values-for-instrument
に倣う。
※1ファイル1行じゃなくても良いらしいので、どうしても分割してアップしたい場合は、
同じサンプル名で複数行に分けて書けば良い。
※tar.gzでまとめてアップロードできるようなことをENAのHPには書いてあるが、
うまくいかなかった。
webin-cliを使う場合
web-cliをインストール
- Javaのversionは1.8.0以降
- サンプルごとにmanifest.txtを作成する
(https://ena-docs.readthedocs.io/en/latest/submit/reads/webin-cli.html#)
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ファイルの作成
- EMBLmyGFF3をインストール(https://github.com/NBISweden/EMBLmyGFF3)
- 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や遺伝子名の表記次第で変わる
Bash6. 完了確認
Webin Submissions Portalの「Run Files Report」から確認。
「Archive status」がFile archivedになればOK。
Invalid file checksumが出ていれば、すでにアップロードしたもの消す必要はなく、そのままやり直せばよい。
コメント