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; }
ThreeStateDB * new_proteindb_ThreeStateDB(SequenceDB * sdb,CompMat * comp,int gap,int ext) { ThreeStateDB * out; out = ThreeStateDB_alloc(); out->sdb = hard_link_SequenceDB(sdb); out->comp = hard_link_CompMat(comp); out->gap = gap; out->ext = ext; out->rm = default_RandomModel(); out->dbtype = TSMDB_PROTEIN; return out; }