By yifangt
@Mseq1
AGCTG
+
XX%%A
@Mseq2
AGCGG
-
&X#%A
@Mseq3
AGCCG
+
#X%#A
Desired Output: outfile.txt
@Mseq1 AGCTG + XX%%A
@Mseq2 AGCGG - &X#%A
@Mseq3 AGCCG + #X%#A
#include
#include
#include
struct node
{
char readName[251];
char readSeq[251];
char strand;
char readQual[251];
struct node *next;
};
int main ()
{
FILE *fp;
int count;
char *line;
count = 1;
char filename[30] = "infile.txt";
struct node *read, *pre, *p;
struct node *first = NULL;
fp = fopen (filename, "r");
while (fgets (line, sizeof (line), fp) != NULL) /* read a line */
{
read = (struct node *) malloc (sizeof (struct node));
while (count % 4 == 1)
{
strcpy (read->readName, line);
}
count++;
while (count % 4 == 2)
{
strcpy (read->readSeq, line);
}
count++;
while (count % 4 == 3)
{
strcpy (read->strand, line);
}
count++;
while (count % 4 == 0)
{
strcpy (read->readQual, line);
}
count++;
read->next = NULL;
pre = p = first;
while (p != NULL)
{
pre = p;
p = p->next;
}
if (pre != NULL)
pre->next = read;
else
first = read;
fclose (fp);