<commit_before>/**
 * Pileup visualization of BAM sources.
 * @flow
 */
'use strict';

import type {Strand, Alignment, AlignmentDataSource} from './Alignment';
import type {TwoBitSource} from './TwoBitDataSource';
import type {BasePair} from './pileuputils';
import type {VisualAlignment, VisualGroup} from './PileupCache';
import type {DataCanvasRenderingContext2D} from 'data-canvas';

var React = require('react'),
    scale = require('./scale'),
    shallowEquals = require('shallow-equals'),
    types = require('./react-types'),
    d3utils = require('./d3utils'),
    {CigarOp} = require('./pileuputils'),
    ContigInterval = require('./ContigInterval'),
    Interval = require('./Interval'),
    DisplayMode = require('./DisplayMode'),
    PileupCache = require('./PileupCache'),
    canvasUtils = require('./canvas-utils'),
    dataCanvas = require('data-canvas'),
    style = require('./style'),
    _ = require('underscore');


var READ_HEIGHT = 13;
var READ_SPACING = 2;  // vertical pixels between reads

var READ_STRAND_ARROW_WIDTH = 6;

// PhantomJS does not support setLineDash.
var SUPPORTS_DASHES = !!CanvasRenderingContext2D.prototype.setLineDash;

var SCROLLING_CLASS_NAME = 'track-content';


// Should the Cigar op be rendered to the screen?
function isRendered(op) {
  return (op.op == CigarOp.MATCH ||
          op.op == CigarOp.DELETE ||<commit_msg>Be very careful about testing for setLineDash<commit_after>/**
 * Pileup visualization of BAM sources.
 * @flow
 */
'use strict';

import type {Strand, Alignment, AlignmentDataSource} from './Alignment';
import type {TwoBitSource} from './TwoBitDataSource';
import type {BasePair} from './pileuputils';
import type {VisualAlignment, VisualGroup} from './PileupCache';
import type {DataCanvasRenderingContext2D} from 'data-canvas';

var React = require('react'),
    scale = require('./scale'),
    shallowEquals = require('shallow-equals'),
    types = require('./react-types'),
    d3utils = require('./d3utils'),
    {CigarOp} = require('./pileuputils'),
    ContigInterval = require('./ContigInterval'),
    Interval = require('./Interval'),
    DisplayMode = require('./DisplayMode'),
    PileupCache = require('./PileupCache'),
    canvasUtils = require('./canvas-utils'),
    dataCanvas = require('data-canvas'),
    style = require('./style'),
    _ = require('underscore');


var READ_HEIGHT = 13;
var READ_SPACING = 2;  // vertical pixels between reads

var READ_STRAND_ARROW_WIDTH = 6;

// PhantomJS does not support setLineDash.
// Node doesn't even know about the symbol.
var SUPPORTS_DASHES = typeof(CanvasRenderingContext2D) !== 'undefined' &&
                      !!CanvasRenderingContext2D.prototype.setLineDash;

var SCROLLING_CLASS_NAME = 'track-content';


// Should the Cigar op be rendered to the screen?
function isRendered(op) {
  return (op.op == CigarOp.MATCH ||
          op.op == CigarOp.DELETE ||
{'fraction_non_alphanumeric': 0.14448275862068966, 'fraction_numerical': 0.0058620689655172415, 'mean_word_length': 4.107394366197183, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 1, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2324441', 'n_tokens_mistral': 884, 'n_tokens_neox': 860, 'n_words': 225}