cat *.fa 合并fasta文件的坑

cat *.fa合并fasta文件的坑

平常我們?cè)诤喜asta文件的時(shí)候翩腐,常常會(huì)使用到一句命令

cat *.fa > total.fa
cat *.fasta > total.fasta

其實(shí)原理就是將所有的.fa或者.fasta文件按順序輸出到標(biāo)準(zhǔn)輸出之中,之后使用>重定向到新的文件中余蟹。

但是在有的時(shí)候,會(huì)發(fā)生一些奇怪的事情诗充。

正常情況

比如我有三個(gè)fasta文件

  • 1.fasta
>1
ATGACTGATGCTGCAGT
CGTAGCTAGCTCGATGA
ATGTC

  • 2.fasta
>2
GTTGTACGTGCTAGTGC
GCTAGCTAGCTGTAGCT
ACAC

  • 3.fasta
>3
CGTAGCTAGCTGACTCC
CGAGC

將這三個(gè)文件放到一個(gè)文件中溺健,注意要完全復(fù)制里面的內(nèi)容。

# 新建文件夾惰蜜,將新生成的fasta文件放在里面昂拂,避免循環(huán)往復(fù)的cat而導(dǎo)致錯(cuò)誤
mkdir temp
cat *.fasta > ./temp/total.fasta

然后查看序列名稱

cat ./temp/total.fasta | grep "^>"

得到結(jié)果

>1
>2
>3

沒(méi)有問(wèn)題。

異常

  • 1.fasta
>1
ATGACTGATGCTGCAGT
CGTAGCTAGCTCGATGA
ATGTC
  • 2.fasta
>2
GTTGTACGTGCTAGTGC
GCTAGCTAGCTGTAGCT
ACAC
  • 3.fasta
>3
CGTAGCTAGCTGACTCC
CGAGC

同樣的還是這三個(gè)抛猖,將里面內(nèi)容復(fù)制之前的fasta文件中

mkdir temp
cat *.fasta > ./temp/total.fasta
cat ./temp/total.fasta | grep "^>"

結(jié)果

>1

這次>打頭的行只有一行呢格侯,其他兩個(gè)跑哪兒去了?這里不加^位置錨定標(biāo)志來(lái)找一找它們藏在哪兒

cat ./temp/total.fasta | grep ">"

輸出為

>1
ATGTC>2
ACAC>3

結(jié)果>2>3竟然是跟在前一個(gè)fasta文件的屁股后面财著!

原因

原因就在于fasta文件的結(jié)尾沒(méi)有一行空行联四,也就是在文件末尾不是由空行結(jié)尾,而是序列作為結(jié)尾撑教,在序列的尾巴那兒沒(méi)有換行符朝墩,所以導(dǎo)致了前面的fasta文件的序列與后面的fasta文件的序列名的>連到了一塊。在數(shù)據(jù)庫(kù)中下載的fasta文件一般都是以空行結(jié)尾伟姐,但是我們自已寫(xiě)腳本或者手動(dòng)生成的fasta文件合并的時(shí)候就可能出現(xiàn)異常情況收苏,這種情況會(huì)導(dǎo)致在后續(xù)分析的時(shí)候報(bào)錯(cuò)。

如果說(shuō)報(bào)錯(cuò)還好愤兵,就怕那種不報(bào)錯(cuò)的鹿霸,在這里三條序列被當(dāng)作一條序列對(duì)待了,那生成的結(jié)果自然就有問(wèn)題恐似!

  • 正常情況的合并

    正常情況.png
  • 異常情況下的合并

    異常情況.png

解決辦法

如果不確定fasta文件是否是以空行結(jié)尾杜跷,那么保險(xiǎn)起見(jiàn)就這樣做:

for i in $(ls *.fasta);
do
  cat ${i}
  # 在每一個(gè)fasta輸出之后再輸出一個(gè)空行
  echo
done > ./temp/total.fasta

cat ./temp/total.fasta | grep ">"

結(jié)果正常了

>1
>2
>3
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子葛闷,更是在濱河造成了極大的恐慌憋槐,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,548評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件淑趾,死亡現(xiàn)場(chǎng)離奇詭異阳仔,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)扣泊,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,497評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門近范,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人延蟹,你說(shuō)我怎么就攤上這事评矩。” “怎么了阱飘?”我有些...
    開(kāi)封第一講書(shū)人閱讀 167,990評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵斥杜,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我沥匈,道長(zhǎng)蔗喂,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,618評(píng)論 1 296
  • 正文 為了忘掉前任高帖,我火速辦了婚禮缰儿,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘散址。我一直安慰自己乖阵,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,618評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布爪飘。 她就那樣靜靜地躺著义起,像睡著了一般。 火紅的嫁衣襯著肌膚如雪师崎。 梳的紋絲不亂的頭發(fā)上默终,一...
    開(kāi)封第一講書(shū)人閱讀 52,246評(píng)論 1 308
  • 那天,我揣著相機(jī)與錄音犁罩,去河邊找鬼齐蔽。 笑死,一個(gè)胖子當(dāng)著我的面吹牛床估,可吹牛的內(nèi)容都是我干的含滴。 我是一名探鬼主播,決...
    沈念sama閱讀 40,819評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼丐巫,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼谈况!你這毒婦竟也來(lái)了勺美?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,725評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤碑韵,失蹤者是張志新(化名)和其女友劉穎赡茸,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體祝闻,經(jīng)...
    沈念sama閱讀 46,268評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡占卧,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,356評(píng)論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了联喘。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片华蜒。...
    茶點(diǎn)故事閱讀 40,488評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖豁遭,靈堂內(nèi)的尸體忽然破棺而出叭喜,到底是詐尸還是另有隱情,我是刑警寧澤堤框,帶...
    沈念sama閱讀 36,181評(píng)論 5 350
  • 正文 年R本政府宣布域滥,位于F島的核電站,受9級(jí)特大地震影響蜈抓,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜昂儒,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,862評(píng)論 3 333
  • 文/蒙蒙 一沟使、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧渊跋,春花似錦腊嗡、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,331評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至蒿囤,卻和暖如春客们,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背材诽。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,445評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工底挫, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人脸侥。 一個(gè)月前我還...
    沈念sama閱讀 48,897評(píng)論 3 376
  • 正文 我出身青樓建邓,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親睁枕。 傳聞我的和親對(duì)象是個(gè)殘疾皇子官边,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,500評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容

  • 一沸手、Python簡(jiǎn)介和環(huán)境搭建以及pip的安裝 4課時(shí)實(shí)驗(yàn)課主要內(nèi)容 【Python簡(jiǎn)介】: Python 是一個(gè)...
    _小老虎_閱讀 5,748評(píng)論 0 10
  • 轉(zhuǎn)自:https://blog.csdn.net/sinat_38163598/article/details/7...
    簡(jiǎn)單點(diǎn)lili閱讀 4,283評(píng)論 0 9
  • ORA-00001: 違反唯一約束條件 (.) 錯(cuò)誤說(shuō)明:當(dāng)在唯一索引所對(duì)應(yīng)的列上鍵入重復(fù)值時(shí),會(huì)觸發(fā)此異常注簿。 O...
    我想起個(gè)好名字閱讀 5,334評(píng)論 0 9
  • 第十章 使用序列數(shù)據(jù) 生物信息學(xué)的核心問(wèn)題之一是處理大量的(通常定義糟糕或模糊)文件格式罐氨。久而久之,一些特定的簡(jiǎn)單...
    yangliunk1987閱讀 5,046評(píng)論 3 53
  • 秋淡然著滩援,悄悄而來(lái)栅隐,片片秋葉起舞著希望,陽(yáng)光下緩緩地駛向未來(lái)玩徊∽馇模花瓣一地,落入塵埃恩袱。轉(zhuǎn)眼泣棋,西風(fēng)撲面,凝露而來(lái)畔塔。十月有...
    方好亦奇閱讀 324評(píng)論 0 1