Uploaded image for project: 'UGENE'
  1. UGENE
  2. UGENE-14

LRegionsSelection::addRegion() fails with assertion

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Critical
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 1.9.2
    • Component/s: Basic-Nucl, Basic-Protein
    • Labels:
      None
    • Affect Type:
      Userdefined

      Description

      LRegionsSelection::addRegion() fails with assertion "assert(r.len > 0);" when user selects annotation in sync'ed multisequence view and the annotation is located outside of other sequence bounds.
      The problem resides in ADVSyncViewManager::sl_onSelectionChanged()
      ...
      foreach(LRegion r, added) {
      r.startPos -= offset;
      if (r.startPos < 0)

      { r.startPos = 0; }

      if (r.endPos() > w->getSequenceLen())

      { r.len = w->getSequenceLen() - r.startPos; }

      selection->addRegion(r);
      }

      The cycle above assumes w->getSequenceLen() > r.startPos; which does not hold true when sequences have very different size.
      Steps To Reproduce

      1) Open 2 following sequences in one view:
      trunk\data\samples\Genbank\murine.gb
      trunk\test_common_data\edit_sequence\test.gb

      2) Press "Lock scales" button on the ADV toolbar

      3) Select any CDS feature of the murine.gb

        Attachments

          Activity

            People

            Assignee:
            msyabro Maxim Syabro
            Reporter:
            mfursov Mikhail Fursov
            Watchers:
            0 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved: