Previous sloppy question editted out for clarity.
Edits: Here's a short version of the code I used. I apologize if I include some unnecessary information (I am not quite familiar with C).
Code:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include <time.h>
#define SEQ 200
#define POS 100
char *copy_substr (char *source, int start, int end){
int x,y;
char target[1000];
for (x=0; x<sizeof(target); x++)
target[x]='\0';
for (x=start, y=0; x <= end; x++, y++)
target[y]=source[x];
return(target);
}
main(){
char seq[SEQ][POS];
int no=0;
char garbage[1000];
int x,y,z,i,j;
int len;
/* Reads in alignment file from stdin */
while (fgets(garbage, sizeof(garbage), stdin)){
x=0;
/* Finds boundaries */
while (garbage[x++] == ' ');
while (garbage[x++] != ' ');
while (garbage[x++] == ' ');
y=--x;
while(isalpha(garbage[x]) || garbage[x] == '.' || garbage[x] == '-')
x++;
x--;
printf("*%d %d %d*",no,x,y);
printf("%s",garbage);
strcpy(seq[no], copy_substr(garbage, y, x));
printf("%s\n",seq[no]);
no++;
}
len=strlen(seq[0]);
}
Input file:
4322822 PLP.......PG...WEIKIDPQTGWPFFVDHNSRTTTWNDPRVP
3560257 GLP.......KP...WIVKISRSRNRPYFFNTETHESLWEPPAAT
3046716 PLPNLGQSVKPP...WERATTAAN.VPYYIDHERQTTHWDHPEMI
3875252 PLP.......SG...WECITMNN.RTVFLNHANKETSFYDPRIRR
2827198c PLP.......EG...WEMRFTVD.GIPYFVDHNRRATTYIDPRTG
2708329c PLP.......EG...WEMRFTVD.GIPYFVDHNRRTTTYIDPRTG
3875841 PMP.......QG...WEMCYDSD.GVRYFKDHNSKTTTWDDPRLK
1171682d GLP.......PG...WEEKQDER.GRSYYVDHNSRTTTWTKPTVQ
2072503d ALP.......AG...WEQRELPN.GRVYYVDHNTKTTTWERPLPP
3411053b ELP.......YG...WEKIDDPIYG.TYYVDHINRRTQFENPVLE
Output:
*0 58 14* 4322822 PLP.......PG...WEIKIDPQTGWPFFVDHNSRTTTWNDPRVP
|=҇
*1 58 14* 3560257 GLP.......KP...WIVKISRSRNRPYFFNTETHESLWEPPAAT
GLP.......KP...WIVKISRSRNRPYFFNTETHESLWEPPAAT
*2 58 14* 3046716 PLPNLGQSVKPP...WERATTAAN.VPYYIDHERQTTHWDHPEMI
PLPNLGQSVKPP...WERATTAAN.VPYYIDHERQTTHWDHPEMI
*3 58 14* 3875252 PLP.......SG...WECITMNN.RTVFLNHANKETSFYDPRIRR
PLP.......SG...WECITMNN.RTVFLNHANKETSFYDPRIRR
*4 58 14* 2827198c PLP.......EG...WEMRFTVD.GIPYFVDHNRRATTYIDPRTG
PLP.......EG...WEMRFTVD.GIPYFVDHNRRATTYIDPRTG
*5 58 14* 2708329c PLP.......EG...WEMRFTVD.GIPYFVDHNRRTTTYIDPRTG
PLP.......EG...WEMRFTVD.GIPYFVDHNRRTTTYIDPRTG
*6 58 14* 3875841 PMP.......QG...WEMCYDSD.GVRYFKDHNSKTTTWDDPRLK
PMP.......QG...WEMCYDSD.GVRYFKDHNSKTTTWDDPRLK
*7 58 14* 1171682d GLP.......PG...WEEKQDER.GRSYYVDHNSRTTTWTKPTVQ
GLP.......PG...WEEKQDER.GRSYYVDHNSRTTTWTKPTVQ
*8 58 14* 2072503d ALP.......AG...WEQRELPN.GRVYYVDHNTKTTTWERPLPP
ALP.......AG...WEQRELPN.GRVYYVDHNTKTTTWERPLPP
*9 58 14* 3411053b ELP.......YG...WEKIDDPIYG.TYYVDHINRRTQFENPVLE
ELP.......YG...WEKIDDPIYG.TYYVDHINRRTQFENPVLE
Expected output:
*0 58 14* 4322822 PLP.......PG...WEIKIDPQTGWPFFVDHNSRTTTWNDPRVP
PLP.......PG...WEIKIDPQTGWPFFVDHNSRTTTWNDPRVP
*1 58 14* 3560257 GLP.......KP...WIVKISRSRNRPYFFNTETHESLWEPPAAT
GLP.......KP...WIVKISRSRNRPYFFNTETHESLWEPPAAT
*2 58 14* 3046716 PLPNLGQSVKPP...WERATTAAN.VPYYIDHERQTTHWDHPEMI
PLPNLGQSVKPP...WERATTAAN.VPYYIDHERQTTHWDHPEMI
*3 58 14* 3875252 PLP.......SG...WECITMNN.RTVFLNHANKETSFYDPRIRR
PLP.......SG...WECITMNN.RTVFLNHANKETSFYDPRIRR
*4 58 14* 2827198c PLP.......EG...WEMRFTVD.GIPYFVDHNRRATTYIDPRTG
PLP.......EG...WEMRFTVD.GIPYFVDHNRRATTYIDPRTG
*5 58 14* 2708329c PLP.......EG...WEMRFTVD.GIPYFVDHNRRTTTYIDPRTG
PLP.......EG...WEMRFTVD.GIPYFVDHNRRTTTYIDPRTG
*6 58 14* 3875841 PMP.......QG...WEMCYDSD.GVRYFKDHNSKTTTWDDPRLK
PMP.......QG...WEMCYDSD.GVRYFKDHNSKTTTWDDPRLK
*7 58 14* 1171682d GLP.......PG...WEEKQDER.GRSYYVDHNSRTTTWTKPTVQ
GLP.......PG...WEEKQDER.GRSYYVDHNSRTTTWTKPTVQ
*8 58 14* 2072503d ALP.......AG...WEQRELPN.GRVYYVDHNTKTTTWERPLPP
ALP.......AG...WEQRELPN.GRVYYVDHNTKTTTWERPLPP
*9 58 14* 3411053b ELP.......YG...WEKIDDPIYG.TYYVDHINRRTQFENPVLE
ELP.......YG...WEKIDDPIYG.TYYVDHINRRTQFENPVLE
Please note that the copy_substr didn't work for the first line of the input (the second line of the output doesn't match the second line of the expected output).