2013-01-12 71 views
3

生物化學家/生物信息學使用此網站(http://dgpred.cbr.su.se/index.php?p=TMpred)。進入蛋白質序列後,你會得到這樣的事情:從其他號碼的網站中提取數字列

http://dgpred.cbr.su.se/analyze.php?with_length=on&seq=RGFTPLQWECVMASDFGHH

一些數據在頂部和底部,並在中間的4列,其中第四是我們想要的數據。我想從第四列(對於很多蛋白質序列)中取出這些數字並放入Excel中。

我目前的工作流程(Mac OS X)是將所有內容複製到RTF格式的文本編輯器中,然後拖動數字(以便只選擇第四列的數字),然後執行我的AppleScript :

do shell script "pbpaste | sed 's/[^0-9.-]//g' | pbcopy" 
do shell script "pbpaste | sed '/^$/d' | pbcopy" 

我在正則表達式僅僅初學者,但這種成功給我留下了由換行符分隔的數字,準備一個漂亮的名單被粘貼到Excel中。

什麼是真正的甜蜜是溝文本編輯步驟,只是讓正則表達式直接從網站採取數字。但是,這超出了我的水平。任何人都可以幫助我嗎?即,只能從第4列

+0

所以你想提取'Delta G aa(i)應用程序列,對不對? – 2013-01-12 21:28:04

+0

這是正確的 – Johan

回答

1

選擇號碼。當我複製這個數據我得到這樣的結果:在每個奇數行

R 1 -9.00   
     +0.03 
G 2 -8.00   
     +0.36 
F 3 -7.00  
-0.26 

3列,從一個[A-Z],你想在那麼數據後續的行。你想

號碼有兩種形式:

^\t {3}([-+][0-9]+\.[0-9]{2})$ //for the red numbers 

和:

^([-+][0-9]+\.[0-9]{2}) {3}\t$ //the green numbers 

您可以提取這兩種類型是這樣的:

^(\t {3})?([-+][0-9]+\.[0-9]{2})({3}\t)?$ 

第二捕獲組,([-+][0-9]+.[0-9]{2})是您所在的內容:

s/^(\t {3})?([-+][0-9]+\.[0-9]{2})({3}\t)?$/$2/g 

而不是Applescript,考慮BBEdit或Textwrangler,您可能會發現更容易使用。

把這個在搜索領域:

\r[A-Z].*\r(\t {3})?([-+][0-9]+.[0-9]{2})({3}\t)?$ 

,這在替換:

\ r \ 2

選擇 「全部替換」


如何作品

在BBE/TW

重要細節,捕捉的羣體被稱爲\ 1 \ 2 \ 3,而不是$ 1,$ 2,$ 3 ...

+0

哇你很擅長這個。不幸的是,我不是。我可以問你是怎麼做到的?我嘗試製作一個applescript(我知道在剪貼板上運行正則表達式的唯一方法)'do shell script「pbpaste | sed's/^(\ t {3})?([ - +] [0-9] + \。[0-9] {2})({3} \ t)$/$ 2/g'| pbcopy「'但它給了我一個語法錯誤 – Johan

+0

我不知道applescript - 它會運行或者在BBEdit的搜索字段中。您可能會喜歡BBEdit的縮減版本,[Textwrangler](http://www.barebones.com/products/textwrangler/index.html) - 我認爲它是免費的。它會對文件批處理進行grep搜索和搜索。 – foundry

+0

@ user1461829,請參閱我的最新答案,以及BBEdit/Textwrangler使用的精確說明 – foundry

1

我注意到,瀏覽器複製表不同。當我想從網頁複製表格數據時,我傾向於嘗試使用IE/Chrome/Opera瀏覽器,因爲 - 至少在Windows上 - 我可以直接將複製的表格直接粘貼到Excel中,並保留所有列。另一方面,Firefox往往會把桌面搞亂。

使用Opera複製有問題的表格並從單元格A1粘貼到Excel中,我得到F列中的所有綠色數字和H列中的紅色。然後,在行1右側的列中鍵入以下公式並拖動單元格的角落以複製下一行:

=IF(AND(ISBLANK(F1), ISBLANK(H1)), "", IF(ISBLANK(F1), H1, F1)) 

現在在這個新列中我看到了數據。我可以在原始數據頂部粘貼一個新表格,並將公式重新計算到右側。 (其他瀏覽器的實際列可能不同)。

我承認這不是一個完全自動化的解決方案,但我發現這種方法在很多情況下都快速有用,我認爲它值得分享。而座右銘:如果起初您的瀏覽器選擇不正確,請嘗試另一種!

+0

真的很欣賞那個配方。在這種情況下,對我來說這不是理想的解決方案,但是我有很多類似的情況,這個公式適合我完美。謝謝! – Johan