Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. Model with large data from file

Model with large data from file

Scheduled Pinned Locked Moved Unsolved General and Desktop
17 Posts 3 Posters 6.0k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • mrjjM Offline
    mrjjM Offline
    mrjj
    Lifetime Qt Champion
    wrote on last edited by mrjj
    #2

    Hi
    What format is that huge file?
    You are free to do what ever u like in data().

    update:
    there is
    http://doc.qt.io/qt-5/qcache.html#details

    Update 2:
    Maybe
    http://doc.qt.io/qt-5/qfiledevice.html#map
    could be used. to only map a segment of data.
    but really depends on format.

    1 Reply Last reply
    0
    • D Offline
      D Offline
      dridk2
      wrote on last edited by
      #3

      It's a tabular data, contaning genom data !

      1 Reply Last reply
      0
      • D Offline
        D Offline
        dridk
        wrote on last edited by
        #4

        Damn.. I have 2 Qt account !
        So, yes I will look on qCache! It looks greate!

        Nothing in Biology Makes Sense Except in the Light of Evolution

        mrjjM 1 Reply Last reply
        0
        • D dridk

          Damn.. I have 2 Qt account !
          So, yes I will look on qCache! It looks greate!

          mrjjM Offline
          mrjjM Offline
          mrjj
          Lifetime Qt Champion
          wrote on last edited by
          #5

          @dridk2 said:

          tabular data

          Ok, so is each row is same size or will it be very different ?

          D 1 Reply Last reply
          0
          • mrjjM mrjj

            @dridk2 said:

            tabular data

            Ok, so is each row is same size or will it be very different ?

            D Offline
            D Offline
            dridk
            wrote on last edited by
            #6

            @mrjj Same size !
            Something like :

            chromosom start end value
            1 435345 234234234 A
            1 4234234 23423424 C
            1 13232 5534534 T

            Nothing in Biology Makes Sense Except in the Light of Evolution

            mrjjM 1 Reply Last reply
            0
            • D Offline
              D Offline
              dridk
              wrote on last edited by dridk
              #7

              So I would like to do something like :

              QCache<int, MyItem > datas; 
              
              model::data(QModelIndex index) 
                 {
                 return datas[index.row()]
                 }
              

              Nothing in Biology Makes Sense Except in the Light of Evolution

              1 Reply Last reply
              0
              • D dridk

                @mrjj Same size !
                Something like :

                chromosom start end value
                1 435345 234234234 A
                1 4234234 23423424 C
                1 13232 5534534 T

                mrjjM Offline
                mrjjM Offline
                mrjj
                Lifetime Qt Champion
                wrote on last edited by
                #8

                @dridk
                Ok so binary or text format ?
                3 GB of such lines. wow :)
                must be many millions.

                D 1 Reply Last reply
                0
                • mrjjM mrjj

                  @dridk
                  Ok so binary or text format ?
                  3 GB of such lines. wow :)
                  must be many millions.

                  D Offline
                  D Offline
                  dridk
                  wrote on last edited by dridk
                  #9

                  @mrjj Yes text format ! It's your DNA ! 3 billons of letter A,C,G,T !

                  I m starting a new application : a genom browser ! Alternative of this web application : UCSC

                  Nothing in Biology Makes Sense Except in the Light of Evolution

                  1 Reply Last reply
                  0
                  • mrjjM Offline
                    mrjjM Offline
                    mrjj
                    Lifetime Qt Champion
                    wrote on last edited by
                    #10

                    Im not sure cache will make you happy.
                    But yes something like that.

                    But I worry about filling the cache.
                    as file seek into such file is expensive too.

                    How big section of the data do u need to have loaded at any given time?

                    D 1 Reply Last reply
                    0
                    • mrjjM mrjj

                      Im not sure cache will make you happy.
                      But yes something like that.

                      But I worry about filling the cache.
                      as file seek into such file is expensive too.

                      How big section of the data do u need to have loaded at any given time?

                      D Offline
                      D Offline
                      dridk
                      wrote on last edited by
                      #11

                      @mrjj This the main difficulty ! The view is a painted widget ! Where you can zoom in/out, drag left and right !
                      Imagine a very large horizontal scrollable plot ! This is it ! So, that's mean, I have to fit the cache with the current view zoom level ! ... Looks difficults!

                      Nothing in Biology Makes Sense Except in the Light of Evolution

                      mrjjM 1 Reply Last reply
                      0
                      • D dridk

                        @mrjj This the main difficulty ! The view is a painted widget ! Where you can zoom in/out, drag left and right !
                        Imagine a very large horizontal scrollable plot ! This is it ! So, that's mean, I have to fit the cache with the current view zoom level ! ... Looks difficults!

                        mrjjM Offline
                        mrjjM Offline
                        mrjj
                        Lifetime Qt Champion
                        wrote on last edited by
                        #12

                        @dridk

                        Yes it sounds somewhat/very complex.
                        Normally plot widgets die around some millions plots.
                        Each "DNA" is that just a dot or does it have lines etc?

                        Is this file u fool around with , available from
                        https://genome.ucsc.edu

                        1 Reply Last reply
                        0
                        • D Offline
                          D Offline
                          dridk
                          wrote on last edited by
                          #13

                          Briefly, the DNA is a string of 3 billions of A,C,G,T .
                          They are many extra data containing feature of dna. For exemple :
                          between positionA and positionB, they are a gene. Those features are saved into different file format , and always have this fields avaible : posA, posB, value1, value2...

                          So, I want to make a genome browser, which show "track" aligned with DNA. It can have many track. For exemple, this picture is a genome browser showing :

                          https://www.youtube.com/watch?v=HnVrjj0RmOg

                          And this screenshot which show different tracks :
                          http://www.cureffi.org/wp-content/uploads/2013/03/ucsc-genome-browser-mapability-gc-percent-highlighted-1024x440.png

                          All data are avaible from UCSC table browser :
                          https://genome-euro.ucsc.edu/cgi-bin/hgTables?hgsid=212129308_3BqNFprOMlddL1eZgG2seuarNOqp

                          Nothing in Biology Makes Sense Except in the Light of Evolution

                          mrjjM 1 Reply Last reply
                          0
                          • D dridk

                            Briefly, the DNA is a string of 3 billions of A,C,G,T .
                            They are many extra data containing feature of dna. For exemple :
                            between positionA and positionB, they are a gene. Those features are saved into different file format , and always have this fields avaible : posA, posB, value1, value2...

                            So, I want to make a genome browser, which show "track" aligned with DNA. It can have many track. For exemple, this picture is a genome browser showing :

                            https://www.youtube.com/watch?v=HnVrjj0RmOg

                            And this screenshot which show different tracks :
                            http://www.cureffi.org/wp-content/uploads/2013/03/ucsc-genome-browser-mapability-gc-percent-highlighted-1024x440.png

                            All data are avaible from UCSC table browser :
                            https://genome-euro.ucsc.edu/cgi-bin/hgTables?hgsid=212129308_3BqNFprOMlddL1eZgG2seuarNOqp

                            mrjjM Offline
                            mrjjM Offline
                            mrjj
                            Lifetime Qt Champion
                            wrote on last edited by
                            #14

                            @dridk
                            Ok. thank you for the info.
                            I see what you try to make. Interesting.

                            Since you are viewing a segment at a time, maybe a memory mapped file
                            approach is suitable?

                            is the platform windows or linux?

                            D 1 Reply Last reply
                            0
                            • mrjjM mrjj

                              @dridk
                              Ok. thank you for the info.
                              I see what you try to make. Interesting.

                              Since you are viewing a segment at a time, maybe a memory mapped file
                              approach is suitable?

                              is the platform windows or linux?

                              D Offline
                              D Offline
                              dridk
                              wrote on last edited by
                              #15

                              @mrjj Should be avaible everywhere. Why this question ?

                              Nothing in Biology Makes Sense Except in the Light of Evolution

                              D mrjjM 2 Replies Last reply
                              0
                              • D dridk

                                @mrjj Should be avaible everywhere. Why this question ?

                                D Offline
                                D Offline
                                dridk
                                wrote on last edited by
                                #16

                                @dridk I see one segment at a time.. But I want to have the feeling that you can move smoothy without any load

                                Nothing in Biology Makes Sense Except in the Light of Evolution

                                1 Reply Last reply
                                0
                                • D dridk

                                  @mrjj Should be avaible everywhere. Why this question ?

                                  mrjjM Offline
                                  mrjjM Offline
                                  mrjj
                                  Lifetime Qt Champion
                                  wrote on last edited by
                                  #17

                                  @dridk
                                  well both platforms supports mem files.
                                  I have not tried Qt version so was just to know.
                                  I have used it on windows with native API to fool around in 23 GB image.

                                  But it seems Qt support this crossplatform.

                                  1 Reply Last reply
                                  0

                                  • Login

                                  • Login or register to search.
                                  • First post
                                    Last post
                                  0
                                  • Categories
                                  • Recent
                                  • Tags
                                  • Popular
                                  • Users
                                  • Groups
                                  • Search
                                  • Get Qt Extensions
                                  • Unsolved