Code Monkey home page Code Monkey logo

ccmpred's Introduction

CCMpred

Travis Codeship

Protein Residue-Residue Contacts from Correlated Mutations predicted quickly and accurately.

CCMpred is a C implementation of a Markov Random Field pseudo-likelihood maximization for learning protein residue-residue contacts as made popular by Ekeberg et al. [1] and Balakrishnan and Kamisetty [2]. While predicting contacts with comparable accuracy to the referenced methods, however, CCMpred is written in C / CUDA C, performance-tuned and therefore much faster.

Requirements

To compile from source, you will need:

  • a recent C compiler (we suggest GCC 4.4 or later)
  • CMake 2.8 or later
  • Optional: NVIDIA CUDA SDK 5.0 or later (if you want to compile for the GPU)

To run CUDA-accelerated computations, you will need an NVIDIA GPU with a Compute Capability of 2.0 or later and the proprietary NVIDIA drivers installed. See the NVIDIA CUDA GPU Overview for details on your graphics card.

Memory Requirement on the GPU

When doing computations on the GPU, the available memory limits the size of the model you will be able to compute. We recommend at least 2 GB of GPU RAM so you can calculate contacts for big multiple sequence alignments (e.g for N=5000):

GPU RAM		Lmax	Lmax(pad)
1 GB		353	291
2 GB		512	420
3 GB		635	519
5 GB		829	676
6 GB		911	743
8 GB		1057	861
12 GB		1302	1059

You can calculate the memory requirements in bytes for L columns and N rows using the following formula:

4*(4*(L*L*21*21 + L*20) + 23*N*L + N + L*L) + 2*N*L + 1024

For the padded version:

4*(4*(L*L*32*21 + L*20) + 23*N*L + N + L*L) + 2*N*L + 1024

Installation

We recommend compiling CCMpred on the machine that should run the computations so that it can be optimized for the appropriate CPU/GPU architecture.

Downloading

If you want to compile the most recent version, use the follwing to clone both CCMpred and its submodules:

git clone --recursive https://github.com/soedinglab/CCMpred.git

Compilation

With the sourcecode ready, simply run cmake with the default settings and libraries should be auto-detected:

cmake .
make

You should find the compiled version of CCMpred at bin/ccmpred. To check if the CUDA libraries were detected, you can run ldd bin/ccmpred to see if CUDA was linked with the program, or simply run a prediction and check the program's output.

Useful scripts

The scripts/ subdirectory contains some python scripts you might find useful - please make sure both NumPy and BioPython are installed to use them!

  • convert_alignment.py - Use BioPython's Bio.SeqIO to convert a variety of alignment formats (FASTA, etc.) into the CCMpred alignment input format
  • top_couplings.py - Extract the top couplings from an output contact maps in a list representation

License

CCMpred is released under the GNU Affero General Public License v3 or later. See LICENSE for more details.

References

[1] Ekeberg, M., Lövkvist, C., Lan, Y., Weigt, M., & Aurell, E. (2013).
    Improved contact prediction in proteins: Using pseudolikelihoods to infer Potts models.
    Physical Review E, 87(1), 012707. doi:10.1103/PhysRevE.87.012707

[2] Balakrishnan, S., Kamisetty, H., Carbonell, J. G., Lee, S.-I., & Langmead, C. J. (2011).
    Learning generative models for protein fold families.
    Proteins, 79(4), 1061–78. doi:10.1002/prot.22934

ccmpred's People

Contributors

grubermar avatar jameslz avatar poliu2s avatar sseemayer 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  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  avatar  avatar  avatar  avatar  avatar  avatar

ccmpred's Issues

Any way to obtain site emissions?

The -r option lets users obtain the raw pairwise emissions (e_ij), however I see no way of obtaining site emissions (e_i). Is there any way to output these?

Crash because of missing header for basename()

A fresh and unchanged build of CCMpred segfaults in meta_file_from_path (meta.c) after using the return value from basename(). Including the correct header <libgen.h> fixes this issue.
If it's more convenient for you, I can create a pull request if you allow me to. :)

Libmsgpack issue

Just to open a new thread for this issue.

I've installed the libmsgpack library files with apt-get install libmsgpack-dev on Ubuntu 16.04 LTS. Running cmake again and make gives me the following outputs.

Any suggested fix @sseemayer?


$> cmake .
"cmake" '.'
+ cmake .
-- The C compiler identification is GNU 5.4.0
-- The CXX compiler identification is GNU 5.4.0
-- 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
-- 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
-- Found these msgpack libs: /usr/lib/libmsgpack.so
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.1") 
-- Found LibJansson: /usr/lib/x86_64-linux-gnu/libjansson.so  
-- Found LibUUID: /usr/lib/x86_64-linux-gnu/libuuid.so  
-- 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  
-- Looking for pthread.h
-- Looking for 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 CUDA: /usr (found version "7.5") 
-- Found Curses: /usr/lib/x86_64-linux-gnu/libcurses.so  
-- Configuring done
-- Generating done
-- Build files have been written to: /opt/CCMpred

"make"
+ make
[  5%] Building NVCC (Device) object lib/libconjugrad/CMakeFiles/conjugrad.dir/src/conjugrad_generated_conjugrad_kernels.cu.o
ptxas info    : 0 bytes gmem
ptxas info    : Compiling entry function '_Z12vecdot_interPfS_S_i' for 'sm_20'
ptxas info    : Function properties for _Z12vecdot_interPfS_S_i
    0 bytes stack frame, 0 bytes spill stores, 0 bytes spill loads
ptxas info    : Used 14 registers, 60 bytes cmem[0]
ptxas info    : Function properties for _Z14warp_reductionPVfi
    0 bytes stack frame, 0 bytes spill stores, 0 bytes spill loads
ptxas info    : Compiling entry function '_Z12initialize_sPfS_i' for 'sm_20'
ptxas info    : Function properties for _Z12initialize_sPfS_i
    0 bytes stack frame, 0 bytes spill stores, 0 bytes spill loads
ptxas info    : Used 9 registers, 52 bytes cmem[0]
ptxas info    : Compiling entry function '_Z13sum_reductionPfS_i' for 'sm_20'
ptxas info    : Function properties for _Z13sum_reductionPfS_i
    0 bytes stack frame, 0 bytes spill stores, 0 bytes spill loads
ptxas info    : Used 12 registers, 52 bytes cmem[0]
ptxas info    : Compiling entry function '_Z8update_xPfS_ffi' for 'sm_20'
ptxas info    : Function properties for _Z8update_xPfS_ffi
    0 bytes stack frame, 0 bytes spill stores, 0 bytes spill loads
ptxas info    : Used 11 registers, 60 bytes cmem[0]
ptxas info    : Function properties for _Z22sum_reduction_functionPVfi
    0 bytes stack frame, 0 bytes spill stores, 0 bytes spill loads
ptxas info    : Compiling entry function '_Z8update_sPfS_fi' for 'sm_20'
ptxas info    : Function properties for _Z8update_sPfS_fi
    0 bytes stack frame, 0 bytes spill stores, 0 bytes spill loads
ptxas info    : Used 10 registers, 56 bytes cmem[0]
Scanning dependencies of target conjugrad
[ 10%] Building C object lib/libconjugrad/CMakeFiles/conjugrad.dir/src/conjugrad.c.o
[ 15%] Building C object lib/libconjugrad/CMakeFiles/conjugrad.dir/src/debug.c.o
[ 21%] Building C object lib/libconjugrad/CMakeFiles/conjugrad.dir/src/arithmetic_ansi.c.o
[ 26%] Building C object lib/libconjugrad/CMakeFiles/conjugrad.dir/src/conjugrad_cuda.c.o
[ 31%] Linking CXX static library libconjugrad.a
[ 31%] Built target conjugrad
[ 36%] Building NVCC (Device) object CMakeFiles/cuda_compile.dir/src/cuda_compile_generated_evaluate_cuda_kernels.cu.o
Scanning dependencies of target ccmpred
[ 42%] Building C object CMakeFiles/ccmpred.dir/src/ccmpred.c.o
[ 47%] Building C object CMakeFiles/ccmpred.dir/src/sequence.c.o
/opt/CCMpred/src/sequence.c: In function ‘read_msa’:
/opt/CCMpred/src/sequence.c:73:3: warning: ignoring return value of ‘fgets’, declared with attribute warn_unused_result [-Wunused-result]
   fgets(buf, SEQ_BUFFER, f);
   ^
[ 52%] Building C object CMakeFiles/ccmpred.dir/src/util.c.o
[ 57%] Building C object CMakeFiles/ccmpred.dir/src/io.c.o
/opt/CCMpred/src/io.c: In function ‘write_raw_msgpack’:
/opt/CCMpred/src/io.c:126:2: warning: implicit declaration of function ‘msgpack_pack_str’ [-Wimplicit-function-declaration]
  msgpack_pack_str(pk, 6);
  ^
/opt/CCMpred/src/io.c:127:2: warning: implicit declaration of function ‘msgpack_pack_str_body’ [-Wimplicit-function-declaration]
  msgpack_pack_str_body(pk, "format", 6);
  ^
/opt/CCMpred/src/io.c: In function ‘read_raw’:
/opt/CCMpred/src/io.c:72:3: warning: ignoring return value of ‘fgets’, declared with attribute warn_unused_result [-Wunused-result]
   fgets(line, 8192, f);
   ^
/opt/CCMpred/src/io.c:81:4: warning: ignoring return value of ‘fgets’, declared with attribute warn_unused_result [-Wunused-result]
    fgets(line, 8192, f);
    ^
/opt/CCMpred/src/io.c:87:5: warning: ignoring return value of ‘fgets’, declared with attribute warn_unused_result [-Wunused-result]
     fgets(line, 8192, f);
     ^
[ 63%] Building C object CMakeFiles/ccmpred.dir/src/evaluate_cpu.c.o
[ 68%] Building C object CMakeFiles/ccmpred.dir/src/parseopt.c.o
[ 73%] Building C object CMakeFiles/ccmpred.dir/src/reweighting.c.o
[ 78%] Building C object CMakeFiles/ccmpred.dir/src/numdif.c.o
[ 84%] Building C object CMakeFiles/ccmpred.dir/src/meta.c.o
/opt/CCMpred/src/meta.c: In function ‘json_object_to_msgpack’:
/opt/CCMpred/src/meta.c:88:3: warning: implicit declaration of function ‘msgpack_pack_str’ [-Wimplicit-function-declaration]
   msgpack_pack_str(pk, strlen(key));
   ^
/opt/CCMpred/src/meta.c:89:3: warning: implicit declaration of function ‘msgpack_pack_str_body’ [-Wimplicit-function-declaration]
   msgpack_pack_str_body(pk, key, strlen(key));
   ^
[ 89%] Building C object CMakeFiles/ccmpred.dir/src/evaluate_cpu_omp.c.o
[ 94%] Building C object CMakeFiles/ccmpred.dir/src/evaluate_cuda.c.o
[100%] Linking C executable bin/ccmpred
CMakeFiles/ccmpred.dir/src/io.c.o: In function `write_raw_msgpack':
/opt/CCMpred/src/io.c:126: undefined reference to `msgpack_pack_str'
/opt/CCMpred/src/io.c:127: undefined reference to `msgpack_pack_str_body'
/opt/CCMpred/src/io.c:128: undefined reference to `msgpack_pack_str'
/opt/CCMpred/src/io.c:129: undefined reference to `msgpack_pack_str_body'
/opt/CCMpred/src/io.c:131: undefined reference to `msgpack_pack_str'
/opt/CCMpred/src/io.c:132: undefined reference to `msgpack_pack_str_body'
/opt/CCMpred/src/io.c:135: undefined reference to `msgpack_pack_str'
/opt/CCMpred/src/io.c:136: undefined reference to `msgpack_pack_str_body'
/opt/CCMpred/src/io.c:148: undefined reference to `msgpack_pack_str'
/opt/CCMpred/src/io.c:149: undefined reference to `msgpack_pack_str_body'
/opt/CCMpred/src/io.c:160: undefined reference to `msgpack_pack_str'
/opt/CCMpred/src/io.c:161: undefined reference to `msgpack_pack_str_body'
/opt/CCMpred/src/io.c:165: undefined reference to `msgpack_pack_str'
/opt/CCMpred/src/io.c:166: undefined reference to `msgpack_pack_str_body'
/opt/CCMpred/src/io.c:169: undefined reference to `msgpack_pack_str'
/opt/CCMpred/src/io.c:170: undefined reference to `msgpack_pack_str_body'
/opt/CCMpred/src/io.c:173: undefined reference to `msgpack_pack_str'
/opt/CCMpred/src/io.c:174: undefined reference to `msgpack_pack_str_body'
CMakeFiles/ccmpred.dir/src/meta.c.o: In function `json_string_to_msgpack':
/opt/CCMpred/src/meta.c:107: undefined reference to `msgpack_pack_str'
/opt/CCMpred/src/meta.c:107: undefined reference to `msgpack_pack_str'
/opt/CCMpred/src/meta.c:108: undefined reference to `msgpack_pack_str_body'
CMakeFiles/ccmpred.dir/src/meta.c.o: In function `json_object_to_msgpack':
/opt/CCMpred/src/meta.c:88: undefined reference to `msgpack_pack_str'
/opt/CCMpred/src/meta.c:89: undefined reference to `msgpack_pack_str_body'
CMakeFiles/ccmpred.dir/src/meta.c.o: In function `json_string_to_msgpack':
/opt/CCMpred/src/meta.c:107: undefined reference to `msgpack_pack_str'
/opt/CCMpred/src/meta.c:108: undefined reference to `msgpack_pack_str_body'
CMakeFiles/ccmpred.dir/src/meta.c.o: In function `meta_write_msgpack':
/opt/CCMpred/src/meta.c:158: undefined reference to `msgpack_pack_str'
/opt/CCMpred/src/meta.c:159: undefined reference to `msgpack_pack_str_body'
CMakeFiles/ccmpred.dir/src/meta.c.o: In function `json_string_to_msgpack':
/opt/CCMpred/src/meta.c:107: undefined reference to `msgpack_pack_str'
/opt/CCMpred/src/meta.c:108: undefined reference to `msgpack_pack_str_body'
/opt/CCMpred/src/meta.c:108: undefined reference to `msgpack_pack_str_body'
collect2: error: ld returned 1 exit status
CMakeFiles/ccmpred.dir/build.make:368: recipe for target 'bin/ccmpred' failed
make[2]: *** [bin/ccmpred] Error 1
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/ccmpred.dir/all' failed
make[1]: *** [CMakeFiles/ccmpred.dir/all] Error 2
Makefile:149: recipe for target 'all' failed
make: *** [all] Error 2

Compiling with CUDA

I'm using a CUDA 9.2, and the nvcc did not support -arch=sm_20 option. I simply fixed the issue by replacing sm_20 to sm_70 in CMakeLists.txt file.

Converting large proteins

Hi,

I am trying to use ccmpred on large MSAs (~12,000 rows and ~3,000 columns). I compiled it with
padding off as well as no cuda and the system has roughly 750GB of free RAM with more swap available. The calculation that is provided for the memory requirement (4*(4*(LL2121 + L20) + 23NL + N + LL) + 2N*L + 1024) tells me that my conversion should only take ~70GB of RAM, but ccmpred exits immediately with an error message "not enough memory to allocate variables."

Thank you for your help!

Raw matrix and initialization

I am interested in using the MRF parameters and wanted to do a sanity-check comparing values from your code and my own. I believe the raw files should have this information.

One thing I'm not understanding is how the initialization option works. My expectation would be that if I train a model, save the "raw" parameters, and then re-run the code with option "-i" set to the same raw file, re-starting the training should have the f(x) scores initialized at the same place.

However even on example input this doesn't seem to be the case. See below, first I run:

$ ./bin/ccmpred -r example.raw example/1atzA.aln ignore.mat
 _____ _____ _____               _ 
|     |     |     |___ ___ ___ _| |
|   --|   --| | | | . |  _| -_| . |
|_____|_____|_|_|_|  _|_| |___|___|
                  |_|              

using CPU (1 thread(s))

Reweighted 3068 sequences with threshold 0.8 to Beff=1188.7 weight mean=0.387452, min=0.00364964, max=1

Will optimize 2482125 32-bit variables

iter	eval	f(x)    	║x║     	║g║     	step
1   	1   	171122  	13287.4 	77283600	9.23e-05
2   	1   	166286  	13285.7 	57418396	7.9e-05
3   	1   	161400  	13287.1 	47159776	7.96e-05
4   	1   	156480  	13293.5 	38807448	7.96e-05
5   	1   	151540  	13307.4 	32292716	8.35e-05
... [omit for space] ...
34  	1   	92653   	17526.3 	466339.81	0.000295
35  	1   	92414.3 	17429   	401723.19	0.000392
36  	2   	92304.7 	17349.2 	357860.28	0.000339
37  	3   	92271.6 	17316.8 	326918.62	0.000141

Done with status code 0 - Success!

Final fx = 92237.171875

Writing raw output to example.raw
xnorm = 45.9138
Output can be found in ignore.mat

Then I run...

$ ./bin/ccmpred -i example.raw example/1atzA.aln ignored_again.mat
 _____ _____ _____               _ 
|     |     |     |___ ___ ___ _| |
|   --|   --| | | | . |  _| -_| . |
|_____|_____|_|_|_|  _|_| |___|___|
                  |_|              

using CPU (1 thread(s))

Reweighted 3068 sequences with threshold 0.8 to Beff=1188.7 weight mean=0.387452, min=0.00364964, max=1

Will optimize 2482125 32-bit variables

iter	eval	f(x)    	║x║     	║g║     	step
1   	1   	217448  	17261.1 	89485856	8.01e-05
2   	1   	212143  	17223.2 	61828972	8.12e-05
3   	1   	206582  	17167.9 	61673300	9.52e-05
4   	1   	200697  	17105.4 	58197632	7.96e-05
5   	1   	194752  	17041.1 	48117040	6.94e-05
... [omit again] ...
38  	1   	95287.8 	18296.1 	1738278.2	0.000234
39  	1   	94772.1 	18116.7 	1783485.6	0.000287
40  	2   	94525.9 	17983.2 	1694389.1	0.000199
41  	2   	94393.8 	17898.2 	1464499.6	0.000128
42  	1   	94267.9 	17809.4 	1294781.1	0.000144
43  	1   	94152.6 	17708.9 	1365385.8	0.000175

Done with status code 0 - Success!

Final fx = 94085.921875

xnorm = 48.5448
Output can be found in ignored_again.mat

It seems that the ||x|| variable is related between the two runs but it seems odd to me that the f(x) value is markedly higher than where it ends up in first round of optimization and that ultimately optimization from this initialization takes longer and ends up at a worse optimum. Perhaps I am misunderstanding something but for now this seems counter-intuitive and I'd appreciate any clarification you could give.

Thanks!

Compiler issue?!

I'm running into trouble installing CCMpred on Ubuntu 16.04 LTS. My cmake and make outputs are below.

Have you @sseemayer got any idea what the problem is? Thanks in advance!


$> cmake .
"cmake" '.'
+ cmake .
-- The C compiler identification is GNU 5.4.0
-- The CXX compiler identification is GNU 5.4.0
-- 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
-- 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
-- MsgPack was not found. Make sure MSGPACK_LIBRARY and MSGPACK_INCLUDE_DIR are set.
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.1") 
-- Found LibJansson: /usr/lib/x86_64-linux-gnu/libjansson.so  
-- Found LibUUID: /usr/lib/x86_64-linux-gnu/libuuid.so  
-- 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  
-- Looking for pthread.h
-- Looking for 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 CUDA: /usr (found version "7.5") 
-- Found Curses: /usr/lib/x86_64-linux-gnu/libcurses.so  
-- Configuring done
-- Generating done
-- Build files have been written to: /opt/CCMpred

$> make
"make"
+ make
[  5%] Building NVCC (Device) object lib/libconjugrad/CMakeFiles/conjugrad.dir/src/conjugrad_generated_conjugrad_kernels.cu.o
ptxas info    : 0 bytes gmem
ptxas info    : Compiling entry function '_Z12vecdot_interPfS_S_i' for 'sm_20'
ptxas info    : Function properties for _Z12vecdot_interPfS_S_i
    0 bytes stack frame, 0 bytes spill stores, 0 bytes spill loads
ptxas info    : Used 14 registers, 60 bytes cmem[0]
ptxas info    : Function properties for _Z14warp_reductionPVfi
    0 bytes stack frame, 0 bytes spill stores, 0 bytes spill loads
ptxas info    : Compiling entry function '_Z12initialize_sPfS_i' for 'sm_20'
ptxas info    : Function properties for _Z12initialize_sPfS_i
    0 bytes stack frame, 0 bytes spill stores, 0 bytes spill loads
ptxas info    : Used 9 registers, 52 bytes cmem[0]
ptxas info    : Compiling entry function '_Z13sum_reductionPfS_i' for 'sm_20'
ptxas info    : Function properties for _Z13sum_reductionPfS_i
    0 bytes stack frame, 0 bytes spill stores, 0 bytes spill loads
ptxas info    : Used 12 registers, 52 bytes cmem[0]
ptxas info    : Compiling entry function '_Z8update_xPfS_ffi' for 'sm_20'
ptxas info    : Function properties for _Z8update_xPfS_ffi
    0 bytes stack frame, 0 bytes spill stores, 0 bytes spill loads
ptxas info    : Used 11 registers, 60 bytes cmem[0]
ptxas info    : Function properties for _Z22sum_reduction_functionPVfi
    0 bytes stack frame, 0 bytes spill stores, 0 bytes spill loads
ptxas info    : Compiling entry function '_Z8update_sPfS_fi' for 'sm_20'
ptxas info    : Function properties for _Z8update_sPfS_fi
    0 bytes stack frame, 0 bytes spill stores, 0 bytes spill loads
ptxas info    : Used 10 registers, 56 bytes cmem[0]
Scanning dependencies of target conjugrad
[ 10%] Building C object lib/libconjugrad/CMakeFiles/conjugrad.dir/src/conjugrad.c.o
[ 15%] Building C object lib/libconjugrad/CMakeFiles/conjugrad.dir/src/debug.c.o
[ 21%] Building C object lib/libconjugrad/CMakeFiles/conjugrad.dir/src/arithmetic_ansi.c.o
[ 26%] Building C object lib/libconjugrad/CMakeFiles/conjugrad.dir/src/conjugrad_cuda.c.o
[ 31%] Linking CXX static library libconjugrad.a
[ 31%] Built target conjugrad
[ 36%] Building NVCC (Device) object CMakeFiles/cuda_compile.dir/src/cuda_compile_generated_evaluate_cuda_kernels.cu.o
Scanning dependencies of target ccmpred
[ 42%] Building C object CMakeFiles/ccmpred.dir/src/ccmpred.c.o
/opt/CCMpred/src/ccmpred.c: In function ‘main’:
/opt/CCMpred/src/ccmpred.c:730:5: error: ‘msgpackfilename’ undeclared (first use in this function)
  if(msgpackfilename != NULL) {
     ^
/opt/CCMpred/src/ccmpred.c:730:5: note: each undeclared identifier is reported only once for each     function it appears in
CMakeFiles/ccmpred.dir/build.make:69: recipe for target 'CMakeFiles/ccmpred.dir/src/ccmpred.c.o' failed
make[2]: *** [CMakeFiles/ccmpred.dir/src/ccmpred.c.o] Error 1
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/ccmpred.dir/all' failed
make[1]: *** [CMakeFiles/ccmpred.dir/all] Error 2
Makefile:149: recipe for target 'all' failed
make: *** [all] Error 2

Error when trying to install without CUDA

I'm trying to create a singularity container with ccmpred in it but the ccmpred installation fails.

-- Looking for a CUDA compiler
-- Looking for a CUDA compiler - NOTFOUND
-- The CUDA compiler identification is unknown
CMake Error at CMakeLists.txt:115 (enable_language):
  No CMAKE_CUDA_COMPILER could be found.

  Tell CMake where to find the compiler by setting either the environment
  variable "CUDACXX" or the CMake cache entry CMAKE_CUDA_COMPILER to the full
  path to the compiler, or to the compiler name if it is in the PATH.

-- Configuring incomplete, errors occurred!

Since you state in your readme, that CUDA is optional, I would expect that the installation would recognize if someone is trying to install ccmpred without CUDA instead of throwing an error...

I would be happy if someone could help me out with a quick fix 🙂. But I also think this should be addressed on a higher level.

Best wishes,

Anna Smolinski

Cannot intall fatal error: jansson.h: No such file or directory

CCMpred/src/ccmpred.c:17:0:
/path/DGraphDTA/CCMpred/include/meta.h:2:10: fatal error: jansson.h: No such file or directory
 #include "jansson.h"
          ^~~~~~~~~~~
compilation terminated.
make[2]: *** [CMakeFiles/ccmpred.dir/src/ccmpred.c.o] Error 1
make[1]: *** [CMakeFiles/ccmpred.dir/all] Error 2
make: *** [all] Error 2

But I have installed both jasson 2.13.1 and jansson-devel
And

cmake version 3.18.2
gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-39)

Errors when using make

CMake version is 3.22.1
GNU Make version is 4.3
CMake is running without using CUDA

Errors occured when using command 'make'

kenmarnuls@LAPTOP-Q547HOJF:~/CCMpred$ make
[ 7%] Building C object lib/libconjugrad/CMakeFiles/conjugrad.dir/src/conjugrad.c.o
In file included from /home/kenmarnuls/CCMpred/lib/libconjugrad/src/conjugrad.c:4:
/home/kenmarnuls/CCMpred/lib/libconjugrad/include/conjugrad.h:21:15: error: conflicting types for ‘sqrtf’; have ‘float(double)’
21 | #define fsqrt sqrtf
| ^~~~~
In file included from /home/kenmarnuls/CCMpred/lib/libconjugrad/src/conjugrad.c:4:
/usr/include/x86_64-linux-gnu/bits/mathcalls.h:143:1: note: previous declaration of ‘sqrtf’ with type ‘float(float)’
143 | __MATHCALL (sqrt,, (Mdouble __x));
| ^~~~~~~~~~
make[2]: *** [lib/libconjugrad/CMakeFiles/conjugrad.dir/build.make:76:lib/libconjugrad/CMakeFiles/conjugrad.dir/src/conjugrad.c.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:129:lib/libconjugrad/CMakeFiles/conjugrad.dir/all] Error 2
make: *** [Makefile:156:all] Error 2

Can this problem be solved by modifying the code?

CUDA error No. 0

Hi,
when I used ccmpred with large input 'aln' file, ccmpred crashed with error as follows. Any solutions for this problem? Thanks very much.

Found 1 CUDA devices, using device #0: Tesla V100-SXM2-32GB
Total GPU RAM:     34,089,730,048
Free GPU RAM:      33,757,265,920
Needed GPU RAM:    16,760,383,404 �~\~S
Reweighted 99437 sequences with threshold 0.8 to Beff=5613.23 weight mean=0.0564501, min=0.000219491, max=1

Will optimize 257425216 32-bit variables

iter    eval    f(x)            �~U~Qx�~U~Q             �~U~Qg�~U~Q             step
CUDA error No. 0 in $CCMpred/src/evaluate_cuda_kernels.cu at line 589

Memory requirement formula correction

While reducing the alignment sizes of my current dataset in order to be able to compute couplings on the GPU, I noticed a large discrepancy between results from the formula in the README and the actual RAM needed when running CCMpred.

I know that CCMpred is no longer actively maintained, but in order to help fellow researches running into the same issue, here is the corrected formula based on the calculation in the source code (ccmpred.c, lines 437-441):
Padded: 4* (4* (L * L * 32 * 21 + L * 20) + N * L * 2 + N * L * 32 + N) + 2 * N * L
Unpadded: 4* (4* (L * L * 21 * 21 + L * 20) + N * L * 2 + N * L * 21 + N) + 2 * N * L

The internal size_t mem_needed is however only used for the output part, the actual allocation happens separately for a variety of different memory blocks. I'll do some further testing with samples calculated to barely fit into GPU memory to see if the CUDA allocations are equivalent.

libconjugrad missing in packaged release 0.3.2

I had to install CCMpred on a computer where I could not use git. When downloading and extracting the release (in my case v0.3.2.tar.gz) the lib/libconjugrad directory is empty, thus "cmake ." fails.
The error message "CCMpred is missing the libconjugrad submodule! Please make sure to clone CCMpred according to the instructions in the README" and the README file are not very helpful in this situation.
It would be great to either add more explicit instructions (libconjugrad can be downloaded from https://bitbucket.org/soedinglab/libconjugrad/downloads) or even better, include all files directly in the archive.

Input augment

Hi,

Thanks for sharing the code. May I ask what are options for input arguments?
Like how I can set number of threads?

Best,

Bug in CCMpred (CUDA)

Running CCMpred with a sequence alignment in a CUDA compiled version of CCMpred gives crashes sometimes. Error give:

adenine: felix > ccmpred alignments/1bdo.jones 1bdo.mat
Found 1 CUDA devices, using device #0: Quadro K4000
Total GPU RAM:      3,217,752,064
Free GPU RAM:       2,617,708,544
Needed GPU RAM:       792,606,940 ✓
CUDA error No. 0 in /opt/CCMpred/src/evaluate_cuda_kernels.cu at line 819

Running the same command with flag -t 2 runs fine.

Error when using make

I had some problem when installing CCMpred when use make command

[ 30%] Built target conjugrad
[ 35%] Building CUDA object CMakeFiles/ccmpred.dir/src/evaluate_cuda_kernels.cu.o
nvcc fatal : Unknown option 'fopenmp'
CMakeFiles/ccmpred.dir/build.make:326: recipe for target 'CMakeFiles/ccmpred.dir/src/evaluate_cuda_kernels.cu.o' failed
make[2]: *** [CMakeFiles/ccmpred.dir/src/evaluate_cuda_kernels.cu.o] Error 1
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/ccmpred.dir/all' failed
make[1]: *** [CMakeFiles/ccmpred.dir/all] Error 2
Makefile:151: recipe for target 'all' failed
make: *** [all] Error 2

ERROR:CMake Error at CMakeLists.txt:124 (add_executable):

I had some problems installing ccmpred

-- Configuring done
CMake Error at CMakeLists.txt:124 (add_executable):
Target "ccmpred" links to target "OpenMP::OpenMP_CXX" but the target was
not found. Perhaps a find_package() call is missing for an IMPORTED
target, or an ALIAS target is missing?

-- Generating done
-- Build files have been written to: /tmp/tmp.MjnOBYYduk
Scanning dependencies of target conjugrad

Cuda compilation problem

Hi, I keep getting this message when using cmake "Could NOT find CUDA (missing: CUDA_INCLUDE_DIRS) (found version "7.5")". Kindly let me know how I can resolve this.

Hello , CMake Error shows the CCMpred is missing the libconjugrad submodule. I had try 'git submodule update', but it didn't work. Anybody can help me? thanks

(tf) [lynn@localhost CCMpred]$ git submodule update
Bareword found where operator expected at -e line 1, near "9a"
(Missing operator before a?)
Backslash found where operator expected at -e line 1, near ")"
(Missing operator before ?)
Scalar found where operator expected at -e line 1, near "*)$/"
(Missing operator before $/?)
syntax error at -e line 1, near "n my "
syntax error at -e line 1, near "n my "
syntax error at -e line 1, near "n my "
syntax error at -e line 1, near "n my "
syntax error at -e line 1, near ") {"
syntax error at -e line 1, near "n next"
syntax error at -e line 1, near "n }"
syntax error at -e line 1, near "n my "
syntax error at -e line 1, near "n next "
syntax error at -e line 1, near "( ne"
-e has too many errors.
%!s()

Why not use the -b argument to generate BRAW files?

Hello, I have a question to ask you, when I used ccmpred example.mat -b example.braw command to generate braw file, there was an error. Error: unknown option b at argument index 22 So I can't generate my own BRAW file. But I see that your source code has the -b parameter.
#ifdef MSGPACK
printf("\t-b BRAWFLE\tStore raw prediction matrix in msgpack format in BRAWFLE\n");

May I ask what is the cause of this problem?
Any thoughts would be greatly appreciated! Thanks.

ERROR when I using make

@sseemayer
Hi,I met a problem when using CCMpred:
(base) czh@X12DAi-N6:~/CCMpred$ make
[ 7%] Building C object lib/libconjugrad/CMakeFiles/conjugrad.dir/src/conjugrad.c.o
In file included from /home/czh/CCMpred/lib/libconjugrad/src/conjugrad.c:4:
/home/czh/CCMpred/lib/libconjugrad/include/conjugrad.h:21:15: error: conflicting types for ‘sqrt’; have ‘float(double)’
21 | #define fsqrt sqrt
| ^~~~
In file included from /usr/include/features.h:486,
from /usr/include/x86_64-linux-gnu/bits/libc-header-start.h:33,
from /usr/include/math.h:27,
from /home/czh/CCMpred/lib/libconjugrad/src/conjugrad.c:4:
/usr/include/x86_64-linux-gnu/bits/mathcalls.h:143:1: note: previous declaration of ‘sqrt’ with type ‘double(double)’
143 | __MATHCALL (sqrt,, (Mdouble __x));
| ^~~~~~~~~~
make[2]: *** [lib/libconjugrad/CMakeFiles/conjugrad.dir/build.make:76:lib/libconjugrad/CMakeFiles/conjugrad.dir/src/conjugrad.c.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:129:lib/libconjugrad/CMakeFiles/conjugrad.dir/all] Error 2
make: *** [Makefile:156:all] Error 2

Could you help me?
Thanks!

libconjugrad empty

CMake Error at CMakeLists.txt:159 (add_subdirectory):
The source directory

 /home/immune/Downloads/CCMpred-master/lib/libconjugrad

does not contain a CMakeLists.txt file.

ERROR: ERROR: Not enough memory to allocate variables!

when the sequence's length is larger than 2K, I got this error :
ERROR: ERROR: Not enough memory to allocate variables!.
I try to run it on other clusters which have bigger memory and remove some rows of the alignments file ,and doesnt work.

 ./CCMpred/bin/ccmpred  -t 28 ./TLN2_HUMAN.aln ./TLN2_HUMAN.ccmpred
 _____ _____ _____               _
|     |     |     |___ ___ ___ _| |
|   --|   --| | | | . |  _| -_| . |
|_____|_____|_|_|_|  _|_| |___|___|
                  |_|

using CPU (28 thread(s))


ERROR: ERROR: Not enough memory to allocate variables!

TLN2_HUMAN,aln has 21327 rows ,and the sequence's length is 2224.

The CPU runs on a single thread

Hello,When I run a program with a CPU, it tells me that only one CPU thread is used.How can I run the program with 6 or more CPU cores as in the literature? thank you!

reading output

Hi,
CCMpred is running in my case but we have an issue:
We mentionned that in the output matrix have the dimention of the studied sequence + gaps. How is it possible that a score is calculated between a gap and a residue? From which residue can we considere the first amino acid?

I am waiting for your answer,

Best regards,

Flora

problems of CCMpred compiling

I have met some problems when I compile CCMpred on Ubuntu 22.04.2 LTS.
Have you @sseemayer got any idea what the problem is? Thanks in advance!
My cmake and make outputs are below.If someone knows how to solve it,can you teach me? I am really not able to sove this problem.The problems of cmake are warnings,while the problems of make are errors.

$> cmake .
-- MsgPack was not found. Make sure MSGPACK_LIBRARY and MSGPACK_INCLUDE_DIR are set.
-- Could NOT find PkgConfig (missing: PKG_CONFIG_EXECUTABLE)
CMake Warning (dev) at /usr/share/cmake-3.22/Modules/FindPackageHandleStandardArgs.cmake:438 (message):
  The package name passed to `find_package_handle_standard_args` (LibJansson)
  does not match the name of the calling package (Jansson).  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):
  cmake_lib/FindJansson.cmake:21 (find_package_handle_standard_args)
  CMakeLists.txt:87 (find_package)
This warning is for project developers.  Use -Wno-dev to suppress it.
-- Could NOT find LibJansson (missing: JANSSON_LIBRARY JANSSON_INCLUDE_DIR)
-- Could NOT find PkgConfig (missing: PKG_CONFIG_EXECUTABLE)
CMake Warning (dev) at /usr/share/cmake-3.22/Modules/FindPackageHandleStandardArgs.cmake:438 (message):
  The package name passed to `find_package_handle_standard_args` (LibUUID)
  does not match the name of the calling package (UUID).  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):
  cmake_lib/FindUUID.cmake:20 (find_package_handle_standard_args)
  CMakeLists.txt:96 (find_package)
This warning is for project developers.  Use -Wno-dev to suppress it.
-- Could NOT find LibUUID (missing: UUID_LIBRARY UUID_INCLUDE_DIR)
-- Could NOT find Curses (missing: CURSES_LIBRARY CURSES_INCLUDE_PATH)
CMake Deprecation Warning at lib/libconjugrad/CMakeLists.txt:11 (cmake_policy):
  The OLD behavior for policy CMP0022 will be removed from a future version
  of CMake.
 The cmake-policies(7) manual explains that the OLD behaviors of all
  policies are deprecated and that a policy should be set to OLD only under
  specific short-term circumstances.  Projects should be ported to the NEW
  behavior and not rely on setting a policy to OLD.
-- Configuring done
CMake Warning (dev) in CMakeLists.txt:
  Policy CMP0104 is not set: CMAKE_CUDA_ARCHITECTURES now detected for NVCC,
  empty CUDA_ARCHITECTURES not allowed.  Run "cmake --help-policy CMP0104"
  for policy details.  Use the cmake_policy command to set the policy and
  suppress this warning.
CUDA_ARCHITECTURES is empty for target "ccmpred".
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) in CMakeLists.txt:
  Policy CMP0104 is not set: CMAKE_CUDA_ARCHITECTURES now detected for NVCC,
  empty CUDA_ARCHITECTURES not allowed.  Run "cmake --help-policy CMP0104"
  for policy details.  Use the cmake_policy command to set the policy and
  suppress this warning.

  CUDA_ARCHITECTURES is empty for target "ccmpred".
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) in lib/libconjugrad/CMakeLists.txt:
  Policy CMP0104 is not set: CMAKE_CUDA_ARCHITECTURES now detected for NVCC,
  empty CUDA_ARCHITECTURES not allowed.  Run "cmake --help-policy CMP0104"
  for policy details.  Use the cmake_policy command to set the policy and
  suppress this warning.
CUDA_ARCHITECTURES is empty for target "conjugrad".
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) in lib/libconjugrad/CMakeLists.txt:
  Policy CMP0104 is not set: CMAKE_CUDA_ARCHITECTURES now detected for NVCC,
  empty CUDA_ARCHITECTURES not allowed.  Run "cmake --help-policy CMP0104"
  for policy details.  Use the cmake_policy command to set the policy and
  suppress this warning.

  CUDA_ARCHITECTURES is empty for target "conjugrad".
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) in lib/libconjugrad/CMakeLists.txt:
  Policy CMP0104 is not set: CMAKE_CUDA_ARCHITECTURES now detected for NVCC,
  empty CUDA_ARCHITECTURES not allowed.  Run "cmake --help-policy CMP0104"
  for policy details.  Use the cmake_policy command to set the policy and
  suppress this warning.

  CUDA_ARCHITECTURES is empty for target "rosenbrock".
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) in lib/libconjugrad/CMakeLists.txt:
  Policy CMP0104 is not set: CMAKE_CUDA_ARCHITECTURES now detected for NVCC,
  empty CUDA_ARCHITECTURES not allowed.  Run "cmake --help-policy CMP0104"
  for policy details.  Use the cmake_policy command to set the policy and
  suppress this warning.
CUDA_ARCHITECTURES is empty for target "polynomial".
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) in lib/libconjugrad/CMakeLists.txt:
  Policy CMP0104 is not set: CMAKE_CUDA_ARCHITECTURES now detected for NVCC,
  empty CUDA_ARCHITECTURES not allowed.  Run "cmake --help-policy CMP0104"
  for policy details.  Use the cmake_policy command to set the policy and
  suppress this warning.

  CUDA_ARCHITECTURES is empty for target "sphere".
This warning is for project developers.  Use -Wno-dev to suppress it.
-- Generating done
-- Build files have been written to: /home/ylx/CCMpred
$> make
Consolidate compiler generated dependencies of target conjugrad
[  5%] Building C object lib/libconjugrad/CMakeFiles/conjugrad.dir/src/conjugrad.c.o
In file included from /home/ylx/CCMpred/lib/libconjugrad/src/conjugrad.c:4:
/home/ylx/CCMpred/lib/libconjugrad/include/conjugrad.h:21:15: error: conflicting types for ‘sqrtf’; have ‘float(double)’
   21 | #define fsqrt sqrtf
      |               ^~~~~
In file included from /home/ylx/CCMpred/lib/libconjugrad/src/conjugrad.c:4:
/usr/include/x86_64-linux-gnu/bits/mathcalls.h:143:1: note: previous declaration of ‘sqrtf’ with type ‘float(float)’
  143 | __MATHCALL (sqrt,, (_Mdouble_ __x));
      | ^~~~~~~~~~
make[2]: *** [lib/libconjugrad/CMakeFiles/conjugrad.dir/build.make:76: lib/libconjugrad/CMakeFiles/conjugrad.dir/src/conjugrad.c.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:129: lib/libconjugrad/CMakeFiles/conjugrad.dir/all] Error 2
make: *** [Makefile:156: all] Error 2

CCMpred is limited to MSA length (ncols) = 1787 residues

I came across the following issue when attempting to use CCMpred upon an MSA of length 1898 and depth 395.

ERROR: ERROR: Not enough memory to allocate variables!

 _____ _____ _____               _ 
|     |     |     |___ ___ ___ _| |
|   --|   --| | | | . |  _| -_| . |
|_____|_____|_|_|_|  _|_| |___|___|
                  |_|              

Found 1 CUDA devices, using device #0: NVIDIA A40
Total GPU RAM:     47,850,782,720
Free GPU RAM:      47,578,415,104
Needed GPU RAM: 18,446,744,043,827,191,608 ⚠

Noticing that 18,446,744,043,827,191,608 is close to ULLONG_MAX, and noting that the expected needed RAM (according to @kWeissenow's fixed README memory calculation) is ~39GB, I figured this must be a case of a number being too large for its type.

In src/ccmpred.c lines 387-390, we have:

int nsingle = ncol * (N_ALPHA - 1);
int nvar = nsingle + ncol * ncol * N_ALPHA * N_ALPHA;
int nsingle_padded = nsingle + N_ALPHA_PAD - (nsingle % N_ALPHA_PAD);
int nvar_padded = nsingle_padded + ncol * ncol * N_ALPHA * N_ALPHA_PAD;

It seems that nvar_padded is the culprit. In my case, I have N_ALPHA = 21 and N_ALPHA_PADDED = 32. For ncols = 1898, nvar_padded should be 2420853472. This is above INT_MAX, 2147483647, so nvar_padded becomes negative, causing the bug. To keep nvar_padded within its integer limit, the MSA length must be less than or equal to 1787.

I've tried changing all cases of the four variables above to long type, but it's causing problems with CUDA and I am so far unable to find the source of the problem. While using cuda-gdb I get the following error:

CUDA Exception: Warp Illegal Address
The exception was triggered at PC 0xbb35e0

Thread 1 "ccmpred" received signal CUDA_EXCEPTION_14, Warp Illegal Address.
[Switching focus to CUDA kernel 1, grid 6, block (1231,18,0), thread (96,0,0), device 0, sm 0, warp 18, lane 0]
0x0000000000bb38f0 in d_edge_gradients_histogram_weighted(unsigned char*, float*, float const*, int, int)<<<(1898,21,1),(128,1,1)>>> ()

I'm unsure what to make of this. I will continue to work on a fix but if anyone has suggestions in the meantime, please let me know!

can't find the module ccmpred

Traceback (most recent call last):
File "/bin/ccmpred", line 6, in
from ccmpred.scripts.run_ccmpred import main
ModuleNotFoundError: No module named 'ccmpred'

Error when using Make

In file included from /home/jhowe/jhowe/newick/CCMpred/lib/libconjugrad/src/conjugrad.c:4:
/home/jhowe/jhowe/newick/CCMpred/lib/libconjugrad/include/conjugrad.h:21:15: error: conflicting types for ‘sqrtf’; have ‘float(double)’
21 | #define fsqrt sqrtf
| ^~~~~
In file included from /home/jhowe/jhowe/newick/CCMpred/lib/libconjugrad/src/conjugrad.c:4:
/usr/include/x86_64-linux-gnu/bits/mathcalls.h:143:1: note: previous declaration of ‘sqrtf’ with type ‘float(float)’
143 | __MATHCALL (sqrt,, (Mdouble __x));
| ^~~~~~~~~~
make[2]: *** [lib/libconjugrad/CMakeFiles/conjugrad.dir/build.make:76: lib/libconjugrad/CMakeFiles/conjugrad.dir/src/conjugrad.c.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:129: lib/libconjugrad/CMakeFiles/conjugrad.dir/all] Error 2
make: *** [Makefile:156: all] Error 2

Erro in useing cmake

when I use cmake ,it encountered the following problem:
-- Found these msgpack libs: /usr/lib/x86_64-linux-gnu/libmsgpackc.so
-- Could NOT find LibUUID (missing: UUID_LIBRARY UUID_INCLUDE_DIR)
-- The CUDA compiler identification is unknown
CMake Error at CMakeLists.txt:115 (enable_language):
No CMAKE_CUDA_COMPILER could be found.

Tell CMake where to find the compiler by setting either the environment
variable "CUDACXX" or the CMake cache entry CMAKE_CUDA_COMPILER to the full
path to the compiler, or to the compiler name if it is in the PATH.

-- Configuring incomplete, errors occurred!
May I ask how to solve it?

contact output parse

Hello,
The output i want is a protein crotact map. In more detail, for a protein whose sequence length is L and a threshold (for example, 8 Å),what i want is a M= L * L matrix , and the value of M(i,j) is 0 or 1, which indicates that wheather the residue i and residue j are in contact according to the threshold. Is there a way to convert the output score matex to such a contact map? Thanks.

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.