- Change version numbers:
- Update SnpEff pom.xml
- Update SnpSift pom.xml
- Update
scripts_build/make.sh
, lineexport VERSION=5.1
- Check
Config.DATABASE_COMPATIBLE_VERSIONS
for new version compatibilities added
- Build JAR files:
./make.bds
- Run tests:
./make.bds -test
- Run
SnpEff/git/reelease
andSnpSift/git/reelease
- Create distro ZIP files:
./make.bds -distroCore
- Upload core files to Azure:
./make.bds -uploadCore
- Update web page and documentation:
./make.bds -createDocs
, see Documentation section
- Download databases:
./make.bds -download
, (see Download Database sources - Build databases:
./make.bds -db
, see section "Databases sources updates details" for details - Upload files to Azure:
./make.bds -uploadDbs
AWS instance notes: Downloading database sources: Can be done in a small instance (4 cores)
- Disk: 2 TB
- Memory: 32 GB (building dbNSFP loads large files in memory to sort by chr:pos)
Building databases: 64 cores recommended
- NOTES:
- GitHub pages are published from
/docs
directory (main project's directory). This is configured in GitHub's project settings. - Markdown source for
mkdocs
is undersrc/docs
- GitHub pages are published from
./make.bds -createDocs
This will create site
directory (ref: https://www.mkdocs.org/#building-the-site) and copy the html pages to docs
directory, so when you push to github it will be "published"
Localhost web-server starting: This will create local web-site on http://127.0.0.1:8000 (ref: https://www.mkdocs.org/#getting-started)
# Go to snpEff's install dir, activate virtual environment containing mkdocs
cd ~/snpEff; source ./bin/activate
./bin/mkdocs serve
Just commit to GitHub, the updated pages in docs
directory will be shown after a few minutes
./git/commit 'Documentation updated'
SnpEff uses mkdocs
.
To build docs you need mkdocs-material theme installed.
mkdocs
dependencies is included in mkdocs-material
now (ref: https://www.mkdocs.org/#installing-mkdocs
# Go to snpEff's install dir, activate virtual environment containing mkdocs
cd ~/snpEff; source ./bin/activate
pip install mkdocs-material
Update make.bds
, variable dbCompatibleVersions
.
Add list of all database versions that are compatible with this release
- Go to ENSEMBL's site and check the latest release number: http://ftp.ensembl.org/pub/
- Update
make.bds
variableensemblRelease
- Create an empty config file
config/snpEff.ENSEMBL_{RELEASE_NUMBER}.config
- Run
./make.bds -download
will create the appropriate line for the config fileconfig/snpEff.ENSEMBL_{RELEASE_NUMBER}.config
- Download list of UCSC genomes from API
curl https://api.genome.ucsc.edu/list/ucscGenomes > ucscGenomes.json
- Check UCSC genomes (API call + jq):
jq -r '.ucscGenomes | keys[] ucscGenomes.json'
- Use the list of genomes to update
make.bds
, variableucscGenomes
- WARNING: You need to filter out repeated genomes and use the latest versions for each (maybe except
hg
andmm
)
- Check latest release number from http://ftp.ensemblgenomes.org/pub/
- Update release number on
make.bds
, variableensemblBfmppRelease
- Create an empty config file
config/snpEff.ENSEMBL_BFMPP_{RELEASE_NUMBER}.config
- Run
./make.bds -download
will create the appropriate line for the config fileconfig/snpEff.ENSEMBL_BFMPP_{RELEASE_NUMBER}.config
Note: It looks like FlyBase is not providing any GTF files for other than 'dmel', this is really weird, they used to have them in the past (maybe the project is dead/dying?)
- Check latest release from http://ftp.flybase.net/releases/
- Update
make.bds
, variableflybaseRelease
- Update the list of genomes, variable
flybaseGenomes
- Check which genomes have GTF files (right click on each link and look for
gtf
subdir) - Create / Update the config file
config/snpEff.FLYBASE_{FLYBASE_RELEASE}.config
- Check latest version from https://ftp.ncbi.nlm.nih.gov/refseq/MANE/MANE_human/
- Update
make.bds
, variablemaneRelease
- Update file
config/snpEff.dbs.config
, look forGRCh38.mane.*
entries
Usually nothing to update, there is a stable link to the latest version
Usually nothing to update
- Check release vresion from https://ftp.ncbi.nih.gov/snp/latest_release/VCF/
- Update
src/bds/download/downloadHumanDb.bds
- GRCh37: Variable
urlDbSnpGrch37
- GRCh38: Variable
urlDbSnpGrch38
- GRCh37: Variable
- Check latest version from https://sites.google.com/site/jpopgen/dbNSFP
- Update
make.bds
, variabledbNsfpVersion
(use the version ending in "a")
Usually nothing to update
- Check the page https://www.ebi.ac.uk/gwas/docs/file-downloads
- WARNING: If there are changes in the format, Java code might need to change
- Check the download page https://jaspar.genereg.net/downloads/
- Download link from https://jaspar.genereg.net/download/data/2022/CORE/JASPAR2022_CORE_non-redundant_pfms_jaspar.txt
- Update
src/bds/download/downloadHumanDb.bds
, variableurlJaspar
Usually nothing to update
- Check release from https://download.nextprot.org/pub/current_release/
- Update link in
src/bds/download/downloadHumanDb.bds
, variableurlNextProt
- Check download page for change https://www.rcsb.org/docs/programmatic-access/file-download-services
- Check rsyn script