FASTA文件分割

FASTA文件高效分割技巧
本文介绍了两种对FASTA格式序列文件进行分割的方法。方法一是使用awk命令,按每条序列一个文件进行分割;方法二是利用perl脚本fasta-splitter.pl,通过指定份数将文件均匀分割。详细操作步骤及下载链接见内容。
部署运行你感兴趣的模型镜像

FASTA格式是一种用于记录序列的文本格式,在生信分析中经常会用到.fasta文件中往往储存成千上万条序列,而在某些时候,需要对文件进行分割,如分割成每个序列一个文件,或分割成较小的fasta文件
假如有如下数据:
Tricas1.fasta
$ head Tricas1.fasta

CM000276.2
tgatttttaggttagaaattgttttttaaacacgtgttcgcgccattttttttatttatt
tgccaattaagtgcacgtgtccgcgccatttaaaattttgttaccgatttagtgcgattt
tttaggttggcattactttttaaacacgtaactgcgccatttttttaatttagttacctg
tttagcgtgatttttaggttagaaattgttttttaaacacgtgttcgcgccatttttttt
atttatttgccaattaagtgcacgtgtccgcgccatttaaaattttgttaccgatttagt
gcgattttttaggttggcattactttttaaacacgtaactgcgccatttttttaatttag
ttacctgtttagcgtgatttttaggttagaaattgttttttaaacacgtgttcgcgccat
tttttttttatttatttaccgaataagtgcacgtgtccgctccatttaaaattttattag
cgatttagtgcgattttttaggttggcattactttttaaacacgtaactgcgccattttt

这里介绍几种方法对fasta文件进行分割。
方法一:awk
这个方法将文件分割为每条序列一个文件

awk '/^>/{s=++num}{print > "Tricas1_"s".fa"}' Tricas1.fasta

awk 依次对文件的每一行进行处理,当遇到 > 开头的行时,执行 ++num(即 num = num + 1),并将结果赋值给 s,然后将结果重定向给 example_s.fa(其中,在第一条序列时,s 为 1);当处理的行为序列时,语句 /^>/{s=++num} 不执行,直接执行 {print > "example_"s".fa"}(和 {print $0 > "example_"s".fa"} 一样)。

基于以上原理,实现了 fasta 文件的分割。
方法二:perl
该程序可以通过参数 --n-parts num 设定需要将文件设定为 num份,如下面的示例将文件分为两份(使得序列数目尽量相同);当将num 设置成序列的总数时,其效果与方法一

$ perl fasta-splitter.pl --n-parts 2 Tricas1.fasta
程序下载地址:http://kirill-kryukov.com/study/tools/fasta-splitter/files/fasta-splitter-0.2.6.zip

解压即可使用:unzip fasta-splitter-0.2.6.zip

转载于:https://www.cnblogs.com/huangyinger/p/10418661.html

您可能感兴趣的与本文相关的镜像

Stable-Diffusion-3.5

Stable-Diffusion-3.5

图片生成
Stable-Diffusion

Stable Diffusion 3.5 (SD 3.5) 是由 Stability AI 推出的新一代文本到图像生成模型,相比 3.0 版本,它提升了图像质量、运行速度和硬件效率

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值