searchAll($limit,$offset); $result=$pcrDao->searchAll($limit,$offset); while ($row=pg_fetch_assoc($result)) { $pcr=new Pcr($row["id"]); $pcr->setSeqentry($row["fk_seqentry"]); $pcr->setPrimer_f($row["fk_primer_f"]); $pcr->setPrimer_r($row["fk_primer_r"]); $pcr->setNotes($row["note"]); $pcr->setUpdated($row["last_updated"]); $pcr->setMarker( $row["fk_marker"]); $pcrlist[]=$pcr; } return $pcrlist; } /***********************************************/ function getById($id) { $pcrDao= new PcrDao(); $result=$pcrDao->searchByPcrid($id); while ($row=pg_fetch_assoc($result)) { $pcr=new Pcr($row["id"]); $pcr->setSeqentry($row["fk_seqentry"]); $pcr->setPrimer_f($row["fk_primer_f"]); $pcr->setPrimer_r($row["fk_primer_r"]); $pcr->setNotes($row["note"]); $pcr->setUpdated($row["last_updated"]); $pcr->setMarker( $row["fk_marker"]); } return $pcr; } function getBySeqentry($seqid) { $pcrlist = NULL; $pcrDao= new PcrDao(); $result=$pcrDao->searchBySeqentry($seqid); while ($row=pg_fetch_assoc($result)) { $pcr=new Pcr($row["id"]); $pcr->setSeqentry($row["fk_seqentry"]); $pcr->setPrimer_f($row["fk_primer_f"]); $pcr->setPrimer_r($row["fk_primer_r"]); $pcr->setNotes($row["note"]); $pcr->setUpdated($row["last_updated"]); $pcr->setMarker( $row["fk_marker"]); $pcrlist[]=$pcr; } return $pcrlist; } function getBySeqentryMarker($seqid,$marker) { $pcrDao= new PcrDao(); $result=$pcrDao->searchBySeqentryMarker($seqid,$marker); while ($row=pg_fetch_assoc($result)) { $pcr=new Pcr($row["id"]); $pcr->setSeqentry($row["fk_seqentry"]); $pcr->setPrimer_f($row["fk_primer_f"]); $pcr->setPrimer_r($row["fk_primer_r"]); $pcr->setNotes($row["note"]); $pcr->setUpdated($row["last_updated"]); $pcr->setMarker( $row["fk_marker"]); $pcrlist[]=$pcr; } return $pcrlist; } function addPcr($pcr,$seqentryid) { $pcrDao= new PcrDao(); if ($seqentryid) { if ( is_object($primer=$pcr->getPrimer_f()) ) $primer_f=$primer->getId(); if ( is_object($primer=$pcr->getPrimer_r()) ) $primer_r=$primer->getId(); $marker = $pcr->getMarker(); if ( is_object($marker) ) $markerID = $marker->getId(); $result=$pcrDao->insertPcr($seqentryid,$primer_f,$primer_r, $markerID ); } else $result=false; return $result; } function updatePcr($pcr) { $pcrDao= new PcrDao(); if ($pcr->getSeqentry()) { if ( is_object($primer=$pcr->getPrimer_f()) ) $primer_f=$primer->getId(); if ( is_object($primer=$pcr->getPrimer_r()) ) $primer_r=$primer->getId(); $marker = $pcr->getMarker(); if ( is_object($marker) ) $markerID = $marker->getId(); $result=$pcrDao->updatePcr($pcr->getId(),$pcr->getSeqentry(),$primer_f,$primer_r,$markerID); } else $result=false; return $result; } function deleteById($id){ $pcrDao= new PcrDao(); $result=$pcrDao->deleteById($id); return $result; } } ?>searchAll(); $result=$traceDao->searchAll($limit,$offset); while ($row=$pg_fetch_assoc($result)) { $trace=new TraceWithStats($row["id"]); $trace->setPCr($row["fk_pcr"]); $trace->setPrimer($row["fk_primer_seq"]); $trace->setRunsite($row["fk_site"]); $trace->setDirection($row["direction"]); $trace->setTracefile($row["trace_file"]); $trace->setPhredfile($row["phred_file"]); $trace->setTracename($row["tracename"]); $trace->setFormat($row["format"]); $trace->setSeqdate($row["seqdate"]); $trace->setStatus($row["status"]); $trace->setNotes($row["note"]); $trace->setUpdated($row["last_updated"]); $trace->setTamUri($row["tam_uri"]); $trace->setBases($row["bases"]); $trace->setMin($row["min"]); $trace->setMax($row["max"]); $trace->setMean($row["mean"]); $trace->setVar($row["var"]); $trace->setStdev($row["stdev"]); $trace->setSterr($row["sterr"]); $trace->setBin10($row["bin_10"]); $trace->setBin12($row["bin_12"]); $trace->setBin14($row["bin_14"]); $trace->setBin16($row["bin_16"]); $trace->setBin18($row["bin_18"]); $trace->setBin20($row["bin_20"]); $trace->setBin22($row["bin_22"]); $trace->setBin24($row["bin_24"]); $trace->setBin26($row["bin_26"]); $trace->setBin28($row["bin_28"]); $trace->setBin30($row["bin_30"]); $trace->setBin32($row["bin_32"]); $trace->setBin34($row["bin_34"]); $tracelist[]=$trace; } return $tracelist; } /*******************************************************/ function getById($id) { $traceDao= new TraceWithStatsDao(); $result=$traceDao->searchById($id); while ($row=$pg_fetch_assoc($result)) { $trace=new TraceWithStats($row["id"]); $trace->setPCr($row["fk_pcr"]); $trace->setPrimer($row["fk_primer_seq"]); $trace->setRunsite($row["fk_site"]); $trace->setDirection($row["direction"]); $trace->setTracefile($row["trace_file"]); $trace->setPhredfile($row["phred_file"]); $trace->setTracename($row["tracename"]); $trace->setFormat($row["format"]); $trace->setSeqdate($row["seqdate"]); $trace->setStatus($row["status"]); $trace->setNotes($row["note"]); $trace->setUpdated($row["last_updated"]); $trace->setTamUri($row["tam_uri"]); $trace->setBases($row["bases"]); $trace->setMin($row["min"]); $trace->setMax($row["max"]); $trace->setMean($row["mean"]); $trace->setVar($row["var"]); $trace->setStdev($row["stdev"]); $trace->setSterr($row["sterr"]); $trace->setBin10($row["bin_10"]); $trace->setBin12($row["bin_12"]); $trace->setBin14($row["bin_14"]); $trace->setBin16($row["bin_16"]); $trace->setBin18($row["bin_18"]); $trace->setBin20($row["bin_20"]); $trace->setBin22($row["bin_22"]); $trace->setBin24($row["bin_24"]); $trace->setBin26($row["bin_26"]); $trace->setBin28($row["bin_28"]); $trace->setBin30($row["bin_30"]); $trace->setBin32($row["bin_32"]); $trace->setBin34($row["bin_34"]); } return $trace; } function getByPcr($pcr) { $traceDao= new TraceWithStatsDao(); $result=$traceDao->searchbyPcr($pcr); $tracelist = NULL; while ($row=$pg_fetch_assoc($result)) { $trace=new TraceWithStats($row["id"]); $trace->setPCr($row["fk_pcr"]); $trace->setPrimer($row["fk_primer_seq"]); $trace->setRunsite($row["fk_site"]); $trace->setDirection($row["direction"]); $trace->setTracefile($row["trace_file"]); $trace->setPhredfile($row["phred_file"]); $trace->setTracename($row["tracename"]); $trace->setFormat($row["format"]); $trace->setSeqdate($row["seqdate"]); $trace->setStatus($row["status"]); $trace->setNotes($row["note"]); $trace->setUpdated($row["last_updated"]); $trace->setTamUri($row["tam_uri"]); $trace->setBases($row["bases"]); $trace->setMin($row["min"]); $trace->setMax($row["max"]); $trace->setMean($row["mean"]); $trace->setVar($row["var"]); $trace->setStdev($row["stdev"]); $trace->setSterr($row["sterr"]); $trace->setBin10($row["bin_10"]); $trace->setBin12($row["bin_12"]); $trace->setBin14($row["bin_14"]); $trace->setBin16($row["bin_16"]); $trace->setBin18($row["bin_18"]); $trace->setBin20($row["bin_20"]); $trace->setBin22($row["bin_22"]); $trace->setBin24($row["bin_24"]); $trace->setBin26($row["bin_26"]); $trace->setBin28($row["bin_28"]); $trace->setBin30($row["bin_30"]); $trace->setBin32($row["bin_32"]); $trace->setBin34($row["bin_34"]); $tracelist[]=$trace; } return $tracelist; } function getByTracefile($tracefile) { $traceDao= new TraceWithStatsDao(); $result=$traceDao->searchbyTraceFile($tracefile); if ($row=$pg_fetch_assoc($result)) { $trace=new TraceWithStats($row["id"]); $trace->setPcr($row["fk_pcr"]); $trace->setPrimer($row["fk_primer_seq"]); $trace->setRunsite($row["fk_site"]); $trace->setDirection($row["direction"]); $trace->setTracefile($row["trace_file"]); $trace->setPhredfile($row["phred_file"]); $trace->setTracename($row["tracename"]); $trace->setFormat($row["format"]); $trace->setSeqdate($row["seqdate"]); $trace->setStatus($row["status"]); $trace->setNotes($row["note"]); $trace->setUpdated($row["last_updated"]); $trace->setTamUri($row["tam_uri"]); $trace->setBases($row["bases"]); $trace->setMin($row["min"]); $trace->setMax($row["max"]); $trace->setMean($row["mean"]); $trace->setVar($row["var"]); $trace->setStdev($row["stdev"]); $trace->setSterr($row["sterr"]); $trace->setBin10($row["bin_10"]); $trace->setBin12($row["bin_12"]); $trace->setBin14($row["bin_14"]); $trace->setBin16($row["bin_16"]); $trace->setBin18($row["bin_18"]); $trace->setBin20($row["bin_20"]); $trace->setBin22($row["bin_22"]); $trace->setBin24($row["bin_24"]); $trace->setBin26($row["bin_26"]); $trace->setBin28($row["bin_28"]); $trace->setBin30($row["bin_30"]); $trace->setBin32($row["bin_32"]); $trace->setBin34($row["bin_34"]); } return $trace; } } ?>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; } } ?>getSpecimenid()); $location = LocationManager::getBySpecimenid($record->getSpecimenid()); $fullrecord->setProcessid(trim($record->getProcessid())); $fullrecord->setSampleid(trim($record->getSampleid())); $fullrecord->setFieldnum(trim($record->getFieldnum())); $fullrecord->setCatalognum(trim($record->getCatalognum())); $fullrecord->setVoucher(trim($details->getVouchertype())); $fullrecord->setTaxid(trim($record->getTaxid())); $fullrecord->setName(trim($record->getTaxon())); switch ($record->getTaxonRank()) { case 2: $fullrecord->setRank("phylum"); break; case 5: $fullrecord->setRank("class"); break; case 8: $fullrecord->setRank("order"); break; case 11: $fullrecord->setRank("family"); break; case 12: $fullrecord->setRank("subfamily"); break; case 14: $fullrecord->setRank("genus"); break; case 17: $fullrecord->setRank("species"); break; } $fullrecord->setReproduction(trim($details->getReproduction())); $fullrecord->setSex(trim($details->getSex())); $fullrecord->setLifestage(trim($details->getLifestage())); $fullrecord->setCollectors(trim($details->getCollectors())); $fullrecord->setCollectiondate(trim($details->getCollectiondate())); $fullrecord->setLat(trim($location->getLat())); $fullrecord->setLon(trim($location->getLon())); $fullrecord->setCoordsource(trim($location->getSource())); $fullrecord->setRegion(trim($location->getRegion())); $fullrecord->setExactsite(trim($location->getSite())); $fullrecord->setLastupdated(trim($details->getLastUpdated())); if ($location) { $geopolid = $location->getGeopol(); if ($geopolid) { $geopol = GeoPolManager::getById($geopolid); if ($geopol) { if (strcmp($geopol->getRank(), "country") == 0) { $fullrecord->setCountry(trim($geopol->getName())); } else { $fullrecord->setProvince(trim($geopol->getName())); $parent = GeoPolManager::getById($geopol->getParentid()); $fullrecord->setCountry(trim($parent->getName())); } } } } if ($notesid = $details->getNotes()) { $fullrecord->setNotes(trim(NotesManager::getById($notesid))); } if ($identifierid = $details->getIdentifier()) { $person = PersonManager::getById($identifierid); $fullrecord->setIdentifier(trim($person->getFullname())); } if ($instid = $record->getInst()) { $inst = InstManager::getById($instid); $fullrecord->setInst(trim($inst->getName())); } $fullrecords[] = $fullrecord; return $fullrecord; } } ?>searchAllOptions($limit,$offset); return UserPrefManager::processPrefOptionResults($result); } //preference options function & getOptionsByName($namespace){ $prefDao= new UserPrefOptionsDao(); $result=$prefDao->searchOptionsByName($namespace); return UserPrefManager::processPrefOptionResults($result); } //preference options function processPrefOptionResults($result){ if ( $result == NULL || pg_num_rows($result) < 1 ) return false; $prefSet = new UserPrefSet(); while ($row=$pg_fetch_assoc($result) ) { $pref = new UserPref(); $pref->setId($row["id"]); $pref->setPredicate($row["predicate"]); $pref->setNamespace($row["namespace"]); $pref->setDescr($row["descr"]); $prefSet->addUserPref($pref); } return $prefSet; } //user preferences function getPrefByUser($userid){ $prefDao= new UserPrefDao(); $result=$prefDao->searchPrefByUser($userid); return UserPrefManager::processPrefResults($result); } //user preferences function processPrefResults($result){ if ( $result == NULL || pg_num_rows($result) < 1 ) return false; $prefSet = new UserPrefSet(); while ($row=$pg_fetch_assoc($result) ) { $pref = new UserPref(); $pref->setId($row["id"]); $pref->setPredicate($row["predicate"]); $pref->setNamespace($row["namespace"]); if ($row["pref_value"] == 't'){ $pref->setPrefValue(true); } $prefSet->addUserPref($pref); } return $prefSet; } function insertUserPref($userid, $namespace, $predicate, $prefValue){ $prefDao= new UserPrefDao(); return $prefDao->insertUserPref($userid, $namespace, $predicate, $prefValue); } function updateUserPrefValue($userid, $namespace, $predicate, $prefValue){ $prefDao= new UserPrefDao(); return $prefDao->updateUserPrefValue($userid, $namespace, $predicate, $prefValue); } function updateUserPrefById($id, $userid, $namespace, $predicate, $prefValue){ $prefDao= new UserPrefDao(); return $prefDao->updateUserPrefById($id, $userid, $namespace, $predicate, $prefValue); } function deleteUserPrefById($id){ $prefDao= new UserPrefDao(); return $prefDao->deleteUserPrefById($id); } function addUserPrefByUserid($userid, $namespace, $predicate, $prefValue){ $found=false; $prefSet=UserPrefManager::getPrefByUser($userid); if($prefSet){ $prefArray=$prefSet->toArray(); foreach($prefArray as $pref){ if(!strcmp($pref->getNamespace(),$namespace) and !strcmp($pref->getPredicate(),$predicate)){ $found=true; return UserPrefManager::updateUserPrefValue($userid, $namespace, $predicate, $prefValue); break; } } } if(!$found){ return UserPrefManager::insertUserPref($userid, $namespace, $predicate, $prefValue); } } } //$pref = new UserPrefManager(); //$pref->insertUserPref(8,"Project List","Hide Public Projects",true); //$pref->insertUserPref(8,"Project List","Hide Campaigns",false); //$pref->updateUserPrefValue(8,"Project List","Hide Campaigns",true); //$pref->updateUserPrefById(2,8,"Project List","Hide Campaigns Projects",false); //$pref = $pref->getPrefByUser(8); //$p = $pref->getAllPrefOptions(); //var_dump($p); ?>