• forked:GenoCon Challenge A GenoconApp
Import an externally hosted application
Check style

  • JavaScript
  • CSS
  • HTML
  • Images
  • Input Data
  • ReadMe
  • forked:GenoCon Challenge A GenoconApp
  • jquery-1.7.1.min.js  
  • HighChart  
  • jquery-ui-1.8.18.min.js  
  • http://code.highcharts.com/highcharts.js  
  • http://code.highcharts.com/modules/exporting.js  
  • MotifMinExpress  
  • MotifMaxExpress  
  • MotifMaxCircadian  
  • MotifMinCircadian  
  •  
  • history

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
 
if (typeof Application == "undefined" || !Application) {
    var Application = {};
}
 
Application.genocon = function() {
    this._init.apply(this, arguments);
};
 
Application.genocon.prototype = {
    
    _baseSequence : null,
    
    _default : {
        baseSequenceContainerId : "baseSequenceContainer",
        hiddenBaseSequenceClass : "hdnBaseSequence",
        fixedSequenceClass : "fixedSequence",
        baseErrorMessageClass : "baseErrorMessage",
        errorMessageEnterSequence : "Please enter a sequence of minimum length {0}",
        useButtonClass : "useButton",
        nextButtonClass : "nextButton",
        nextButtonContainerClass : "nextButtonContainer",
        collapseButton : "collapseButton",
        expandButton : "expandButton",
        removeButton : "removeButton",
        appContainerClass : "applicationContainer",
        appDataContainerClass : "applicationDataContainer",
        actionButtonContainer : "actionButtonContainer",
        actionResultContainer : "actionResultContainer",
        baseSequenceBoxClass : "baseSequenceBox",
        baseSequenceClass : "baseSequence",
        selectDataBaseList : "databaseList",
        selectMethodList : "optionList",
        hiddenBaseSequence : "hdnBaseSequence",
        databaseFilteringProperty : "#motif%20sequence",
        methodFilteringProperty : "#application%20URL",
        baseSequenceMinLength : 50
    },
    
    _init : function() {
        this._initBaseInput();
        this._initDefaultContainer();
        this._initUseButtonListener();
    },
    
    _initBaseInput : function() {
        var val = $("#" + this._default.baseSequenceContainerId + " ." + this._default.hiddenBaseSequenceClass).val();
        if (val && val.length < this._default.baseSequenceMinLength) {
            $errMsgEl = $("#" + this._default.baseSequenceContainerId + " ." + this._default.baseErrorMessageClass);
            $errMsgEl.html(self._default.errorMessageEnterSequence.replace("{0}", self._default.baseSequenceMinLength));
            $errMsgEl.show();
            return;
        }
        $baseInput = $("#" + this._default.baseSequenceContainerId + " ." + this._default.baseSequenceClass);
        var index = val.length - this._default.baseSequenceMinLength;
        $baseInput.attr("size", index);
        var inputVal = val.substring(0, index);
        var fixedVal = val.substring(index);
        $baseInput.val(inputVal);
        $("#" + this._default.baseSequenceContainerId + " ." + this._default.fixedSequenceClass).html(fixedVal);
        $baseInput.keyup(function() {
            var size = ($baseInput.val().length != 0) ? $baseInput.val().length : 1;
            $baseInput.attr("size", size);
        });
    },
    
    _initDefaultContainer : function() {
        this._initDatabase();
        this._initMethod();
        this._initActionButton();
        this._initDatabaseListener();
        this._initMethodListener();
    },
    
    _initDatabase : function() {
        var self = this;
        var $select = $("." + self._default.appContainerClass + " ." + self._default.selectDataBaseList);
        $("option", $select).remove();
        $select.append("<option value='-1' selected='selected'>-- Select Database --</option>");
        $.each(LinkData.getFiles(), function(workId, fileNameList) {
            $.each(fileNameList, function(key, fileName) {
                var dbKey = self._getDatabaseOptionKey(workId, fileName);
                $.each(LinkData.getProperties(workId, fileName), function(pKey, pValue) {
                    if (pValue.indexOf(self._default.databaseFilteringProperty) > 0) {
                        $select.append("<option value='" + dbKey + "'>" + fileName + "</option>");
                    }
                });
            });
        });
    },
    
    _initMethod : function() {
        var self = this;
        var $select = $("." + self._default.appContainerClass + " ." + self._default.selectMethodList);
        $("option", $select).remove();
        $select.append("<option value='-1' selected='selected'>-- Select Option --</option>");
        $.each(LinkData.getFiles(), function(workId, fileNameList) {
            $.each(fileNameList, function(key, fileName) {
                $.each(LinkData.getProperties(workId, fileName), function(pKey, pValue) {
                    if (pValue.indexOf(self._default.methodFilteringProperty) > 0) {
                        $.each(LinkData.getTriplesByProperty(workId, fileName, pValue), function(tKey, tValue) {
jquery-1.7.1.min.js
HighChart
jquery-ui-1.8.18.min.js
http://code.highcharts.com/highcharts.js
http://code.highcharts.com/modules/exporting.js
MotifMinExpress
MotifMaxExpress
MotifMaxCircadian
MotifMinCircadian
Playing...

jquery-1.7.1.min.js
HighChart
jquery-ui-1.8.18.min.js
http://code.highcharts.com/highcharts.js
http://code.highcharts.com/modules/exporting.js
MotifMinExpress
MotifMaxExpress
MotifMaxCircadian
MotifMinCircadian