我有一個文本文件,它看起來是這樣的:文本文件操作(AWK的Python?)
Chr1 29901 C T 0/0:0,21,143:7:36 0/0:0,3,35:21:18 0/0:0,123,188:41:99 1/0:23,188,12:41:99 1/1:184,75,0:25:54
Chr1 A G 1/0:23,188,12:41:99 1/1:184,75,0:25:54, 0/0:0,21,143:7:36 0/0:0,3,35:21:18 0/0:0,123,188:41:99
…
,凡存在的一般信息4列,那麼許多列(樣本)編碼像0/0:0,21,143:7:36
對於樣品的每個細胞,我想確定是否最後兩個數字的細胞(由冒號分隔)滿足兩個標準。第一個數字必須大於19,第二個數字必須大於29(即:>19:>29
)。
如果這兩個標準都不符合,我想用X
替換這個單元格。如果滿足這兩個條件,那麼對於每一行,我想用兩個字母來替換單元格,這兩個字母與單元格條目的第一部分(0/0
,0/1
或1/1
)和第三和第四列中的值相關。如果爲0,則使用第三列中的值(如果爲1),然後使用第四列中的值。
應用這些標準和操作,我想有這樣的事情結束了:
Chr1 29901 C T X X CC TC TT
Chr1 A G GA GG X X AA
任何人都可以提供如何(容易)去這樣做了一些建議(特別是使用AWK或Python )?
添加了[標籤:慶典]標記,因爲我相信這是在bash殼。 –
@jonrsharpe是的,我明白了,這就是我來這裏的原因。不幸的是,我不像你那樣有經驗。希望有人能夠提供更多幫助,因爲你顯然是忙於爲新手提供諷刺性的迴應,以提供建設性的建議。 – user2903950
我正在學習,想學習,但還沒有遇到過這樣的例子。我對Python手冊非常熟悉,只是沒有時間自學一切。你知道一個可能有用的具體例子嗎? – user2903950