6
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.

参照ファイルを用いて、複数のテキスト置換を一括で行う

Last updated at Posted at 2017-08-26

※プログラミングレベルは高くないので、より良い方法があれば教えてください

#概要
複数のサンプルのfasta/fastqを1つのファイルにまとめてしまった後に、ヘッダーを修正したいときのためのシェルスクリプト。
テキストの置換件数が多いため、参照となるリストファイルを作成し、一度に複数のテキスト置換を行う。

参考:FASTQ Filesのフォーマット
http://support.illumina.com/content/dam/illumina-support/help/BaseSpaceHelp_v2/Content/Vault/Informatics/Sequencing_Analysis/BS/swSEQ_mBS_FASTQFiles.htm

#コマンド
xargsを用いたワンライナーを教えてもらいました(2017/9/2更新)

sed 's/\([^\t]*\)\t\(.*\)/s|\1|\2|g/' rename.list | xargs -I{} sed -i '{}' test.fna

旧シェルスクリプト

#!/bin/bash

list="rename.list"
file="test.fna"

# 行数分のループを回す
seq=`cat $list | wc -l`

for i in `seq $seq`
do
	name=`cat $list | awk -F'\t' "NR==${i}" | cut -f1`;
	rename=`cat $list | awk -F'\t' "NR==${i}" | cut -f2 `;
	sed -i "s/$name/$rename/g" $file
done

#ファイル
##rename.list

AAA-BBB-CCC_S1	AAA-BBB-CCC-1_S1
AAA-BBB-CCC_S2	AAA-BBB-CCC-2_S2

6
4
2

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
6
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?