broadinstitute / poolq

The Genetic Perturbation Platform's tool for deconvoluting and quantifying the results of pooled screens
Other
5 stars 1 forks source link

Replace scopt with decline #3

Open mtomko opened 1 year ago

mtomko commented 1 year ago

Replace the scopt command-line parser with decline

In doing so, the config objects could be significantly reworked or simplified, for instance the myriad of fields related to specifying the input files could be replaced with an ADT such as:

import java.nio.file.Path

import cats.data.{NonEmptyList => Nel}

sealed trait ReadsSource extends Product with Serializable

object ReadsSource {

  final case class SelfContained(path: Nel[Path]) extends ReadsSource
  final case class Split(index: Nel[Path], forward: Nel[Path]) extends ReadsSource
  final case class PairedEnd(index: Nel[Path], forward: Nel[Path], reverse: Nel[Path]) extends ReadsSource

}