小编Aga*_*the的帖子

理解解开 fasta 文件的 awk 公式

我刚刚找到了一个可用于解开 fasta 文件的公式。在给出公式之前,我需要解释一下什么是打开 fasta 文件。总之,fasta格式是这样的:

>name_of_sequence$
xxxxxxxxxxxxxxxxxxxxxx$
>name_of_sequence_2$
xxxxxxxxxxxxxxxxxxxxxx$
>name_of_sequence_3$
xxxxxxxxxxxxxxxxxxxxxx$
Run Code Online (Sandbox Code Playgroud)

这将是一个普通的 fasta 文件,因为我每个序列只有一行(xxxxxx ...)。美元符号是换行符。

但是,有时您可以找到这样的包装好的 fasta 文件:

>name_of_sequence$
xxxxxxxxx$
xxxxxxxxx$
xxxx$
>name_of_sequence_2$
xxxxxxxxx$
xxxxxxxxx$
xxxx$
>name_of_sequence_3$
xxxxxxxxx$
xxxxxxxxx$
xxxx$
Run Code Online (Sandbox Code Playgroud)

在这里,您仍然只有三个序列,但每个序列都分为三个部分。解开 fasta 文件意味着将后一种格式转换为前一种格式(每个序列一行)。

为此,您需要从后一个文件中删除换行符,但不是全部。您需要在序列名称之后保留换行符(例如:>name_of_sequence$)和在序列的末尾(例如:xxxx$)。

看来这个公式是这样做的:

cat infasta | awk '/^>/{print s? s"\n"$0:$0;s="";next}{s=s sprintf("%s",$0)}END{if(s)print s}' > outfasta
Run Code Online (Sandbox Code Playgroud)

我的问题是:有人可以向我解释它是如何工作的吗?

awk bioinformatics

3
推荐指数
1
解决办法
1045
查看次数

标签 统计

awk ×1

bioinformatics ×1