Пример #1
0
 static function performDNARNAFilter($con, $previousTable, $currentTable, $args)
 {
     if ($args == null || count($args) == 0) {
         return;
     } else {
         if (count($args) != 2) {
             REDLog::writeErrLog("Args for DNA-RNA Filter are incomplete, please have a check");
         }
     }
     TableCreator::createFilterTable($con, $previousTable, $currentTable);
     REDLog::writeInfoLog("Start performing DNA-RNA Filter");
     $dnaVcfTable = $args[0];
     $editingType = $args[1];
     $negativeType = REDTools::getNegativeStrandEditingType($editingType);
     try {
         $num1 = substr($editingType, 0, 1);
         $num2 = substr($negativeType, 0, 1);
         $sqlClause = "insert into {$currentTable} select * from {$previousTable} where exists (select chrom\nfrom {$dnaVcfTable} where ({$dnaVcfTable}.chrom={$previousTable}.chrom and {$dnaVcfTable}.pos={$previousTable}.pos and (\n{$dnaVcfTable}.ref='{$num1}' or {$dnaVcfTable}.ref='{$num2}')))";
         $v = mysqli_query($con, $sqlClause);
         if (!$v) {
             throw new Exception("Error execute sql clause in performDNARNAFilter");
         }
     } catch (Exception $e) {
         REDLog::writeErrLog($e->getMessage());
     }
     REDLog::writeInfoLog("End performing DNA-RNA Filter");
 }
Пример #2
0
 static function performEditingTypeFilter($con, $previousTable, $currentTable, $args)
 {
     REDLog::writeInfoLog('Star executing Editing Type Filter');
     TableCreator::createFilterTable($con, $previousTable, $currentTable);
     $refAlt = $args;
     $refAlt2 = REDTools::getNegativeStrandEditingType($refAlt);
     $sql11 = substr($refAlt, 0, 1);
     $sql12 = substr($refAlt, 1);
     $sql21 = substr($refAlt2, 0, 1);
     $sql22 = substr($refAlt2, 1);
     $sql1 = "insert into " . $currentTable . " select * from " . $previousTable . " WHERE REF='{$sql11}' AND ALT='{$sql12}' AND GT!='0/0'";
     $v = DatabaseManager::insertClause($con, $sql1);
     if (!$v) {
         REDLog::writeErrLog('There is a syntax error for SQL clause:' . $sql1);
     }
     $sql2 = "insert into " . $currentTable . " select * from " . $previousTable . " WHERE REF='{$sql21}' AND ALT='{$sql22}' AND GT!='0/0'";
     $v = DatabaseManager::insertClause($con, $sql2);
     if (!$v) {
         REDLog::writeErrLog('There is a syntax error for SQL clause:' . $sql2);
     }
     REDLog::writeInfoLog('End executing Editing Type Filter');
 }
Пример #3
0
<?php

include '../REDTools/REDTools.php';
echo REDTools::getNegativeStrandEditingType('TC');