私のfastaファイルをサブセット化して、特定の母集団に属するシーケンスを検索したいと思います。以下は私のファイルのサンプルです。awkを使ってfastaファイルからシーケンスのグループを選択する際の問題
>CLocus_12706_Sample_44_Locus_36326_Allele_0 [JoJo_s113.fq; groupI, 125578, +]
TGCAGCATGCTGGTGAACGCGTCATCATAAGCCTGTTGGCGAGCCAGCAGAAGGCGGCATGGGCAGCACTTAATAGGACGCACGTCCTCTGTGTCA
>CLocus_12706_Sample_46_Locus_34641_Allele_0 [JoJo_s115.fq; groupI, 125578, +]
>CLocus_12706_Sample_69_Locus_37751_Allele_0 [LakeCamp_s033.fq; groupI, 125578, +]
TGCAGCATGCTGGTGAACGCGTCATCATAAGCCTGTTGGCGAGCCAGCAGAAGGCGGCATGGGCAGCACTTAATAGGACGCACGTCCTCTGTGTCA
>CLocus_12706_Sample_70_Locus_33595_Allele_0 [LakeCamp_s034.fq; groupI, 125578, +]
TGCAGCATGCTGGTGAACGCGTCATCATAAGCCTGTTGGCGAGCCAGCAGAAGGCGGCATGGGCAGCACTTAATAGGACGCACGTCCTCTGTGTCA
>CLocus_72879_Sample_136_Locus_80036_Allele_0 [NaknekRiver_s148.fq; groupV, 11333693, -]
TGCAGAACGAGATGAGGACAAACACACTCACCACTCTGTGGACATGTAGACGGCTGGCCTGTCCTACCAAGGACAAATACTCCCACAACAGTCCAA
集団は、例えば、「LakeCamp」または「ジョジョ」または「NaknekRiver」を含むIDの一部です。
私はこの記事の後に、どのように配列を抽出するかを調べようとしました。 https://unix.stackexchange.com/questions/253499/extracting-subset-from-fasta-file
これを行うには、「Jojo」をここで選択し、入力ファイルを「fasta8c18subset.fa」にして実行しました。
awk -vrs=">" 'BEGIN{t["JoJo"]=1}{if($1 in t){printf ">%s",$0}}' fasta8c18subset.fa
これを実行してもエラーは発生しませんでしたが、出力もありませんでした。
出力として、その母集団に関連付けられたヘッダーとシーケンス全体を取得したいと思います。例えば、 "LakeCamp"サンプルを抽出しようとしている場合、出力ファイルに次の値を含めることをお勧めします。
>CLocus_12706_Sample_69_Locus_37751_Allele_0 [LakeCamp_s033.fq; groupI, 125578, +]
TGCAGCATGCTGGTGAACGCGTCATCATAAGCCTGTTGGCGAGCCAGCAGAAGGCGGCATGGGCAGCACTTAATAGGACGCACGTCCTCTGTGTCA
>CLocus_12706_Sample_70_Locus_33595_Allele_0 [LakeCamp_s034.fq; groupI, 125578, +]
TGCAGCATGCTGGTGAACGCGTCATCATAAGCCTGTTGGCGAGCCAGCAGAAGGCGGCATGGGCAGCACTTAATAGGACGCACGTCCTCTGTGTCA
考えられますか?
あなたの希望の出力はここに投稿してください。上の例では、-vrsが-vRSでなければならず、Input_fileが読み込まれる前に実行される配列をBEGINで作成しています。次に、値がない配列tをトラバースしようとしています。それは何も印刷されていないので、私たちがここであなたを助けることができるように私たちに望ましい出力を示してください。 – RavinderSingh13
ありがとうございました!最初の質問を編集して、自分の出力ファイルに必要なものを追加しました。 –