cDNADB * new_cDNADB(SequenceDB * seqdb) { cDNADB * out; ComplexSequenceEvalSet * cses; if( seqdb == NULL ) { warn("No sequencedb - can't make a cDNADB!"); return NULL; } /** should check sequence database **/ cses = default_cDNA_ComplexSequenceEvalSet(); if( cses->type != SEQUENCE_CDNA ) { warn("You can't make a cDNA database with a non SEQUENCE_cDNA cses type [%d]",cses->type); return NULL; } out = cDNADB_alloc(); out->is_single_seq = FALSE; out->sdb = hard_link_SequenceDB(seqdb); out->cses = hard_link_ComplexSequenceEvalSet(cses); free_ComplexSequenceEvalSet(cses); return out; }
GenomicDB * new_GenomicDB(SequenceDB * seqdb,ComplexSequenceEvalSet * cses,int length_of_N,int repeat_in_cds_score) { GenomicDB * out; if( seqdb == NULL || cses == NULL ) { warn("Attempting to make GenomicDB from some NULL objects."); return NULL; } /** should check sequence database **/ if( cses->type != SEQUENCE_GENOMIC ) { warn("You can't make a genomic database with a non SEQUENCE_GENOMIC cses type [%d]",cses->type); return NULL; } out = GenomicDB_alloc(); out->is_single_seq = FALSE; out->sdb = hard_link_SequenceDB(seqdb); out->cses = hard_link_ComplexSequenceEvalSet(cses); out->length_of_N = length_of_N; out->repeat_in_cds_score = repeat_in_cds_score; return out; }