-
Notifications
You must be signed in to change notification settings - Fork 132
Gff2KnownGene
##Motivation
Convert GFF3 format to UCSC knownGene format.
##Compilation
- java 1.8 http://www.oracle.com/technetwork/java/index.html (NOT the old java 1.7 or 1.6) . Please check that this java is in the
${PATH}
. Setting JAVA_HOME is not enough : (e.g: https://github.com/lindenb/jvarkit/issues/23 ) - GNU Make > 3.81
- curl/wget
- git
- apache ant is only required to compile htsjdk
- xsltproc http://xmlsoft.org/XSLT/xsltproc2.html
$ git clone "https://github.com/lindenb/jvarkit.git"
$ cd jvarkit
$ make gff2kg
by default, the libraries are not included in the jar file, so you shouldn't move them (https://github.com/lindenb/jvarkit/issues/15#issuecomment-140099011 ). You can create a bigger but standalone executable jar by addinging standalone=yes
on the command line:
$ git clone "https://github.com/lindenb/jvarkit.git"
$ cd jvarkit
$ make gff2kg standalone=yes
The required libraries will be downloaded and installed in the dist
directory.
The a file local.mk can be created edited to override/add some paths.
For example it can be used to set the HTTP proxy:
http.proxy.host=your.host.com
http.proxy.port=124567
##Synopsis
$ java -jar dist/gff2kg.jar [options] (stdin|file)
- -o|--output (OUTPUT-FILE) Output file. Default:stdout
- -maxRecordsInRam|--maxRecordsInRam (NUMBER) When writing files that need to be sorted, this will specify the number of records stored in RAM before spilling to disk. Increasing this number reduces the number of file handles needed to sort a SAM/VCF/... file, and increases the amount of RAM needed. Default value : "500000".
- -tmpdir|--tmpdir (TMPDIR) Set temporary directory
- -h|--help print help
- -version|--version show version and exit
##Source Code
Main code is: https://github.com/lindenb/jvarkit/blob/master/src/main/java/com/github/lindenb/jvarkit/tools/misc/Gff2KnownGene.java
### Example
$ curl -s "ftp://ftp.sanger.ac.uk/pub/gencode/Gencode_human/release_19/gencode.v19.annotation.gff3.gz" | gunzip -c | java -jar dist/gff2kg.jar
(...)
1826 ENST00000367917.3 chr1 + 162760522 162782607 162760590 162782210 8 162760522,162762448,162766374,162767591,162769532,162774056,162775183,162782087 162760625,162762652,162766467,162767706,162769727,162774113,162775282,162782607 gene_id=ENSG00000132196.9;transcript_id=ENST00000367917.3;gene_type=protein_coding;gene_status=KNOWN;gene_name=HSD17B7;transcript_type=protein_coding;transcript_name=HSD17B7-201;protein_id=ENSP00000356894.3;havana_gene=OTTHUMG00000034420.6; ENST00000367917.3
(...)
In the UCSC (not the structure of konwGene, but we can validate intervals):
$ mysql --user=genome --host=genome-mysql.cse.ucsc.edu -D hg19 -e 'select * from wgEncodeGencodeBasicV19 where name="ENST00000367917.3"' | cat
bin name chrom strand txStart txEnd cdsStart cdsEnd exonCount exonStarts exonEnds score name2 cdsStartStat cdsEndStat exonFrames
1826 ENST00000367917.3 chr1 + 162760522 162782607 162760590 162782210 8 162760522,162762448,162766374,162767591,162769532,162774056,162775183,162782087, 162760625,162762652,162766467,162767706,162769727,162774113,162775282,162782607, 0 HSD17B7 cmpl cmpl 0,2,2,2,0,0,0,0,
- Issue Tracker: http://github.com/lindenb/jvarkit/issues
- Source Code: http://github.com/lindenb/jvarkit
The project is licensed under the MIT license.
Should you cite gff2kg ? https://github.com/mr-c/shouldacite/blob/master/should-I-cite-this-software.md
The current reference is:
http://dx.doi.org/10.6084/m9.figshare.1425030
Lindenbaum, Pierre (2015): JVarkit: java-based utilities for Bioinformatics. figshare. http://dx.doi.org/10.6084/m9.figshare.1425030