mafFileApi_t* maf_newMfa(const char *filename, char const *mode) { mafFileApi_t *mfa = (mafFileApi_t *) de_malloc(sizeof(*mfa)); mfa->lineNumber = 0; mfa->lastLine = NULL; mfa->mfp = de_fopen(filename, mode); mfa->filename = de_strdup(filename); return mfa; }
static void test_readingFasta_0(CuTest *testCase) { char inputName[] = ">simChimp.chrA"; char inputSequence[] = "ATAATACTTGCACACTTCTGCTATTACTTGATGTGTTTTCTATGGGGTGT" "CTTTCAGTGCTATGGGCAAGGCCATGGATTAATGGTGCCATAATTGCTCT" "AGGCAGTGACTAGAAACAGTTCACAAGTTTTTACTGTATCAAACTATGTT" "TTATAGTACGATTCACCCTCCAGGGGACCATCCCAAACTACTGGCCTAAA" "AGGACCTGCCATGTTGTAACTCCCCAGCTTAGAAATATAGACGGGAGGAA" "TGACaaaaagaagaaaaaaaaaaaaagaaaaaataaaaaaaaaacaaaaa" "agatagagaaaaaaaaaagtaaaaacaaaaaaaaataaaaaagggaaaaa" "aaataacaaaggaacaaaaaaaaaaaaaaaaaaataaaaagaaaaaCAAG" "ATAACCTTCATGCCATTGGAGCTATCTATTATTGTCTTGACCTATGCTTT" "ATCAATTTCTTCCTTCCTAGGAAGACATTTTTCTAGAAAGCTAAACGTTT" "TTGTAGGCTTGCATGTTCTGTCTGGGCTTGAATGGTTGTGCGTCTACAAG" "CCTCATTTACCATAGCACCATGCTTGGGTGGTATCTATCATCATTATCAA" "TAGTCAAGTCATTATAATGTTTTGGTGATCAGGCCAGATCCCTTGCACCA" "GTGACTTTCTAAATAGCACCTCCTCCATCATTTAAGGATCTCTAGCAACT" "TTAATCTGACTCACCTTGCCATGCAGAGTGCATGTTCCTTTTTAACACCC" "TGTGATTATGGGTTGGGTCTATTTGTATTTGTTTGATTACATCAGACGAC" "CAGGCCAGAGACAGATAAACACAACAGCCACTGGAACCTAAAGCTGTGTT" "CAGAATGTCACGGAATGTCTCATTGCACCCAGAGCTAGGGTGGGTATGAG" "TATGATCTTCTACATAAGGTACCCCAGGAAAATTAACTTAACAACCAATC" "AATTACAGAAGATGAATTCTGCTGTTGTCTCTTATTAGTTGGACTATTCA" "GCCTAATGGTTGGCCACTTAGCTTGTCATGAGCATTACTGTACTACTATG" "TCTAGTGTTTCCAGTTATTAGTTAGCCCACTGGATAGACAGTTTTGGCTT" "GTTTTCTTTCATTTGTATTGCCCACTCACCTAGCAAATCAGACAAAGGGG" "CATGTGAAAACTACCTTAGACTCTGCAGTTAGACAAACCATACTTTCCAC" "ATAGACCTCAGACATTTGGACATGAATAATTTCCTTCCTCCGGAGTGGTG" "GTTCCTCAACACTTATCACTTTCTTCTTCTTTTACCCGTATCACTGTCAA"; FILE *ofp = de_fopen("testFasta.fa", "w"); fprintf(ofp, "%s\n", inputName); for (size_t i = 0; i < strlen(inputSequence); ++i) { fprintf(ofp, "%c", inputSequence[i]); if (((i + 1) % 50) == 0) { fprintf(ofp, "\n"); } } fprintf(ofp, "\n"); fclose(ofp); stHash *sequenceHash = stHash_construct3(stHash_stringKey, stHash_stringEqualKey, free, destroyMtfseq); addSequencesToHash(sequenceHash, "testFasta.fa"); mtfseq_t *value = NULL; CuAssertTrue(testCase, (value = stHash_search(sequenceHash, "not in there")) == NULL); CuAssertTrue(testCase, (value = stHash_search(sequenceHash, "simChimp.chrA")) != NULL); if (value != NULL) { CuAssertTrue(testCase, strlen(value->seq) == strlen(inputSequence)); CuAssertTrue(testCase, strcmp(value->seq, inputSequence) == 0); } if (remove("testFasta.fa")) { fprintf(stderr, "Error, unable to remove temporary file testFasta.fa\n"); exit(EXIT_FAILURE); } stHash_destruct(sequenceHash); }
static de_file_ref_t prep_new_core_file(struct dump_s *s) { char name[80]; int i; de_file_ref_t file; for(i=1 ; i <= DE_COREDUMP_MAX_COUNT ; i++) { DE_SNPRINTF(name, sizeof(name), CORE_FILE_NAME, i); file = de_fopen(name, DE_FRDONLY ); if(de_f_is_open(file)) { de_fclose(file); } else { s->nr = i; return de_fopen(name, DE_FCREATE|DE_FWRONLY|DE_FTRUNC); } } return NULL; }