JBrowse: Difference between revisions
No edit summary |
|||
(16 intermediate revisions by 3 users not shown) | |||
Line 8: | Line 8: | ||
** https://jbrowse.hpcagrogenomics.wur.nl/cattle/ | ** https://jbrowse.hpcagrogenomics.wur.nl/cattle/ | ||
** https://jbrowse.hpcagrogenomics.wur.nl/turkey/ | ** https://jbrowse.hpcagrogenomics.wur.nl/turkey/ | ||
** https://jbrowse.hpcagrogenomics.wur.nl/Cyprinus_carpio/ | |||
* Users are free to add usefull commands to this tutorial | * Users are free to add usefull commands to this tutorial | ||
Line 14: | Line 15: | ||
Download the latest JBrowse here: http://jbrowse.org/ | Download the latest JBrowse here: http://jbrowse.org/ | ||
Make a directory in <code>/shared/apps/jbrowse/</code> for your species of interested (e.g. <code>mkdir Cyprinus_carpio</code>). Move the downloaded JBrowse source files there. All further procedures detailed in this Wiki page assume working from that directory (NOTE: if your species of interest is already there, contact the maintainer of that JBrowse instance). | |||
Run the setup script to install perl dependencies and required modules | Run the setup script to install perl dependencies and required modules | ||
< | <pre> | ||
unzip JBrowse-1.12.0.zip | unzip JBrowse-1.12.0.zip | ||
mv JBrowse-1.12.0/* $PWD | |||
./setup.sh | ./setup.sh | ||
</ | </pre> | ||
=== Add reference sequence === | === Add reference sequence === | ||
Line 25: | Line 28: | ||
Example code for chicken genome | Example code for chicken genome | ||
< | <pre> | ||
bin/prepare-refseqs.pl --fasta /lustre/nobackup/WUR/ABGC/shared/public_data_store/genomes/chicken/Ensembl74/Gallus_gallus.Galgal4.74.dna.toplevel.fa | bin/prepare-refseqs.pl --fasta /lustre/nobackup/WUR/ABGC/shared/public_data_store/genomes/chicken/Ensembl74/Gallus_gallus.Galgal4.74.dna.toplevel.fa | ||
</ | </pre> | ||
To remove tracks use following command: | To remove tracks use following command: | ||
< | <pre> | ||
bin/remove-track.pl -D --trackLabel 'trackname' | bin/remove-track.pl -D --trackLabel 'trackname' | ||
</ | </pre> | ||
===Add annotation files (GFF/BED)=== | ===Add annotation files (GFF/BED)=== | ||
Line 41: | Line 44: | ||
Add gene features: | Add gene features: | ||
< | <pre> | ||
bin/flatfile-to-json.pl --key " | bin/flatfile-to-json.pl --key "Genes" --type gene --config '{ "category": "GalGal4.83 Annotation" }' --trackLabel Genes --gff ../ensembl_data/Gallus_gallus.Galgal4.83.gff3 | ||
</ | </pre> | ||
Add corresponding transcripts: | Add corresponding transcripts: | ||
< | <pre> | ||
bin/flatfile-to-json.pl --key "Transcripts" --className transcript --subfeatureClasses '{"exon": "exon", "CDS": "CDS", "five_prime_UTR": "five_prime_UTR", "three_prime_UTR": "three_prime_UTR"}' --config '{ "category": "GalGal4.83 Annotation" }' --type transcript --trackLabel Transcripts --gff ../ensembl_data/Gallus_gallus.Galgal4.83.gff3 | bin/flatfile-to-json.pl --key "Transcripts" --className transcript --subfeatureClasses '{"exon": "exon", "CDS": "CDS", "five_prime_UTR": "five_prime_UTR", "three_prime_UTR": "three_prime_UTR"}' --config '{ "category": "GalGal4.83 Annotation" }' --type transcript --trackLabel Transcripts --gff ../ensembl_data/Gallus_gallus.Galgal4.83.gff3 | ||
</ | </pre> | ||
===Alignment tracks (BAM)=== | ===Alignment tracks (BAM)=== | ||
You can load single BAM-files by following command: | You can load single BAM-files by following command: | ||
< | <pre> | ||
bin/add-bam-track --label <label> --bam_url <url> | bin/add-bam-track --label <label> --bam_url <url> | ||
</ | </pre> | ||
To load multiple BAM files present in a certain directory use: | To load multiple BAM files present in a certain directory use: | ||
< | <pre> | ||
for bam in /<dir>*.bam; do | for bam in /<dir>*.bam; do | ||
ln -s $bam track_symlinks/ ## Make symlinks from the BAM files | ln -s $bam track_symlinks/ ## Make symlinks from the BAM files | ||
ln -s $bam.bai track_symlinks/ ## Make symlinks to the BAM index files | ln -s $bam.bai track_symlinks/ ## Make symlinks to the BAM index files | ||
tissue=`$ | tissue=`echo $bam | rev | cut -c 5- | cut -d'/' -f1 | rev` ## USe the name of the file without .bam as trackLabel | ||
## Add BAM in alignment mode (Alignments2) | ## Add BAM in alignment mode (Alignments2) | ||
Line 71: | Line 74: | ||
"key" : "'${tissue}'_alignment", | "key" : "'${tissue}'_alignment", | ||
"storeClass" : "JBrowse/Store/SeqFeature/BAM", | "storeClass" : "JBrowse/Store/SeqFeature/BAM", | ||
"urlTemplate" : "../track_symlinks/'${ | "urlTemplate" : "../track_symlinks/'${tissue}'", | ||
"category" : "3. RNA-seq alignments", | "category" : "3. RNA-seq alignments", | ||
"type" : "Alignments2" | "type" : "Alignments2" | ||
Line 81: | Line 84: | ||
"key" : "'${tissue}'_coverage", | "key" : "'${tissue}'_coverage", | ||
"storeClass" : "JBrowse/Store/SeqFeature/BAM", | "storeClass" : "JBrowse/Store/SeqFeature/BAM", | ||
"urlTemplate" : "../track_symlinks/'${ | "urlTemplate" : "../track_symlinks/'${tissue}'", | ||
"category" : "3. RNA-seq alignments", | "category" : "3. RNA-seq alignments", | ||
"type" : "SNPCoverage" | "type" : "SNPCoverage" | ||
Line 87: | Line 90: | ||
done | done | ||
</ | </pre> | ||
Make sure the BAM file can be read by a everybody if not use: | Make sure the BAM file can be read by a everybody if not use: | ||
< | <pre> | ||
chmod +r <BAM_file> | chmod +r <BAM_file> | ||
</ | </pre> | ||
Make sure that all directoryies in the full path of the BAMfile are executable: | Make sure that all directoryies in the full path of the BAMfile are executable: | ||
< | <pre> | ||
chmod +x <dir> | chmod +x <dir> | ||
</ | </pre> | ||
===Variant tracks (VCF)=== | ===Variant tracks (VCF)=== | ||
Line 103: | Line 106: | ||
To load a VCF file in JBrowse make sure the file is gzipped and indexed | To load a VCF file in JBrowse make sure the file is gzipped and indexed | ||
< | <pre> | ||
tabix -p vcf Gallus_gallus_incl_consequences.vcf.gz | tabix -p vcf Gallus_gallus_incl_consequences.vcf.gz | ||
Line 114: | Line 117: | ||
"type" : "HTMLVariants" | "type" : "HTMLVariants" | ||
} ' | bin/add-track-json.pl data/trackList.json | } ' | bin/add-track-json.pl data/trackList.json | ||
</ | </pre> | ||
===Wiggle/BigWig tracks (WIG)=== | ===Wiggle/BigWig tracks (WIG)=== | ||
You can load single BigWig-files by following command: | |||
<pre> | |||
bin/add-bw-track --label <label> --bw_url <url> | |||
</pre> | |||
===Evidence tracks=== | ===Evidence tracks=== | ||
Evidence tracks can be loaded in bed, gff and gbk format using | |||
<pre> | |||
bin/flatfile-to-json.pl | |||
</pre> | |||
Examples are given above. |
Latest revision as of 10:01, 16 June 2023
Typical commands used to set up a JBrowse
Author: Martijn Derks
- JBrowse is available for multiple species:
- Users are free to add usefull commands to this tutorial
Install JBrowse
Download the latest JBrowse here: http://jbrowse.org/
Make a directory in /shared/apps/jbrowse/
for your species of interested (e.g. mkdir Cyprinus_carpio
). Move the downloaded JBrowse source files there. All further procedures detailed in this Wiki page assume working from that directory (NOTE: if your species of interest is already there, contact the maintainer of that JBrowse instance).
Run the setup script to install perl dependencies and required modules
unzip JBrowse-1.12.0.zip mv JBrowse-1.12.0/* $PWD ./setup.sh
Add reference sequence
Example code for chicken genome
bin/prepare-refseqs.pl --fasta /lustre/nobackup/WUR/ABGC/shared/public_data_store/genomes/chicken/Ensembl74/Gallus_gallus.Galgal4.74.dna.toplevel.fa
To remove tracks use following command:
bin/remove-track.pl -D --trackLabel 'trackname'
Add annotation files (GFF/BED)
Data can be downloaded from the Ensembl FTP site: http://www.ensembl.org/info/data/ftp/index.html
Add gene features:
bin/flatfile-to-json.pl --key "Genes" --type gene --config '{ "category": "GalGal4.83 Annotation" }' --trackLabel Genes --gff ../ensembl_data/Gallus_gallus.Galgal4.83.gff3
Add corresponding transcripts:
bin/flatfile-to-json.pl --key "Transcripts" --className transcript --subfeatureClasses '{"exon": "exon", "CDS": "CDS", "five_prime_UTR": "five_prime_UTR", "three_prime_UTR": "three_prime_UTR"}' --config '{ "category": "GalGal4.83 Annotation" }' --type transcript --trackLabel Transcripts --gff ../ensembl_data/Gallus_gallus.Galgal4.83.gff3
Alignment tracks (BAM)
You can load single BAM-files by following command:
bin/add-bam-track --label <label> --bam_url <url>
To load multiple BAM files present in a certain directory use:
for bam in /<dir>*.bam; do ln -s $bam track_symlinks/ ## Make symlinks from the BAM files ln -s $bam.bai track_symlinks/ ## Make symlinks to the BAM index files tissue=`echo $bam | rev | cut -c 5- | cut -d'/' -f1 | rev` ## USe the name of the file without .bam as trackLabel ## Add BAM in alignment mode (Alignments2) echo '{ "label" : "'${tissue}'_alignment", "key" : "'${tissue}'_alignment", "storeClass" : "JBrowse/Store/SeqFeature/BAM", "urlTemplate" : "../track_symlinks/'${tissue}'", "category" : "3. RNA-seq alignments", "type" : "Alignments2" }' | bin/add-track-json.pl data/trackList.json ## Add BAM in coverage mode (SNPCoverage) echo '{ "label" : "'${tissue}'_coverage", "key" : "'${tissue}'_coverage", "storeClass" : "JBrowse/Store/SeqFeature/BAM", "urlTemplate" : "../track_symlinks/'${tissue}'", "category" : "3. RNA-seq alignments", "type" : "SNPCoverage" }' | bin/add-track-json.pl data/trackList.json done
Make sure the BAM file can be read by a everybody if not use:
chmod +r <BAM_file>
Make sure that all directoryies in the full path of the BAMfile are executable:
chmod +x <dir>
Variant tracks (VCF)
To load a VCF file in JBrowse make sure the file is gzipped and indexed
tabix -p vcf Gallus_gallus_incl_consequences.vcf.gz echo ' { "label" : "Gallus_gallus_incl_consequences", "key" : "Gallus_gallus_incl_consequences", "storeClass" : "JBrowse/Store/SeqFeature/VCFTabix", "urlTemplate" : "../../ensembl_data/VCF/Gallus_gallus_incl_consequences.vcf.gz", "category" : "2. Variants", "type" : "HTMLVariants" } ' | bin/add-track-json.pl data/trackList.json
Wiggle/BigWig tracks (WIG)
You can load single BigWig-files by following command:
bin/add-bw-track --label <label> --bw_url <url>
Evidence tracks
Evidence tracks can be loaded in bed, gff and gbk format using
bin/flatfile-to-json.pl
Examples are given above.