2017-08-22 35 views
1

私は10個のfastaファイル(各ファイルは10個のサンプルからそれぞれ20個の遺伝子配列を持つ)を持っています。私は10個のサンプルから各遺伝子に特有の20個のファイルを作成したいと思います。ループ内の複数のfastaファイルのfastaヘッダーにファイル名を追加

pyfasta extract --header --fasta $sample.fasta gene_name1 >> gene_name1.fasta 
pyfasta extract --header --fasta $sample.fasta gene_name2 >> gene_name2.fasta 

:しかし、私は、各サンプル(ループの一部)から各遺伝子について複数の遺伝子FASTAファイルを作成することに成功してい

pyfasta extract --header --fasta test.fasta gene_name1 | awk '/^>/ {$0=$0 "_file1"}1' > gene_name1.fasta 

:私は次のようにヘッダ内のfile_nameを有する遺伝子を抽出するために進行しました、私はループ内のファイルのヘッダーにfile_nameを追加することができません(ただし、最初に述べたように1つのファイルに対して行うことができます)。

私の目的は、すべてのfastaファイル(マルチライナー)から類似の遺伝子名を持つ遺伝子を抽出し、遺伝子名とファイル名を含む更新されたヘッダーを持つ遺伝子特異的なfastaファイルを作成することです遺伝子が来たファイル)+その遺伝子名でファイル中の遺伝子配列を付加する。入力ファイルと出力ファイルのサンプルを次に示します。

Input files: 
#file1.fasta 

>gene1 
ATGC..............................max upto 120 characters per line 
TTTG.............................................................. 
>gene2 
ATGA 
>gene3 
ATGTTT 

#file2.fasta 

>gene1 
ATGG 
>gene2 
ATGC 
>gene3 
ATGTT 

Expected output files: 

#gene1.fasta 
>gene1_file1 
ATGC........................................................... 
TTTG........................................................... 
>gene1_file2 
ATGG 

#gene2.fasta 
>gene2_file1 
ATGA 
>gene2_file2 
ATGC 

親切にガイドします。おかげさまで

+0

はhttps://bioinformatics.stackexchange.com/で尋ねる考えます –

答えて

0

ご質問は明確ではないですが、あなたが必要とするすべてがあるように聞こえる:

... | awk -v fname="$sample" '/^>/ {$0=$0 "_" fname}1' 
関連する問題