0

ファイル内のテキストを検索し、テキストと関連情報を別のファイルに出力するシェル スクリプトを作成しようとしています。

遺伝子 ID のリストを含むこのファイルから:

DDIT3   ENSG00000175197
DNMT1   ENSG00000129757
DYRK1B  ENSG00000105204

これらの遺伝子 ID (ENSG*)、それらの RPKM1 および RPKM2 値を gtf ファイルで検索したい:

chr16   gencodeV7       gene    88772891        88781784        0.126744        +       .       gene_id "ENSG00000174177.7"; transcript_ids "ENST00000453996.1,ENST00000312060.4,ENST00000378384.3,"; RPKM1 "1.40735"; RPKM2 "1.61345"; iIDR "0.003";
chr11   gencodeV7       gene    55850277        55851215        0.000000        +       .       gene_id "ENSG00000225538.1"; transcript_ids "ENST00000425977.1,"; RPKM1 "0"; RPKM2 "0"; iIDR "NA";

そしてそれを別の出力ファイルに印刷/書き込みます

Gene_ID         RPKM1   RPKM2
ENSG00000108270 7.81399 8.149
ENSG00000101126 12.0082 8.55263

以下を使用して、各IDを使用してコマンドラインで実行しました。

grep -w "ENSGno" rnaseq.gtf| awk '{print $10,$13,$14,$15,$16}' > output.file

しかし、シェルスクリプトの作成に関しては、for、while、read、do、および変数の変更のさまざまな組み合わせを試しましたが、成功しませんでした。どんなアイデアも素晴らしいでしょう!

4

1 に答える 1

1

次のようなことができます:

while read line
do
  var=$(echo $line | awk '{print $2}')
  grep -w "$var" rnaseq.gtf| awk '{print $10,$13,$14,$15,$16}' >> output.file
done < geneIDs.file
于 2013-04-18T15:43:52.847 に答える