Giter Site home page Giter Site logo

glasgowcompbio / graphomics Goto Github PK

View Code? Open in Web Editor NEW
12.0 12.0 2.0 106.05 MB

Interactive multi-omics data explorer to integrate and interactively explore transcripts, proteins and metabolites data.

Home Page: https://graphomics.glasgowcompbio.org/

License: MIT License

Jupyter Notebook 79.86% Python 2.90% CSS 0.13% JavaScript 14.38% HTML 2.69% R 0.04%

graphomics's People

Contributors

dependabot[bot] avatar joewandy avatar keqingwangg avatar ronandaly avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

graphomics's Issues

Format p-values in scientific notations

For small p-values, it's better to format in scientific notations. Now it's rounded to 6 decimal places, but for very small p-values they become 0.000000.

Export function

We need an exporting function

  1. In each individual table, add a datatable export button for each data type
  2. In the summary page, add a global export button. Maybe we can export a networkx object that can be loaded back to Cytoscape.

Misc tasks reminder

  • In BaseInferenceForm rename data_type to source_data
  • Remove data type genomics, use transcriptomics instead
  • In Reactome inference form, rename threshold to something more descriptive
  • Intensity boxplot width is still not correct

Some transcript pathways p values seem missing.

Sometimes the p-values for a transcript pathway analysis are missing, even though a given transcript is on the pathway. See screenshot for example. If this is a least one transcript on the pathway, shouldn't there also be a p-value?
Screenshot 2019-12-04 at 16 29 50

Type Error when uploading analyses

When uploading an analysis, the following stack trace occurs.

Internal Server Error: /linker/upload_analysis
Traceback (most recent call last):
  File "/Users/ronan/.local/share/virtualenvs/web_omics-VCzYizAw/lib/python3.7/site-packages/django/core/handlers/exception.py", line 34, in inner
    response = get_response(request)
  File "/Users/ronan/.local/share/virtualenvs/web_omics-VCzYizAw/lib/python3.7/site-packages/django/core/handlers/base.py", line 115, in _get_response
    response = self.process_exception_by_middleware(e, request)
  File "/Users/ronan/.local/share/virtualenvs/web_omics-VCzYizAw/lib/python3.7/site-packages/django/core/handlers/base.py", line 113, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/Users/ronan/.local/share/virtualenvs/web_omics-VCzYizAw/lib/python3.7/site-packages/django/views/generic/base.py", line 71, in view
    return self.dispatch(request, *args, **kwargs)
  File "/Users/ronan/.local/share/virtualenvs/web_omics-VCzYizAw/lib/python3.7/site-packages/django/views/generic/base.py", line 97, in dispatch
    return handler(request, *args, **kwargs)
  File "/Users/ronan/.local/share/virtualenvs/web_omics-VCzYizAw/lib/python3.7/site-packages/django/views/generic/edit.py", line 142, in post
    return self.form_valid(form)
  File "/Users/ronan/work/WebOmics/web_omics/linker/views/create_analysis_view.py", line 59, in form_valid
    species_list, metabolic_pathway_only)
  File "/Users/ronan/work/WebOmics/web_omics/linker/views/create_analysis_view.py", line 125, in get_data
    results, species_list, current_user, metabolic_pathway_only)
  File "/Users/ronan/work/WebOmics/web_omics/linker/views/functions.py", line 269, in save_analysis
    cluster_json = get_clusters(analysis_data, k)
  File "/Users/ronan/work/WebOmics/web_omics/linker/views/functions.py", line 283, in get_clusters
    X_std, data_df, design_df = get_standardized_df(analysis_data, axis, pk_cols=IDS)
  File "/Users/ronan/work/WebOmics/web_omics/linker/views/functions.py", line 303, in get_standardized_df
    X_std = inference.standardize_df(inference.data_df, log=True, axis=axis)
  File "/Users/ronan/work/WebOmics/web_omics/linker/views/pipelines.py", line 58, in standardize_df
    if np.all(data_arr >= 0) and log:
TypeError: '>=' not supported between instances of 'str' and 'int'

Might have something to do with display of data?

Metabolomics Analysis Upload Doesn't Work

While uploading metabolomics data from PiMP or standard format
ArchiveStandard.zip
.

Traceback (most recent call last):
  File "/Users/ronan/.local/share/virtualenvs/web_omics-VCzYizAw/lib/python3.7/site-packages/django/core/handlers/exception.py", line 34, in inner
    response = get_response(request)
  File "/Users/ronan/.local/share/virtualenvs/web_omics-VCzYizAw/lib/python3.7/site-packages/django/core/handlers/base.py", line 115, in _get_response
    response = self.process_exception_by_middleware(e, request)
  File "/Users/ronan/.local/share/virtualenvs/web_omics-VCzYizAw/lib/python3.7/site-packages/django/core/handlers/base.py", line 113, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/Users/ronan/.local/share/virtualenvs/web_omics-VCzYizAw/lib/python3.7/site-packages/django/views/generic/base.py", line 71, in view
    return self.dispatch(request, *args, **kwargs)
  File "/Users/ronan/.local/share/virtualenvs/web_omics-VCzYizAw/lib/python3.7/site-packages/django/views/generic/base.py", line 97, in dispatch
    return handler(request, *args, **kwargs)
  File "/Users/ronan/.local/share/virtualenvs/web_omics-VCzYizAw/lib/python3.7/site-packages/django/views/generic/edit.py", line 142, in post
    return self.form_valid(form)
  File "/Users/ronan/work/WebOmics/web_omics/linker/views/create_analysis_view.py", line 59, in form_valid
    species_list, metabolic_pathway_only)
  File "/Users/ronan/work/WebOmics/web_omics/linker/views/create_analysis_view.py", line 125, in get_data
    results, species_list, current_user, metabolic_pathway_only)
  File "/Users/ronan/work/WebOmics/web_omics/linker/views/functions.py", line 234, in save_analysis
    user=current_user)
  File "/Users/ronan/.local/share/virtualenvs/web_omics-VCzYizAw/lib/python3.7/site-packages/django/db/models/manager.py", line 82, in manager_method
    return getattr(self.get_queryset(), name)(*args, **kwargs)
  File "/Users/ronan/.local/share/virtualenvs/web_omics-VCzYizAw/lib/python3.7/site-packages/django/db/models/query.py", line 420, in create
    obj = self.model(**kwargs)
  File "/Users/ronan/.local/share/virtualenvs/web_omics-VCzYizAw/lib/python3.7/site-packages/django/db/models/base.py", line 501, in __init__
    raise TypeError("%s() got an unexpected keyword argument '%s'" % (cls.__name__, kwarg))
TypeError: Analysis() got an unexpected keyword argument 'user'

Boxplots for metabolites don't show up

The box plots for metabolites don't show when "Show measurements" is clicked. This happens when only metabolite data is loaded - it does not occur when transcriptomics and metabolomics data are both loaded. Test with ArchiveStandard.zip.

Clustergrammer-py doesn't support pandas 1.0

df.ix has been removed from pandas version 1.0, but it's still being used in clustergrammer-py. We should submit a pull request to fix this.

Traceback (most recent call last):
  File "/Users/ronan/.local/share/virtualenvs/web_omics-VCzYizAw/lib/python3.7/site-packages/django/core/handlers/exception.py", line 34, in inner
    response = get_response(request)
  File "/Users/ronan/.local/share/virtualenvs/web_omics-VCzYizAw/lib/python3.7/site-packages/django/core/handlers/base.py", line 115, in _get_response
    response = self.process_exception_by_middleware(e, request)
  File "/Users/ronan/.local/share/virtualenvs/web_omics-VCzYizAw/lib/python3.7/site-packages/django/core/handlers/base.py", line 113, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/Users/ronan/.local/share/virtualenvs/web_omics-VCzYizAw/lib/python3.7/site-packages/django/views/generic/base.py", line 71, in view
    return self.dispatch(request, *args, **kwargs)
  File "/Users/ronan/.local/share/virtualenvs/web_omics-VCzYizAw/lib/python3.7/site-packages/django/views/generic/base.py", line 97, in dispatch
    return handler(request, *args, **kwargs)
  File "/Users/ronan/.local/share/virtualenvs/web_omics-VCzYizAw/lib/python3.7/site-packages/django/views/generic/edit.py", line 142, in post
    return self.form_valid(form)
  File "/Users/ronan/work/WebOmics/web_omics/linker/views/create_analysis_view.py", line 59, in form_valid
    species_list, metabolic_pathway_only)
  File "/Users/ronan/work/WebOmics/web_omics/linker/views/create_analysis_view.py", line 125, in get_data
    results, species_list, current_user, metabolic_pathway_only)
  File "/Users/ronan/work/WebOmics/web_omics/linker/views/functions.py", line 269, in save_analysis
    cluster_json = get_clusters(analysis_data, k)
  File "/Users/ronan/work/WebOmics/web_omics/linker/views/functions.py", line 288, in get_clusters
    json_data = to_clustergrammer(X_std, design_df)
  File "/Users/ronan/work/WebOmics/web_omics/linker/views/functions.py", line 332, in to_clustergrammer
    calc_cat_pval=False, run_enrichr=run_enrichr, enrichrgram=enrichrgram)
  File "/Users/ronan/.local/share/virtualenvs/web_omics-VCzYizAw/lib/python3.7/site-packages/clustergrammer/__init__.py", line 99, in cluster
    enrichrgram=enrichrgram)
  File "/Users/ronan/.local/share/virtualenvs/web_omics-VCzYizAw/lib/python3.7/site-packages/clustergrammer/make_clust_fun.py", line 20, in make_clust
    df = run_filter.df_filter_col_sum(df, threshold)
  File "/Users/ronan/.local/share/virtualenvs/web_omics-VCzYizAw/lib/python3.7/site-packages/clustergrammer/run_filter.py", line 56, in df_filter_col_sum
    df['mat'] = grab_df_subset(df['mat'], inst_rows, inst_cols)
  File "/Users/ronan/.local/share/virtualenvs/web_omics-VCzYizAw/lib/python3.7/site-packages/clustergrammer/run_filter.py", line 74, in grab_df_subset
    df = df.ix[keep_rows]
  File "/Users/ronan/.local/share/virtualenvs/web_omics-VCzYizAw/lib/python3.7/site-packages/pandas/core/generic.py", line 5274, in __getattr__
    return object.__getattribute__(self, name)
AttributeError: 'DataFrame' object has no attribute 'ix'

Useless boxplot

After selecting a group, we can create a boxplot, but currently it's too cluttered. Need to improve it.

image

Error running PALS analysis with PiMP data

When performing a PALS analysis, the following error occurs.

Traceback (most recent call last):
  File "/Users/ronan/.local/share/virtualenvs/web_omics-VCzYizAw/lib/python3.7/site-packages/django/core/handlers/exception.py", line 34, in inner
    response = get_response(request)
  File "/Users/ronan/.local/share/virtualenvs/web_omics-VCzYizAw/lib/python3.7/site-packages/django/core/handlers/base.py", line 115, in _get_response
    response = self.process_exception_by_middleware(e, request)
  File "/Users/ronan/.local/share/virtualenvs/web_omics-VCzYizAw/lib/python3.7/site-packages/django/core/handlers/base.py", line 113, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/Users/ronan/work/WebOmics/web_omics/linker/views/inference_view.py", line 522, in inference_pals
    pals_df = run_pals(pals_data_source, plage_weight, hg_weight)
  File "/Users/ronan/work/WebOmics/web_omics/linker/views/pathway_analysis.py", line 78, in run_pals
    pathway_df = pals.get_pathway_df(standardize=False)
  File "/Users/ronan/.local/share/virtualenvs/web_omics-VCzYizAw/lib/python3.7/site-packages/pals/PALS.py", line 51, in get_pathway_df
    activity_df = self.get_plage_activity_df(measurement_df, standardize)
  File "/Users/ronan/.local/share/virtualenvs/web_omics-VCzYizAw/lib/python3.7/site-packages/pals/PALS.py", line 82, in get_plage_activity_df
    activity_df = self._calculate_pathway_activity_df(measurement_df)
  File "/Users/ronan/.local/share/virtualenvs/web_omics-VCzYizAw/lib/python3.7/site-packages/pals/PALS.py", line 278, in _calculate_pathway_activity_df
    activity_df = pd.DataFrame(pathway_activities).set_index([0])
  File "/Users/ronan/.local/share/virtualenvs/web_omics-VCzYizAw/lib/python3.7/site-packages/pandas/core/frame.py", line 4391, in set_index
    raise KeyError("None of {} are in the columns".format(missing))
KeyError: 'None of [0] are in the columns'
[26/Feb/2020 15:02:48] "POST /linker/inference/pals/20 HTTP/1.1" 500 50982811

Data is being stored inefficiently

We are storing the data and other information as serialised strings. This has cascading effects with deletion etc. which mean multiple versions need to kept. This has meant that the database is growing extremely quickly, which probably isn't feasible when more users come on board. Need to replace with proper database schema via django.

Add minimum number of hits to pathway analysis

Many pathways have significant p-values but they also have very few hits (<=5) on the transcripts/proteins/formula. Other tools usually let user discard these pathways from the results since they're considered unreliable.

Use a javascript framework

The app is quite javascript heavy, but currently we aren't using any js framework.

If we plan to add more features and make the app larger, development progress will become slower since we have to do everything ourselves, boring details like having to remember to update model states when input values change, refreshing HTML in various places to reflect some updated states. We are using MobX which helps with state management, but there's still a lot of manual DOM manipulations going on in various places.

Modern javascript framework takes care of many tedious details and should be used if the app gets more complex. Probably we can use Vue which is easier to integrate to an existing app piecemeal, rather than React that needs us to rewrite everything the react way.

Combine entities when doing pathway analysis

This should be an enhancement in PALS. We can combine e.g. genes + metabolites when doing pathway analysis.

For integration methods, there are two general approaches - tight integration by combining queries in which genes and metabolites are pooled into a single query and used to perform enrichment analysis within their "pooled universe" or loose integration by combining p values in which enrichment analysis is performed separately for genes and metabolites in their "individual universe", and then individual p-values are combined via weighted Z-tests. Moreover, there are three options for computing weights. Let's assume the pathway database contains a total of 100 pathways covering a total of 1000 metabolites and 4000 genes, respectively. Pathway A contains 5 compounds and 45 genes, while pathway B contains 20 compounds and 30 genes.

Uniprot ids hard to understand

It's been noted that people don't understand UniProt ids. Is there a better name we can display on the screen? I know we tried the full names which were way too long, but would something like Gene name work?

Missing display name when clicking a gene

Internal Server Error: /linker/get_ensembl_gene_info/25
Traceback (most recent call last):
  File "/Users/ronan/.local/share/virtualenvs/web_omics-VCzYizAw/lib/python3.7/site-packages/django/core/handlers/exception.py", line 34, in inner
    response = get_response(request)
  File "/Users/ronan/.local/share/virtualenvs/web_omics-VCzYizAw/lib/python3.7/site-packages/django/core/handlers/base.py", line 115, in _get_response
    response = self.process_exception_by_middleware(e, request)
  File "/Users/ronan/.local/share/virtualenvs/web_omics-VCzYizAw/lib/python3.7/site-packages/django/core/handlers/base.py", line 113, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/Users/ronan/work/WebOmics/web_omics/linker/views/explore_data_view.py", line 97, in get_ensembl_gene_info
    display_name = metadata['display_name'] if metadata is not None else ''
KeyError: 'display_name'
[25/Oct/2019 16:20:36] "GET /linker/get_ensembl_gene_info/25?id=YMR120C HTTP/1.1" 500 48904812
/Users/ronan/work/WebOmics/web_omics/linker/views/functions.py:779: FutureWarning:


.ix is deprecated. Please use
.loc for label based indexing or
.iloc for positional indexing

See the documentation here:
http://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#ix-indexer-is-deprecated

/Users/ronan/.local/share/virtualenvs/web_omics-VCzYizAw/lib/python3.7/site-packages/pandas/core/indexing.py:822: FutureWarning:


.ix is deprecated. Please use
.loc for label based indexing or
.iloc for positional indexing

See the documentation here:
http://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#ix-indexer-is-deprecated

[25/Oct/2019 16:26:31] "GET /linker/get_ensembl_gene_info/25?id=YLR058C HTTP/1.1" 200 816
Internal Server Error: /linker/get_ensembl_gene_info/25
Traceback (most recent call last):
  File "/Users/ronan/.local/share/virtualenvs/web_omics-VCzYizAw/lib/python3.7/site-packages/django/core/handlers/exception.py", line 34, in inner
    response = get_response(request)
  File "/Users/ronan/.local/share/virtualenvs/web_omics-VCzYizAw/lib/python3.7/site-packages/django/core/handlers/base.py", line 115, in _get_response
    response = self.process_exception_by_middleware(e, request)
  File "/Users/ronan/.local/share/virtualenvs/web_omics-VCzYizAw/lib/python3.7/site-packages/django/core/handlers/base.py", line 113, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/Users/ronan/work/WebOmics/web_omics/linker/views/explore_data_view.py", line 97, in get_ensembl_gene_info
    display_name = metadata['display_name'] if metadata is not None else ''
KeyError: 'display_name'
[25/Oct/2019 16:27:00] "GET /linker/get_ensembl_gene_info/25?id=YBL002W HTTP/1.1" 500 48904817
[25/Oct/2019 16:27:06] "GET /linker/get_ensembl_gene_info/25?id=YMR116C HTTP/1.1" 200 894

Make app faster

  1. Initial loading is slow ~15s.
  • 5s due to alasql
  • 5s due to datatables rendering. Try to disable cell colour rendering and see if it becomes faster
  • 5s due to clustergrammer. Remove gray overlay as soon as the data explorer is ready
  1. Resetting selection is slow
    We shouldn't need to query everything again, just restore the initial state.

Large memory requirement to run WebOmics

I'm trying to load WebOmics and the python process is taking up ~ 1.3 GB, before any queries have been run. Does this make sense to you?

Probably due to this:
https://github.com/joewandy/WebOmics/blob/master/web_omics/linker/constants.py#L6-L9

Should try to make it so these are loaded only when needed.

It might make an analysis slower to submit. We probbably need to add some kind of progress bar when submitting an analysis (so users don't think it's hanging).

Selecting an inference type is a bit buggy

  1. Select an inference type, e.g. t-test. The page will reload and the correct parameters are shown for t-test. Don't submit yet.
  2. Change the inference type, e.g. PCA. The parameters for t-tests are still there and the ones for PCA are not shown.

Problems with rpy2 on Mac

rpy2 doesn't install cleanly on a Mac via pipenv. This leads to the following error when starting the app

Exception in thread django-main-thread:
Traceback (most recent call last):
  File "/Users/ronan/anaconda3/lib/python3.7/threading.py", line 917, in _bootstrap_inner
    self.run()
  File "/Users/ronan/anaconda3/lib/python3.7/threading.py", line 865, in run
    self._target(*self._args, **self._kwargs)
  File "/Users/ronan/.local/share/virtualenvs/web_omics-VCzYizAw/lib/python3.7/site-packages/django/utils/autoreload.py", line 54, in wrapper
    fn(*args, **kwargs)
  File "/Users/ronan/.local/share/virtualenvs/web_omics-VCzYizAw/lib/python3.7/site-packages/django/core/management/commands/runserver.py", line 117, in inner_run
    self.check(display_num_errors=True)
  File "/Users/ronan/.local/share/virtualenvs/web_omics-VCzYizAw/lib/python3.7/site-packages/django/core/management/base.py", line 390, in check
    include_deployment_checks=include_deployment_checks,
  File "/Users/ronan/.local/share/virtualenvs/web_omics-VCzYizAw/lib/python3.7/site-packages/django/core/management/base.py", line 377, in _run_checks
    return checks.run_checks(**kwargs)
  File "/Users/ronan/.local/share/virtualenvs/web_omics-VCzYizAw/lib/python3.7/site-packages/django/core/checks/registry.py", line 72, in run_checks
    new_errors = check(app_configs=app_configs)
  File "/Users/ronan/.local/share/virtualenvs/web_omics-VCzYizAw/lib/python3.7/site-packages/django/core/checks/urls.py", line 40, in check_url_namespaces_unique
    all_namespaces = _load_all_namespaces(resolver)
  File "/Users/ronan/.local/share/virtualenvs/web_omics-VCzYizAw/lib/python3.7/site-packages/django/core/checks/urls.py", line 57, in _load_all_namespaces
    url_patterns = getattr(resolver, 'url_patterns', [])
  File "/Users/ronan/.local/share/virtualenvs/web_omics-VCzYizAw/lib/python3.7/site-packages/django/utils/functional.py", line 80, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
  File "/Users/ronan/.local/share/virtualenvs/web_omics-VCzYizAw/lib/python3.7/site-packages/django/urls/resolvers.py", line 584, in url_patterns
    patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
  File "/Users/ronan/.local/share/virtualenvs/web_omics-VCzYizAw/lib/python3.7/site-packages/django/utils/functional.py", line 80, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
  File "/Users/ronan/.local/share/virtualenvs/web_omics-VCzYizAw/lib/python3.7/site-packages/django/urls/resolvers.py", line 577, in urlconf_module
    return import_module(self.urlconf_name)
  File "/Users/ronan/.local/share/virtualenvs/web_omics-VCzYizAw/lib/python3.7/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 728, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/Users/ronan/work/WebOmics/web_omics/web_omics/urls.py", line 8, in <module>
    path('linker/', include('linker.urls')),
  File "/Users/ronan/.local/share/virtualenvs/web_omics-VCzYizAw/lib/python3.7/site-packages/django/urls/conf.py", line 34, in include
    urlconf_module = import_module(urlconf_module)
  File "/Users/ronan/.local/share/virtualenvs/web_omics-VCzYizAw/lib/python3.7/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 728, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/Users/ronan/work/WebOmics/web_omics/linker/urls.py", line 3, in <module>
    from . import views
  File "/Users/ronan/work/WebOmics/web_omics/linker/views/__init__.py", line 1, in <module>
    from linker.views.create_analysis_view import *
  File "/Users/ronan/work/WebOmics/web_omics/linker/views/create_analysis_view.py", line 12, in <module>
    from linker.views.functions import reactome_mapping, save_analysis, change_column_order, get_context
  File "/Users/ronan/work/WebOmics/web_omics/linker/views/functions.py", line 22, in <module>
    from linker.views.pipelines import WebOmicsInference
  File "/Users/ronan/work/WebOmics/web_omics/linker/views/pipelines.py", line 11, in <module>
    from rpy2.robjects.packages import importr
  File "/Users/ronan/.local/share/virtualenvs/web_omics-VCzYizAw/lib/python3.7/site-packages/rpy2/robjects/__init__.py", line 16, in <module>
    import rpy2.rinterface as rinterface
  File "/Users/ronan/.local/share/virtualenvs/web_omics-VCzYizAw/lib/python3.7/site-packages/rpy2/rinterface/__init__.py", line 51, in <module>
    from rpy2.rinterface._rinterface import (baseenv,
ImportError: dlopen(/Users/ronan/.local/share/virtualenvs/web_omics-VCzYizAw/lib/python3.7/site-packages/rpy2/rinterface/_rinterface.cpython-37m-darwin.so, 2): Library not loaded: /Library/Frameworks/R.framework/Versions/3.5/Resources/lib/libR.dylib
  Referenced from: /Users/ronan/.local/share/virtualenvs/web_omics-VCzYizAw/lib/python3.7/site-packages/rpy2/rinterface/_rinterface.cpython-37m-darwin.so
  Reason: image not found

Enrichr service not working

In the genes heatmap (not sure about others), when we click for cluster information and additional options, a list of genes is given and a piece of text saying send genes to Enrichr. This text doesn't work.

Export Group

Once a group is created, it would be nice if we can export it, maybe as CSV or dataframes.

rpy2 problem on Windows

Got the following error message when trying to run deseq2 on windows. Seems like it's an rpy2 problem.

2019-11-26 11:05:30.751 | WARNING  | linker.views.inference_view:inference_deseq_t_test:155 - Failed to run DESeq2: name 'localconverter' is not defined

Group Analysis not working

When a set up genes is selected and Goatools is run, there is no output. The console shows the following

Load GOEA Gene Ontology Analysis ...
fisher module not installed.  Falling back on scipy.stats.fisher_exact
  0%      0 of      0 population items found in association

Run GOEA Gene Ontology Analysis: current study set of 0 IDs ...
[04/Dec/2019 17:21:15] "POST /linker/get_gene_ontology/14 HTTP/1.1" 200 216

There are definitely genes selected.

Error clicking on table

[26/Sep/2019 16:08:54] "GET /linker/list_groups/11 HTTP/1.1" 200 12
[26/Sep/2019 16:08:55] "GET /linker/get_heatmap_data/11 HTTP/1.1" 200 3394596

            MATCH (dbo:DatabaseObject)-[:summation|:literatureReference]-(ss)
                    WHERE
                        dbo.stId = {reactome_id}
                    RETURN
                        dbo.stId as reactome_id,
                        dbo.speciesName as species,
                        dbo.isInferred as inferred,
                        ss.displayName as display_name,
                        ss.text as summary_text,
                        ss.schemaClass as summary_type,
                        properties(ss) as summary_props
            

        MATCH (rle:ReactionLikeEvent)-[rr:input|output|catalystActivity
              |physicalEntity|regulatedBy|regulator|hasComponent|hasMember
              |hasCandidate*]->(dbo:DatabaseObject)
        WHERE
            rle.stId IN {reaction_ids}
        RETURN
            rle.stId AS reaction_id,
            dbo.stId AS entity_id,
            dbo.schemaClass AS schema_class,
            dbo.displayName as display_name,
            extract(rel IN rr | type(rel)) AS types
        
[26/Sep/2019 16:09:19] "GET /linker/get_reactome_reaction_info/11?id=R-MMU-1168910 HTTP/1.1" 200 847
Internal Server Error: /linker/get_ensembl_gene_info/11
Traceback (most recent call last):
  File "/Users/ronan/.local/share/virtualenvs/web_omics-VCzYizAw/lib/python3.7/site-packages/django/core/handlers/exception.py", line 34, in inner
    response = get_response(request)
  File "/Users/ronan/.local/share/virtualenvs/web_omics-VCzYizAw/lib/python3.7/site-packages/django/core/handlers/base.py", line 115, in _get_response
    response = self.process_exception_by_middleware(e, request)
  File "/Users/ronan/.local/share/virtualenvs/web_omics-VCzYizAw/lib/python3.7/site-packages/django/core/handlers/base.py", line 113, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/Users/ronan/work/WebOmics/web_omics/linker/views/explore_data_view.py", line 97, in get_ensembl_gene_info
    display_name = metadata['display_name'] if metadata is not None else ''
TypeError: 'int' object is not subscriptable

DESeq2 results a bit suspect

The DESeq2 results seem incorrect. The displayed fold change is opposite to the box plots - one of them must be wrong.

DESeq2 is not working

Got the following error when running DESeq2:

Error in DESeqDataSet(se, design = design, ignoreRank) : 
  some values in assay are not integers

Metabolomics Analysis PiMP Upload

(a) Upload of exported peak table from PiMP to WebOmics is broken when the columns InchiKey and Identification are included in the data.

(b) Currently all KEGG annotations for every peak in the uploaded data will be used, regardless of whether they've been identified, annotated with/without fragments. This might not be what we want, and it could affect for example pathway analysis results. Might need to implement some kind of filtering?

Metabolomics Analysis Upload gives funny id mapping messages in terminal

When uploading a standard metabolomics analysis with ChEBI identifiers, the following is seen in the terminal.

2020-02-25 16:54:43.691 | INFO     | linker.views.functions:reactome_mapping:35 - Converting kegg ids -> chebi ids
2020-02-25 16:54:43.691 | WARNING  | linker.views.functions:reactome_mapping:39 - Not found: 15428
2020-02-25 16:54:43.691 | WARNING  | linker.views.functions:reactome_mapping:39 - Not found: 32507
2020-02-25 16:54:43.692 | WARNING  | linker.views.functions:reactome_mapping:39 - Not found: 32508
2020-02-25 16:54:43.692 | WARNING  | linker.views.functions:reactome_mapping:39 - Not found: 57305
2020-02-25 16:54:43.692 | WARNING  | linker.views.functions:reactome_mapping:39 - Not found: 15724
2020-02-25 16:54:43.692 | WARNING  | linker.views.functions:reactome_mapping:39 - Not found: No result
2020-02-25 16:54:43.692 | WARNING  | linker.views.functions:reactome_mapping:39 - Not found: 5141
2020-02-25 16:54:43.692 | WARNING  | linker.views.functions:reactome_mapping:39 - Not found: 30856
2020-02-25 16:54:43.692 | WARNING  | linker.views.functions:reactome_mapping:39 - Not found: 51022
etc.

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.