TODO for bcbio with Debian
==========================

TL;DR
-----

We yet fail to run bcbio workflows successfully. The package builds but
tests fail. You get pretty close if installing
 * GATK (many Java dependencies not packaged)
 * qualimap (sources of Java dependencies no longer available)
manually. However, for the immediate future we suggest to install
bcbio via conda - and cordially invite to help us in bringing bcbio
to Debian.

IF YOU ARE READING THIS AND FEEL LIKE HELPING OUT - PLEASE CONTACT US
---------------------------------------------------------------------

The following is a list of packages that are used by at least one of the
workflows bcbio aggregates. A complete coverage by Debian of all these tools
seems increasingly unlikely - their packaging would take longer than the
tools' scientific lifespan, i.e. there is a new generation of problem solving
emerging and/or the workflow as a whole will have mutated in the meantime.

We yet have to find an answer to this challenge.  A series of repositories
of packages that are still waiting in the new queue for their acceptance
in the distribution is available as

 deb http://med.functional.domains/r unstable main contrib non-free
 deb http://med.functional.domains/med unstable main contrib non-free
 deb http://med.functional.domains/nim unstable main contrib non-free
 deb http://med.functional.domains/python unstable main contrib non-free
 deb http://med.functional.domains/science unstable main contrib non-free

Anyway, for quite some of our users this is to just go and use Conda.
We should also consider mixing Conda with Debian, though. But let us
first see where we are with bcbio:

Packages referenced by bioconda
-------------------------------

The following package names are listed on 
 https://bioconda.github.io/recipes/bcbio-nextgen/README.html?highlight=bcbio%20nextgen#recipe-Recipe%20&#x27;bcbio-nextgen&#x27;
To see packages impored in the source tree, run a line like
 grep -ri import | cut -f2 -d:| sed -e 's/^[ \t]*//'|grep -v ^from|grep -v except|grep -v ^abstract|sort|uniq -c|sort -n

For now this is just copy'n'pasted without much further thinking about
it. Some packages like python-dateutil may once have been added for
dependencies that only surfaced as a need because of some better testing
- for python-dateutil (once demanded by seqcluster) I am pretty much
convinced that this is no longer required.

  Unclear
        beautifulsoup4 https://www.crummy.com/software/BeautifulSoup/
        ipyparallel >=6.0.2
        ipython-cluster-helper >=0.6.1
        #py # conda-specific
        python-dateutil >=2.5.0	# likely obsolete?
        pyyaml https://pyyaml.org/wiki/PyYAML
 To be packaged
        fadapa https://github.com/fadapa/fadapa
        pycrypto
 Available in Debian but not added as a dependency (yet)
        boto
    	  dnapi https://github.com/jnktsj/DNApi
        htslib	# not called directly?
        #pip # ridiculous
        openssl >=1.1.1c,<1.1.2a
        pytest-cov
        seaborn # not called directly?
        viennarna dragged in via python3-seqcluster
        yamllint 
 Already a dependency
        pytest # an implicit python build dependency
        arrow
        bioblend
        biopython
        cyvcf2
        geneimpacts
        gffutils
        h5py
        joblib >=0.12
        logbook
        matplotlib
        msgpack-python https://msgpack.org/
        mosdepth
        python
        pandas
        psutil
        pybedtools
        pysam >=0.13.0
        pyvcf
        requests
        scipy >=1.3.0
      	seqcluster (python3-seqcluster)
        statsmodels
        tabulate
        toolz


Packages already accepted
-------------------------

Are no longer shown in this list but are added to the dependencies of
bcbio. See above for conda references to get an impression.

Packages already in the New Queue
---------------------------------

package libjs-scribl (rejected)
  https://salsa.debian.org/med-team/libjs-scribl
  http://chmille4.github.io/Scribl/
    A surprisingly neat JavaScript library to show genomic features
       Needed for DFSG-compliance of seqcluster

Packages just waiting for someone addressing the last mile for the upload
-------------------------------------------------------------------------

package pyomo (in crash space)
  https://github.com/Pyomo/pyomo
  https://salsa.debian.org/science-team/pyomo
    needed by optitype
    Status: Builds if errors in build time tests will be ignored
  gjh_asl_json recently added to archive


Packages presumed easy to package
---------------------------------

package "asl solver"
  http://www.ampl.com/netlib/ampl/solvers.tgz
    needed by gjh_asl_json

   https://bioconductor.org/packages/release/bioc/html/HTSFilter.html
     Needed by seqcluster
   needs r-bioc-edger and r-bioc-deseq (also deseq2) as build dependends which are not in Debian 


Packages of importance for basic NGS workflows with motivation beyond bcbio
---------------------------------------------------------------------------

package oncofuse
  https://salsa.debian.org/med-team/oncofuse
    Stuck over typical Java issues

package optitype
  https://salsa.debian.org/med-team/optitype (rudimentary)
    Stuck over too many dependencies


Difficult to package to the degree that one is tempted to use conda for the meantime
------------------------------------------------------------------------------------

package arvados
  https://github.com/arvados/arvados

package snpEff
  http://snpeff.sourceforge.net/
  https://salsa.debian.org/med-team/snpeff/blob/master/debian/changelog
  The packaging needs help with its dependencies:
     apfloat 1.6.3:
       https://github.com/mtommila/apfloat
       http://www.apfloat.org/apfloat_java/maven.html
     charts4j 1.3:
       https://mvnrepository.com/artifact/com.googlecode.charts4j/charts4j/1.3
     com.typesafe.akka:akka-actor 2.0.1
     distlib 0.9.1:
       https://sourceforge.net/projects/statdistlib/?source=navbar

package qsignature
   https://sourceforge.net/p/adamajava/wiki/Home/
   https://sourceforge.net/p/adamajava/wiki/qSignature/
   http://sourceforge.net/projects/adamajava/files/qsignature.tar.bz2/download
   https://sourceforge.net/p/adamajava/code/HEAD/tree/trunk/adamajava/qsignature/

Now at https://github.com/AdamaJava/adamajava

add hisat2_extract_splice_sites.py to the hisat2 package
  -> Done in Git in preparation for 2.1.0-3
  -> Added arch-indep python3-hisat2 package

package sailfish
   https://salsa.debian.org/med-team/sailfish
    FTBFS

package fgbio
  https://github.com/fulcrumgenomics/fgbio
  Anyone much into scala?

package manta
  https://github.com/Illumina/manta/
  https://salsa.debian.org/med-team/manta

package strelka
https://github.com/Illumina/strelka/releases
  - Steffen works on this one
  # Strelka self-compiles htslib with these options - we should cross-check with what we are doing
  ## Addresss sanitizer build options for htslib/samtools
  #set(HTSLIB_CFLAGS '-O0 -g -fsanitize=address -fno-omit-frame-pointer -fno-optimize-sibling-calls')


# An easy one if there was not a loss of a Java dependency
package qualimap
  https://salsa.debian.org/med-team/qualimap
  Unfortunately some of the Java code that is needed as predepenceny is simply lost see
     https://alioth-lists.debian.net/pipermail/debian-med-packaging/2016-January/038322.html


Packages no longer used by bcbio but available in Debian 
--------------------------------------------------------

package lumpy
  https://github.com/arq5x/lumpy-sv

