This line of code produces several errors, one of which is potentially more important: returning non-zero exit status 134. I see that likely means SIGSEGV, and that maybe this means I am running out of memory. Does this make sense from the pycisTopic perspective?
I also was wondering: for the last runtime error: does this indicate that java is not installed? I have seen that this is necessary, and when I looked at the packages installed in my conda env, java wasn't there. So I then ran conda install bioconda::java-jdk which didn't solve the problem (and outputs error 2, below in error output)
To Reproduce
Run the make model steps of the pycisTopic tutorial.
CistopicObject from project 10x_multiome_brain with n_cells × n_regions = 2084 × 436231
2024-07-24 14:42:46,186 cisTopic INFO Formatting input to corpus
2024-07-24 14:42:46,405 cisTopic INFO Running model with 2 topics
2024-07-24 14:42:46,405 LDAMalletWrapper INFO Serializing temporary corpus to /home/BCCRC.CA/athomas/Documents/scenicPlusJuly2024/rayDir/mallet/tutorial/corpus.txt
2024-07-24 14:42:56,171 LDAMalletWrapper INFO Converting temporary corpus to MALLET format with: Mallet-202108/bin/mallet import-file --preserve-case --keep-sequence --token-regex \S+ --input /home/BCCRC.CA/athomas/Documents/scenicPlusJuly2024/rayDir/mallet/tutorial/corpus.txt --output /home/BCCRC.CA/athomas/Documents/scenicPlusJuly2024/rayDir/mallet/tutorial/corpus.mallet
Traceback (most recent call last):
File "/opt/anaconda3/envs/scenicPlusJuly/lib/python3.11/site-packages/pycisTopic/lda_models.py", line 535, in convert_input
subprocess.check_output(args=cmd, shell=False, stderr=subprocess.STDOUT)
File "/opt/anaconda3/envs/scenicPlusJuly/lib/python3.11/subprocess.py", line 466, in check_output
return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/anaconda3/envs/scenicPlusJuly/lib/python3.11/subprocess.py", line 571, in run
raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['Mallet-202108/bin/mallet', 'import-file', '--preserve-case', '--keep-sequence', '--token-regex', '\\S+', '--input', '/home/BCCRC.CA/athomas/Documents/scenicPlusJuly2024/rayDir/mallet/tutorial/corpus.txt', '--output', '/home/BCCRC.CA/athomas/Documents/scenicPlusJuly2024/rayDir/mallet/tutorial/corpus.mallet']' returned non-zero exit status 1.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/BCCRC.CA/athomas/Documents/scenicPlusJuly2024/qc.py", line 128, in <module>
models=run_cgs_models_mallet(#gives error SIGSEGV /home/BCCRC.CA/athomas/Documents/scenicPlusJuly2024/hs_err_pid4057057.log
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/anaconda3/envs/scenicPlusJuly/lib/python3.11/site-packages/pycisTopic/lda_models.py", line 809, in run_cgs_models_mallet
model_list = [
^
File "/opt/anaconda3/envs/scenicPlusJuly/lib/python3.11/site-packages/pycisTopic/lda_models.py", line 810, in <listcomp>
run_cgs_model_mallet(
File "/opt/anaconda3/envs/scenicPlusJuly/lib/python3.11/site-packages/pycisTopic/lda_models.py", line 919, in run_cgs_model_mallet
model = LDAMallet(
^^^^^^^^^^
File "/opt/anaconda3/envs/scenicPlusJuly/lib/python3.11/site-packages/pycisTopic/lda_models.py", line 470, in __init__
self.train(corpus, reuse_corpus)
File "/opt/anaconda3/envs/scenicPlusJuly/lib/python3.11/site-packages/pycisTopic/lda_models.py", line 555, in train
self.convert_input(corpus)
File "/opt/anaconda3/envs/scenicPlusJuly/lib/python3.11/site-packages/pycisTopic/lda_models.py", line 537, in convert_input
raise RuntimeError(
RuntimeError: command '['Mallet-202108/bin/mallet', 'import-file', '--preserve-case', '--keep-sequence', '--token-regex', '\\S+', '--input', '/home/BCCRC.CA/athomas/Documents/scenicPlusJuly2024/rayDir/mallet/tutorial/corpus.txt', '--output', '/home/BCCRC.CA/athomas/Documents/scenicPlusJuly2024/rayDir/mallet/tutorial/corpus.mallet']' return with error (code 1): b'Exception in thread "main" java.lang.UnsupportedClassVersionError: cc/mallet/classify/tui/Csv2Vectors : Unsupported major.minor version 52.0\n\tat java.lang.ClassLoader.defineClass1(Native Method)\n\tat java.lang.ClassLoader.defineClass(ClassLoader.java:800)\n\tat java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)\n\tat java.net.URLClassLoader.defineClass(URLClassLoader.java:449)\n\tat java.net.URLClassLoader.access$100(URLClassLoader.java:71)\n\tat java.net.URLClassLoader$1.run(URLClassLoader.java:361)\n\tat java.net.URLClassLoader$1.run(URLClassLoader.java:355)\n\tat java.security.AccessController.doPrivileged(Native Method)\n\tat java.net.URLClassLoader.findClass(URLClassLoader.java:354)\n\tat java.lang.ClassLoader.loadClass(ClassLoader.java:425)\n\tat sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)\n\tat java.lang.ClassLoader.loadClass(ClassLoader.java:358)\n\tat sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:482)\n'
Expected behavior
I expect the model creation step to run
Version (please complete the following information):
Python: 3.11.9
java-jdk: 7.0.91
Mallet: Mallet-202108 (downloaded as per tutorial)
running javac -version: javac 1.7.0-91
running: java -version:
OpenJDK Runtime Environment (Zulu 7.12.0.3-linux64) (build 1.7.0_91-b15)
OpenJDK 64-Bit Server VM (Zulu 7.12.0.3-linux64) (build 24.91-b15, mixed mode)
Additional context
I am trying to figure out if this problem is due to not having enough available memory to run the program, or if it is a problem in configuration (i.e. not having java)
Ok I found from error 52 that I needed java 8. Within my conda environment I ran conda install openjdk=8 which fixed the issue, and now all of the model creation steps run.
Describe the bug I am following the tutorial (including the tutorial data) detailed here: https://pycistopic.readthedocs.io/en/latest/notebooks/human_cerebellum.html I am at the step of running the models:
This line of code produces several errors, one of which is potentially more important: returning non-zero exit status 134. I see that likely means SIGSEGV, and that maybe this means I am running out of memory. Does this make sense from the pycisTopic perspective? I also was wondering: for the last runtime error: does this indicate that java is not installed? I have seen that this is necessary, and when I looked at the packages installed in my conda env, java wasn't there. So I then ran
conda install bioconda::java-jdk
which didn't solve the problem (and outputs error 2, below in error output)To Reproduce Run the make model steps of the pycisTopic tutorial.
Error output Error 1 (before installing java)
error 2 (after installing java):
Expected behavior I expect the model creation step to run
Version (please complete the following information):
javac -version: javac 1.7.0-91
java -version
:Additional context I am trying to figure out if this problem is due to not having enough available memory to run the program, or if it is a problem in configuration (i.e. not having java)