message: feat: transfer real analysis results into tree worker
diff: import React, { useEffect, useState } from 'react'
  +import type { NextcladeResultWasm } from 'src/workers/worker.wasm'
  +import { createWorkerPools } from 'src/workers/createWorkerPools'
  +
  import queryStr from '../../../../data/sars-cov-2/sequences.fasta'
  import treeJson from '../../../../data/sars-cov-2/tree.json'
  import refFastaStr from '../../../../data/sars-cov-2/reference.fasta'
  -import { createWorkerPools } from 'src/workers/createWorkerPools'
  -
  export async function go() {
  const { threadTreePrepare, threadParse, poolAnalyze, threadTreeFinalize } = await createWorkerPools()
  const treeStr = JSON.stringify(treeJson, null, 2)
  const treePreparedStr = await threadTreePrepare.run(treeStr, refFastaStr)
  + const nextcladeResults: NextcladeResultWasm[] = []
  threadParse.values().subscribe((seq: any) => {
  console.log({ seq })
  poolAnalyze.queue(async (worker) =>
  worker.run(seq.index, seq.seqName, seq.seq, treePreparedStr)
  .then((nextcladeResult) => {
  console.log({ nextcladeResult })
  + nextcladeResults.push(nextcladeResult)
  return nextcladeResult
  }))
  })
  @@ -25,7 +28,8 @@ export async function go() {
  console.log('threadParse.run')
  await threadParse.run(queryStr)
  - const analysisResultsStr = '[]' // FIXME: get actual results
  + const analysisResults = nextcladeResults.map(nextcladeResult => nextcladeResult.analysisResult)
  + const analysisResultsStr = JSON.stringify(analysisResults)
  console.log('threadTreeFinalize.run')
  const treeFinalStr = await threadTreeFinalize.run(treePreparedStr, refFastaStr, analysisResultsStr)
  console.log('done')
  