amnh / PCG

𝙋𝙝𝙮𝙡𝙤𝙜𝙚𝙣𝙚𝙩𝙞𝙘 𝘾𝙤𝙢𝙥𝙤𝙣𝙚𝙣𝙩 𝙂𝙧𝙖𝙥𝙝 ⸺ Haskell program and libraries for general phylogenetic graph search
28 stars 1 forks source link

Add metadata information record #131

Open Boarders opened 5 years ago

Boarders commented 5 years ago

The types of phylogenetic graphs we use are described in Bio.Graph.Constructions inside pcg-data-structures. For example a FinalDecorationDAG is described as:

type FinalDecorationDAG =
       PhylogeneticDAG
         (TraversalTopology, Double, Double, Double, Data.Vector.Vector (NonEmpty TraversalFocusEdge))
         EdgeAnnotation
         NodeLabel
         (ContinuousOptimizationDecoration ContinuousCharacter)
         (FitchOptimizationDecoration          StaticCharacter)
         (AdditiveOptimizationDecoration       StaticCharacter)
         (SankoffOptimizationDecoration        StaticCharacter)
         (SankoffOptimizationDecoration        StaticCharacter)
         (DynamicDecorationDirectOptimization DynamicCharacter)

The first field here (TraversalTopology, Double, Double, Double, Data.Vector.Vector (NonEmpty TraversalFocusEdge)) corresponds to data that is stored in the metadata sequence. I think it would be better if this were re-written as a record as it is unclear what the various parts of the tuples mean without going to look it up.