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=