用Python提取FASTA中最長(zhǎng)轉(zhuǎn)錄本

在對(duì)拼裝或者數(shù)據(jù)庫(kù)下載的序列文件進(jìn)行下一步分析時(shí),我們通常會(huì)對(duì)序列進(jìn)行去冗余操作最铁,其中經(jīng)常需要提取同一個(gè)‘gene’的最長(zhǎng)轉(zhuǎn)錄本,所以動(dòng)手用python寫(xiě)一個(gè)腳本垮兑。

一冷尉、基本思路

  • 1.以Trinity拼裝結(jié)果為例,分析其文件結(jié)構(gòu):

序列名:TRINITY_DN1000_c115_g5_i1
其中TRINITY_DN1000_c115_g5 是‘gene’名稱甥角, i1 表示該‘gene’的第一個(gè)轉(zhuǎn)錄本

>TRINITY_DN1000_c115_g5_i1 len=247 path=[31015:0-148 23018:149-246]
AATCTTTTTTGGTATTGGCAGTACTGTGCTCTGGGTAGTGATTAGGGCAAAAGAAGACAC
ACAATAAAGAACCAGGTGTTAGACGTCAGCAAGTCAAGGCCTTGGTTCTCAGCAGACAGA
AGACAGCCCTTCTCAATCCTCATCCCTTCCCTGAACAGACATGTCTTCTGCAAGCTTCTC
CAAGTCAGTTGTTCACAGGAACATCATCAGAATAAATTTGAAATTATGATTAGTATCTGA
TAAAGCA
  • 2.設(shè)計(jì)提取思路:

技術(shù)路線圖

其中需要注意的是字典的設(shè)置网严,key為 ‘gene’的名稱识樱,而Value為一個(gè)列表嗤无,一個(gè)基因的多個(gè)轉(zhuǎn)錄本分別為列表中的元素。

二怜庸、代碼實(shí)現(xiàn)

廢話不多說(shuō)当犯,下面開(kāi)始代碼。

  • 1.import需要的模塊和寫(xiě)注釋:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
#好像沒(méi)啥需要特別導(dǎo)入的模塊
  • 2.打開(kāi)文件并存入字典

re = {}  
with open ('/Users/byeamx/Trinity.fasta') as f:
    for line in f:
        seq = []
        if line.startswith('>'):
            id = line.split(' ')[0].split('_')  #切片分割序列名稱
            id = '_'.join(id[:4])  #合并切片的前5部分
        else:
            seq.append(line)

        if id not in re:
            re[id] = seq
        else:
            re[id] += seq
  • 3.提取最長(zhǎng)轉(zhuǎn)錄本

maxseq = {}
for k,v in re.items():
    seq = max(v, key=len)
    maxseq[k] = seq
  • 4.輸出為文件

with open('file_cluster.fa','w') as f:
    for k,v in maxseq.items():
        f.write( k +'\n')
        tem = v.__str__()
        f.write(tem)

三割疾、一些思考

  • 這個(gè)腳本只是最基礎(chǔ)的功能嚎卫,只是針對(duì)Trinity的轉(zhuǎn)錄本,在實(shí)際情況中可根據(jù)自己的需求更改宏榕,甚至加上批量運(yùn)行語(yǔ)句拓诸。
  • 通常提取轉(zhuǎn)錄本后還要用軟件CD-HIT進(jìn)一步去冗余,當(dāng)然這是自己情況而定麻昼。
  • BioPython等模塊能方便的對(duì)序列進(jìn)行各種操作奠支,在掌握基礎(chǔ)原理后完全可以用Biopython等模塊簡(jiǎn)化我們的工作量。
  • 其實(shí)在Linux下用awk等等就可以直接實(shí)現(xiàn)很多文本處理抚芦,我總覺(jué)得能在命令行能下直接解決的事情就沒(méi)必要調(diào)用python等等倍谜,學(xué)好Linux編程也很重迈螟。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市尔崔,隨后出現(xiàn)的幾起案子答毫,更是在濱河造成了極大的恐慌,老刑警劉巖季春,帶你破解...
    沈念sama閱讀 216,324評(píng)論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件洗搂,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡载弄,警方通過(guò)查閱死者的電腦和手機(jī)蚕脏,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,356評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)侦锯,“玉大人驼鞭,你說(shuō)我怎么就攤上這事〕吲觯” “怎么了挣棕?”我有些...
    開(kāi)封第一講書(shū)人閱讀 162,328評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)亲桥。 經(jīng)常有香客問(wèn)我洛心,道長(zhǎng),這世上最難降的妖魔是什么题篷? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,147評(píng)論 1 292
  • 正文 為了忘掉前任词身,我火速辦了婚禮,結(jié)果婚禮上番枚,老公的妹妹穿的比我還像新娘法严。我一直安慰自己,他們只是感情好葫笼,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,160評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布深啤。 她就那樣靜靜地躺著,像睡著了一般路星。 火紅的嫁衣襯著肌膚如雪溯街。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,115評(píng)論 1 296
  • 那天洋丐,我揣著相機(jī)與錄音呈昔,去河邊找鬼。 笑死友绝,一個(gè)胖子當(dāng)著我的面吹牛堤尾,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播九榔,決...
    沈念sama閱讀 40,025評(píng)論 3 417
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼哀峻,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼涡相!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起剩蟀,我...
    開(kāi)封第一講書(shū)人閱讀 38,867評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤催蝗,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后育特,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體丙号,經(jīng)...
    沈念sama閱讀 45,307評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,528評(píng)論 2 332
  • 正文 我和宋清朗相戀三年缰冤,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了犬缨。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,688評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡棉浸,死狀恐怖怀薛,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情迷郑,我是刑警寧澤枝恋,帶...
    沈念sama閱讀 35,409評(píng)論 5 343
  • 正文 年R本政府宣布,位于F島的核電站嗡害,受9級(jí)特大地震影響焚碌,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜霸妹,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,001評(píng)論 3 325
  • 文/蒙蒙 一十电、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧叹螟,春花似錦鹃骂、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,657評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)爷恳。三九已至有缆,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間温亲,已是汗流浹背棚壁。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,811評(píng)論 1 268
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留栈虚,地道東北人袖外。 一個(gè)月前我還...
    沈念sama閱讀 47,685評(píng)論 2 368
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像魂务,于是被迫代替她去往敵國(guó)和親曼验。 傳聞我的和親對(duì)象是個(gè)殘疾皇子泌射,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,573評(píng)論 2 353

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

  • Trinity是Broad Institute和Hebrew University of Jerusalem開(kāi)發(fā)的...
    xuzhougeng閱讀 32,562評(píng)論 10 55
  • 知識(shí)的學(xué)習(xí)沒(méi)有一蹴而就,沒(méi)有捷近鬓照,扎實(shí)的學(xué)習(xí)是唯一的捷近熔酷。 一篇RNA-seq分析流程的綜述,全面而詳細(xì)豺裆!深度好文...
    dandanwu90閱讀 48,492評(píng)論 5 152
  • 搜狐 有一種人雖然活在這個(gè)世界拒秘,卻總是保持著一種無(wú)可訴說(shuō)的警覺(jué)性與失落感,他很難找到內(nèi)心安定的港灣臭猜,對(duì)于這個(gè)...
    金牧云閱讀 259評(píng)論 0 0
  • 文|兮兮婭叮噹 人蔑歌,究竟是生而知之羹应,還是學(xué)而知之?為什么有些東西仿佛我們天生就知道似的次屠,天生內(nèi)在就會(huì)產(chǎn)生敏感量愧,建立...
    Cynthia雯霏閱讀 930評(píng)論 0 0
  • 什么是操作系統(tǒng)? 人與硬件設(shè)備的中介帅矗,橋梁 LINUX 的操作組成: 1# 外圍應(yīng)用程序 ...
    a狂飆的蝸牛閱讀 195評(píng)論 0 0