美文网首页生信小白白
生信小白必备工具:BLAST

生信小白必备工具:BLAST

作者: lakeseafly | 来源:发表于2019-05-11 15:38 被阅读0次

    这期开始将会系统的介绍一些生信初学者经常使用的工具,流程,敬请大家关注。首先今天和大家讲讲本地版的BLAST,一款作为生信工作者的你,这个是你每天都会用到的工具。这个网页版的blast估计你一定不会陌生吧?


    基本介绍

    BLAST是Basic Local Alignment Search Tool的缩写,直接翻译过来就是基本局部比对搜索工具

    常用的BLAST program有四个:

    查询序列类型 数据库类型 BLAST program
    核苷酸 核苷酸 blastn: 使用核苷酸序列去搜索核苷酸数据库
    核苷酸 蛋白质 blastx: 使用核苷酸序列去搜索蛋白质数据库
    蛋白质 核苷酸 tblastn: 使用蛋白质序列搜索核苷酸数据库
    蛋白质 蛋白质 blastp:使用蛋白质序列搜索蛋白质数据库

    实战如何使用blast寻找同源基因

    科学家在鱼(Seriola quinqueradiata)中发现了一种与寄生虫(Benedenia)抗性相关的基因(C-凝集素)。我们实战的问题中的目标是在琥珀鱼(Seriola rivoliana)基因组中找到相应的基因。

    首先,从NCBI下载Seriola rivoliana基因组

    wget ftp://ftp.ncbi.nlm.nih.gov/genomes/all/GCA/002/994/505/GCA_002994505.1_ASM299450v1/GCA_002994505.1_ASM299450v1_genomic.fna.gz
    
    #unzip
    gunzip GCA_002994505.1_ASM299450v1_genomic.fna.gz
    

    获得C-凝集素蛋白质序列

    vi benediniaGene.fasta
    
    ###将下面序列
    
    >C-LECTIN
    MKTLLILSVVLCAALSVRAAAVVPAEAATAQLGDKAAPEPEAVKDTAVEDTAVEETAVEDTAVEETAVEDTAVEETAVEDTAVEETAVEDTAVEDTAVEDTAVEDTAVEDTAVEETAVEDTAVEDTAVEDTAVAAGRPAGLRQTRLSFCLDGWQSFSGKCYFLANHPDSWANAERFCASYEGSLASVGSIWEYNFLQRMVKTGGHAFAWIGGYYFQGEWRWEDGSRFDY
    SNWDTPRSTAYYQCLLLNSQVSMGWSNNGCNMNFPFVCQVRQLNC
    
    

    创建基因组的核苷酸序列数据库

    makeblastdb -in GCA_002994505.1_ASM299450v1_genomic.fna -dbtype nucl -input_type fasta -out SerRivdb
    

    参数:

    • -in:在这里,我们使用S. quinqueradiata基因组。
    • -dbtype:我们希望生成的数据库类型,这里我们输入是核苷酸序列,选用nucl。如果是蛋白质序列作为输入,可以使用prot
      -input_type:输入文件的类型(fasta)
      -out:要生成的数据库的输出前缀

    输出结果看起来像这样:

    Building a new DB, current time: 08/03/2018 15:32:36
    New DB name:   /pylon5/mc48o5p/severin/Seriola/Rivoliana/SerRivdb
    New DB title:  GCA_002994505.1_ASM299450v1_genomic.fna
    Sequence type: Nucleotide
    Keep MBits: T
    Maximum file size: 1000000000B
    Adding sequences from FASTA; added 1343 sequences in 5.96571 seconds.
    

    建库完成之后,我们要使用蛋白质序列对核苷酸数据库进行搜索,因此我们需要BLAST第中tblastn的program,其基本用法如下:

    tblastn -db SerRivdb -query benedeniaGene.fasta  -out blastout.txt
    

    参数

    • -db:由makeblastdb和参考fasta文件生成的基因组参考数据库
    • -query:我们这里是要比对的蛋白质序列文件
    • -out:你希望将结果输出的文件

    默认OUTPUT结果

    > PVUN01001342.1 Seriola rivoliana isolate HWSR04 Scaffold_1308,
    whole genome shotgun sequence
    Length=25273714
    
     Score = 72.4 bits (176),  Expect(2) = 3e-21, Method: Compositional matrix adjust.
     Identities = 32/36 (89%), Positives = 33/36 (92%), Gaps = 0/36 (0%)
     Frame = -3
    
    Query  214      YFQGEWRWEDGSRFDYSNWDTPRSTAYYQCLLLNSQ  249
                    + Q EWRWEDGSRFDYSNWDTP STAYYQCLLLNSQ
    Sbjct  2542610  FLQDEWRWEDGSRFDYSNWDTPSSTAYYQCLLLNSQ  2542503
    
    
     Score = 51.2 bits (121),  Expect(2) = 3e-21, Method: Compositional matrix adjust.
     Identities = 22/25 (88%), Positives = 23/25 (92%), Gaps = 0/25 (0%)
     Frame = -2
    
    Query  250      VSMGWSNNGCNMNFPFVCQVRQLNC  274
                    VS GWSNNGCNM FPFVCQVRQL+C
    Sbjct  2542419  VSKGWSNNGCNMRFPFVCQVRQLDC  2542345
    
    
     Score = 85.5 bits (210),  Expect = 3e-17, Method: Compositional matrix adjust.
     Identities = 39/54 (72%), Positives = 44/54 (81%), Gaps = 0/54 (0%)
     Frame = -3
    
    Query  163      LANHPDSWANAERFCASYEGSLASVGSIWEYNFLQRMVKTGGHAFAWIGGYYFQ  216
                    + N   S    +RFCAS++GSLASV SIWEYNFLQRMVKTGGH FAWIGGYYF+
    Sbjct  2543138  IKNKSSSPVVLQRFCASFDGSLASVRSIWEYNFLQRMVKTGGHKFAWIGGYYFE  2542977
    

    为了输出更加简洁,这里调整一下输出的格式:

    tblastn -db SerRivdb -query benediniaGene.fasta  -outfmt '6 qseqid sseqid pident length mismatch gapopen qstart qend sstart send evalue bitscore qcovs salltitles' -num_threads 16 -out blastout2.txt
    

    这样每行每列都会按照你输出的格式来输出,blast结果有很多内容,但是我们一般重点关注e-value,比对上的长度 length 还有比对的相似度 pident。这里我们查看一下具有相似度50%以上的blast结果:

    more blastout2.txt  | awk '$3>50'
    C-LECTIN        PVUN01001342.1  88.889  36      4       0       214     249     2542610 2542503 3.15e-21        72.4    49      PVUN01001342.1 Seriola rivoliana isolate HWSR04 Scaffold_1308, whole genome shotgun sequence
    C-LECTIN        PVUN01001342.1  88.000  25      3       0       250     274     2542419 2542345 3.15e-21        51.2    49      PVUN01001342.1 Seriola rivoliana isolate HWSR04 Scaffold_1308, whole genome shotgun sequence
    C-LECTIN        PVUN01001342.1  72.222  54      15      0       163     216     2543138 2542977 3.04e-17        85.5    49      PVUN01001342.1 Seriola rivoliana isolate HWSR04 Scaffold_1308, whole genome shotgun sequence
    C-LECTIN        PVUN01001342.1    85.714  35      5       0       140     174     2543329 2543225 4.08e-11        67.0    49      PVUN01001342.1 Seriola rivoliana isolate HWSR04 Scaffold_1308, whole genome shotgun sequence
    

    这样子你就可以找到C-LECTIN蛋白在琥珀鱼(Seriola rivoliana)基因组中同源相似的序列(在PVUN01001342.1上2542610bp位置附近)。然后你就可以基于这一段序列,做一些列下游的分析实验验证了。好了介绍差不多了,当然这里没有完全介绍完blast program的所有参数,这个大家可以去其帮助文档或者手册进行进一步的学习。对运行大批量的蛋白质或者核苷酸序列进行本地nt数据库的搜索,推荐大家可以使用将大块的序列切成小块,再通过并行运行来缩短运行的时间。

    相关文章

      网友评论

        本文标题:生信小白必备工具:BLAST

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