写在前面

我隐约记得我写过类似主题,但也并不确定。相关功能,我并不写使用说明的冲动,一者是这些功能至少是四五年前就有的,二者是这些功能其实比较简单,但也并不常用。然而,现在我还是决定写一篇。主要动机简单,TBtools “黑转粉” 的人不多。而其中就有一个老铁直接找我聊过。说实话,我还是比较感动。毕竟愿意花时间去认识其他人的人,确实不多。而后来,这位老铁的不少建议,我都是接受的。其中有很多好建议,尽管我都放在todo list。但既然这次的需求简单,我觉得我有必要做个回应。
于是有今天这个教程。

Fasta Merge and Split

序列的合并和分割。这个功能是 TBtools 早期功能之一,估摸至少也是四五年前。写出来之后,我自己几乎是没用过的。不过一些育种方向或者进化方向的老师倒是不是有跟我提到这个功能好用,甚至包括我本科班主任老师。
打开这个功能比较简单,
Fasta序列文件合并与分割,支持.seq等无头序列 - 图1
功能界面如下
Fasta序列文件合并与分割,支持.seq等无头序列 - 图2
从界面看得出来,左边就是合并,右边就是分割。

序列文件合并

进行序列合并,只需要将序列全部拖拽放置到输入框,随后设置一个输出文件即可。
Fasta序列文件合并与分割,支持.seq等无头序列 - 图3
看看输出文件
Fasta序列文件合并与分割,支持.seq等无头序列 - 图4
TBtools支持批量拖拽输入,所以这一切,实在太简单。

Fasta Split 进行序列文件分割

分割功能,说实话,TBtools 有点厉害。我们使用刚才合并的那个文件。
Fasta序列文件合并与分割,支持.seq等无头序列 - 图5
当然,我们也可以调整个数,比如分割后每个文件保留不多于4个序列记录。
Fasta序列文件合并与分割,支持.seq等无头序列 - 图6
当然,值得注意的应该是 Split Mode
Fasta序列文件合并与分割,支持.seq等无头序列 - 图7
支持三种模式:

  1. 按分割后每个文件中序列最大记录数分割,比如上述,假定输入的文件含有11个序列,按照每个文件最多 4 个序列来分割,那么就是3个文件,分别含有 4,4,3 个序列。
  2. 指定分割成的文件数目,如尽量平均分配每个文件的记录数,比如输入的文件含有是 9 个序列,分割成 3 个文件,那么每个就是 3,3,4 个序列。
  3. 指定分割成的文件最大大小,如 3Kb,输入的文件为 12 Kb。那么 TBtools 会尽量按照这个数目去分割。

平均分割成指定数目个文件

Fasta序列文件合并与分割,支持.seq等无头序列 - 图8

按照文件最大大小分割文件

很多时候,序列长度变化是巨大的。我们希望分隔后的文件按照最终大小分割,方便如网页上传等。
Fasta序列文件合并与分割,支持.seq等无头序列 - 图9
可以看到,完美。当然,这个时候,我们不打开序列文件,是不知道其中到底有多少个序列的。不过我们很清楚,每个序列记录是完整的,而且他们的总长绝对符合我们的需求。

写在最后

天下大势,分久必合,合久必分。