Bienvenue sur le forum !

Si vous souhaitez rejoindre la communauté, cliquez sur l'un de ces boutons !

Qt 5 : 5.9.1 - Qt Creator : 4.4.0 - Qt Installer : 2.0.3 - JOM : 1.1.2 - Qt Build suite : 1.7.0 - VS Qt 5 : 2.0.0

Genome Browser

Bon, avec d'autres étudiants, nous voulons faire un genome browser !
Ca ressemble à ça : https://genome-euro.ucsc.edu/cgi-bin/hgTracks?db=hg38&lastVirtModeType=default&lastVirtModeExtraState=&virtModeType=default&virtMode=0&nonVirtPosition=&position=chr9:133252000-133280861&hgsid=212130061_QrH8ba470gpBu5aLuLOPnatkt4dK

En gros, il s'agit d'afficher horizontalement les 3 milliards de base ( A,C,G,T) de l'ADN humain ! On pourra zoomer dessous, et faire des scroll left/right!
Sous ces 3 milliards de bases, on affiche les differents features de l'ADN ! L'endroit ou y a des genes, des mutations, le pourcentage en GC, etc etc...

Bref, C'est surtout une question que je veux poster ! Sachant que ces données sont volumineuse ( parfois plus de 4 gb ) , comment faire pour les afficher !

J'ai déjà pensé à utiliser un QAbstractItemModel pour faire l'interface entre le fichier de donnée et la vue! La vue est un widget dessiner avec QPainter.
Je vais pas tout charger en mémoire... Donc que me conseillez vous ? De faire de la lecture direct sur le fichier via file.seek ou file.map ? Ou alors d'utiliser QCache ?
Et pour le dessin, comment je fais pour avoir mes plots "infini" en scrollant horizontalement ?
Bref j'attend vous suggestion !








Réponses

  • Un exemple de ce que je veux :

    http://jbrowse.org/genomes/dmel/
  • Bonjour,
    pour le model et le cache, j'ai répondu dans ton autre post.
    Pour le dessin, si tu utilises QPainter et un widget avec scrollbar, alors il faut s'arranger pour ne dessiner que ce qui se trouve dans la zone visible du widget, sinon les perfs ne seront pas top.
    Sinon pour avoir de bonne perfs pour le rendu, peut-être en passant par de l'OpenGL, même si tu ne fais que de la 2d.
    Mais l'implémentation risque de te demander plus de travail. Et c'est peut être en peu plus galère pour le rendu du texte.
  • Bonjour, est ce que ce projet a avoir avec les services que proposent les navigateurs génome comme Dalliance, Chipmonk, Ergo, GeneWall et tous les autres ? Merci pour votre réponse.
Connectez-vous ou Inscrivez-vous pour répondre.