Tripal Python Proof of Concept -- 2018-10-02

Meeting Date
Attendees
  • Lacey Sanderson, USASK

  • Stephen Ficklin, Katheryn Buble, WSU

  • Anthony Bretaudeau, BIPAA/INRA

  • Andrew Farmer, Alan Cleary, Connor Cameron, NCGR

  • (LIS)Abdullah Almsaeed, UTK

  • Bradford Condon, UTK/NAL

  • Nathan Weeks, USDA-ARS

  • Ethy Cannon, ISU

Communication

  1. Official Design Spec

    1. Google Doc

    2. Slack Channel for discussion - There is a #tripal4 channel.
      https://join.slack.com/t/tripal-project/shared_invite/enQtNDExNDU1NzUxOTI3LTNlOTg1MTNjZGQ1NjRmNGQxMWRjOGVjN2IwMjQyOTc2ODZlYWM2OTQxM2Y1ZWM1MmFkNWJhOGEwN2RkZjdkNGU

    3. Ficklin: share a template.   

  2. Value of diagraming (UML type)

    1. Communications, process, flow control

    2. yED as a platform that is shareable/editable

 

Proof of Concept

  1. Use Case

    1. Entities and Fields

      1. Gene Page

      2. Germplasm Page

      3. We want to maintain the controlled vocabulary infrastructure of Tripal v3 share th

      4. How well do Drupal + PHP get along with Python Library.

    2. Speed

      1. Variant Queries

        1. Needed for testing speed of large data

        2. Genotype matrix?

    3. Python - PHP interface: how/will this work?

 

  1. Approaches

    1. Service Layer

      1. GraphQL: https://graphql.org/

      2. How do we integrate objects with services.

      3. Advantages

        1. Upgrades

        2. Scale

        3. Allow others to call your services.

    2. Python Layer

 

Requirements

  1. Strict Object Oriented.

    1. Entities and Field

    2. ChadoRecord

    3. ChadoSchema

    4. TripalImporter (for importing and loading files into Chado).

  2. How do we know when we're doing the right thing in terms of the API design?

 

Concerns

  • Will lose some functionality if decoupled from Drupal

  • Services approach could limit sharing because there is no shared framework

  • Services may be more challenging to adopt than a library

  • A library may still have the drawbacks of a monolithic entity ... a set of libraries?

  • Could a service also be useable as a library

  • How will Python and PHP play together?

 

Action Items

  1. Define how the service layer might look.  -- Ethy's group will look into how this could be done.

  2. Document an inventory of those classes, how they could be pulled out of Drupal. -- Stephen's group.

  3. Python API function and call those in PHP -- Ethy.

  4. Post a design spec template -- Stephen

  5. Recurring meeting

    1. Next discussion:  Ethy and Andrew talk about services.  Nov 6th. First Tuesday of the month. Same time.

Everyone:  simple diagram of what your preference would be for "Tripal Stack".  -- Anthony, Stephen, Andrew, Lacey