Q2-fragment-insertion community plugin

Hi QIIME community,

with a lot of help from other people at the Knightlab and Siavash I am happy to say that we now have a first version of the “q2-fragment-insertion” plugin ready. Plugin code lives at https://github.com/biocore/q2-fragment-insertion. It is also conda installable from https://anaconda.org/biocore/q2-fragment-insertion
(Right now I am looking for a suitable OSx machine to compile and push the current version for OSx Done. Thanks Tomasz.)

I am looking forward to your comments. Please check it out and try to break it :slight_smile: There is a motivation section on the github page and a small tutorial, based on the Moving Pictures tutorial in QIIME 2.

Happy Thanksgiving,
Stefan

6 Likes

I attempted to use the q2-fragment-insertion plugin, but I had trouble installing the plugin. Is there a simple way to resolve this error I received?
Packages missing in current channels: - q2-fragment-insertion -> java-jdk

Thank you again for your assistance!

Hi Aeriel,
sounds like your conda installation misses some channel to find proper java-jdk packages. Try to manually add “-c bioconda” to the installation command, i.e. try to execute conda install -c biocore -c https://conda.anaconda.org/biocore q2-fragment-insertion
Best,
Stefan

@Stefan, I just reinstalled qiime2 using the new install instructions (yaml file). I tried to install the q2-fragment-insertion plugin using the following command:
conda install -c https://conda.anaconda.org/biocore q2-fragment-insertion
and got the following error.

PackagesNotFoundError: The following packages are not available from current channels:

  • q2-fragment-insertion
  • fragment-insertion==4.3.4b
  • java-jdk

Thanks!
Se Jin

Hi Se Jin,
do you install on OSX or Linux, e.g. barnacle?

I just tried installation in a fresh conda env:

barnacle x86_64 ~>wget https://data.qiime2.org/distro/core/qiime2-2017.12-py35-linux-conda.yml
--2018-01-26 12:38:37--  https://data.qiime2.org/distro/core/qiime2-2017.12-py35-linux-conda.yml
Resolving data.qiime2.org... 104.27.170.158, 104.27.171.158, 2400:cb00:2048:1::681b:ab9e, ...
Connecting to data.qiime2.org|104.27.170.158|:443... connected.
HTTP request sent, awaiting response... 302 FOUND
Location: https://raw.githubusercontent.com/qiime2/environment-files/master/2017.12/release/qiime2-2017.12-py35-linux-conda.yml [following]
--2018-01-26 12:38:37--  https://raw.githubusercontent.com/qiime2/environment-files/master/2017.12/release/qiime2-2017.12-py35-linux-conda.yml
Resolving raw.githubusercontent.com... 151.101.196.133
Connecting to raw.githubusercontent.com|151.101.196.133|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 4376 (4.3K) [text/plain]
Saving to: “qiime2-2017.12-py35-linux-conda.yml”

100%[======================================>] 4,376       --.-K/s   in 0s      

2018-01-26 12:38:37 (72.1 MB/s) - “qiime2-2017.12-py35-linux-conda.yml” saved [4376/4376]

barnacle x86_64 ~>conda env create -n qiime2-2017.12_sejin --file qiime2-2017.12-py35-linux-conda.yml

Using Anaconda Cloud api site https://api.anaconda.org
Solving environment: done

Downloading and Extracting Packages
ijson 2.3: ############################################################# | 100% 
scikit-bio 0.5.1: ###################################################### | 100% 
Preparing transaction: done
Verifying transaction: done
Executing transaction: \ dbus post-link :: /etc/machine-id not found ..
dbus post-link :: .. using /proc/sys/kernel/random/boot_id

done
#
# To activate this environment, use:
# > source activate qiime2-2017.12_sejin
#
# To deactivate an active environment, use:
# > source deactivate
#

barnacle x86_64 ~># OPTIONAL CLEANUP
barnacle x86_64 ~>rm qiime2-2017.12-py35-linux-conda.yml
barnacle x86_64 ~>conda install -c https://conda.anaconda.org/biocore q2-fragment-insertion
^Cbarnacle x86_64 ~>^C
barnacle x86_64 ~>^C
barnacle x86_64 ~>source activate qiime2-2017.12_sejin
(qiime2-2017.12_sejin) barnacle x86_64 ~>conda install -c https://conda.anaconda.org/biocore q2-fragment-insertion
Solving environment: done

## Package Plan ##

  environment location: /home/sjanssen/miniconda3/envs/qiime2-2017.12_sejin

  added / updated specs: 
    - q2-fragment-insertion


The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    q2-fragment-insertion-0.2017.12|           py35_1         4.2 MB  biocore
    fragment-insertion-4.3.4b  |           py35_0        74.2 MB  biocore
    ------------------------------------------------------------
                                           Total:        78.4 MB

The following NEW packages will be INSTALLED:

    fragment-insertion:    4.3.4b-py35_0     biocore    
    java-jdk:              8.0.92-1          bioconda   
    nodejs:                6.11.2-h3db8ef7_0 anaconda   
    q2-fragment-insertion: 0.2017.12-py35_1  biocore    

The following packages will be UPDATED:

    certifi:               2017.11.5-py35_0  conda-forge --> 2017.11.5-py35h9749603_0 anaconda
    openssl:               1.0.2n-0          conda-forge --> 1.0.2n-hb7f436b_0        anaconda

Proceed ([y]/n)? y


Downloading and Extracting Packages
q2-fragment-insertion 0.2017.12: ######################################################################### | 100% 
fragment-insertion 4.3.4b: ############################################################################### | 100% 
Preparing transaction: done
Verifying transaction: done
Executing transaction: done
(qiime2-2017.12_sejin) barnacle x86_64 ~>qiime dev refresh-cache
QIIME is caching your current deployment for improved performance. This may take a few moments and should only happen once per deployment.
(qiime2-2017.12_sejin) barnacle x86_64 ~>qiime fragment-insertion sepp --help
Usage: qiime fragment-insertion sepp [OPTIONS]

  Perform fragment insertion of 16S sequences using the SEPP algorithm
  against the Greengenes 13_8 99% tree.

Options:
  --i-representative-sequences ARTIFACT PATH FeatureData[Sequence]
                                  The sequences to insert  [required]
  --p-threads INTEGER             The number of threads to use  [default: 1]
  --p-alignment-subset-size INTEGER
                                  Each placement subset is further broken into
                                  subsets of at most these many sequences and
                                  a separate HMM is trained on each subset.
                                  The default alignment subset size is set to
                                  balance the exhaustiveness of the alignment
                                  step with the running time.  [default: 1000]
  --p-placement-subset-size INTEGER
                                  The tree is divided into subsets such that
                                  each subset includes at most these many
                                  subsets. The placement step places the
                                  fragment on only one subset, determined
                                  based on alignment scores. The default
                                  placement subset is set to make sure the
                                  memory requirement of the pplacer step does
                                  not become prohibitively large.
                                  Further
                                  reading: https://github.com/smirarab/sepp/bl
                                  ob/master/tutorial/sepp-tutorial.md#sample-
                                  datasets-default-parameters  [default: 5000]
  --i-reference-alignment ARTIFACT PATH FeatureData[AlignedSequence]
                                  The reference multiple nucleotide alignment
                                  used to construct the reference phylogeny.
                                  [optional]
  --i-reference-phylogeny ARTIFACT PATH Phylogeny[Rooted]
                                  The rooted reference phylogeny. Must be in
                                  sync with reference-alignment, i.e. each tip
                                  name must have exactly one corresponding
                                  record.  [optional]
  --o-tree ARTIFACT PATH Phylogeny[Rooted]
                                  The tree with inserted feature data
                                  [required if not passing --output-dir]
  --o-placements ARTIFACT PATH Placements
                                  [required if not passing --output-dir]
  --output-dir DIRECTORY          Output unspecified results to a directory
  --cmd-config PATH               Use config file for command options
  --verbose                       Display verbose output to stdout and/or
                                  stderr during execution of this action.
                                  [default: False]
  --quiet                         Silence output if execution is successful
                                  (silence is golden).  [default: False]
  --help                          Show this message and exit.

Looks all good, but Tomasz also reported some dependency issues. I will investigate…

what might have an impact is are the default channels defined in my ~/.condarc:

channels:
  - anaconda
  - defaults
  - conda-forge
  - biocore
  - bioconda

Ah, that did it. After I defined my default channels, it worked.

Thanks!

An off-topic reply has been split into a new topic: Q2-fragment-insertion reference info

Please keep replies on-topic in the future.