Code Monkey home page Code Monkey logo

gappa's People

Contributors

frederic-mahe avatar lczech avatar pierrebarbera avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

gappa's Issues

How to start with gappa

Hi,
I'm lucky enough to get to know Gappa. It's a versatile tool for analyzing and visualizing phylogenetic data. I want to convert a taxonomy of tab files into tree files and visualize these trees with different abundances between the groups, do something as displayed in your acticle. But it's hard for me to start with Gappa. Could you show me a tutorial or examples for this?
Although I have read you article "Genesis and Gappa: processing, analyzing and visualizing phylogenetic (placement) data." and "Metagenomic Analysis Using Phylogenetic Placement—A Review of the First Decade.", there are some concepts I have a hard time understanding. Could you give me some easy-to-read articles?

Error: In proximity(): close exceeds distant

gappa version: 0.7.1

Hi,
I'm getting an error when using gappa examine assign. The command ran for about 7 minutes before throwing the error:

Error: In proximity(): close exceeds distant

terminate called after throwing an instance of 'std::invalid_argument'
  what():  In proximity(): close exceeds distant

I tried on a smaller dataset (this one that failed has 559023 query sequences) and it seemed to work.

Attaching the full log and input files.
taxonomy.tsv.gz
gappa_assign.MAD.log
epa_result.jplace.gz

Gappa graft ties

Hi @lczech.

Thank you for gappa. Very very useful.

I have a query about grappa graft. In the docs, it says that it places according to the most likely position as encoded in the jplace file. But, what if there are ties? How are they resolved? Let us say the placement is equally likely (or nearly enough to be indistinguishable from the point of view of the precision of the placement encoded in the jplace file) at two or more locations. Would gappa just pick one position at random?

Thank you.

Anders.

Taxonomic assignment: columns of the intermediate result

Hi Lucas and thanks again for this quickly-evolving tool.

I'd like to use the assign subcommand, in order to give the label of the branch on which a query is best placed. For this I guessed that I'd have to use the intermediate result file per_query_assign that contains the per-query assignments. However I couldn't find what the four columns exactly mean. Could you give me some light?

Thanks!
Cheers,
Ewen

Comprehending LCA choice (gappa edit accumualte)

Hey Lucas,

I ran into something that I do not fully understand regarding the prediction of the LCA with gappa edit accumulate.
I have placements on a phylogenetic tree through EPA-ng for the sequence. Here the extract from the jplace results:

    {"p": [
      [765, -38520.0071789560, 0.1429501017, 0.0000001074, 0.0337700903],
      [767, -38520.0071827704, 0.1429495565, 0.0000001246, 0.0337700933],
      [764, -38520.0071859950, 0.1429490955, 0.0000000996, 0.0337700946],
      [763, -38520.0080773995, 0.1428217268, 0.0155884715, 0.0337776025],
      [762, -38520.0080777812, 0.1428216723, 0.0051511020, 0.0337744692],
      [766, -38520.0081063836, 0.1428175873, 0.0051348303, 0.0337704137],
      [768, -38520.0136246843, 0.1420316475, 0.0000500000, 0.0337666203]
      ],
    "n": ["seq19365"]

and drawn (poorly) on a subset of the tree (also from the same jplace file, exported as newick tree) would come down to the 7 positions I marked with dots, if I understand this correcty. Black are node labels, light blue are edges.

Screen Shot 2021-01-08 at 00 29 12

If I analyze this jplace file with gappa edit accumulate (--threshold 0.9), it predicts:

 "p": [
                [ 768, 0, 1, 0, 0.0337713 ]
            ],
            "n": [ "seq19365" ]

as the LCA placements, which is highlighted in green, but shouldn't the red edge reflect the LCA edge? Maybe I am missing something here...

Also imported these results into my workflow, but wanted to keep it to the source in this case so I can make sure it is not some other tool.

Best,
Fabian

Query sequences missing in the per_query.tsv file

Hi
I used epa-ng to place some read sequences to a referece tree and then used gappa examine assign with the --per-query-results flag to get the per_query.tsv taxonomic classification table.
When checking the results, I found that some sequences are missing from the table but can be found in the jplace file produced by epa-ng. I would like to know if this is expected and/or what could be causing this.
Thanks in advance.
Miguel

allow-file-overwriting flag not working for "examine edpl"

Hello, reporting possible bug:
gappa examine edpl --allow-file-overwriting --out-dir test --file-prefix test --jplace-path test/test.jplace

returns the error:

Warning: Output file already exists: test.edpl_list.csv
Found 1 jplace file
Writing output files.
Error: __FUNCTION__: invalid_argument

terminate called after throwing an instance of 'std::invalid_argument'
  what():  __FUNCTION__: invalid_argument
Aborted (core dumped)

It seems that perhaps the command is not recognizing the --allow-file-overwriting flag? An identically structured command for examine assign works as expected.

local build directory hard coded into binary?

Hi there,
After compiling gappa I find a large number of local paths in which the application was built (i.e. "/home/mick/....") hard coded into the binary. This can be seen by running "strings gappa | grep 'X'" where X is the username of the person who did the complication. Is this on purpose, and will this influence the function of the app if I move into /usr/bin?
Cheers for any advice, best wishes,
Mick

GAPPA conda package build error

Hi there,

This error occurs during the CircleCI build of the GAPPA conda package I'm working on:

In file included from /opt/conda/conda-bld/gappa_1546532283897/work/src/options/matrix_output.hpp:32:0,

                 from /opt/conda/conda-bld/gappa_1546532283897/work/src/options/matrix_output.cpp:24:

/opt/conda/conda-bld/gappa_1546532283897/work/libs/genesis/lib/genesis/utils/containers/matrix/writer.hpp: In constructor ‘genesis::utils::MatrixWriter<T>::MatrixWriter() [with T = double]’:

/opt/conda/conda-bld/gappa_1546532283897/work/libs/genesis/lib/genesis/utils/containers/matrix/writer.hpp:72:5: error: conversion from ‘const char [2]’ to non-scalar type ‘std::string {aka std::basic_string<char>}’ requested

     MatrixWriter() = default;

     ^

/opt/conda/conda-bld/gappa_1546532283897/work/src/options/matrix_output.cpp: In member function ‘void MatrixOutputOptions::write_matrix(const genesis::utils::Matrix<double>&, const std::vector<std::basic_string<char> >&, const std::vector<std::basic_string<char> >&, const string&) const’:

/opt/conda/conda-bld/gappa_1546532283897/work/src/options/matrix_output.cpp:99:40: note: synthesized method ‘genesis::utils::MatrixWriter<T>::MatrixWriter() [with T = double]’ first required here 

     auto writer = MatrixWriter<double>();

                                        ^

You can see the bioconda pull request here.

And the full CircleCI report here.

Thanks,

Gavin

Tabular assignment output

Hi there. Quick question ...

Is is possible to have a tabular output of gappa analyze assign, where the queries are in the same row as the other values.

It would look like this:
Query\t1\t1\t1\t1\tReference1\n
Query\t1\t1\t1\t1\tReference2\n

Rather than like this:
Query\n
1\t1\t1\t1\tReference1\n
t1\t1\t1\t1\tReference2\n

You probably won't want to change the output of the program, but maybe you know a handy regex or something to reformat?

Cheers!

Best way to obtain tip label in edgePCA

Hello!

I am playing around with gappa analyze edgepca, and I wanted to work programatically with which edges are the ones contributing the most for each component. I want to have an overview of the taxonomic groups that are important.

This information is coded in the transformation.csv but I am having a hard time connecting it to the data in the tree.

My tree presents 536 tips, 534 internal nodes and 1069 edges.

The transformation.csv file presents 534 columns. The first one presents the eigenvalues, and the following ones (533) are the eigenvectors, pointing us which is the influence of each eigenvector for that principal component.

In the paper, there is this linkage between eigenvectors and edges:

Each eigenvector can be displayed on the tree, because the coordinates of the eigenvector correspond to internal edges of the tree.

But then I would expect 1069 values in the eigenvector, way more than the 533 columns present in the file. What am I missing?
In the nexus tree, the color is displayed in each label, but I am unable to retrieve the value easily. I have converted it to NHX format (with sed 's/\[&!/\[\&\&NHX:/g' and then cutting the tree) and then I can easily obtain the color palette for each edge, but afterwards I would need to catch with a regex from the stdout the palette for the relationship with the eigenvector.

In summary:

  • What is the relationship between the transformation.csv columns and the tree edges?
  • Could it be possible to include another tree format such as NHX to apart from including a color we could include the eigenvector (for assessing the importance of each node).

I have attached the files I have used here.
abceprojection.csv
abcetransformation.csv
abcetree_0_nexus.txt

Interpreting examine assign

Hi Lucas! 👋
@JD-X1 and I are trying out gappa on some data we have!
I'm excited to use it - but I am confused by the results from gappa examine assign.

I have a jplace file that if I run gappa examine info
I see that I have 207 queries (as expected)

Started 2023-11-01 12:40:05

Found 1 jplace file

Sample                              Branches      Leaves    Pqueries
RAxML_portableTree.notruncplace          114          58         207

But when I run gappa examine assign on that file, with my taxonomy metadata, I get a file with 34 lines (pasted below)
I don't know how to interpret this, or connect it back to my 207 samples!

What am I missing?

notruncprofile.tsv:

LWR	fract	aLWR	afract	taxopath
0	0	11.84	0.07574	Obazoa
3.024	0.01935	3.024	0.01935	Obazoa;Fungi
0.5464	0.003496	0.5464	0.003496	Obazoa;Metazoa
4.533	0.029	4.533	0.029	Obazoa;Rotosphaerida
3.734	0.02389	3.734	0.02389	Obazoa;Breviatea
7.069	0.04523	52.31	0.3347	Alveolata
42.29	0.2706	42.29	0.2706	Alveolata;Ciliate
0.5321	0.003405	0.5321	0.003405	Alveolata;Perkinsozoa
2.01	0.01286	2.01	0.01286	Alveolata;Dinoflagellata
0.4099	0.002622	0.4099	0.002622	Alveolata;Chrompodellids
0	0	21	0.1344	Discoba
18.54	0.1186	18.54	0.1186	Discoba;Jakobida
2.463	0.01576	2.463	0.01576	Discoba;Euglenozoa
0	0	10.86	0.0695	Rhodophyta
10.86	0.0695	10.86	0.0695	Rhodophyta;Eurhodophytina
0	0	32.69	0.2092	Haptista
32.69	0.2092	32.69	0.2092	Haptista;Haptophyta
0	0	0.6686	0.004278	Telonemia
0.6686	0.004278	0.6686	0.004278	Telonemia;Telonema
0	0	3.217	0.02058	Malawimonadida
3.217	0.02058	3.217	0.02058	Malawimonadida;Malawimonas
0	0	1.79	0.01145	Stramenopiles
1.79	0.01145	1.79	0.01145	Stramenopiles;Opalozoa
0	0	17.22	0.1101	Amoebozoa
13.57	0.08684	13.57	0.08684	Amoebozoa;Tubulinea
2.214	0.01417	2.214	0.01417	Amoebozoa;Evosea
1.428	0.009138	1.428	0.009138	Amoebozoa;Discosea
0	0	2.358	0.01509	Rhizaria
2.358	0.01509	2.358	0.01509	Rhizaria;Cercozoa
0	0	0.6985	0.004469	Metamonada
0.6985	0.004469	0.6985	0.004469	Metamonada;Preaxostyla
0	0	1.642	0.01051	Hemimastigophora
1.642	0.01051	1.642	0.01051	Hemimastigophora;Spironema

Subcommand: graft vs. guppy tog

Hello,

I am comparing two trees resulting from one set of placements from SEPP, one tree generated using gappa graft (fully resolved) and the other using guppy tog.

I observed unexpected differences between the trees based on estimates of tip-to-tip distances (e.g., a value of 0.04) and the Robinson-Fourd metric (e.g., a value of 2.0).

Do you know why the subcommand graft (fully resolved) would result in alternative topologies vs. guppy tog?

Thanks in advance.

cc: @antgonza

gappa Command error ?

Hi, when I use gappa in picrust2, seems like thers is an error from gappa, error info described as below:
"
task: name=NFCORE_AMPLISEQ:AMPLISEQ:PICRUST (rep-seq.fasta,feature-table.tsv); work-dir=/data1/zhangjinxin/3/work/23/a845460a864d3d91c5183cd7658a05
error [nextflow.exception.ProcessFailedException]: Process NFCORE_AMPLISEQ:AMPLISEQ:PICRUST (rep-seq.fasta,feature-table.tsv) terminated with an error exit status (1)
5月-15 07:51:04.640 [Task monitor] ERROR nextflow.processor.TaskProcessor - Error executing process > 'NFCORE_AMPLISEQ:AMPLISEQ:PICRUST (rep-seq.fasta,feature-table.tsv)'

Caused by:
Process NFCORE_AMPLISEQ:AMPLISEQ:PICRUST (rep-seq.fasta,feature-table.tsv) terminated with an error exit status (1)

Command executed:

#If input is QIIME2 file, than (1) the first line and (2) the first character (#) of the second line need to be removed
if [ "QIIME2" == 'QIIME2' ]
then
tail -n +2 "feature-table.tsv" > "feature-table.tsv.tmp" && mv "feature-table.tsv.tmp" "feature-table.tsv"
fi

picrust2_pipeline.py
-t epa-ng --remove_intermediate
-s rep-seq.fasta
-i feature-table.tsv
-o all_output
-p 6
--in_traits EC,KO
--verbose

#Add descriptions to identifiers
add_descriptions.py -i all_output/EC_metagenome_out/pred_metagenome_unstrat.tsv.gz -m EC -o EC_pred_metagenome_unstrat_descrip.tsv
add_descriptions.py -i all_output/KO_metagenome_out/pred_metagenome_unstrat.tsv.gz -m KO -o KO_pred_metagenome_unstrat_descrip.tsv
add_descriptions.py -i all_output/pathways_out/path_abun_unstrat.tsv.gz -m METACYC -o METACYC_path_abun_unstrat_descrip.tsv

echo "This Picrust2 analysis is based on filtered reads from QIIME2" > "This Picrust2 analysis is based on filtered reads from QIIME2.txt"
echo -e "picrust -t epa-ng --remove_intermediate" > "picrust.args.txt"

cat <<-END_VERSIONS > versions.yml
"NFCORE_AMPLISEQ:AMPLISEQ:PICRUST":
python: $(python --version 2>&1 | sed 's/Python //g')
picrust2: $( picrust2_pipeline.py -v | sed -e "s/picrust2_pipeline.py //g" )
END_VERSIONS

Command exit status:
1

Command output:
INFO Time spent placing: 38s
INFO Elapsed Time: 52s

Invocation: gappa examine graft --jplace-path /tmp/tmp8uspczvl/epa_out/epa_result_parsed.jplace --fully-resolve --out-dir /tmp/tmp8uspczvl/epa_out
Command: gappa examine graft

Input:
--jplace-path /tmp/tmp8uspczvl/epa_out/epa_result_parsed.jplace

Settings:
--fully-resolve true
--name-prefix

Output:
--out-dir /tmp/tmp8uspczvl/epa_out
--file-prefix
--file-suffix

Newick Tree Output:
--newick-tree-quote-invalid-chars
false

Global Options:
--allow-file-overwriting false
--verbose false
--threads 88
--log-file

Run the following command to get the references that need to be cited:
gappa tools citation Czech2020-genesis-and-gappa

Started 2023-05-15 19:51:02

Found 1 jplace file

Finished 2023-05-15 19:51:02

Command error:
INFO Time spent placing: 38s
INFO Elapsed Time: 52s

Invocation: gappa examine graft --jplace-path /tmp/tmp8uspczvl/epa_out/epa_result_parsed.jplace --fully-resolve --out-dir /tmp/tmp8uspczvl/epa_out
Command: gappa examine graft

Input:
--jplace-path /tmp/tmp8uspczvl/epa_out/epa_result_parsed.jplace

Settings:
--fully-resolve true
--name-prefix

Output:
--out-dir /tmp/tmp8uspczvl/epa_out
--file-prefix
--file-suffix

Newick Tree Output:
--newick-tree-quote-invalid-chars
false

Global Options:
--allow-file-overwriting false
--verbose false
--threads 88
--log-file

Run the following command to get the references that need to be cited:
gappa tools citation Czech2020-genesis-and-gappa

Started 2023-05-15 19:51:02

Found 1 jplace file

Finished 2023-05-15 19:51:02
"

It seems that there is no detailed error message,Is this an error about gappa ?
please help me,thanks very much!

Compiling error: cannot find -lgomp

Hi and first of all thanks for your work :)

I'm having troubles compiling Gappa on my personal GNU/Linux laptop, though it works on a computer cluster I have access to.
After building/installing the necessary libraries (CLI11, genesis, sparsepp), the make command gives me that output:

$ make
Running CMake...
-- The CXX compiler identification is GNU 7.3.1
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Gappa build type: RELEASE
-- Static linking of system libraries: ON
-- Configuring Genesis
-- CMake version 3.10.3
-- The C compiler identification is GNU 7.3.1
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Genesis version: v0.19.0
-- Building Genesis as a dependency
-- Build type: RELEASE
-- Unity build: FULL
-- C++ compiler: GNU 7.3.1 at /usr/bin/c++
-- C compiler  : GNU 7.3.1 at /usr/bin/cc
-- Check if the system is big endian
-- Searching 16 bit integer
-- Looking for sys/types.h
-- Looking for sys/types.h - found
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Looking for stddef.h
-- Looking for stddef.h - found
-- Check size of unsigned short
-- Check size of unsigned short - done
-- Using unsigned short
-- Check if the system is big endian - little endian
-- Looking for Threads
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Check if compiler accepts -pthread
-- Check if compiler accepts -pthread - yes
-- Found Threads: TRUE  
-- Found Threads: -pthread
-- Using Threads
-- Looking for OpenMP
-- Found OpenMP_C: -fopenmp (found version "4.5") 
-- Found OpenMP_CXX: -fopenmp (found version "4.5") 
-- Found OpenMP: TRUE (found version "4.5")  
-- Found OpenMP: -fopenmp
-- Using OpenMP
-- Building static lib
-- Finished configuring Genesis
-- CMAKE_EXE_LINKER_FLAGS  -Wl,--whole-archive -lpthread -Wl,--no-whole-archive -static -static-libgcc -static-libstdc++  
-- GENESIS_LINK_LIBRARIES -pthread;genesis_lib_static
-- Configuring done
-- Generating done
CMake Warning:
  Manually-specified variables were not used by the project:

    BUILD_STATIC


-- Build files have been written to: /home/ewen/bin/gappa/build
Running make...
make -s -C build
Scanning dependencies of target genesis_lib_static
[  4%] Building CXX object libs/genesis/lib/genesis/CMakeFiles/genesis_lib_static.dir/__/__/__/__/genesis_unity_sources/lib/all.cpp.o
[  8%] Linking CXX static library ../../../../../libs/genesis/bin/libgenesis.a
[  8%] Built target genesis_lib_static
Scanning dependencies of target gappa
[ 12%] Building CXX object CMakeFiles/gappa.dir/src/commands/analyze/krd.cpp.o
[ 16%] Building CXX object CMakeFiles/gappa.dir/src/commands/analyze/nhd.cpp.o
[ 20%] Building CXX object CMakeFiles/gappa.dir/src/commands/analyze/squash.cpp.o
[ 25%] Building CXX object CMakeFiles/gappa.dir/src/commands/analyze/tog.cpp.o
[ 29%] Building CXX object CMakeFiles/gappa.dir/src/commands/analyze/visualize_color.cpp.o
[ 33%] Building CXX object CMakeFiles/gappa.dir/src/commands/pre/art.cpp.o
[ 37%] Building CXX object CMakeFiles/gappa.dir/src/commands/pre/chunkify.cpp.o
[ 41%] Building CXX object CMakeFiles/gappa.dir/src/commands/pre/extract.cpp.o
[ 45%] Building CXX object CMakeFiles/gappa.dir/src/commands/pre/unchunkify.cpp.o
[ 50%] Building CXX object CMakeFiles/gappa.dir/src/main.cpp.o
[ 54%] Building CXX object CMakeFiles/gappa.dir/src/options/color/color_map.cpp.o
[ 58%] Building CXX object CMakeFiles/gappa.dir/src/options/color/color_norm.cpp.o
[ 62%] Building CXX object CMakeFiles/gappa.dir/src/options/color/single_color.cpp.o
[ 66%] Building CXX object CMakeFiles/gappa.dir/src/options/file_input.cpp.o
[ 70%] Building CXX object CMakeFiles/gappa.dir/src/options/file_output.cpp.o
[ 75%] Building CXX object CMakeFiles/gappa.dir/src/options/global.cpp.o
[ 79%] Building CXX object CMakeFiles/gappa.dir/src/options/jplace_input.cpp.o
[ 83%] Building CXX object CMakeFiles/gappa.dir/src/options/matrix_output.cpp.o
[ 87%] Building CXX object CMakeFiles/gappa.dir/src/options/sequence_input.cpp.o
[ 91%] Building CXX object CMakeFiles/gappa.dir/src/options/tree_output.cpp.o
[ 95%] Building CXX object CMakeFiles/gappa.dir/src/options/tree_output/svg.cpp.o
[100%] Linking CXX executable ../bin/gappa
/usr/bin/ld: cannot find -lgomp
collect2: error: ld returned 1 exit status
make[3]: *** [CMakeFiles/gappa.dir/build.make:616: ../bin/gappa] Error 1
make[2]: *** [CMakeFiles/Makefile2:68: CMakeFiles/gappa.dir/all] Error 2
make[1]: *** [Makefile:84: all] Error 2
make: *** [Makefile:44: build] Error 2

The issue seems related to the OpenMP library, that I installed, and it seems to be detected.
I am using Archlinux, with kernel 4.15.11

Any ideas?
Thanks!
Ewen

Any chance to make a QIIME2 plugin for gappa?

Hi Lucas,

I just read your paper on Scalable methods for analyzing and visualizing phylogenetic placement of metagenomic samples, which illustrated the benefits of incorporating phylogeny into the analysis of microbiome data. The paper is well-written and easy to digest.

Just out of curiosity, is there any chance that you would develop a QIIME2 plugin to implement the methods introduced in the paper? I believe that a QIIME2 plugin would make it easier to use the tool and expose it to more researchers working on the microbiome data, though it would certainly add extra workload to you and your coauthors.

In case you are interested, here the link to QIIME2 plugins which has many applications now.

Best,
Yanxian

Compiling with OpenMP (omp.h) on Mac OS X

The following issue was sent to me via email. I am posting it here for future users that might run into the same issue.

Compilation fails with AppleClang on MacOSX due to missing omp.h although OpenMP is reported as being used:

$ make
Running CMake...
CMake Deprecation Warning at CMakeLists.txt:26 (cmake_minimum_required):
  Compatibility with CMake < 2.8.12 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.

-- The CXX compiler identification is AppleClang 11.0.0.11000033
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /Library/Developer/CommandLineTools/usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Gappa build type: RELEASE
-- Static linking of system libraries: OFF
CMake Deprecation Warning at libs/genesis/CMakeLists.txt:28 (cmake_minimum_required):
  Compatibility with CMake < 2.8.12 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.

-- Configuring Genesis
-- CMake version 3.19.3
-- The C compiler identification is AppleClang 11.0.0.11000033
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /Library/Developer/CommandLineTools/usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Genesis version: v0.24.0
-- Building Genesis as a dependency
-- Build type: RELEASE
-- Unity build: FULL
-- C++ compiler: AppleClang 11.0.0.11000033 at /Library/Developer/CommandLineTools/usr/bin/c++
-- C compiler  : AppleClang 11.0.0.11000033 at /Library/Developer/CommandLineTools/usr/bin/cc
-- Check if the system is big endian
-- Searching 16 bit integer
-- Looking for sys/types.h
-- Looking for sys/types.h - found
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Looking for stddef.h
-- Looking for stddef.h - found
-- Check size of unsigned short
-- Check size of unsigned short - done
-- Searching 16 bit integer - Using unsigned short
-- Check if the system is big endian - little endian
-- Looking for zlib
-- Found ZLIB: /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/lib/libz.tbd (found version "1.2.11") 
-- Found zlib: /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include 1.2.11
-- Using zlib
-- Looking for Threads
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE  
-- Found Threads: 
-- Using Threads
-- Looking for OpenMP
-- Using find_package( OpenMP ) patch
-- Try OpenMP C flag = [ ]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Failed
-- Try OpenMP C flag = [-fopenmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Failed
-- Try OpenMP C flag = [-fopenmp=libiomp5]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Failed
-- Try OpenMP C flag = [-fopenmp=libomp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Failed
-- Try OpenMP C flag = [-Xpreprocessor -fopenmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Failed
-- Try OpenMP C flag = [-Xclang -fopenmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Failed
-- Try OpenMP C flag = [/openmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Failed
-- Try OpenMP C flag = [-Qopenmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Failed
-- Try OpenMP C flag = [-openmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Failed
-- Try OpenMP C flag = [-xopenmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Failed
-- Try OpenMP C flag = [+Oopenmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Failed
-- Try OpenMP C flag = [-qsmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Failed
-- Try OpenMP C flag = [-mp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Failed
-- Try OpenMP CXX flag = [ ]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Failed
-- Try OpenMP CXX flag = [-fopenmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Failed
-- Try OpenMP CXX flag = [-fopenmp=libiomp5]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Failed
-- Try OpenMP CXX flag = [-fopenmp=libomp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Failed
-- Try OpenMP CXX flag = [-Xpreprocessor -fopenmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Failed
-- Try OpenMP CXX flag = [-Xclang -fopenmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Failed
-- Try OpenMP CXX flag = [/openmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Failed
-- Try OpenMP CXX flag = [-Qopenmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Failed
-- Try OpenMP CXX flag = [-openmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Failed
-- Try OpenMP CXX flag = [-xopenmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Failed
-- Try OpenMP CXX flag = [+Oopenmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Failed
-- Try OpenMP CXX flag = [-qsmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Failed
-- Try OpenMP CXX flag = [-mp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Failed
CMake Warning (dev) at /usr/local/Cellar/cmake/3.19.3/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:426 (message):
  The package name passed to `find_package_handle_standard_args` (OpenMP)
  does not match the name of the calling package (OpenMP_patch).  This can
  lead to problems in calling code that expects `find_package` result
  variables (e.g., `_FOUND`) to follow a certain pattern.
Call Stack (most recent call first):
  libs/genesis/tools/cmake/FindOpenMP_patch.cmake:384 (find_package_handle_standard_args)
  libs/genesis/CMakeLists.txt:332 (find_package)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Could NOT find OpenMP (missing: OpenMP_C_FLAGS OpenMP_CXX_FLAGS) 
-- Found OpenMP_C: -Xclang -fopenmp (found version "3.1") 
-- Found OpenMP_CXX: -Xclang -fopenmp (found version "3.1") 
-- Found OpenMP: TRUE (found version "3.1")  
-- Found OpenMP: -Xclang -fopenmp
-- Using OpenMP
-- Building static lib
-- Final build flags:
-- CMAKE_CXX_FLAGS         :  -std=c++11 -Wall -Wextra -Wno-unknown-pragmas -pedantic -pedantic-errors -std=c++11 -Wall -Wextra -Wno-unknown-pragmas -pedantic -pedantic-errors -Xclang -fopenmp 
-- CMAKE_CXX_FLAGS_RELEASE :  -O2 -DNDEBUG -O2 -DNDEBUG 
-- GENESIS_CXX_FLAGS       :  -Xclang -fopenmp 
-- GENESIS_EXE_LINKER_FLAGS:  
-- GENESIS_LINK_LIBRARIES  :  
-- Finished configuring Genesis
-- CMAKE_EXE_LINKER_FLAGS   
-- GENESIS_LINK_LIBRARIES /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/lib/libz.tbd;genesis_lib_static
-- Configuring done
-- Generating done
-- Build files have been written to: /Users/username/gappa/build
Running make...
/Library/Developer/CommandLineTools/usr/bin/make -s -C build
Scanning dependencies of target genesis_lib_static
[  2%] Building CXX object libs/genesis/lib/genesis/CMakeFiles/genesis_lib_static.dir/__/__/__/__/genesis_unity_sources/lib/all.cpp.o
/Users/username/gappa/build/genesis_unity_sources/lib/all.cpp:172:13: fatal error: 'omp.h' file not found
#   include <omp.h>
            ^~~~~~~
1 error generated.
make[3]: *** [libs/genesis/lib/genesis/CMakeFiles/genesis_lib_static.dir/__/__/__/__/genesis_unity_sources/lib/all.cpp.o] Error 1
make[2]: *** [libs/genesis/lib/genesis/CMakeFiles/genesis_lib_static.dir/all] Error 2
make[1]: *** [all] Error 2
make: *** [build] Error 2

Unexpected end of input file Error for "gappa examine assign"

Hi Iczech,
I was trying to assign taxonomy to sequences placed in a tree using the gappa examine assign command.
Here is the complate command I used:
gappa examine assign --jplace-path kapilireftree-placement-out/epa_result.jplace --taxon-file kapili-ppit-reference-taxonomy-forGappa-edited.txt --ranks-string "phylum|class|order|family|genus|species" --krona --file-prefix gappaClassification --resolve-missing-paths --verbose --log-file logfile.txt --allow-file-overwriting.

As mentioned in the gappa docs, the format of my taxonomy file is as follows:

Archaeoglobus_sp_--15299-16156-QNXS01000077_1-RUM33197_1	Archaea;Euryarchaeota;Archaeoglobi;Archaeoglobales;Archaeoglobaceae;Archaeoglobus
Candidatus_Methanolliviera_sp__GoM_oil--17968-18801-CABGHG010000016_1-VUT24248_1	Archaea;Euryarchaeota;Candidatus Methanoliparia;Candidatus  Methanoliparales;Candidatus Methanollivieraceae;
Candidatus_Methanolliviera_hydrocarbonicum--4870-5691-RXIL01000115_1-RZN68181_1	Archaea;Euryarchaeota;Candidatus Methanoliparia;Candidatus Methanoliparales;Candidatus Methanollivieraceae;Candidatus Methanolliviera
Candidatus_Methanolliviera_sp__GoM_oil--17980-18801-NZ_CABGHG010000016_1-WP_144144844_1	Archaea;Euryarchaeota;Candidatus Methanoliparia;Candidatus Methanoliparales;Candidatus Methanollivieraceae;
Candidatus_Methanolliviera_sp__GoM_asphalt--1732-2553-NZ_CABGHH010000049_1-WP_144183438_1	Archaea;Euryarchaeota;Candidatus Methanoliparia;Candidatus Methanoliparales;Candidatus Methanollivieraceae;
Candidatus_Methanolliviera_sp__GoM_asphalt--2351-3172-NZ_CABGHH010000072_1-WP_144183831_1	Archaea;Euryarchaeota;Candidatus Methanoliparia;Candidatus Methanoliparales;Candidatus Methanollivieraceae;
Methanobacterium_arcticum-M2-33199-34026-NZ_JQKN01000017_1-WP_048082155_1	Archaea;Euryarchaeota;Methanobacteria;Methanobacteriales;Methanobacteriaceae;Methanobacterium
Methanobacterium_bryantii-M_o_H_-83680-84507-NZ_LMVM01000041_1-WP_069582437_1	Archaea;Euryarchaeota;Methanobacteria;Methanobacteriales;Methanobacteriaceae;Methanobacterium
Methanobacterium_congolense--2009286-2010113-NZ_LT607756_1-WP_071907546_1	Archaea;Euryarchaeota;Methanobacteria;Methanobacteriales;Methanobacteriaceae;Methanobacterium
Methanobacterium_formicicum-BRM9-212141-212971-NZ_CP006933_1-WP_023991286_1	Archaea;Euryarchaeota;Methanobacteria;Methanobacteriales;Methanobacteriaceae;Methanobacterium

The sequences were placed in the reference tree using epa_ng.

When I run the command this is the msg that I get:

Started 2021-11-22 17:13:40

Found 1 jplace file
Reading file 1 of 1: kapilireftree-placement-out/epa_result.jplace
Running the assignment
Error: Unexpected end of input file (kapili-ppit-reference-taxonomy-forGappa-edited.txt) at 8877:1. Expected closing quotation mark.

terminate called after throwing an instance of 'std::runtime_error'
  what():  Unexpected end of input file (kapili-ppit-reference-taxonomy-forGappa-edited.txt) at 8877:1. Expected closing quotation mark.
Aborted (core dumped)

The taxonomy file that I am using has 8876 lines (taxon entries) in it.

What am I missing here?

Any help re: this would be greatly appreciated.

regards,
Dhwani Desai

remove taxon names from branch tips

Hi Lucas
I have just switched to gappa after years of using guppy and am enjoying the improvement and additions that you have made.

Is it possible to generate trees without the taxon labels - I notice that you have done this for your publication. Have I missed a command somewhere?

Many thanks
Andy

gappa analyze graft runtime error

Hi @lczech ,

I ran into the below error when running an unusual dataset with EPA-NG (v0.3.4) and GAPPA (v0.1.0).

(Incidentally I just noticed that the version reported by GAPPA is still 0.0.0)

You can download the input jplace file here: https://www.dropbox.com/s/qrx39hy8ahosmx8/epa_result.jplace?dl=1

The command and output:

gappa analyze graft --fully-resolve --jplace-path epa_result.jplace

v0.0.0, (c) 2017-2018 by Lucas Czech and Pierre Barbera

Found 1 jplace files.
terminate called after throwing an instance of 'std::runtime_error'
  what():  Expected end of input while reading Json at 777682:1
Aborted

Although the placed sequences are unusual (they were "clustered" at 100% identity rather than a lower identity as is typically done for 16S sequences, and there are 83,354 in total) I was able to get an output newick tree with gappa tog with the same file and it appears to be in correct JSON format.

Any idea why this is occurring?

No convergence in tridiagonal_ql_algorithm()

Hi Lucas and Pierre,

When I run gappa analyze edgepca on multiple jplaces for an specific clade sometimes I obtain the following error:

No convergence in tridiagonal_ql_algorithm()

I tried to debug or at least understand what was happening under the hood, and the two most plausible options could be:

  1. There are multiple samples presenting 0 reads and when it tries to compute the imbalances its not possible.
  2. There are multiple samples with the same amount of reads, a small amount, located in similar locations, and the imbalance obtained is not different from others.

The first option doesn't seem to be the case because there are multiple genes only presenting one 0 and even so throwing the same error. The second option makes more sense to me. Maybe its related to the positioning of these reads.

Any ideas?

error: 'genesis::utils::KmeansClusteringInfo' has not been declared

Hello! While building gappa, I'm running into the cmake errors below:

Running CMake...
-- The CXX compiler identification is GNU 7.2.0
-- Check for working CXX compiler: /code/miniconda2/envs/epa/bin/x86_64-conda_cos6-linux-gnu-c++
-- Check for working CXX compiler: /code/miniconda2/envs/epa/bin/x86_64-conda_cos6-linux-gnu-c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Gappa build type: RELEASE
-- Static linking of system libraries: OFF
-- CLI11 not found
-- Downloading CLI11 from https://github.com/CLIUtils/CLI11/archive/bd890e24a1f081d6db1a59a0cc372eccc64e9e52.zip
-- Configuring done
-- Generating done
-- Build files have been written to: /code/gappa/build/CLI11Download
make[1]: Entering directory `/code/gappa/build/CLI11Download'
make[2]: Entering directory `/code/gappa/build/CLI11Download'
make[3]: Entering directory `/code/gappa/build/CLI11Download'
Scanning dependencies of target CLI11
make[3]: Leaving directory `/code/gappa/build/CLI11Download'
make[3]: Entering directory `/code/gappa/build/CLI11Download'
[ 11%] Creating directories for 'CLI11'
[ 22%] Performing download step (download, verify and extract) for 'CLI11'
-- downloading...
     src='https://github.com/CLIUtils/CLI11/archive/bd890e24a1f081d6db1a59a0cc372eccc64e9e52.zip'
     dst='/code/gappa/build/CLI11Download/CLI11-prefix/src/bd890e24a1f081d6db1a59a0cc372eccc64e9e52.zip'
     timeout='none'
-- [download 0% complete]
-- [download 1% complete]
[ truncated ]
-- [download 100% complete]
-- downloading... done
-- verifying file...
     file='/code/gappa/build/CLI11Download/CLI11-prefix/src/bd890e24a1f081d6db1a59a0cc372eccc64e9e52.zip'
-- verifying file... warning: did not verify file - no URL_HASH specified?
-- extracting...
     src='/code/gappa/build/CLI11Download/CLI11-prefix/src/bd890e24a1f081d6db1a59a0cc372eccc64e9e52.zip'
     dst='/code/gappa/libs/CLI11'
-- extracting... [tar xfz]
-- extracting... [analysis]
-- extracting... [rename]
-- extracting... [clean up]
-- extracting... done
[ 33%] No patch step for 'CLI11'
[ 44%] No update step for 'CLI11'
[ 55%] No configure step for 'CLI11'
[ 66%] No build step for 'CLI11'
[ 77%] No install step for 'CLI11'
[ 88%] No test step for 'CLI11'
[100%] Completed 'CLI11'
make[3]: Leaving directory `/code/gappa/build/CLI11Download'
[100%] Built target CLI11
make[2]: Leaving directory `/code/gappa/build/CLI11Download'
make[1]: Leaving directory `/code/gappa/build/CLI11Download'
-- Finished downloading CLI11
-- genesis not found
-- Downloading genesis from https://github.com/lczech/genesis/archive/a8244e4db206f96caac795e1d6953140a5611e69.zip
-- Configuring done
-- Generating done
-- Build files have been written to: /code/gappa/build/genesisDownload
make[1]: Entering directory `/code/gappa/build/genesisDownload'
make[2]: Entering directory `/code/gappa/build/genesisDownload'
make[3]: Entering directory `/code/gappa/build/genesisDownload'
Scanning dependencies of target genesis
make[3]: Leaving directory `/code/gappa/build/genesisDownload'
make[3]: Entering directory `/code/gappa/build/genesisDownload'
[ 11%] Creating directories for 'genesis'
[ 22%] Performing download step (download, verify and extract) for 'genesis'
-- downloading...
     src='https://github.com/lczech/genesis/archive/a8244e4db206f96caac795e1d6953140a5611e69.zip'
     dst='/code/gappa/build/genesisDownload/genesis-prefix/src/a8244e4db206f96caac795e1d6953140a5611e69.zip'
     timeout='none'
-- [download 0% complete]
[ truncated]
-- [download 99% complete]
-- [download 100% complete]
-- downloading... done
-- verifying file...
     file='/code/gappa/build/genesisDownload/genesis-prefix/src/a8244e4db206f96caac795e1d6953140a5611e69.zip'
-- verifying file... warning: did not verify file - no URL_HASH specified?
-- extracting...
     src='/code/gappa/build/genesisDownload/genesis-prefix/src/a8244e4db206f96caac795e1d6953140a5611e69.zip'
     dst='/code/gappa/libs/genesis'
-- extracting... [tar xfz]
-- extracting... [analysis]
-- extracting... [rename]
-- extracting... [clean up]
-- extracting... done
[ 33%] No patch step for 'genesis'
[ 44%] No update step for 'genesis'
[ 55%] No configure step for 'genesis'
[ 66%] No build step for 'genesis'
[ 77%] No install step for 'genesis'
[ 88%] No test step for 'genesis'
[100%] Completed 'genesis'
make[3]: Leaving directory `/code/gappa/build/genesisDownload'
[100%] Built target genesis
make[2]: Leaving directory `/code/gappa/build/genesisDownload'
make[1]: Leaving directory `/code/gappa/build/genesisDownload'
-- Finished downloading genesis
-- sparsepp not found
-- Downloading sparsepp from https://github.com/greg7mdp/sparsepp/archive/6bfe3b4bdb364993e612d6bb729d680cf4c77649.zip
-- Configuring done
-- Generating done
-- Build files have been written to: /code/gappa/build/sparseppDownload
make[1]: Entering directory `/code/gappa/build/sparseppDownload'
make[2]: Entering directory `/code/gappa/build/sparseppDownload'
make[3]: Entering directory `/code/gappa/build/sparseppDownload'
Scanning dependencies of target sparsepp
make[3]: Leaving directory `/code/gappa/build/sparseppDownload'
make[3]: Entering directory `/code/gappa/build/sparseppDownload'
[ 11%] Creating directories for 'sparsepp'
[ 22%] Performing download step (download, verify and extract) for 'sparsepp'
-- downloading...
     src='https://github.com/greg7mdp/sparsepp/archive/6bfe3b4bdb364993e612d6bb729d680cf4c77649.zip'
     dst='/code/gappa/build/sparseppDownload/sparsepp-prefix/src/6bfe3b4bdb364993e612d6bb729d680cf4c77649.zip'
     timeout='none'
-- [download 0% complete]
download 99% complete]
-- [download 100% complete]
-- downloading... done
-- verifying file...
     file='/code/gappa/build/sparseppDownload/sparsepp-prefix/src/6bfe3b4bdb364993e612d6bb729d680cf4c77649.zip'
-- verifying file... warning: did not verify file - no URL_HASH specified?
-- extracting...
     src='/code/gappa/build/sparseppDownload/sparsepp-prefix/src/6bfe3b4bdb364993e612d6bb729d680cf4c77649.zip'
     dst='/code/gappa/libs/sparsepp'
-- extracting... [tar xfz]
-- extracting... [analysis]
-- extracting... [rename]
-- extracting... [clean up]
-- extracting... done
[ 33%] No patch step for 'sparsepp'
[ 44%] No update step for 'sparsepp'
[ 55%] No configure step for 'sparsepp'
[ 66%] No build step for 'sparsepp'
[ 77%] No install step for 'sparsepp'
[ 88%] No test step for 'sparsepp'
[100%] Completed 'sparsepp'
make[3]: Leaving directory `/code/gappa/build/sparseppDownload'
[100%] Built target sparsepp
make[2]: Leaving directory `/code/gappa/build/sparseppDownload'
make[1]: Leaving directory `/code/gappa/build/sparseppDownload'
-- Finished downloading sparsepp
-- Configuring Genesis
-- CMake version 2.8.12.2
-- The C compiler identification is GNU 7.2.0
-- Check for working C compiler: /code/miniconda2/envs/epa/bin/x86_64-conda_cos6-linux-gnu-cc
-- Check for working C compiler: /code/miniconda2/envs/epa/bin/x86_64-conda_cos6-linux-gnu-cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Genesis version: v0.19.0
-- Building Genesis as a dependency
-- Build type: RELEASE
-- Unity build: FULL
-- C++ compiler: GNU 7.2.0 at /code/miniconda2/envs/epa/bin/x86_64-conda_cos6-linux-gnu-c++
-- C compiler  : GNU 7.2.0 at /code/miniconda2/envs/epa/bin/x86_64-conda_cos6-linux-gnu-cc
-- Check if the system is big endian
-- Searching 16 bit integer
-- Looking for sys/types.h
-- Looking for sys/types.h - found
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Looking for stddef.h
-- Looking for stddef.h - found
-- Check size of unsigned short
-- Check size of unsigned short - done
-- Using unsigned short
-- Check if the system is big endian - little endian
-- Looking for Threads
-- Looking for include file pthread.h
-- Looking for include file pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Found Threads: -lpthread
-- Using Threads
-- Looking for OpenMP
-- Try OpenMP C flag = [-fopenmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Success
-- Try OpenMP CXX flag = [-fopenmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Success
-- Found OpenMP: -fopenmp
-- Found OpenMP: -fopenmp
-- Using OpenMP
-- Building static lib
-- Finished configuring Genesis
-- CMAKE_EXE_LINKER_FLAGS  -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now
-- GENESIS_LINK_LIBRARIES -lpthread;genesis_lib_static
-- Configuring done
-- Generating done
-- Build files have been written to: /code/gappa/build
Running make...
make -s -C build
Scanning dependencies of target genesis_lib_static
[  3%] Building CXX object libs/genesis/lib/genesis/CMakeFiles/genesis_lib_static.dir/__/__/__/__/genesis_unity_sources/lib/all.cpp.o
Linking CXX static library ../../../../../libs/genesis/bin/libgenesis.a
[  3%] Built target genesis_lib_static
Scanning dependencies of target gappa
[  6%] Building CXX object CMakeFiles/gappa.dir/src/commands/analyze/assign.cpp.o
[ 10%] Building CXX object CMakeFiles/gappa.dir/src/commands/analyze/correlation.cpp.o
[ 13%] Building CXX object CMakeFiles/gappa.dir/src/commands/analyze/dispersion.cpp.o
[ 16%] Building CXX object CMakeFiles/gappa.dir/src/commands/analyze/graft.cpp.o
[ 20%] Building CXX object CMakeFiles/gappa.dir/src/commands/analyze/ikmeans.cpp.o
In file included from /code/gappa/src/commands/analyze/ikmeans.hpp:29:0,
                 from /code/gappa/src/commands/analyze/ikmeans.cpp:24:
/code/gappa/src/commands/common/kmeans.hpp:66:21: error: 'genesis::utils::KmeansClusteringInfo' has not been declared
     genesis::utils::KmeansClusteringInfo const& cluster_info,
                     ^~~~~~~~~~~~~~~~~~~~
/code/gappa/src/commands/common/kmeans.hpp:73:21: error: 'genesis::utils::KmeansClusteringInfo' has not been declared
     genesis::utils::KmeansClusteringInfo const& cluster_info,
                     ^~~~~~~~~~~~~~~~~~~~
/code/gappa/src/commands/analyze/ikmeans.cpp: In function 'void run_ikmeans(const IkmeansOptions&)':
/code/gappa/src/commands/analyze/ikmeans.cpp:185:13: error: 'class genesis::utils::EuclideanKmeans' has no member named 'report_iteration'; did you mean 'max_iterations'?
     ikmeans.report_iteration = [&]( size_t iteration ){
             ^~~~~~~~~~~~~~~~
             max_iterations
/code/gappa/src/commands/analyze/ikmeans.cpp:202:78: error: invalid initialization of reference of type 'const int&' from expression of type 'const genesis::utils::Kmeans<std::vector<double> >::ClusteringInfo'
         write_assignment_file( options, ikmeans.assignments(), clust_info, k );
                                                                              ^
In file included from /code/gappa/src/commands/analyze/ikmeans.hpp:29:0,
                 from /code/gappa/src/commands/analyze/ikmeans.cpp:24:
/code/gappa/src/commands/common/kmeans.hpp:63:6: note: in passing argument 3 of 'void write_assignment_file(const KmeansOptions&, const std::vector<long unsigned int>&, const int&, size_t)'
 void write_assignment_file(
      ^~~~~~~~~~~~~~~~~~~~~
/code/gappa/src/commands/analyze/ikmeans.cpp:203:75: error: invalid initialization of reference of type 'const int&' from expression of type 'const genesis::utils::Kmeans<std::vector<double> >::ClusteringInfo'
         write_cluster_info( options, ikmeans.assignments(), clust_info, k );
                                                                           ^
In file included from /code/gappa/src/commands/analyze/ikmeans.hpp:29:0,
                 from /code/gappa/src/commands/analyze/ikmeans.cpp:24:
/code/gappa/src/commands/common/kmeans.hpp:70:6: note: in passing argument 3 of 'void write_cluster_info(const KmeansOptions&, const std::vector<long unsigned int>&, const int&, size_t)'
 void write_cluster_info(
      ^~~~~~~~~~~~~~~~~~
make[3]: *** [CMakeFiles/gappa.dir/src/commands/analyze/ikmeans.cpp.o] Error 1
make[2]: *** [CMakeFiles/gappa.dir/all] Error 2
make[1]: *** [all] Error 2
make: *** [build] Error 2

Any guidance on how to troubleshoot? Thanks in advance for your time!

Error handling EPA-NG jplace output file

Hi,

Sorry to bother you again. I get the following exception when running gappa examine graft --jplace-path NrdDmprooted.epa_result.broken.jplace.gz (input file attached):

Found 1 jplace file
terminate called after throwing an instance of 'std::runtime_error'
  what():  Invalid characters at 1:8543: '0.8590006000'.
Aborted (core dumped)

The input file was produced with EPA-NG, and contains labels at internal nodes. My first thought was the the "-" characters in the node labels was the problem, but removing them didn't help. When I replaced the input tree to one without the internal node names, I got a jplace file that works. The node names might not be the only difference though.

(One could imagine that two tools from the same group would use the same library to parse the files... ;-) )

NrdDmprooted.epa_result.broken.jplace.gz

/D

Some light on gappa examine assign error

Hi!

thanks for developing gappa examine assign, it has come handy in our application!

I've encountered a segmentation fault error and don't have the slightness idea about what may be triggering it. Perhaps anyone facing the same issue?

gappa examine assign runs fine until it reaches the segmentation fault error, meaning that only a fraction of the placed queries is labelled with taxonomy (that is, until it stops).

The total number of placed queries is about 4000, would that be cause?

Here is the stdout output:

Found 1 jplace file Running the assignment Not all leafs in the reference tree were taxonomically labelled!(1109 / 1164) Please check tree leaf label and taxon file taxa name congruency! Segmentation fault

I believe that the segmentation fault issue is not related to the above warning (not all leaves being taxonomically labelled), am I right?

any help very welcome, thanks!

non-monotonic correlation

Hello!

We are using gappa with metabarcoding of marine organisms and many of them they do not have a liner relationship with depth/density/temperature/etc., but they peak however an intermediate values (e.g., they will not be in 0-300, nor in 700-1000, but have the maxima only in the 500m range; both Pearson and Spearman will not find that significant). The available correlations assume a monotonic relationship, and I was wondering if it would be possible to add a non-monotonic correlation (Kendall, maybe?). Thank you for the software!

Best,

Leo

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.