seqkit 两种拆分方法的比较

 seqkit拆分fastq,fasta等文件有两种方式:split和split2, 二者的逻辑并不一样。

split 是将原文件拆分,写满第一个文件,再写第二个文件

split2是将原文件的内容,挨个写到各个拆分文件里面去?

比如原文件有10条记录,拆成五份:

按split拆,第一个文件就是(1,2),第二个文件就是(3,4)。。。

按split2拆,第一个文件就是(1,5),第二个文件就是(2,6)。。。

原作者沈伟描述:split2里,类似玩扑克牌的时候,挨个给玩家发牌的顺序。

split2Cmd.Flags().IntP("by-part", "p", 0, "split sequences into N parts with the round robin distribution")

斗地主的情况下,

如果按split方式发牌,就是给第一个人发17张,然后再给第二个人发17张,第三个人是最后17张。这样会很多炸弹。

如果按split2方式发牌,就是每人每次发一张牌,不断重复这个过程,就是所谓的round robin distribution。

如果像让拆分的子文件保留原文件的顺序,则用split更合适。

如果不在乎顺序,更注重拆分速度,则用split2更合适。

因为split2的速度是split的5倍

可以随便拿一个fasta文件测试一下两种拆分方式的速度和拆分后的文件内容顺序

#split

#!/bin/sh
#$ -S /bin/sh
echo -n "split mask.fa: "; date +%Y-%m-%d%t%H:%M:%S
seqkit split --force --by-part 20 --threads 6 ./mask.fa --out-file mask.fa --out-dir mask_split
echo -n "End: "; date +%Y-%m-%d%t%H:%M:%S

#split2

#!/bin/sh
#$ -S /bin/sh
echo -n "split2 mask.fa: "; date +%Y-%m-%d%t%H:%M:%S
seqkit split2 --force --by-part 20 --threads 6 ./mask.fa --out-file mask.fa --out-dir mask_split2
echo -n "End: "; date +%Y-%m-%d%t%H:%M:%S

拆分的分数不能超过1000

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
IBM应用拆分方法论是指在软件开发过程中,将复杂的大型应用程序拆分成更小、更简单的部分,以提高开发效率、降低维护成本、增强应用的灵活性和可扩展性的一种方法论。 首先,IBM应用拆分方法论强调将应用程序拆分为模块化的组件。通过将应用程序划分为独立的模块,每个模块负责特定的功能,可以有效地实现代码的可重用性,减少重复开发的工作量。同时,模块化的设计也方便了团队协作,不同开发者可以专注于各自负责的模块,提高开发效率。 其次,IBM应用拆分方法论倡导微服务架构的应用开发。微服务是基于一组小型、独立的服务构建的应用程序,服务之间通过API进行通信。通过使用微服务架构,可以将应用程序拆分为更小粒度的服务,每个服务都可以独立开发、部署和扩展,提高了应用程序的可扩展性和灵活性。 此外,IBM应用拆分方法论还强调将应用程序拆分为层次化的架构。将应用程序分为不同的层,例如表示层、业务逻辑层和数据访问层,可以更好地管理应用的不同部分,并且使得修改和维护更加容易。层次化架构也有利于应用的可测试性,可以更好地进行单元测试和集成测试。 总的来说,IBM应用拆分方法论强调模块化设计、微服务架构和层次化架构的应用开发,以提高开发效率、降低维护成本、增强应用的灵活性和可扩展性。这一方法论有助于应对大型应用开发中的复杂性和挑战,提高软件开发的质量和效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值