|
@@ -3,7 +3,7 @@
|
|
|
*
|
|
|
*/
|
|
|
function tripal_feature_seq_extract_page() {
|
|
|
- if ($_SESSION['tripal_feature_seq_extract']){
|
|
|
+ if ($_SESSION['tripal_feature_seq_extract']['download']){
|
|
|
$genus = $_SESSION['tripal_feature_seq_extract']['genus'];
|
|
|
$species = $_SESSION['tripal_feature_seq_extract']['species'];
|
|
|
$analysis = $_SESSION['tripal_feature_seq_extract']['analysis'];
|
|
@@ -15,6 +15,8 @@ function tripal_feature_seq_extract_page() {
|
|
|
$use_parent = $_SESSION['tripal_feature_seq_extract']['use_parent'];
|
|
|
$aggregate = $_SESSION['tripal_feature_seq_extract']['aggregate'];
|
|
|
$agg_types = $_SESSION['tripal_feature_seq_extract']['agg_types'];
|
|
|
+
|
|
|
+ unset($_SESSION['tripal_feature_seq_extract']['download']);
|
|
|
|
|
|
if ($format == 'fasta_html') {
|
|
|
drupal_set_header('Content-Type: text/html');
|
|
@@ -27,7 +29,6 @@ function tripal_feature_seq_extract_page() {
|
|
|
tripal_feature_seq_extract_get_features(NULL, $genus, $species, $analysis,
|
|
|
$ftype, $fname, $upstream, $downstream, $format, $use_parent, $aggregate, $agg_types);
|
|
|
|
|
|
- unset($_SESSION['tripal_feature_seq_extract']);
|
|
|
return;
|
|
|
}
|
|
|
|
|
@@ -58,8 +59,8 @@ function theme_tripal_feature_seq_extract_form($form) {
|
|
|
drupal_render($form['ftype']),
|
|
|
),
|
|
|
1 => array(
|
|
|
- array('data' => drupal_render($form['analysis']), 'colspan' => 2),
|
|
|
- drupal_render($form['format']),
|
|
|
+ array('data' => drupal_render($form['analysis']), 'colspan' => 3),
|
|
|
+ //drupal_render($form['format']),
|
|
|
),
|
|
|
2 => array(
|
|
|
array('data' => drupal_render($form['fname']), 'colspan' => 2),
|
|
@@ -97,22 +98,21 @@ function tripal_feature_seq_extract_form(&$form_state = NULL) {
|
|
|
tripal_core_ahah_init_form();
|
|
|
|
|
|
// get defaults
|
|
|
- $dgenus = $form_state['values']['genus'];
|
|
|
- $dspecies = $form_state['values']['species'];
|
|
|
- $danalysis = $form_state['values']['analysis'];
|
|
|
- $dftype = $form_state['values']['ftype'];
|
|
|
- $dfname = $form_state['values']['fname'];
|
|
|
- $dupstream = $form_state['values']['upstream'];
|
|
|
- $ddownstream = $form_state['values']['downstream'];
|
|
|
- $dformat = $form_state['values']['format'] ? $form_state['values']['format'] : 'fasta_txt';
|
|
|
- $duse_parent = $form_state['values']['use_parent'];
|
|
|
- $daggregate = $form_state['values']['aggregate'];
|
|
|
- $dagg_types = $form_state['values']['agg_types'];
|
|
|
+ $dgenus = isset($form_state['values']['genus']) ? $form_state['values']['genus'] : $_SESSION['tripal_feature_seq_extract']['genus'];
|
|
|
+ $dspecies = isset($form_state['values']['species']) ? $form_state['values']['species'] : $_SESSION['tripal_feature_seq_extract']['species'];
|
|
|
+ $danalysis = isset($form_state['values']['analysis']) ? $form_state['values']['analysis'] : $_SESSION['tripal_feature_seq_extract']['analysis'];
|
|
|
+ $dftype = isset($form_state['values']['ftype']) ? $form_state['values']['ftype'] : $_SESSION['tripal_feature_seq_extract']['ftype'];
|
|
|
+ $dfname = isset($form_state['values']['fname']) ? $form_state['values']['fname'] : $_SESSION['tripal_feature_seq_extract']['fname'];
|
|
|
+ $dupstream = isset($form_state['values']['upstream']) ? $form_state['values']['upstream'] : $_SESSION['tripal_feature_seq_extract']['upstream'];
|
|
|
+ $ddownstream = isset($form_state['values']['downstream']) ? $form_state['values']['downstream'] : $_SESSION['tripal_feature_seq_extract']['downstream'];
|
|
|
+ $dformat = isset($form_state['values']['format']) ? $form_state['values']['format'] : 'fasta_txt';
|
|
|
+ $duse_parent = isset($form_state['values']['use_parent']) ? $form_state['values']['use_parent'] : $_SESSION['tripal_feature_seq_extract']['use_parent'];
|
|
|
+ $daggregate = isset($form_state['values']['aggregate']) ? $form_state['values']['aggregate'] : $_SESSION['tripal_feature_seq_extract']['aggregate'];
|
|
|
+ $dagg_types = isset($form_state['values']['agg_types']) ? $form_state['values']['agg_types'] : $_SESSION['tripal_feature_seq_extract']['agg_types'];
|
|
|
|
|
|
-
|
|
|
$form['description'] = array(
|
|
|
- '#type' => 'markup',
|
|
|
- '#value' => t('Use this form to extract sequences in FASTA format.'),
|
|
|
+ '#type' => 'markup',
|
|
|
+ '#value' => t('Use this form to retrieve sequences in FASTA format.')
|
|
|
);
|
|
|
|
|
|
$sql = "
|
|
@@ -143,6 +143,7 @@ function tripal_feature_seq_extract_form(&$form_state = NULL) {
|
|
|
);
|
|
|
|
|
|
$species = array();
|
|
|
+ $species[] = '';
|
|
|
if ($dgenus) {
|
|
|
$sql = "
|
|
|
SELECT DISTINCT species
|
|
@@ -151,7 +152,6 @@ function tripal_feature_seq_extract_form(&$form_state = NULL) {
|
|
|
ORDER BY species
|
|
|
";
|
|
|
$results = chado_query($sql, $dgenus);
|
|
|
- $species[] = '';
|
|
|
while ($organism = db_fetch_object($results)) {
|
|
|
$species[$organism->species] = $organism->species;
|
|
|
}
|
|
@@ -172,6 +172,7 @@ function tripal_feature_seq_extract_form(&$form_state = NULL) {
|
|
|
);
|
|
|
|
|
|
$analyses = array();
|
|
|
+ $analyses[] = '';
|
|
|
if ($dgenus) {
|
|
|
$sql = "
|
|
|
SELECT DISTINCT A.analysis_id, A.name
|
|
@@ -186,8 +187,8 @@ function tripal_feature_seq_extract_form(&$form_state = NULL) {
|
|
|
$sql .= " AND O.species = '%s' ";
|
|
|
$args[] = $dspecies;
|
|
|
}
|
|
|
+ $sql .=" ORDER BY A.name ";
|
|
|
$results = chado_query($sql, $args);
|
|
|
- $analyses[] = '';
|
|
|
while ($analysis = db_fetch_object($results)) {
|
|
|
$analyses[$analysis->name] = $analysis->name;
|
|
|
}
|
|
@@ -208,6 +209,7 @@ function tripal_feature_seq_extract_form(&$form_state = NULL) {
|
|
|
);
|
|
|
|
|
|
$ftype = array();
|
|
|
+ $ftype[] = '';
|
|
|
if ($dgenus) {
|
|
|
$sql = "
|
|
|
SELECT DISTINCT OFC.cvterm_id, OFC.feature_type
|
|
@@ -220,9 +222,9 @@ function tripal_feature_seq_extract_form(&$form_state = NULL) {
|
|
|
$sql .= " AND OFC.species = '%s'";
|
|
|
$args[] = $dspecies;
|
|
|
}
|
|
|
+ $sql .= " ORDER BY OFC.feature_type ";
|
|
|
$results = chado_query($sql, $args);
|
|
|
|
|
|
- $ftype[] = '';
|
|
|
while ($type = db_fetch_object($results)) {
|
|
|
$ftype[$type->feature_type] = $type->feature_type;
|
|
|
}
|
|
@@ -259,7 +261,7 @@ function tripal_feature_seq_extract_form(&$form_state = NULL) {
|
|
|
);
|
|
|
$form['format'] = array(
|
|
|
'#title' => t('Output Format'),
|
|
|
- '#type' => 'select',
|
|
|
+ '#type' => 'hidden',
|
|
|
'#default_value' => $dformat,
|
|
|
'#options' => array(
|
|
|
'fasta_html' => 'FASTA (in browser)',
|
|
@@ -410,6 +412,13 @@ function tripal_feature_seq_extract_form_submit($form, &$form_state) {
|
|
|
$use_parent = $form_state['values']['use_parent'];
|
|
|
$aggregate = $form_state['values']['aggregate'];
|
|
|
$agg_types = $form_state['values']['agg_types'];
|
|
|
+
|
|
|
+
|
|
|
+ // we must use the parent sequence if the user has selected
|
|
|
+ // the upstream, downstream or to aggregate
|
|
|
+ if ($upstream or $downstream or $aggregate) {
|
|
|
+ $use_parent = 1;
|
|
|
+ }
|
|
|
|
|
|
$_SESSION['tripal_feature_seq_extract']['genus'] = $genus;
|
|
|
$_SESSION['tripal_feature_seq_extract']['species'] = $species;
|
|
@@ -422,6 +431,7 @@ function tripal_feature_seq_extract_form_submit($form, &$form_state) {
|
|
|
$_SESSION['tripal_feature_seq_extract']['use_parent'] = $use_parent;
|
|
|
$_SESSION['tripal_feature_seq_extract']['aggregate'] = $aggregate;
|
|
|
$_SESSION['tripal_feature_seq_extract']['agg_types'] = $agg_types;
|
|
|
+ $_SESSION['tripal_feature_seq_extract']['download'] = 1;
|
|
|
}
|
|
|
|
|
|
/*
|
|
@@ -487,4 +497,4 @@ function tripal_feature_seq_extract_get_features($org_commonname, $genus, $speci
|
|
|
$upstream, $downstream, $sub_features);
|
|
|
print $sequence;
|
|
|
}
|
|
|
-}
|
|
|
+}
|