about summary refs log tree commit diff
path: root/web/webqtl/snpBrowser/GeneAnnot.py
diff options
context:
space:
mode:
authorzsloan2015-03-27 20:28:51 +0000
committerzsloan2015-03-27 20:28:51 +0000
commitd0911a04958a04042da02a334ccc528dae79cc17 (patch)
tree3c48e2e937c1dbeaf00a5697c87ed251afa5c8f1 /web/webqtl/snpBrowser/GeneAnnot.py
parenta840ad18e1fe3db98a359a159e9b9b72367a2839 (diff)
downloadgenenetwork2-d0911a04958a04042da02a334ccc528dae79cc17.tar.gz
Removed everything from 'web' directory except genofiles and renamed the directory to 'genotype_files'
Diffstat (limited to 'web/webqtl/snpBrowser/GeneAnnot.py')
-rwxr-xr-xweb/webqtl/snpBrowser/GeneAnnot.py124
1 files changed, 0 insertions, 124 deletions
diff --git a/web/webqtl/snpBrowser/GeneAnnot.py b/web/webqtl/snpBrowser/GeneAnnot.py
deleted file mode 100755
index 5a889253..00000000
--- a/web/webqtl/snpBrowser/GeneAnnot.py
+++ /dev/null
@@ -1,124 +0,0 @@
-# Copyright (C) University of Tennessee Health Science Center, Memphis, TN.
-#
-# This program is free software: you can redistribute it and/or modify it
-# under the terms of the GNU Affero General Public License
-# as published by the Free Software Foundation, either version 3 of the
-# License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the GNU Affero General Public License for more details.
-#
-# This program is available from Source Forge: at GeneNetwork Project
-# (sourceforge.net/projects/genenetwork/).
-#
-# Contact Drs. Robert W. Williams and Xiaodong Zhou (2010)
-# at rwilliams@uthsc.edu and xzhou15@uthsc.edu
-#
-#
-#
-# This module is used by GeneNetwork project (www.genenetwork.org)
-#
-# Created by GeneNetwork Core Team 2010/08/10
-#
-# Last updated by GeneNetwork Core Team 2010/10/20
-
-#########################################
-# A class for the information of a gene
-# An instance of this will be a gene
-# it is used by GeneListAnnot class
-#########################################
-
-
-class GeneAnnot:
-   geneSymbol = None # Initialize variables
-   txStart = -1
-   txEnd = -1
-   Strand = ''
-   exon_start = []
-   exon_end = []
-   cdsStart = -1
-   cdsEnd = -1
-   def __init__(self, query_result):
-      self.geneSymbol, self.txStart, self.txEnd, self.Strand, exonStart, exonEnd, self.cdsStart, self.cdsEnd = query_result
-      if exonStart and exonEnd:
-         exon_s= exonStart.split(',')
-         exon_e = exonEnd.split(',')
-         self.exon_start = [int(s) for s in exon_s[:-1]]
-         self.exon_end = [int(s) for s in exon_e[:-1]]
-         #debug.appendoutFile("%d %d"%(self.exon_start[0], self.exon_end[0]))
-      
-   def matchTranscript(self, pos):
-      ''' 1: cds; 2: 2k upstream; 3: 2k downstream; -1: outside; -2: no data'''
-      locus_type = -1
-      distance = 0
-      
-      if (not self.txStart) or (not self.txEnd):             # no data
-          locus_type = -2
-      elif (pos >= self.txStart) and (pos <=self.txEnd):
-          locus_type = 1  
-      elif (pos <self.txStart) and (pos > self.txStart - 0.002):
-          locus_type = 2
-          distance = self.txStart - pos
-      elif (pos > self.txEnd) and (pos < self.txEnd + 0.002):
-          locus_type = 3
-          distance = pos - self.txEnd
-                         
-      return [locus_type, distance]
-   
-   def matchDomain(self, pos):    
-      domain_type = None
-      function = None
-
-      num =  len(self.exon_start)             
-      if not domain_type:        #not UTR        
-        bp = pos * 1000000    
-        for i in range(0, num):
-         if (bp >= self.exon_start[i]) and (bp <= self.exon_end[i]):
-           num_index = i +1
-           if self.Strand == '-':
-              num_index = num - i
-           domain_type = "Exon %d"% (num_index)         
-           if self.cdsStart and self.cdsEnd:         # then this site in exon can be UTR or stop codon, given cds
-            if self.Strand == '+':
-               if pos < self.cdsStart:
-                  domain_type = "5' UTR"
-               elif pos > self.cdsEnd:
-                  domain_type = "3' UTR"        
-               elif (pos <= self.cdsEnd) and (pos > self.cdsEnd-0.000003):
-                  function =  "Stop Codon"            
-            elif self.Strand == '-':
-               if pos < self.cdsStart:
-                  domain_type = "3' UTR"
-               elif pos > self.cdsEnd:
-                  domain_type = "5' UTR"
-               elif (pos >= self.cdsStart) and (pos < self.cdsStart+0.000003):  
-                  function = "Stop Codon"              
-         
-        if not domain_type:
-           for j in range (0, len(self.exon_start) -1) :                      # not the last exon
-                num_index = j +1
-                if self.Strand == '-':
-                    num_index = num - j-1           
-                if (bp <= self.exon_end[j] + 2) and (bp > self.exon_end[j]) :
-                    domain_type = "Intron %d; Splice"% (num_index)                  #start splice 
-                    
-        if not domain_type: 
-           for k in range (1, len(self.exon_start)):                          # not the first exon
-                num_index = k +1
-                if self.Strand == '-':
-                    num_index = num - k -1              
-                if (bp >= self.exon_start[k] -2) and (bp <  self.exon_start[k]):
-                    domain_type = "Intron %d; Splice"% (num_index)                    # end splice
-                    
-        if not domain_type: 
-           for i in range (1, len(self.exon_start)):
-                num_index = i
-                if self.Strand == '-':
-                    num_index = num - i               
-                if (bp > self.exon_end[i-1]) and (bp < self.exon_start[i]):
-                   domain_type = "Intron %d"%num_index
-    
-      return [domain_type, function] 
-