A few tips and tricks for working with slurm (i.e. submitting jobs using sbatch) that I frequently forget!
Continue reading
A few tips and tricks for working with slurm (i.e. submitting jobs using sbatch) that I frequently forget!
Continue readingIn DNA sequencing, we add primers and adapters to the ends of sequences. These are short (typically <50bp) known sequences, that we use so we can identify different kinds of sequences. You can find out more about the adapters in this YouTube video.
This challenge is to write software to efficiently detect and remove the primers and adapters from a fastq format file.
Continue readingMaking maps is hard. Even though we’ve been making maps for hundreds of years, it is still hard. Making good looking maps is really hard. We published a map that is both beautiful and tells a story, and this is the story of how we made that map.
But a figure like this does not appear immediately, it takes work to get something to look this good, and needless to say it wasn’t me that made it look so great!
Continue readingWe use Google Scholar a lot to search the literature, but also to track our own works. Several grant administration systems use ORCID to retrieve citations. Here is how you can “easily” update ORCID with all your citations from Google Scholar.
Continue readingCAT/BAT by Bastiaan von Meijenfeldt and Bas Dutilh is a terrific tool for assigning taxonomy to contigs or metagenome bins. However, phages, and especially prophages, cause some problems because their taxonomy clashes with the bacterial taxonomy. Here is how to update the taxonomic profiles to handle prophages somewhat better.
Continue readingWe use proxy servers all the time: we have a main server (eg http://edwards.sdsu.edu/) that serves applications (eg. http://edwards.sdsu.edu/GenomePeek) but the application itself runs on different hardware than the webserver.
Here, we show how to host a Django project on a proxy server using the apache web server and make it accessible.
Continue readingThis is just a brief tip on how to simply wrap a java .jar
file into an executable. This approach does no error checking, and it is up to the user to ensure that you are passing the appropriate variable.
I can never remember how to do this, so here, in a few lines is how to correctly set up a git fork to allow you to contribute to other people’s code
Continue readingFirst, make sure everything is upto date in GitHub.
We are going to call this release version 4.0 and we will have release candidates, starting at rc1
First, create a release on GitHub. Strictly speaking you don’t need to do that but it is a great thing to do.
The PyPi instructions cover this, but I have abstracted out the parts we need to focus on (since we have a setup.py already!)
As a regular user we build everything. This make a new release that we will upload
python3 setup.py sdist
This will create the tarball and the wheel file in the dist
directory. Then we need to upload those to PyPi.
We are going to use the PyPi test interface to make sure that everything is OK. Do not skip this step!
If you need an API key, navigate to the PyPi login page . However, if you have done this before, you probably don’t need to save it again 😉
python3 -m twine upload --repository testpypi dist/PhiSpy-4.0.0rc1.tar.gz
Note that you can not upload the wheel. Binary wheels from linux are not supported.
Now we are going to test it out. Lets make a virtual environment and install it there
virtualenv test_phispy cd test_phispy source bin/activate which pip
This should tell you that the current pip is from your virtual environment. If it is not, solve that problem!
For PhiSpy, we have a couple of dependencies that you should install with regular pip
before you can install your new release candidate:
pip3 install scikit-learn biopython
This will install other things like numpy
that you need.
Now you can install your new release.
pip install -i https://test.pypi.org/simple/ PhiSpy==4.0.0rc1
If you are not sure exactly the URL, logging into the PyPi test login page will show your available repositories, including the newly uploaded repository. If you click on the version you want, you can get the link to download and install that.
Once you are happy and have run some tests, login to the real PyPi page (good to do anyway, even if you have an API key)
Now you can upload the final version to PyPi for everyone to access
python3 -m twine upload dist/PhiSpy-4.0.0.tar.gz
Its worth logging into the real PyPi page to make sure that you can download it!
It turns out that for most code all you have to do is wait! The conda bots will take care of incrementing to the next version and running the continuous integration tests for you.
However, if you need to update the code manually, you probably need to change the version in meta.yaml
and then you should update the SHA hash:
wget -O- https://github.com/linsalrob/PhiSpy/archive/v4.1.16.tar.gz | shasum -a 256
and then paste the output of that into the SHA field. In this case, the shasum should be
1d3579e83125d4ccf108d2e369a4c56984d12f1c8ff483d90efaf99cb6182d44
For a long time we ran the project PhAnToMe at the website phantome.org.
Alas, all great things come to and end, and it is with sadness that we are winding down the phage annotation tools and methods project. However, we have not given up and are still working on new challenges.
We have migrated most of our tools to the Edwards’ lab website, but if you can’t find anything, please let us know. We still have all our tools, we are just not maintaining phantome.org any longer