題:
DNA是否具有與IF語句,WHILE循環或函數調用等效的功能? GOTO怎麼樣?
coderworks
2015-03-04 09:10:40 UTC
view on stackexchange narkive permalink

DNA是否具有IF語句,GOTO跳轉或WHILE循環之類的東西?

在軟件開發中,這些構造具有以下功能:

  • IF語句:如果滿足某些特定條件,則IF語句將在後續代碼塊中執行代碼。
  • WHILE循環:代碼塊將執行指定的次數或滿足特定條件的次數。
  • 函數調用:該代碼臨時繞過後續代碼塊,而執行其他一些代碼代碼塊。執行完另一個代碼塊後,代碼將返回(有時具有一些值)並繼續執行後續的塊。
  • GOTO語句:該代碼將繞過後續的代碼塊,而是直接跳到其他某個區塊。

與DNA中存在的結構類似嗎?如果是,它們將如何實施以及它們被稱為什麼?

while(端粒> 0){DNA.replicate; cell.divide; telomeres- = 1; sleep(x);}
函數調用只是一個花哨的“ GOTO”語句。
對我來說,GOTO僅對順序執行代碼有意義,而對於DNA則不是這種情況(許多轉錄始終並行發生)。
@fileunderwater串行執行在信號級聯期間發生
-1
@WYSIWYG是的,但不是更多的是類似於IF語句(而不是GOTO)的正反饋(或激活/抑制)的情況,就像執行繞過執行一樣。只是我的看法,但我對DNA轉錄的具體細節還不甚了解。也許顯示出繪製清晰的編程DNA類似物有多困難。
@fileunderwater有一些替代GOTO的編程方法。在大多數語言中,它已被棄用。因此,“ GOTO”的動作可以由其他語句執行。所以你是對的。此外,“ GOTO”需要標籤;即使可以將某個TF的啟動子視為一個標籤,但更符合邏輯條件。因此,比實際陳述更重要的是底層邏輯。
我認為與DNA相比,我們更接近位元本身或機器代碼,而不是編程語言。
@WYSIWYG是的,儘管大多數控制流語句都轉換為類似於GOTO的機器指令,例如跳轉或條件跳轉。
@skymninge即使在位和字節級別,硬件本身也充當圖靈機的角色。
了解您的計算機“不”具有循環和函數調用至關重要。它確實具有比較和跳躍。
DNA不是您正在考慮的程序。我想它可以被認為是帶有適當解釋器的_declarative_程序,但是?
我敢肯定,DNA比完全成熟的可執行程序更像通用數據。它是生物程序使用的數據文件
我認為DNA更像是HTML頁面:它只是在頁面上可見哪些元素的聲明(儘管DNA完全允許使用display:none);這些元素可以包括蛋白質Javascript。到處都是PHP的基本形式(請參閱@WYSIWYG's答案)。
[this](http://ds9a.nl/amazing-dna/)是可能相關的文章,我認為沒有人提及。
-1
通過這種方式學習遺傳學和分子生物學;誰能給我推荐一些書,或者至少我要尋找哪個學習領域?
相關自然文件:[具有哺乳動物細胞多個輸入和輸出的健壯遺傳電路的大規模設計。](http://www.nature.com/nbt/journal/vaop/ncurrent/full/nbt.3805.html)
七 答案:
WYSIWYG
2015-03-04 10:42:57 UTC
view on stackexchange narkive permalink

類似於編程語句的生物學示例:

  • IF :轉錄激活因子;當存在時,基因將被轉錄。通常,除非信號消失,否則事件不會終止。該程序僅以細胞死亡而結束。因此, IF 語句始終是循環的一部分。
  • WHILE :轉錄抑制因子;基因將被轉錄直到不存在阻遏物為止。
  • 沒有等效的 function 調用。所有事件發生的空間都是相同的,並且總是存在干擾的可能性。一個簡單的說法是,細胞器可以充當一個隔間,可以像屬性一樣具有 function 的功能,但是它們非常複雜,並且不僅僅是某種輸入輸出設備。
  • GOTO 始終取決於條件。在某些網絡連接(例如前饋環路和分支路徑)的情況下,可能會發生這種情況。例如,如果存在這樣的信號傳導路徑:
    A→B→C ,並且存在另一個連接 D→C ,那麼如果以某種方式 D 激活後,它將直接影響 C ,從而使 A B 不再需要。

邏輯門已使用合成生物電路構造。有關更多信息,請參見評論。


注意

分子生物學過程無法直接與計算機代碼進行比較。重要的是底層邏輯,而不是語句本身構造這些邏輯,這些示例不應視為絕對類比。還應注意,DNA只是一組指令,並不是真正的完整功能實體(在某種程度上具有功能)。但是,即使只是代碼,它也與必須編譯以執行其功能的HLL代碼相當。另請參見帖子。

同樣重要的是要注意,像許多其他物理系統一樣,該單元本質上是模擬的。因此,在大多數情況下,變量沒有0/1(二進制)值。考慮基因表達。如果存在轉錄激活因子,則該基因將被轉錄。但是,如果您繼續增加激活劑的濃度,則該基因的表達將增加直至達到飽和點。因此,這裡沒有數字邏輯。話雖如此,我還要補充說,轉換行為在生物系統(包括基因表達)中是可能的,並且在許多情況下也可以使用。某些類型的監管網絡結構會引起這種動態。有或沒有正反饋的協作性是可以實現切換行為的機制之一。有關更多信息,請閱讀超敏。還要檢查“ 分子遺傳學能否從連續變量中產生布爾變量?

我將內含子剪接歸類為GOTO,因為它本質上將核醣體“指針”跳過了一個不同的值。
非常好!備用閱讀框會放在哪裡?
@MarchHo是的,也可以視為示例。可以得出很多類比。脊柱反射可能是“ BREAK”的一個例子
@CRags我想備用閱讀框可以作為“ SWITCH-CASE”的示例。一切都取決於。邏輯門在這裡比程序語句更重要。畢竟,所有這些陳述都是基於邏輯測試。
儘管您的示例很聰明,但我覺得這裡使用的類比(針對計算機代碼的DNA)非常差以至於會引起誤解。
@JackAidley確實不能將分子生物學直接與計算機代碼進行比較。我將這個答案用於某個好奇的人,他想知道一個單元是否可以執行像計算機程序這樣的計算。我已經提到過,重要的是底層邏輯,而不是語句本身,並且這些示例不應視為絕對類比。我將其添加到答案中以避免混淆。
而且@JackAidley我在任何地方都沒有提到DNA正在執行所有功能。 TF是一種蛋白質。儘管可能很複雜,但係統的屬性可以根據DNA代碼來預測。
我真的認為,可以將細胞膜完成的分隔與功能進行比較。這是一個令人印象深刻的答案@WYSIWYG
所見即所得,您最好不要提及DNA正在執行您描述的所有功能,但是您應該真正考慮在答案中明確提及DNA不能執行*不能執行它們。計算機*代碼*描述了這種控制結構的事實確實是圖靈完備性的相當基本的方面,在這個問題的背景下,非常重要的一點是要注意DNA *不*具有該功能。
@KyleStrand IMO既沒有DNA的功能,也沒有HLL代碼。他們兩個都只提供說明; DNA更加神秘。僅僅因為尚未使用DNA代碼開發圖靈機,並不意味著從理論上講這是不可能的。這只是我的看法。 DNA和計算機代碼之間有一些區別。這個答案的目的僅僅是指出一些基本的相似之處。我已經添加了您的建議。
@WYSIWYG謝謝。我想我對“執行所有功能”的意思不僅僅是HLL(和LLL)*規定*執行它們的實際過程(發生跳轉等),即使它們實際上不*執行*該過程他們自己。就我們所知,DNA並沒有(儘管可以承認,DNA可以做的事情比我們意識到的要多得多)。以此類推,我猜想,如果DNA就像一個藍圖,那麼代碼實際上就像是一張藍圖*與工作指導書*相結合,以便人們實際構建藍圖所描述的東西。
“細胞器”似乎就像中斷處理程序,或者事件。我認為基於事件的語言可能是邏輯理解的更好比較。
要進行計算,您只需要一個條件跳轉(即X轉到P)。所有其他控制語句只是為了方便起見,可以通過條件跳轉進行模擬。僅具有條件跳轉以進行控制的計算系統是“圖靈完成”。
@lesto細胞器就像子程序一樣,與主程序不斷交互。他們有自己的環境和一定程度的自主權,但依賴於單元。
@LieRyan同意。您基本上只需要邏輯門。
關於染色質微環境,存在一些與編程中的名稱空間類似的假設。
“生物學例子” —但是問題是DNA,所以很明顯這個答案是錯誤的。表明您不應該允許某些人投票。
@David我同意這個問題不是很好(答案也是如此),但是不幸的是,最適合(研究)的問題通常不太受歡迎。無論如何,您對“生物學實例”有何不同意見?我的意思是說生物系統中的類似情況。請注意,OP正在將DNA與計算機程序進行比較。由於DNA編碼所有生物學信息,因此DNA是程序。我的大多數例子都與轉錄調控有關,即DNA的直接操作。因此,答案雖然不是很好,但沒有錯。
抱歉。沒注意到是你。不想捲入一場火焰大戰。在我看來,這個問題似乎是典型的計算機科學家在代碼中的*顯式*信息與DNA中的*顯式*信息之間的錯誤類比,這激起了我最近對一個老問題的回答。 DNA中的信息尚不明確,我懷疑您是否曾經希望僅通過閱讀DNA就能了解蛋白質表達的影響。
The Nightman
2015-03-04 09:39:41 UTC
view on stackexchange narkive permalink

從DNA和邏輯功能表達基因的方式之間當然可以進行一些比較,但是效果並不理想。

但是,合成生物學確實是一個新興的領域,正在嘗試將邏輯功能整合到生物學中,例如 Siuti等人(2013年)

上面的論文是一個很好的例子,一個小組利用細菌來存儲信息並組裝到生物迴路中,然後這些迴路可用於處理邏輯功能。 。因此,它已經完成,但並不完全按照您的建議方式進行。

Jack Aidley
2015-03-04 19:10:33 UTC
view on stackexchange narkive permalink

DNA與計算機代碼不相似,後者使您搜索其中的類似結構毫無意義。舉兩個簡單的例子說明為什麼是這樣的:

  • 計算機代碼具有順序執行順序; DNA並行運行且順序混亂,不是被“執行”。

  • 計算機代碼具有嚴格而一致的含義,因此如果x == 4,則行:x = 7 總是做同樣的事情;編碼DNA轉化為氨基酸,正是這些酸之間複雜的化學相互作用使蛋白質發揮了功能,因此在其蛋白質之外無法理解任何編碼DNA。

生物系統確實具有某些途徑的操作方式與計算機類似,但是您應該在蛋白質水平而不是DNA水平上尋找這些途徑,即使如此,您也必須格外小心,以免您的類比影響您對真實情況的理解。

當您說DNA需要蛋白質來執行其功能時,計算機程序也需要編譯器來執行其代碼。最終,機器語言告訴了計算機該做什麼。
我並不是說DNA需要蛋白質來執行其功能。我說的是DNA從根本上不同於計算機代碼。
可以,但是存在大量的並行編程語言,其中每一行都在同一時間執行並且可能不按順序執行,而且僅因為行是上下文相關的,這並不意味著它不是編程語言,而是使其變得更加複雜。說,我對DNA的理解是數據比程序更多。
即使在並行編程語言中,每個語句也按順序執行。只是同時有多個執行“線程”。 DNA既不是數據也不是程序。這個比喻是完全不正確的。
我認為DNA同時是數據和程序。它的表達調節器充當邏輯子句,因此比喻至少令人好奇。
fileunderwater
2015-03-04 15:47:08 UTC
view on stackexchange narkive permalink

只是添加到先前的答案中,但是轉錄干擾(例如,參見 Shearwin等,2005)可以被視為IF陳述的一種形式(或稱為WHILE ),其含義是:

  if(x轉錄){不是y轉錄}  

雖然干擾不一定是二進制的,但更常見是分級反應。轉錄干擾也可以在RNA階段發生(參見例如 Xue等,2014),使用 反義RNA 並經常提供負面反饋循環,但隨後從DNA中去除了乾擾,並不代表DNA階段的直接IF陳述類似物。

對我來說,GOTO主要適用於順序代碼執行,但這不是DNA的情況(許多轉錄始終並行發生)。更普遍地講,DNA的並行“執行”以及DNA,轉錄本和蛋白質之間的持續相互作用和反饋環(除其他外)還意味著,細胞過程遠不如計算機代碼清晰易懂,可追溯性意味著計算機代碼對於細胞過程和DNA的功能而言是一個非常糟糕的隱喻。

我認為內在的並行性是關鍵。生物的“處理”實際上比數字的模擬更多,因為即使離散的神經元放電也是神經元中模擬過程的編碼。單元的過程更好地近似為一組可怕的(光榮的?)複雜的,重疊的,交叉接線的模擬反饋迴路。儘管基因表達與許多其他細胞過程密切相關,但它卻構成了基因表達的一部分。
@DanBryant很好的描述並同意-我試圖進一步闡明這一點。
Sleepses
2015-03-04 15:27:26 UTC
view on stackexchange narkive permalink

正如所見即所得所說,函數調用沒有等效項,因為總會有一些干擾。然而,人們可能會爭辯說,某些模塊化途徑(例如,細胞凋亡信號傳導)可以被視為“代碼塊”,其中某個輸入(幾乎)肯定會導致某種效果。與函數調用的類比是,在描述許多不同的機制時,它使較短和更有效的“代碼”可以考慮例如之間的所有內容。半胱天冬酶激活和細胞色素洩漏是一個障礙。另外,用泛素標記蛋白質可以看作是降解的功能。

如果您對生物學編程的構建模塊感興趣,請查看biobricks.org程序,該程序旨在定義模塊化零件(磚),可以是傳感器,邏輯功能,效應器,...

函數調用也存在干擾:它們被稱為全局變量,系統配置,硬件支持等。
akaDrHouse
2016-10-20 21:29:12 UTC
view on stackexchange narkive permalink

關於函數調用:

沒有等效的函數調用。所有事件發生在相同的空間,並且總是存在干擾的可能性。有人認為細胞器可以充當一個隔室,其功能可能類似於屬性,但它們非常複雜,而不僅僅是某種輸入輸出設備。

正如所見即所得所說的那樣,函數調用沒有等效項,因為總會有一些干擾。

我認為核受體是函數調用的很好例子。它們在細胞質中閒逛,允許正常編程以規範方式起作用。在被其配體激活後,它們易位至核以激活基因抑制/激活的子程序以及隨後的下游過程。

以這種方式,甚至可以說,啟動細胞信號傳導的大多數初始配體相互作用是功能調用。

h22
2017-06-18 01:10:02 UTC
view on stackexchange narkive permalink

除了出色的所見即所得答案外,還有一些底層的類似於編程的構造:

  • 功能調用-替換複雜蛋白質中的單個亞基,該亞基由多個亞基,每個亞基由單獨的基因編碼。這也可以看作是另一種編程概念COMPOSITION。
  • IF-選擇性剪接,一段DNA(外顯子)可以包含在編碼最終蛋白質的轉錄物中,也可以不包含在其中。
我回滾了編輯,該編輯將tic圍繞該答案的非代碼部分放回去。在這裡,FUNCTION CALL,COMPOSITION和IF不是代碼,它們是編程概念


該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 3.0許可。
Loading...