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

博文

Python脚本推荐——将fasta格式转换为Phylip

已有 18024 次阅读 2015-11-17 09:45 |系统分类:科研笔记|关键词:学者

Python 脚本推荐——将fasta格式转换为Phylip格式

至于fasta格式和phylip格式具体的格式要求,网络上很容易查找得到相关的资料,这里就不过多赘述。其实网上也有很多关于序列文件格式的转换器,但是根据我个人的使用经验,大多数的转换结果都是经典的Phylip格式(序列名称只允许10个字符),而目前支持Phylip格式运算的的软件如PHYML,RAxML早已经对序列名称的长度不做要求。这就使得在使用一些长名称序列时,由于转换器的原因,导致部分序列出现重名,进而出现报错。前几日偶然在网上发现一个好用的Python脚本,虽然简单,但非常实用,这里粘贴出来,以备后续使用:

fasta2phylip.rar

代码具体内容:

import re

with open('input.fas', 'r') as fin:
sequences = [(m.group(1), ''.join(m.group(2).split()))
for m in re.finditer(r'(?m)^>([^ n]+)[^n]*([^>]*)', fin.read())]
with open('output.phy', 'w') as fout:
fout.write('%d %dn' % (len(sequences), len(sequences[0][1])))
for item in sequences:
fout.write('%-20s %sn' % item)

在具体使用中,可以将input.fas更改为你自己fasta序列的名字,将output.phy更改为你希望输出的文件名

使用方法:

$ python fasta2phylip.py

声明:本脚本下载自网络,但由于时间过久,已经忘记了具体的获取地址,因为这里不予引用。若作者认为违反了您的利益,您可以在博客下留言,我将立刻删除。




https://m.sciencenet.cn/blog-1334016-935912.html

上一篇:推荐一个好用的Google Hosts更新地址——老D blog
下一篇:MySQL常见操作命令汇总

0

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

数据加载中...
扫一扫,分享此博文

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

GMT+8, 2024-3-29 18:18

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部