最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python從gbff文件中直接提取cds序列

 更新時間:2022年07月01日 09:03:41   作者:生信工具箱  
這篇文章主要為大家介紹了python從gbff文件中直接提取cds序列示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

什么是GBFF文件

  • GenBank純文本文件格式(GenBank flatfile, 簡稱GBFF)
  • GBFF是GenBank數(shù)據(jù)庫的基本信息單位
  • GBFF序列文件由單個的序列條目組成。
  • 序列條目由字段組成,每個字段由關鍵字起始,后面為該 字段的具體說明。
  • 字段分若干次子字段,以次關鍵字或特性表說明符開始。
  • 每個序列條目以雙斜杠“//*作結束標記

每個序列條目所代表的意義

1、 LOCUS(代碼)序列的功能、序列長度、類型、種屬來源、錄入日期

2、 DEFINITION(說明)所含的生物學意義的總結性描述

3、 ACCESSION(編號)具有唯一性和永久性

4、 VERSION(版本號)檢索號、版本號

5、 KEYWORDS(關鍵詞)描述序列,“ . ”表示沒有任何描述內(nèi)容

6、 SOURCE(數(shù)據(jù)來源)序列來源生物的簡稱,或分子類型

7、 REFERENCE (文獻)與該數(shù)據(jù)有關的參考文獻,按發(fā)表時間排名

8、 FEATURES(特性表)描述基因和基因的產(chǎn)物,以及與序列相關的生物學特性,其中包括
 

  • a. 特性關鍵詞(Feature key) 簡要說明功能組的關鍵詞
  • b. 特性位置(Location) 指明在特性表中的什么地方找到相關特性
  • c. 限定詞(Qualifiers) 相關特性的輔助信息

9、 ORIGIN(堿基排列順序)類似于FASTA格式給出了所記錄的序列

最后直接上代??,更改輸入和輸出文件即可使用

import re
FILE_PATH = './input.gb'
OUT_FILE_PATH = './output.fasta'
d = {}
g = {}
tem = []
def con_spl(list_,n = 2):
    return [list_[i:i + n] for i in range(0, len(list_), n)]
with open (FILE_PATH,'r')as f:
    while True:
        text_line = f.readline().strip('\t').split()
        if text_line:
            if text_line[0] == 'DEFINITION':
                c = ' '.join(i for i in text_line[2:])
                d[c] = []
                g[c] = []
                print (text_line)
            elif text_line[0] == 'CDS':
                cds = re.findall(r"\d+\d*?",text_line[1])
                if len(cds) == 2:
                    d[c].append(cds)
                else:
                    for i in con_spl(cds):
                        d[c].append(i)
            elif text_line[0] == 'ORIGIN':
                while text_line[0] != '//':
                    for i in text_line[1:]:
                        tem.append(i)
                    text_line = f.readline().strip('\t').split()
                e = ''.join(i for i in tem)
                g[c].append(e)
            else:
                pass
        elif f.readline().strip('\t').split():
            continue
        else:
            break
with open (OUT_FILE_PATH,'w')as f:
    for i,o in d.items():
        G = ''.join(g[I])
        p = ''
        for u in o:
            u1 = int(u[0])
            u2 = int(u[1])+1
            p += G[u1:u2]
        print ('>',i,sep='',file=f)
        print (p,file=f)

以上就是python從gbff文件中直接提取cds序列的詳細內(nèi)容,更多關于python提取gbff文件cds序列的資料請關注腳本之家其它相關文章!

相關文章

最新評論

通化市| 宽甸| 金塔县| 邹城市| 宣城市| 鄄城县| 泸水县| 眉山市| 惠水县| 三穗县| 慈利县| 扬中市| 巴彦淖尔市| 尖扎县| 油尖旺区| 昆明市| 南靖县| 彩票| 遵义市| 淮安市| 岑溪市| 涟水县| 湖北省| 武安市| 于都县| 通江县| 桐庐县| 建阳市| 阳新县| 潢川县| 荣昌县| 贡嘎县| 瓮安县| 白水县| 屏边| 陵川县| 徐水县| 乌兰察布市| 柳江县| 崇阳县| 会昌县|