Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
added cpg track
  • Loading branch information
yuj12001 committed Jul 17, 2015
1 parent 52bc3c5 commit a82422f
Show file tree
Hide file tree
Showing 5 changed files with 19,701 additions and 16 deletions.
35 changes: 23 additions & 12 deletions VQI_GenomeBrowser.js
Expand Up @@ -26,9 +26,11 @@ function VQI_GenomeBrowser(id) {
var isready = false;
var zoomOnly = false;


var trackInfo = [];
trackInfo[0] = {name: "HG19", type: "bed", fileHandle: "upload1436481988"};
trackInfo[1] = {name: "Tile2 Content Snp", type: "bed", fileHandle: "upload1436411775"};
trackInfo[0] = {name: "HG19", type: "bed", fileHandle: "upload1436481988"};
trackInfo[1] = {name: "Tile2 Content Snp", type: "bed", fileHandle: "upload1436411775"};
trackInfo[2] = {name: "cpg", type: "cpg", fileHandle: "upload1437097194,upload1437098473,upload1437098556"};

// $("#" + id).append("<div style='border : 1px solid; display : inline-block'>CPG:<input type='file' id='cpg'/>Shore:<input type='file' id='shore'/>Shelve:<input type='file' id='shelve'/><input id='submit' type='submit' /></div>");

Expand Down Expand Up @@ -488,7 +490,7 @@ function VQI_GenomeBrowser(id) {
// var xScale = d3.scale.linear()
// .domain([-3953, 249241810])
// .range([0,1000]);
var fileHandle = "upload1435711655";

var chrom = "chr1";

$.ajax({
Expand All @@ -497,8 +499,8 @@ function VQI_GenomeBrowser(id) {
dataType: "json",
data: {
"getTrackData": "",
"fileHandles": [trackInfo[0].fileHandle,trackInfo[1].fileHandle],
"name": [trackInfo[0].name,trackInfo[1].name],
"fileHandles": [trackInfo[0].fileHandle,trackInfo[1].fileHandle,trackInfo[2].fileHandle],
"name": [trackInfo[0].name,trackInfo[1].name,trackInfo[2].name],
"chrom": chrom,
"start": start,
"end": end
Expand All @@ -507,19 +509,27 @@ function VQI_GenomeBrowser(id) {
}).success(function (returnData) {
//console.log(returnData);
var i = getTrackIndexByName("HG19");
trackList[i] = returnData[0][0];
trackList[i] = returnData["HG19"][0];
trackList[i]['name'] = "HG19";
trackList[i]['type'] = "bed";
//console.log(trackList);
addBEDTrack(returnData[0][0], "HG19",returnData[0][1]);
addBEDTrack(returnData["HG19"][0], "HG19",returnData["HG19"][1]);

var i = getTrackIndexByName("Tile2 Content Snp");
trackList[i] = returnData[1];
trackList[i] = returnData["Tile2 Content Snp"];
trackList[i]['name'] = "Tile2 Content Snp";
trackList[i]['type'] = "bed";
//console.log(trackList);
addBEDTrack(returnData[1], "Tile2 Content Snp");
addBEDTrack(returnData["Tile2 Content Snp"], "Tile2 Content Snp");
//console.log(trackList);

var i = getTrackIndexByName("cpg");
trackList[i] = returnData["cpg"];
trackList[i]['name'] = "cpg";
trackList[i]['type'] = "cpg";
//console.log(trackList);
addCpgTrack(returnData["cpg"], "cpg");


zoomOnly = true;
zoomed();
Expand Down Expand Up @@ -1185,7 +1195,7 @@ function VQI_GenomeBrowser(id) {
// var xScale = d3.scale.linear()
// .domain([-3953, 249241810])
// .range([0,1000]);
var fileHandle = "upload1436411775";

var chrom = "chr1";


Expand All @@ -1195,15 +1205,16 @@ function VQI_GenomeBrowser(id) {
dataType: "json",
data: {
"getStartEndTrackData": "",
"fileHandles": [trackInfo[0].fileHandle,trackInfo[1].fileHandle],
"name": [trackInfo[0].name, trackInfo[1].name],
"fileHandles": [trackInfo[0].fileHandle,trackInfo[1].fileHandle,trackInfo[2].fileHandle],
"name": [trackInfo[0].name, trackInfo[1].name,trackInfo[2].name],
"chrom": chrom
}

}).success(function (returnData) {
//console.log(returnData);
thisObj.addTrack(returnData[0], "HG19", "bed");
thisObj.addTrack(returnData[1], "Tile2 Content Snp", "bed");
thisObj.addTrack(returnData[2], "cpg", "cpg");
isready = true;
updateTrack();
}).error(function (req, status, error) {
Expand Down
1 change: 1 addition & 0 deletions cpg_site_hg19.txt
@@ -1,3 +1,4 @@
CHROM START END
chr10 93098 93818
chr10 94002 94165
chr10 94527 95302
Expand Down
87 changes: 83 additions & 4 deletions dynamic_loading.php
Expand Up @@ -292,13 +292,78 @@
return [$resArray,$resExon];
}

function getCpgTrackData($fileHandle,$chrom,$start,$end){
$db_name = $GLOBALS['db_name'];
$link = $GLOBALS['DBlink'];
$resArray = [];
$scale = 1000/($end - $start);

$fileHangleArray = explode(",", $fileHandle);
$cpgFile = $fileHangleArray[0];
$shelveFile = $fileHangleArray[1];
$shoreFile = $fileHangleArray[2];

foreach ($fileHangleArray as $key => $handle) {
$type = "";
if ($key == 0){
$type = "cpg";
}
else if ($key == 1){
$type = "shelve";
}
else {
$type = "shore";
}

$sql = "SELECT `CHROM`, `START`, `END` FROM {$db_name}.{$handle}";
$sql .= " WHERE `CHROM` = '".$chrom."'";
$sql .= " AND (((`START` BETWEEN $start AND $end) OR (`END` BETWEEN $start AND $end))";
$sql .= " OR (`START` <= $start AND `END` >= $end))";
$sql .= " ORDER BY `START` * 1 ASC";

$res = mysqli_query ($link,$sql);

$mergedRect = [];
$firstRow = mysqli_fetch_row($res);

$mergedRect = [$chrom,$firstRow[1],$firstRow[2],$type];

while($row = mysqli_fetch_row($res)){

if ($row[1] - $mergedRect[2] > 1/$scale){
array_push($resArray, $mergedRect);
$mergedRect[1] = $row[1];
$mergedRect[2] = $row[2];
$mergedRect[3] = $type;
}
else{
if ($mergedRect[2] < $row[2]){
$mergedRect[2] = $row[2];
$mergedRect[3] = $type;
}
}
}
$LastElement = end($resArray);
reset($resArray);
if ($mergedRect[1] != $LastElement[1]){
array_push($resArray, $mergedRect);
}
}
return $resArray;
}

function getTrackData($fileHandles,$name,$chrom,$start,$end){
$returnArray = [];
foreach ($fileHandles as $key => $value) {
# code...
if ($name[$key] == "HG19"){
$resArray = getHG19TrackData($fileHandles[$key],$chrom,$start,$end);
array_push($returnArray, $resArray);
$returnArray["HG19"] = $resArray;
continue;
}
if ($name[$key] == "cpg"){
$resArray = getCpgTrackData($fileHandles[$key],$chrom,$start,$end);
$returnArray["cpg"] = $resArray;
continue;
}

Expand Down Expand Up @@ -363,7 +428,7 @@

}

array_push($returnArray, $resArray);
$returnArray[$name[$key]] = $resArray;
}
return $returnArray;
}
Expand All @@ -387,25 +452,39 @@
if ($name[$key] == "HG19"){
$minsql = "SELECT `chrom`, `txStart`, `txEnd`, `name2`, `score` FROM {$db_name}.{$fileHandle} ORDER BY `txStart` * 1 ASC LIMIT 1";
}
if ($name[$key] == "cpg"){
$temp = explode(",", $fileHandle);
$shelveFile = $temp[1];
$minsql = "SELECT `CHROM`, `START`, `END` FROM {$db_name}.{$shelveFile} ORDER BY `START` * 1 ASC LIMIT 1";
}
$minres = mysqli_query ($link,$minsql);

while($row = mysqli_fetch_row($minres))
{
$minRect = [$chrom,$row[1],$row[2],"",""];

if ($name[$key] == "cpg"){
$minRect = [$chrom,$row[1],$row[2],"shelve"];
}
array_push($resArray, $minRect);
}

$maxsql = "SELECT `CHROM`, `CHROM_START`, `CHROM_END`, `GENESYMBOL`, `SCORE` FROM {$db_name}.{$fileHandle} ORDER BY `CHROM_END` * 1 DESC LIMIT 1";
if ($name[$key] == "HG19"){
$maxsql = "SELECT `chrom`, `txStart`, `txEnd`, `name2`, `score` FROM {$db_name}.{$fileHandle} ORDER BY `txEnd` * 1 DESC LIMIT 1";
}
if ($name[$key] == "cpg"){
$temp = explode(",", $fileHandle);
$shelveFile = $temp[1];
$maxsql = "SELECT `CHROM`, `START`, `END` FROM {$db_name}.{$shelveFile} ORDER BY `END` * 1 DESC LIMIT 1";
}
$maxres = mysqli_query ($link,$maxsql);

while($row = mysqli_fetch_row($maxres))
{
$maxRect = [$chrom,$row[1],$row[2],"",""];

if ($name[$key] == "cpg"){
$maxRect = [$chrom,$row[1],$row[2],"shelve"];
}
array_push($resArray, $maxRect);
}

Expand Down

0 comments on commit a82422f

Please sign in to comment.