fasta文件拆分与合并

Linux中fasta文件的拆分与合并

FASTA文件的拆分:

(1)如果从一个文件a提取第11至20个序列存到另一个文件b:

awk -v RS=‘>‘ ‘NR>1{i++}i>=10&&i<=21{print ">"$0}‘ a.fasta|sed ‘/^$/d‘>b.fasta

(2)将某一文件a中每一条序列保存到一个文件中:

awk ‘/^>/{f=++d".fasta"} {print > f}‘ input.fasta

FASTA文件合并:

cat *.fasta > output.fastacat `ls -tr *.fasta` > output.fasta  #按时间反序的顺序合并文件
  • 转载自:http://www.yelinsky.com/blog/archives/380.html
时间: 2024-07-30 13:44:19

fasta文件拆分与合并的相关文章

JAVA学习笔记(三十六)- 文件的拆分和合并

文件的拆分和合并 import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.SequenceInputStream; import java.util.Enumeration; import java.util.Vector; /* * 文件的拆分和合并 */ public class

Goldengate进程的拆分与合并

Goldengate的拆分与合并分类: ORACLE GoldenGate 2013-10-10 15:22 721人阅读 评论(0) 收藏 举报在使用Goldengate作为复制解决方案时,随着负载的增加,replicat组件常常是最先出现性能瓶颈的.为了适应不断增加的负载,就需要拆分replicat来实现并行复制,本文介绍Goldengate拆分的具体实施步骤.同时,作为拆分的逆向操作,介绍如何将拆分的多个replicat合并回一个replicat. 拆分的方式一般分为两种:一种是用gold

大文件拆分问题的java实践(附源码)

引子 大文件拆分问题涉及到io处理.并发编程.生产者/消费者模式的理解,是一个很好的综合应用场景,为此,花点时间做一些实践,对相关的知识做一次梳理和集成,总结一些共性的处理方案和思路,以供后续工作中借鉴. 本文将尝试由浅入深的方式表述大文件拆分的问题及不同解决方案,给出的方案不一定是最优解,也并非线上环境论证过的靠谱方式,目的只是在于通过该问题融会贯通io.多线程等基础知识理论.生产环境请慎用. 本文不会逐行讲解代码实现,而注重在方案设计及思路探讨上,但会在文末附上源码demo git地址. 问

java:快速文件分割及合并

文件分割与合并是一个常见需求,比如:上传大文件时,可以先分割成小块,传到服务器后,再进行合并.很多高大上的分布式文件系统(比如:google的GFS.taobao的TFS)里,也是按block为单位,对文件进行分割或合并. 看下基本思路: 如果有一个大文件,指定分割大小后(比如:按1M切割) step 1: 先根据原始文件大小.分割大小,算出最终分割的小文件数N step 2: 在磁盘上创建这N个小文件 step 3: 开多个线程(线程数=分割文件数),每个线程里,利用RandomAccessF

(转)java:快速文件分割及合并

文件分割与合并是一个常见需求,比如:上传大文件时,可以先分割成小块,传到服务器后,再进行合并.很多高大上的分布式文件系统(比如:google的GFS.taobao的TFS)里,也是按block为单位,对文件进行分割或合并. 看下基本思路: 如果有一个大文件,指定分割大小后(比如:按1M切割) step 1: 先根据原始文件大小.分割大小,算出最终分割的小文件数N step 2: 在磁盘上创建这N个小文件 step 3: 开多个线程(线程数=分割文件数),每个线程里,利用RandomAccessF

perl 多fasta文件匹配,并提取匹配文件第一条序列

目标如题,有多个fasta文件和一个文件名列表,将文件名列表中包含的文件匹配出来并提取第一条序列合并成一个fa文件. 这个采用perl实现,用法和代码如下: 1 #!/usr/bin/perl -w 2 use strict; 3 4 sub usage{ 5 die "usage:perl $0 <fa.list> <Fasta_Dir> <merged.fa>\n",unless(@ARGV==3); 6 } 7 usage(); 8 9 ope

Linux文件排序和FASTA文件操作

文件排序 seq: 产生一系列的数字; man seq查看其具体使用.我们这使用seq产生下游分析所用到的输入文件. # 产生从1到10的数,步长为1 $ seq 1 10 1 2 3 4 5 6 7 8 9 10 # 产生从1到10的数,步长为1,用空格分割 $ seq -s ' ' 1 10 1 2 3 4 5 6 7 8 9 10 # 产生从1到10的数,步长为2 # 如果有3个数,中间的数为步长,最后一个始终为最大值 $ seq -s ' ' 1 2 10 1 3 5 7 9 $ cat

c语言文件分割与合并

一.综述 c语言操作文件通过文件指针FILE*,每个要操作的文件必须打开然后才能读写. 注意事项: @1分割与合并文件最好使用二进制模式即"rb"或"wb",这样可以操作任何类型文件 @2FILE 指针一定要进行判空操作即看F == NULL成立不 @3文件用完必须关闭,释放系统资源,因为文件会分配缓冲区,占据内存 1.包含头文件 _CRT_SECURE_NO_WARNINGS表示关闭安全检查 1 #define _CRT_SECURE_NO_WARNINGS 2

Qt写的文件拆分和融合小工具

最近因事物需要,需要将大文件分解为几个小文件,然后就行传输,在接收端需要对接收到的小文件进行融合.因此用Qt写了这个小工具.现在奉献上这个小工具的代码和思路. 我们知道任何文件在计算机上都是二进制数据块,因此只需要使用读写二进制的形式来读取大文件,在将读取的大文件以二进制形式写入小文件,这样就可以将文件拆分了(当然这是非常简单的拆分方法,对有些文件肯定存在错误的,因为本人在这方面的知识很肤浅).同样小文件的融合就是拆分的逆过程. 在读写文件的过程中我使用的是C++标准库ifstream和ofst