GithubHelp home page GithubHelp logo

tripal / tripal_analysis_interpro Goto Github PK

View Code? Open in Web Editor NEW
1.0 9.0 5.0 206 KB

This module extends the Tripal Analysis Module and provides a method for loading XML results from the InterProScan program. The module can load InterProScan XML v4 or InterProScan XML v5 generated from the command-line or web-based versions of InterProScan. Additionally, GO terms mapped by InterProScan can optionally be assigned to features.

License: GNU General Public License v3.0

PHP 96.23% CSS 0.75% JavaScript 3.02%
tripal analysis interproscan-xml loader

tripal_analysis_interpro's Introduction

alt tag

Tripal 4 (Drupal 10)

               _   _                 _____                 _                                  _
     /\       | | (_)               |  __ \               | |                                | |
    /  \   ___| |_ ___   _____      | |  | | _____   _____| | ___  _ __  _ __ ___   ___ _ __ | |_
   / /\ \ / __| __| \ \ / / _ \     | |  | |/ _ \ \ / / _ \ |/ _ \| '_ \| '_ ` _ \ / _ \ '_ \| __|
  / ____ \ (__| |_| |\ V /  __/     | |__| |  __/\ V /  __/ | (_) | |_) | | | | | |  __/ | | | |_
 /_/    \_\___|\__|_| \_/ \___|     |_____/ \___| \_/ \___|_|\___/| .__/|_| |_| |_|\___|_| |_|\__|
                                                                  | |
                                                                  |_|

Compatibility

Target Drupal Version 10.2.x-dev

Tested on PostgreSQL 13 + PostgreSQL 16

Drupal 10.2.x 10.3.x
PHP 8.1 Grid81-102-Badge Grid81-103-Badge
PHP 8.2 Grid82-102-Badge Grid82-103-Badge
PHP 8.3 Grid83-102-Badge Grid83-103-Badge

Code Coverage

This project uses Code Climate to determine the quality of our codebase and the coverage of our test suite. Compatibility above is based on passing of this test suite.

Test Coverage

Maintainability

Current Timeline

Required for Tripal 4.alpha3 Release

  • Display suite / page work
  • Importers: Publications
  • Search (ElasticSearch + Views)

How to get involved!

This upgrade to Drupal 10 is a community effort. As such, we NEED YOUR HELP!

  • To get involved, please join our Tripal Slack and comment in the #core-dev channel.
    • Alternatively, feel free to contact Lacey-Anne Sanderson through Slack direct message.
    • We can use help both with programming, documentation, outreach and welcome all individuals from all backgrounds!
  • We prefer automated testing for all Pull Requests (PRs) and are happy to guide you through the process!
    • Just comment on the issue if you need help designing tests
    • If you need help implementing tests see our documentation
  • If more documentation would be helpful, please create an issue here and we'll add it.

Documentation

Documentation for Tripal 4 has begun on ReadtheDocs.

Tripal Docker

Tripal Docker is currently focused on Development and Automated Testing. There will be a production focused Tripal Docker soon and if you're interested in helping or providing tips -please join us on our Slack channel!

For more information about how to use our fully functional development docker, see our documentation on ReadtheDocs!

tripal_analysis_interpro's People

Contributors

abretaud avatar almasaeed2010 avatar bradfordcondon avatar chunhuaicheng avatar dsenalik avatar mboudet avatar spficklin avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

tripal_analysis_interpro's Issues

default branch change to 7.x-3.x

I've changed this modules default branch to 7.x-3.x with the official launch of Tripal 3. Posting as an issue in case that warrants discussion.

[Tripal 3] Field rendering issues

Hello,

I'm having trouble with the field showing the interpro graphs.

On both Firefox and Chrome, by default the graph is empty, until the window is resized

image

After resizing

image

Though on Firefox, only part of the graph actually appears :

image

I remember Firefox being finicky with svg with might be the cause of the issue.

unpublish interpro results

Hi there!
How is it possible to unpublish InterPro results? I've tried unpublishing and deleting the analysis, but the results are still displayed.
Where in the chado tables are the records of a interpro xml file upload stored?
Thanks in advance.

Interpro OBO?

Does anyone have an interpro OBO to load?

If not we'll develop a converter.

They have a terms/definition file, and a relationships file, and I found a script someone wrote in java to convert the relationships to OBO
https://www.biostars.org/p/16699/

Tripal 3 error: bundle type does not use correct storage cvterm

Major bug: The default bundle storage cvterm is set wrong.

CVterm set by the node when creating interpro analysis:

  chado_insert_property($record, array('type_name' =>'Analysis Type', 'cv_name' => 'analysis_property', 'value' => 'interpro_analysis'));

The Cvterm used by the default bundle created by this module actually looks for the cvterm interpro results instead of Analysis Type:


CHADO TABLE : analysis
type_column: type_id
association table: analysisprop
cvterm table id : 3456
property value: interpro_analysis
rupal=# select * from chado.cvterm where cvterm_id = '3456';
 cvterm_id | cv_id |       name       |           definition           | dbxref_id | is_obsolete | is_relationshiptype
-----------+-------+------------------+--------------------------------+-----------+-------------+---------------------
      3456 |     2 | InterPro results | Results for InterPro analysis. |      4067 |           0 |                   0
(1 row)

delta value for field is kind of strange

// Get the terms for each of the keys for the 'values' property.
$label_term = 'format:1341';
// Set some defaults for the empty record.
$entity->{$field_name}['und'][0] = array(
'value' => ''
);
// Get the list of results.
$interpro_results = tripal_get_interpro_XML_results($record->feature_id);
if (is_array($interpro_results)) {
foreach ($interpro_results as $delta => $results) {
$xml = '';
if (isset($results->xml)) {
$xml = $results->xml;
unset($results->xml);
}
$entity->{$field_name}['und'][$delta] = array(
'value' => $xml,
'parsed' => $results
);
}

  • delta 0 is always going to be undefined
  • other deltas are the analysis ID.

I would think that delta should go 0, 1, 2, and there should be an analysis_id key next to parsed.

Publishing Requires Analysis ID

When publishing interPro results, there is a required field in the filters section called "Data Source Name" that prompts for a string but runs a query looking for the Analysis ID, which is causing an SQL error.

Job execution failed: SQLSTATE[22P02]: Invalid text representation: 7 ERROR:  invalid input syntax for integer: "data source interpro"                                                                                             [error]
LINE 1: ...T.value = 'interpro_analysis' AND T.analysis_id = 'data sour...

Thanks!

InterPro Results filter in search

Hi!
I have uploaded my InterPro results to my portal and everything is looking good, they show up in my individual pages in the tab InterPro results.
However I would like to be able to filter by IPR term in my searches, but the only option I see available is InterPro results.
Screenshot (173)
Screenshot (174)

When I try to use it, it just outputs the full list of features I have available so I think that either it's not what I want or it's not working as it should.

I would really like to be able to filter my searches by the IPR terms. Any help would be much appreciated!

Thanks in advance,
Marta

P.S.: Could it have something to do with the .XML? Does it have to be a unique file or multiple files for each feature?

Wrong behaviour when no results are available

Hello,
When no results are available, the expected behaviour of the module is to print as message (like so)

image

However, due to the way Tripal fields works, if tripal_get_interpro_XML_results() is empty, nothing will show :

image

This is because Tripal will not show anything if $entity->{$field_name}['und'][0] is not set in the field file.
(Not matter what happen in the formatter after)

field is missing a term vocabulary setting

Tripal field api has changed since this module was moved to tripal 3.

The field instance, local__interpro_results, is missing the "term_vocabulary" setting. The field instance cannot be added. Please check the field settings.

remove analysis_interpro_parsego prop

  tripal_insert_cvterm(array(
    'name' => 'analysis_interpro_parsego',
    'definition' => 'Indicates whether or not the GO terms should be extracted when parsing the InterProScan XML file',
    'cv_name' => 'tripal',
    'db_name' => 'tripal',
  ));

this CVterm and associated property should no longer be necessary at all in tripal 3.

It also prevents GO terms for being loaded when using the v3 importer, but i would advocate for entirely removing it.

      // get the DB id for the GO database
              $parsego = chado_get_property(
                  array('table' => 'analysis', 'id' => $analysis_id),
                  array('type_name' => 'analysis_interpro_parsego', 'cv_name' => 'tripal')
                  );

the importer pases in a $parsego variable form the checkbox, but overwrites it here. probably mae sense in the context of nodes.

PHP8 Issues

The following error appears three times under PHP 8.0 when running a database update for a different module

Deprecated: Required parameter $query_type follows optional parameter $seqname in /local/sites/dev.carrotomics.org/drupal-7.69/sites/all/modules/tripal_analysis_interpro/includes/TripalImporter/InterProImporter.inc on line 494

this is because of the following function definition at line 494

  function matchFeature($seqid, $seqname = '',
      $query_re, $query_uniquename, $query_type) {

This function is only called in two places, $seqname always has a value (I think) so just drop the = ''?

figures are wrong when ips run with proteins instead of mRNA

We run iPS on the polypeptides and then run the loader, linking to the parent mRNA.

However, the resulting plot gets messed up. The alignment is relative to the protein, but the full drawing is relative to the mRNA. We do not have entity pages for proteins, just mRNA. So the drawing everything gets squished into the first 1/3 of the mRNA because thats the corresponding protein....

image

Whats the right way to solve this?

Option in field to "transpose" alignment coordinates?
Auto transpose is fieldd is attached to mRNA instead of protein?
Some smarter way of tracking the coordinates?
Draw the figure relative to the protein positions instead (IE get the length from the related polypeptide)?

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.