muzi0202的个人博客分享 http://blog.sciencenet.cn/u/muzi0202

博文

一个从FASTA文件中提取特定序列的脚本

已有 6862 次阅读 2020-9-11 08:23 |系统分类:科研笔记

最近有个老师在做基于十多个保守基因的进化树分析,需要从几十个基因组中分别提取出特定的基因序列,如果对于每个基因都是“查找基因ID→复制基因序列→粘贴到文档中”这么一个循环,不仅仅是工作量极大,还非常容易出错。基于这类需求,我们今天分享一种快速提取序列的方法:一个从FASTA文件中提取特定序列的脚本。


除了一些复杂的软件能够完成上面的需求之外,另外一种非常方便快捷的方法就是使用编程。虽然大部分研究人员都不懂编程,但使用编写好的脚本,按图索骥,还是非常简单的。今天给大家分享的是一段python脚本。

 如果Windows(或Mac)电脑上尚未安装Python语言,可以直接下载安装,这里提供两种下载方法:

①Python官方下载渠道:https://www.python.org(访问较慢)

②关注本公众号并回复“Python安装包”,即可高速下载最新版本。


1

Python的安装使用


目前最新稳定版本是3.8.5版本,本文以64位版本为例安装。

image.png

image.png

image.png

image.png

2

脚本的使用

1、脚本获取

关注微信公众号(密码子实验室,mimazilab

回复关键词“fasta文件提取python脚本”,获取脚本下载路径。

2、python运行环境检测

方法① 使用快捷键“win+R”(windows键就是键盘上Ctrl和Alt键之间的带有微软windows标志的按键),输入cmd,点击“确定”,调出DOS操作界面,输入“python”即可看到安装的版本。

image.png

image.png

方法② 在目标目录文件夹下(实际上可以是任意文件夹下),按住“Shift”键,同时右击鼠标,弹出菜单中选择“在此处打开Powershell窗口,或者在当前文件夹下,点击本文件夹最左上角的“文件”菜单,选择“打开Windows PowerShell”,在弹出的界面中输入“python”获取相关信息。

提示:可以输入“exit()”然后按回车键退出,或者按住“Ctrl+z”然后按回车键退出。

image.png

image.png

3、文件准备

本脚本的数据源包括两个,一个是包含了各条基因序列的FASTA文件,一个是含有目的基因名称的list文件。源序列文件建议使用fasta、fna或者fa等常见后缀,list文件建议使用记事本生成txt后缀文件或者使用word文档保存成txt后缀文档。

本文中以从GenBank中下载的一个基因组CDS核酸序列为例展示,并将基因序列号做了重新编排。

Tips:

①基因组fasta文件往往比较大,推荐大家使用UltraEdit或者NotePad++软件打开这类大文件,会很顺畅不死机,如果需要序列号授权版请在留言区联系我们;

②对于DOS操作系统不熟悉的用户往往会因文件路径问题而抓狂,为了简化文件路径,建议大家把脚本文件、FASTA源文件、含有目标序列名称的list文件放在同一个目录下,最后的结果文件也生成在该目录下;

③ 如果对于数据文件下载、源文件格式、list文件格式等有疑问,可以单独联系小编(微信号:15618204007)。

 4、脚本使用

本脚本的使用方法是,在DOS界面(实际上在Linux系统中也是一样方法)中输入“python -help”,然后回车即可获得使用方法。

image.png

实战操作:

在PowerShell或者命令提示符界面输入“python .\fasta-extract.py .\test.fasta .\test-list.txt .\test-result.fasta”,回车即可获得结果文件。

image.png


image.png

说明:

①输入“python”是开始调用已安装的python程序,在DOS系统中,也可以使用“python.exe”,效果是一样的;

②文件名前加“.\”表示当前目录下,如果是其他路径,可以直接输入绝对路径;

③ list文件中的序列名称,必须与源文件中相应的序列名称完全一致,否则不能识别和有效提取。

FAQ

Q1:蛋白质序列能提取吗?

A1:只要是FASTA格式的文件,无论是核酸序列还是蛋白质序列,都能有效提取,操作方法完全一致。

Q2:除了提取特定基因序列外,这个脚本还能做什么?

A2:本脚本专用于从包含有多个FASTA字段的源文件中提取特定的某条或者某些条FASTA序列,可用于从基因组CDS文件中提取特定编号的基因序列、从组装结果文件中提取特定的contig或者scaffold序列,从测序的原始reads中提取特定的某些reads等等。

各位小伙伴,以上的教程学会了吗?
如果需要下载本脚本以及本案例中的数据文件,请关注本公众号(密码子实验室:mimazilab)并回复关键词“fasta文件提取python脚本”,即可获得下载链接。



image.png




https://blog.sciencenet.cn/blog-3445347-1250102.html

上一篇:一文学会质粒图谱绘制软件——SnapGene viewer
下一篇:高颜值多维venn图——你学会了吗?
收藏 IP: 183.195.182.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-11-26 12:26

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部