Mercurial > repos > devteam > annotation_profiler
changeset 0:4414f0739808 draft default tip
Imported from capsule None
author | devteam |
---|---|
date | Mon, 19 May 2014 10:59:42 -0400 |
parents | |
children | |
files | annotation_profiler.xml annotation_profiler_for_interval.py scripts/README.txt scripts/build_profile_indexes.py test-data/3.bed test-data/4.bed test-data/annotation_profiler_1.out test-data/annotation_profiler_2.out tool-data/annotation_profiler_options.xml.sample tool-data/annotation_profiler_valid_builds.txt.sample tool_dependencies.xml |
diffstat | 11 files changed, 2050 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/annotation_profiler.xml Mon May 19 10:59:42 2014 -0400 @@ -0,0 +1,147 @@ +<tool id="Annotation_Profiler_0" name="Profile Annotations" version="1.0.0"> + <description>for a set of genomic intervals</description> + <requirements> + <requirement type="package" version="0.7.1">bx-python</requirement> + </requirements> + <command interpreter="python">annotation_profiler_for_interval.py -i $input1 -c ${input1.metadata.chromCol} -s ${input1.metadata.startCol} -e ${input1.metadata.endCol} -o $out_file1 $keep_empty -p ${GALAXY_DATA_INDEX_DIR}/annotation_profiler/$dbkey $summary -b 3 -t $table_names</command> + <inputs> + <param format="interval" name="input1" type="data" label="Choose Intervals"> + <validator type="dataset_metadata_in_file" filename="annotation_profiler_valid_builds.txt" metadata_name="dbkey" metadata_column="0" message="Profiling is not currently available for this species."/> + </param> + <param name="keep_empty" type="select" label="Keep Region/Table Pairs with 0 Coverage"> + <option value="-k">Keep</option> + <option value="" selected="true">Discard</option> + </param> + <param name="summary" type="select" label="Output per Region/Summary"> + <option value="-S">Summary</option> + <option value="" selected="true">Per Region</option> + </param> + <param name="table_names" type="drill_down" display="checkbox" hierarchy="recurse" multiple="true" label="Choose Tables to Use" help="Selecting no tables will result in using all tables." from_file="annotation_profiler_options.xml"/> + </inputs> + <outputs> + <data format="input" name="out_file1"> + <change_format> + <when input="summary" value="-S" format="tabular" /> + </change_format> + </data> + </outputs> + <tests> + <test> + <param name="input1" value="4.bed" dbkey="hg18"/> + <param name="keep_empty" value=""/> + <param name="summary" value=""/> + <param name="table_names" value="acembly,affyGnf1h,knownAlt,knownGene,mrna,multiz17way,multiz28way,refGene,snp126"/> + <output name="out_file1" file="annotation_profiler_1.out" /> + </test> + <test> + <param name="input1" value="3.bed" dbkey="hg18"/> + <param name="keep_empty" value=""/> + <param name="summary" value="Summary"/> + <param name="table_names" value="acembly,affyGnf1h,knownAlt,knownGene,mrna,multiz17way,multiz28way,refGene,snp126"/> + <output name="out_file1" file="annotation_profiler_2.out" /> + </test> + </tests> + <help> +**What it does** + +Takes an input set of intervals and for each interval determines the base coverage of the interval by a set of features (tables) available from UCSC. Genomic regions from the input feature data have been merged by overlap / direct adjacency (e.g. a table having ranges of: 1-10, 6-12, 12-20 and 25-28 results in two merged ranges of: 1-20 and 25-28). + +By default, this tool will check the coverage of your intervals against all available features; you may, however, choose to select only those tables that you want to include. Selecting a section heading will effectively cause all of its children to be selected. + +You may alternatively choose to receive a summary across all of the intervals that you provide. + +----- + +**Example** + +Using the interval below and selecting several tables:: + + chr1 4558 14764 uc001aab.1 0 - + +results in:: + + chr1 4558 14764 uc001aab.1 0 - snp126Exceptions 151 142 + chr1 4558 14764 uc001aab.1 0 - genomicSuperDups 10206 1 + chr1 4558 14764 uc001aab.1 0 - chainOryLat1 3718 1 + chr1 4558 14764 uc001aab.1 0 - multiz28way 10206 1 + chr1 4558 14764 uc001aab.1 0 - affyHuEx1 3553 32 + chr1 4558 14764 uc001aab.1 0 - netXenTro2 3050 1 + chr1 4558 14764 uc001aab.1 0 - intronEst 10206 1 + chr1 4558 14764 uc001aab.1 0 - xenoMrna 10203 1 + chr1 4558 14764 uc001aab.1 0 - ctgPos 10206 1 + chr1 4558 14764 uc001aab.1 0 - clonePos 10206 1 + chr1 4558 14764 uc001aab.1 0 - chainStrPur2Link 1323 29 + chr1 4558 14764 uc001aab.1 0 - affyTxnPhase3HeLaNuclear 9011 8 + chr1 4558 14764 uc001aab.1 0 - snp126orthoPanTro2RheMac2 61 58 + chr1 4558 14764 uc001aab.1 0 - snp126 205 192 + chr1 4558 14764 uc001aab.1 0 - chainEquCab1 10206 1 + chr1 4558 14764 uc001aab.1 0 - netGalGal3 3686 1 + chr1 4558 14764 uc001aab.1 0 - phastCons28wayPlacMammal 10172 3 + +Where:: + + The first added column is the table name. + The second added column is the number of bases covered by the table. + The third added column is the number of regions from the table that is covered by the interval. + +Alternatively, requesting a summary, using the intervals below and selecting several tables:: + + chr1 4558 14764 uc001aab.1 0 - + chr1 4558 19346 uc001aac.1 0 - + +results in:: + + #tableName tableSize tableRegionCount allIntervalCount allIntervalSize allCoverage allTableRegionsOverlaped allIntervalsOverlapingTable nrIntervalCount nrIntervalSize nrCoverage nrTableRegionsOverlaped nrIntervalsOverlapingTable + snp126Exceptions 133601 92469 2 24994 388 359 2 1 14788 237 217 1 + genomicSuperDups 12268847 657 2 24994 24994 2 2 1 14788 14788 1 1 + chainOryLat1 70337730 2542 2 24994 7436 2 2 1 14788 3718 1 1 + affyHuEx1 15703901 112274 2 24994 7846 70 2 1 14788 4293 38 1 + netXenTro2 111440392 1877 2 24994 6100 2 2 1 14788 3050 1 1 + snp126orthoPanTro2RheMac2 700436 690674 2 24994 124 118 2 1 14788 63 60 1 + intronEst 135796064 2332 2 24994 24994 2 2 1 14788 14788 1 1 + xenoMrna 129031327 1586 2 24994 20406 2 2 1 14788 10203 1 1 + snp126 956976 838091 2 24994 498 461 2 1 14788 293 269 1 + clonePos 224999719 39 2 24994 24994 2 2 1 14788 14788 1 1 + chainStrPur2Link 7948016 119841 2 24994 2646 58 2 1 14788 1323 29 1 + affyTxnPhase3HeLaNuclear 136797870 140244 2 24994 22601 17 2 1 14788 13590 9 1 + multiz28way 225928588 38 2 24994 24994 2 2 1 14788 14788 1 1 + ctgPos 224999719 39 2 24994 24994 2 2 1 14788 14788 1 1 + chainEquCab1 246306414 141 2 24994 24994 2 2 1 14788 14788 1 1 + netGalGal3 203351973 461 2 24994 7372 2 2 1 14788 3686 1 1 + phastCons28wayPlacMammal 221017670 22803 2 24994 24926 6 2 1 14788 14754 3 1 + +Where:: + + tableName is the name of the table + tableChromosomeCoverage is the number of positions existing in the table for only the chromosomes that were referenced by the interval file + tableChromosomeCount is the number of regions existing in the table for only the chromosomes that were referenced by the interval file + tableRegionCoverage is the number of positions existing in the table between the minimal and maximal bounding regions that were referenced by the interval file + tableRegionCount is the number of regions existing in the table between the minimal and maximal bounding regions that were referenced by the interval file + + allIntervalCount is the number of provided intervals + allIntervalSize is the sum of the lengths of the provided interval file + allCoverage is the sum of the coverage for each provided interval + allTableRegionsOverlapped is the sum of the number of regions of the table (non-unique) that were overlapped for each interval + allIntervalsOverlappingTable is the number of provided intervals which overlap the table + + nrIntervalCount is the number of non-redundant intervals + nrIntervalSize is the sum of the lengths of non-redundant intervals + nrCoverage is the sum of the coverage of non-redundant intervals + nrTableRegionsOverlapped is the number of regions of the table (unique) that were overlapped by the non-redundant intervals + nrIntervalsOverlappingTable is the number of non-redundant intervals which overlap the table + + +.. class:: infomark + +**TIP:** non-redundant (nr) refers to the set of intervals that remains after the intervals provided have been merged to resolve overlaps + +------ + +**Citation** + +For the underlying data, please see http://genome.ucsc.edu/cite.html for the proper citation. + +If you use this tool in Galaxy, please cite Blankenberg D, et al. *In preparation.* + + </help> +</tool>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/annotation_profiler_for_interval.py Mon May 19 10:59:42 2014 -0400 @@ -0,0 +1,358 @@ +#!/usr/bin/env python +#Dan Blankenberg +#For a set of intervals, this tool returns the same set of intervals +#with 2 additional fields: the name of a Table/Feature and the number of +#bases covered. The original intervals are repeated for each Table/Feature. + +import sys, struct, optparse, os, random +import bx.intervals.io +import bx.bitset +try: + import psyco + psyco.full() +except: + pass + +assert sys.version_info[:2] >= ( 2, 4 ) + +class CachedRangesInFile: + DEFAULT_STRUCT_FORMAT = '<I' + def __init__( self, filename, profiler_info ): + self.file_size = os.stat( filename ).st_size + self.file = open( filename, 'rb' ) + self.filename = filename + self.fmt = profiler_info.get( 'profiler_struct_format', self.DEFAULT_STRUCT_FORMAT ) + self.fmt_size = int( profiler_info.get( 'profiler_struct_size', struct.calcsize( self.fmt ) ) ) + self.length = int( self.file_size / self.fmt_size / 2 ) + self._cached_ranges = [ None for i in xrange( self.length ) ] + def __getitem__( self, i ): + if self._cached_ranges[i] is not None: + return self._cached_ranges[i] + if i < 0: i = self.length + i + offset = i * self.fmt_size * 2 + self.file.seek( offset ) + try: + start = struct.unpack( self.fmt, self.file.read( self.fmt_size ) )[0] + end = struct.unpack( self.fmt, self.file.read( self.fmt_size ) )[0] + except Exception, e: + raise IndexError, e + self._cached_ranges[i] = ( start, end ) + return start, end + def __len__( self ): + return self.length + +class RegionCoverage: + def __init__( self, filename_base, profiler_info ): + try: + self._coverage = CachedRangesInFile( "%s.covered" % filename_base, profiler_info ) + except Exception, e: + #print "Error loading coverage file %s: %s" % ( "%s.covered" % filename_base, e ) + self._coverage = [] + try: + self._total_coverage = int( open( "%s.total_coverage" % filename_base ).read() ) + except Exception, e: + #print "Error loading total coverage file %s: %s" % ( "%s.total_coverage" % filename_base, e ) + self._total_coverage = 0 + def get_start_index( self, start ): + #binary search: returns index of range closest to start + if start > self._coverage[-1][1]: + return len( self._coverage ) - 1 + i = 0 + j = len( self._coverage) - 1 + while i < j: + k = ( i + j ) / 2 + if start <= self._coverage[k][1]: + j = k + else: + i = k + 1 + return i + def get_coverage( self, start, end ): + return self.get_coverage_regions_overlap( start, end )[0] + def get_coverage_regions_overlap( self, start, end ): + return self.get_coverage_regions_index_overlap( start, end )[0:2] + def get_coverage_regions_index_overlap( self, start, end ): + if len( self._coverage ) < 1 or start > self._coverage[-1][1] or end < self._coverage[0][0]: + return 0, 0, 0 + if self._total_coverage and start <= self._coverage[0][0] and end >= self._coverage[-1][1]: + return self._total_coverage, len( self._coverage ), 0 + coverage = 0 + region_count = 0 + start_index = self.get_start_index( start ) + for i in xrange( start_index, len( self._coverage ) ): + c_start, c_end = self._coverage[i] + if c_start > end: + break + if c_start <= end and c_end >= start: + coverage += min( end, c_end ) - max( start, c_start ) + region_count += 1 + return coverage, region_count, start_index + +class CachedCoverageReader: + def __init__( self, base_file_path, buffer = 10, table_names = None, profiler_info = None ): + self._base_file_path = base_file_path + self._buffer = buffer #number of chromosomes to keep in memory at a time + self._coverage = {} + if table_names is None: table_names = [ table_dir for table_dir in os.listdir( self._base_file_path ) if os.path.isdir( os.path.join( self._base_file_path, table_dir ) ) ] + for tablename in table_names: self._coverage[tablename] = {} + if profiler_info is None: profiler_info = {} + self._profiler_info = profiler_info + def iter_table_coverage_by_region( self, chrom, start, end ): + for tablename, coverage, regions in self.iter_table_coverage_regions_by_region( chrom, start, end ): + yield tablename, coverage + def iter_table_coverage_regions_by_region( self, chrom, start, end ): + for tablename, coverage, regions, index in self.iter_table_coverage_regions_index_by_region( chrom, start, end ): + yield tablename, coverage, regions + def iter_table_coverage_regions_index_by_region( self, chrom, start, end ): + for tablename, chromosomes in self._coverage.iteritems(): + if chrom not in chromosomes: + if len( chromosomes ) >= self._buffer: + #randomly remove one chromosome from this table + del chromosomes[ chromosomes.keys().pop( random.randint( 0, self._buffer - 1 ) ) ] + chromosomes[chrom] = RegionCoverage( os.path.join ( self._base_file_path, tablename, chrom ), self._profiler_info ) + coverage, regions, index = chromosomes[chrom].get_coverage_regions_index_overlap( start, end ) + yield tablename, coverage, regions, index + +class TableCoverageSummary: + def __init__( self, coverage_reader, chrom_lengths ): + self.coverage_reader = coverage_reader + self.chrom_lengths = chrom_lengths + self.chromosome_coverage = {} #dict of bitset by chromosome holding user's collapsed input intervals + self.total_interval_size = 0 #total size of user's input intervals + self.total_interval_count = 0 #total number of user's input intervals + self.table_coverage = {} #dict of total coverage by user's input intervals by table + self.table_chromosome_size = {} #dict of dict of table:chrom containing total coverage of table for a chrom + self.table_chromosome_count = {} #dict of dict of table:chrom containing total number of coverage ranges of table for a chrom + self.table_regions_overlaped_count = {} #total number of table regions overlaping user's input intervals (non unique) + self.interval_table_overlap_count = {} #total number of user input intervals which overlap table + self.region_size_errors = {} #dictionary of lists of invalid ranges by chromosome + def add_region( self, chrom, start, end ): + chrom_length = self.chrom_lengths.get( chrom ) + region_start = min( start, chrom_length ) + region_end = min( end, chrom_length ) + region_length = region_end - region_start + + if region_length < 1 or region_start != start or region_end != end: + if chrom not in self.region_size_errors: + self.region_size_errors[chrom] = [] + self.region_size_errors[chrom].append( ( start, end ) ) + if region_length < 1: return + + self.total_interval_size += region_length + self.total_interval_count += 1 + if chrom not in self.chromosome_coverage: + self.chromosome_coverage[chrom] = bx.bitset.BitSet( chrom_length ) + + self.chromosome_coverage[chrom].set_range( region_start, region_length ) + for table_name, coverage, regions in self.coverage_reader.iter_table_coverage_regions_by_region( chrom, region_start, region_end ): + if table_name not in self.table_coverage: + self.table_coverage[table_name] = 0 + self.table_chromosome_size[table_name] = {} + self.table_regions_overlaped_count[table_name] = 0 + self.interval_table_overlap_count[table_name] = 0 + self.table_chromosome_count[table_name] = {} + if chrom not in self.table_chromosome_size[table_name]: + self.table_chromosome_size[table_name][chrom] = self.coverage_reader._coverage[table_name][chrom]._total_coverage + self.table_chromosome_count[table_name][chrom] = len( self.coverage_reader._coverage[table_name][chrom]._coverage ) + self.table_coverage[table_name] += coverage + if coverage: + self.interval_table_overlap_count[table_name] += 1 + self.table_regions_overlaped_count[table_name] += regions + def iter_table_coverage( self ): + def get_nr_coverage(): + #returns non-redundant coverage, where user's input intervals have been collapse to resolve overlaps + table_coverage = {} #dictionary of tables containing number of table bases overlaped by nr intervals + interval_table_overlap_count = {} #dictionary of tables containing number of nr intervals overlaping table + table_regions_overlap_count = {} #dictionary of tables containing number of regions overlaped (unique) + interval_count = 0 #total number of nr intervals + interval_size = 0 #holds total size of nr intervals + region_start_end = {} #holds absolute start,end for each user input chromosome + for chrom, chromosome_bitset in self.chromosome_coverage.iteritems(): + #loop through user's collapsed input intervals + end = 0 + last_end_index = {} + interval_size += chromosome_bitset.count_range() + while True: + if end >= chromosome_bitset.size: break + start = chromosome_bitset.next_set( end ) + if start >= chromosome_bitset.size: break + end = chromosome_bitset.next_clear( start ) + interval_count += 1 + if chrom not in region_start_end: + region_start_end[chrom] = [start, end] + else: + region_start_end[chrom][1] = end + for table_name, coverage, region_count, start_index in self.coverage_reader.iter_table_coverage_regions_index_by_region( chrom, start, end ): + if table_name not in table_coverage: + table_coverage[table_name] = 0 + interval_table_overlap_count[table_name] = 0 + table_regions_overlap_count[table_name] = 0 + table_coverage[table_name] += coverage + if coverage: + interval_table_overlap_count[table_name] += 1 + table_regions_overlap_count[table_name] += region_count + if table_name in last_end_index and last_end_index[table_name] == start_index: + table_regions_overlap_count[table_name] -= 1 + last_end_index[table_name] = start_index + region_count - 1 + table_region_coverage = {} #total coverage for tables by bounding nr interval region + table_region_count = {} #total number for tables by bounding nr interval region + for chrom, start_end in region_start_end.items(): + for table_name, coverage, region_count in self.coverage_reader.iter_table_coverage_regions_by_region( chrom, start_end[0], start_end[1] ): + if table_name not in table_region_coverage: + table_region_coverage[table_name] = 0 + table_region_count[table_name] = 0 + table_region_coverage[table_name] += coverage + table_region_count[table_name] += region_count + return table_region_coverage, table_region_count, interval_count, interval_size, table_coverage, table_regions_overlap_count, interval_table_overlap_count + table_region_coverage, table_region_count, nr_interval_count, nr_interval_size, nr_table_coverage, nr_table_regions_overlap_count, nr_interval_table_overlap_count = get_nr_coverage() + for table_name in self.table_coverage: + #TODO: determine a type of statistic, then calculate and report here + yield table_name, sum( self.table_chromosome_size.get( table_name, {} ).values() ), sum( self.table_chromosome_count.get( table_name, {} ).values() ), table_region_coverage.get( table_name, 0 ), table_region_count.get( table_name, 0 ), self.total_interval_count, self.total_interval_size, self.table_coverage[table_name], self.table_regions_overlaped_count.get( table_name, 0), self.interval_table_overlap_count.get( table_name, 0 ), nr_interval_count, nr_interval_size, nr_table_coverage[table_name], nr_table_regions_overlap_count.get( table_name, 0 ), nr_interval_table_overlap_count.get( table_name, 0 ) + +def profile_per_interval( interval_filename, chrom_col, start_col, end_col, out_filename, keep_empty, coverage_reader ): + out = open( out_filename, 'wb' ) + for region in bx.intervals.io.NiceReaderWrapper( open( interval_filename, 'rb' ), chrom_col = chrom_col, start_col = start_col, end_col = end_col, fix_strand = True, return_header = False, return_comments = False ): + for table_name, coverage, region_count in coverage_reader.iter_table_coverage_regions_by_region( region.chrom, region.start, region.end ): + if keep_empty or coverage: + #only output regions that have atleast 1 base covered unless empty are requested + out.write( "%s\t%s\t%s\t%s\n" % ( "\t".join( region.fields ), table_name, coverage, region_count ) ) + out.close() + +def profile_summary( interval_filename, chrom_col, start_col, end_col, out_filename, keep_empty, coverage_reader, chrom_lengths ): + out = open( out_filename, 'wb' ) + table_coverage_summary = TableCoverageSummary( coverage_reader, chrom_lengths ) + for region in bx.intervals.io.NiceReaderWrapper( open( interval_filename, 'rb' ), chrom_col = chrom_col, start_col = start_col, end_col = end_col, fix_strand = True, return_header = False, return_comments = False ): + table_coverage_summary.add_region( region.chrom, region.start, region.end ) + + out.write( "#tableName\ttableChromosomeCoverage\ttableChromosomeCount\ttableRegionCoverage\ttableRegionCount\tallIntervalCount\tallIntervalSize\tallCoverage\tallTableRegionsOverlaped\tallIntervalsOverlapingTable\tnrIntervalCount\tnrIntervalSize\tnrCoverage\tnrTableRegionsOverlaped\tnrIntervalsOverlapingTable\n" ) + for table_name, table_chromosome_size, table_chromosome_count, table_region_coverage, table_region_count, total_interval_count, total_interval_size, total_coverage, table_regions_overlaped_count, interval_region_overlap_count, nr_interval_count, nr_interval_size, nr_coverage, nr_table_regions_overlaped_count, nr_interval_table_overlap_count in table_coverage_summary.iter_table_coverage(): + if keep_empty or total_coverage: + #only output tables that have atleast 1 base covered unless empty are requested + out.write( "%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\n" % ( table_name, table_chromosome_size, table_chromosome_count, table_region_coverage, table_region_count, total_interval_count, total_interval_size, total_coverage, table_regions_overlaped_count, interval_region_overlap_count, nr_interval_count, nr_interval_size, nr_coverage, nr_table_regions_overlaped_count, nr_interval_table_overlap_count ) ) + out.close() + + #report chrom size errors as needed: + if table_coverage_summary.region_size_errors: + print "Regions provided extended beyond known chromosome lengths, and have been truncated as necessary, for the following intervals:" + for chrom, regions in table_coverage_summary.region_size_errors.items(): + if len( regions ) > 3: + extra_region_info = ", ... " + else: + extra_region_info = "" + print "%s has max length of %s, exceeded by %s%s." % ( chrom, chrom_lengths.get( chrom ), ", ".join( map( str, regions[:3] ) ), extra_region_info ) + +class ChromosomeLengths: + def __init__( self, profiler_info ): + self.chroms = {} + self.default_bitset_size = int( profiler_info.get( 'bitset_size', bx.bitset.MAX ) ) + chroms = profiler_info.get( 'chromosomes', None ) + if chroms: + for chrom in chroms.split( ',' ): + for fields in chrom.rsplit( '=', 1 ): + if len( fields ) == 2: + self.chroms[ fields[0] ] = int( fields[1] ) + else: + self.chroms[ fields[0] ] = self.default_bitset_size + def get( self, name ): + return self.chroms.get( name, self.default_bitset_size ) + +def parse_profiler_info( filename ): + profiler_info = {} + try: + for line in open( filename ): + fields = line.rstrip( '\n\r' ).split( '\t', 1 ) + if len( fields ) == 2: + if fields[0] in profiler_info: + if not isinstance( profiler_info[ fields[0] ], list ): + profiler_info[ fields[0] ] = [ profiler_info[ fields[0] ] ] + profiler_info[ fields[0] ].append( fields[1] ) + else: + profiler_info[ fields[0] ] = fields[1] + except: + pass #likely missing file + return profiler_info + +def __main__(): + parser = optparse.OptionParser() + parser.add_option( + '-k','--keep_empty', + action="store_true", + dest='keep_empty', + default=False, + help='Keep tables with 0 coverage' + ) + parser.add_option( + '-b','--buffer', + dest='buffer', + type='int',default=10, + help='Number of Chromosomes to keep buffered' + ) + parser.add_option( + '-c','--chrom_col', + dest='chrom_col', + type='int',default=1, + help='Chromosome column' + ) + parser.add_option( + '-s','--start_col', + dest='start_col', + type='int',default=2, + help='Start Column' + ) + parser.add_option( + '-e','--end_col', + dest='end_col', + type='int',default=3, + help='End Column' + ) + parser.add_option( + '-p','--path', + dest='path', + type='str',default='/galaxy/data/annotation_profiler/hg18', + help='Path to profiled data for this organism' + ) + parser.add_option( + '-t','--table_names', + dest='table_names', + type='str',default='None', + help='Table names requested' + ) + parser.add_option( + '-i','--input', + dest='interval_filename', + type='str', + help='Input Interval File' + ) + parser.add_option( + '-o','--output', + dest='out_filename', + type='str', + help='Input Interval File' + ) + parser.add_option( + '-S','--summary', + action="store_true", + dest='summary', + default=False, + help='Display Summary Results' + ) + + options, args = parser.parse_args() + + assert os.path.isdir( options.path ), IOError( "Configuration error: Table directory is missing (%s)" % options.path ) + + #get profiler_info + profiler_info = parse_profiler_info( os.path.join( options.path, 'profiler_info.txt' ) ) + + table_names = options.table_names.split( "," ) + if table_names == ['None']: table_names = None + coverage_reader = CachedCoverageReader( options.path, buffer = options.buffer, table_names = table_names, profiler_info = profiler_info ) + + if options.summary: + profile_summary( options.interval_filename, options.chrom_col - 1, options.start_col - 1, options.end_col -1, options.out_filename, options.keep_empty, coverage_reader, ChromosomeLengths( profiler_info ) ) + else: + profile_per_interval( options.interval_filename, options.chrom_col - 1, options.start_col - 1, options.end_col -1, options.out_filename, options.keep_empty, coverage_reader ) + + #print out data version info + print 'Data version (%s:%s:%s)' % ( profiler_info.get( 'dbkey', 'unknown' ), profiler_info.get( 'profiler_hash', 'unknown' ), profiler_info.get( 'dump_time', 'unknown' ) ) + +if __name__ == "__main__": __main__()
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/scripts/README.txt Mon May 19 10:59:42 2014 -0400 @@ -0,0 +1,54 @@ +This file explains how to create annotation indexes for the annotation profiler tool. Annotation profiler indexes are an exceedingly simple binary format, +containing no header information and consisting of an ordered linear list of (start,stop encoded individually as '<I') regions which are covered by a UCSC table partitioned +by chromosome name. Genomic regions are merged by overlap / direct adjacency (e.g. a table having ranges of: 1-10, 6-12, 12-20 and 25-28 results in two merged ranges of: 1-20 and 25-28). + +Files are arranged like: +/profiled_annotations/DBKEY/TABLE_NAME/ + CHROMOSOME_NAME.covered + CHROMOSOME_NAME.total_coverage + CHROMOSOME_NAME.total_regions +/profiled_annotations/DBKEY/ + DBKEY_tables.xml + chromosomes.txt + profiled_info.txt + + +where CHROMOSOME_NAME.covered is the binary file, CHROMOSOME_NAME.total_coverage is a text file containing the integer count of bases covered by the +table and CHROMOSOME_NAME.total_regions contains the integer count of the number of regions found in CHROMOSOME_NAME.covered + +DBKEY_tables.xml should be appended to the annotation profile available table configuration file (tool-data/annotation_profiler_options.xml). +The DBKEY should also be added as a new line to the annotation profiler valid builds file (annotation_profiler_valid_builds.txt). +The output (/profiled_annotations/DBKEY) should be made available as GALAXY_ROOT/tool-data/annotation_profiler/DBKEY. + +profiled_info.txt contains info on the generated annotations, separated by lines with tab-delimited label,value pairs: + profiler_version - the version of the build_profile_indexes.py script that was used to generate the profiled data + dbkey - the dbkey used for the run + chromosomes - contains the names and lengths of chromosomes that were used to parse single-chromosome tables (tables divided into individual files by chromosome) + dump_time - the declared dump time of the database, taken from trackDb.txt.gz + profiled_time - seconds since epoch in utc for when the database dump was profiled + database_hash - a md5 hex digest of all the profiled table info + + +Typical usage includes: + +python build_profile_indexes.py -d hg19 -i /ucsc_data/hg19/database/ > hg19.txt + +where the genome build is hg19 and /ucsc_data/hg19/database/ contains the downloaded database dump from UCSC (e.g. obtained by rsync: rsync -avzP rsync://hgdownload.cse.ucsc.edu/goldenPath/hg19/database/ /ucsc_data/hg19/database/). + + + +By default, chromosome names come from a file named 'chromInfo.txt.gz' found in the input directory, with FTP used as a backup. +When FTP is used to obtain the names of chromosomes from UCSC for a particular genome build, alternate ftp sites and paths can be specified by using the --ftp_site and --ftp_path attributes. +Chromosome names can instead be provided on the commandline via the --chromosomes option, which accepts a comma separated list of:ChromName1[=length],ChromName2[=length],... + + + + usage = "usage: %prog options" + parser = OptionParser( usage=usage ) + parser.add_option( '-d', '--dbkey', dest='dbkey', default='hg18', help='dbkey to process' ) + parser.add_option( '-i', '--input_dir', dest='input_dir', default=os.path.join( 'golden_path','%s', 'database' ), help='Input Directory' ) + parser.add_option( '-o', '--output_dir', dest='output_dir', default=os.path.join( 'profiled_annotations','%s' ), help='Output Directory' ) + parser.add_option( '-c', '--chromosomes', dest='chromosomes', default='', help='Comma separated list of: ChromName1[=length],ChromName2[=length],...' ) + parser.add_option( '-b', '--bitset_size', dest='bitset_size', default=DEFAULT_BITSET_SIZE, type='int', help='Default BitSet size; overridden by sizes specified in chromInfo.txt.gz or by --chromosomes' ) + parser.add_option( '-f', '--ftp_site', dest='ftp_site', default='hgdownload.cse.ucsc.edu', help='FTP site; used for chromosome info when chromInfo.txt.gz method fails' ) + parser.add_option( '-p', '--ftp_path', dest='ftp_path', default='/goldenPath/%s/chromosomes/', help='FTP Path; used for chromosome info when chromInfo.txt.gz method fails' )
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/scripts/build_profile_indexes.py Mon May 19 10:59:42 2014 -0400 @@ -0,0 +1,338 @@ +#!/usr/bin/env python +#Dan Blankenberg + +VERSION = '1.0.0' # version of this script + +from optparse import OptionParser +import os, gzip, struct, time +from ftplib import FTP #do we want a diff method than using FTP to determine Chrom Names, eg use local copy + +#import md5 from hashlib; if python2.4 or less, use old md5 +try: + from hashlib import md5 +except ImportError: + from md5 import new as md5 + +#import BitSet from bx-python, try using eggs and package resources, fall back to any local installation +try: + from galaxy import eggs + import pkg_resources + pkg_resources.require( "bx-python" ) +except: pass #Maybe there is a local installation available +from bx.bitset import BitSet + +#Define constants +STRUCT_FMT = '<I' +STRUCT_SIZE = struct.calcsize( STRUCT_FMT ) +DEFAULT_BITSET_SIZE = 300000000 +CHUNK_SIZE = 1024 + +#Headers used to parse .sql files to determine column indexes for chromosome name, start and end +alias_spec = { + 'chromCol' : [ 'chrom' , 'CHROMOSOME' , 'CHROM', 'Chromosome Name', 'tName' ], + 'startCol' : [ 'start' , 'START', 'chromStart', 'txStart', 'Start Position (bp)', 'tStart', 'genoStart' ], + 'endCol' : [ 'end' , 'END' , 'STOP', 'chromEnd', 'txEnd', 'End Position (bp)', 'tEnd', 'genoEnd' ], +} + +#Headers used to parse trackDb.txt.gz +#TODO: these should be parsed directly from trackDb.sql +trackDb_headers = ["tableName", "shortLabel", "type", "longLabel", "visibility", "priority", "colorR", "colorG", "colorB", "altColorR", "altColorG", "altColorB", "useScore", "private", "restrictCount", "restrictList", "url", "html", "grp", "canPack", "settings"] + +def get_columns( filename ): + input_sql = open( filename ).read() + input_sql = input_sql.split( 'CREATE TABLE ' )[1].split( ';' )[0] + input_sql = input_sql.split( ' (', 1 ) + table_name = input_sql[0].strip().strip( '`' ) + input_sql = [ split.strip().split( ' ' )[0].strip().strip( '`' ) for split in input_sql[1].rsplit( ')', 1 )[0].strip().split( '\n' ) ] + print input_sql + chrom_col = None + start_col = None + end_col = None + for col_name in alias_spec['chromCol']: + for i, header_name in enumerate( input_sql ): + if col_name == header_name: + chrom_col = i + break + if chrom_col is not None: + break + + for col_name in alias_spec['startCol']: + for i, header_name in enumerate( input_sql ): + if col_name == header_name: + start_col = i + break + if start_col is not None: + break + + for col_name in alias_spec['endCol']: + for i, header_name in enumerate( input_sql ): + if col_name == header_name: + end_col = i + break + if end_col is not None: + break + + return table_name, chrom_col, start_col, end_col + + +def create_grouping_xml( input_dir, output_dir, dbkey ): + output_filename = os.path.join( output_dir, '%s_tables.xml' % dbkey ) + def load_groups( file_name = 'grp.txt.gz' ): + groups = {} + for line in gzip.open( os.path.join( input_dir, file_name ) ): + fields = line.split( '\t' ) + groups[fields[0]] = { 'desc': fields[1], 'priority': fields[2] } + return groups + f = gzip.open( os.path.join( input_dir, 'trackDb.txt.gz' ) ) + out = open( output_filename, 'wb' ) + tables = {} + cur_buf = '' + while True: + line = f.readline() + if not line: break + #remove new lines + line = line.rstrip( '\n\r' ) + line = line.replace( '\\\t', ' ' ) #replace escaped tabs with space + cur_buf += "%s\n" % line.rstrip( '\\' ) + if line.endswith( '\\' ): + continue #line is wrapped, next line + #all fields should be loaded now... + fields = cur_buf.split( '\t' ) + cur_buf = '' #reset buffer + assert len( fields ) == len( trackDb_headers ), 'Failed Parsing trackDb.txt.gz; fields: %s' % fields + table_name = fields[ 0 ] + tables[ table_name ] = {} + for field_name, field_value in zip( trackDb_headers, fields ): + tables[ table_name ][ field_name ] = field_value + #split settings fields into dict + fields = fields[-1].split( '\n' ) + tables[ table_name ][ 'settings' ] = {} + for field in fields: + setting_fields = field.split( ' ', 1 ) + setting_name = setting_value = setting_fields[ 0 ] + if len( setting_fields ) > 1: + setting_value = setting_fields[ 1 ] + if setting_name or setting_value: + tables[ table_name ][ 'settings' ][ setting_name ] = setting_value + #Load Groups + groups = load_groups() + in_groups = {} + for table_name, values in tables.iteritems(): + if os.path.exists( os.path.join( output_dir, table_name ) ): + group = values['grp'] + if group not in in_groups: + in_groups[group]={} + #***NAME CHANGE***, 'subTrack' no longer exists as a setting...use 'parent' instead + #subTrack = values.get('settings', {} ).get( 'subTrack', table_name ) + subTrack = values.get('settings', {} ).get( 'parent', table_name ).split( ' ' )[0] #need to split, because could be e.g. 'trackgroup on' + if subTrack not in in_groups[group]: + in_groups[group][subTrack]=[] + in_groups[group][subTrack].append( table_name ) + + assigned_tables = [] + out.write( """<filter type="data_meta" data_ref="input1" meta_key="dbkey" value="%s">\n""" % ( dbkey ) ) + out.write( " <options>\n" ) + for group, subTracks in sorted( in_groups.iteritems() ): + out.write( """ <option name="%s" value="group-%s">\n""" % ( groups[group]['desc'], group ) ) + for sub_name, sub_tracks in subTracks.iteritems(): + if len( sub_tracks ) > 1: + out.write( """ <option name="%s" value="subtracks-%s">\n""" % ( sub_name, sub_name ) ) + sub_tracks.sort() + for track in sub_tracks: + track_label = track + if "$" not in tables[track]['shortLabel']: + track_label = tables[track]['shortLabel'] + out.write( """ <option name="%s" value="%s"/>\n""" % ( track_label, track ) ) + assigned_tables.append( track ) + out.write( " </option>\n" ) + else: + track = sub_tracks[0] + track_label = track + if "$" not in tables[track]['shortLabel']: + track_label = tables[track]['shortLabel'] + out.write( """ <option name="%s" value="%s"/>\n""" % ( track_label, track ) ) + assigned_tables.append( track ) + out.write( " </option>\n" ) + unassigned_tables = list( sorted( [ table_dir for table_dir in os.listdir( output_dir ) if table_dir not in assigned_tables and os.path.isdir( os.path.join( output_dir, table_dir ) ) ] ) ) + if unassigned_tables: + out.write( """ <option name="Uncategorized Tables" value="group-trackDbUnassigned">\n""" ) + for table_name in unassigned_tables: + out.write( """ <option name="%s" value="%s"/>\n""" % ( table_name, table_name ) ) + out.write( " </option>\n" ) + out.write( " </options>\n" ) + out.write( """</filter>\n""" ) + out.close() + +def write_database_dump_info( input_dir, output_dir, dbkey, chrom_lengths, default_bitset_size ): + #generate hash for profiled table directories + #sort directories off output root (files in output root not hashed, including the profiler_info.txt file) + #sort files in each directory and hash file contents + profiled_hash = md5() + for table_dir in sorted( [ table_dir for table_dir in os.listdir( output_dir ) if os.path.isdir( os.path.join( output_dir, table_dir ) ) ] ): + for filename in sorted( os.listdir( os.path.join( output_dir, table_dir ) ) ): + f = open( os.path.join( output_dir, table_dir, filename ), 'rb' ) + while True: + hash_chunk = f.read( CHUNK_SIZE ) + if not hash_chunk: + break + profiled_hash.update( hash_chunk ) + profiled_hash = profiled_hash.hexdigest() + + #generate hash for input dir + #sort directories off input root + #sort files in each directory and hash file contents + database_hash = md5() + for dirpath, dirnames, filenames in sorted( os.walk( input_dir ) ): + for filename in sorted( filenames ): + f = open( os.path.join( input_dir, dirpath, filename ), 'rb' ) + while True: + hash_chunk = f.read( CHUNK_SIZE ) + if not hash_chunk: + break + database_hash.update( hash_chunk ) + database_hash = database_hash.hexdigest() + + #write out info file + out = open( os.path.join( output_dir, 'profiler_info.txt' ), 'wb' ) + out.write( 'dbkey\t%s\n' % ( dbkey ) ) + out.write( 'chromosomes\t%s\n' % ( ','.join( [ '%s=%s' % ( chrom_name, chrom_len ) for chrom_name, chrom_len in chrom_lengths.iteritems() ] ) ) ) + out.write( 'bitset_size\t%s\n' % ( default_bitset_size ) ) + for line in open( os.path.join( input_dir, 'trackDb.sql' ) ): + line = line.strip() + if line.startswith( '-- Dump completed on ' ): + line = line[ len( '-- Dump completed on ' ): ] + out.write( 'dump_time\t%s\n' % ( line ) ) + break + out.write( 'dump_hash\t%s\n' % ( database_hash ) ) + out.write( 'profiler_time\t%s\n' % ( time.time() ) ) + out.write( 'profiler_hash\t%s\n' % ( profiled_hash ) ) + out.write( 'profiler_version\t%s\n' % ( VERSION ) ) + out.write( 'profiler_struct_format\t%s\n' % ( STRUCT_FMT ) ) + out.write( 'profiler_struct_size\t%s\n' % ( STRUCT_SIZE ) ) + out.close() + +def __main__(): + usage = "usage: %prog options" + parser = OptionParser( usage=usage ) + parser.add_option( '-d', '--dbkey', dest='dbkey', default='hg18', help='dbkey to process' ) + parser.add_option( '-i', '--input_dir', dest='input_dir', default=os.path.join( 'golden_path','%s', 'database' ), help='Input Directory' ) + parser.add_option( '-o', '--output_dir', dest='output_dir', default=os.path.join( 'profiled_annotations','%s' ), help='Output Directory' ) + parser.add_option( '-c', '--chromosomes', dest='chromosomes', default='', help='Comma separated list of: ChromName1[=length],ChromName2[=length],...' ) + parser.add_option( '-b', '--bitset_size', dest='bitset_size', default=DEFAULT_BITSET_SIZE, type='int', help='Default BitSet size; overridden by sizes specified in chromInfo.txt.gz or by --chromosomes' ) + parser.add_option( '-f', '--ftp_site', dest='ftp_site', default='hgdownload.cse.ucsc.edu', help='FTP site; used for chromosome info when chromInfo.txt.gz method fails' ) + parser.add_option( '-p', '--ftp_path', dest='ftp_path', default='/goldenPath/%s/chromosomes/', help='FTP Path; used for chromosome info when chromInfo.txt.gz method fails' ) + + ( options, args ) = parser.parse_args() + + input_dir = options.input_dir + if '%' in input_dir: + input_dir = input_dir % options.dbkey + assert os.path.exists( input_dir ), 'Input directory does not exist' + output_dir = options.output_dir + if '%' in output_dir: + output_dir = output_dir % options.dbkey + assert not os.path.exists( output_dir ), 'Output directory already exists' + os.makedirs( output_dir ) + ftp_path = options.ftp_path + if '%' in ftp_path: + ftp_path = ftp_path % options.dbkey + + #Get chromosome names and lengths + chrom_lengths = {} + if options.chromosomes: + for chrom in options.chromosomes.split( ',' ): + fields = chrom.split( '=' ) + chrom = fields[0] + if len( fields ) > 1: + chrom_len = int( fields[1] ) + else: + chrom_len = options.bitset_size + chrom_lengths[ chrom ] = chrom_len + chroms = chrom_lengths.keys() + print 'Chrom info taken from command line option.' + else: + try: + for line in gzip.open( os.path.join( input_dir, 'chromInfo.txt.gz' ) ): + fields = line.strip().split( '\t' ) + chrom_lengths[ fields[0] ] = int( fields[ 1 ] ) + chroms = chrom_lengths.keys() + print 'Chrom info taken from chromInfo.txt.gz.' + except Exception, e: + print 'Error loading chrom info from chromInfo.txt.gz, trying FTP method.' + chrom_lengths = {} #zero out chrom_lengths + chroms = [] + ftp = FTP( options.ftp_site ) + ftp.login() + for name in ftp.nlst( ftp_path ): + if name.endswith( '.fa.gz' ): + chroms.append( name.split( '/' )[-1][ :-len( '.fa.gz' ) ] ) + ftp.close() + for chrom in chroms: + chrom_lengths[ chrom ] = options.bitset_size + #sort chroms by length of name, decending; necessary for when table names start with chrom name + chroms = list( reversed( [ chrom for chrom_len, chrom in sorted( [ ( len( chrom ), chrom ) for chrom in chroms ] ) ] ) ) + + #parse tables from local files + #loop through directory contents, if file ends in '.sql', process table + for filename in os.listdir( input_dir ): + if filename.endswith ( '.sql' ): + base_filename = filename[ 0:-len( '.sql' ) ] + table_out_dir = os.path.join( output_dir, base_filename ) + #some tables are chromosome specific, lets strip off the chrom name + for chrom in chroms: + if base_filename.startswith( "%s_" % chrom ): + #found chromosome + table_out_dir = os.path.join( output_dir, base_filename[len( "%s_" % chrom ):] ) + break + #create table dir + if not os.path.exists( table_out_dir ): + os.mkdir( table_out_dir ) #table dir may already exist in the case of single chrom tables + print "Created table dir (%s)." % table_out_dir + else: + print "Table dir (%s) already exists." % table_out_dir + #find column assignments + table_name, chrom_col, start_col, end_col = get_columns( "%s.sql" % os.path.join( input_dir, base_filename ) ) + if chrom_col is None or start_col is None or end_col is None: + print "Table %s (%s) does not appear to have a chromosome, a start, or a stop." % ( table_name, "%s.sql" % os.path.join( input_dir, base_filename ) ) + if not os.listdir( table_out_dir ): + print "Removing empty table (%s) directory (%s)." % ( table_name, table_out_dir ) + os.rmdir( table_out_dir ) + continue + #build bitsets from table + bitset_dict = {} + for line in gzip.open( '%s.txt.gz' % os.path.join( input_dir, base_filename ) ): + fields = line.strip().split( '\t' ) + chrom = fields[ chrom_col ] + start = int( fields[ start_col ] ) + end = int( fields[ end_col ] ) + if chrom not in bitset_dict: + bitset_dict[ chrom ] = BitSet( chrom_lengths.get( chrom, options.bitset_size ) ) + bitset_dict[ chrom ].set_range( start, end - start ) + #write bitsets as profiled annotations + for chrom_name, chrom_bits in bitset_dict.iteritems(): + out = open( os.path.join( table_out_dir, '%s.covered' % chrom_name ), 'wb' ) + end = 0 + total_regions = 0 + total_coverage = 0 + max_size = chrom_lengths.get( chrom_name, options.bitset_size ) + while True: + start = chrom_bits.next_set( end ) + if start >= max_size: + break + end = chrom_bits.next_clear( start ) + out.write( struct.pack( STRUCT_FMT, start ) ) + out.write( struct.pack( STRUCT_FMT, end ) ) + total_regions += 1 + total_coverage += end - start + if end >= max_size: + break + out.close() + open( os.path.join( table_out_dir, '%s.total_regions' % chrom_name ), 'wb' ).write( str( total_regions ) ) + open( os.path.join( table_out_dir, '%s.total_coverage' % chrom_name ), 'wb' ).write( str( total_coverage ) ) + + #create xml + create_grouping_xml( input_dir, output_dir, options.dbkey ) + #create database dump info file, for database version control + write_database_dump_info( input_dir, output_dir, options.dbkey, chrom_lengths, options.bitset_size ) + +if __name__ == "__main__": __main__()
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/3.bed Mon May 19 10:59:42 2014 -0400 @@ -0,0 +1,25 @@ +chr1 147962006 147975713 NM_005997 0 - 147962192 147975670 0 6 574,145,177,115,153,160, 0,1543,7859,9048,9340,13547, +chr1 147984101 148035079 BC007833 0 + 147984545 148033414 0 14 529,32,81,131,118,153,300,206,84,49,85,130,46,1668, 0,25695,28767,33118,33695,33998,35644,38005,39629,40577,41402,43885,48367,49310, +chr1 148077485 148111797 NM_002651 0 - 148078400 148111728 0 12 1097,121,133,266,124,105,110,228,228,45,937,77, 0,2081,2472,6871,9907,10257,11604,14199,15637,18274,23636,34235, +chr1 148185113 148187485 NM_002796 0 + 148185136 148187378 0 7 163,207,147,82,117,89,120, 0,416,877,1199,1674,1977,2252, +chr2 118288484 118306183 NM_006773 0 + 118288583 118304530 0 14 184,285,144,136,101,200,115,140,162,153,114,57,178,1796, 0,2765,4970,6482,6971,7183,7468,9890,10261,10768,11590,14270,14610,15903, +chr2 118389378 118390700 BC005078 0 - 118390395 118390500 0 1 1322, 0, +chr2 220108603 220116964 NM_001927 0 + 220108689 220116217 0 9 664,61,96,162,126,221,44,83,789, 0,1718,1874,2118,2451,2963,5400,7286,7572, +chr2 220229182 220233943 NM_024536 0 - 220229609 220233765 0 4 1687,180,574,492, 0,1990,2660,4269, +chr5 131170738 131357870 AF099740 0 - 131311206 131357817 0 31 112,124,120,81,65,40,120,129,61,88,94,79,72,102,144,117,89,73,96,135,135,78,74,52,33,179,100,102,65,115,248, 0,11593,44117,47607,104668,109739,114675,126366,135488,137518,138009,140437,152389,153373,155388,159269,160793,162981,164403,165577,166119,167611,169501,178260,179675,180901,181658,182260,182953,183706,186884, +chr5 131424245 131426795 NM_000588 0 + 131424298 131426383 0 5 215,42,90,42,535, 0,313,1658,1872,2015, +chr5 131556201 131590458 NM_004199 0 - 131556601 131582218 0 15 471,97,69,66,54,100,71,177,194,240,138,152,97,100,170, 0,2316,2802,5596,6269,11138,11472,15098,16528,17674,21306,24587,25142,25935,34087, +chr5 131621285 131637046 NM_003687 0 + 131621326 131635821 0 7 134,152,82,179,164,118,1430, 0,4915,8770,13221,13609,14097,14331, +chr6 108298214 108386086 NM_007214 0 - 108299600 108385906 0 21 1530,105,99,102,159,174,60,83,148,155,93,133,95,109,51,59,62,113,115,100,304, 0,2490,6246,10831,12670,23164,23520,27331,31052,32526,34311,36130,36365,38609,41028,42398,43048,51479,54500,59097,87568, +chr6 108593954 108616704 NM_003269 0 + 108594662 108615360 0 9 733,146,88,236,147,97,150,106,1507, 0,5400,8778,10445,12037,14265,14749,15488,21243, +chr6 108639410 108689143 NM_152827 0 - 108640045 108688818 0 3 741,125,487, 0,2984,49246, +chr6 108722790 108950942 NM_145315 0 + 108722976 108950321 0 13 325,224,52,102,131,100,59,83,71,101,141,114,750, 0,28931,52094,60760,61796,71339,107102,152319,181970,182297,215317,224802,227402, +chr7 113320332 113924911 AK131266 0 + 113862563 113893433 0 20 285,91,178,90,58,75,138,51,201,178,214,105,88,84,77,102,122,70,164,1124, 0,201692,340175,448290,451999,484480,542213,543265,543478,545201,556083,558358,565876,567599,573029,573245,575738,577123,577946,603455, +chr7 116511232 116557294 NM_003391 0 - 116512159 116556994 0 5 1157,265,278,227,383, 0,20384,37843,43339,45679, +chr7 116713967 116902666 NM_000492 0 + 116714099 116901113 0 27 185,111,109,216,90,164,126,247,93,183,192,95,87,724,129,38,251,80,151,228,101,249,156,90,173,106,1754, 0,24290,29071,50936,54313,55285,56585,60137,62053,68678,79501,107776,110390,111971,114967,122863,123569,126711,130556,131618,134650,147559,162475,172879,184725,185496,186945, +chr7 116944658 117107512 AF377960 0 - 116945541 116979926 0 23 1129,102,133,64,186,206,179,188,153,100,87,80,96,276,118,255,151,100,204,1654,225,108,173, 0,7364,8850,10413,13893,14398,17435,24259,24615,35177,35359,45901,47221,49781,56405,66857,69787,72208,73597,80474,100111,150555,162681, +chr8 118880786 119193239 NM_000127 0 - 118881131 119192466 0 11 531,172,161,90,96,119,133,120,108,94,1735, 0,5355,7850,13505,19068,20309,23098,30863,36077,37741,310718, +chr9 128763240 128783870 NM_174933 0 + 128764156 128783586 0 12 261,118,74,159,76,48,56,63,129,117,127,370, 0,522,875,5630,12374,12603,15040,15175,18961,19191,20037,20260, +chr9 128787362 128789566 NM_014908 0 - 128787519 128789136 0 1 2204, 0, +chr9 128789530 128848928 NM_015354 0 + 128789552 128848511 0 44 54,55,74,85,81,45,93,120,212,115,201,90,66,120,127,153,127,88,77,115,121,67,129,140,107,207,170,70,68,196,78,86,146,182,201,93,159,138,75,228,132,74,130,594, 0,1491,5075,8652,9254,10312,11104,11317,20808,21702,23060,25462,31564,32908,33566,34851,35204,35595,35776,37202,38860,39111,39891,40349,42422,45499,45827,46675,47158,47621,50453,50840,51474,51926,53831,54186,55119,55619,57449,57605,57947,58352,58541,58804, +chr9 128849867 128870133 NM_020145 0 - 128850516 128869987 0 11 757,241,101,90,24,63,93,134,129,142,209, 0,1071,1736,2085,2635,4201,6376,6736,13056,14247,20057,
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/4.bed Mon May 19 10:59:42 2014 -0400 @@ -0,0 +1,1 @@ +chr22 30128507 31828507 uc003bnx.1_cds_2_0_chr22_29227_f 0 +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/annotation_profiler_1.out Mon May 19 10:59:42 2014 -0400 @@ -0,0 +1,9 @@ +chr22 30128507 31828507 uc003bnx.1_cds_2_0_chr22_29227_f 0 + multiz17way 1700000 1 +chr22 30128507 31828507 uc003bnx.1_cds_2_0_chr22_29227_f 0 + mrna 1476531 12 +chr22 30128507 31828507 uc003bnx.1_cds_2_0_chr22_29227_f 0 + multiz28way 1700000 1 +chr22 30128507 31828507 uc003bnx.1_cds_2_0_chr22_29227_f 0 + refGene 1247808 15 +chr22 30128507 31828507 uc003bnx.1_cds_2_0_chr22_29227_f 0 + knownAlt 14617 57 +chr22 30128507 31828507 uc003bnx.1_cds_2_0_chr22_29227_f 0 + affyGnf1h 16218 2 +chr22 30128507 31828507 uc003bnx.1_cds_2_0_chr22_29227_f 0 + snp126 8224 7262 +chr22 30128507 31828507 uc003bnx.1_cds_2_0_chr22_29227_f 0 + acembly 1532618 20 +chr22 30128507 31828507 uc003bnx.1_cds_2_0_chr22_29227_f 0 + knownGene 1282789 18
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/annotation_profiler_2.out Mon May 19 10:59:42 2014 -0400 @@ -0,0 +1,10 @@ +#tableName tableChromosomeCoverage tableChromosomeCount tableRegionCoverage tableRegionCount allIntervalCount allIntervalSize allCoverage allTableRegionsOverlaped allIntervalsOverlapingTable nrIntervalCount nrIntervalSize nrCoverage nrTableRegionsOverlaped nrIntervalsOverlapingTable +multiz17way 1232617592 115 107496500 7 25 2178864 2178864 25 25 24 2178828 2178828 7 24 +mrna 610115393 8453 53577685 617 25 2178864 1904380 38 24 24 2178828 1904344 33 23 +multiz28way 1233785185 143 107466479 10 25 2178864 2178864 25 25 24 2178828 2178828 8 24 +refGene 496767116 7324 46112187 488 25 2178864 1677947 30 23 24 2178828 1677911 27 22 +knownAlt 8647368 20213 766619 1630 25 2178864 5612 31 11 24 2178828 5612 31 11 +affyGnf1h 24034558 3995 2446754 307 25 2178864 191851 9 6 24 2178828 191851 9 6 +snp126 5297125 4456213 382226 331523 25 2178864 9205 7074 25 24 2178828 9205 7074 24 +acembly 710938193 13800 63146381 938 25 2178864 1903560 35 24 24 2178828 1903524 30 23 +knownGene 555770538 7921 50317496 558 25 2178864 1822985 30 23 24 2178828 1822949 27 22
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tool-data/annotation_profiler_options.xml.sample Mon May 19 10:59:42 2014 -0400 @@ -0,0 +1,1101 @@ +<filter type="data_meta" data_ref="input1" meta_key="dbkey" value="hg18"> + <options> + <option name="Mapping and Sequencing Tracks" value="group-map"> + <option name="STS Markers" value="stsMap"/> + <option name="Fosmid End Pairs" value="fosEndPairs"/> + <option name="Chromosome Band" value="cytoBand"/> + <option name="BAC End Pairs" value="bacEndPairs"/> + <option name="FISH Clones" value="fishClones"/> + <option name="GC Percent" value="gc5Base"/> + <option name="Coverage" value="clonePos"/> + <option name="Recomb Rate" value="recombRate"/> + <option name="Map Contigs" value="ctgPos"/> + <option name="Assembly" value="gold"/> + <option name="Gap" value="gap"/> + <option name="Chromosome Band (Ideogram)" value="cytoBandIdeo"/> + </option> + <option name="Comparative Genomics" value="group-compGeno"> + <option name="chainRn4" value="chainRn4"/> + <option name="chainOryLat1" value="chainOryLat1"/> + <option name="chainTetNig1" value="chainTetNig1"/> + <option name="netDanRer5" value="netDanRer5"/> + <option name="netPanTro2" value="netPanTro2"/> + <option name="chainCanFam2" value="chainCanFam2"/> + <option name="netPonAbe2" value="netPonAbe2"/> + <option name="netGasAcu1" value="netGasAcu1"/> + <option name="netStrPur2" value="netStrPur2"/> + <option name="chainDanRer5" value="chainDanRer5"/> + <option name="netGalGal3" value="netGalGal3"/> + <option name="netMonDom4" value="netMonDom4"/> + <option name="netOryLat1" value="netOryLat1"/> + <option name="netMm9" value="netMm9"/> + <option name="chainRheMac2" value="chainRheMac2"/> + <option name="netOrnAna1" value="netOrnAna1"/> + <option name="chainFr2" value="chainFr2"/> + <option name="netXenTro2" value="netXenTro2"/> + <option name="Cons Indels MmCf" value="consIndelsHgMmCanFam"/> + <option name="Tetraodon Ecores" value="ecoresTetNig1"/> + <option name="netTetNig1" value="netTetNig1"/> + <option name="chainGalGal3" value="chainGalGal3"/> + <option name="chainStrPur2" value="chainStrPur2"/> + <option name="chainOrnAna1" value="chainOrnAna1"/> + <option name="netFelCat3" value="netFelCat3"/> + <option name="chainEquCab1" value="chainEquCab1"/> + <option name="chainPonAbe2" value="chainPonAbe2"/> + <option name="chainFelCat3" value="chainFelCat3"/> + <option name="mostConserved28way" value="subtracks-mostConserved28way"> + <option name="Most Conserved" value="mostConserved28way"/> + <option name="Vertebrate" value="phastConsElements28way"/> + <option name="Mammal" value="phastConsElements28wayPlacMammal"/> + </option> + <option name="chainAnoCar1" value="chainAnoCar1"/> + <option name="17-Way Cons" value="multiz17way"/> + <option name="chainXenTro2" value="chainXenTro2"/> + <option name="17-Way Most Cons" value="phastConsElements17way"/> + <option name="chainGasAcu1" value="chainGasAcu1"/> + <option name="Conservation" value="multiz28way"/> + <option name="chainCalJac1" value="chainCalJac1"/> + <option name="netCanFam2" value="netCanFam2"/> + <option name="chainMm9" value="chainMm9"/> + <option name="chainMonDom4" value="chainMonDom4"/> + <option name="netCalJac1" value="netCalJac1"/> + <option name="netRheMac2" value="netRheMac2"/> + <option name="chainPanTro2" value="chainPanTro2"/> + <option name="netEquCab1" value="netEquCab1"/> + <option name="netFr2" value="netFr2"/> + <option name="netAnoCar1" value="netAnoCar1"/> + <option name="netBosTau4" value="netBosTau4"/> + <option name="chainBosTau4" value="chainBosTau4"/> + <option name="netRn4" value="netRn4"/> + </option> + <option name="Phenotype and Disease Associations" value="group-phenDis"> + <option name="caseControl" value="subtracks-caseControl"> + <option name="Case Control" value="caseControl"/> + <option name="CCC Bipolar Dis" value="cccTrendPvalBd"/> + <option name="CCC Coronary Art" value="cccTrendPvalCad"/> + <option name="CCC Crohns Dis" value="cccTrendPvalCd"/> + <option name="CCC Hypertension" value="cccTrendPvalHt"/> + <option name="CCC Rheum Arth" value="cccTrendPvalRa"/> + <option name="CCC T1 Diabetes" value="cccTrendPvalT1d"/> + <option name="CCC T2 Diabetes" value="cccTrendPvalT2d"/> + </option> + <option name="GAD View" value="gad"/> + <option name="RGD Human QTL" value="rgdQtl"/> + <option name="RGD Rat QTL" value="rgdRatQtl"/> + <option name="nimhBipolar" value="subtracks-nimhBipolar"> + <option name="NIMH Bipolar" value="nimhBipolar"/> + <option name="NIMH Bipolar De" value="nimhBipolarDe"/> + <option name="NIMH Bipolar Us" value="nimhBipolarUs"/> + </option> + <option name="jaxQtlMapped" value="subtracks-jaxQtlMapped"> + <option name="MGI Mouse QTL" value="jaxQtlAsIs"/> + <option name="MGI Mouse QTL" value="jaxQtlMapped"/> + <option name="MGI Mouse QTL Padded" value="jaxQtlPadded"/> + </option> + </option> + <option name="mRNA and EST Tracks" value="group-rna"> + <option name="CGAP SAGE" value="cgapSage"/> + <option name="est" value="est"/> + <option name="UniGene" value="uniGene_3"/> + <option name="Gene Bounds" value="rnaCluster"/> + <option name="SIB Alt-Splicing" value="sibTxGraph"/> + <option name="Spliced ESTs" value="intronEst"/> + <option name="Other mRNAs" value="xenoMrna"/> + <option name="H-Inv" value="HInvGeneMrna"/> + <option name="mrna" value="mrna"/> + <option name="polyA" value="subtracks-polyA"> + <option name="Poly(A)" value="polyA"/> + <option name="PolyA_DB" value="polyaDb"/> + <option name="Poly(A) SVM" value="polyaPredict"/> + </option> + <option name="Other ESTs" value="xenoEst"/> + </option> + <option name="Genes and Gene Prediction Tracks" value="group-genes"> + <option name="CCDS" value="ccdsGene"/> + <option name="augustus" value="subtracks-augustus"> + <option name="Augustus" value="augustus"/> + <option name="Augustus Ab Initio" value="augustusAbinitio"/> + <option name="Augustus Hints" value="augustusHints"/> + <option name="Augustus De Novo" value="augustusXRA"/> + </option> + <option name="sno/miRNA" value="wgRna"/> + <option name="Geneid Genes" value="geneid"/> + <option name="SIB Genes" value="sibGene"/> + <option name="Old Known Genes" value="knownGeneOld2"/> + <option name="EvoFold" value="evofold"/> + <option name="CONTRAST" value="contrastGene"/> + <option name="Exoniphy" value="exoniphy"/> + <option name="AceView Genes" value="acembly"/> + <option name="nscan" value="subtracks-nscan"> + <option name="N-SCAN" value="nscan"/> + <option name="N-SCAN" value="nscanGene"/> + <option name="N-SCAN PASA-EST" value="nscanPasaGene"/> + </option> + <option name="Ensembl Genes" value="ensGene"/> + <option name="SGP Genes" value="sgpGene"/> + <option name="RefSeq Genes" value="refGene"/> + <option name="Genscan Genes" value="genscan"/> + <option name="RNA Genes" value="rnaGene"/> + <option name="UCSC Genes" value="knownGene"/> + <option name="ACEScan" value="acescan"/> + <option name="Other RefSeq" value="xenoRefGene"/> + <option name="Alt Events" value="knownAlt"/> + <option name="ORFeome Clones" value="orfeomeGenes"/> + <option name="MGC Genes" value="mgcGenes"/> + </option> + <option name="Variation and Repeats" value="group-varRep"> + <option name="Segmental Dups" value="genomicSuperDups"/> + <option name="Structural Var" value="cnp"/> + <option name="tajdSnp" value="subtracks-tajdSnp"> + <option name="Tajima's D SNPs" value="tajdSnp"/> + <option name="SNPs AD" value="tajdSnpAd"/> + <option name="SNPs ED" value="tajdSnpEd"/> + <option name="SNPs XD" value="tajdSnpXd"/> + </option> + <option name="Self Chain" value="chainSelf"/> + <option name="RepeatMasker" value="rmsk"/> + <option name="snpArray" value="subtracks-snpArray"> + <option name="SNP Arrays" value="snpArray"/> + <option name="Affy 250KNsp" value="snpArrayAffy250Nsp"/> + <option name="Affy 250KSty" value="snpArrayAffy250Sty"/> + <option name="Affy SNP 5.0" value="snpArrayAffy5"/> + <option name="Affy SNP 6.0" value="snpArrayAffy6"/> + <option name="Affy SNP 6.0 SV" value="snpArrayAffy6SV"/> + <option name="Illumina 300" value="snpArrayIllumina300"/> + <option name="Illumina 550" value="snpArrayIllumina550"/> + <option name="Illumina 650" value="snpArrayIllumina650"/> + </option> + <option name="hapmapLdPh" value="subtracks-hapmapLdPh"> + <option name="HapMap LD Phased" value="hapmapLdPh"/> + <option name="Phased CEU" value="hapmapLdPhCeu"/> + <option name="Ph JPT+CHB" value="hapmapLdPhChbJpt"/> + <option name="Phased YRI" value="hapmapLdPhYri"/> + </option> + <option name="SNPs (126)" value="snp126"/> + <option name="Interrupted Rpts" value="nestedRepeats"/> + <option name="Exapted Repeats" value="exaptedRepeats"/> + <option name="SNPs (128)" value="snp128"/> + <option name="tajD" value="subtracks-tajD"> + <option name="Tajima's D" value="tajD"/> + <option name="Tajima's D AD" value="tajdAd"/> + <option name="Tajima's D ED" value="tajdEd"/> + <option name="Tajima's D XD" value="tajdXd"/> + </option> + <option name="Microsatellite" value="microsat"/> + <option name="Simple Repeats" value="simpleRepeat"/> + <option name="hapmapSnps" value="subtracks-hapmapSnps"> + <option name="Chimp Alleles" value="hapmapAllelesChimp"/> + <option name="Macaque Alleles" value="hapmapAllelesMacaque"/> + <option name="HapMap SNPs" value="hapmapSnps"/> + <option name="SNPs CEU" value="hapmapSnpsCEU"/> + <option name="SNPs CHB" value="hapmapSnpsCHB"/> + <option name="SNPs JPT" value="hapmapSnpsJPT"/> + <option name="SNPs YRI" value="hapmapSnpsYRI"/> + </option> + </option> + <option name="Expression and Regulation" value="group-regulation"> + <option name="FirstEF" value="firstEF"/> + <option name="Affy GNF1H" value="affyGnf1h"/> + <option name="Affy All Exon" value="affyHumanExon"/> + <option name="wgEncodeUcsdNgTaf1Sites" value="subtracks-wgEncodeUcsdNgTaf1Sites"> + <option name="TAF1 Known Sites" value="wgEncodeUcsdNgTaf1KnownSites"/> + <option name="TAF1 Novel Sites" value="wgEncodeUcsdNgTaf1NovelSites"/> + <option name="LI TAF1 Sites" value="wgEncodeUcsdNgTaf1Sites"/> + </option> + <option name="wgEncodeUcsdNgTaf1Valid" value="subtracks-wgEncodeUcsdNgTaf1Valid"> + <option name="LI TAF1 Valid" value="wgEncodeUcsdNgTaf1Valid"/> + <option name="LI Valid H3K4m2" value="wgEncodeUcsdNgTaf1ValidH3K4me"/> + <option name="LI Valid H3ac" value="wgEncodeUcsdNgTaf1ValidH3ac"/> + <option name="LI Valid Pol2" value="wgEncodeUcsdNgTaf1ValidRnap"/> + <option name="LI Valid TAF1" value="wgEncodeUcsdNgTaf1ValidTaf"/> + </option> + <option name="LI TAF1 Signal" value="wgEncodeUcsdNgTaf1Signal"/> + <option name="Affy Txn" value="affyTxnPhase3Super"/> + <option name="affyTxnPhase3L" value="subtracks-affyTxnPhase3L"> + <option name="HDF lRNA" value="affyTxnPhase3HDF"/> + <option name="HeLa Cyto lRNA" value="affyTxnPhase3HeLaCyto"/> + <option name="HeLa Nucl lRNA" value="affyTxnPhase3HeLaNuclear"/> + <option name="HepG2 Cyto lRNA" value="affyTxnPhase3HepG2Cyto"/> + <option name="HepG2 Nucl lRNA" value="affyTxnPhase3HepG2Nuclear"/> + <option name="Jurkat lRNA" value="affyTxnPhase3Jurkat"/> + <option name="Affy Tx lRNA Sig" value="affyTxnPhase3L"/> + <option name="NCCIT lRNA" value="affyTxnPhase3NCCIT"/> + <option name="PC3 lRNA" value="affyTxnPhase3PC3"/> + <option name="SK-N-AS lRNA" value="affyTxnPhase3SK_N_AS"/> + <option name="U87MG lRNA" value="affyTxnPhase3U87MG"/> + </option> + <option name="SwitchGear TSS" value="switchDbTss"/> + <option name="LI/UCSD TAF1" value="wgEncodeUcsdNgTaf1Super"/> + <option name="Affy U133Plus2" value="affyU133Plus2"/> + <option name="GNF Ratio" value="affyRatio"/> + <option name="Affy HuEx 1.0" value="affyHuEx1"/> + <option name="affyTxnPhase3FragsS" value="subtracks-affyTxnPhase3FragsS"> + <option name="HeLa - sRNA" value="affyTxnPhase3FragsHeLaBottomStrand"/> + <option name="HeLa + sRNA" value="affyTxnPhase3FragsHeLaTopStrand"/> + <option name="HepG2 - sRNA" value="affyTxnPhase3FragsHepG2BottomStrand"/> + <option name="HepG2 + sRNA" value="affyTxnPhase3FragsHepG2TopStrand"/> + <option name="Affy Tx sRNA Reg" value="affyTxnPhase3FragsS"/> + </option> + <option name="7X Reg Potential" value="regPotential7X"/> + <option name="uppsalaChipSites" value="subtracks-uppsalaChipSites"> + <option name="UU H3ac Sites" value="uppsalaChipH3acSites"/> + <option name="UU ChIP Sites" value="uppsalaChipSites"/> + <option name="UU Usf1 Sites" value="uppsalaChipUsf1Sites"/> + <option name="UU Usf2 Sites" value="uppsalaChipUsf2Sites"/> + </option> + <option name="CpG Islands" value="cpgIslandExt"/> + <option name="GIS PET" value="wgEncodeGisSuper"/> + <option name="GNF Atlas 2" value="gnfAtlas2"/> + <option name="Vista Enhancers" value="vistaEnhancers"/> + <option name="affyTxnPhase3S" value="subtracks-affyTxnPhase3S"> + <option name="HeLa - sRNA" value="affyTxnPhase3HeLaBottomStrand"/> + <option name="HeLa + sRNA" value="affyTxnPhase3HeLaTopStrand"/> + <option name="HepG2 - sRNA" value="affyTxnPhase3HepG2BottomStrand"/> + <option name="HepG2 + sRNA" value="affyTxnPhase3HepG2TopStrand"/> + <option name="Affy Tx sRNA Sig" value="affyTxnPhase3S"/> + </option> + <option name="wgEncodeGisRnaPet" value="subtracks-wgEncodeGisRnaPet"> + <option name="GIS PET RNA" value="wgEncodeGisRnaPet"/> + <option name="GIS RNA HCT116" value="wgEncodeGisRnaPetHCT116"/> + <option name="GIS RNA hES3" value="wgEncodeGisRnaPetHes3"/> + <option name="GIS RNA MCF7" value="wgEncodeGisRnaPetMCF7"/> + <option name="GIS RNA MCF7 Est" value="wgEncodeGisRnaPetMCF7Estr"/> + </option> + <option name="TFBS Conserved" value="tfbsConsSites"/> + <option name="affyTxnPhase3FragsL" value="subtracks-affyTxnPhase3FragsL"> + <option name="HDF lRNA" value="affyTxnPhase3FragsHDF"/> + <option name="HeLa Cyto lRNA" value="affyTxnPhase3FragsHeLaCyto"/> + <option name="HeLa Nucl lRNA" value="affyTxnPhase3FragsHeLaNuclear"/> + <option name="HepG2 Cyto lRNA" value="affyTxnPhase3FragsHepG2Cyto"/> + <option name="HepG2 Nucl lRNA" value="affyTxnPhase3FragsHepG2Nuclear"/> + <option name="Jurkat lRNA" value="affyTxnPhase3FragsJurkat"/> + <option name="Affy Tx lRNA Reg" value="affyTxnPhase3FragsL"/> + <option name="NCCIT lRNA" value="affyTxnPhase3FragsNCCIT"/> + <option name="PC3 lRNA" value="affyTxnPhase3FragsPC3"/> + <option name="SK-N-AS lRNA" value="affyTxnPhase3FragsSK_N_AS"/> + <option name="U87MG lRNA" value="affyTxnPhase3FragsU87MG"/> + </option> + <option name="ORegAnno" value="oreganno"/> + <option name="Affy U133" value="affyU133"/> + <option name="Eponine TSS" value="eponine"/> + <option name="Allen Brain" value="allenBrainAli"/> + <option name="TS miRNA sites" value="targetScanS"/> + <option name="Bertone Yale TAR" value="yaleBertoneTars"/> + <option name="uppsalaChipSignal" value="subtracks-uppsalaChipSignal"> + <option name="UU H3ac Signal" value="uppsalaChipH3acSignal"/> + <option name="UU ChIP Signal" value="uppsalaChipSignal"/> + <option name="UU Usf1 Signal" value="uppsalaChipUsf1Signal"/> + <option name="UU Usf2 Signal" value="uppsalaChipUsf2Signal"/> + </option> + <option name="Affy U95" value="affyU95"/> + <option name="Uppsala ChIP" value="uppsalaChipSuper"/> + <option name="wgEncodeGisChipPetAll" value="subtracks-wgEncodeGisChipPetAll"> + <option name="p53 HCT116 +5FU" value="wgEncodeGisChipPet"/> + <option name="GIS ChIP-PET" value="wgEncodeGisChipPetAll"/> + <option name="H3K27me3 hES3" value="wgEncodeGisChipPetHes3H3K27me3"/> + <option name="H3K4me3 hES3" value="wgEncodeGisChipPetHes3H3K4me3"/> + <option name="cMyc P493" value="wgEncodeGisChipPetMycP493"/> + <option name="STAT1 HeLa +gIF" value="wgEncodeGisChipPetStat1Gif"/> + <option name="STAT1 HeLa -gIF" value="wgEncodeGisChipPetStat1NoGif"/> + </option> + </option> + <option name="ENCODE Comparative Genomics and Variation" value="group-encodeCompAndVar"> + <option name="NHGRI DIPs" value="encodeIndels"/> + </option> + <option name="Experimental Tracks" value="group-x"> + <option name="Uppsala ChIP" value="encodeUppsalaChip"/> + <option name="cnp" value="subtracks-cnp"> + <option name="Iafrate CNPs" value="cnpIafrate2"/> + <option name="Locke CNPs" value="cnpLocke"/> + <option name="Redon CNPs" value="cnpRedon"/> + <option name="Sebat CNPs" value="cnpSebat2"/> + <option name="Sharp CNPs" value="cnpSharp2"/> + <option name="Tuzun Fosmids" value="cnpTuzun"/> + <option name="Conrad Dels" value="delConrad2"/> + <option name="Hinds Dels" value="delHinds2"/> + <option name="McCarroll Dels" value="delMccarroll"/> + </option> + <option name="encodeUncFaire" value="subtracks-encodeUncFaire"> + <option name="FAIRE PeakFinder" value="encodeUncFairePeaks"/> + <option name="FAIRE ChIPOTle" value="encodeUncFairePeaksChipotle"/> + </option> + <option name="encodeUppsalaChipBut" value="subtracks-encodeUppsalaChipBut"> + <option name="UU H3ac 0h vs 12h" value="encodeUppsalaChipH3acBut0vs12"/> + <option name="UU H4ac 0h vs 12h" value="encodeUppsalaChipH4acBut0vs12"/> + </option> + <option name="UT-Austin STAGE" value="encodeUtexStage"/> + <option name="UW DNase-array" value="encodeRegulomeDnaseArray"/> + <option name="encodeSangerChipHits" value="subtracks-encodeSangerChipHits"> + <option name="SI H3K4m1 GM6990" value="encodeSangerChipCenterH3K4me1GM06990"/> + <option name="SI H3K4me1 HeLa" value="encodeSangerChipCenterH3K4me1HeLa"/> + <option name="SI H3K4m2 GM6990" value="encodeSangerChipCenterH3K4me2GM06990"/> + <option name="SI H3K4me2 HeLa" value="encodeSangerChipCenterH3K4me2HeLa"/> + <option name="SI H3K4me2 K562" value="encodeSangerChipCenterH3K4me2K562"/> + <option name="SI H3K4m3 GM6990" value="encodeSangerChipCenterH3K4me3GM06990"/> + <option name="SI H3K4me3 HeLa" value="encodeSangerChipCenterH3K4me3HeLa"/> + <option name="SI H3K4me3 K562" value="encodeSangerChipCenterH3K4me3K562"/> + <option name="SI H3ac GM06990" value="encodeSangerChipCenterH3acGM06990"/> + <option name="SI H3ac HeLa" value="encodeSangerChipCenterH3acHeLa"/> + <option name="SI H3ac K562" value="encodeSangerChipCenterH3acK562"/> + <option name="SI H4ac GM06990" value="encodeSangerChipCenterH4acGM06990"/> + <option name="SI H4ac HeLa" value="encodeSangerChipCenterH4acHeLa"/> + <option name="SI H4ac K562" value="encodeSangerChipCenterH4acK562"/> + </option> + <option name="Gencode Genes Mar07" value="encodeGencodeGeneMar07"/> + <option name="encodeNhgriDukeDnaseHs off" value="subtracks-encodeNhgriDukeDnaseHs off"> + <option name="DNase CD4 MS" value="encodeNhgriDnaseHsMpssCd4"/> + <option name="DNase CD4-act MS" value="encodeNhgriDnaseHsMpssCd4Act"/> + </option> + <option name="encodeNhgriDukeDnaseHs" value="subtracks-encodeNhgriDukeDnaseHs"> + <option name="DNase CD4 Pval" value="encodeNhgriDnaseHsChipPvalCd4"/> + <option name="DNase GM069 Pval" value="encodeNhgriDnaseHsChipPvalGm06990"/> + <option name="DNase H9 Pval" value="encodeNhgriDnaseHsChipPvalH9"/> + <option name="DNase HeLa Pval" value="encodeNhgriDnaseHsChipPvalHela"/> + <option name="DNase HepG2 Pval" value="encodeNhgriDnaseHsChipPvalHepG2"/> + <option name="DNase IMR90 Pval" value="encodeNhgriDnaseHsChipPvalImr90"/> + <option name="DNase K562 Pval" value="encodeNhgriDnaseHsChipPvalK562"/> + </option> + </option> + <option name="ENCODE Transcript Levels" value="group-encodeTxLevels"> + <option name="encodeYaleAffyRNATars" value="subtracks-encodeYaleAffyRNATars"> + <option name="Yale TAR NB4 RA" value="encodeYaleAffyNB4RARNATars"/> + <option name="Yale TAR NB4 TPA" value="encodeYaleAffyNB4TPARNATars"/> + <option name="Yale TAR NB4 Un" value="encodeYaleAffyNB4UntrRNATars"/> + <option name="Yale TAR Neutro" value="encodeYaleAffyNeutRNATars"/> + <option name="Yale TAR Plcnta" value="encodeYaleAffyPlacRNATars"/> + <option name="Yale TAR" value="encodeYaleAffyRNATars"/> + </option> + <option name="encodeYaleAffyRNATransMap" value="subtracks-encodeYaleAffyRNATransMap"> + <option name="Yale RNA NB4 RA" value="encodeYaleAffyNB4RARNATransMap"/> + <option name="Yale RNA NB4 TPA" value="encodeYaleAffyNB4TPARNATransMap"/> + <option name="Yale RNA NB4 Un" value="encodeYaleAffyNB4UntrRNATransMap"/> + <option name="Yale RNA Neutro" value="encodeYaleAffyNeutRNATransMap"/> + <option name="Yale RNA Plcnta" value="encodeYaleAffyPlacRNATransMap"/> + <option name="Yale RNA" value="encodeYaleAffyRNATransMap"/> + </option> + <option name="encodeAffyRnaSignal" value="subtracks-encodeAffyRnaSignal"> + <option name="Affy RNA GM06990" value="encodeAffyRnaGm06990Signal"/> + <option name="Affy RNA HeLa" value="encodeAffyRnaHeLaSignal"/> + <option name="Affy RNA RA 0h" value="encodeAffyRnaHl60SignalHr00"/> + <option name="Affy RNA RA 2h" value="encodeAffyRnaHl60SignalHr02"/> + <option name="Affy RNA RA 8h" value="encodeAffyRnaHl60SignalHr08"/> + <option name="Affy RNA RA 32h" value="encodeAffyRnaHl60SignalHr32"/> + <option name="Affy RNA Signal" value="encodeAffyRnaSignal"/> + </option> + <option name="encodeYaleMASPlacRNATransMap" value="subtracks-encodeYaleMASPlacRNATransMap"> + <option name="Yale NB4 NgF RNA" value="encodeYaleMASNB4RNANprotTMFWDMless36mer36bp"/> + <option name="Yale NB4 NgR RNA" value="encodeYaleMASNB4RNANprotTMREVMless36mer36bp"/> + <option name="Yale Plc NgF RNA" value="encodeYaleMASPlacRNANprotTMFWDMless36mer36bp"/> + <option name="Yale Plc NgR RNA" value="encodeYaleMASPlacRNANprotTMREVMless36mer36bp"/> + <option name="Yale MAS RNA" value="encodeYaleMASPlacRNATransMap"/> + <option name="Yale Plc BtF RNA" value="encodeYaleMASPlacRNATransMapFwdMless36mer36bp"/> + <option name="Yale Plc BtR RNA" value="encodeYaleMASPlacRNATransMapRevMless36mer36bp"/> + </option> + <option name="encodeBuFirstExon" value="subtracks-encodeBuFirstExon"> + <option name="BU First Exon" value="encodeBuFirstExon"/> + <option name="BU Cere. Cortex" value="encodeBuFirstExonCerebrum"/> + <option name="BU Colon" value="encodeBuFirstExonColon"/> + <option name="BU Heart" value="encodeBuFirstExonHeart"/> + <option name="BU Kidney" value="encodeBuFirstExonKidney"/> + <option name="BU Liver" value="encodeBuFirstExonLiver"/> + <option name="BU Lung" value="encodeBuFirstExonLung"/> + <option name="BU Skel. Muscle" value="encodeBuFirstExonSkMuscle"/> + <option name="BU Spleen" value="encodeBuFirstExonSpleen"/> + <option name="BU Stomach" value="encodeBuFirstExonStomach"/> + <option name="BU Testis" value="encodeBuFirstExonTestis"/> + </option> + <option name="encodeAffyEcSites" value="subtracks-encodeAffyEcSites"> + <option name="EC1 Sites BrainC" value="encodeAffyEc1BrainCerebellumSites"/> + <option name="EC1 Sites BrainF" value="encodeAffyEc1BrainFrontalLobeSites"/> + <option name="EC1 Sites Hippoc" value="encodeAffyEc1BrainHippocampusSites"/> + <option name="EC1 Sites BrainH" value="encodeAffyEc1BrainHypothalamusSites"/> + <option name="EC1 Sites FetalK" value="encodeAffyEc1FetalKidneySites"/> + <option name="EC1 Sites Spleen" value="encodeAffyEc1FetalSpleenSites"/> + <option name="EC1 Sites FetalT" value="encodeAffyEc1FetalTestisSites"/> + <option name="EC1 Sites GM0699" value="encodeAffyEc1GM06990Sites"/> + <option name="EC1 Sites HeLa" value="encodeAffyEc1HeLaC1S3Sites"/> + <option name="EC1 Sites HepG2" value="encodeAffyEc1HepG2Sites"/> + <option name="EC1 Sites K562" value="encodeAffyEc1K562Sites"/> + <option name="EC1 Sites Ovary" value="encodeAffyEc1OvarySites"/> + <option name="EC1 Sites Placen" value="encodeAffyEc1PlacentaSites"/> + <option name="EC1 Sites Prost" value="encodeAffyEc1ProstateSites"/> + <option name="EC1 Sites TertBJ" value="encodeAffyEc1TertBJSites"/> + <option name="EC1 Sites Testis" value="encodeAffyEc1TestisSites"/> + <option name="EC51 Sites BrainC" value="encodeAffyEc51BrainCerebellumSites"/> + <option name="EC51 Site BrainF" value="encodeAffyEc51BrainFrontalLobeSites"/> + <option name="EC51 Site Hippoc" value="encodeAffyEc51BrainHippocampusSites"/> + <option name="EC51 Sites BrainH" value="encodeAffyEc51BrainHypothalamusSites"/> + <option name="EC51 Site FetalK" value="encodeAffyEc51FetalKidneySites"/> + <option name="EC51 Site Spleen" value="encodeAffyEc51FetalSpleenSites"/> + <option name="EC51 Site FetalT" value="encodeAffyEc51FetalTestisSites"/> + <option name="EC51 Site GM0699" value="encodeAffyEc51GM06990Sites"/> + <option name="EC51 Site HeLa" value="encodeAffyEc51HeLaC1S3Sites"/> + <option name="EC51 Site HepG2" value="encodeAffyEc51HepG2Sites"/> + <option name="EC51 Site K562" value="encodeAffyEc51K562Sites"/> + <option name="EC51 Site Ovary" value="encodeAffyEc51OvarySites"/> + <option name="EC51 Site Placen" value="encodeAffyEc51PlacentaSites"/> + <option name="EC51 Site Prost" value="encodeAffyEc51ProstateSites"/> + <option name="EC51 Site TertBJ" value="encodeAffyEc51TertBJSites"/> + <option name="EC51 Site Testis" value="encodeAffyEc51TestisSites"/> + <option name="Affy EC Sites" value="encodeAffyEcSites"/> + </option> + <option name="encodeStanfordPromoters" value="subtracks-encodeStanfordPromoters"> + <option name="Stanf Promoter" value="encodeStanfordPromoters"/> + <option name="Stan Pro AGS" value="encodeStanfordPromotersAGS"/> + <option name="Stan Pro Average" value="encodeStanfordPromotersAverage"/> + <option name="Stan Pro Be2c" value="encodeStanfordPromotersBe2C"/> + <option name="Stan Pro CRL1690" value="encodeStanfordPromotersCRL1690"/> + <option name="Stan Pro G402" value="encodeStanfordPromotersG402"/> + <option name="Stan Pro HCT116" value="encodeStanfordPromotersHCT116"/> + <option name="Stan Pro HMCB" value="encodeStanfordPromotersHMCB"/> + <option name="Stan Pro HT1080" value="encodeStanfordPromotersHT1080"/> + <option name="Stan Pro HTB11" value="encodeStanfordPromotersHTB11"/> + <option name="Stan Pro Hela" value="encodeStanfordPromotersHela"/> + <option name="Stan Pro HepG2" value="encodeStanfordPromotersHepG2"/> + <option name="Stan Pro JEG3" value="encodeStanfordPromotersJEG3"/> + <option name="Stan Pro MG63" value="encodeStanfordPromotersMG63"/> + <option name="Stan Pro MRC5" value="encodeStanfordPromotersMRC5"/> + <option name="Stan Pro Panc1" value="encodeStanfordPromotersPanc1"/> + <option name="Stan Pro Snu182" value="encodeStanfordPromotersSnu182"/> + <option name="Stan Pro U87" value="encodeStanfordPromotersU87"/> + </option> + <option name="Affy RNA" value="encodeAffyRnaSuper"/> + <option name="Yale RNA" value="encodeYaleRnaSuper"/> + <option name="encodeAffyEcSignal" value="subtracks-encodeAffyEcSignal"> + <option name="EC1 Sgnl BrainC" value="encodeAffyEc1BrainCerebellumSignal"/> + <option name="EC1 Sgnl BrainF" value="encodeAffyEc1BrainFrontalLobeSignal"/> + <option name="EC1 Sgnl Hippoc" value="encodeAffyEc1BrainHippocampusSignal"/> + <option name="EC1 Sgnl BrainH" value="encodeAffyEc1BrainHypothalamusSignal"/> + <option name="EC1 Sgnl FetalK" value="encodeAffyEc1FetalKidneySignal"/> + <option name="EC1 Sgnl Spleen" value="encodeAffyEc1FetalSpleenSignal"/> + <option name="EC1 Sgnl FetalT" value="encodeAffyEc1FetalTestisSignal"/> + <option name="EC1 Sgnl GM0699" value="encodeAffyEc1GM06990Signal"/> + <option name="EC1 Sgnl HeLa" value="encodeAffyEc1HeLaC1S3Signal"/> + <option name="EC1 Sgnl HepG2" value="encodeAffyEc1HepG2Signal"/> + <option name="EC1 Sgnl K562" value="encodeAffyEc1K562Signal"/> + <option name="EC1 Sgnl Ovary" value="encodeAffyEc1OvarySignal"/> + <option name="EC1 Sgnl Placen" value="encodeAffyEc1PlacentaSignal"/> + <option name="EC1 Sgnl Prost" value="encodeAffyEc1ProstateSignal"/> + <option name="EC1 Sgnl TertBJ" value="encodeAffyEc1TertBJSignal"/> + <option name="EC1 Sgnl Testis" value="encodeAffyEc1TestisSignal"/> + <option name="EC51 Sgnl BrainC" value="encodeAffyEc51BrainCerebellumSignal"/> + <option name="EC51 Sgnl BrainF" value="encodeAffyEc51BrainFrontalLobeSignal"/> + <option name="EC51 Sgnl Hippoc" value="encodeAffyEc51BrainHippocampusSignal"/> + <option name="EC51 Sgnl BrainH" value="encodeAffyEc51BrainHypothalamusSignal"/> + <option name="EC51 Sgnl FetalK" value="encodeAffyEc51FetalKidneySignal"/> + <option name="EC51 Sgnl Spleen" value="encodeAffyEc51FetalSpleenSignal"/> + <option name="EC51 Sgnl FetalT" value="encodeAffyEc51FetalTestisSignal"/> + <option name="EC51 Sgnl GM0699" value="encodeAffyEc51GM06990Signal"/> + <option name="EC51 Sgnl HeLa" value="encodeAffyEc51HeLaC1S3Signal"/> + <option name="EC51 Sgnl HepG2" value="encodeAffyEc51HepG2Signal"/> + <option name="EC51 Sgnl K562" value="encodeAffyEc51K562Signal"/> + <option name="EC51 Sgnl Ovary" value="encodeAffyEc51OvarySignal"/> + <option name="EC51 Sgnl Placen" value="encodeAffyEc51PlacentaSignal"/> + <option name="EC51 Sgnl Prost" value="encodeAffyEc51ProstateSignal"/> + <option name="EC51 Sgnl TertBJ" value="encodeAffyEc51TertBJSignal"/> + <option name="EC51 Sgnl Testis" value="encodeAffyEc51TestisSignal"/> + <option name="Affy EC Signal" value="encodeAffyEcSignal"/> + </option> + <option name="Stanf RTPCR" value="encodeStanfordRtPcr"/> + <option name="encodeAffyRnaTransfrags" value="subtracks-encodeAffyRnaTransfrags"> + <option name="Affy RNA GM06990" value="encodeAffyRnaGm06990Sites"/> + <option name="Affy RNA HeLa" value="encodeAffyRnaHeLaSites"/> + <option name="Affy RNA RA 0h" value="encodeAffyRnaHl60SitesHr00"/> + <option name="Affy RNA RA 2h" value="encodeAffyRnaHl60SitesHr02"/> + <option name="Affy RNA RA 8h" value="encodeAffyRnaHl60SitesHr08"/> + <option name="Affy RNA RA 32h" value="encodeAffyRnaHl60SitesHr32"/> + <option name="Affy Transfrags" value="encodeAffyRnaTransfrags"/> + </option> + <option name="encodeYaleMASPlacRNATars" value="subtracks-encodeYaleMASPlacRNATars"> + <option name="Yale NB4 NgF TAR" value="encodeYaleMASNB4RNANProtTarsFWDMless36mer36bp"/> + <option name="Yale NB4 NgR TAR" value="encodeYaleMASNB4RNANProtTarsREVMless36mer36bp"/> + <option name="Yale Plc NgF TAR" value="encodeYaleMASPlacRNANprotTarsFWDMless36mer36bp"/> + <option name="Yale Plc NgR TAR" value="encodeYaleMASPlacRNANprotTarsREVMless36mer36bp"/> + <option name="Yale MAS TAR" value="encodeYaleMASPlacRNATars"/> + <option name="Yale Plc BtF TAR" value="encodeYaleMASPlacRNATarsFwdMless36mer36bp"/> + <option name="Yale Plc BtR TAR" value="encodeYaleMASPlacRNATarsRevMless36mer36bp"/> + </option> + <option name="Affy EC" value="encodeAffyEcSuper"/> + <option name="encodeRikenCage" value="subtracks-encodeRikenCage"> + <option name="Riken CAGE" value="encodeRikenCage"/> + <option name="Riken CAGE -" value="encodeRikenCageMinus"/> + <option name="Riken CAGE +" value="encodeRikenCagePlus"/> + </option> + </option> + <option name="ENCODE Chromatin Immunoprecipitation" value="group-encodeChip"> + <option name="encodeAffyChIpHl60SignalStrict" value="subtracks-encodeAffyChIpHl60SignalStrict"> + <option name="Affy Strict Sig" value="encodeAffyChIpHl60SignalStrict"/> + <option name="Affy H3K9ac2 0h" value="encodeAffyChIpHl60SignalStrictH3K9K14DHr00"/> + <option name="Affy H3K9ac2 2h" value="encodeAffyChIpHl60SignalStrictH3K9K14DHr02"/> + <option name="Affy H3K9ac2 8h" value="encodeAffyChIpHl60SignalStrictH3K9K14DHr08"/> + <option name="Affy H3K9ac2 32h" value="encodeAffyChIpHl60SignalStrictH3K9K14DHr32"/> + <option name="Affy H4Kac4 0h" value="encodeAffyChIpHl60SignalStrictHisH4Hr00"/> + <option name="Affy H4Kac4 2h" value="encodeAffyChIpHl60SignalStrictHisH4Hr02"/> + <option name="Affy H4Kac4 8h" value="encodeAffyChIpHl60SignalStrictHisH4Hr08"/> + <option name="Affy H4Kac4 32h" value="encodeAffyChIpHl60SignalStrictHisH4Hr32"/> + <option name="Affy Pol2 0h" value="encodeAffyChIpHl60SignalStrictPol2Hr00"/> + <option name="Affy Pol2 2h" value="encodeAffyChIpHl60SignalStrictPol2Hr02"/> + <option name="Affy Pol2 8h" value="encodeAffyChIpHl60SignalStrictPol2Hr08"/> + <option name="Affy Pol2 32h" value="encodeAffyChIpHl60SignalStrictPol2Hr32"/> + <option name="Affy p63 ME-180+" value="encodeAffyChIpHl60SignalStrictp63_ActD"/> + <option name="Affy p63 ME-180" value="encodeAffyChIpHl60SignalStrictp63_mActD"/> + </option> + <option name="Stanf ChIP" value="encodeStanfordChipSuper"/> + <option name="encodeYaleChIPSTAT1Pval" value="subtracks-encodeYaleChIPSTAT1Pval"> + <option name="Yale LI PVal" value="encodeYaleChIPSTAT1HeLaBingRenPval"/> + <option name="Yale 36-36 PVal" value="encodeYaleChIPSTAT1HeLaMaskLess36mer36bpPval"/> + <option name="Yale 50-38 PVal" value="encodeYaleChIPSTAT1HeLaMaskLess50mer38bpPval"/> + <option name="Yale 50-50 PVal" value="encodeYaleChIPSTAT1HeLaMaskLess50mer50bpPval"/> + <option name="Yale STAT1 pVal" value="encodeYaleChIPSTAT1Pval"/> + </option> + <option name="encodeUtexStage" value="subtracks-encodeUtexStage"> + <option name="UT-Austin STAGE" value="encodeUtexStage"/> + <option name="UT Myc HeLa Tags" value="encodeUtexStageCMycHelaTags"/> + <option name="UT STAT1 HeLa Tags" value="encodeUtexStageStat1HelaTags"/> + </option> + <option name="Sanger ChIP-chip" value="encodeSangerChipSuper"/> + <option name="encodeLIChIP" value="subtracks-encodeLIChIP"> + <option name="LI ChIP Various" value="encodeLIChIP"/> + <option name="LI H3ac IMR90" value="encodeUcsdChipAch3Imr90_f"/> + <option name="LI H3K27me3 HeLa" value="encodeUcsdChipH3K27me3"/> + <option name="LI SUZ12 HeLa" value="encodeUcsdChipH3K27me3Suz12"/> + <option name="LI H3K4me2 IMR90" value="encodeUcsdChipMeh3k4Imr90_f"/> + <option name="LI Pol2 HCT116" value="encodeUcsdChipRnapHct116_f"/> + <option name="LI Pol2 HeLa" value="encodeUcsdChipRnapHela_f"/> + <option name="LI Pol2 IMR90" value="encodeUcsdChipRnapImr90_f"/> + <option name="LI Pol2 THP1" value="encodeUcsdChipRnapThp1_f"/> + <option name="LI TAF1 HCT116" value="encodeUcsdChipTaf250Hct116_f"/> + <option name="LI TAF1 HeLa" value="encodeUcsdChipTaf250Hela_f"/> + <option name="LI TAF1 IMR90" value="encodeUcsdChipTaf250Imr90_f"/> + <option name="LI TAF1 THP1" value="encodeUcsdChipTaf250Thp1_f"/> + </option> + <option name="encodeUtexChip" value="subtracks-encodeUtexChip"> + <option name="UT-Austin ChIP" value="encodeUtexChip"/> + <option name="UT E2F4 st-Fb Pk" value="encodeUtexChip2091fibE2F4Peaks"/> + <option name="UT E2F4 Fb" value="encodeUtexChip2091fibE2F4Raw"/> + <option name="UT Myc Fb Pk" value="encodeUtexChip2091fibMycPeaks"/> + <option name="UT Myc Fb" value="encodeUtexChip2091fibMycRaw"/> + <option name="UT Myc st-Fb Pk" value="encodeUtexChip2091fibMycStimPeaks"/> + <option name="UT Myc st-Fb" value="encodeUtexChip2091fibMycStimRaw"/> + <option name="UT Myc HeLa Pk" value="encodeUtexChipHeLaMycPeaks"/> + <option name="UT Myc HeLa" value="encodeUtexChipHeLaMycRaw"/> + </option> + <option name="encodeYaleChipSig" value="subtracks-encodeYaleChipSig"> + <option name="Yale ChIP Signal" value="encodeYaleChipSig"/> + <option name="YU BAF155 HeLa S" value="encodeYaleChipSignalBaf155"/> + <option name="YU BAF155 K562 S" value="encodeYaleChipSignalBaf155K562"/> + <option name="YU BAF170 HeLa S" value="encodeYaleChipSignalBaf170"/> + <option name="YU BAF170 K562 S" value="encodeYaleChipSignalBaf170K562"/> + <option name="YU BAF47 K562 S" value="encodeYaleChipSignalBaf47K562"/> + <option name="YU c-Fos HeLa S" value="encodeYaleChipSignalFos"/> + <option name="YU H3K27me3 HeLa S" value="encodeYaleChipSignalH3k27me3Hela"/> + <option name="YU H4Kac4 GM S" value="encodeYaleChipSignalH4kac4Gm06990"/> + <option name="YU H4Kac4 HeLa S" value="encodeYaleChipSignalH4kac4Hela"/> + <option name="YU c-Jun HeLa S" value="encodeYaleChipSignalJun"/> + <option name="YU NRSF HeLa S" value="encodeYaleChipSignalNrsfHela"/> + <option name="YU P65-C HeLa TNF S" value="encodeYaleChipSignalP65cHelaTnfa"/> + <option name="YU P65-N HeLa TNF S" value="encodeYaleChipSignalP65nHelaTnfa"/> + <option name="YU Pol2 GM S" value="encodeYaleChipSignalPol2Gm06990"/> + <option name="YU Pol2 HeLa S" value="encodeYaleChipSignalPol2Hela"/> + <option name="YU Pol2N GM S" value="encodeYaleChipSignalPol2nGm06990"/> + <option name="YU Pol2N HeLa S" value="encodeYaleChipSignalPol2nHela"/> + <option name="YU SMARCA4 HeLa S" value="encodeYaleChipSignalSmarca4Hela"/> + <option name="YU SMARCA6 HeLa S" value="encodeYaleChipSignalSmarca6Hela"/> + <option name="YU STAT1 HeLa IF S" value="encodeYaleChipSignalStat1HelaIfna"/> + <option name="YU TAF1 HeLa S" value="encodeYaleChipSignalTaf"/> + </option> + <option name="Uppsala ChIP" value="encodeUppsalaChipSuper"/> + <option name="encodeUppsalaChip" value="subtracks-encodeUppsalaChip"> + <option name="Uppsala ChIP" value="encodeUppsalaChip"/> + <option name="UU H3ac HepG2" value="encodeUppsalaChipAch3"/> + <option name="UU HNF-3b HepG2" value="encodeUppsalaChipHnf3b"/> + <option name="UU HNF-4a HepG2" value="encodeUppsalaChipHnf4a"/> + <option name="UU USF-1 HepG2" value="encodeUppsalaChipUsf1"/> + </option> + <option name="encodeUcDavisChipHits" value="subtracks-encodeUcDavisChipHits"> + <option name="UCD Ng ChIP Hits" value="encodeUcDavisChipHits"/> + <option name="UCD E2F1 Hits" value="encodeUcDavisChipHitsE2F1"/> + <option name="UCD c-Myc Hits" value="encodeUcDavisChipHitsMyc"/> + </option> + <option name="encodeUppsalaChipBut" value="subtracks-encodeUppsalaChipBut"> + <option name="Uppsala ChIP Buty" value="encodeUppsalaChipBut"/> + <option name="UU H3ac HepG2 0h" value="encodeUppsalaChipH3acBut0h"/> + <option name="UU H3ac HepG2 12h" value="encodeUppsalaChipH3acBut12h"/> + <option name="UU H4ac HepG2 0h" value="encodeUppsalaChipH4acBut0h"/> + <option name="UU H4ac HepG2 12h" value="encodeUppsalaChipH4acBut12h"/> + </option> + <option name="encodeYaleChipSites" value="subtracks-encodeYaleChipSites"> + <option name="Yale ChIP Sites" value="encodeYaleChipSites"/> + <option name="YU BAF155 HeLa" value="encodeYaleChipSitesBaf155"/> + <option name="YU BAF155 K562" value="encodeYaleChipSitesBaf155K562"/> + <option name="YU BAF170 HeLa" value="encodeYaleChipSitesBaf170"/> + <option name="YU BAF170 K562" value="encodeYaleChipSitesBaf170K562"/> + <option name="YU BAF47 K562" value="encodeYaleChipSitesBaf47K562"/> + <option name="YU c-Fos HeLa" value="encodeYaleChipSitesFos"/> + <option name="YU H3K27me3 HeLa" value="encodeYaleChipSitesH3k27me3Hela"/> + <option name="YU H4Kac4 GM" value="encodeYaleChipSitesH4kac4Gm06990"/> + <option name="YU H4Kac4 HeLa" value="encodeYaleChipSitesH4kac4Hela"/> + <option name="YU c-Jun HeLa" value="encodeYaleChipSitesJun"/> + <option name="YU NRSF HeLa" value="encodeYaleChipSitesNrsfHela"/> + <option name="YU P65-C HeLa TNF" value="encodeYaleChipSitesP65cHelaTnfa"/> + <option name="YU P65-N HeLa TNF" value="encodeYaleChipSitesP65nHelaTnfa"/> + <option name="YU Pol2 GM" value="encodeYaleChipSitesPol2Gm06990"/> + <option name="YU Pol2 HeLa" value="encodeYaleChipSitesPol2Hela"/> + <option name="YU Pol2N GM" value="encodeYaleChipSitesPol2nGm06990"/> + <option name="YU Pol2N HeLa" value="encodeYaleChipSitesPol2nHela"/> + <option name="YU SMARCA4 HeLa" value="encodeYaleChipSitesSmarca4Hela"/> + <option name="YU SMARCA6 HeLa" value="encodeYaleChipSitesSmarca6Hela"/> + <option name="YU STAT1 HeLa IF" value="encodeYaleChipSitesStat1HelaIfna"/> + <option name="YU TAF1 HeLa" value="encodeYaleChipSitesTaf"/> + </option> + <option name="encodeLIChIPgIF" value="subtracks-encodeLIChIPgIF"> + <option name="LI gIF ChIP" value="encodeLIChIPgIF"/> + <option name="LI Pol2 -gIF" value="encodeUcsdChipHeLaH3H4RNAP_p0"/> + <option name="LI Pol2 +gIF" value="encodeUcsdChipHeLaH3H4RNAP_p30"/> + <option name="LI TAF1 -gIF" value="encodeUcsdChipHeLaH3H4TAF250_p0"/> + <option name="LI TAF1 +gIF" value="encodeUcsdChipHeLaH3H4TAF250_p30"/> + <option name="LI H3ac -gIF" value="encodeUcsdChipHeLaH3H4acH3_p0"/> + <option name="LI H3ac +gIF" value="encodeUcsdChipHeLaH3H4acH3_p30"/> + <option name="LI H4ac -gIF" value="encodeUcsdChipHeLaH3H4acH4_p0"/> + <option name="LI H4ac +gIF" value="encodeUcsdChipHeLaH3H4acH4_p30"/> + <option name="LI H3K4me2 -gIF" value="encodeUcsdChipHeLaH3H4dmH3K4_p0"/> + <option name="LI H3K4me2 +gIF" value="encodeUcsdChipHeLaH3H4dmH3K4_p30"/> + <option name="LI STAT1 -gIF" value="encodeUcsdChipHeLaH3H4stat1_p0"/> + <option name="LI STAT1 +gIF" value="encodeUcsdChipHeLaH3H4stat1_p30"/> + <option name="LI H3K4me3 -gIF" value="encodeUcsdChipHeLaH3H4tmH3K4_p0"/> + <option name="LI H3K4me3 +gIF" value="encodeUcsdChipHeLaH3H4tmH3K4_p30"/> + </option> + <option name="Yale WG ChIP-seq" value="wgEncodeYaleChipSeqSuper"/> + <option name="encodeStanfordChipSmoothed" value="subtracks-encodeStanfordChipSmoothed"> + <option name="Stanf ChIP Score" value="encodeStanfordChipSmoothed"/> + <option name="Stan Sc HCT116 Sp1" value="encodeStanfordChipSmoothedHCT116Sp1"/> + <option name="Stan Sc HCT116 Sp3" value="encodeStanfordChipSmoothedHCT116Sp3"/> + <option name="Stan Sc Jurkat Sp1" value="encodeStanfordChipSmoothedJurkatSp1"/> + <option name="Stan Sc Jurkat Sp3" value="encodeStanfordChipSmoothedJurkatSp3"/> + <option name="Stan Sc K562 Sp1" value="encodeStanfordChipSmoothedK562Sp1"/> + <option name="Stan Sc K562 Sp3" value="encodeStanfordChipSmoothedK562Sp3"/> + </option> + <option name="encodeYaleChIPSTAT1Sites" value="subtracks-encodeYaleChIPSTAT1Sites"> + <option name="Yale LI Sites" value="encodeYaleChIPSTAT1HeLaBingRenSites"/> + <option name="Yale 36-36 Sites" value="encodeYaleChIPSTAT1HeLaMaskLess36mer36bpSite"/> + <option name="Yale 50-38 Sites" value="encodeYaleChIPSTAT1HeLaMaskLess50mer38bpSite"/> + <option name="Yale 50-50 Sites" value="encodeYaleChIPSTAT1HeLaMaskLess50mer50bpSite"/> + <option name="Yale STAT1 Sites" value="encodeYaleChIPSTAT1Sites"/> + </option> + <option name="Affy ChIP" value="encodeAffyChipSuper"/> + <option name="encodeStanfordChip" value="subtracks-encodeStanfordChip"> + <option name="Stanf ChIP" value="encodeStanfordChip"/> + <option name="Stan HCT116 Sp1" value="encodeStanfordChipHCT116Sp1"/> + <option name="Stan HCT116 Sp3" value="encodeStanfordChipHCT116Sp3"/> + <option name="Stan Jurkat Sp1" value="encodeStanfordChipJurkatSp1"/> + <option name="Stan Jurkat Sp3" value="encodeStanfordChipJurkatSp3"/> + <option name="Stan K562 Sp1" value="encodeStanfordChipK562Sp1"/> + <option name="Stan K562 Sp3" value="encodeStanfordChipK562Sp3"/> + </option> + <option name="encodeAffyChIpHl60SitesStrict" value="subtracks-encodeAffyChIpHl60SitesStrict"> + <option name="Affy Strict Sites" value="encodeAffyChIpHl60SitesStrict"/> + <option name="Affy H3K9ac2 0h" value="encodeAffyChIpHl60SitesStrictH3K9K14DHr00"/> + <option name="Affy H3K9ac2 2h" value="encodeAffyChIpHl60SitesStrictH3K9K14DHr02"/> + <option name="Affy H3K9ac2 8h" value="encodeAffyChIpHl60SitesStrictH3K9K14DHr08"/> + <option name="Affy H3K9ac2 32h" value="encodeAffyChIpHl60SitesStrictH3K9K14DHr32"/> + <option name="Affy H4Kac4 0h" value="encodeAffyChIpHl60SitesStrictHisH4Hr00"/> + <option name="Affy H4Kac4 2h" value="encodeAffyChIpHl60SitesStrictHisH4Hr02"/> + <option name="Affy H4Kac4 8h" value="encodeAffyChIpHl60SitesStrictHisH4Hr08"/> + <option name="Affy H4Kac4 32h" value="encodeAffyChIpHl60SitesStrictHisH4Hr32"/> + <option name="Affy p63 ME-180+" value="encodeAffyChIpHl60SitesStrictP63_ActD"/> + <option name="Affy p63 ME-180" value="encodeAffyChIpHl60SitesStrictP63_mActD"/> + <option name="Affy Pol2 0h" value="encodeAffyChIpHl60SitesStrictRnapHr00"/> + <option name="Affy Pol2 2h" value="encodeAffyChIpHl60SitesStrictRnapHr02"/> + <option name="Affy Pol2 8h" value="encodeAffyChIpHl60SitesStrictRnapHr08"/> + <option name="Affy Pol2 32h" value="encodeAffyChIpHl60SitesStrictRnapHr32"/> + </option> + <option name="encodeAffyChIpHl60Pval" value="subtracks-encodeAffyChIpHl60Pval"> + <option name="Affy pVal" value="encodeAffyChIpHl60Pval"/> + <option name="Affy Brg1 RA 0h" value="encodeAffyChIpHl60PvalBrg1Hr00"/> + <option name="Affy Brg1 RA 2h" value="encodeAffyChIpHl60PvalBrg1Hr02"/> + <option name="Affy Brg1 RA 8h" value="encodeAffyChIpHl60PvalBrg1Hr08"/> + <option name="Affy Brg1 RA 32h" value="encodeAffyChIpHl60PvalBrg1Hr32"/> + <option name="Affy CEBPe RA 0h" value="encodeAffyChIpHl60PvalCebpeHr00"/> + <option name="Affy CEBPe RA 2h" value="encodeAffyChIpHl60PvalCebpeHr02"/> + <option name="Affy CEBPe RA 8h" value="encodeAffyChIpHl60PvalCebpeHr08"/> + <option name="Affy CEBPe RA 32h" value="encodeAffyChIpHl60PvalCebpeHr32"/> + <option name="Affy CTCF RA 0h" value="encodeAffyChIpHl60PvalCtcfHr00"/> + <option name="Affy CTCF RA 2h" value="encodeAffyChIpHl60PvalCtcfHr02"/> + <option name="Affy CTCF RA 8h" value="encodeAffyChIpHl60PvalCtcfHr08"/> + <option name="Affy CTCF RA 32h" value="encodeAffyChIpHl60PvalCtcfHr32"/> + <option name="Affy H3K27me3 RA 0h" value="encodeAffyChIpHl60PvalH3K27me3Hr00"/> + <option name="Affy H3K27me3 RA 2h" value="encodeAffyChIpHl60PvalH3K27me3Hr02"/> + <option name="Affy H3K27me3 RA 8h" value="encodeAffyChIpHl60PvalH3K27me3Hr08"/> + <option name="Affy H3K27me3 RA 32h" value="encodeAffyChIpHl60PvalH3K27me3Hr32"/> + <option name="Affy H4Kac4 RA 0h" value="encodeAffyChIpHl60PvalH4Kac4Hr00"/> + <option name="Affy H4Kac4 RA 2h" value="encodeAffyChIpHl60PvalH4Kac4Hr02"/> + <option name="Affy H4Kac4 RA 8h" value="encodeAffyChIpHl60PvalH4Kac4Hr08"/> + <option name="Affy H4Kac4 RA 32h" value="encodeAffyChIpHl60PvalH4Kac4Hr32"/> + <option name="Affy P300 RA 0h" value="encodeAffyChIpHl60PvalP300Hr00"/> + <option name="Affy P300 RA 2h" value="encodeAffyChIpHl60PvalP300Hr02"/> + <option name="Affy P300 RA 8h" value="encodeAffyChIpHl60PvalP300Hr08"/> + <option name="Affy P300 RA 32h" value="encodeAffyChIpHl60PvalP300Hr32"/> + <option name="Affy PU1 RA 0h" value="encodeAffyChIpHl60PvalPu1Hr00"/> + <option name="Affy PU1 RA 2h" value="encodeAffyChIpHl60PvalPu1Hr02"/> + <option name="Affy PU1 RA 8h" value="encodeAffyChIpHl60PvalPu1Hr08"/> + <option name="Affy PU1 RA 32h" value="encodeAffyChIpHl60PvalPu1Hr32"/> + <option name="Affy RARA RA 0h" value="encodeAffyChIpHl60PvalRaraHr00"/> + <option name="Affy RARA RA 2h" value="encodeAffyChIpHl60PvalRaraHr02"/> + <option name="Affy RARA RA 8h" value="encodeAffyChIpHl60PvalRaraHr08"/> + <option name="Affy RARA RA 32h" value="encodeAffyChIpHl60PvalRaraHr32"/> + <option name="Affy Pol2 RA 0h" value="encodeAffyChIpHl60PvalRnapHr00"/> + <option name="Affy Pol2 RA 2h" value="encodeAffyChIpHl60PvalRnapHr02"/> + <option name="Affy Pol2 RA 8h" value="encodeAffyChIpHl60PvalRnapHr08"/> + <option name="Affy Pol2 RA 32h" value="encodeAffyChIpHl60PvalRnapHr32"/> + <option name="Affy SIRT1 RA 0h" value="encodeAffyChIpHl60PvalSirt1Hr00"/> + <option name="Affy SIRT1 RA 2h" value="encodeAffyChIpHl60PvalSirt1Hr02"/> + <option name="Affy SIRT1 RA 8h" value="encodeAffyChIpHl60PvalSirt1Hr08"/> + <option name="Affy SIRT1 RA 32h" value="encodeAffyChIpHl60PvalSirt1Hr32"/> + <option name="Affy TFIIB RA 32h" value="encodeAffyChIpHl60PvalTfiibHr32"/> + </option> + <option name="encodeYaleChipRfbr" value="subtracks-encodeYaleChipRfbr"> + <option name="Yale ChIP RFBR" value="encodeYaleChipRfbr"/> + <option name="Yale RFBR Clusters" value="encodeYaleChipRfbrClusters"/> + <option name="Yale RFBR Deserts" value="encodeYaleChipRfbrDeserts"/> + </option> + <option name="encodeSangerChip" value="subtracks-encodeSangerChip"> + <option name="Sanger ChIP" value="encodeSangerChip"/> + <option name="SI CTCF GM06990" value="encodeSangerChipCTCF"/> + <option name="SI H3K27me3 GM06990" value="encodeSangerChipH3K27me3"/> + <option name="SI H3K36me3 GM06990" value="encodeSangerChipH3K36me3"/> + <option name="SI H3K4m1 GM6990" value="encodeSangerChipH3K4me1"/> + <option name="SI H3K4me1 HFL-1" value="encodeSangerChipH3K4me1HFL1"/> + <option name="SI H3K4me1 HeLa" value="encodeSangerChipH3K4me1HeLa"/> + <option name="SI H3K4me1 MOLT4" value="encodeSangerChipH3K4me1Molt4"/> + <option name="SI H3K4me1 PTR8" value="encodeSangerChipH3K4me1Ptr8"/> + <option name="SI H3K4m2 GM6990" value="encodeSangerChipH3K4me2"/> + <option name="SI H3K4me2 HFL-1" value="encodeSangerChipH3K4me2HFL1"/> + <option name="SI H3K4me2 HeLa" value="encodeSangerChipH3K4me2HeLa"/> + <option name="SI H3K4me2 K562" value="encodeSangerChipH3K4me2K562"/> + <option name="SI H3K4me2 MOLT4" value="encodeSangerChipH3K4me2Molt4"/> + <option name="SI H3K4me2 PTR8" value="encodeSangerChipH3K4me2Ptr8"/> + <option name="SI H3K4m3 GM6990" value="encodeSangerChipH3K4me3"/> + <option name="SI H3K4me3 HFL-1" value="encodeSangerChipH3K4me3HFL1"/> + <option name="SI H3K4me3 HeLa" value="encodeSangerChipH3K4me3HeLa"/> + <option name="SI H3K4me3 K562" value="encodeSangerChipH3K4me3K562"/> + <option name="SI H3K4me3 MOLT4" value="encodeSangerChipH3K4me3Molt4"/> + <option name="SI H3K4me3 PTR8" value="encodeSangerChipH3K4me3Ptr8"/> + <option name="SI H3K79me3 GM06990" value="encodeSangerChipH3K79me3"/> + <option name="SI H3K9me3 GM06990" value="encodeSangerChipH3K9me3"/> + <option name="SI H3ac GM06990" value="encodeSangerChipH3ac"/> + <option name="SI H3ac HFL-1" value="encodeSangerChipH3acHFL1"/> + <option name="SI H3ac HeLa" value="encodeSangerChipH3acHeLa"/> + <option name="SI H3ac K562" value="encodeSangerChipH3acK562"/> + <option name="SI H3ac MOLT4" value="encodeSangerChipH3acMolt4"/> + <option name="SI H4ac GM06990" value="encodeSangerChipH4ac"/> + <option name="SI H4ac HFL-1" value="encodeSangerChipH4acHFL1"/> + <option name="SI H4ac HeLa" value="encodeSangerChipH4acHeLa"/> + <option name="SI H4ac K562" value="encodeSangerChipH4acK562"/> + <option name="SI H4ac MOLT4" value="encodeSangerChipH4acMolt4"/> + </option> + <option name="encodeAffyChIpHl60Sites" value="subtracks-encodeAffyChIpHl60Sites"> + <option name="Affy Sites" value="encodeAffyChIpHl60Sites"/> + <option name="Affy Brg1 RA 0h" value="encodeAffyChIpHl60SitesBrg1Hr00"/> + <option name="Affy Brg1 RA 2h" value="encodeAffyChIpHl60SitesBrg1Hr02"/> + <option name="Affy Brg1 RA 8h" value="encodeAffyChIpHl60SitesBrg1Hr08"/> + <option name="Affy Brg1 RA 32h" value="encodeAffyChIpHl60SitesBrg1Hr32"/> + <option name="Affy CEBPe RA 0h" value="encodeAffyChIpHl60SitesCebpeHr00"/> + <option name="Affy CEBPe RA 2h" value="encodeAffyChIpHl60SitesCebpeHr02"/> + <option name="Affy CEBPe RA 8h" value="encodeAffyChIpHl60SitesCebpeHr08"/> + <option name="Affy CEBPe RA 32h" value="encodeAffyChIpHl60SitesCebpeHr32"/> + <option name="Affy CTCF RA 0h" value="encodeAffyChIpHl60SitesCtcfHr00"/> + <option name="Affy CTCF RA 2h" value="encodeAffyChIpHl60SitesCtcfHr02"/> + <option name="Affy CTCF RA 8h" value="encodeAffyChIpHl60SitesCtcfHr08"/> + <option name="Affy CTCF RA 32h" value="encodeAffyChIpHl60SitesCtcfHr32"/> + <option name="Affy H3K27me3 RA 0h" value="encodeAffyChIpHl60SitesH3K27me3Hr00"/> + <option name="Affy H3K27me3 RA 2h" value="encodeAffyChIpHl60SitesH3K27me3Hr02"/> + <option name="Affy H3K27me3 RA 8h" value="encodeAffyChIpHl60SitesH3K27me3Hr08"/> + <option name="Affy H3K27me3 RA 32h" value="encodeAffyChIpHl60SitesH3K27me3Hr32"/> + <option name="Affy H4Kac4 RA 0h" value="encodeAffyChIpHl60SitesH4Kac4Hr00"/> + <option name="Affy H4Kac4 RA 2h" value="encodeAffyChIpHl60SitesH4Kac4Hr02"/> + <option name="Affy H4Kac4 RA 8h" value="encodeAffyChIpHl60SitesH4Kac4Hr08"/> + <option name="Affy H4Kac4 RA 32h" value="encodeAffyChIpHl60SitesH4Kac4Hr32"/> + <option name="Affy P300 RA 0h" value="encodeAffyChIpHl60SitesP300Hr00"/> + <option name="Affy P300 RA 2h" value="encodeAffyChIpHl60SitesP300Hr02"/> + <option name="Affy P300 RA 8h" value="encodeAffyChIpHl60SitesP300Hr08"/> + <option name="Affy P300 RA 32h" value="encodeAffyChIpHl60SitesP300Hr32"/> + <option name="Affy PU1 RA 0h" value="encodeAffyChIpHl60SitesPu1Hr00"/> + <option name="Affy PU1 RA 2h" value="encodeAffyChIpHl60SitesPu1Hr02"/> + <option name="Affy PU1 RA 8h" value="encodeAffyChIpHl60SitesPu1Hr08"/> + <option name="Affy PU1 RA 32h" value="encodeAffyChIpHl60SitesPu1Hr32"/> + <option name="Affy RARA RA 0h" value="encodeAffyChIpHl60SitesRaraHr00"/> + <option name="Affy RARA RA 2h" value="encodeAffyChIpHl60SitesRaraHr02"/> + <option name="Affy RARA RA 8h" value="encodeAffyChIpHl60SitesRaraHr08"/> + <option name="Affy RARA RA 32h" value="encodeAffyChIpHl60SitesRaraHr32"/> + <option name="Affy Pol2 RA 0h" value="encodeAffyChIpHl60SitesRnapHr00"/> + <option name="Affy Pol2 RA 2h" value="encodeAffyChIpHl60SitesRnapHr02"/> + <option name="Affy Pol2 RA 8h" value="encodeAffyChIpHl60SitesRnapHr08"/> + <option name="Affy Pol2 RA 32h" value="encodeAffyChIpHl60SitesRnapHr32"/> + <option name="Affy SIRT1 RA 0h" value="encodeAffyChIpHl60SitesSirt1Hr00"/> + <option name="Affy SIRT1 RA 2h" value="encodeAffyChIpHl60SitesSirt1Hr02"/> + <option name="Affy SIRT1 RA 8h" value="encodeAffyChIpHl60SitesSirt1Hr08"/> + <option name="Affy SIRT1 RA 32h" value="encodeAffyChIpHl60SitesSirt1Hr32"/> + <option name="Affy TFIIB RA 32h" value="encodeAffyChIpHl60SitesTfiibHr32"/> + </option> + <option name="Yale ChIP" value="encodeYaleChipSuper"/> + <option name="encodeUcsdNgGif" value="subtracks-encodeUcsdNgGif"> + <option name="LI Ng gIF ChIP" value="encodeUcsdNgGif"/> + <option name="LI H3ac -gIF" value="encodeUcsdNgHeLaAcH3_p0"/> + <option name="LI H3ac -gIF Pk" value="encodeUcsdNgHeLaAcH3_p0_peak"/> + <option name="LI H3ac +gIF" value="encodeUcsdNgHeLaAcH3_p30"/> + <option name="LI H3ac +gIF Pk" value="encodeUcsdNgHeLaAcH3_p30_peak"/> + <option name="LI H4ac -gIF" value="encodeUcsdNgHeLaAcH4_p0"/> + <option name="LI H4ac -gIF Pk" value="encodeUcsdNgHeLaAcH4_p0_peak"/> + <option name="LI H3K4me2 -gIF" value="encodeUcsdNgHeLaDmH3K4_p0"/> + <option name="LI H3K4m2 -IF Pk" value="encodeUcsdNgHeLaDmH3K4_p0_peak"/> + <option name="LI H3K4me2 +gIF" value="encodeUcsdNgHeLaDmH3K4_p30"/> + <option name="LI H3K4m2 +IF Pk" value="encodeUcsdNgHeLaDmH3K4_p30_peak"/> + <option name="LI H3K4me3 -gIF" value="encodeUcsdNgHeLaH3K4me3_p0"/> + <option name="LI H3K4m3 +gIF" value="encodeUcsdNgHeLaH3K4me3_p30"/> + <option name="LI Pol2 -gIF" value="encodeUcsdNgHeLaRnap_p0"/> + <option name="LI Pol2 +gIF" value="encodeUcsdNgHeLaRnap_p30"/> + <option name="LI STAT1 +gIF" value="encodeUcsdNgHeLaStat1_p30"/> + <option name="LI STAT1 +gIF Pk" value="encodeUcsdNgHeLaStat1_p30_peak"/> + </option> + <option name="encodeYaleChipPval" value="subtracks-encodeYaleChipPval"> + <option name="Yale ChIP pVal" value="encodeYaleChipPval"/> + <option name="YU BAF155 HeLa P" value="encodeYaleChipPvalBaf155"/> + <option name="YU BAF155 K562 P" value="encodeYaleChipPvalBaf155K562"/> + <option name="YU BAF170 HeLa P" value="encodeYaleChipPvalBaf170"/> + <option name="YU BAF170 K562 P" value="encodeYaleChipPvalBaf170K562"/> + <option name="YU BAF47 K562 P" value="encodeYaleChipPvalBaf47K562"/> + <option name="YU c-Fos HeLa P" value="encodeYaleChipPvalFos"/> + <option name="YU H3K27me3 HeLa P" value="encodeYaleChipPvalH3k27me3Hela"/> + <option name="YU H4Kac4 GM P" value="encodeYaleChipPvalH4kac4Gm06990"/> + <option name="YU H4Kac4 HeLa P" value="encodeYaleChipPvalH4kac4Hela"/> + <option name="YU c-Jun HeLa P" value="encodeYaleChipPvalJun"/> + <option name="YU NRSF HeLa P" value="encodeYaleChipPvalNrsfHela"/> + <option name="YU P65-C HeLa TNF P" value="encodeYaleChipPvalP65cHelaTnfa"/> + <option name="YU P65-N HeLa TNF P" value="encodeYaleChipPvalP65nHelaTnfa"/> + <option name="YU Pol2 GM P" value="encodeYaleChipPvalPol2Gm06990"/> + <option name="YU Pol2 HeLa P" value="encodeYaleChipPvalPol2Hela"/> + <option name="YU Pol2N GM P" value="encodeYaleChipPvalPol2nGm06990"/> + <option name="YU Pol2N HeLa P" value="encodeYaleChipPvalPol2nHela"/> + <option name="YU SMARCA4 HeLa P" value="encodeYaleChipPvalSmarca4Hela"/> + <option name="YU SMARCA6 HeLa P" value="encodeYaleChipPvalSmarca6Hela"/> + <option name="YU STAT1 HeLa IF P" value="encodeYaleChipPvalStat1HelaIfna"/> + <option name="YU TAF1 HeLa P" value="encodeYaleChipPvalTaf"/> + </option> + <option name="UT-Austin ChIP" value="encodeUtexChipSuper"/> + <option name="encodeAffyChIpHl60PvalStrict" value="subtracks-encodeAffyChIpHl60PvalStrict"> + <option name="Affy Strict pVal" value="encodeAffyChIpHl60PvalStrict"/> + <option name="Affy H3K9ac2 0h" value="encodeAffyChIpHl60PvalStrictH3K9K14DHr00"/> + <option name="Affy H3K9ac2 2h" value="encodeAffyChIpHl60PvalStrictH3K9K14DHr02"/> + <option name="Affy H3K9ac2 8h" value="encodeAffyChIpHl60PvalStrictH3K9K14DHr08"/> + <option name="Affy H3K9ac2 32h" value="encodeAffyChIpHl60PvalStrictH3K9K14DHr32"/> + <option name="Affy H4Kac4 0h" value="encodeAffyChIpHl60PvalStrictHisH4Hr00"/> + <option name="Affy H4Kac4 2h" value="encodeAffyChIpHl60PvalStrictHisH4Hr02"/> + <option name="Affy H4Kac4 8h" value="encodeAffyChIpHl60PvalStrictHisH4Hr08"/> + <option name="Affy H4Kac4 32h" value="encodeAffyChIpHl60PvalStrictHisH4Hr32"/> + <option name="Affy Pol2 0h" value="encodeAffyChIpHl60PvalStrictPol2Hr00"/> + <option name="Affy Pol2 2h" value="encodeAffyChIpHl60PvalStrictPol2Hr02"/> + <option name="Affy Pol2 8h" value="encodeAffyChIpHl60PvalStrictPol2Hr08"/> + <option name="Affy Pol2 32h" value="encodeAffyChIpHl60PvalStrictPol2Hr32"/> + <option name="Affy p63 ME-180+" value="encodeAffyChIpHl60PvalStrictp63_ActD"/> + <option name="Affy p63 ME-180" value="encodeAffyChIpHl60PvalStrictp63_mActD"/> + </option> + <option name="UC Davis ChIP" value="encodeUcDavisChipSuper"/> + <option name="encodeYaleChIPSTAT1Sig" value="subtracks-encodeYaleChIPSTAT1Sig"> + <option name="Yale LI Sig" value="encodeYaleChIPSTAT1HeLaBingRenSig"/> + <option name="Yale 36-36 Sig" value="encodeYaleChIPSTAT1HeLaMaskLess36mer36bpSig"/> + <option name="Yale 50-38 Sig" value="encodeYaleChIPSTAT1HeLaMaskLess50mer38bpSig"/> + <option name="Yale 50-50 Sig" value="encodeYaleChIPSTAT1HeLaMaskLess50mer50bpSig"/> + <option name="Yale STAT1 Sig" value="encodeYaleChIPSTAT1Sig"/> + </option> + <option name="encodeUCDavisChip" value="subtracks-encodeUCDavisChip"> + <option name="UCD Ng ChIP" value="encodeUCDavisChip"/> + <option name="UCD C-Myc" value="encodeUCDavisChipMyc"/> + <option name="UCD E2F1" value="encodeUCDavisE2F1Median"/> + <option name="UCD PolII_GM" value="encodeUCDavisPolIIGM"/> + <option name="UCD PolII_HelaS3" value="encodeUCDavisPolIIHelaS3"/> + <option name="UCD Taf_GM" value="encodeUCDavisTafGM"/> + <option name="UCD Taf_HelaS3" value="encodeUCDavisTafHelaS3"/> + </option> + <option name="encodeSangerChipHits" value="subtracks-encodeSangerChipHits"> + <option name="SI H3K4m1 GM6990" value="encodeSangerChipHitH3K4me1GM06990"/> + <option name="SI H3K4me1 HeLa" value="encodeSangerChipHitH3K4me1HeLa"/> + <option name="SI H3K4m2 GM6990" value="encodeSangerChipHitH3K4me2GM06990"/> + <option name="SI H3K4me2 HeLa" value="encodeSangerChipHitH3K4me2HeLa"/> + <option name="SI H3K4me2 K562" value="encodeSangerChipHitH3K4me2K562"/> + <option name="SI H3K4m3 GM6990" value="encodeSangerChipHitH3K4me3GM06990"/> + <option name="SI H3K4me3 HeLa" value="encodeSangerChipHitH3K4me3HeLa"/> + <option name="SI H3K4me3 K562" value="encodeSangerChipHitH3K4me3K562"/> + <option name="SI H3ac GM06990" value="encodeSangerChipHitH3acGM06990"/> + <option name="SI H3ac HeLa" value="encodeSangerChipHitH3acHeLa"/> + <option name="SI H3ac K562" value="encodeSangerChipHitH3acK562"/> + <option name="SI H4ac GM06990" value="encodeSangerChipHitH4acGM06990"/> + <option name="SI H4ac HeLa" value="encodeSangerChipHitH4acHeLa"/> + <option name="SI H4ac K562" value="encodeSangerChipHitH4acK562"/> + <option name="Sanger ChIP Hits" value="encodeSangerChipHits"/> + </option> + <option name="LI/UCSD ChIP" value="encodeUcsdChipSuper"/> + </option> + <option name="ENCODE Chromosome, Chromatin and DNA Structure" value="group-encodeChrom"> + <option name="BU ORChID" value="encodeBUORChID"/> + <option name="encodeUncFaire" value="subtracks-encodeUncFaire"> + <option name="UNC FAIRE" value="encodeUncFaire"/> + <option name="FAIRE Signal" value="encodeUncFaireSignal"/> + </option> + <option name="encodeUvaDnaRepOrigins" value="subtracks-encodeUvaDnaRepOrigins"> + <option name="UVa DNA Rep Ori" value="encodeUvaDnaRepOrigins"/> + <option name="UVa Ori-Bubble HeLa" value="encodeUvaDnaRepOriginsBubbleHela"/> + <option name="UVa Ori-NS GM" value="encodeUvaDnaRepOriginsNSGM"/> + <option name="UVa Ori-NS HeLa" value="encodeUvaDnaRepOriginsNSHela"/> + <option name="UVa Ori-TR50 HeLa" value="encodeUvaDnaRepOriginsTR50Hela"/> + </option> + <option name="UVa DNA Rep TR50" value="encodeUvaDnaRepTr50"/> + <option name="UVa DNA Rep" value="encodeUvaDnaRepSuper"/> + <option name="encodeUvaDnaRepSeg" value="subtracks-encodeUvaDnaRepSeg"> + <option name="UVa DNA Rep Early" value="encodeUvaDnaRepEarly"/> + <option name="UVa DNA Rep Late" value="encodeUvaDnaRepLate"/> + <option name="UVa DNA Rep Mid" value="encodeUvaDnaRepMid"/> + <option name="UVa DNA Rep PanS" value="encodeUvaDnaRepPanS"/> + <option name="UVa DNA Rep Seg" value="encodeUvaDnaRepSeg"/> + </option> + <option name="encodeRegulomeDnaseArray" value="subtracks-encodeRegulomeDnaseArray"> + <option name="UW DNase-array" value="encodeRegulomeDnaseArray"/> + <option name="DnaseI Sens" value="encodeRegulomeDnaseGM06990Sens"/> + </option> + <option name="UW DNase" value="encodeUwDnaseSuper"/> + <option name="encodeUWRegulomeBase" value="subtracks-encodeUWRegulomeBase"> + <option name="UW DNase-QCP" value="encodeUWRegulomeBase"/> + <option name="CD4" value="encodeUWRegulomeBaseCD4"/> + <option name="CaCo2" value="encodeUWRegulomeBaseCaCo2"/> + <option name="CaLU3" value="encodeUWRegulomeBaseCaLU3"/> + <option name="EryAdult" value="encodeUWRegulomeBaseEryAdult"/> + <option name="EryFetal" value="encodeUWRegulomeBaseEryFetal"/> + <option name="GM" value="encodeUWRegulomeBaseGM"/> + <option name="HMEC" value="encodeUWRegulomeBaseHMEC"/> + <option name="HRE" value="encodeUWRegulomeBaseHRE"/> + <option name="HeLa" value="encodeUWRegulomeBaseHeLa"/> + <option name="HepG2" value="encodeUWRegulomeBaseHepG2"/> + <option name="Huh7" value="encodeUWRegulomeBaseHuh7"/> + <option name="K562" value="encodeUWRegulomeBaseK562"/> + <option name="NHBE" value="encodeUWRegulomeBaseNHBE"/> + <option name="PANC" value="encodeUWRegulomeBasePANC"/> + <option name="SAEC" value="encodeUWRegulomeBaseSAEC"/> + <option name="SKnSH" value="encodeUWRegulomeBaseSKnSH"/> + </option> + <option name="encodeNhgriDukeDnaseHs" value="subtracks-encodeNhgriDukeDnaseHs"> + <option name="DNase CD4 Raw" value="encodeNhgriDnaseHsChipRawCd4"/> + <option name="DNase GM069 Raw" value="encodeNhgriDnaseHsChipRawGm06990"/> + <option name="DNase H9 Raw" value="encodeNhgriDnaseHsChipRawH9"/> + <option name="DNase HeLa Raw" value="encodeNhgriDnaseHsChipRawHela"/> + <option name="DNase HepG2 Raw" value="encodeNhgriDnaseHsChipRawHepG2"/> + <option name="DNase IMR90 Raw" value="encodeNhgriDnaseHsChipRawImr90"/> + <option name="DNase K562 Raw" value="encodeNhgriDnaseHsChipRawK562"/> + <option name="Duke/NHGRI DNase" value="encodeNhgriDukeDnaseHs"/> + </option> + <option name="encodeUvaDnaRep" value="subtracks-encodeUvaDnaRep"> + <option name="UVa DNA Rep" value="encodeUvaDnaRep"/> + <option name="UVa DNA Rep 0h" value="encodeUvaDnaRep0"/> + <option name="UVa DNA Rep 2h" value="encodeUvaDnaRep2"/> + <option name="UVa DNA Rep 4h" value="encodeUvaDnaRep4"/> + <option name="UVa DNA Rep 6h" value="encodeUvaDnaRep6"/> + <option name="UVa DNA Rep 8h" value="encodeUvaDnaRep8"/> + </option> + </option> + <option name="ENCODE Regions and Genes" value="group-encodeGenes"> + <option name="encodeGencodeGeneMar07" value="subtracks-encodeGencodeGeneMar07"> + <option name="Gencode Ref" value="encodeGencodeGeneKnownMar07"/> + <option name="Gencode Genes Mar07" value="encodeGencodeGeneMar07"/> + <option name="Gencode Polymorph" value="encodeGencodeGenePolymorphicMar07"/> + <option name="Gencode Pseudo" value="encodeGencodeGenePseudoMar07"/> + <option name="Gencode Putative" value="encodeGencodeGenePutativeMar07"/> + </option> + <option name="Vienna RNAz" value="encodeUViennaRnaz"/> + <option name="Gencode Genes" value="encodeGencodeSuper"/> + <option name="EGASP" value="encodeEgaspSuper"/> + <option name="encodeGencodeRaceFrags" value="subtracks-encodeGencodeRaceFrags"> + <option name="Gencode RACEfrags" value="encodeGencodeRaceFrags"/> + <option name="RACEfrags Brain" value="encodeGencodeRaceFragsBrain"/> + <option name="RACEfrags Colon" value="encodeGencodeRaceFragsColon"/> + <option name="RACEfrags GM06990" value="encodeGencodeRaceFragsGM06990"/> + <option name="RACEfrags HL60" value="encodeGencodeRaceFragsHL60"/> + <option name="RACEfrags Heart" value="encodeGencodeRaceFragsHeart"/> + <option name="RACEfrags HeLaS3" value="encodeGencodeRaceFragsHela"/> + <option name="RACEfrags Kidney" value="encodeGencodeRaceFragsKidney"/> + <option name="RACEfrags Liver" value="encodeGencodeRaceFragsLiver"/> + <option name="RACEfrags Lung" value="encodeGencodeRaceFragsLung"/> + <option name="RACEfrags Muscle" value="encodeGencodeRaceFragsMuscle"/> + <option name="RACEfrags Placenta" value="encodeGencodeRaceFragsPlacenta"/> + <option name="RACEfrags Primer" value="encodeGencodeRaceFragsPrimer"/> + <option name="RACEfrags Sm Int" value="encodeGencodeRaceFragsSmallIntest"/> + <option name="RACEfrags Spleen" value="encodeGencodeRaceFragsSpleen"/> + <option name="RACEfrags Stomach" value="encodeGencodeRaceFragsStomach"/> + <option name="RACEfrags Testis" value="encodeGencodeRaceFragsTestis"/> + </option> + <option name="Known+Pred RNA" value="encodeRna"/> + <option name="encodeEgaspFull" value="subtracks-encodeEgaspFull"> + <option name="EGASP Full" value="encodeEgaspFull"/> + <option name="AceView" value="encodeEgaspFullAceview"/> + <option name="DOGFISH-C" value="encodeEgaspFullDogfish"/> + <option name="Ensembl" value="encodeEgaspFullEnsembl"/> + <option name="Ensembl Pseudo" value="encodeEgaspFullEnsemblPseudo"/> + <option name="Exogean" value="encodeEgaspFullExogean"/> + <option name="ExonHunter" value="encodeEgaspFullExonhunter"/> + <option name="Fgenesh++" value="encodeEgaspFullFgenesh"/> + <option name="GeneID" value="encodeEgaspFullGeneId"/> + <option name="GeneID U12" value="encodeEgaspFullGeneIdU12"/> + <option name="GeneMark" value="encodeEgaspFullGenemark"/> + <option name="Jigsaw" value="encodeEgaspFullJigsaw"/> + <option name="Pairgn/NSCAN-E/+" value="encodeEgaspFullPairagonAny"/> + <option name="Pairgn/NSCAN-E" value="encodeEgaspFullPairagonMrna"/> + <option name="NSCAN" value="encodeEgaspFullPairagonMultiple"/> + <option name="SGP2" value="encodeEgaspFullSgp2"/> + <option name="SGP2 U12" value="encodeEgaspFullSgp2U12"/> + <option name="Fgenesh Pseudo" value="encodeEgaspFullSoftberryPseudo"/> + <option name="SPIDA Exons" value="encodeEgaspFullSpida"/> + <option name="Twinscan" value="encodeEgaspFullTwinscan"/> + </option> + <option name="encodeGencodeGeneOct05" value="subtracks-encodeGencodeGeneOct05"> + <option name="Gencode Ref" value="encodeGencodeGeneKnownOct05"/> + <option name="Gencode Genes Oct05" value="encodeGencodeGeneOct05"/> + <option name="Gencode Pseudo" value="encodeGencodeGenePseudoOct05"/> + <option name="Gencode Putative" value="encodeGencodeGenePutativeOct05"/> + </option> + <option name="Gencode Introns Oct05" value="encodeGencodeIntronOct05"/> + <option name="encodePseudogene" value="subtracks-encodePseudogene"> + <option name="Pseudogenes" value="encodePseudogene"/> + <option name="Consensus Pseudogenes" value="encodePseudogeneConsensus"/> + <option name="GIS Pseudogenes" value="encodePseudogeneGIS"/> + <option name="Havana-Gencode Pseudogenes" value="encodePseudogeneHavana"/> + <option name="UCSC Retrogenes" value="encodePseudogeneUcsc"/> + <option name="UCSC Pseudogenes" value="encodePseudogeneUcsc2"/> + <option name="Yale Pseudogenes" value="encodePseudogeneYale"/> + </option> + <option name="ENCODE Regions" value="encodeRegions"/> + <option name="encodeEgaspUpdate" value="subtracks-encodeEgaspUpdate"> + <option name="Augustus Update" value="encodeEgaspUpdAugustusAbinitio"/> + <option name="August/EST/Ms Upd" value="encodeEgaspUpdAugustusAny"/> + <option name="August/Mouse Upd" value="encodeEgaspUpdAugustusDual"/> + <option name="Augustus/EST Upd" value="encodeEgaspUpdAugustusEst"/> + <option name="Exogean Update" value="encodeEgaspUpdExogean"/> + <option name="FGenesh++ Upd" value="encodeEgaspUpdFgenesh"/> + <option name="GeneID Update" value="encodeEgaspUpdGeneId"/> + <option name="GeneID U12 Upd" value="encodeEgaspUpdGeneIdU12"/> + <option name="Jigsaw Update" value="encodeEgaspUpdJigsaw"/> + <option name="SGP2 Update" value="encodeEgaspUpdSgp2"/> + <option name="SGP2 U12 Update" value="encodeEgaspUpdSgp2U12"/> + <option name="Yale Pseudo Upd" value="encodeEgaspUpdYalePseudo"/> + <option name="EGASP Update" value="encodeEgaspUpdate"/> + </option> + <option name="encodeEgaspPartial" value="subtracks-encodeEgaspPartial"> + <option name="ACEScan Cons Alt" value="encodeEgaspPartAceCons"/> + <option name="ACEScan Other" value="encodeEgaspPartAceOther"/> + <option name="Augustus" value="encodeEgaspPartAugustusAbinitio"/> + <option name="Augustus/EST/Mouse" value="encodeEgaspPartAugustusAny"/> + <option name="Augustus/Mouse" value="encodeEgaspPartAugustusDual"/> + <option name="Augustus/EST" value="encodeEgaspPartAugustusEst"/> + <option name="GeneZilla" value="encodeEgaspPartGenezilla"/> + <option name="SAGA" value="encodeEgaspPartSaga"/> + <option name="EGASP Partial" value="encodeEgaspPartial"/> + </option> + </option> + </options> +</filter>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tool-data/annotation_profiler_valid_builds.txt.sample Mon May 19 10:59:42 2014 -0400 @@ -0,0 +1,1 @@ +hg18
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tool_dependencies.xml Mon May 19 10:59:42 2014 -0400 @@ -0,0 +1,6 @@ +<?xml version="1.0"?> +<tool_dependency> + <package name="bx-python" version="0.7.1"> + <repository changeset_revision="35e2457234ef" name="package_bx_python_0_7" owner="devteam" toolshed="http://testtoolshed.g2.bx.psu.edu" /> + </package> +</tool_dependency>