GithubHelp home page GithubHelp logo

arun-y99 / intermine-ws-python Goto Github PK

View Code? Open in Web Editor NEW

This project forked from intermine/intermine-ws-python

0.0 0.0 0.0 1.64 MB

InterMine Client library in Python

Home Page: http://www.intermine.org

License: BSD 2-Clause "Simplified" License

Makefile 0.10% Shell 0.33% Python 99.56%

intermine-ws-python's Introduction

The InterMine Python Webservice Client

Build Status Version License Research software impact

Conda Anaconda-Server Badge Downloads

An implementation of a webservice client for InterMine webservices, written in Python

Who should use this software?

This software is intended for people who make use of InterMine datawarehouses (ie. Biologists) and who want a quicker, more automated way to perform queries. Some examples of sites that are powered by InterMine software, and thus offer a compatible webservice API, are:

See the InterMine registry for the full list of available InterMines.

Queries here refer to database queries over the integrated datawarehouse. Instead of using SQL, InterMine services use a flexible and powerful sub-set of database query language to enable wide-ranging and arbitrary queries.

Requirements

This package is compatible with both Python 2.7 and 3.x. We plan to drop 2.7 support next year.

Downloading:

The easiest way to install is to use easy_install:

  sudo easy_install intermine

The client is also available via bioconda.

Running the Tests:

If you would like to run the test suite against a local mock server, you can do so by executing the following command: (from the source directory)

  python setup.py test

If you want to run the suite against a live server (e.g. as deployed by the testmodel/setup.sh in the InterMine distribution, then you can run:

  python setup.py livetest

By default this will use the location http://localhost:8080/intermine-demo/service. If you want it to use a different service, set the service URL in the TESTMODEL_URL shell environment variable.

Installation:

Once downloaded, you can install the module with the command (from the source directory):

  python setup.py install

Further documentation:

We have detailed tutorials:

Extensive documentation is available by using the "pydoc" command, eg:

  pydoc intermine.query.Query

Also see:

Before Making PRs:

Please run autopep8 on your files so your code will follow the pep8 conventions. Do it as follows:

  autopep8 <filenames>

For example:

  autopep8 file1.py file2.py

Changes:

1.11.00   Added Query Manager
1.10.00   Added registry features
1.09.09   Add Python 3 support
1.09.06   Dual license under BSD as well as LGPL
1.07.00   Provide ListManagers as context managers, where users need to create
          temporary lists and clean up after themselves.
          Added ID resolution.
1.05.00   Allowed constraints to be added on root paths implicitly, eg:
          q.where('LOOKUP', 'eve') or q.where('IN', 'My List')
1.01.00   Added widget listing requests.
1.00.00   Added widget enrichment requests.
0.99.08   Added simpler constraint definition with kwargs.
0.99.07   Fixed bugs with lazy reference fetching handling empty collections and null references.
0.99.06   Fixed bug whereby constraint codes in xml were being ignored when queries were deserialised.
0.99.05   Allow template parameters of the form 'A = "zen"', where only the value is being replaced.
0.99.04   Merged 'list.to_query and 'list.to_attribute_query' in response to the changes in list upload behaviour.
0.99.03   Allow query construction from Columns with "where" and "filter"
          Allow list and query objects as the value in an add_constraint call with "IN" and "NOT IN" operators.
          Ensure lists and queries share the same overloading
0.99.02   Allow sort-orders which are not in the view but are on selected classes
0.99.01   Better representation of multiple sort-orders.
0.99.00   Fixed bug with subclasses not being included in clones 
          Added support for new json format for ws versions >= 8.
0.98.16   Fixed bug with XML parsing and subclasses where the subclass is mentioned in the first view.
          better result format documentation and tests
          added len() to results iterators
          added ability to parse xml from the service object (see new_query())
          improved service.select() - now accepts plain class names which work equally well for results and lists
          Allowed lists to be generated from queries with unambiguous selected classes.
          Fixed questionable constraint parsing bug which lead to failed template parsing
0.98.15   Added lazy-reference fetching for result objects, and list-tagging support
0.98.14   Added status property to list objects
0.98.13   Added query column summary support

Copyright and Licence

Copyright (C) 2002-2018 InterMine

All code in this project is dual licensed under the LGPL version 3 license and the BSD 2-clause license

Please cite

InterMine: extensive web services for modern biology.

Kalderimis A, Lyne R, Butano D, Contrino S, Lyne M, Heimbach J, Hu F, Smith R, Stěpán R, Sullivan J, Micklem G.

Nucleic Acids Res. 2014 Jul;42(Web Server issue):W468-72

doi pubmed

intermine-ws-python's People

Contributors

alexkalderimis avatar arun-y99 avatar barhenkro avatar nkengawoh avatar nupurgunwant avatar theantisnipe avatar yochannah avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.