# GGGenome検索の自動化 検索したい配列をファイルに保存 → `25mer.txt` ``` GGACCTCGGATACCTGCGTTTAGTC GCTGGAGAGAGCCCAAAGGGACAAA TGGGTGACAATCAAGGGTGCCAACC TGACCTGTGCGGCAGCAAAGGTTCT GACGCTTTCCTGAACCCAGCAAGGA ``` コマンド: ``` foreach n (`cat 25mer.txt`) echo -n "$n " curl -s https://gggenome.dbcls.jp/mmnm_refseq215/5/+/$n.bed | wc -l end ``` 説明: * `$n` に次々に代入して実行してくれる。 * `echo -n "$n "` で検索する塩基配列を出力して、その右に * GGGenome検索して `bed` で出力したときの行数(ヒット件数に1を加えた数になる)を出力。 (入力ファイルの改行コードを修正) ``` foreach n (`cat 25mer.txt | tr -d '\r'`) echo -n "$n " curl -s https://gggenome.dbcls.jp/mmnm_refseq215/5/+/$n.bed | wc -l end ``` 説明: * 入力ファイルの改行コードは `\n` でないとだめ。 * Excelからコピペすると改行が `\r\n`(復帰+改行)になってしまう。 * `tr -d '\r'` で `\r` を除去。 参考:  ファイルに保存する場合: ``` cat /dev/null > kekka.txt foreach n (`cat 25mer.txt | tr -d '\r'`) echo -n "$n " >> kekka.txt curl -s https://gggenome.dbcls.jp/mmnm_refseq215/5/+/$n.bed | wc -l >> kekka.txt end ``` 説明: * `>>` は `kekka.txt` に追記している。 * 以前の結果に追記しないよう、最初に 'kekka.txt' を空にしている。 スペース区切りをタブ区切りになおす: ``` sed -r 's/\ +/\t/' kekka.txt # 上書き保存する場合は sed -i '' -r 's/\ +/\t/' kekka.txt ``` 応用: ``` foreach n (`cat 25mer.txt | tr -d '\r'`) echo -n "$n\t" GGG=`curl -s https://gggenome.dbcls.jp/mmnm_refseq215/5/+/$n.bed` echo $GGG | grep -v '^track name' | grep -c Xist | tr '\n' '\t' echo $GGG | grep -v '^track name' | grep -c -v Xist end ``` 説明: * `grep -v '^track name'` → 先頭のヘッダ行を除去 * `grep -c Xist` → Xist を含むヒットの行数をカウント * `grep -c -v Xist` → Xist を含まないヒットの行数をカウント 結果: ``` GGACCTCGGATACCTGCGTTTAGTC 4 18 GCTGGAGAGAGCCCAAAGGGACAAA 2 167 TGGGTGACAATCAAGGGTGCCAACC 2 23 TGACCTGTGCGGCAGCAAAGGTTCT 2 55 GACGCTTTCCTGAACCCAGCAAGGA 2 95 ```
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up