Frequently asked questions


Q1. Can I use Mobster on different organisms?

Mobster has been designed and tested specifically for human data. However it is possible to run Mobster on different organisms by changing the mobilome. Please see the Documentation section for more information.

Q2. I am getting the following error: Exception in thread "main" java.lang.OutOfMemoryError: GC overhead limit exceeded

Try feeding Mobster with more memory through the -Xmx argument. E.g. java -Xmx8G -cp "./*" org.umcn.me.pairedend.Mobster for reserving 8Gb of memory. When increasing the amount of reserved memory does not help, it might be the case that some of the read groups in your BAM file are of low quality. If a relatively high percentage of reads are unmapped or discordantly mapped, they will fill up the memory. You can check the statistics of mapping using Picard or samtools and then remove the appropriate read groups from your BAM file.

Q3. Can I do multiple sample calling / trio analysis with Mobster?

Yes, you can. For instance if you would like to do a trio analysis, you would invoke Mobster as followed:
java -Xmx8G -cp "./*" org.umcn.me.pairedend.Mobster -properties Mobster_latest.properties -in A1_child.bam,A1_father.bam,A1_mother.bam -sn A1_child,A1_father,A1_mother -out A1_trio_mobster
Make sure that the bam files provided to the -in argument match the sample names provided to the -sn argument. BAM files and sample names should be comma separated.
In addition Mobster can also be run on single BAM files which contain multiple samples as long as they have proper readgroup tags with a provided sample name per tag.

Q4. I want to convert Mobsters predictions to VCF, is this possible?

Yes, this is easy to do with the tool MobsterToVCF

Q5. How can I increase the speed of the mobilome mapping step

An easy way to increase the mobilome mapping speed is to modify the property MOBIOME_MAPPING_CMD in the properties file used for Mobster. In the value of this property it says somewhere: -p 2. Change the value of 2 to the number of processors you have available.

In addition or alternatively you can change the hash size of the mobilome. For this you need to recreate the mobilome with MosaikBuild and MosaikJump using a larger hash size (-hs), e.g. 13. After recreation of the mobilome you will need to change the MOBIOME_MAPPING_CMD to match your newly created database and in addition you will need to match the -hs parameter.

Q6. I am getting the following error: Exception in thread "main" java.lang.IllegalArgumentException: Comparison method violates its general contract! How to fix this?

When invoking mobster provide the following argument to the java virtual machine: -Djava.util.Arrays.useLegacyMergeSort=true
E.g.:
java -Xmx8g -Djava.util.Arrays.useLegacyMergeSort=true -cp ...

Note this error should not occur anymore with Mobster versions 0.2.0 and higher

Q7. During the picard.CollectInsertSize metrics I'm getting a number format exception. Why?

This is most commonly caused by a jvm which has a non-english local as default. You can override the jvm local on the command line using -Duser.country=US -Duser.language=en if this does not work you may be required to set the following in you execution environment export LANG=en_US.utf8

Q8. I want to run Mobster with a different set of elements, how do I change the Mosaik jumping library used?

Mobster is configured and tested to use Mosaik to align reads to the mobiome, its possible to configure another aligner. But the effect of changing the aligner on performance is currently unknown. If you would like to change the mobiome, or elements which the reads are mapped to, then the jumping library should be modified. Documentation for this can be found on the Mosaik help page. In short you will need a fasta file containing the sequences, and run the following 2 commands from Mosaik
1. MosaikBuild -ga genome_version -sn spieces -oa MosaikBuild.dat -fr ref.fasta
2. MosaikJump -ia MosaikBuild.dat -out MosaikJump_outputString -hs 9
Keep in mind the hash size (-hs) in the MosiakJump build should match the value given in the Mobster.properties. Currently this is set to 9. As good practise, it is useful to include the hashsize in the filename.
You will need to update the Mobster.properties to point to the file MosaikBuild.dat as well as MosaikJump_outputString (which actually then points to a number of files generated by MosaikJump.)

Q9. I would like to update the version of repBase used to filter known reference MEI's from the predictions.

Due to licence restrictions we are unable to redistribute the refBase file. You can download a new version from RepBase, and update the property REPEATMASK_FILE=