/* demog - do Demographic section. */ #include "common.h" #include "hash.h" #include "linefile.h" #include "dystring.h" #include "cheapcgi.h" #include "spDb.h" #include "gisaidSample.h" #include "hdb.h" #include "net.h" static boolean demogExists(struct section *section, struct sqlConnection *conn, char *sampleId) /* Return TRUE if demogAll table exists and it has an entry with the gene symbol */ { if (sqlTableExists(conn, "gisaidSubjInfo") == TRUE) { return(TRUE); } return(FALSE); } static void display1(struct sqlConnection *conn, char *sampleId, char* colName) { char query[256]; struct sqlResult *sr; char **row; safef(query, sizeof(query), "select %s from gisaidSubjInfo where EPI_ISOLATE_ID='%s'", colName, sampleId); sr = sqlMustGetResult(conn, query); row = sqlNextRow(sr); if (row != NULL) { printf("%s: %s
\n", colName, row[0]); fflush(stdout); } sqlFreeResult(&sr); } static void demogPrint(struct section *section, struct sqlConnection *conn, char *sampleId) /* Print out GAD section. */ { printf("

Sample (EPI_ISOLATE_ID): %s

\n", sampleId); //display1(conn, sampleId, "EPI_ISOLATE_ID"); display1(conn, sampleId, "subjId"); display1(conn, sampleId, "EPI_SEQUENCE_ID"); display1(conn, sampleId, "TYPE"); display1(conn, sampleId, "PASSAGE"); display1(conn, sampleId, "COLLECT_DATE"); display1(conn, sampleId, "HOST"); display1(conn, sampleId, "LOCATION"); display1(conn, sampleId, "NOTES"); display1(conn, sampleId, "UPDATE_DATE"); display1(conn, sampleId, "ISOLATE_SUBMITTER"); display1(conn, sampleId, "SAMPLE_LAB"); display1(conn, sampleId, "SEQUENCE_LAB"); display1(conn, sampleId, "IV_ANIMAL_VACCIN_PRODUCT"); display1(conn, sampleId, "RESIST_TO_ADAMANTANES"); display1(conn, sampleId, "RESIST_TO_OSELTAMIVIR"); display1(conn, sampleId, "RESIST_TO_ZANAMIVIR"); display1(conn, sampleId, "RESIST_TO_PERAMIVIR"); display1(conn, sampleId, "RESIST_TO_OTHER"); display1(conn, sampleId, "H1N1_SWINE_SET"); display1(conn, sampleId, "LAB_CULTURE"); display1(conn, sampleId, "IS_COMPLETE"); display1(conn, sampleId, "IV_SAMPLE_ID"); display1(conn, sampleId, "DATE_SELECTED_FOR_VACCINE"); display1(conn, sampleId, "PROVIDER_SAMPLE_ID"); display1(conn, sampleId, "ANTIGEN_CHARACTER"); display1(conn, sampleId, "PATHOGEN_TEST_INFO"); display1(conn, sampleId, "ANTIVIRAL_RESISTANCE"); display1(conn, sampleId, "AUTHORS"); display1(conn, sampleId, "SEQLAB_SAMPLE_ID"); display1(conn, sampleId, "IS_VACCINATED"); display1(conn, sampleId, "HUMAN_SPECIMEN_SOURCE"); display1(conn, sampleId, "ANIMAL_SPECIMEN_SOURCE"); display1(conn, sampleId, "ANIMAL_HEALTH_STATUS"); display1(conn, sampleId, "ANIMAL_DOMESTIC_STATUS"); display1(conn, sampleId, "SOURCE_NAME"); display1(conn, sampleId, "GEOPLACE_NAME"); display1(conn, sampleId, "HOST_AGE"); display1(conn, sampleId, "HOST_GENDER"); display1(conn, sampleId, "ZIP_CODE"); display1(conn, sampleId, "PATIENT_STATUS"); display1(conn, sampleId, "ANTIVIRAL_TREATMENT"); display1(conn, sampleId, "OUTBREAK"); display1(conn, sampleId, "VACCINATION_LAST_YEAR"); display1(conn, sampleId, "PATHOGENICITY"); } struct section *demogSection(struct sqlConnection *conn, struct hash *sectionRa) /* Create demog section. */ { struct section *section = sectionNew(sectionRa, "demog"); section->exists = demogExists; section->print = demogPrint; return section; }