はじめに
研究に用いるデータとして、NCBIのデータベースにあるミトコンドリアのデータを用いて行ってきた。しかし、2024年6月からデータベースにアップデートがあり、従来の方法で行っていたオルガネラデータベースからの取得では難しいため、NCBIのFTPから直接ダウンロードする。
データの取得
FTPにあるミトコンドリアのgzファイルをダウンロードする。
まずNCBIのホームにあるDownloadへ移動し、FTPをクリック。
FTPに移動した後、genomes/refseq/mitochondrionに移動。
mitochondrion.1.genomic.gbff.gz をインストール。
データの処理
インストールしたgzファイルを解凍した後、データを整形しcsvに変換を行う。解凍後のgbffファイルから以下のpythonのコードでcsvに変換する。
make_csv.py
import csv, re
from typing import AnyStr
from os import PathLike
from Bio import SeqIO, Seq, SeqRecord
def is_complete_genome(definition: str) -> bool:
"""完全なミトコンドリアゲノムかどうかを返す.
Args:
definition (str): definition
Returns:
bool:
"""
return "mitochondrion, complete genome" in definition
def is_mongrel(name: str) -> bool:
"""'~ x ~'で書かれる雑種かどうかを返す.
Args:
name (str): 生物種
Returns:
bool:
"""
return " x " in name
def has_contig(record: SeqRecord) -> bool:
"""Does the record has contig?
Args:
record (SeqRecord): record
Returns:
bool: have contig or not have.
"""
return "contig" in record.annotations
# GBFFファイルからTaxon情報を取得し、CSVファイルに書き込む関数
def extract_taxonomy_to_csv(input_file, output_file):
tmp = []
# GBFFファイルを解析する
with open(input_file, 'r') as f:
gbff_records = SeqIO.parse(f, 'genbank')
# CSVファイルに書き込む
with open(output_file, 'w', newline='') as f:
writer = csv.writer(f)
# ヘッダー行を書き込む
writer.writerow(['Replicons',
'name',
'Taxon',
'is_mongrel',
'has contig',
'complete',
'shotgun',
'chromosome'
])
# 各エントリのTaxon情報を書き込む
for gbff_record in gbff_records:
name = gbff_record.description
taxonomy = gbff_record.annotations['taxonomy']
# 動物以外はskip
if "Metazoa" not in taxonomy:
continue
taxon = taxonomy
acc = gbff_record.name
writer.writerow([acc,
name,
taxon,
is_mongrel(name),
has_contig(gbff_record),
is_complete_genome(name),
"shotgun" in name,
"chromosome" in name,
])
if __name__ == "__main__":
input_file = 'mitochondrion.1.genomic.gbff'
output_file = 'output.csv'
extract_taxonomy_to_csv(input_file, output_file)
このプログラムでは表のようなカラムのデータになる。
列名 | 情報 |
---|---|
Replicons | アクセッション番号 |
name | 生物名 |
Taxon | 分類情報 |
is_mongrel | 雑種(True or False) |
has contig | contigのデータ(True or False) |
complete | 完全なゲノム(True or False) |
shotgun | ショットガン配列(True or False) |
chromosome | 染色体(True or False) |
まとめ
NCBIのデータベースのアプデにより、FTPから直接データを持ってくる方法にした。ミトコンドリア以外のデータでもとりあえず迷ったならここからダウンロードできると思う。