A modular single-molecule analysis interface

Overview
https://travis-ci.org/usnistgov/mosaic.svg?branch=devel-2.0

MOSAIC: A modular single-molecule analysis interface

MOSAIC is a single molecule analysis toolbox that automatically decodes multi-state nanopore data. By modeling the nanopore system with an equivalent circuit, MOSAIC leverages the transient response of a molecule entering the channel to quantify pore-molecule interactions. In contrast to existing techniques such as ionic current thresholding or Viterbi decoding, this technique allows the estimation of short-lived transient events that are otherwise not analyzed.

Nanometer-scale pores have demonstrated potential use in biotechnology applications, including DNA sequencing, single-molecule force spectroscopy, and single-molecule mass spectrometry. The data modeling and analysis methods implemented in MOSAIC allow for dramatic improvements in the quantification of molecular interactions with the channel in each of these applications.

If you use MOSAIC in your work, please cite both papers below:

  1. Analytical Chemistry 2016, (88) pp. 11900–11907
  2. ACS Nano 2014, (8) pp. 1547–1553.

Installation

Please refer to the Installation section of the MOSAIC documentation for details on installation.

Documentation

A PDF version of the MOSAIC documentation can be downloaded here.

Getting Help

If you need help or have questions, please join our mailing list.

To subscribe:

Visit https://groups.google.com/a/list.nist.gov/group/mosaic/.

To unsubscribe:

Email [email protected].

Once subscribed, you can send messages by emailing [email protected].

Reporting Problems

Report problems using our issue tracker on Github.

What's New?

Read the Change Log

Comments
  • Artificial Events due to filter settings

    Artificial Events due to filter settings

    When I try to filter Chimera data to lower frequencies (<500kHz) with the filter order too high (8 for 500kHz but even at 4 for 250kHz and below) MOSAIC generates artificial events that are not seen in the raw data (see attached images). These events are very frequent (>50/s) and are spaced in multiples of 2.4ms so I am assuming it is some sort of chunking of the data that messes up the filter. My current blocksizeSec is set to 0.1 so that is way higher than the spacing of these events I am seeing.

    All of these events have the same general shape which looks like this one: image Clearly not a real translocation event.

    I plotted the difference of the absolute start times of the first 100 events to make clear that they are spaced evenly. image

    I am using the besselLowpassfilter for all of this

    bug Data I/O 
    opened by Silberbaer 9
  • Feature Request - local baseline detection to allow for slow drift in solid-state nanopore baseline

    Feature Request - local baseline detection to allow for slow drift in solid-state nanopore baseline

    Solid-state nanopores often change size over the course of a few hours of current data, making the values of baseline stats calculated at the beginning in applicable to later sections of the same run. An option that allows calculation of local baseline for each new chunk of data requested would be helpful for analysis of long solid-state nanopore runs.

    enhancement Core Algorithms 
    opened by shadowk29 9
  • baseline detection fails if the histogram built by ionic_current_stats contains many zeros

    baseline detection fails if the histogram built by ionic_current_stats contains many zeros

    If the histogram built by ionic current stats contains a large number of zeros, fitting will fail and give enormous values for perr. The solution is simple: weight the residuals by the y values. You can see an explanation here:

    http://math.stackexchange.com/questions/1771660/analytical-solution-to-nonlinear-least-squares-problem

    I'm not 100% sure how to fit this intro curve_fit, however. They provide a sigma parameter, which weights data points as 1/sigma^2, so it get y-weighting you would have to provide sigma=1/sqrt(y), which is undefined for y=0. I think the proper solution would be to use scipy.optimize.minimize directly and write a custom residuals function.

    opened by shadowk29 8
  • (Ubuntu) Stopping Analysis causes [Qthread] <defunt> in processes

    (Ubuntu) Stopping Analysis causes [Qthread] in processes

    Issue: After activating the "stop analysis" button on the GUI the system runs extremely slow.

    I first looked at the Ubuntu user processes using the command, ~$ ps -u

    Steps to Replicate Problem:

    While running MOSAIC and analysing a file the user processes looks like this:

    hiyomika@ubuntu:~$ ps -u
    USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
    hiyomika  2895  0.0  0.0  27836  4016 pts/11   Ss   12:40   0:00 bash
    hiyomika  3271  0.0  0.0  27664  3372 pts/0    Ss   12:43   0:00 bash
    hiyomika  6821 11.5 26.1 2694768 1056896 pts/11 Sl+ 14:33   0:07 python mosaicgui/mosaicGUI.py
    hiyomika  6872 71.7 48.1 3613440 1945972 pts/11 R+  14:34   0:06 python mosaicgui/mosaicGUI.py
    hiyomika  6880  0.0  0.0  22644  1292 pts/0    R+   14:34   0:00 ps -u
    

    The program is running like it is suppose too. After hitting the Stop Analysis button the processes look like this.

    hiyomika@ubuntu:~$ ps -u
    USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
    hiyomika  2895  0.0  0.1  27836  4964 pts/11   Ss   12:40   0:00 bash
    hiyomika  3013  9.4 27.1 2276980 1098748 pts/11 Sl+ 12:40   0:21 python mosaicgui/mosaicGUI.py
    hiyomika  3229 96.5  0.0      0     0 pts/11   Z+   12:43   1:29 [QThread] <defunct>
    hiyomika  3271  0.0  0.1  27660  4644 pts/0    Ss   12:43   0:00 bash
    hiyomika  3361  0.0  0.0  22644  1292 pts/0    R+   12:44   0:00 ps -u
    

    The second thread responsible for the analysis of the file does not clear out while maintaining a high CPU percentage.

    After refreshing the processes list we see the amount of CPU the defunct thread takes up lessens to almost nothing.

    hiyomika@ubuntu:~$ ps -u
    USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
    hiyomika  2895  0.0  0.1  27836  4740 pts/11   Ss   12:40   0:00 bash
    hiyomika  3271  0.0  0.1  27660  4520 pts/0    Ss   12:43   0:00 bash
    hiyomika  3377  5.7 25.9 2306092 1047720 pts/11 Sl+ 12:45   4:37 python mosaicgui/mosaicGUI.py
    hiyomika  3772  0.1  0.0      0     0 pts/11   Z+   12:52   0:08 [QThread] <defunct>
    hiyomika  5970  0.0  0.0  22644  1292 pts/0    R+   14:05   0:00 ps -u
    

    Good news is if you start another analysis run the defunct thread is replaced with a working thread.

    Direct Symptoms: Expect system to run slow immediately after cancelling an analysis run.

    Current Work Around: Close Program out and initialize to clear out the non working thread.

    Update: When a file is allowed to continue unto completion the thread correctly clears. As shown below.

    hiyomika@ubuntu:~$ ps -u
    USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
    hiyomika  2895  0.0  0.0  27836  4016 pts/11   Ss   12:40   0:00 bash
    hiyomika  3271  0.0  0.0  27664  3372 pts/0    Ss   12:43   0:00 bash
    hiyomika  6821 14.1 15.6 2273348 630608 pts/11 Rl+  14:33   1:35 python mosaicgui/mosaicGUI.py
    hiyomika  7232  0.0  0.0  22644  1292 pts/0    R+   14:44   0:00 ps -u
    
    GUI 
    opened by angevinece 7
  • Downsampling of the event segment, while saving in the metadata.

    Downsampling of the event segment, while saving in the metadata.

    Recently, when I tried to extract one of the events from the metadata (sqlite database), I found that the time series in the event was downsampled by almost a factor of 30. I have 15000 samples for the same event in my signal, but the extract from metadata has only 499 samples. The shape of the event's waveform is preserved. Both of them look exactly the same.

    bug Data I/O 
    opened by Pratyma 5
  • Chimera log file implementation

    Chimera log file implementation

    Incorporate chimeraTrajIO data reads into the webgui. Ideally this should include automatic .settings file creation by importing parameters from the corresponding .mat files

    enhancement GUI Data I/O 
    opened by joerobaz 5
  • export the data of resident time and blockade current

    export the data of resident time and blockade current

    Hi, I am a novice and learning Mosaic. Here is a question about the exporting data of resident time and blockade current. How to export the the acquisition data of resident time and blockade current by using Mosaic. Thank you.

    enhancement GUI 
    opened by HaiyanWang85 5
  • Second RC constant in stepResponseAnalysis can be negative

    Second RC constant in stepResponseAnalysis can be negative

    Since the relaxation that RC constants need not be equal in stepResponseAnalysis, a file I recently analyzed (available on request) had several events with negative RC constant for the second one but reported normal processing status.

    Core Algorithms 
    opened by shadowk29 5
  • Chimera Files are not read in correct order

    Chimera Files are not read in correct order

    When loading up data files generated by the Chimera VC100, the files are not loaded in the same order as they were generated. This messes up the time ordering in the overall current trace.

    Data I/O 
    opened by Silberbaer 4
  • Feature request - ignore channel gating instead of aborting

    Feature request - ignore channel gating instead of aborting

    Currently I believe MOSAIC is set to abort analysis of the open channel current drifts past a defined threshold. Often it is the case that a clogged pore can be unclogged and the baseline would return to normal. It might be preferable to have mosaic continue processing data if the open channel current drifts significantly, but not look for events again until the current has returned to the initial state. This way you can ignore clogs and channel gating without missing out on analyzing data after the first clog, or having to chop the file into pieces to process it fully.

    FAQ Core Algorithms 
    opened by shadowk29 4
  • Implemented adaptive threshold algorithm to mirror OpenNanopore implemen...

    Implemented adaptive threshold algorithm to mirror OpenNanopore implemen...

    Adaptive CUSUM threshold implementation for testing. CUSUM now requires two threshold settings (MinThreshold and MaxThreshold) in order to function. Actual threshold used changes for each event and is stored in the DB.

    opened by shadowk29 4
  • Request for getting event start time information of the rejected events in the metadata

    Request for getting event start time information of the rejected events in the metadata

    With present MOSAIC package analysis, the rejected events have their start time as -1. But I want to have the time information for these events. I want to implement only an event detection module, independent of the event processing, and get the metadata for all the detected events including the start time.

    enhancement Core Algorithms 
    opened by Pratyma 1
  • Mosaic version 2.2 can not be executed in chrome or safari

    Mosaic version 2.2 can not be executed in chrome or safari

    Describe the bug A clear and concise description of what the bug is. Mosaic version 2.2 can not be executed in chrome or safari To Reproduce

    • Device: [MacBook Pro 14 ]
    • OS: [e.g. macOS monterey 12.1]
    • Browser [e.g. safari or chorme]
    • Version [e.g. mosaic2.2]

    Additional context Add any other context about the problem here. 截屏2022-02-21 20 02 10 截屏2022-02-21 20 02 57

    opened by ConanKudo20 4
  • Can not open in macOS 12.0.1 with apple m1 pro

    Can not open in macOS 12.0.1 with apple m1 pro

    Describe the bug A clear and concise description of what the bug is.

    To Reproduce Steps to reproduce the behavior:

    1. Go to '...'
    2. Click on '....'
    3. Scroll down to '....'
    4. See error

    Expected behavior A clear and concise description of what you expected to happen.

    Screenshots If applicable, add screenshots to help explain your problem.

    Desktop (please complete the following information):

    • OS: [e.g. iOS]
    • Browser [e.g. chrome, safari]
    • Version [e.g. 22]

    Smartphone (please complete the following information):

    • Device: [e.g. iPhone6]
    • OS: [e.g. iOS8.1]
    • Browser [e.g. stock browser, safari]
    • Version [e.g. 22]

    Additional context Add any other context about the problem here. Translated Report (Full Report Below)

    Process: MOSAIC [9856] Path: /Applications/MOSAIC.app/Contents/MacOS/MOSAIC Identifier: MOSAIC Version: 1.3.6 (???) Code Type: X86-64 (Translated) Parent Process: launchd [1] User ID: 501

    Date/Time: 2021-12-06 10:44:02.3937 +0800 OS Version: macOS 12.0.1 (21A559) Report Version: 12 Anonymous UUID: 8E4955EF-B107-0CB6-643D-06BB10BBA547

    Sleep/Wake UUID: 5B89FCF5-94C7-4F97-B7A8-C64820B92F7B

    Time Awake Since Boot: 8200 seconds Time Since Wake: 2349 seconds

    System Integrity Protection: enabled

    Crashed Thread: 0 Dispatch queue: com.apple.main-thread

    Exception Type: EXC_BAD_INSTRUCTION (SIGILL) Exception Codes: 0x0000000000000001, 0x0000000000000000 Exception Note: EXC_CORPSE_NOTIFY

    Termination Reason: Namespace SIGNAL, Code 4 Illegal instruction: 4 Terminating Process: exc handler [9856]

    Thread 0 Crashed:: Dispatch queue: com.apple.main-thread 0 QtCore 0x112b52fa2 normalizeTypeInternal(char const*, char const*, bool, bool) + 792 1 QtCore 0x112b5036b qNormalizeType(char*, int&, QByteArray&) + 146 2 QtCore 0x112b5017b QMetaObject::normalizedType(char const*) + 211 3 QtCore 0x112b53d45 QMetaType::registerType(char const*, void ()(void), void* ()(void const)) + 93 4 PyQt4.QtCore.so 0x1121ab3f6 int qRegisterMetaType<PyQt_PyObject>(char const*, PyQt_PyObject*) + 47 5 PyQt4.QtCore.so 0x1121ab253 qpycore_post_init(object*) + 291 6 .Python 0x110fc1758 PyImport_LoadDynamicModule + 140 7 .Python 0x110fc11ef imp_load_module + 243 8 .Python 0x110fac53a PyEval_EvalFrameEx + 27019 9 .Python 0x110fa59bf PyEval_EvalCodeEx + 1618 10 .Python 0x110f4b088 function_call + 350 11 .Python 0x110f2ce95 PyObject_Call + 99 12 .Python 0x110f37b67 instancemethod_call + 173 13 .Python 0x110f2ce95 PyObject_Call + 99 14 .Python 0x110f2d023 call_function_tail + 72 15 .Python 0x110f2d21c PyObject_CallMethod + 231 16 .Python 0x110fc0454 import_submodule + 267 17 .Python 0x110fc0028 load_next + 280 18 .Python 0x110fbf240 PyImport_ImportModuleLevel + 1185 19 .Python 0x110fa0fbd builtin___import + 135 20 .Python 0x110f2ce95 PyObject_Call + 99 21 .Python 0x110fafb2b PyEval_CallObjectWithKeywords + 165 22 .Python 0x110faace3 PyEval_EvalFrameEx + 20788 23 .Python 0x110fa59bf PyEval_EvalCodeEx + 1618 24 .Python 0x110fa5367 PyEval_EvalCode + 48 25 MOSAIC 0x104b7f0c9 0x104b7d000 + 8393 26 MOSAIC 0x104b7f69a 0x104b7d000 + 9882 27 MOSAIC 0x104b7dec4 0x104b7d000 + 3780

    Thread 1:: com.apple.rosetta.exceptionserver 0 runtime 0x7ff7ffca08e4 0x7ff7ffc9c000 + 18660 1 runtime 0x7ff7ffcad928 0x7ff7ffc9c000 + 71976 2 runtime 0x7ff7ffcaf0a4 0x7ff7ffc9c000 + 77988

    Thread 2: 0 runtime 0x7ff7ffcbe814 0x7ff7ffc9c000 + 141332

    Thread 3: 0 runtime 0x7ff7ffcbe814 0x7ff7ffc9c000 + 141332

    Thread 4: 0 runtime 0x7ff7ffcbe814 0x7ff7ffc9c000 + 141332

    Thread 0 crashed with X86 Thread State (64-bit): rax: 0x0000000000000025 rbx: 0x000000030e6cee18 rcx: 0x0000000000000000 rdx: 0x0000000000000008 rdi: 0x0000000112be525b rsi: 0x000000030e6cee18 rbp: 0x000000030e6cedb0 rsp: 0x000000030e6cece0 r8: 0x0000000000000050 r9: 0x0000000000000074 r10: 0x00007ff854192b68 r11: 0x0000000110fdb238 r12: 0x000000030e6cee25 r13: 0x000000000000000d r14: 0x0000000112cc7a68 r15: 0x000000030e6cee18 rip: 0x0000000112b52fa2 rfl: 0x0000000000000203 tmp0: 0x0000000112b52fa2 tmp1: 0x4429fcc5c057fcc5 tmp2: 0x00244429fcc56024

    Binary Images: 0x112a47000 - 0x112cbdfff QtCore () <2878eedc-9ce1-3944-9514-c858d0d82326> /Applications/MOSAIC.app/Contents/MacOS/QtCore 0x1121a9000 - 0x1122fefff PyQt4.QtCore.so () <5b5264e0-aac9-338d-be10-a6843cf0893a> /Applications/MOSAIC.app/Contents/MacOS/PyQt4.QtCore.so 0x110f22000 - 0x111017fff .Python () <9a53817f-2101-3965-9831-1db81d851fba> /Applications/MOSAIC.app/Contents/MacOS/.Python 0x104b7d000 - 0x104b83fff MOSAIC (1.3.6) <32ab4b3f-56df-3c81-b3ee-2215ac410955> /Applications/MOSAIC.app/Contents/MacOS/MOSAIC 0x7ff7ffc9c000 - 0x7ff7ffccbfff runtime () <9f5d65be-d8d0-3979-bb05-e651a67e785c> /usr/libexec/rosetta/runtime

    External Modification Summary: Calls made by other processes targeting this process: task_for_pid: 0 thread_create: 0 thread_set_state: 0 Calls made by this process: task_for_pid: 0 thread_create: 0 thread_set_state: 0 Calls made by all processes on this machine: task_for_pid: 0 thread_create: 0 thread_set_state: 0

    VM Region Summary: ReadOnly portion of Libraries: Total=882.7M resident=0K(0%) swapped_out_or_unallocated=882.7M(100%) Writable regions: Total=1.2G written=0K(0%) resident=0K(0%) swapped_out=0K(0%) unallocated=1.2G(100%)

                                VIRTUAL   REGION 
    

    REGION TYPE SIZE COUNT (non-coalesced) =========== ======= ======= Activity Tracing 256K 1 Kernel Alloc Once 8K 1 MALLOC 206.1M 24 MALLOC guard page 96K 4 MALLOC_MEDIUM (reserved) 480.0M 4 reserved VM address space (unallocated) MALLOC_NANO (reserved) 384.0M 1 reserved VM address space (unallocated) Rosetta Arena 4096K 2 Rosetta Generic 1008K 249 Rosetta IndirectBranch 192K 2 Rosetta JIT 128.0M 1 Rosetta Return Stack 80K 8 Rosetta Thread Context 80K 8 STACK GUARD 12K 3 Stack 9772K 4 Stack Guard 56.0M 1 VM_ALLOCATE 17.3M 65 __DATA 15.5M 273 __DATA_CONST 8557K 144 __DATA_DIRTY 310K 80 __FONT_DATA 4K 1 __LINKEDIT 708.5M 44 __OBJC_RO 81.6M 1 __OBJC_RW 3120K 2 __TEXT 174.2M 283 __UNICODE 588K 1 dyld private memory 1024K 1 mapped file 5.0G 400 shared memory 800K 12 unshared pmap 2288K 2 =========== ======= ======= TOTAL 7.3G 1622 TOTAL, minus reserved VM space 6.4G 1622


    Full Report

    {"app_name":"MOSAIC","timestamp":"2021-12-06 10:44:02.00 +0800","app_version":"1.3.6","slice_uuid":"32ab4b3f-56df-3c81-b3ee-2215ac410955","build_version":"","platform":1,"bundleID":"MOSAIC","share_with_app_devs":0,"is_first_party":0,"bug_type":"309","os_version":"macOS 12.0.1 (21A559)","incident_id":"08224E31-8B54-4213-A734-8F9D485450F4","name":"MOSAIC"} { "uptime" : 8200, "procLaunch" : "2021-12-06 10:43:59.0635 +0800", "procRole" : "Background", "version" : 2, "userID" : 501, "deployVersion" : 210, "modelCode" : "MacBookPro18,3", "procStartAbsTime" : 198972714395, "coalitionID" : 3407, "osVersion" : { "train" : "macOS 12.0.1", "build" : "21A559", "releaseType" : "User" }, "captureTime" : "2021-12-06 10:44:02.3937 +0800", "incident" : "08224E31-8B54-4213-A734-8F9D485450F4", "bug_type" : "309", "pid" : 9856, "procExitAbsTime" : 199052504602, "translated" : true, "cpuType" : "X86-64", "procName" : "MOSAIC", "procPath" : "/Applications/MOSAIC.app/Contents/MacOS/MOSAIC", "bundleInfo" : {"CFBundleShortVersionString":"1.3.6","CFBundleIdentifier":"MOSAIC"}, "storeInfo" : {"deviceIdentifierForVendor":"4D5B1118-C44A-55D9-8478-D1C175106F8F","thirdParty":true}, "parentProc" : "launchd", "parentPid" : 1, "coalitionName" : "MOSAIC", "crashReporterKey" : "8E4955EF-B107-0CB6-643D-06BB10BBA547", "wakeTime" : 2349, "sleepWakeUUID" : "5B89FCF5-94C7-4F97-B7A8-C64820B92F7B", "sip" : "enabled", "isCorpse" : 1, "exception" : {"codes":"0x0000000000000001, 0x0000000000000000","rawCodes":[1,0],"type":"EXC_BAD_INSTRUCTION","signal":"SIGILL"}, "termination" : {"flags":0,"code":4,"namespace":"SIGNAL","indicator":"Illegal instruction: 4","byProc":"exc handler","byPid":9856}, "extMods" : {"caller":{"thread_create":0,"thread_set_state":0,"task_for_pid":0},"system":{"thread_create":0,"thread_set_state":0,"task_for_pid":0},"targeted":{"thread_create":0,"thread_set_state":0,"task_for_pid":0},"warnings":0}, "faultingThread" : 0, "threads" : [{"triggered":true,"id":118277,"threadState":{"r13":{"value":13},"rflags":{"value":515},"rax":{"value":37},"rosetta":{"tmp2":{"value":10208046286725156},"tmp1":{"value":4911734794889985221},"tmp0":{"value":4608831394}},"r14":{"value":4610357864,"symbolLocation":0,"symbol":"QByteArray::shared_null"},"rsi":{"value":13126921752},"r8":{"value":80},"rdx":{"value":8},"r10":{"value":140704539552616,"symbolLocation":24,"symbol":"__cxxabiv1::(anonymous namespace)::GlobalStatic<__cxxabiv1::(anonymous namespace)::LibcppMutex>::instance"},"r9":{"value":116},"r15":{"value":13126921752},"rbx":{"value":13126921752},"r11":{"value":4580028984,"symbolLocation":0,"symbol":"PyObject_GC_Del"},"rip":{"value":4608831394},"rbp":{"value":13126921648},"rsp":{"value":13126921440},"r12":{"value":13126921765},"rcx":{"value":0},"flavor":"x86_THREAD_STATE","rdi":{"value":4609430107,"symbolLocation":6212,"symbol":"QUrl::setUrl(QString const&, QUrl::ParsingMode)::delims"}},"queue":"com.apple.main-thread","frames":[{"imageOffset":1097634,"symbol":"normalizeTypeInternal(char const*, char const*, bool, bool)","symbolLocation":792,"imageIndex":0},{"imageOffset":1086315,"symbol":"qNormalizeType(char*, int&, QByteArray&)","symbolLocation":146,"imageIndex":0},{"imageOffset":1085819,"symbol":"QMetaObject::normalizedType(char const*)","symbolLocation":211,"imageIndex":0},{"imageOffset":1101125,"symbol":"QMetaType::registerType(char const*, void ()(void), void* ()(void const))","symbolLocation":93,"imageIndex":0},{"imageOffset":9206,"symbol":"int qRegisterMetaType<PyQt_PyObject>(char const*, PyQt_PyObject*)","symbolLocation":47,"imageIndex":1},{"imageOffset":8787,"symbol":"qpycore_post_init(object*)","symbolLocation":291,"imageIndex":1},{"imageOffset":653144,"symbol":"PyImport_LoadDynamicModule","symbolLocation":140,"imageIndex":2},{"imageOffset":651759,"symbol":"imp_load_module","symbolLocation":243,"imageIndex":2},{"imageOffset":566586,"symbol":"PyEval_EvalFrameEx","symbolLocation":27019,"imageIndex":2},{"imageOffset":539071,"symbol":"PyEval_EvalCodeEx","symbolLocation":1618,"imageIndex":2},{"imageOffset":168072,"symbol":"function_call","symbolLocation":350,"imageIndex":2},{"imageOffset":44693,"symbol":"PyObject_Call","symbolLocation":99,"imageIndex":2},{"imageOffset":88935,"symbol":"instancemethod_call","symbolLocation":173,"imageIndex":2},{"imageOffset":44693,"symbol":"PyObject_Call","symbolLocation":99,"imageIndex":2},{"imageOffset":45091,"symbol":"call_function_tail","symbolLocation":72,"imageIndex":2},{"imageOffset":45596,"symbol":"PyObject_CallMethod","symbolLocation":231,"imageIndex":2},{"imageOffset":648276,"symbol":"import_submodule","symbolLocation":267,"imageIndex":2},{"imageOffset":647208,"symbol":"load_next","symbolLocation":280,"imageIndex":2},{"imageOffset":643648,"symbol":"PyImport_ImportModuleLevel","symbolLocation":1185,"imageIndex":2},{"imageOffset":520125,"symbol":"builtin___import","symbolLocation":135,"imageIndex":2},{"imageOffset":44693,"symbol":"PyObject_Call","symbolLocation":99,"imageIndex":2},{"imageOffset":580395,"symbol":"PyEval_CallObjectWithKeywords","symbolLocation":165,"imageIndex":2},{"imageOffset":560355,"symbol":"PyEval_EvalFrameEx","symbolLocation":20788,"imageIndex":2},{"imageOffset":539071,"symbol":"PyEval_EvalCodeEx","symbolLocation":1618,"imageIndex":2},{"imageOffset":537447,"symbol":"PyEval_EvalCode","symbolLocation":48,"imageIndex":2},{"imageOffset":8393,"imageIndex":3},{"imageOffset":9882,"imageIndex":3},{"imageOffset":3780,"imageIndex":3}]},{"id":118336,"name":"com.apple.rosetta.exceptionserver","frames":[{"imageOffset":18660,"imageIndex":4},{"imageOffset":71976,"imageIndex":4},{"imageOffset":77988,"imageIndex":4}]},{"id":118337,"frames":[{"imageOffset":141332,"imageIndex":4}]},{"id":118338,"frames":[{"imageOffset":141332,"imageIndex":4}]},{"id":118344,"frames":[{"imageOffset":141332,"imageIndex":4}]}], "usedImages" : [ { "source" : "P", "arch" : "x86_64", "base" : 4607733760, "size" : 2584576, "uuid" : "2878eedc-9ce1-3944-9514-c858d0d82326", "path" : "/Applications/MOSAIC.app/Contents/MacOS/QtCore", "name" : "QtCore" }, { "source" : "P", "arch" : "x86_64", "base" : 4598697984, "size" : 1400832, "uuid" : "5b5264e0-aac9-338d-be10-a6843cf0893a", "path" : "/Applications/MOSAIC.app/Contents/MacOS/PyQt4.QtCore.so", "name" : "PyQt4.QtCore.so" }, { "source" : "P", "arch" : "x86_64", "base" : 4579270656, "size" : 1007616, "uuid" : "9a53817f-2101-3965-9831-1db81d851fba", "path" : "/Applications/MOSAIC.app/Contents/MacOS/.Python", "name" : ".Python" }, { "source" : "P", "arch" : "x86_64", "base" : 4374122496, "CFBundleShortVersionString" : "1.3.6", "CFBundleIdentifier" : "MOSAIC", "size" : 28672, "uuid" : "32ab4b3f-56df-3c81-b3ee-2215ac410955", "path" : "/Applications/MOSAIC.app/Contents/MacOS/MOSAIC", "name" : "MOSAIC" }, { "source" : "P", "arch" : "arm64", "base" : 140703125061632, "size" : 196608, "uuid" : "9f5d65be-d8d0-3979-bb05-e651a67e785c", "path" : "/usr/libexec/rosetta/runtime", "name" : "runtime" } ], "sharedCache" : { "base" : 140703437946880, "size" : 15215640576, "uuid" : "b5084610-afe4-3485-bade-628c4468b057" }, "vmSummary" : "ReadOnly portion of Libraries: Total=882.7M resident=0K(0%) swapped_out_or_unallocated=882.7M(100%)\nWritable regions: Total=1.2G written=0K(0%) resident=0K(0%) swapped_out=0K(0%) unallocated=1.2G(100%)\n\n VIRTUAL REGION \nREGION TYPE SIZE COUNT (non-coalesced) \n=========== ======= ======= \nActivity Tracing 256K 1 \nKernel Alloc Once 8K 1 \nMALLOC 206.1M 24 \nMALLOC guard page 96K 4 \nMALLOC_MEDIUM (reserved) 480.0M 4 reserved VM address space (unallocated)\nMALLOC_NANO (reserved) 384.0M 1 reserved VM address space (unallocated)\nRosetta Arena 4096K 2 \nRosetta Generic 1008K 249 \nRosetta IndirectBranch 192K 2 \nRosetta JIT 128.0M 1 \nRosetta Return Stack 80K 8 \nRosetta Thread Context 80K 8 \nSTACK GUARD 12K 3 \nStack 9772K 4 \nStack Guard 56.0M 1 \nVM_ALLOCATE 17.3M 65 \n__DATA 15.5M 273 \n__DATA_CONST 8557K 144 \n__DATA_DIRTY 310K 80 \n__FONT_DATA 4K 1 \n__LINKEDIT 708.5M 44 \n__OBJC_RO 81.6M 1 \n__OBJC_RW 3120K 2 \n__TEXT 174.2M 283 \n__UNICODE 588K 1 \ndyld private memory 1024K 1 \nmapped file 5.0G 400 \nshared memory 800K 12 \nunshared pmap 2288K 2 \n=========== ======= ======= \nTOTAL 7.3G 1622 \nTOTAL, minus reserved VM space 6.4G 1622 \n", "legacyInfo" : { "threadTriggered" : { "queue" : "com.apple.main-thread" } }, "trialInfo" : { "rollouts" : [ { "rolloutId" : "601d9415f79519000ccd4b69", "factorPackIds" : { "SIRI_TEXT_TO_SPEECH" : "6194416dea7ed64a7812a429" }, "deploymentId" : 240000322 }, { "rolloutId" : "5fc94383418129005b4e9ae0", "factorPackIds" : {

      },
      "deploymentId" : 240000162
    },
    {
      "rolloutId" : "607844aa04477260f58a8077",
      "factorPackIds" : {
        "SIRI_MORPHUN_ASSETS" : "6103050cbfe6dc472e1c982a"
      },
      "deploymentId" : 240000066
    },
    {
      "rolloutId" : "602ad4dac86151000cf27e46",
      "factorPackIds" : {
        "SIRI_DICTATION_ASSETS" : "61a69939b1c7c7620ce6e408"
      },
      "deploymentId" : 240000285
    },
    {
      "rolloutId" : "5ffde50ce2aacd000d47a95f",
      "factorPackIds" : {
    
      },
      "deploymentId" : 240000076
    },
    {
      "rolloutId" : "60da5e84ab0ca017dace9abf",
      "factorPackIds" : {
    
      },
      "deploymentId" : 240000008
    }
    

    ], "experiments" : [

    ] } }

    Model: MacBookPro18,3, BootROM 7429.41.5, proc 10:8:2 processors, 16 GB, SMC Graphics: Apple M1 Pro, Apple M1 Pro, Built-In Display: Color LCD, 3024 x 1964 Retina, Main, MirrorOff, Online Memory Module: LPDDR5 AirPort: Wi-Fi, wl0: Sep 24 2021 15:49:44 version 20.10.853.23.8.7.106 FWID 01-78e271b2 Bluetooth: Version (null), 0 services, 0 devices, 0 incoming serial ports Network Service: Wi-Fi, AirPort, en0 USB Device: USB31Bus USB Device: USB31Bus USB Device: USB3.0 Hub USB Device: USB 10/100/1000 LAN USB Device: Elements SE 2623 USB Device: USB2.0 Hub USB Device: USB 2.0 Hub USB Device: USB Receiver USB Device: USB Billboard Device USB Device: USB31Bus Thunderbolt Bus: MacBook Pro, Apple Inc. Thunderbolt Bus: MacBook Pro, Apple Inc. Thunderbolt Bus: MacBook Pro, Apple Inc.

    bug Installation 
    opened by LynneHomels 7
  • Feature request: Remarks or custom SQL field for metadata tagging

    Feature request: Remarks or custom SQL field for metadata tagging

    It would be useful to have a "remarks" field in the SQLite database that allows events to be tagged with user data, e.g. a voltage or buffer conditions that may change between files or even within a file.

    Alternatively, the database could contain additional fields for "settings" values that aren't otherwise used.

    enhancement Data I/O 
    opened by hoogerheide 0
  • Database locked

    Database locked

    Problem: When using GUI to analyze a very long data set (time series written out), gui stalled. Error suggests problem writing to database. This error occurred after ~100k events written out. (total size of db was ~500MB). To my knowledge, user was not manually updating the BD histogram when this error occurred. Commit Version: 53e7a14499bb517b0be063c1b73031a6cc9c2545

    Notes Is it possible this problem is due to the processing thread and GUI trying to access the database at the same time? As the number of events gets large the query time for the BD histogram increases.

    Console output:

    Traceback (most recent call last):
      File "/Users/hnw5/Projects/mosaic/mosaicgui/fiteventsview/fiteventsview.py", line 254, in OnEventIndexLineEditChange
        self.eventIndex=int(self.eventIndexLineEdit.text())
    ValueError: invalid literal for int() with base 10: ''
    
    Traceback (most recent call last):
      File "/Users/hnw5/Projects/mosaic/mosaicgui/fiteventsview/fiteventsview.py", line 254, in OnEventIndexLineEditChange
        self.eventIndex=int(self.eventIndexLineEdit.text())
    ValueError: invalid literal for int() with base 10: ''
    database is locked
    database is locked
    
    Process Process-1:
    Traceback (most recent call last):
      File "/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python2.7/multiprocessing/process.py", line 258, in _bootstrap
        self.run()
      File "/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python2.7/multiprocessing/process.py", line 114, in run
        self._target(*self._args, **self._kwargs)
      File "/Users/hnw5/Projects/mosaic/mosaic/apps/SingleChannelAnalysis.py", line 42, in run_eventpartition
        EventPartition.PartitionEvents()
      File "/Users/hnw5/Projects/mosaic/mosaic/partition/metaEventPartition.py", line 198, in PartitionEvents
        self._writeanalysisinfo()
      File "/Users/hnw5/Projects/mosaic/mosaic/partition/metaEventPartition.py", line 296, in _writeanalysisinfo
        self.FsHz
      File "/Users/hnw5/Projects/mosaic/mosaic/mdio/sqlite3MDIO.py", line 170, in writeAnalysisInfo
        self.db.execute( 'INSERT INTO analysisinfo VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)',  (infolist+[mosaic.__version__, mosaic.__build__, None]))
    OperationalError: database is locked
    ^C^CTraceback (most recent call last):
      File "/Users/hnw5/Projects/mosaic/mosaicgui/statisticsview/statisticsview.py", line 251, in OnAppIdle
        def OnAppIdle(self):
    KeyboardInterrupt
    
    bug GUI 
    opened by forstater 5
Releases(v2.2)
Owner
National Institute of Standards and Technology
Department of Commerce
National Institute of Standards and Technology
An interactive explorer for single-cell transcriptomics data

an interactive explorer for single-cell transcriptomics data cellxgene (pronounced "cell-by-gene") is an interactive data explorer for single-cell tra

Chan Zuckerberg Initiative 424 Dec 15, 2022
An open-source application for biological image analysis

CellProfiler is a free open-source software designed to enable biologists without training in computer vision or programming to quantitatively measure

CellProfiler 734 Jan 8, 2023
🍊 :bar_chart: :bulb: Orange: Interactive data analysis

Orange Data Mining Orange is a data mining and visualization toolbox for novice and expert alike. To explore data with Orange, one requires no program

Bioinformatics Laboratory 3.9k Jan 5, 2023
Validated, scalable, community developed variant calling, RNA-seq and small RNA analysis

Validated, scalable, community developed variant calling, RNA-seq and small RNA analysis. You write a high level configuration file specifying your in

Blue Collar Bioinformatics 915 Dec 29, 2022
We envision models that are pre-trained on a vast range of domain-relevant tasks to become key for molecule property prediction

We envision models that are pre-trained on a vast range of domain-relevant tasks to become key for molecule property prediction. This repository aims to give easy access to state-of-the-art pre-trained models.

GMUM 90 Jan 8, 2023
Explainer for black box models that predict molecule properties

Explaining why that molecule exmol is a package to explain black-box predictions of molecules. The package uses model agnostic explanations to help us

White Laboratory 172 Dec 19, 2022
Using pretrained GROVER to extract the atomic fingerprints from molecule

Extracting atomic fingerprints from molecules using pretrained Graph Neural Network models (GROVER).

Xuan Vu Nguyen 1 Jan 28, 2022
Modeval (or Modular Eval) is a modular and secure string evaluation library that can be used to create custom parsers or interpreters.

modeval Modeval (or Modular Eval) is a modular and secure string evaluation library that can be used to create custom parsers or interpreters. Basic U

null 2 Jan 1, 2022
Modeval (or Modular Eval) is a modular and secure string evaluation library that can be used to create custom parsers or interpreters.

modeval Modeval (or Modular Eval) is a modular and secure string evaluation library that can be used to create custom parsers or interpreters. Basic U

null 2 Jan 1, 2022
Craxk is a SINGLE AND NON-REPLICABLE Hash that uses data from the hardware where it is executed to form a hash that can only be reproduced by a single machine.

What is Craxk ? Craxk is a UNIQUE AND NON-REPLICABLE Hash that uses data from the hardware where it is executed to form a hash that can only be reprod

null 5 Jun 19, 2021
A customized interface for single cell track visualisation based on pcnaDeep and napari.

pcnaDeep-napari A customized interface for single cell track visualisation based on pcnaDeep and napari. ?? Under construction You can get test image

ChanLab 2 Nov 7, 2021
Clarity mode is a single-notebook interface built with existing JupyterLab components.

JupyterLab Clarity Mode Clarity mode is a single-notebook interface built with existing JupyterLab components. To install: Clone this repository Ensur

null 10 Jul 20, 2022
labsecurity is a tool that brings together python scripts made for ethical hacking, in a single tool, through a console interface

labsecurity labsecurity is a tool that brings together python scripts made for ethical hacking, in a single tool, through a console interface. Warning

Dylan Meca 16 Dec 8, 2022
ROS-UGV-Control-Interface - Control interface which can be used in any UGV

ROS-UGV-Control-Interface Cam Closed: Cam Opened:

Ahmet Fatih Akcan 1 Nov 4, 2022
3D plotting and mesh analysis through a streamlined interface for the Visualization Toolkit (VTK)

PyVista Deployment Build Status Metrics Citation License Community 3D plotting and mesh analysis through a streamlined interface for the Visualization

PyVista 1.6k Jan 8, 2023
3D plotting and mesh analysis through a streamlined interface for the Visualization Toolkit (VTK)

PyVista Deployment Build Status Metrics Citation License Community 3D plotting and mesh analysis through a streamlined interface for the Visualization

PyVista 692 Feb 18, 2021
A light-weight, modular, message representation and mail delivery framework for Python.

Marrow Mailer A highly efficient and modular mail delivery framework for Python 2.6+ and 3.2+, formerly called TurboMail. © 2006-2019, Alice Bevan-McG

Marrow Open Source Collective 255 Dec 28, 2022
A modular active learning framework for Python

Modular Active Learning framework for Python3 Page contents Introduction Active learning from bird's-eye view modAL in action From zero to one in a fe

modAL 1.9k Dec 31, 2022
🔥 Cogitare - A Modern, Fast, and Modular Deep Learning and Machine Learning framework for Python

Cogitare is a Modern, Fast, and Modular Deep Learning and Machine Learning framework for Python. A friendly interface for beginners and a powerful too

Cogitare - Modern and Easy Deep Learning with Python 76 Sep 30, 2022