0
#include<stdio.h>
#include<string.h>
#include<stdlib.h>

int main()
{
    FILE *pdb;
    pdb=fopen("5an3.pdb", "r");
    if(feof(pdb))
    {
        fprintf(stderr,"File reading error!!! Probably your PDB file doesn't contain anything or poorly formatted\n");      
        return 0;
    }
    char test[255];
    while(!feof(pdb))
    {   
        fgets(test, 255, (FILE*)pdb);
        char check[10];
        strncpy(check,test,4);
        if(strcmp(check,"ATOM")==0)
        {
            char resname[3];
            strncpy(resname,&test[17],3);
            if((strstr(resname,"THR"))||(strstr(resname,"TYR"))||(strstr(resname,"PHE"))||(strstr(resname,"TRP")))
            {
                printf("%s\n",test);
            }
            else
            {
                printf("No Aromatic Residues Found!!! Better luck next time!!!\n");
                return 0;
            }
        }           
    }
    fclose(pdb);
    return 0;
}

我试图检索具有 THR、PHE、TYR、TRP 及其原子坐标的记录以进行进一步处理。但是,pdb 文件中似乎有很多不可见的 ascii 字符,这些字符搞砸了一切。如何摆脱这个?

4

0 回答 0