More fixes related to metadata. Now only the GOPS tool tests are broken...

This commit is contained in:
Greg Von Kuster
2007-07-16 20:02:30 +00:00
parent a3f8967e23
commit e3272e69fa
3 changed files with 23 additions and 13 deletions
+10 -4
View File
@@ -44,6 +44,7 @@ class Interval( Tabular ):
MetadataElement( name="strandCol", desc="Strand column", param=metadata.ColumnParameter, optional=True )
MetadataElement( name="dbkey", desc="Database/Build", default="?",
param=metadata.SelectParameter, multiple=False, values=util.dbnames )
MetadataElement( name="columns", default=3, desc="Number of columns", readonly=True )
def __init__(self, **kwd):
@@ -187,6 +188,7 @@ class Bed( Interval ):
MetadataElement( name="strandCol", desc="Strand column", param=metadata.ColumnParameter, optional=True )
MetadataElement( name="dbkey", desc="Database/Build", default=None,
param=metadata.SelectParameter, multiple=False, values=util.dbnames )
MetadataElement( name="columns", default=3, desc="Number of columns", readonly=True )
def missing_meta( self, dataset ):
"""Checks for empty meta values"""
@@ -204,18 +206,20 @@ class Bed( Interval ):
valid_bed_data = False
if dataset.has_data():
for i, line in enumerate( file(dataset.file_name) ):
line = line.strip()
if len(line) > 0 and ( line.startswith('chr') or line.startswith('scaff') ):
line = line.rstrip('\r\n')
if line and len(line) > 0 and ( line.startswith('chr') or line.startswith('scaff') ):
valid_bed_data = True
elems = line.split("\t")
if len(elems) < 6:
dataset.metadata.strandCol = 0
dataset.metadata.is_strandCol = "false"
dataset.metadata.strandCol = None
dataset.mark_metadata_changed()
break
if i == 30:
break
if not valid_bed_data:
dataset.metadata.strandCol = 0
dataset.metadata.is_strandCol = "false"
dataset.metadata.strandCol = None
dataset.mark_metadata_changed()
def as_ucsc_display_file( self, dataset, **kwd ):
@@ -259,6 +263,7 @@ class Gff( Tabular ):
"""Add metadata elements"""
MetadataElement( name="dbkey", desc="Database/Build", default="?",
param=metadata.SelectParameter, multiple=False, values=util.dbnames )
MetadataElement( name="columns", default=9, desc="Number of columns", readonly=True )
def __init__(self, **kwd):
"""Initialize datatype, by adding GBrowse display app"""
@@ -331,6 +336,7 @@ class Wiggle( Tabular ):
"""Tab delimited data in wiggle format"""
MetadataElement( name="dbkey", desc="Database/Build", default="?",
param=metadata.SelectParameter, multiple=False, values=util.dbnames )
MetadataElement( name="columns", default=3, desc="Number of columns", readonly=True )
def make_html_table(self, data):
return Tabular.make_html_table(self, data, skipchar='#')
+9 -8
View File
@@ -19,10 +19,7 @@ class Tabular( data.Text ):
"""Tab delimited data"""
"""Add metadata elements"""
MetadataElement( name="columns",
default=0,
desc="Number of columns",
readonly=True )
MetadataElement( name="columns", default=0, desc="Number of columns", readonly=True )
MetadataElement( name="dbkey", desc="Database/Build", default="?",
param=metadata.SelectParameter, multiple=False, values=util.dbnames )
@@ -85,10 +82,14 @@ class Tabular( data.Text ):
maxcols = 0
count = 0
for line in open( dataset.file_name ):
count += 1
if count > 1000: break
cols = len( line.split("\t") )
if cols > maxcols: maxcols = cols
line = line.rstrip('\r\n')
if line and not line.startswith( '#' ):
count += 1
if count > 1000:
break
cols = len( line.split("\t") )
if cols > maxcols:
maxcols = cols
setattr( dataset.metadata, "columns", maxcols )
except:
pass
+4 -1
View File
@@ -41,7 +41,10 @@ class BasicFunctions(TwillTestCase):
#
#self.edit_data(hid=1, dbkey='hg15', chromCol='1', info='foo')
#self.check_history('hg15 Testdata interval foo')
self.edit_data(hid=1, dbkey='hg16', is_strandCol='')
"""
TODO: Ian make sure this test is functioning as you expect...
"""
self.edit_data(hid=1, dbkey='hg16', is_strandCol="true")
self.check_history('hg16 Testdata bed')
def test_delete(self):