Mercurial > repos > iuc > jbrowse
comparison jbrowse.py @ 31:2bb2e07a7a21 draft
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/jbrowse commit 12dff0abf006f6c81f6462cdf4ea9c0c740d1e9c
| author | iuc |
|---|---|
| date | Mon, 15 Apr 2019 10:31:26 -0400 |
| parents | d0743cb18ed8 |
| children | 0ae74c70b267 |
comparison
equal
deleted
inserted
replaced
| 30:ca2def38369c | 31:2bb2e07a7a21 |
|---|---|
| 78 OPACITY_MATH = { | 78 OPACITY_MATH = { |
| 79 'linear': """ | 79 'linear': """ |
| 80 var opacity = (score - ({min})) / (({max}) - ({min})); | 80 var opacity = (score - ({min})) / (({max}) - ({min})); |
| 81 """, | 81 """, |
| 82 'logarithmic': """ | 82 'logarithmic': """ |
| 83 var opacity = (score - ({min})) / (({max}) - ({min})); | 83 var opacity = Math.log10(score - ({min})) / Math.log10(({max}) - ({min})); |
| 84 opacity = Math.log10(opacity) + Math.log10({max}); | |
| 85 """, | 84 """, |
| 86 'blast': """ | 85 'blast': """ |
| 87 var opacity = 0; | 86 var opacity = 0; |
| 88 if(score == 0.0) {{ | 87 if(score == 0.0) {{ |
| 89 opacity = 1; | 88 opacity = 1; |
| 680 "urlTemplate": url, | 679 "urlTemplate": url, |
| 681 "queryTemplate": query | 680 "queryTemplate": query |
| 682 } | 681 } |
| 683 self._add_track_json(data) | 682 self._add_track_json(data) |
| 684 | 683 |
| 684 def traverse_to_option_parent(self, splitKey, outputTrackConfig): | |
| 685 trackConfigSubDict = outputTrackConfig | |
| 686 for part in splitKey[:-1]: | |
| 687 if trackConfigSubDict.get(part) is None: | |
| 688 trackConfigSubDict[part] = dict() | |
| 689 trackConfigSubDict = trackConfigSubDict[part] | |
| 690 assert isinstance(trackConfigSubDict, dict), 'Config element {} is not a dict'.format(trackConfigSubDict) | |
| 691 return trackConfigSubDict | |
| 692 | |
| 693 def get_formatted_option(self, valType2ValDict, mapped_chars): | |
| 694 assert isinstance(valType2ValDict, dict) and len(valType2ValDict.items()) == 1 | |
| 695 for valType, value in valType2ValDict.items(): | |
| 696 if valType == "text": | |
| 697 for char, mapped_char in mapped_chars.items(): | |
| 698 value = value.replace(mapped_char, char) | |
| 699 elif valType == "integer": | |
| 700 value = int(value) | |
| 701 elif valType == "float": | |
| 702 value = float(value) | |
| 703 else: # boolean | |
| 704 value = {'true': True, 'false': False}[value] | |
| 705 return value | |
| 706 | |
| 707 def set_custom_track_options(self, customTrackConfig, outputTrackConfig, mapped_chars): | |
| 708 for optKey, optType2ValDict in customTrackConfig.items(): | |
| 709 splitKey = optKey.split('.') | |
| 710 trackConfigOptionParent = self.traverse_to_option_parent(splitKey, outputTrackConfig) | |
| 711 optVal = self.get_formatted_option(optType2ValDict, mapped_chars) | |
| 712 trackConfigOptionParent[splitKey[-1]] = optVal | |
| 713 | |
| 685 def process_annotations(self, track): | 714 def process_annotations(self, track): |
| 686 category = track['category'].replace('__pd__date__pd__', TODAY) | 715 category = track['category'].replace('__pd__date__pd__', TODAY) |
| 687 outputTrackConfig = { | 716 outputTrackConfig = { |
| 688 'style': { | 717 'style': { |
| 689 'label': track['style'].get('label', 'description'), | 718 'label': track['style'].get('label', 'description'), |
| 744 outputTrackConfig[key] = colourOptions[key] | 773 outputTrackConfig[key] = colourOptions[key] |
| 745 | 774 |
| 746 if 'menus' in track['conf']['options']: | 775 if 'menus' in track['conf']['options']: |
| 747 menus = self.cs.parse_menus(track['conf']['options']) | 776 menus = self.cs.parse_menus(track['conf']['options']) |
| 748 outputTrackConfig.update(menus) | 777 outputTrackConfig.update(menus) |
| 778 | |
| 779 customTrackConfig = track['conf']['options'].get('custom_config', {}) | |
| 780 if customTrackConfig: | |
| 781 self.set_custom_track_options(customTrackConfig, outputTrackConfig, mapped_chars) | |
| 749 | 782 |
| 750 # import pprint; pprint.pprint(track) | 783 # import pprint; pprint.pprint(track) |
| 751 # import sys; sys.exit() | 784 # import sys; sys.exit() |
| 752 if dataset_ext in ('gff', 'gff3', 'bed'): | 785 if dataset_ext in ('gff', 'gff3', 'bed'): |
| 753 self.add_features(dataset_path, dataset_ext, outputTrackConfig, | 786 self.add_features(dataset_path, dataset_ext, outputTrackConfig, |
