首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用染色体对文件行进行数字排序?

用染色体对文件行进行数字排序?
EN

Unix & Linux用户
提问于 2020-03-12 17:10:27
回答 1查看 468关注 0票数 0

我有几个列的遗传变异数据,目前我的变体/谱线排列错误,需要按染色体分类。我尝试过几种方法来做这件事,使用类似问题的答案,但没有一种有效,主要是给我空文件。

目前我的染色体顺序是:

代码语言:javascript
复制
1
10
11
12
13
14
15
16
17
18
19
2
20
21
22
3
4
5
6
7
8
9

这些行需要按从1上升到22的顺序排序。

我试过:

代码语言:javascript
复制
sort -k 1,1 -k2,2n file.avinput > test.avinput

sortBed -i file.avinput >  test.avinput 

sort -k1,1V -k2,2g file.avinput > test.avinput

bedtools sort -g file.bed> test.avinput #gives *ERROR: Need -i BED file.

这些都会运行,但是当我尝试head test.avinput时,它不会给我任何东西,或者当我检查awk '{print $1}' test.avinput | sort -u时,订单仍然是错误的--我还能尝试改变它吗?

下面是几行代码的一个例子:

File.avinput:#3列是染色体,开始和结束-我没有标题

代码语言:javascript
复制
1    10  11
10   200 201
2    20   21
22   2000 2001

预期有序产出

代码语言:javascript
复制
1    10  11
2    20   21
10   200 201
22   2000 2001

目前,尝试使用sort -n的任何形式都会给出一个空文件。

EN

回答 1

Unix & Linux用户

发布于 2020-03-12 18:12:38

根据更改的任务更新。

创建数据的file1文件:

代码语言:javascript
复制
$ cat file1
1    10  11
10   200 201
2    20   21
22   2000 2001

现在,我们对文件行进行排序,并将结果写入file2

代码语言:javascript
复制
$ cat file1|sort -n > file2

或者我们甚至可以简化它:

代码语言:javascript
复制
$ sort -n file1 > file2

检查file2中的结果:

代码语言:javascript
复制
$ cat file2
1    10  11
2    20   21
10   200 201
22   2000 2001
票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/572579

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档