2017-03-02 45 views
1

我使用基因數據。我剛剛找到一臺超級計算機來幫助進行基因分析,但我需要將數據轉換爲超級計算機所需的格式:兩列,一列有染色體信息,一列有p值。 p值列一定不能有任何信件,但有些我的數據是科學記數法,像這樣:如何使用plink/Unix將數據從科學記數法轉換爲小數?

rs191895619 1.052e-05 
rs140779862 0.4406 
rs11127542 0.9771 
rs112183333 0.02569 
rs191067167 0.427 
rs111321342 1.042e-05 

這使一些E公司在不能在它的字母列。

我試圖用grep將其移動到使用grep "*e*" filename.txt > outputfilename.txt以及grep "*e-05" filename.txt > outputfilename.txt自己的文件,但它給了我一個空的輸出文件兩次,即使所有5000行科學譜寫數據搬進了自己的文件,我不知道如何將數據更改爲十進制符號,除非單獨編輯每行,這將需要幾天的時間才能完成每個文件。

有沒有可以給plink的命令,以便它給我的數據首先不在科學記數法中?或者我可以在plink或Unix中使用的命令將科學記數法轉換爲十進制符號?

回答

0

您可以使用awk科學轉換爲十進制:

awk '{printf "%s %f\n", $1, $2}' file 

輸出:

rs191895619 0.000011 
rs140779862 0.440600 
rs11127542 0.977100 
rs112183333 0.025690 
rs191067167 0.427000 
rs111321342 0.000010 

您可以通過改變printf部分%f調整精度。


參見:

相關問題