This is a test version of Biostars. For the public version, visit https://www.biostars.org.
Amino Acid Change To Genomic Location: using 'backlocate'

I am moving the comment I made here (whatever not displayed) to a real question:

I am trying to use backlocate to get the genomic position (say, on hg19) from a mutation given with the classic nomenclature: p.D240Y (gene EIF4G1).

There are two versions of the tool available:

  • one from github
  • one from google code (from my understanding, this is the one intended for distribution)

I tried cloning the github repository and compiling the 'jsandbox' tools. However, I get a java.lang.ClassNotFoundException: com.mysql.jdbc.Driver error that I couldn't get fixed even when installing 'Mysql Connector Driver' and adding it to my $CLASSPATH.

After having tried a lot of things, I realized there was a version apparently made for distribution (in the 'variationtoolkit' from google code). I checked-out the complete toolkit, but the compilation fails due to some unmet dependencies that I can't seem to install properly (tabix).

Has anyone had experience using backlocate, or would @Pierre have some ideas on how to fix these errors?

hg19 mutation backlocate

1 answer

Hi leonor,

As its seems that using the sql driver is a problem for many users, I've just moved my code to only use local resources (https://github.com/lindenb/jvarkit/commit/f8cb884544354a7c62d4440b58e8e74c2045a6cd). You don't need the jdbc driver anymore :

Download a fresh copy of jvarkit and compile again

[lindenb@kaamelot-master01 jvarkit-git]$ echo -e "NOTCH2\tP1090M" | java -jar dist/backlocate.jar -R  hg19.fasta
[INFO/BackLocate] 2014-11-05 12:11:00 "Starting JOB at Wed Nov 05 12:11:00 CET 2014 com.github.lindenb.jvarkit.tools.backlocate.BackLocate version=7ddcffc73f823f9e377ffd2a3644cbf50cf26581  built=2014-11-05 12:02:52"
[INFO/BackLocate] 2014-11-05 12:11:00 "Command Line args : -R /commun/data/pubdb/broadinstitute.org/bundle/1.5/b37/human_g1k_v37_prefix.fasta"
[INFO/BackLocate] 2014-11-05 12:11:00 "Executing as lindenb@kaamelot-master01 on Linux 2.6.32-431.17.1.el6.x86_64 amd64; Java HotSpot(TM) 64-Bit Server VM 1.7.0_60-b19"
[WARNING/BackLocate] 2014-11-05 12:11:00 "Undefined knwonGeneURI, using http://hgdownload.cse.ucsc.edu/goldenPath/hg19/database/knownGene.txt.gz"
[WARNING/BackLocate] 2014-11-05 12:11:00 "Undefined kgXref, using http://hgdownload.cse.ucsc.edu/goldenPath/hg19/database/kgXref.txt.gz"
[INFO/BackLocate] 2014-11-05 12:11:00 "loading genes"
[WARNING/BackLocate] 2014-11-05 12:11:04 "The reference doesn't contain chromosome chr17_ctg5_hap1"
[WARNING/BackLocate] 2014-11-05 12:11:07 "The reference doesn't contain chromosome chr4_ctg9_hap1"
[WARNING/BackLocate] 2014-11-05 12:11:07 "The reference doesn't contain chromosome chr6_apd_hap1"
[WARNING/BackLocate] 2014-11-05 12:11:07 "The reference doesn't contain chromosome chr6_cox_hap2"
[WARNING/BackLocate] 2014-11-05 12:11:08 "The reference doesn't contain chromosome chr6_dbb_hap3"
[WARNING/BackLocate] 2014-11-05 12:11:08 "The reference doesn't contain chromosome chr6_mann_hap4"
[WARNING/BackLocate] 2014-11-05 12:11:08 "The reference doesn't contain chromosome chr6_mcf_hap5"
[WARNING/BackLocate] 2014-11-05 12:11:08 "The reference doesn't contain chromosome chr6_qbl_hap6"
[WARNING/BackLocate] 2014-11-05 12:11:08 "The reference doesn't contain chromosome chr6_ssto_hap7"
[INFO/BackLocate] 2014-11-05 12:11:10 "genes:78963"
[INFO/BackLocate] 2014-11-05 12:11:10 "loading http://hgdownload.cse.ucsc.edu/goldenPath/hg19/database/kgXref.txt.gz"
[INFO/BackLocate] 2014-11-05 12:11:18 "kgxref:28493"
#User.Gene    AA1    petide.pos.1    AA2    knownGene.name    knownGene.strand    knownGene.AA    index0.in.rna    codon    base.in.rna    chromosome    index0.in.genomic    exon
[INFO/BackLocate] 2014-11-05 12:11:18 "reading from stdin"
[INFO/BackLocate] 2014-11-05 12:11:18 "fetch genome"
##uc001eik.3
NOTCH2    P    1090    M    uc001eik.3    -    P    3267    CCA    C    chr1    120480548    Exon 20
NOTCH2    P    1090    M    uc001eik.3    -    P    3268    CCA    C    chr1    120480547    Exon 20
NOTCH2    P    1090    M    uc001eik.3    -    P    3269    CCA    A    chr1    120480546    Exon 20
##uc001eil.3
NOTCH2    P    1090    M    uc001eil.3    -    P    3267    CCA    C    chr1    120480548    Exon 20
NOTCH2    P    1090    M    uc001eil.3    -    P    3268    CCA    C    chr1    120480547    Exon 20
NOTCH2    P    1090    M    uc001eil.3    -    P    3269    CCA    A    chr1    120480546    Exon 20
#index out of range for :uc001eim.4 petide length=820
#index out of range for :uc021osy.1 petide length=864
[INFO/BackLocate] 2014-11-05 12:11:18 "End JOB status=0 [Wed Nov 05 12:11:18 CET 2014] com.github.lindenb.jvarkit.tools.backlocate.BackLocate done. Elapsed time: 0.31 minutes."

I tried compiling jvarkit and got the following error (only last ~25 lines reproduced below), the make then quit.

htsjdk-jar:
    [mkdir] Created dir: /Users/bertgold/Documents/jvarkit/htsjdk-1.139/dist
      [jar] Building jar: /Users/bertgold/Documents/jvarkit/htsjdk-1.139/dist/htsjdk-1.139.jar
     [copy] Copying 6 files to /Users/bertgold/Documents/jvarkit/htsjdk-1.139/dist

all:

BUILD SUCCESSFUL
Total time: 15 seconds
touch -c /Users/bertgold/Documents/jvarkit/htsjdk-1.139/dist/commons-jexl-2.1.1.jar
mkdir -p /Users/bertgold/Documents/jvarkit/src/main/generated-sources/java/com/github/lindenb/jvarkit/util/htsjdk/
echo "package com.github.lindenb.jvarkit.util.htsjdk;" > /Users/bertgold/Documents/jvarkit/src/main/generated-sources/java/com/github/lindenb/jvarkit/util/htsjdk/HtsjdkVersion.java
echo '@javax.annotation.Generated("jvarkit")' >> /Users/bertgold/Documents/jvarkit/src/main/generated-sources/java/com/github/lindenb/jvarkit/util/htsjdk/HtsjdkVersion.java
echo 'public class HtsjdkVersion{ private HtsjdkVersion(){}' >> /Users/bertgold/Documents/jvarkit/src/main/generated-sources/java/com/github/lindenb/jvarkit/util/htsjdk/HtsjdkVersion.java
echo 'public static String getVersion() {return "1.139";}' >> /Users/bertgold/Documents/jvarkit/src/main/generated-sources/java/com/github/lindenb/jvarkit/util/htsjdk/HtsjdkVersion.java
echo 'public static String getHome() {return "/Users/bertgold/Documents/jvarkit/htsjdk-1.139";}' >> /Users/bertgold/Documents/jvarkit/src/main/generated-sources/java/com/github/lindenb/jvarkit/util/htsjdk/HtsjdkVersion.java
echo 'public static String getJavadocUrl(Class clazz) {return "https://samtools.github.io/htsjdk/javadoc/htsjdk/"+clazz.getName().replaceAll("\\.","/")+".html";}' >> /Users/bertgold/Documents/jvarkit/src/main/generated-sources/java/com/github/lindenb/jvarkit/util/htsjdk/HtsjdkVersion.java
echo '}'  >> /Users/bertgold/Documents/jvarkit/src/main/generated-sources/java/com/github/lindenb/jvarkit/util/htsjdk/HtsjdkVersion.java
mkdir -p lib/commons-cli/commons-cli/1.3.1/ && curl -Lk  -o "lib/commons-cli/commons-cli/1.3.1/commons-cli-1.3.1.jar" "http://central.maven.org/maven2/commons-cli/commons-cli/1.3.1/commons-cli-1.3.1.jar"
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
curl: (52) Empty reply from server
make: *** [lib/commons-cli/commons-cli/1.3.1/commons-cli-1.3.1.jar] Error 52

I'm still having problems...

Again, just the last few lines, where it's failing:

javac -version
javac 1.6.0_65
#compile
javac -d /Users/bertgold/Documents/jvarkit/_tmp-1.139 -g -classpath "/Users/bertgold/Documents/jvarkit/htsjdk-1.139/dist/commons-jexl-2.1.1.jar:/Users/bertgold/Documents/jvarkit/htsjdk-1.139/dist/commons-logging-1.1.1.jar:/Users/bertgold/Documents/jvarkit/htsjdk-1.139/dist/htsjdk-1.139.jar:/Users/bertgold/Documents/jvarkit/htsjdk-1.139/dist/snappy-java-1.0.3-rc3.jar:/Users/bertgold/Documents/jvarkit/htsjdk-1.139/dist/commons-compress-1.4.1.jar:/Users/bertgold/Documents/jvarkit/htsjdk-1.139/dist/apache-ant-1.8.2-bzip2.jar:/Users/bertgold/Documents/jvarkit/htsjdk-1.139/dist/xz-1.5.jar:lib/commons-cli/commons-cli/1.3.1/commons-cli-1.3.1.jar" -sourcepath /Users/bertgold/Documents/jvarkit/src/main/java:/Users/bertgold/Documents/jvarkit/src/main/generated-sources/java /Users/bertgold/Documents/jvarkit/src/main/generated-sources/java/com/github/lindenb/jvarkit/util/htsjdk/HtsjdkVersion.java /Users/bertgold/Documents/jvarkit/src/main/java/com/github/lindenb/jvarkit/tools/backlocate/BackLocate.java
/Users/bertgold/Documents/jvarkit/src/main/java/com/github/lindenb/jvarkit/tools/backlocate/BackLocate.java:67: illegal start of type
        private Map<String,Set<String>> geneSymbol2kg=new HashMap<>();
                                                                  ^
/Users/bertgold/Documents/jvarkit/src/main/java/com/github/lindenb/jvarkit/tools/backlocate/BackLocate.java:68: illegal start of type
        private Map<String,KnownGene> knwonGenes=new HashMap<>();
                                                             ^
/Users/bertgold/Documents/jvarkit/src/main/java/com/github/lindenb/jvarkit/tools/backlocate/BackLocate.java:262: illegal start of type
        final Set<String> possibleAltCodons = new HashSet<>();
                                                          ^
3 errors
make: *** [backlocate] Error 1

the problem is here:

javac -version
javac 1.6.0_65

you cropped the line above which should be:

## Printing javac version : it should be 1.7. if Not, check your ${PATH}.

Log in to answer this question.