基因组注释之从头预测

作者: javaLi | 来源:发表于2019-06-08 15:39 被阅读79次

    1.创建本地BLAST数据库

    使用makeblastdb程序,对上述FASTA格式的蛋白 质序列进行处理,建立本地BLAST数据库。
    makeblastdb -in ./uniprot-taxonomy_fungi+reviewed_yes.fasta -title uniprot_protein -dbtype prot -out uniprot_protein

    2.从头预测全基因组中的基因

    下载安装augustus软件,使用augustus进行从头预测全基因组中的基因。
    2.1使用augustus对基因组序列进行基因预测分析,保存GFF格式的预测结果。

    augustus --gff3=on --outfile=Sc_augustus_out.gff3 --species=saccharomyces_cerevisiae_S288C ./GCA_000977205.2_Sc_YJM1338.fna
    
    augustus结果
    #抽取gff文件中的fasta序列
    sed -n '/^#/p' Sc_augustus_out.gff3 | sed -n '/start/,/\]/p' | sed 's/# start gene />/g;s/protein sequence \= \[//g;s/#//g;s/\]//g;s/^\s//g' > seq.fa
    
    蛋白质序列

    2.3、使用合适的blast程序对该预测基因与已知蛋白序列进行比对
    使用blastp工具对预测蛋白质序列与已知蛋白质序列进行比对,保留打分最高的比对结果。

    nohup blastp -query seq.fa -db uniprot_protein -out ./blastp_results.outfmt6 -outfmt 6 -evalue 1e-5 -max_target_seqs 1 -num_threads 20 &
    

    2.4 编写Python脚本,把2.3结果合并到2.1获得的GFF格式结果中,使用相似性蛋白的缩写名称,替换原来预测的基因名称,保存为一个新的GFF文档。

    #!/usr/bin/env python
    # coding: utf-8
    import re
    with open('blastp_results.outfmt6','r') as f:
        fi=f.readlines()
    all=dict()
    for i in fi:
        str=i.split("\t")
        if (str[0] in all.keys()):
            pass
        else:
            st=str[1].split("|")
            all[str[0]]=st[1]
    with open('Sc_augustus_out.gff3','r') as sc:
        sc_line=sc.readlines()
    myopen=open('sc2.gff3','a')
    patt='.*ID=(g[0-9]+)$'
    for i in sc_line:
        if re.match(patt,i):
            m=re.match(patt,i).group(1)
            if (m in all.keys()):
                i=i.strip("\n")+';name='+all[m]+"\n"
        print(i)
        myopen.write(i)
    myopen.close()
    

    3.从头预测结果的评估

    使用gffcompare工具把第2.4步结果与步原始GFF数据以及实验3结果进行比较,查看结果,并分析它们之间的异同之处。

    #第2.4步与原始GFF数据比较
    ./gffcompare -r file/GCA_000977205.2_Sc_YJM1338_v1_genomic.gff -o compare file/sc2.gff3
    #第2.4步与实验3结果进行比较
    ./gffcompare -r file/sc2.gff3 -o compare_test3 file/outresult6_pl.gff3
    
    比较

    与同源搜索相比,从头预测不仅预测出了内含子区域和转录区域,且可信度较好;在外显子水平上,从头预测比同源搜索效果要好。从整体来看,从头预测的效果好于同源搜索。

    相关文章

      网友评论

        本文标题:基因组注释之从头预测

        本文链接:https://www.haomeiwen.com/subject/dnyixctx.html