各位高手:扩展名为“fasta”的文件是什么类型的文件?谢谢!
可使用 SeaView 打开!
SeaView 是图形化多序列比对编辑器,能够读各种比对格式
Fasta格式,又叫Person(Fasta的主要作者)格式,是SeaView 最简单的格式,使用最多。
FASTA程序是第一个广泛使用的数据库相似性搜索程序。
程序引用取代矩阵实行局部比对以获得最佳搜索。但众所周知,使用这种策略会非常耗费工作时,为了提高速度,在实施耗时的最佳搜索之前,程序使用已知的字串检索出可能的匹配。在速度和敏感度之间权衡选择依赖于ktup参数。它决定了字串的大小。增大ktup参数就会减少字串命中的数目,也就会减少所需要的最佳搜索的数目和搜索的速度。
从2.0版本开始,FASTA对每一个检索的比对都提供一个统计学显著性的评估
FASTA文件里面的序列都是正链上的吗
FASTA是一个序列的保存形式,什么序列都可以保存的 但是你从网上所看到的序列,如NCBI上的基因序列,一般都是有义链上的
fasta,bam和gff格式的文件是用来描述什么类型的数据,每种格式的基本组成是什么
bam 和 gff不是很清楚,fasta知道一点.fasta是基因序列文件,第一行是序列的描述或者名称,用’>’符号开头.然后换行,第二行开始是基因序列,一般DNA的话就是A,G,C,T四种字符组成.有的FASTA第二行是不换行的,有的是换行的.这点需要注意.
请教如何从FASTA文件中批量查找序列
把要找的序列名每行一个存放在一个文本’id.list’中,然后运行:perl -e ‘open LST, shift; while( ){chomp; $hash{$_} = 1 } close LST; $/=">"; ; while( ){ chomp; $id = (split)[0] ; if (exists ( $hash{$id} )){ print ">", $_; } } ‘ id.list seq.fa
hmmer软件,怎么将fasta格式文件转换为sto格式
这问题我也遇到了,网上找半天没找到合适的方案,于是自己写了一个,代码如下
import glob # 都是标准库的东西
import os
# 把你想建hmm的fasta文件(比对好的)和本程序放在同一个文件夹里,然后运行本程序直接跑hmmbuild
os.chdir(os.path.dirname(__file__))
fs = glob.glob(‘*.fasta’) # 获取每个fasta文件,如果你的fasta文件里有不是.fasta后缀名的,可以改这里,或者直接改成’*.fa*’
for f in fs:
hmm = os.path.splitext(f)[0] + ‘.hmm’
stockholm = os.path.splitext(f)[0] + ‘.sto’
with open(f, ‘r’) as fhandle: # 这个是读fasta文件用的,把所有fasta文件都保存到列表里
fastas = [‘>’ + tmp.replace(‘\n’, ‘\r’, 1).replace(‘\n’, ”).replace(‘\r’, ‘\n’) for tmp in tuple(filter(None, (fhandle.read().split(‘>’))))]
for i in range(len(fastas)):
fastas[i] = fastas[i].split(‘\n’)
fastas[i][0] = fastas[i][0].split()[0][1:10]
tmp = []
for j in range(len(fastas[i][1]) // 80 + 1):
tmp.append(fastas[i][1][80 * j : 80 * j + 80])
fastas[i][1] = tmp
with open(stockholm, ‘w’) as out: # 这里在写sto文件
out.write(‘# STOCKHOLM 1.0\n\n’)
for j in range(len(fastas[0][1]) – 1):
for i in range(len(fastas)):
out.write(‘% -12s%s\n’ % (fastas[i][0], fastas[i][1][j]))
out.write(‘\n’)
for i in range(len(fastas)):
out.write(‘% -12s%s\n’ % (fastas[i][0], fastas[i][1][-1]))
out.write(‘//’)
os.system(‘hmmbuild –amino %s %s’ % (hmm, stockholm)) # 这里在跑hmmbuild,你可以自行修改里面的参数
怎么下载FASTA格式在ncbi
注意;看右上角,有个go…点击展开,有个选项可以选择fasta格式,就可以了..不选默认是nc(NCBI)格式
blast2go 分析蛋白序列时fasta文件为什么加载不上
必须将文件的后缀名改成.fasta才能被它识别,仅仅是TXT格式的保存是不够的!
两个FASTA文件的合并 python
Python编程将两个文件合并,代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
//例子:合并a.txt和b.txt文件
defreadf(filename):
lines =file(filename).readlines()
dic ={}
fori inlines:
i_ =i.split()
dic[i_[0]] =int(i_[1])
returndic
dica =readf(‘a.txt’)
dicb =readf(‘b.txt’)
lines =[]
fori indica:
percent =str(float(dicb[i])*100/dica[i])+’%’
s =’ ‘.join([i, str(dica[i]), str(dicb[i]), percent])
s +=’\n’
lines.append(s)
//合并成c.txt
with open(‘c.txt’, ‘w’) as f:
f.writelines(lines)
f.close()
怎样用perl把fasta文件中的多条序列分别处理?
你指的每个序列都是以>gi| test开头的么?那可以按行读进来,判断该行是否是>gi| test,如果是,接下来的每一行都单独处理,直到读到下一个>gi| test为止.
新手求助:用perl处理fasta文件
不需要你自己重新来写,单枪匹马,刀耕火种,不是一个好的办法。 正好我也在做bioinformatics这块儿,学了点bioperl,我帮你写了个小脚本,用这个工具能很快捷的搞定你的序列!! 我大致给你说下,具体自己上bioperl网站看How To。 现在假定你的序列都为fasta格式,先用 cat *.fasta > single_all_fasta.fasta 将所有fasta序列整合到一个fasta格式中。 然后编写bioperl脚本(你要事先安装bioperl,在debian和ubuntu下很简单,自带源里就有,直接sudo apt-get install bioperl即可,很方便),你参考下: 脚本使用方法为: perl get_fasta_length.pl single_all_fasta.fasta length.result 脚本我没有测试,一些小错误你可以修改下: #!/usr/bin/perl -w use strict; use Bio::SeqIO; my $in = shift; #读取文件名称 my $out = shift; #读取输出文件名称 my $flag = 0; #计数 open WH,”>> $out”; $seqio_obj= Bio::SeqIO->new (-file =>’$in’, -f =>’fasta’); while($seq_obj = $seqio_obj->next_seq() ) { print WH “$seq_obj->desc \t $seq_obj->length\n” ; print “正在处理第$flag条序列…\n”; $flag++; } print “完毕,共处理$flag条序列!结果保存至$out文件\n”; close WH; 建议: 学好bioinfo,不会perl不行,不会bioperl更不行,它不仅可以轻松批量处理序列格式,解析blast结果,甚至在脚本里做blast,而且还可以操作biosql数据库。呵呵 建议深入学习下。