2
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

joinコマンドの使い方

Last updated at Posted at 2017-10-25

##ここに書いてあること
便利なコマンドjoin使いかたのまとめ
バイオシェル芸では遺伝子発現データの結合などで使う

##参考にした記事
こちらにほとんど書いてある。もしかしてシェル芸人...
joinコマンドで覚えておくと便利な使い方8個
こちらも。
[joinコマンドが便利過ぎて生きるのが辛い]
(http://yut.hatenablog.com/entry/20120907/1346975281)

##使いかた
1列目が遺伝子名, 2列目に発現量(何かの値)
結合したい列でsortしておく

$ cat inu.txt
geneA	100
geneB	110
geneC	120
geneE	130
$ cat neko.txt
geneA	200
geneB	210
geneD	220
geneF	230

###inuとnekoで共通に発現している遺伝子

$ join -1 1 -2 1 inu.txt neko.txt

geneA 100 200
geneB 110 210

オプション-1 1 -2 1 は結合キーとなる列を指定
(1番目のファイルの1列目と2番目のファイルの1列目)
2つのファイルのどちらにも値がある行だけが出力される

###全ての遺伝子の値

$ join -o '0,1.2,2.2' -a 1 -a 2 -e '-' inu.txt neko.txt

geneA 100 200
geneB 110 210
geneC 120 -
geneD - 220
geneE 130 -
geneF - 230

発現していない(値がない)遺伝子のところに-が入る
その他オプション
-o 'num,num.num,....' 表示する列を指定, 0は結合キーの列,n.nでn番目のファイルのn列目
-a num 指定したファイルの行は全部表示する
-e 'string'  値がないところを'string'で指定した文字で埋める

##その他

  • -e 'string'でデータのないフィールドに何か文字を入れたいときは、-o オプションと一緒でないと(つまり出力フィールドを指定してやらないと)何も出てこない
2
4
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?