Documentation In the era of unconventional computing, biomolecular computing becomes a promising alternative. Each biomolecular computing has its advantage. Ribosomal computing is a kind of biomolecular computing. Several theoretical works have been done using this computing. A generalized simulation model of ribosomal computing is presented in this software. This model can be used to manifest the effect of ribosome stalling over protein synthesis. Brief Overview Input Window Sl Window Description 1 Type of Operation The name of the operation will be stored in this file. 2 Subtype of Operation The name of the sub-operation will be stored in this file. 3 Mode of Input The mode means base for providing input data will be stored in this file. 4 Input 1 The first input number for the operation will be stored in this file. 5 Input 2 The second input number for the operation will be stored in this file. Output Window Sl Output Window Description 1. Bio Data->mRNA This output file contains mRNA which is generated according to the user input. 2 Bio Data->mutation This output file contains the list of the names of mutations required for performing the operation. 3 Bio Data->protein This output file contains the output chain protein chain generated from the input following the translation process. 4 Digital Data->Output In this output file the digital output in binary format. 5 Digital Data->Input This output file contains the input in digital format which has a user given. 6 Digital The conversion details are given in this Data->Conversion window. 7 Bio Details In this output file the biological details of the process for generation of output is described. 8 Digital Details In this file the digital details of output generation are enlisted. A small overview with schematic Description User Guide ● Please select the hierarchy for the respective window. ● In the input window the user will give the input for type of operation,subtype of operation,mode of input,and the inputs. ● In the input window subtype operation will be activated after the selection of type of operation. ● Input window will be in active mode, after giving the input it will move to inactive mode. ● Please follow the tooltip instruction given in the input box. ● After giving the input please press “GO”for output. ● Always the output will be max of 8bit as it is an 8bit simulator . ● If the output is more than 8 bit,the result will be erroneous. ● Please select the hierarchy for the respective output. ● There is a save button to save the output. ● At the menu bar there is restart button ● After every operation,to repeat any operation,the software should be restarted. ● To access the internet,there is a web button in the menu bar as well. ● The hierarchy can also be selected from the menu bar. Developer Guide Details about GUI files mainwindow.ui Here the graphical interface is designed mainwindow.cpp The corresponding graphical interface code is given in this file User Interface function details File name Function name work mainwindow.cpp void For making the MainWindow::addTreeR hierarchy. oot mainwindow.cpp void for making list in the MainWindow::addTreeC hierarchy hild mainwindow.cpp void for making the output MainWindow::makeOut window disabled at the putInactive time of operating the input window and vice versa. mainwindow.cpp void For writing the details in MainWindow::on_action the description box Welcome_triggered mainwindow.cpp void To trigger the back end MainWindow::on_pushB logic and trigger output utton_clicked window from input window mainwindow.cpp void to provide restart option MainWindow::on_action to the user Restart_triggered() mainwindow.cpp void to provide internet MainWindow::on_action browser to the interface Web_triggered() mainwindow.cpp void for making the input MainWindow::on_combo window and giving some Box_2_currentIndexCha restrictions and tooltip nged informations mainwindow.cpp void for making dropdown MainWindow::on_combo options in the input Box_currentIndexChang window ed mainwindow.cpp void to provide save button MainWindow::on_pushB option to the user utton_12_clicked mainwindow.ui nil It provides the total graphical UI and design of the corresponding input and output window. Details about back-end files main.cpp The whole software is controlled by this .cpp file .At first the mainwindow.cpp is called then the input is stored in the file and then the back end logic takes binarytype.c Convert a decimal number to binary decimaltype.c Convert a binary number(as a character) to integer input.c Here we prepare the input to create mRNA using this. We adjust t he bit if two inputs are not in same length using a function ' adjust()'. We convert it into a binary number using a function 'get_input()'. main1.c This f unction provide the user interface To perform an operation u sers provide three different type input. First input i s name of the operation Second input is a flag of what type of input value we are going to put Third i nput is the value(s) for the operation Depending upon the operation the output(s) is (are) generated. mrna.c Here we implement mRNA for a specific o peration. Three types of structures are mentioned here. The mRNA for logic gates are created using the 'get_interleaved()' function. The 2 's complement function is created using the 'get_singlebit_interleaved()' function. To implement mRNA for comparator function 'get_reverse_interleaved()' is used. Function 'get_interleaved()' and 'get_reverse_interleaved()' both take two inputs number where 'get_singlebit_interleaved()' function takes one input number operation.c Here we perform the protein synthesis operation. In function operation at first each input i s read from the reporter mRNA. Then according to input codon and instruction the output is generated and the output p eptide chain is created. ribosome.c Here we design the mutation for operation. The function 'get_ribosome_with_mutation()' gives the name of the mutation for each different operation. Then we define the mutations for each particular operation using the functions 'get_mutation_for_xor()', 'get_mutation_for_and()' and or(); Energy.txt Total GTP is calculated and GTP in every step is also calculated. time.txt Total time and time in every step is also calculated in this step. Header file Details binarytype.h This is header file of decimal to binary conversion of a number input.h Here we take user input. The first argument is the name of the operation. The second one is a f lag value to check if inputs are binary or not. Then two input numbers as a string. mrna.h Here we construct a reporter mRNA for the protein s ynthesis process to perform an operation. In this file we mention only variable and function declaration. We a ssume that the mRNA is a character array and named as 'mrna'. T hen to get a specific mRNA for a specific operation, the function definitions are given, like to get mRNA for XOR operation 'get_mrna_for_xor()' is defined and it returns a mrna type meaning a character array. operation.h This is the header file which contains the operation f unction. In this function the a ctual protein synthesis is performed. ribosome.h In t his header file two structure type data are taken. One is mutation and other is ribosome. mutation is a member of the structure ribosome. In this header file f unction for mutation for different operations are taken. Along with it a function ribosome get_ribosome_with_mutation() is taken. In this function the property of all mutations is described. util.h This header f ile is defined by us. In this file we define two variables a 'number' and a 'chain'. Both variables are character array type variables. Variable 'number' represents a string of input numbers. The 'chain' represents the string of o utput amino acid chains. Details about the back-end functions Source file function name parameter work input.c get_input_two char *n ame, int This function flag, number takes input for number1, number four arguments number2, mrna from the user and *omrna, ribosome prepares it to *oribo create mRNA. This function also creates ribosomes with proper mutation according to operation. First input is a string and it i s a name of an operation S econd input is a boolean value used as a flag if inputs are binary or not T hird one is the string of first input number F ourth one is the string of second input number It returns Two same length number input.c get_input_one char *n ame, int This function flag, number takes input for number, mrna four arguments *omrna, ribosome from the user and *oribo prepares it to create mRNA. This function also creates ribosomes with proper mutation according to operation. First input i s a string and it i s a name of an operation S econd input is a boolean value used as a flag if inputs are binary or not T hird one is the string of first input number F ourth is the reference of a blank mRNA F ifth is the reference of a blank Ribosome It returns the mRNA and the Ribosome for shift operation input.c get_inputs char *n ame, int This function flag, number takes input for six number1, mrna arguments from *omrna, ribosome the user and *oribo prepares it to create mRNA. This function also creates ribosomes with proper mutation according to operation. First input i s a string and it i s a name of an operation S econd input is a boolean value used as a flag if inputs are binary or not T hird one is the string of first input number F ourth one is the string of second input number Fifth one is the pointer of a mRNA Sixth one i s the pointer of a Ribosome It returns the proper mRNA a nd Ribosome through the variable s ent by the main function input.c get_inputmult char *n ame, int This function flag, char takes input for *number1, char four arguments *number2 from the user and prepares it to create mRNA. This function also creates ribosomes with proper mutation according to operation. Then perform the multiplication operation b y executing the operations repetitively according to booth's algorithm for multiplication for two 8 bit number First input i s a string and it i s a name of an operation S econd input is a boolean value used as a flag if inputs are binary or not T hird one is the string of first input number F ourth one is the string of second input number The result of multiplication to the main function input.c get_inputdiv char *n ame, int This function flag, char takes five inputs *number1, char and generates the *number2, char remainder and *rem) quotient as output. Based on the condition a set of operations is performed in a repetitive manner. To perform an operation t he mRNA and ribosome is created. T hen the function returns the quotient and the remainder t o the main function. This function operates on 8 bit numbers. First input i s a string and it i s a name of an operation Second i nput is a boolean value used as a flag if inputs are binary or not Third one is the string of first input number Fourth one is the string of second input number Fifth one is the string of remainder which is send by the main function The result of division to the main function util.c adjust number num, int This function flag, int t takes two numbers and checks if the length o f this two numbers is the same or not. First input number may be in binary or decimal S econd input number may be in binary or in decimal Two same length number ribosome.c get_mutation_for int Definition of _xor/and/or *countactivator, mutation f or int *c ountselector XOR/AND/OR…. Operation in a ribosome Input is an Integer variable which represents number of mutation f or XOR operation It returns list of mutation f or XOR operation mrna.c get_interleaved char *n um1, char This function *num2, char creates mRNA *opname from two number in bit interleaved fashion in reverse direction. Useful for comparators. First input number in binary format Second input number in binary format It returns created mRNA mrna.c get_reverse_interl char *n um1, char This function is eaved *num2 used to c reate mRNA from two input numbers in reverse order. Useful for comparator logic. First Input number in binary format Second Input number in binary format It returns Created mRNA mrna.c get_singlebit char *n um, char This function *name creates mRNA from a single number num. Useful for Logical Left shift, Logical Right shift, Arithmetic left shift, Arithmetic right shift, Circular left shift, Circular right shift. Input number in binary format Returns : Created mRNA get_single char *n um1, char This function *name creates mRNA from a single number in reverse order. This function is useful for two's complement, shift in multiplication, decision in multiplication, shift in division. num1 Return: reporter mRNA mrna.c get_single_cond char *n um1, char This function *name, char creates mRNA *activemname from a single number with a special type of codon. This function is useful for shifts for quotients, decision of division. num1 Return: output as reporter mRNA mrna.c get_mrna_for_xor char *n um1, char This function /or/and *num2 creates mRNA for XOR/or/and/…. gate. A brief discussion of Ribosomal Simulator Interface Deign Ribosomal computer and user interaction interface design using QT Feature of Conventional Computing : Electronic Logic Circuit Ø Takes input and generates output Ø Operations perform in binary mode Ø Logic gates are basic logic circuit Ø Two type of circuits ØCombinational Ø Sequential Ø In case of sequential circuit a triggering logic is given as a clock. Feature of Ribosomal Computing : Ribosomal Logic Circuit Ø Inputs are taken in the form of mRNA. Ø Outputs are generated in the form of protein chain. Ø Logic operations are controlled through mutation. Ø Mutations are set of rules. Ø Ribosome is the working place. Ø Ribosome structure and Ribosomal protein and rRNA can control protein it e synthesis. it S t Ex p u t Ou Regulatory Regulatory Regulatory Gene Gene Gene Input Flow Path Regulatory Regulatory Regulatory Input Frame Gene Gene Gene Input Exit Working Input Entry Site Place Site Thank You.