Skip to content

Instantly share code, notes, and snippets.

@cmdcolin
Last active August 27, 2025 20:23
Show Gist options
  • Save cmdcolin/c8a743f2cb8f1907f14985e155d421af to your computer and use it in GitHub Desktop.
Save cmdcolin/c8a743f2cb8f1907f14985e155d421af to your computer and use it in GitHub Desktop.
current protocols synteny
#!/bin/bash
## this should be an absolute path. this one is a web accessible directory for apache2
export OUT=/var/www/html/jbrowse2
## download and unzip NCBI genomes
datasets download genome accession GCF_000307795.1 --include gff3,genome --filename hpylori_j99.zip
datasets download genome accession GCF_000982695.1 --include gff3,genome --filename hpylori_26695.zip
datasets download genome accession GCF_025998455.1 --include gff3,genome --filename hpylori_chc155.zip
unzip -o hpylori_j99.zip
unzip -o hpylori_26695.zip
unzip -o hpylori_chc155.zip
cd ncbi_dataset/data
mv GCF_000982695.1/GCF_000982695.1_ASM98269v1_genomic.fna hpylori_j99.fa
mv GCF_000307795.1/GCF_000307795.1_ASM30779v1_genomic.fna hpylori_26695.fa
mv GCF_025998455.1/GCF_025998455.1_ASM2599845v1_genomic.fna hpylori_chc155.fa
## index FASTA files with "samtools faidx"
samtools faidx hpylori_26695.fa
samtools faidx hpylori_j99.fa
samtools faidx hpylori_chc155.fa
## load indexed FASTA files into jbrowse
jbrowse add-assembly hpylori_26695.fa --out $OUT --load copy
jbrowse add-assembly hpylori_j99.fa --out $OUT --load copy
jbrowse add-assembly hpylori_chc155.fa --out $OUT --load copy
## minimap2 based whole genome alignment
minimap2 -c hpylori_26695.fa hpylori_j99.fa >26695_vs_j99.paf
minimap2 -c hpylori_26695.fa hpylori_chc155.fa >26695_vs_chc155.paf
minimap2 -c hpylori_chc155.fa hpylori_j99.fa >chc155_vs_j99.paf
jbrowse make-pif 26695_vs_j99.paf
jbrowse make-pif 26695_vs_chc155.paf
jbrowse make-pif chc155_vs_j99.paf
jbrowse add-track 26695_vs_j99.pif.gz -a hpylori_j99,hpylori_26695 --out $OUT --load copy
jbrowse add-track 26695_vs_chc155.pif.gz -a hpylori_chc155,hpylori_26695 --out $OUT --load copy
jbrowse add-track chc155_vs_j99.pif.gz -a hpylori_j99,hpylori_chc155 --out $OUT --load copy
## create tabix-indexed gff3 for gene annotations
jbrowse sort-gff GCF_000307795.1/genomic.gff | bgzip >hpylori_26695.gff.gz
jbrowse sort-gff GCF_000982695.1/genomic.gff | bgzip >hpylori_j99.gff.gz
jbrowse sort-gff GCF_025998455.1/genomic.gff | bgzip >hpylori_chc155.gff.gz
tabix hpylori_j99.gff.gz
tabix hpylori_26695.gff.gz
tabix hpylori_chc155.gff.gz
# load gene annotations
jbrowse add-track hpylori_26695.gff.gz --out $OUT --load copy -a hpylori_26695
jbrowse add-track hpylori_j99.gff.gz --out $OUT --load copy -a hpylori_j99
jbrowse add-track hpylori_chc155.gff.gz --out $OUT --load copy -a hpylori_chc155
## create text index for gene name searching
jbrowse text-index --out $OUT
## optional: set default session. uncomment to make the browser go to a default location
echo '{"name":"Demo","views":[{"type":"LinearGenomeView","init":{"loc":"NC_018939.1:391,180..408,961","assembly":"hpylori_26695","tracklist":true,"tracks":["hpylori_26695.gff","26695_vs_j99.pif"]}}]}' >session.json
j
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment