A python package with command-line tools for contextually classifying variable/transient astronomical sources. Sherlock mines a library of historical and on-going astronomical survey data in an attempt to identify sources transient/variable events, and predict their classifications based on the associated crossmatched data.
# SHERLOCK # : INFERING TRANSIENT-SOURCE CLASSIFICATIONS FROM SPATIALLY CROSS-MATCHED CATALOGUED SOURCES : ============================================================================================= Documentation for sherlock can be found here: http://qub-sherlock.readthedocs.org/en/stable .. todo :: - docuument cl_utils module - tidy usage text Usage: sherlock init sherlock info [-s <pathToSettingsFile>] sherlock [-NA] dbmatch [--update] [-s <pathToSettingsFile>] sherlock [-vN] match -- <ra> <dec> [<pathToSettingsFile>] sherlock clean [-s <pathToSettingsFile>] sherlock wiki [-s <pathToSettingsFile>] sherlock import ned <ra> <dec> <radiusArcsec> [-s <pathToSettingsFile>] sherlock import cat <cat_name> <pathToDataFile> <cat_version> [-s <pathToSettingsFile>] sherlock import stream <stream_name> [-s <pathToSettingsFile>] Options: init setup the sherlock settings file for the first time match XXXX dbmatch database match clean XXXX wiki XXXX import XXXX ned use the online NED database as the source catalogue cat import a static catalogue into the sherlock-catalogues database stream download/stream new data from a give source catalogue into the sherlock sherlock-catalogues database info print an overview of the current catalogues, views and streams in the sherlock database ready for crossmatching ra the right-ascension coordinate with which to perform a conesearch (sexegesimal or decimal degrees) dec the declination coordinate with which to perform a conesearch (sexegesimal or decimal degrees) radiusArcsec radius in arcsec of the footprint to download from the online NED database cat_name name of the catalogue being imported (veron|ned_d) stream_name name of the stream to import into the sherlock-catalogues database (ifs) -N, --skipNedUpdate do not update the NED database before classification -A, --skipAnnotation do not update the peak magnitudes and human readable text annotations of objects (can eat up some time) -h, --help show this help message -s, --settings the settings file -v, --verbose print more details to stdout -l, --transientlistId the id of the transient list to classify -u, --update update the transient database with new classifications and crossmatches
Although you can get Sherlock from a simple
pip install, it's best to
install it within a Conda environment under Anaconda. If you're not
familiar with Anaconda, you'll find a good tutorial
to get you up and running.
Once you have Anaconda installed, go ahead and create a new Conda environment to host Sherlock:
conda create -n sherlock python=2.7 pip
Now activate the environment and install sherlock:
source activate sherlock pip install qub-sherlock
At any point in the future you can upgrade to the latest version of sherlock with the command:
pip install qub-sherlock --upgrade
If instead you want to clone the github repo and install from a local version of the code:
git clone email@example.com:thespacedoctor/sherlock.git cd sherlock source activate sherlock python setup.py install
If you want to tinker with the code, then install in development mode. This means you can modify the installed code from whereever you clone the repo to:
git clone firstname.lastname@example.org:thespacedoctor/sherlock.git cd sherlock source activate sherlock python setup.py develop
Pull requests are welcomed!
Please report any issues here.
Copyright (c) 2018 David Young
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.