setSeq(strtoupper($row["seq"])); $nucSeq->setLength($row["length"]); $nucSeq->setCds($row["cds"]); $nucSeq->setUpdated($row["updated"]); $nucSeq->setAmbiguous($row["ambiguous"]); $nucSeq->setMarker($row["fk_marker"]); $objlist[]= $nucSeq; } /* single object result */ if (count($objlist)==1) return $objlist[0]; /* multiple object result */ else return $objlist; } /** * added the parameters $limit and $offset on Dec 21, 2010 */ function getAllRaw($limit=false,$offset=false) { /* $nucSeqDao= new NucSeqDao(); $result=$nucSeqDao->searchAllRaw(); return NucSeqManager::genDataObjs($result);*/ $nucSeqArray=array(); $seqDataArray=SeqDataManager::getAll($limit,$offset); return NucSeqManager::generateRaw($seqDataArray); } /** * added the parameters $limit and $offset on Dec 21, 2010 */ function getAllAln($limit=false,$offset=false) { /* $nucSeqDao= new NucSeqDao(); $result=$nucSeqDao->searchAllAln(); return NucSeqManager::genDataObjs($result);*/ $nucSeqArray=array(); $seqDataArray=SeqDataManager::getAll($limit,$offset); return NucSeqManager::generateAln($seqDataArray); } function getAllAlnCount() { /*$nucSeqDao= new NucSeqDao(); $result=$nucSeqDao->searchAllRaw(); $row=$result->fetchRow(MDB2_FETCHMODE_ASSOC); return $row["count"];*/ return SeqDataManager::countAllNucAln(); } function getRawBySeqid($seqid) { /* $nucSeqDao= new NucSeqDao(); $result=$nucSeqDao->searchRawBySeqid($seqid); return NucSeqManager::genDataObjs($result);*/ $seqData=SeqDataManager::getBySeqId($seqid); if($seqData!=NULL) $raw=NucSeqManager::generateRaw($seqData); return $raw; } function getRawBySeqidArray($seqids) { /* $nucSeqDao= new NucSeqDao(); $result=$nucSeqDao->searchRawBySeqid($seqid); return NucSeqManager::genDataObjs($result);*/ $seqData=SeqDataManager::getBySeqidArray($seqids); if($seqData!=NULL) $raw=NucSeqManager::generateRaw($seqData); return $raw; } function getRawBySeqidMarker($seqid,$marker) { //echo "getting : '$seqid' '$marker'\n"; $seqData=SeqDataManager::getBySeqIdMarker($seqid,$marker); if($seqData!=NULL) $raw=NucSeqManager::generateRaw($seqData); return $raw; } function getRawLengthBySeqidMarker($seqid,$marker) { $seqData = SeqDataManager::getLengthsBySeqIdMarker($seqid, $marker); if ( $seqData == NULL ) return NULL; return $seqData->getNucRawLength(); } function getAlnLengthBySeqidMarker($seqid,$marker) { $seqData = SeqDataManager::getLengthsBySeqIdMarker($seqid, $marker); if ( $seqData == NULL ) return NULL; return $seqData->getNucAlnLength(); } function getAlnBySeqid($seqid) { /* $nucSeqDao= new NucSeqDao(); $result=$nucSeqDao->searchAlnBySeqid($seqid); return NucSeqManager::genDataObjs($result);*/ $seqData=SeqDataManager::getBySeqId($seqid); if($seqData!=NULL) $aln=NucSeqManager::generateAln($seqData); return $aln; } function getAlnBySeqidMarker($seqid,$marker) { $seqData=SeqDataManager::getBySeqidMarker($seqid,$marker); if($seqData!=NULL) $aln=NucSeqManager::generateAln($seqData); return $aln; } function saveRawSeq($seqObj,$site=NULL) { //$nucSeqDao= new NucSeqDao(); $seqDataManager=new SeqDataManager(); //$nucSeqDao->deleteRawBySeqidMarker($seqObj->getId(), $seqObj->getMarker()); //$nucSeqDao->deleteAlnBySeqidMarker($seqObj->getId(), $seqObj->getMarker() ); $seqObj->calcLength(); /*$nucSeqDao->insertRaw( $seqObj->getId(), $seqObj->getSeq(), $seqObj->getLength(), $seqObj->getCds(), $seqObj->getAmbiguous(), $seqObj->getMarker() );*/ //insert data into seqdata table $seqData=new SeqData(); $seqData->setSeqId($seqObj->getId()); $seqData->setMarker($seqObj->getMarker()); $seqData->setNucRaw($seqObj->getSeq()); $seqData->setNucRawLength($seqObj->getLength()); $seqData->setNucRawCds($seqObj->getCds()); $seqData->setSite($site); $seqDataManager->saveNucRaw($seqData); } function saveAlnSeq($seqObj) { //$nucSeqDao= new nucSeqDao(); $seqDataManager=new SeqDataManager(); /*$nucSeqDao->deleteAlnBySeqidMarker($seqObj->getId(), $seqObj->getMarker()); $nucSeqDao->insertAln( $seqObj->getId(), $seqObj->getSeq(), $seqObj->getLength(),"NULL", $seqObj->getAmbiguous(), $seqObj->getMarker() );*/ $seqData=new SeqData(); $seqData->setSeqId($seqObj->getId()); $seqData->setNucAln($seqObj->getSeq()); $seqData->setNucAlnLength($seqObj->getLength()); $seqData->setNucAlnCds($seqObj->getCds()); $seqDataManager->saveNucAln($seqData); } //deprecated Jun 14, 2011 (no ambigoug count stored in DB table anymore) function updateAmbiguousNucaln($seqidarray){ /*$nucSeqDao= new nucSeqDao(); $nucSeqDao->updateAmbiguousAln($seqidarray);*/ } function getAlnByDate($start=NULL,$end=NULL){ /* $nucSeqDao = new NucSeqDao(); $result=$nucSeqDao->getAlnByDate($start,$end); return NucSeqManager::genDataObjs($result);*/ $nucSeqArray=array(); $seqDataArray=SeqDataManager::getByDate($start,$end); return NucSeqManager::generateAln($seqDataArray); } function getAlnByDateMarker($start=NULL,$end=NULL,$marker){ /* $nucSeqDao = new NucSeqDao(); $result=$nucSeqDao->getAlnByDate($start,$end); return NucSeqManager::genDataObjs($result);*/ $nucSeqArray=array(); $seqDataArray=SeqDataManager::getByDateMarker($start,$end,$marker); return NucSeqManager::generateAln($seqDataArray); } function getRawByDate($start=NULL,$end=NULL){ /* $nucSeqDao= new NucSeqDao(); $result=$nucSeqDao->getAlnByDate($start,$end); return NucSeqManager::genDataObjs($result);*/ $nucSeqArray=array(); $seqDataArray=SeqDataManager::getByDate($start,$end); return NucSeqManager::generateRaw($seqDataArray); } function getRawByDateMarker($start=NULL,$end=NULL,$marker){ $nucSeqArray=array(); $seqDataArray=SeqDataManager::getByDateMarker($start,$end,$marker); return NucSeqManager::generateRaw($seqDataArray); } // FUNCTIONS FOR MULTIGENE TRANSITION function generateRaw($seqdataArray) { if ( !is_array ($seqdataArray) ) $seqdataArray = array( $seqdataArray); foreach ( $seqdataArray as $seqdata ) { $nucSeq=new CodingSeq($seqdata->getSeqId()); $nucSeq->setSeq($seqdata->getNucRaw()); $nucSeq->setLength($seqdata->getNucRawLength()); $nucSeq->setCds($seqdata->getNucRawCds()); $nucSeq->setUpdated($seqdata->getUpdate()); $nucSeq->setAmbiguous($seqdata->getAmbiguous()); $nucSeq->setMarker($seqdata->getMarker()); $result[] = $nucSeq; } if ( count($result) == 1 ) return $result[0]; return $result; } function generateAln($seqdataArray) { if ( !is_array ($seqdataArray) ) $seqdataArray = array( $seqdataArray); foreach ( $seqdataArray as $seqdata ) { if ( count($seqdata->getNucAln()) == 0 ) continue; $nucSeq=new CodingSeq($seqdata->getSeqId()); $nucSeq->setSeq($seqdata->getNucAln()); $nucSeq->setLength($seqdata->getNucRawLength()); $nucSeq->setCds($seqdata->getNucAlnCds()); $nucSeq->setUpdated($seqdata->getUpdate()); $nucSeq->setAmbiguous($seqdata->getAmbiguous()); $nucSeq->setMarker($seqdata->getMarker()); $result[] = $nucSeq; } if ( count($result) == 1 ) return $result[0]; return $result; } } ?>