|
@@ -69,6 +69,7 @@ function chado_analysis_interpro_form ($node){
|
|
|
$interprofile = $analysis->tripal_analysis_interpro->interprofile;
|
|
|
$interproparameters = $analysis->tripal_analysis_interpro->interproparameters;
|
|
|
$parsego = $analysis->tripal_analysis_interpro->parsego;
|
|
|
+ $parseHTML = $analysis->tripal_analysis_interpro->parseHTML;
|
|
|
$query_re = $analysis->tripal_analysis_interpro->query_re;
|
|
|
$query_type = $analysis->tripal_analysis_interpro->query_type;
|
|
|
$query_uniquename = $analysis->tripal_analysis_interpro->query_uniquename;
|
|
@@ -101,6 +102,12 @@ function chado_analysis_interpro_form ($node){
|
|
|
'onclick' => 'return isSubmittingJob(this)'
|
|
|
)
|
|
|
);
|
|
|
+ $form['interpro']['parseHTML'] = array(
|
|
|
+ '#type' => 'checkbox',
|
|
|
+ '#title' => t('The input file is in HTML format (deprecated, only provided for backwards compatibility)'),
|
|
|
+ '#description' => t('Check the box to use the HTML parser. The feature name must be unique across all organisms and types.'),
|
|
|
+ '#default_value' => $parseHTML
|
|
|
+ );
|
|
|
$form['interpro']['parsego'] = array(
|
|
|
'#type' => 'checkbox',
|
|
|
'#title' => t('Load GO terms to the database'),
|
|
@@ -161,6 +168,7 @@ function chado_analysis_interpro_load($node){
|
|
|
$interprofile = tripal_analysis_get_property($analysis->analysis_id,'analysis_interpro_interprofile');
|
|
|
$interproparameters= tripal_analysis_get_property($analysis->analysis_id,'analysis_interpro_interproparameters');
|
|
|
$parsego = tripal_analysis_get_property($analysis->analysis_id,'analysis_interpro_parsego');
|
|
|
+ $parseHTML = tripal_analysis_get_property($analysis->analysis_id,'analysis_interpro_parseHTML');
|
|
|
$query_re = tripal_analysis_get_property($analysis->analysis_id,'analysis_interpro_query_re');
|
|
|
$query_type = tripal_analysis_get_property($analysis->analysis_id,'analysis_interpro_query_type');
|
|
|
$query_uniquename = tripal_analysis_get_property($analysis->analysis_id,'analysis_interpro_query_uniquename');
|
|
@@ -168,6 +176,7 @@ function chado_analysis_interpro_load($node){
|
|
|
$analysis->tripal_analysis_interpro->interprofile = $interprofile->value;
|
|
|
$analysis->tripal_analysis_interpro->interproparameters= $interproparameters->value;
|
|
|
$analysis->tripal_analysis_interpro->parsego = $parsego->value;
|
|
|
+ $analysis->tripal_analysis_interpro->parseHTML = $parseHTML->value;
|
|
|
$analysis->tripal_analysis_interpro->query_re = $query_re->value;
|
|
|
$analysis->tripal_analysis_interpro->query_type = $query_type->value;
|
|
|
$analysis->tripal_analysis_interpro->query_uniquename = $query_uniquename->value;
|
|
@@ -195,6 +204,7 @@ function chado_analysis_interpro_insert($node){
|
|
|
tripal_analysis_insert_property($node->analysis_id,'analysis_interpro_interprofile',$node->interprofile);
|
|
|
tripal_analysis_insert_property($node->analysis_id,'analysis_interpro_interproparameters',$node->interproparameters);
|
|
|
tripal_analysis_insert_property($node->analysis_id,'analysis_interpro_parsego',$node->parsego);
|
|
|
+ tripal_analysis_insert_property($node->analysis_id,'analysis_interpro_parseHTML',$node->parseHTML);
|
|
|
tripal_analysis_insert_property($node->analysis_id,'analysis_interpro_query_re',$node->query_re);
|
|
|
tripal_analysis_insert_property($node->analysis_id,'analysis_interpro_query_type',$node->query_type);
|
|
|
tripal_analysis_insert_property($node->analysis_id,'analysis_interpro_query_uniquename',$node->query_uniquename);
|
|
@@ -217,6 +227,7 @@ function chado_analysis_interpro_update($node){
|
|
|
tripal_analysis_update_property($node->analysis_id,'analysis_interpro_interprofile',$node->interprofile,1);
|
|
|
tripal_analysis_update_property($node->analysis_id,'analysis_interpro_interproparameters',$node->interproparameters,1);
|
|
|
tripal_analysis_update_property($node->analysis_id,'analysis_interpro_parsego',$node->parsego,1);
|
|
|
+ tripal_analysis_update_property($node->analysis_id,'analysis_interpro_parseHTML',$node->parseHTML,1);
|
|
|
tripal_analysis_update_property($node->analysis_id,'analysis_interpro_query_re',$node->query_re,1);
|
|
|
tripal_analysis_update_property($node->analysis_id,'analysis_interpro_query_type',$node->query_type,1);
|
|
|
tripal_analysis_update_property($node->analysis_id,'analysis_interpro_query_uniquename',$node->query_uniquename,1);
|
|
@@ -252,14 +263,20 @@ function chado_analysis_interpro_submit_job($node){
|
|
|
} else {
|
|
|
$job_args[2] = 0;
|
|
|
}
|
|
|
- $job_args[3] = $node->query_re;
|
|
|
- $job_args[4] = $node->query_type;
|
|
|
- $job_args[5] = $node->query_uniquename;
|
|
|
+
|
|
|
|
|
|
if (is_readable($node->interprofile)) {
|
|
|
$fname = preg_replace("/.*\/(.*)/", "$1", $node->interprofile);
|
|
|
- tripal_add_job("Parse interpro: $fname",'tripal_analysis_interpro',
|
|
|
- 'tripal_analysis_interpro_parseXMLFile', $job_args, $user->uid);
|
|
|
+ if($node->parseHTML){
|
|
|
+ tripal_add_job("Parse HTML interpro: $fname",'tripal_analysis_interpro',
|
|
|
+ 'tripal_analysis_interpro_parseHTMLFile', $job_args, $user->uid);
|
|
|
+ } else {
|
|
|
+ $job_args[3] = $node->query_re;
|
|
|
+ $job_args[4] = $node->query_type;
|
|
|
+ $job_args[5] = $node->query_uniquename;;
|
|
|
+ tripal_add_job("Parse XML interpro: $fname",'tripal_analysis_interpro',
|
|
|
+ 'tripal_analysis_interpro_parseXMLFile', $job_args, $user->uid);
|
|
|
+ }
|
|
|
} else {
|
|
|
drupal_set_message("Can not open interpro output file. Job not scheduled.");
|
|
|
}
|
|
@@ -358,7 +375,11 @@ function tripal_analysis_interpro_theme () {
|
|
|
|
|
|
function tripal_analysis_interpro_preprocess_tripal_feature_interpro_results(&$variables){
|
|
|
$feature = $variables['node']->feature;
|
|
|
- $variables['tripal_analysis_interpro']['results'] = tripal_get_interpro_XML_results($feature->feature_id);
|
|
|
+
|
|
|
+ // we don't know how many analysis are the old style HTML version and how many are the newer
|
|
|
+ // XML format. So, to be backwards compatible we should get both.
|
|
|
+ $variables['tripal_analysis_interpro']['results']['html'] = tripal_get_interpro_HTML_results($feature->feature_id);
|
|
|
+ $variables['tripal_analysis_interpro']['results']['xml'] = tripal_get_interpro_XML_results($feature->feature_id);
|
|
|
}
|
|
|
|
|
|
/*******************************************************************************
|
|
@@ -405,7 +426,6 @@ function tripal_get_interpro_XML_results($feature_id){
|
|
|
array('analysis_id' => $analysisfeature->analysis_id));
|
|
|
$analysis_id = $analysis->analysis_id;
|
|
|
|
|
|
-
|
|
|
// parse the XML and add it to the array of blast results to be returned
|
|
|
$interpro_xml = $afeatureprop->value;
|
|
|
$orf = tripal_analysis_interpro_get_result_object($interpro_xml,$feature_id);
|