Q:The genome of an organism is inscribed in DNA, or in some viruses RNA. The portion of the genome that codes for a protein or an RNA is referred to as a gene. Those genes that code for proteins are composed of tri-nucleotide units called codons, each coding for a single amino acid. Information about the twenty amino acids found in proteins, along with the single-letter code and DNA codons representing these amino acids in protein data bases is given to you.All 64 possible 3-letter combinations of the DNA coding units T, C, A and G are used either to encode one of these amino acids or as one of the three stop codons that signals the end of a sequence.
Start codon(AUG), Stop codon (UAG , UGA and UAA ).
You have to write a program, that takes a DNA sequence of arbitrary length and amino acid-codon table and output information about what all amino acids are present in that sequence. Design /Structure the input data, output data and processing data. You may add more queries.
PLEASE HELP ME FIND MISTAKES IN THE FOLLOWING PROGRAM:
#include<stdio.h>
#include<conio.h>
#include<string.h>
#include<process.h>
#include<alloc.h>
struct node
{
char data[4];//3 for codon nd one for null
struct list * next;
}
main()
{
struct node *head,*trav;
FILE *fp;
char sq[50];
int i,n;
fp=fopen("sequence.txt","w");
clrscr();
head=malloc(sizeof(struct node));
printf("enter the length of the sequence:");
scanf("%d",&n);
printf("enter the sequence:");
scanf("%s",sq);
fputs(sq,fp);//copies into file
printf("the sequence you have entered is:"); //prints data on screen
for(i=0;i<=n;i++)
{
printf("\t%c",sq[i]);
}
linked_list(head,fp);
fclose(fp);
getch();
}
linked_list(struct node* head,FILE *fp)
{
int i;
char data[4];
struct node *newnode=malloc(sizeof(struct node));
fp=fopen("sequence.txt","r");
if(!fp)
printf("cannot open file");
exit(0);
rewind(fp);
for(i=0;i<4;i++)
{
fscanf(fp,"%c",data[i] );
printf("%c",data[i]);
if(feof(fp))
exit(0);
}
data[3]='\0';
if((strcmp(data,"AUG"))!=0)
{
fseek(fp,-2,1);
}
newnode->next=head;
head=newnode;
linked_list(newnode->next,fp);
getch();
fclose(fp);
}