2017-08-22 59 views
1

我有10個fasta文件(每個文件包含來自10個樣本中的每個樣本的20個基因序列)。我想創建20個文件,針對10個樣本中的每個基因。我如下進行,以提取與所述FILE_NAME基因在標頭:將文件名添加到循環內的多個fasta文件的fasta頭文件中

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

我成功地從每個樣品建立針對每個基因的多個基因FASTA文件(來自循環的部分):

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

但,我無法將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'