anchor.diff:  If you want to reproduce this analysis, just parse these files and construct the node and edge types from them. Just keep in mind that you loose a lot of information contained in the obo file that way, 
   as the csv files only contains term names and is-A relationships 
   
  -Parsing the csv files can be done without dependencies using this code:
  -
  -<button type="button" class="btn" data-toggle="collapse" data-target="#CsvParse">Show csv parsing code</button>
  -<div id="CsvParse" class="collapse fileExamples ">
  -*)
  -
  -(*** include:csvSample ***)
  -
  -
  -(**
  -
  -</div>
  -
  -*)
  -
  -(**
  -###Data aquisition
  -
  -First we parse the .obo file using BioFSharps Obo parser:
  -
  -*)
  -
  -open FSharpAux
  -open FSharpAux.IO
  -open BioFSharp
  -open BioFSharp.IO
  -open BioFSharp.IO.Obo
  -
  -let readFile path =
  -    FileIO.readFile path
  -    |> Obo.parseOboTerms
  -    |> Seq.toList
  -
  -(***do-not-eval***)
  -let goObo = readFile @"go.obo"
  +*)
   
   (** 
   
  
positive.code: 
  /// Creates GOEdge
  let createGOEdge i source target tc = {Id = i; Source = source; Target = target; TargetColor = tc}
  
  
  ///Node list containing all GO terms
  
negative.code:     
      Streamer.addEdge edgeConverter edge.Id edge.Source edge.Target edge
  
  (**
  To stream the nodes and edges to gephi, we use the addNode/addEdge functions on the list of nodes/edges:
  *)
  
  (***do-not-eval***)
  goNodes |> List.map addOboNode
  goEdges |> List.map addOboEdge
  
  (**
  Alternatively, when using the data parsed from the provided csv files:
  *)
  
  (***do-not-eval***)
  nodes |> List.map addOboNode
  edges |> List.map addOboEdge
  
  (**
  Thats it. in roughly 40 lines of code we streamed a complete knowledge graph with 47345 nodes and 77187 edges to gephi. The network is now ready to be explored.
  
  *)
  
  (**
  
  # Results
  