使用Python脚本读取fasta文件
读取FASTA文件
使用pip下载biopython
pip.exe install biopython
import sys
from Bio import SeqIO
sys.path #检查模块安装路径
SeqIO是BIo包的子包,一般py结尾的为模块。
sys.path 检查模块安装路径
from Bio.SeqRecord import SeqRecord
from Bio.Seq import Seq
加载对应的包。
SeqIO 读取序列文件
方式一 使用parse读取然后使用for循环迭代
SeqIO.parse("基因课Python学习/Python20201122/data/fasta_example_data/small_ls_orchid.fasta", "fasta")
sri = SeqIO.parse("基因课Python学习/Python20201122/data/fasta_example_data/small_ls_orchid.fasta", "fasta")
type(sri)
<class ‘Bio.SeqIO.FastaIO.FastaIterator’>中FastaIterator为迭代器
next(sri)for sr in sri:print(sr.seq)
#此方式相当于列表,不好抓取。
方式二:index 建议用index 信息为键 SeqRecord为值的字典。
fn = "基因课Python学习/Python20201122/data/fasta_example_data/small_ls_orchid.fasta"
def get_acc(old_key):infos = old_key.split('|')new_key = infos[3]# 断言,鲁棒性assert len(infos)==5 and infos[0]=='gi' and infos[2] ='emb'return new_key
seq_index = SeqIO.index(fn,'fasta',key_function=get_acc)
list(seq_index.keys())
list(seq_index.values())
SeqRecord
seq_index['Z78533.1']
Seq
my_str = 'AATCCGGAGGACCGGTGTACTCAGCTCA'my_str.upper()
my_str.lower()
my_str[1:20:2]
my_str[::2]
my_str[::-1] #反向my_seq =Seq( 'AATCCGGAGGACCGGTGTACTCAGCTCA')
my_seq.count('G') #记数
my_seq.upper() #全体大写my_seq.complement() # 互补
my_seq.reverse_complement() #反向互补
#Seq对象里面存的是序列,Seqrecord不仅存了序列还存了序列的id等信息
coding_dna =Seq("AATCCGGAGGACCGGTGTACTCAGCTC")
coding_dna.transcribe() #转录
coding_dna.translate() #翻译
coding_dna.translate(to_stop=True)coding_dna.translate(table=2) #挑选密码子表。str(seq_index['id'].seq)
#提取碱基序列,并转换为字符串模式。其中name,id,seq,都可提取。
小结
此篇文章针对上一篇计算测序文件N50,来解决实际问题,我们得到的数据一般是fasta文件,往往需要进行初步处理,才能得到之前博文里面的准备数据,即染色体长度数据,所以对fasta文件提取工作显得十分重要,本文主要采用了Biopython
来进行一系列操作,通常使用的是seq_index = SeqIO.index(fn,‘fasta’,key_function=get_acc),因为其抓取出来是字典模式,方便后面切片筛选,同时seq函数能够对序列进行大小写转换,计数序列里面的碱基,进行互补,反向互补,翻译,转录,等操作,大大提高了序列的可操作性。最近事情挺多的能坚持下来感觉自己还是挺厉害,虽然自己感觉还是没有学透,但是自己慢慢在积累,我觉得就已经很不错了。加油!
最后再来点鸡汤,不然文字过少,系统给我认定文章内容不佳,真是太难了。世上没有不平的事,只有不平的心。不去怨,不去恨,淡然一切,往事如烟。有多少残酷,你就该有多少坚强;有多少努力,你就会有多少光芒。没有太晚的开始,不如就从今天行动。总有一天,那个一点一点可见的未来,会在你心里,也在你的脚下慢慢清透。生活,从不亏待每一个努力向上的人。
使用Python脚本读取fasta文件相关推荐
- python打开文件报错无效序列_如何在python中读取fasta文件?
我正在尝试读取FASTA文件,然后查找特定的 motif(string)并打印出序列和次数. A FASTA file只是一系列序列(字符串),以标题行开头,标题或新序列的开头是">& ...
- 利用Python读取fasta文件并进行一系列操作(上)
利用Python读取fasta文件并进行一系列操作(上) 概述 语言:python3.8 模块:pysam collections 可选:jupyter 整体思路:将fasta格式的基因原始数据处理为 ...
- python读取整个txt文件-python怎么读取txt文件内容
读取文件: 步骤:打开 -- 读取 -- 关闭>>> f = open('/tmp/test.txt') >>> f.read() 'hello python! h ...
- python怎么读取txt文件-python怎么读取txt文件内容
读取文件: 步骤:打开 -- 读取 -- 关闭>>> f = open('/tmp/test.txt') >>> f.read() 'hello python! h ...
- 【Python】读取 txt 文件
使用 python 脚本对 txt 文件进行读取: 本例中,txt 内容为 1,1,1: with open('./task.txt') as f:lst = f.read() # 使用 with 方 ...
- python pandas读取csv文件指定行_python pandas获取csv指定行 列的操作方法
python pandas获取csv指定行 列的操作方法 pandas获取csv指定行,列 house_info = pd.read_csv('house_info.csv') 1:取行的操作: ho ...
- xml的学习和使用python解析读取xml文件
1. XML的介绍 XML 指可扩展标记语言(EXtensible Markup Language). 和json类似也是用于存储和传输数据,还可以用作配置文件. 类似于HTML超文本标记语言,但是H ...
- json字段顺序读取 python_如何利用Python批量读取视频文件的时间长度?
本期的主题是利用Python来实现对视频文件时间长度的读取. 在学习编程语言时,相比较于通过书本来学习知识,我更喜欢通过观看学习视频的方式来进行学习,通过主讲老师的讲解,我能很直观且快速的了解一些知识 ...
- python怎么读取txt文件内容然后保存到excel-Python实现读取txt文件并转换为excel的方法示例...
本文实例讲述了Python实现读取txt文件并转换为excel的方法.分享给大家供大家参考,具体如下: 这里的txt文件内容格式为: 892天平天国定都在?A开封B南京C北京(B) Python代码如 ...
最新文章
- java modelmapper_java - 使用ModelMapper映射抽象类型的字段 - SO中文参考 - www.soinside.com...
- 有符号数据的符号位扩展
- C#2.0泛型-Dictionary,List的用法
- 基于用户画像的实时异步化视频推荐系统
- Release Type
- 2018-2019-1 20165202 《信息安全系统设计基础》第四周学习总结
- Flash背景透明的代码
- 如何在Ubuntu 16.04上创建多节点MySQL集群(MySQL-Cluster)
- CGRect包含交错,边缘,中心的检测
- rabbitmq-plugins.bat enable rabbitmq_management
- org.apache.commons.io如何使用
- 2021年2月十大热门报告盘点(附百大热门报告列表及下载链接)
- 后台传值给前台p标签
- Aerospike 使用场景
- 软考网络工程师基础知识
- python弹性碰撞次数圆周率_期末作业 - 作业部落 Cmd Markdown 编辑阅读器
- Centos 7.4 防火墙关闭命令
- Ubuntu 18.04 LTS系统主题美化
- RPC框架的意义和用法,什么是RPC
- 数据库中html数据类型,常用数据库的字段类型及大小
热门文章
- Android控制wifi开关
- 用jQuery提取到input中value值 checked选择器
- 七夕界的浪漫之光,向你安利程序员的表白方式
- 特征选择方法详解Part2-卡方检验、互信息(Mutual Information)
- WordPress – wp-rocket插件的简单设置以及如何加速网站
- 64位开源处理器Rocket的源代码简单介绍
- SATA、AHCI、ATA等相关知识概述
- 机器学习:神经网络中的激活函数
- 1404111-67-6,N-Boc-PEG5-alcohol,N-Boc-PEG5-CH2CH2OH实验室常用试剂的保存方法
- Win7网络修复,winsock/tcpip