
Security News
ESLint Adds Official Support for Linting HTML
ESLint now supports HTML linting with 48 new rules, expanding its language plugin system to cover more of the modern web development stack.
This server provides both a web interface and a RESTful API. Users may explore and download archived indexes from the web interface or develop tools that programmatically query the API.
This folder contains code for an API to provide reference genomes. refgenieserver
can do 2 things: archive
an existing refgenie folder, and then serve
it.
serve
In the same directory as the Dockerfile
:
docker build -t refgenieserverim .
You can run it directly after installing with pip install
, like this:
refgenieserver serve -c refgenie.yaml -p 5000
Better, though, is to use the container. Mount a directory of files to serve at /genomes
:
docker run --rm -p 80:80 --name refgenieservercon \
-v $(pwd)/files:/genomes \
refgenieserverim refgenieserver serve -c refgenie.yaml
Run the container from the image you just built:
docker run --rm -d -p 80:80 \
-v /path/to/genomes_archive:/genomes \
--name refgenieservercon \
refgenieserverim refgenieserver serve -c /genomes/genome_config.yaml
Make sure the genome_config.yaml
filename matches what you've named your configuration file! We use -d
to detach so it's in background. You shouldn't need to mount the app (-v /path/to/refgenieserver:/app
) because in this case we're running it directly. Terminate container when finished:
docker stop refgenieservercon
Navigate to http://localhost/ to see the server in action.
You can see the automatic docs and interactive swagger openAPI interface at http://localhost/docs. That will also tell you all the endpoints, etc.
Attach to container to see debug output:
docker attach refgenieservercon
Grab errors:
docker events | grep -oP "(?<=die )[^ ]+"
View those error codes:
docker logs <error_code>
Enter an interactive shell to explore the container contents:
docker exec -it refgenieservercon sh
archive
Refgenieserver can also archive your assets, creating the directory for asset archives needed to serve
.
First, make sure the config has a genome_archive_folder
key that points to the directory where you want to store the servable archives (genome_archive_folder
is not added automatically by refgenie init
). Your first time you will need to manually add this to tell refgenieserver where to store the archives.
Secondly, if you wish to store the refgenieserver configuration file separately from the genome_archive_folder
, specify a genome_archive_config
key. The path that this key points to will be considered relative to the refgenie configuration file, unless it's absolute.
Then run:
refgenieserver archive -c CONFIG
It just requires a -c
argument or $REFGENIE
environment variable.
This command will:
genome_archive
directory and structure that can be used to serve the assetsarchive_digest
and archive_size
.In case you already have some of the assets archived and just want to add a new one, use:
refgenieserver archive -c CONFIG GENOME/ASSET:TAG
In case you want to remove an unwanted archive, add an -r
flag:
refgenieserver archive -c CONFIG -r GENOME/ASSET:TAG
refgenie
suite of softwareThe refgenie
universe includes refgenie
, refgenconf
, and refgenieserver
.
The test_refgenie.sh
script will test the integration of all three tools to ensure everything is functioning, particularly following any changes or updates to one, two, or all three tools.
Use it simply as follows:
/path/to/test_refgenie.sh
The script also requires Python's virtual environment module, Docker, and Bulker to successfully test all components.
FAQs
This server provides both a web interface and a RESTful API. Users may explore and download archived indexes from the web interface or develop tools that programmatically query the API.
We found that refgenieserver demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 3 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
ESLint now supports HTML linting with 48 new rules, expanding its language plugin system to cover more of the modern web development stack.
Security News
CISA is discontinuing official RSS support for KEV and cybersecurity alerts, shifting updates to email and social media, disrupting automation workflows.
Security News
The MCP community is launching an official registry to standardize AI tool discovery and let agents dynamically find and install MCP servers.