shell
FASTAファイルのIDの命名を変更したいと思ったが、scaffoldの数が多すぎて面倒臭すぎるので、自動化したい。変更一覧をrename.listに以下のように記録しておく。 Scaffold1 Scf0001 Scaffold2 Scf0002 Scaffold3 Scf0003 Scaffold4 Scf0004 .......... .....…
普通にテキストエディタの置換でやろうとすると1万行とかあると時間がかかって仕方がない。 そこでsedで置換してやりたいのだがOSXのsedはGNU sedではなくBSD sedなのでお作法が違う。 $ sed -e :loop -e 'N; $!b loop' -e 's/\n/* /g' gene.txt >gene1.txt…
multi fastaファイルを1個ずつのfastaに分割したい。 まずはfastaのseq部分の改行をなくす $ awk -v ORS= '/^>/ { $0 = (NR==1 ? "" : RS) $0 RS } END { printf RS }1' fasta.txt > fasta_awk.txt次にfastaを2行ごとに分割。多数のファイルが同じ階層にで…
ファイルを連番を付けて作成していてそれに同じ操作を全部やるとき、excelで編集してコマンドリストを作っていたが、shellでやるほうが簡単なので、その覚え書き seq -w 0 42 | xargs -i echo "python3 seq.py TAIR10_cdna_20101214_updated.fa.split/TAIR10…
for f in */Ab/hisat_results/*sort* ; do mv $f hisat_results/Ab ; doneカレントディレクトリから個別のディレクトリの奥の方にあるsortというワードの入ったファイルをhisat_results/Abというディレクトリにまとめて移動
アノテーションファイルと解析結果のファイルで書式が結構違っていて、検索プログラムでうまくリンクしてくれない。そこで、テキストの整形、変換をいろいろと行うのでそのメモ大文字を小文字に AT1G12345をat1g12345に置き換えるには $ cat text.txt | tr '…
excelなどでは普通に行える文字列のソート。shellコマンドでいくつかの列を順にたどってソートするにはkオプションを使うらしい。例えば AT1G01000.1:139:G:A AT1G01000.1:274:T:G AT1G01000.1:1033:T:A AT1G01000.1:1034:T:C AT1G01000.1:1027:C:A AT1G0100…
以前BEDToolsのcoverageBedでdepthを各塩基ごとに求める方法を書いた。 $ coverageBed -a genome.bed -b sample.bed -dというのが基本書式だ。 genome.bedはreference.fasta.faiから $ awk '{print $1"\t0\t"$2}' reference.fasta.fai > genome.bedという感…
a.txt AT1G01000:10 AT1G01000:15 AT1G01000:20 AT1G01000:25 AT1G01001:10 AT1G01001:15 AT1G01001:20 AT1G01001:25 AT1G01002:10 AT1G01002:15 AT1G01002:20 AT1G01002:25 AT1G01003:10 AT1G01003:15 AT1G01003:20 AT1G01003:25 AT1G01004:10 AT1G01004:15…
Pythonからshellスクリプトを実行するとして、shellに変数を渡したいときはどうすればいいのか? cmd = "ls /data/file/folder/*/*.bam > list.txt" subprocess.call(cmd, shell=True)この/data/file/folder/*/*.bamをPythonから引数として渡したい。 そうい…
まずリンク元のファイルをlsで列挙する ls /data/file/folder/*/*.bam > list.txtつぎにsedで行頭に'ln -s'をくっつける sed -e "s/^/ln -s /" list.txt >list_tmp.txtファイル名だけを取り出して列記する ls /data/file/folder/*/*.bam | xargs -i basename…
$ mysqlimport -u ユーザー名 --password=パスワード --local データベース名 テーブル名.txtであり、.my.cnfをホームディレクトリに [mysqlimport] user=ユーザー名 password=パスワード default-character-set=utf8 localこんな感じで作っておけば $ mysql…
とにかく行数が増えてくるとsqlのupdateのスピードがかなり負担になってくる。なのでテキスト処理だけで大方のカラム整形をやって、一部分だけsql文でなんとかする方法を考えた。特に、今後私の手を離れた後にメンテナンスが容易なように、スクリプトでちょ…
行数カウント $ wc -l file.txt 1024 file.txtひたすら連番を縦に並べたファイルを作る id.sh for i in $(seq 1 1024) do echo $i >> id.txt doneただしこの方法では100万行を超えると1.00000e+06のように表記されてしまい、10件ずつ同じになってしまうよう…
#!/bin/sh #csvファイルから実験名(alias, 2列目)を取り出し、コンマ区切りで並べて変数に格納 cut -d ',' -f 2 csvtest.csv | sed -e '1d' >tmp.txt list=$(paste -s -d ',' tmp.txt) echo $listcsvから変数を取り出す アレイジョブ編 #!/bin/sh #$ -cwd …