2020.10.13丨Blast本地比对及可视化

  • 这次接到一个客户的需求,他自己组装了一个大肠杆菌的序列(之前客户用它比对,所以简称A基因组),并且想用这个基因组对几个样品进行比对和注释,但注释结果不太好,所以问我们能不能比对用这个客户组装的基因组,注释用NCBI上的标准的参考基因组(B基因组)的注释文件。
  • 我的第一反应就是不行,即使物种类似,不同基因组肯定在长度、位置上有差异,导致注释信息不匹配。本来都打算直接用B基因组给客户从比对开始做。但领导提醒我,开始之前还是需要先回复客户,得到客户的意见反馈后再开始。如何给客户回答这个问题,就是我本次的工作。
  • 首先,在NCBI上检索,在核苷酸一栏检索得到客户组装的A基因组\B基因组的序列信息
  • 查看Genbank基本信息,发现组装序列为4546849 bp,而标准基因组有4641652 bp 。10万bp的差异,基本不能用了。接下来就是要对两个序列进行比对,看看有没有可能缺失片段是连续的,如果正好连续且都在尾部,那前面注释信息似乎也可以用,不过这个概率太小了。
  • 本来打算线上比对,结果软件提示序列过长,不支持,因此,我们需要下载序列到本地进行比对。
  • 首先,下载A、B基因组序列,选择的是fasta格式
### 如何设置和运行本地BLAST进行核酸序列比对 #### 软件安装与环境准备 为了在本地环境中成功运行 BLAST 工具,首先需要完成软件的下载与安装过程。可以从 NCBI 的官方网站获取最新版本的 BLAST+ 套件,并按照操作系统的要求执行相应的安装脚本或程序[^1]。 #### 数据库构建 在进行序列比对之前,需准备好参考数据库文件。如果目标是核酸序列比对,则应确保数据库由核酸序列组成。可以通过以下命令创建自定义数据库: ```bash makeblastdb -in input_sequences.fasta -dbtype nucl -out my_nucl_database ``` 上述命令中 `-in` 参数指定输入 FASTA 文件路径,`-dbtype nucl` 表明该数据库为核苷酸类型,而 `-out` 则指定了输出数据库名称[^2]。 #### 执行序列比对 一旦数据库建立完毕,即可通过 `blastn` 命令实现核酸序列之间的比对操作。基本语法如下所示: ```bash blastn -query query_sequence.fasta -db my_nucl_database -out results.txt -evalue 0.001 -task megablast ``` 这里 `-query` 是待查询的目标序列文件;`-db` 对应先前生成的数据库名;`-out` 设定结果保存位置;`-evalue` 阈值控制显著性水平筛选标准;`-task` 可选参数决定了具体算法变体的选择,比如 `megablast` 更适合高度相似序列间比较[^3]。 #### 结果解读 完成比对后会得到一个文本形式的结果报告,默认采用制表符分隔格式(TSV),便于后续处理分析。每条记录通常包含匹配片段的位置信息、得分情况以及期望值(E-value)等多项指标用来衡量两段序列之间关联程度高低[^4]。 ```python import pandas as pd df = pd.read_csv('results.txt', sep='\t', header=None) print(df.head()) ``` 以上 Python 代码展示了如何加载 TSV 格式的 BLAST 输出数据到 Pandas DataFrame 中以便进一步统计挖掘。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

穆易青

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值