5504
5511
prot = SeqMgrGetBestProteinFeature (prod, NULL);
5505
5512
if (prot != NULL) {
5506
5513
prp = (ProtRefPtr) prot->data.value.ptrvalue;
5508
geneorprotdb = prp->db;
5509
if (prp->name != NULL) {
5510
for (vnp = prp->name; vnp != NULL; vnp = vnp->next) {
5511
StringNCpy_0 (str, (CharPtr) vnp->data.ptrvalue, sizeof (str));
5512
if (! StringHasNoText (str)) {
5513
sprintf (tmp, "\t\t\tproduct\t%s\n", str);
5514
ValNodeCopyStr (head, 0, tmp);
5518
if (prp->desc != NULL) {
5519
StringNCpy_0 (str, prp->desc, sizeof (str));
5520
if (! StringHasNoText (str)) {
5521
sprintf (tmp, "\t\t\tprot_desc\t%s\n", str);
5522
ValNodeCopyStr (head, 0, tmp);
5525
for (vnp = prp->activity; vnp != NULL; vnp = vnp->next) {
5526
StringNCpy_0 (str, (CharPtr) vnp->data.ptrvalue, sizeof (str));
5527
if (! StringHasNoText (str)) {
5528
sprintf (tmp, "\t\t\tfunction\t%s\n", str);
5529
ValNodeCopyStr (head, 0, tmp);
5532
for (vnp = prp->ec; vnp != NULL; vnp = vnp->next) {
5533
StringNCpy_0 (str, (CharPtr) vnp->data.ptrvalue, sizeof (str));
5534
if (! StringHasNoText (str)) {
5535
sprintf (tmp, "\t\t\tEC_number\t%s\n", str);
5536
ValNodeCopyStr (head, 0, tmp);
5516
prp = SeqMgrGetProtXref (sfp);
5519
geneorprotdb = prp->db;
5520
if (prp->name != NULL) {
5521
for (vnp = prp->name; vnp != NULL; vnp = vnp->next) {
5522
StringNCpy_0 (str, (CharPtr) vnp->data.ptrvalue, sizeof (str));
5523
if (! StringHasNoText (str)) {
5524
sprintf (tmp, "\t\t\tproduct\t%s\n", str);
5525
ValNodeCopyStr (head, 0, tmp);
5529
if (prp->desc != NULL) {
5530
StringNCpy_0 (str, prp->desc, sizeof (str));
5531
if (! StringHasNoText (str)) {
5532
sprintf (tmp, "\t\t\tprot_desc\t%s\n", str);
5533
ValNodeCopyStr (head, 0, tmp);
5536
for (vnp = prp->activity; vnp != NULL; vnp = vnp->next) {
5537
StringNCpy_0 (str, (CharPtr) vnp->data.ptrvalue, sizeof (str));
5538
if (! StringHasNoText (str)) {
5539
sprintf (tmp, "\t\t\tfunction\t%s\n", str);
5540
ValNodeCopyStr (head, 0, tmp);
5543
for (vnp = prp->ec; vnp != NULL; vnp = vnp->next) {
5544
StringNCpy_0 (str, (CharPtr) vnp->data.ptrvalue, sizeof (str));
5545
if (! StringHasNoText (str)) {
5546
sprintf (tmp, "\t\t\tEC_number\t%s\n", str);
5547
ValNodeCopyStr (head, 0, tmp);
5540
5552
AddOneFtableQual (head, "prot_note", prot->comment);
5542
5554
StringNCpy_0 (str, prot->comment, sizeof (str));