awk的三種方法將基因fa或蛋白fa序列文件由多行轉(zhuǎn)換為一行

示例fa文件:


image.png

第一種方法:

新建 script.sh,輸入以下內(nèi)容:

awk 'BEGIN{FS=">"}{if(NF==2){print $0}else{printf $0}}' $1  | awk 'BEGIN{FS=">"}NR==1{print $0}NR>1{if(NF==2){print $1;print ">"$2}else{print $0}}'  > all_oneline.fa

第二種方法:

只需一行awk命令(閑來(lái)無(wú)事突然想出來(lái)的騷操作):

awk 'NR==1{a[NR]=$0}NR>1{if(a[NR-1] ~ ">"){print a[NR-1];a[NR]=$0}else if($0 ~ ">"){print a[NR-1];a[NR]=$0}else{printf a[NR-1];a[NR]=$0}}END{print a[NR]}' test.fa  > all_oneline.fa

之后運(yùn)行,第一個(gè)參數(shù)為需要轉(zhuǎn)換的多行fa文件,輸出文件all_oneline.fa 為轉(zhuǎn)換后的文件,如圖

image.png

第三種方法:

使用getline函數(shù):
示例文件:


image.png
 awk 'NR==1{print $0}NR>1{if($0 ~ ">"){print"";print $0}else{tmp=$0;getline;if($0 ~ ">"){print tmp;print $0}else{printf tmp""$0}}}'  test.fa

輸出文件:


image.png

非常的簡(jiǎn)單

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容