Bioconductor的注釋包未必靠譜

Bioconductor開發(fā)的物種注釋包系列集合了一個物種不同來源的注釋信息,能夠根據(jù)基因ID對其進(jìn)行多種來源的注釋蹋宦,比如說基因的別名修档,基因的功能等。

我之前也寫過一篇文章用Bioconductor對基因組注釋介紹如何使用AnnotationHub下載注釋數(shù)據(jù)庫, 使用select(), mapIds等函數(shù)進(jìn)行注釋操作祝钢。我自己寫一個流程也用到了它給基因ID, 如AT1G14185, 注釋別名和功能描述比规。 注釋結(jié)果中會出現(xiàn)一些基因無法被注釋, 比如說下面這些情況, 我一直認(rèn)為只是這些基因沒有得到比較好的研究, 即便這些基因能夠在TAIR搜到Araport的注釋, 我也認(rèn)為那些注釋只是同源注釋沒有多大意義。

AT1G13970   NA  NA
AT1G14120   NA  NA
AT1G14240   NA  NA
AT1G14600   NA  NA

一開始得到的結(jié)果里沒有多少個基因太颤,所以缺少幾個注釋苞俘,通過手工去查找也行,但是目前差異表達(dá)分析動不動就給別人500多個基因龄章,于是就有幾十個甚至上百個未注釋的基因吃谣,所以我想著要不自己更新擬南芥的物種包。

library(AnnotationHub)
ah <- AnnotationHub()
org <- ah[["AH57965"]]
org
#...
# TAIRGENEURL: ftp://ftp.arabidopsis.org/home/tair/Genes/TAIR10_genome_release/TAIR10_functional_descriptions
#...

通過上面的代碼做裙,我找到了基因功能描述的數(shù)據(jù)庫來源文件岗憋,我下載了這個文件,并且拿用AnnotationHub注釋不到的功能的一個基因锚贱,"AT1G14185"仔戈,進(jìn)行測試

mapIds(org, "AT1G14185", "GENENAME", "TAIR")
grep 搜索

這下就非常有趣了,在原始文件中能搜索到的基因用Bioconductor的物種注釋包時卻沒有注釋信息拧廊!為了搞清楚這個原因监徘,我花了快半個下午的時間去折騰,終于被我找到了原因吧碾。 我分別用一個能被org.At.tair.db注釋和一個不能被org.At.tair.db的注釋去搜索原始文本.

# 無注釋
1   AT1G14185.1
2   protein_coding
3   Glucose-methanol-choline (GMC) oxidoreductase family protein
4
5   Glucose-methanol-choline (GMC) oxidoreductase family protein; FUNCTIONS IN: ...
# 有注釋
1   AT1G19610.1
2   protein_coding
3   Arabidopsis defensin-like protein
4   Predicted to encode a PR (pathogenesis-related) protein.  ...
5   PDF1.4; FUNCTIONS IN: molecular_function unknown;

簡單的比較之后凰盔,你差不多就知道了org.At.tair.db的在功能描述這一部分其實只用第一列和第四列(為了方便展示我轉(zhuǎn)置了原始數(shù)據(jù))。這就是非常讓人意外了倦春,為啥它不用第一列和第三列呢户敬? 我于是又去看了其他幾個基因落剪,就差不多明白了,原始的文本特別的混亂尿庐,你除了能保證第一列和第二列有信息外忠怖,其他列你根本無法保證,因此最好的策略以第一列作為檢索的關(guān)鍵字抄瑟,其他列合并成一列才行凡泣,然而作者沒有那么細(xì)致。

于是我就放棄了用org.At.tair.db注釋基因功能描述和基因別名了锐借,還是自己寫一個Python腳本進(jìn)行注釋吧问麸。

下面這個腳本只適用于bed格式的輸入,且第四列為轉(zhuǎn)錄本ID钞翔,另外兩個輸入文件分別為"gene_aliases_20140331.txt"和"TAIR10_functional_descriptions_20140331.txt"严卖, 用法為

python bed_anno.py to_anno.bed gene_aliases_20140331.txt TAIR10_functional_descriptions_20140331.txt > anno.xls
import sys
from collections import defaultdict

bed_file = sys.argv[1]
alias_file = sys.argv[2]
func_file  = sys.argv[3]

alias_dict = defaultdict(list)
func_dict  = defaultdict(list)

# read alias file
for line in open(alias_file, 'r'):
    items = line.strip().split('\t')
    alias_dict[items[0]] = items[1:]

# read function description file
for line in open(func_file, 'r'):
    items = line.strip().split('\t')
    func_dict[items[0]] = items[1:]

# annotation and output
for line in open(bed_file, 'r'):
    transcript_id = line.strip().split("\t")[3]
    gene_id = transcript_id.split(".")[0]
    gene_alias = alias_dict[gene_id] if len(alias_dict[gene_id]) > 0 else ['']
    gene_func = func_dict[transcript_id] if len(func_dict[transcript_id]) > 0 else ['']
    gene_anno  = '{}\t{}\t{}'.format(line.strip(), gene_alias[0], '\t'.join(gene_func))
    print(gene_anno)
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市布轿,隨后出現(xiàn)的幾起案子哮笆,更是在濱河造成了極大的恐慌,老刑警劉巖汰扭,帶你破解...
    沈念sama閱讀 222,252評論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件稠肘,死亡現(xiàn)場離奇詭異,居然都是意外死亡萝毛,警方通過查閱死者的電腦和手機(jī)项阴,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,886評論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來笆包,“玉大人环揽,你說我怎么就攤上這事♀钟叮” “怎么了歉胶?”我有些...
    開封第一講書人閱讀 168,814評論 0 361
  • 文/不壞的土叔 我叫張陵,是天一觀的道長巴粪。 經(jīng)常有香客問我通今,道長,這世上最難降的妖魔是什么肛根? 我笑而不...
    開封第一講書人閱讀 59,869評論 1 299
  • 正文 為了忘掉前任辫塌,我火速辦了婚禮,結(jié)果婚禮上派哲,老公的妹妹穿的比我還像新娘臼氨。我一直安慰自己,他們只是感情好狮辽,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,888評論 6 398
  • 文/花漫 我一把揭開白布一也。 她就那樣靜靜地躺著,像睡著了一般喉脖。 火紅的嫁衣襯著肌膚如雪椰苟。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,475評論 1 312
  • 那天树叽,我揣著相機(jī)與錄音舆蝴,去河邊找鬼。 笑死题诵,一個胖子當(dāng)著我的面吹牛洁仗,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播性锭,決...
    沈念sama閱讀 41,010評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼赠潦,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了草冈?” 一聲冷哼從身側(cè)響起她奥,我...
    開封第一講書人閱讀 39,924評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎怎棱,沒想到半個月后哩俭,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,469評論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡拳恋,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,552評論 3 342
  • 正文 我和宋清朗相戀三年凡资,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片谬运。...
    茶點(diǎn)故事閱讀 40,680評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡隙赁,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出吩谦,到底是詐尸還是另有隱情鸳谜,我是刑警寧澤,帶...
    沈念sama閱讀 36,362評論 5 351
  • 正文 年R本政府宣布式廷,位于F島的核電站咐扭,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏滑废。R本人自食惡果不足惜蝗肪,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,037評論 3 335
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望蠕趁。 院中可真熱鬧薛闪,春花似錦、人聲如沸俺陋。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,519評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至诱咏,卻和暖如春苔可,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背袋狞。 一陣腳步聲響...
    開封第一講書人閱讀 33,621評論 1 274
  • 我被黑心中介騙來泰國打工焚辅, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人苟鸯。 一個月前我還...
    沈念sama閱讀 49,099評論 3 378
  • 正文 我出身青樓同蜻,卻偏偏與公主長得像,于是被迫代替她去往敵國和親早处。 傳聞我的和親對象是個殘疾皇子湾蔓,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,691評論 2 361

推薦閱讀更多精彩內(nèi)容

  • 這一次,我們來聊聊基因組注釋砌梆。首先問自己一個問題卵蛉,為什么要進(jìn)行基因注釋。就我目前而言么库,它用來解決如下問題: 在ma...
    xuzhougeng閱讀 24,663評論 13 77
  • topGO手冊中的實例實現(xiàn) 手冊地址:http://bioconductor.uib.no/2.7/bioc/vi...
    x2yline閱讀 15,630評論 1 32
  • 越焦灼傻丝,越在意,越想好诉儒,便是違背內(nèi)心的去在意細(xì)節(jié)葡缰。反而,真誠忱反,放松泛释,認(rèn)真一點(diǎn),便完美了温算。
    百聞不如一見閱讀 211評論 0 0
  • 分支的新建與合并 讓我們來看一個簡單的分支新建與分支合并的例子怜校,實際工作中你可能會用到類似的工作流。 你將經(jīng)歷如下...
    vb12閱讀 731評論 0 0
  • 勝利街櫻花 注竿,已然盛開茄茁,如云似錦,默默無聞一年巩割,花團(tuán)錦簇之時裙顽,方為人欣賞。盛開時宣谈,來也罷愈犹,贊也罷,他自無言闻丑,花落處...
    goldfish2017閱讀 234評論 0 0