class MapSettings: base_layer = related.ChildField(BaseMapLayer, BaseMapLayer.STREETS, key='baseLayer') current_display = related.StringField('dots', key='currentDisplay') map_center = related.ChildField(Coordinates, [0.0, 0.0], key='mapCenter') overlay_layers = related.SequenceField( str, DEFAULT_OVERLAY_LAYERS, key='overlayLayers' ) selected_field = related.StringField('', key='selectedField') selected_geo_tiles = related.StringField('', key='selectedGeoTiles') zoom_level = related.FloatField(1.0, key='zoomLevel') show_administrative_boundaries = related.BooleanField( True, key='showAdminBoundaries' ) show_labels = related.BooleanField(False, key='showLabels') fill_opacity = related.FloatField(0.8, key='fillOpacity') tooltip_font_color = related.StringField(FONT_COLOR_DEFAULT, key='tooltipFontColor') tooltip_font_family = related.StringField( FONT_FAMILY_DEFAULT, key='tooltipFontFamily' ) tooltip_font_size = related.StringField(FONT_12, key='tooltipFontSize') tooltip_bold = related.BooleanField(False, key='tooltipBold') # HACK(stephen, moriah): This setting is really poorly designed. It encodes # a color value + alpha as a dict instead of rgba or hex + alpha which can # be represented as a string. FIX THIS OR REMOVE IT. tooltip_background_color = related.ChildField( dict, DEFAULT_MAP_TOOLTIP_BACKGROUND, key='tooltipBackgroundColor' )
class ConstantThresholdThresholds: weak_upper_threshold = related.FloatField(key="upperWeak", required=False) strong_upper_threshold = related.FloatField(key="upperStrong", required=False) weak_lower_threshold = related.FloatField(key="lowerWeak", required=False) strong_lower_threshold = related.FloatField(key="lowerStrong", required=False)
class EvalHParams(RelatedConfigMixin): """Training hyper-parameters """ # Hyper-parameters to compute the auPR pos_min_threshold = related.FloatField(0.05, required=False) neg_max_threshold = related.FloatField(0.01, required=False) # each position in the positive class should be # supported by at least `required_min_pos_counts` of reads required_min_pos_counts = related.FloatField(2.5, required=False) # For which pools to compute the evaluation metrics binsizes = related.SequenceField(int, [1, 10], required=False)
class Alarm: ou_id = related.IntegerField(key="ouId", required=False) ou_name = related.StringField(key="ouName", required=False) bsis_name = related.StringField(key="bsisName", required=False) dispatched_bsis_name = related.StringField(key="dispatchedBsisName", required=False) kind = related.ChildField(AlarmKind, required=False) sub_kind = related.StringField(key="subKind", required=False) description = related.StringField(required=False) acquired = related.DateTimeField(key="aquired", required=False) expiration = related.DateTimeField(required=False) latitude = related.FloatField(required=False) longitude = related.FloatField(required=False) location_accuracy = related.ChildField(LocationAccuracy, key="locAccuracy", required=False) distance_to_fire_station = related.FloatField(key="distanceToFireStation", required=False) adm_territory = related.StringField(key="admTeryt", required=False) locality = related.StringField(required=False) street = related.StringField(required=False) address_point = related.StringField(key="addrPoint", required=False) apartment = related.StringField(required=False) notified = related.IntegerField(required=False) confirmed = related.IntegerField(required=False) declined = related.IntegerField(required=False) commanders = related.IntegerField(required=False) drivers = related.IntegerField(required=False) drivers_cat_c = related.IntegerField(key="driversCatC", required=False) firstAid = related.IntegerField(required=False) status = related.ChildField(AlarmNotificationStatus, required=False) modified = related.DateTimeField(required=False) rec_ver_no = related.IntegerField(key="recVerNo", required=False) deleted = related.BooleanField(required=False) swd_id = related.IntegerField(key="swdId", required=False) id = related.IntegerField(required=False) @property def address(self): result = "" if self.locality: result += self.locality.strip() if self.street: result += ", {}".format(self.street.strip()) if self.address_point: result += " {}".format(self.address_point.strip()) if self.apartment: result += "/{}".format(self.apartment.strip()) return result
class ModiscoHParams(RelatedLoadSaveMixin): """Modisco hyper-parameters """ # Modisco kwargs sliding_window_size = related.IntegerField(21, required=False) flank_size = related.IntegerField(10, required=False) # old=5 target_seqlet_fdr = related.FloatField(0.01, required=False) min_seqlets_per_task = related.IntegerField( 1000, required=False) # NOTE - this is not used as of modisco 0.5 # Deprecated in modisco 0.5 min_passing_windows_frac = related.FloatField(0.03, required=False) max_passing_windows_frac = related.FloatField(0.2, required=False) # metaclustering min_metacluster_size = related.IntegerField(2000, required=False) min_metacluster_size_frac = related.FloatField(0.02, required=False) # seqlets_to_patterns.TfModiscoSeqletsToPatternsFactory trim_to_window_size = related.IntegerField( 30, required=False) # default: 30, old=15 initial_flank_to_add = related.IntegerField( 10, required=False) # default 10, old=5 kmer_len = related.IntegerField(8, required=False) # default 8, old=5 num_gaps = related.IntegerField(3, required=False) # default 3, old=1 num_mismatches = related.IntegerField(2, required=False) # default 2, old=0 final_min_cluster_size = related.IntegerField(60, required=False) max_seqlets_per_metacluster = related.IntegerField(20000, required=False) # Other modisc-related kwargs # What's the maximum cosine distance between strands to # still consider the examples as representative? # TODO - update back # max_strand_distance = related.FloatField(0.2, required=False) # TODO - specify for which ones to run? # Original path to the file path = related.StringField(required=False) def get_modisco_kwargs(self): d = self.get_config() d.pop('counts', None) return d
class TrainHParams(RelatedConfigMixin): """Training hyper-parameters """ # patience in keras.callbacks.EarlyStopping early_stop_patience = related.IntegerField(5, required=False) # maximual number of epochs to train the model for epochs = related.IntegerField(200, required=False) batch_size = related.IntegerField(256, required=False) balance_peak_classes = related.BooleanField(False, required=False) # how frequently to evaluate (in fraction of the epoch) train_epoch_frac = related.FloatField(1.0, required=False) valid_epoch_frac = related.FloatField(1.0, required=False)
class TableSettings: inverted_fields = related.SequenceField(str, [], key='invertedFields') table_format = related.ChildField(TableFormat, TableFormat.TABLE, key='tableFormat') enable_pagination = related.BooleanField(True, key='enablePagination') row_height = related.FloatField(30, key='rowHeight') add_total_row = related.BooleanField(False, key='addTotalRow') header_font_family = related.StringField( FONT_FAMILY_DEFAULT, key='headerFontFamily' ) header_color = related.StringField(FONT_COLOR_DEFAULT, key='headerColor') header_font_size = related.StringField(FONT_12, key='headerFontSize') header_background = related.StringField('#fff', key='headerBackground') header_border_color = related.StringField('#d9d9d9', key='headerBorderColor') row_font_family = related.StringField(FONT_FAMILY_DEFAULT, key='rowFontFamily') row_color = related.StringField(FONT_COLOR_DEFAULT, key='rowColor') row_font_size = related.StringField(FONT_12, key='rowFontSize') row_background = related.StringField('#fff', key='rowBackground') row_alternate_background = related.StringField( '#f0f0f0', key='rowAlternateBackground' ) row_border_color = related.StringField('#d9d9d9', key='rowBorderColor') footer_font_family = related.StringField( FONT_FAMILY_DEFAULT, key='footerFontFamily' ) footer_color = related.StringField(FONT_COLOR_DEFAULT, key='footerColor') footer_font_size = related.StringField(FONT_12, key='footerFontSize') footer_background = related.StringField('#fff', key='footerBackground') footer_border_color = related.StringField('#fff', key='footerBorderColor')
class DayData(object): date = related.DateField() logged_on = related.TimeField("%H:%M") open_at = related.TimeField() closed_on = related.TimeField() customers = related.IntegerField() day_type = related.ChildField(DayType) sales = related.FloatField(required=False)
class Step(object): description = related.StringField() request = related.ChildField(Requestor) extract = related.ChildField(Namespace, default=Namespace()) iterate = related.ChildField(Iterator, default=Iterator()) validate = related.SequenceField(Validator, required=False) condition = related.BooleanField(required=False, default=None) transform = related.StringField(required=False, default=None) name = related.StringField(required=False, default=None) sleep = related.FloatField(required=False, default=0.01)
class AnimatedMapSettings: base_layer = related.ChildField(BaseMapLayer, BaseMapLayer.STREETS, key='baseLayer') current_display = related.StringField('dots', key='currentDisplay') map_center = related.ChildField(Coordinates, [0.0, 0.0], key='mapCenter') overlay_layers = related.SequenceField( str, DEFAULT_OVERLAY_LAYERS, key='overlayLayers' ) selected_field = related.StringField('', key='selectedField') selected_geo_tiles = related.StringField('', key='selectedGeoTiles') zoom_level = related.FloatField(1.0, key='zoomLevel')
class Company(object): name = related.StringField() uuid = related.UUIDField() email = related.RegexField("[^@]+@[^@]+", required=False) is_active = related.BooleanField(required=False) url = related.URLField(required=False) meta = related.ChildField(dict, required=False) nicknames = related.SequenceField(str, required=False) temperature = related.FloatField(required=False) guess = related.SetField(int, required=False) established = related.DateField('%m/%d/%Y', required=False) closed = related.DateField(required=False) # default formatter (%Y-%m-%d)
class ConstantThresholdHyperparameters: strategy = related.ChildField(ConstantThresholdStrategy) lower_weak_multiplier = related.FloatField(default=4.0, required=False) lower_strong_multiplier = related.FloatField(default=5.0, required=False) upper_weak_multiplier = related.FloatField(default=4.0, required=False) upper_strong_multiplier = related.FloatField(default=5.0, required=False) hampel_window_size = related.FloatField(default=10, required=False) hampel_n_signma = related.FloatField(default=3, required=False)
class EnvDbEntry(RelatedConfigMixin): """ Compatible Models explicitly and the possible (intermediate) groups (derive from kipoi/models/shared/envs/models.yaml (can be model group too) or models in the group if it was a group: sub_models = list_subcomponents(parsed_model, parsed_source, "model") - TODO - check kipoi.cli.env.merge_deps) Store all the parsed args Store the conda version Store the kipoi version Timestamp successful cli_path """ conda_version = related.StringField(required=True) kipoi_version = related.StringField(required=True) timestamp = related.FloatField(required=True) compatible_models = related.SequenceField(str, required=True) create_args = related.ChildField(EnvCreateArgs, required=True) successful = related.BooleanField(default=False, required=False) cli_path = related.StringField(default=None, required=False)
class Step(object): description = related.StringField() request = related.ChildField(Requestor) extract = related.ChildField(Namespace, default=Namespace()) iterate = related.ChildField(Iterator, default=Iterator()) validate = related.SequenceField(Validator, required=False) condition = related.BooleanField(required=False, default=None) transform = related.StringField(required=False, default=None) name = related.StringField(required=False, default=None) sleep = related.FloatField(required=False, default=0.01) retryable = related.BooleanField(required=False, default=False) def is_retryable(self): return self.is_get() or self.retryable def is_get(self): return self.request and self.request.method == Method.GET
class YAxisSettings(XAxisSettings): range_from = related.FloatField(required=False, key='rangeFrom') range_to = related.FloatField(required=False, key='rangeTo')
class MyChild(object): my_int = related.IntegerField(key="int") my_float = related.FloatField(key="float") my_uuid = related.UUIDField(key="uuid")