按包含“ NA”的多行排序

时间:2019-05-30 17:17:48

标签: r awk

我在三个不同的病毒物种中有直系同源基因簇,看起来像这样(标题cluster_name position_sp1 position_sp2 position_sp3):

gene1 100 110 90
gene2 200 230 195
gene3 NA 270 NA
gene4 NA 250 245
gene5 NA NA 230
gene6 250 NA 270

我想按物种1的位置进行排序,直到在sp1中出现“ NA”出现。

  1. 在sp1中遇到“ NA”时,来自以下行的不是“ NA”的行 当sp1不存在时,根据sp2的最后位置添加sp2 “ NA”。
  2. 在sp1和sp2中遇到“ NA”时,来自sp3的行 当大于或等于sp3的最后位置时, sp1或sp2不是“ NA”。
  3. 如果sp1不是“ NA”,则无法添加sp2行
  4. 如果sp2不是“ NA”,则无法添加sp3

不确定这是否有意义,但根据上面的示例,输出应为:

gene1 100 110 90
gene2 200 230 195
gene4 NA 250 245
gene3 NA 270 NA
gene5 NA NA 230
gene6 250 NA 270

反正有这种排序方式吗?

0 个答案:

没有答案