HelpDesk::Explore of the 3D neighbourhood of a gene

Target: JavaScript

Author: Alexander Butyaev

<<Download package>>

Set of functions and procedures to access both 3DGB database (3D structure of chromosome) and Ensembl database, to combine spatial structure of chromosome, gene and SNP information for exploring particular cubic area.

This package allows user to investigate 3D neighbourhood centered on the beginning of specific gene in the 3D structure of chromosome. Consequently, it retrieves the list of SNPs found in promoter region of the gene and in other DNA strands that are not connected with promoter/gene strand but still located in particular 3D neighbourhood. Optionally, it is possible to get the list of genes, which are located in the same 3D neighourhood.

vars.getRangesForGenePromoterCubicArea(chromosome, geneName, geneStartPosition, geneEndPosition, isNormal, radiusCube, isPositive, callBackCustomFunction)

This is the main function of the package. It manages all assynchronious calls to the 3DGB database and outputs the result (described below) in the output area. Consequently, it retrieves all points of 3D structure available in the 3D neighbourhood around the beginning of the specified gene, approximate discrete points to consequent strands, assigns to every strand SNPs and/or genes. Besides it creates specific queries to Ensembl Human Variation Database to get phenotypes of particular SNP in current 3D neighbourhood.

Output is defined by vars.Print_Input_For_Ensembl_Specific function (described below).
Example could be:

vars.getRangesForGenePromoterCubicArea(13, 'RB1', 48877883, 49056026, true, 0.2, true);
            

See also: vars.Print_Input_For_Ensembl_Specific

Fill the following fields to have an appropriate example of the command.

Chromosome: ; gene name: ; gene begin position: ; gene end position: ;
using healthy or leukemia cell data;
find all the SNPs in the distance of from the beginning of gene promoter; gene is on the 5'-3' or 3'-5' strand.





vars.getGenesInCubicAreaAroundGenePromoter

vars.getGenesInCubicAreaAroundGenePromoter(final_results)

Optional function that searches genes, which are located near (with some intersection) strands (+promoter) in cubic area around promoter region of specified gene. As an argument it takes final_results, which is an array of arrays with begin and end positions(bases) of the interesting. final_results[0] has to contain start and stop positions of promoter of any specific gene or any interesting area.)


vars.getjsonChrPositionFunction

vars.getjsonChrPositionFunction(chromosome, isNormal, promoter_begin, bp_position, isLeft, p)

Function recursively searches left and right ends of interval within the chromosome. Defines left and right points - points which exist in the original database of 3D Genome Browser and are the "linearly" closest points to the original point.


vars.getApproximatedRangesStrandsForRadiusFunction

vars.getApproximatedRangesStrandsForRadiusFunction(meshes, currentPoint, radiusCube, leftPoint, rightPoint, chromosome)

Core function of the package - calculates approximation for parts of strand that fit into the cubic area based on the original points in the 3DGB database. Consecuently decreases a distance between points to determine an approximation.


vars.Print_Input_For_Ensembl_Specific

vars.Print_Input_For_Ensembl_Specific(gene_name, results, release_num, seq_region_id)

Creates input string(s) to ensembl database (mysql -u anonymous -P 3306 -h 193.62.203.187). Uses homo_sapiens_variation databases.
There are 2 types of query for every interval of chromosome:

  1. mapping of variations and phenotypes that are associated with these variations
  2. comparison every interval's entities with first interval (results[0]) in terms of intersection of phenotype
Query automatically will save output of ensembl response in specific files.