Logged in as {{user}}
Admin Authentication
Since there is now an admin, only admins can create new admin accounts. You can do so through the /admin/create
route.
API Routes
/chemical/all
- returns all chemicals in the database as JSON/chemical/search
- returns JSON for search queries. This endpoint takes GET parameters as follows:- mz_min: Minimum M/Z Ratio
- mz_max: Maximum M/Z Ratio
- rt_min: Minimum Retention Time
- rt_max: Maximum Retention Time
/chemical/<chemical id>/{view,update,delete}
- CRUD endpoints for chemicals.
Programmatically adding Chemicals
You need admin credentials to access the /chemical/create
endpoint, so using an HTTP library
like python's requests library is highly recommended for keeping track of session cookies.
import requests
session = requests.session()
baseurl = "chemicaldb.teidkim.me"
session.post(baseurl + "/admin/login", {"username": <username>, "password": <password>})
fields = {
"chemical_db_id": <db id from another database>,
"library": (library),
# name, formula, and mass are required fields!
"name": (name of the chemical),
"formula": (molecular formula),
"mass": (monoisotopic mass, float),
"pubchem_cid": <string>,
"pubmed_refcount": <integer>
"standard_class": <string>
"inchikey": <inchikey>,
"inchikey14": <inchikey14>,
# final_mz and final_rt are required fields!
"final_mz": (m/z ratio after experiment, float),
"final_rt": (retention time after experiment, float),
"final_adduct": <string>,
"final_adduct": <string>,
"detected_adducts": <string>,
"adduct_calc_mz": <string>,
"msms_detected": <string if yes, do not include this field otherwise>
"msms_purity": <float>
}
session.post(baseurl + "/chemical/create", fields)