anchor.diff:              .attr("transform", "translate(600, 0)")
               .call(yAxis.orient("left").ticks(0));
   
  -    //Create SVG dots
  -    var symbol = ["triangle-down", "diamond", "triangle-up", "square", "cross", "triangle-up", "circle"];
  -    var mutationTypes = ["frameshift", "nonsense", "splice", "in_frame", "nonstart", "nonstop", "missense"];
  -    var mutationFillTypes = ["#1C1C1C", "#1C1C1C", "#F1654C", "#F1654C", "#F1654C", "#1C1C1C", "#F1654C"];
  -    var gisticStrokeTypes = ["#00008B", "#00BFFF", "#000000", "#FF69B4", "#FF0000"];
  -    var gisticLegendText = ["Homdel", "Hetloss",  "Gain", "Amp", "Mutated", "Normal"];
  -    var gisticLegendStrokeTypes = ["#00008B", "#00BFFF", "#FF69B4", "#FF0000", "none", "#000000"];
  -    var gisticLegendFillTypes = ["none", "none", "none", "none", "orange", "none"];
  -
  -    //----------------- Plot dots for GISTIC v mRNA view (with data noise)
  -    var tooltip = d3.select("body")
  -            .append("div")
  -            .style("position", "absolute")
  -            .style("z-index", "10")
  -            .style("visibility", "hidden");
  -
  -    if ( type == 1 ) {
  -        //Define noise level
  -        var ramRatio = 0;
  -        if (data_type_copy_no.indexOf("gistic") != -1) {
  -            ramRatio = 20;
  -        }
  -        svg.selectAll("path")
  -                .data(dataset)
  -                .enter()
  -                .append("svg:path")
  -                .attr("transform", function(d) { return "translate(" + (xScale(d[0]) + ((Math.random() * (ramRatio)) - (ramRatio/2))) + ", " + yScale(d[1]) + ")";})
  -                .attr("d", d3.svg.symbol()
  -                        .size( function(d) {
  -                            switch (d[2]) {
  -                                case "non" : return 15;
  -                                default : return 25;
  -                            }
  -                        })
  -                        .type( function (d) {
  -                            switch (d[2]) {
  -                                case mutationTypes[0] : return symbol[0];
  -                                case mutationTypes[1] : return symbol[1];
  -                                case mutationTypes[2] : return symbol[2];
  -                                case mutationTypes[3] : return symbol[3];
  -                                case mutationTypes[4] : return symbol[4];
  -                                case mutationTypes[5] : return symbol[5];
  -                                case mutationTypes[6] : return symbol[6];
  -                                default: return "circle";
  -                            }
  -                        })
  -                )
  -                .attr("fill", function(d) {
  -                    switch (d[2]) {
  -                        case mutationTypes[0]: return mutationFillTypes[0];
  -                        case mutationTypes[1]: return mutationFillTypes[1];
  -                        case mutationTypes[2]: return mutationFillTypes[2];
  -                        case mutationTypes[3]: return mutationFillTypes[3];
  -                        case mutationTypes[4]: return mutationFillTypes[4];
  -                        case mutationTypes[5]: return mutationFillTypes[5];
  -                        case mutationTypes[6]: return mutationFillTypes[6];
  -                        default: return "#5ABBEC";
  -                    }
  -                })
  -                .attr("stroke", function(d) {
  -                    switch (d[2]) {
  -                        case "non": return "none";
  -                        default: return "#D24939";
  -                    }
  -                });
  -        //Making Qtips
  -        svg.selectAll('path').each(function(d, i) {
  -            $(this).qtip({
  -                content: {text: 'qtip failed'},
  -                events: {
  -                    render: function(event, api) {
  -                        var content = '<font size="2">' + "Mutation: <strong>" + d[5] + '</strong>(' + d[3] + ')' +  '</br>'
  -                                + "Case ID: <strong>" + "<a href='tumormap.do?case_id=" + d[4] + "&cancer_study_id=" + cancer_study_id + "'>" + d[4] + '</a></strong>' +  '</font>';
  -                        api.set('content.text', content);
  -                    }
  -                },
  -                hide: { fixed: true, delay: 100 },
  -                style: { classes: 'ui-tooltip-light ui-tooltip-rounded ui-tooltip-shadow ui-tooltip-lightyellow' },
  -                position: {my:'left bottom',at:'top right'}
  -            });
  -        });
  -
  -        //--------------- Plot dots for other views
  -    } else {
  -        svg.selectAll("path")
  -                .data(dataset)
  -                .enter()
  -                .append("svg:path")
  -                .attr("transform", function(d) { return "translate(" + xScale(d[0]) + ", " + yScale(d[1]) + ")";})
  -                .attr("d", d3.svg.symbol()
  -                        .size(35)
  -                        .type( function (d) {
  -                            switch (d[2]) {
  -                                default: return "circle";
  -                            }
  -                        }
  -                ))
  -                .attr("fill", function(d) {
  -                    switch (d[3]) {
  -                        case "non" : return "none";
  -                        default: return "orange";
  -                    }
  -                })
  -                .attr("stroke", function(d) {
  -                    var result;
  -                    if ((d[2] == "0")&&(d[3] != "non")) {
  -                        return "none";
  -                    } else {
  -                        switch (d[2]) {
  -                            case "-2": return gisticStrokeTypes[0];
  -                            case "-1": return gisticStrokeTypes[1];
  -                            case "0": return gisticStrokeTypes[2];
  -                            case "1": return gisticStrokeTypes[3];
  -                            case "2": return gisticStrokeTypes[4];
  -                            default: return "black";
  -                        }
  -                    }
  -                })
  -                .attr("stroke-width", function(d) {
  -                    switch(d[3]) {
  -                        case "non" : return "1";
  -                        default: return "1.5";
  -                    }
  -                });
  -        svg.selectAll('path').each(function(d, i) {
  -            $(this).qtip({
  -                content: {text: 'qtip failed'},
  -                events: {
  -                    render: function(event, api) {
  -                        var content = '<font size="2">' + "Mutation: <strong>" + d[5] + '</strong>(' + d[3] + ')' +  '</br>'
  -                                + "Case ID: <strong>" + "<a href='tumormap.do?case_id=" + d[4] + "&cancer_study_id=" + cancer_study_id + "'>" + d[4] + '</a></strong>' +  '</font>';
  -                        api.set('content.text', content);
  -                    }
  -                },
  -                hide: { fixed: true, delay: 100 },
  -                style: { classes: 'ui-tooltip-light ui-tooltip-rounded ui-tooltip-shadow ui-tooltip-lightyellow' },
  -                position: {my:'left bottom',at:'top right'}
  -            });
  -        });
  -    }
  -
  -    //Error Handling -- empty dataset
  -    var xHasData = false;
  -    var yHasData = false;
  -    for (var j = 0; j < xData.length; j++) {
  -        if (xData[j] != "NaN") {
  -            xHasData = true;
  -        }
  -    }
  -    for (var k = 0; k < yData.length; k++) {
  -        if (yData[k] != "NaN") {
  -            yHasData = true;
  -        }
  -    }
  -    if ((yHasData == false) || (xHasData == false)) {
  -        var errorTxt1 = "An error occurred processing your request.";
  -        var errorTxt2 = "It maybe that your gene/case set combination has no data for this data type. ";
  -        var errorTxt3 = "If you believe this is an error, please contact us cbioportal@cbio.mskcc.org.";
  -        svg.append("text")
  -                .attr("x", 220)
  -                .attr("y", 280)
  -                .attr("fill", "#DF3A01")
  -                .text(errorTxt1)
  -        svg.append("text")
  -                .attr("x", 120)
  -                .attr("y", 295)
  -                .attr("fill", "#DF3A01")
  -                .text(errorTxt2)
  -        svg.append("text")
  -                .attr("x", 130)
  -                .attr("y", 310)
  -                .attr("fill", "#DF3A01")
  -                .text(errorTxt3);
  -    } else {
  -        //Create the legend
  -        if (type == 1) {  //Legend for Mutations
  -            var legend = svg.selectAll(".legend")
  -                    .data(mutationTypes)
  -                    .enter().append("g")
  -                    .attr("class", "legend")
  -                    .attr("transform", function(d, i) { return "translate(610, " + (30 + i * 15) + ")"; });
  -            legend.append("path")
  -                    .attr("width", 18)
  -                    .attr("height", 16)
  -                    .attr("d", d3.svg.symbol()
  -                            .size(30)
  -                            .type(function(d, i) {
  -                                switch(i) {
  -                                    case i: return symbol[i];
  -                                }
  -                            })
  -                    )
  -                    .attr("fill", function (d, i) {
  -                        switch (i) {
  -                            case i: return mutationFillTypes[i];
  -                        }
  -                    })
  -                    .attr("stroke", function (d, i) {
  -                        switch (i) {
  -                            case i: return "#D24939";
  -                        }
  -                    })
  -            legend.append("text")
  -                    .attr("dx", ".75em")
  -                    .attr("dy", ".35em")
  -                    .style("text-anchor", "front")
  -                    .text(function(d, i) {
  -                        switch (i) {
  -                            case i: return mutationTypes[i];
  -                        }
  -                    });
  -        } else {  //Legend for Gistic plus mutation annotation
  -            var legend = svg.selectAll(".legend")
  -                    .data(gisticLegendText)
  -                    .enter().append("g")
  -                    .attr("class", "legend")
  -                    .attr("transform", function(d, i) { return "translate(610, " + (30 + i * 15) + ")"; })
  -            legend.append("path")
  -                    .attr("width", 18)
  -                    .attr("height", 18)
  -                    .attr("d", d3.svg.symbol()
  -                            .size(40)
  -                            .type(function(d, i) {
  -                                return "circle";
  -                            })
  -                    )
  -                    .attr("fill", function (d, i) {
  -                        switch(i) {
  -                            case i: return gisticLegendFillTypes[i];
  -                        }
  -                    })
  -                    .attr("stroke", function (d, i) {
  -                        switch (i) {
  -                            case i: return gisticLegendStrokeTypes[i];
  -                        }
  -                    })
  -                    .attr("stroke-width", function (d, i) {
  -                        return 1.1;
  -                    })
  -            legend.append("text")
  -                    .attr("dx", ".75em")
  -                    .attr("dy", ".35em")
  -                    .style("text-anchor", "front")
  -                    .text(function(d, i) {
  -                        switch (i) {
  -                            case i: return gisticLegendText[i];
  -                        }
  -                    });
  -        }
  -    }
  -
  -    //Append axis Titles
  -    svg.append("text")
  -            .attr("class", "label")
  -            .attr("x", 350)
  -            .attr("y", 580)
  -            .style("text-anchor", "middle")
  -            .style("font-weight","bold")
  -            .text(gene + " , " + xLegend);
  -    svg.append("text")
  -            .attr("class", "label")
  -            .attr("transform", "rotate(-90)")
  -            .attr("x", -270)
  -            .attr("y", 45)
  -            .style("text-anchor", "middle")
  -            .style("font-weight","bold")
  -            .text(gene + " , " + yLegend);
  -
  -    //If it is GISTIC and mrna view, add Box plots
  -    if (type == 1 && data_type_copy_no.indexOf("gistic") != -1) {
  +
  +    //If it is Putative CNA and mrna view, add Box plots
  +    if (type == 1 && (data_type_copy_no.indexOf("gistic") != -1 || data_type_copy_no.indexOf("cna") != -1)) {
           for (var i = min_x ; i < max_x + 1; i++) {
               var top;
               var bottom;
  
positive.code:     //----Create SVG Axis (Duplicate: can NOT use CSS style here since batik won't take it for PDF convertion.)
  
      //---------------Add extra text axis annotation for GISTIC
      if (type == 1 && data_type_copy_no.indexOf("gistic") != -1) {
          var textSet = ["Homdel", "Hetloss", "Diploid", "Gain", "Amp"];
          var ticksTextSet = [];
          var tmp_ticks_text_index = 0;
  
negative.code: }
  var urls;
  function fetchData() {
  
      gene = document.getElementById("genes").value;
      data_type_copy_no = document.getElementById("data_type_copy_no").value;
      data_type_mrna = document.getElementById("data_type_mrna").value;
      if (genetic_profile_mutations != "") {
          data_type_mutations = genetic_profile_mutations[0][0];
      }
      if (genetic_profile_rppa != "") {
          data_type_rppa = genetic_profile_rppa[0][0];
      }
      if (genetic_profile_dna_methylation != "") {
          data_type_dna_methylation = genetic_profile_dna_methylation[0][0];
      }
  
      var url_base = "webservice.do?cmd=getProfileData&case_set_id=" + case_set_id + "&gene_list=" + gene + "&genetic_profile_id=";
      urls = [
          url_base + data_type_mutations, //mutations
          url_base + data_type_copy_no, //copy no
          url_base + data_type_mrna, //mrna
          url_base + data_type_rppa, //rppa
          url_base + data_type_dna_methylation //dna methylation
      ];
      for (var i = 0; i < urls.length; i++) {
          $.ajax({
  