Comments (6)
Realizing now that the --forceMtx
flag does not take a text argument, and rather is true if specified, false if not. In any case, it would be great to have an equivalent --forceTSV
flag
from cellbrowser.
from cellbrowser.
from cellbrowser.
Thank you for the quick response! I have personally converted this matrix to non-sparse in R in the course of certain function calls without issue, but the documentation agrees with you. I honestly don't know how much of a risk this poses in terms of the function failing for others.
In any case I have no issue with .mtx files, but I can't get them to work at all with cbBuild. The cellbrowser.conf file still points to a single tsv file that does not exist, and manually supplying each individual file does not seem to work (next it asks for a barcodes.tsv, which is ignored if I specify directly for each assay). My ultimate solution (which worked very well) was to run mtx2tsv on each assay before deployment.
from cellbrowser.
from cellbrowser.
Sorry, I should have waited to give more concrete examples. My object has three assays (counts, data, and scale). As far as I can tell cbBuild does not handle this correctly if a .mtx file is used. If I run cbBuild without any conversion, I initially get the following error:
FileNotFoundError: [Errno 2] No such file or directory: '[path]/counts_exprMatrix.tsv.gz'
Full trace:
INFO:root:dataRoot is not set in ~/.cellbrowser.conf or via $CBDATAROOT. Dataset hierarchies are not supported.
INFO:root:Creating [path]
INFO:root:Determining if [path]/exprMatrix.tsv.gz needs to be created
INFO:root:[path]/exprMatrix.tsv.gz does not exist. Must build matrix now.
INFO:root:Creating [path]/metaFields
INFO:root:Checking and reordering meta data to [path]/meta.tsv
INFO:root:Reading sample names from [path]/meta.tsv
INFO:root:Reading headers from file [path]/counts_exprMatrix.tsv.gz
ERROR:root:Unexpected error: (<class 'FileNotFoundError'>, FileNotFoundError(2, 'No such file or directory'), <traceback object at 0x7f2afdea0f48>)
Traceback (most recent call last):
File "/home/deploy/.local/lib/python3.6/site-packages/cellbrowser/cellbrowser.py", line 4783, in cbBuildCli
build(confFnames, outDir, port, redo=options.redo)
File "/home/deploy/.local/lib/python3.6/site-packages/cellbrowser/cellbrowser.py", line 4598, in build
convertDataset(inDir, inConf, outConf, datasetDir, redo)
File "/home/deploy/.local/lib/python3.6/site-packages/cellbrowser/cellbrowser.py", line 3944, in convertDataset
sampleNames, needFilterMatrix = convertMeta(inDir, inConf, outConf, datasetDir, outMetaFname)
File "/home/deploy/.local/lib/python3.6/site-packages/cellbrowser/cellbrowser.py", line 3539, in convertMeta
sampleNames, needFilterMatrix = metaReorder(matrixFname, metaFname, finalMetaFname)
File "/home/deploy/.local/lib/python3.6/site-packages/cellbrowser/cellbrowser.py", line 2296, in metaReorder
matrixSampleNames = readMatrixSampleNames(matrixFname)
File "/home/deploy/.local/lib/python3.6/site-packages/cellbrowser/cellbrowser.py", line 2288, in readMatrixSampleNames
return readHeaders(fname)[1:]
File "/home/deploy/.local/lib/python3.6/site-packages/cellbrowser/cellbrowser.py", line 3135, in readHeaders
ifh = openFile(fname, "rtU")
File "/home/deploy/.local/lib/python3.6/site-packages/cellbrowser/cellbrowser.py", line 807, in openFile
fh = gzip.open(fname, mode, encoding=encoding)
File "/opt/rh/rh-python36/root/usr/lib64/python3.6/gzip.py", line 53, in open
binary_file = GzipFile(filename, gz_mode, compresslevel)
File "/opt/rh/rh-python36/root/usr/lib64/python3.6/gzip.py", line 163, in init
fileobj = self.myfileobj = builtins.open(filename, mode or 'rb')
FileNotFoundError: [Errno 2] No such file or directory: '[path]/counts_exprMatrix.tsv.gz'
The initial cellbrowser.conf file is as follows:
# This is a bare-bones cellbrowser config file auto-generated by the command-line tool cbImportSeurat
# or directly from R with SeuratWrappers::ExportToCellbrowser().
# Look at https://github.com/maximilianh/cellBrowser/blob/master/src/cbPyLib/cellbrowser/sampleConfig/cellbrowser.conf
# for a full file that shows all possible options
name="name"
shortLabel="name"
exprMatrix="counts_exprMatrix.tsv.gz"
matrices=[ {'label':'counts','fileName':'counts_exprMatrix.tsv.gz'},
{'label':'data','fileName':'data_exprMatrix.tsv.gz'},
{'label':'scale','fileName':'scale_exprMatrix.tsv.gz'}]
#tags = ["10x", "smartseq2"]
meta="meta.tsv"
# possible values: "gencode-human", "gencode-mouse", "symbol" or "auto"
geneIdType="auto"
# file with gene,description (one per line) with highlighted genes, called "Dataset Genes" in the user interface
# quickGenesFile="quickGenes.csv"
clusterField="typestate"
labelField="typestate"
enumFields=["orig.ident", "HTO_maxID", "HTO_secondID", "HTO_classification", "HTO_classification.global", "hash.ID", "MULTI_ID", "MULTI_classification"$
markers = [{"file": "markers.tsv", "shortLabel": "Seurat Cluster Markers"}]
coords=[{"file": "umap.coords.tsv", "shortLabel": "Seurat umap"},
{"file": "SCVI.coords.tsv", "shortLabel": "Seurat SCVI"}]
If I modify the cellbrowser.conf matrices
and exprMatrix
arguments as follows (note that scale is a smaller matrix, still gets output as a tsv):
exprMatrix="counts_matrix.mtx.gz"
matrices=[ {'label':'counts','fileName':'counts_matrix.mtx.gz'},
{'label':'data','fileName':'data_matrix.mtx.gz'},
{'label':'scale','fileName':'scale_exprMatrix.tsv.gz'}]
I run into a new error, where it seems cbBuild does not recognize the additional assays:
FileNotFoundError: [Errno 2] No such file or directory: '[path]/barcodes.tsv.gz'
Full trace:
INFO:root:dataRoot is not set in ~/.cellbrowser.conf or via $CBDATAROOT. Dataset hierarchies are not supported.
INFO:root:Determining if /var/www/apps/test/name/matrix.mtx.gz needs to be created
INFO:root:/var/www/apps/test/name/matrix.mtx.gz does not exist. Must build matrix now.
INFO:root:Checking and reordering meta data to /var/www/apps/test/name/meta.tsv
INFO:root:Reading sample names from [path]/meta.tsv
INFO:root:Reading sample names for [path] -> [path]/barcodes.tsv.gz
ERROR:root:Unexpected error: (<class 'FileNotFoundError'>, FileNotFoundError(2, 'No such file or directory'), <traceback object at 0x7fdd7ffa56c8>)
Traceback (most recent call last):
File "/home/deploy/.local/lib/python3.6/site-packages/cellbrowser/cellbrowser.py", line 4783, in cbBuildCli
build(confFnames, outDir, port, redo=options.redo)
File "/home/deploy/.local/lib/python3.6/site-packages/cellbrowser/cellbrowser.py", line 4598, in build
convertDataset(inDir, inConf, outConf, datasetDir, redo)
File "/home/deploy/.local/lib/python3.6/site-packages/cellbrowser/cellbrowser.py", line 3944, in convertDataset
sampleNames, needFilterMatrix = convertMeta(inDir, inConf, outConf, datasetDir, outMetaFname)
File "/home/deploy/.local/lib/python3.6/site-packages/cellbrowser/cellbrowser.py", line 3539, in convertMeta
sampleNames, needFilterMatrix = metaReorder(matrixFname, metaFname, finalMetaFname)
File "/home/deploy/.local/lib/python3.6/site-packages/cellbrowser/cellbrowser.py", line 2296, in metaReorder
matrixSampleNames = readMatrixSampleNames(matrixFname)
File "/home/deploy/.local/lib/python3.6/site-packages/cellbrowser/cellbrowser.py", line 2281, in readMatrixSampleNames
lines = openFile(barcodePath).read().splitlines()
File "/home/deploy/.local/lib/python3.6/site-packages/cellbrowser/cellbrowser.py", line 807, in openFile
fh = gzip.open(fname, mode, encoding=encoding)
File "/opt/rh/rh-python36/root/usr/lib64/python3.6/gzip.py", line 53, in open
binary_file = GzipFile(filename, gz_mode, compresslevel)
File "/opt/rh/rh-python36/root/usr/lib64/python3.6/gzip.py", line 163, in init
fileobj = self.myfileobj = builtins.open(filename, mode or 'rb')
FileNotFoundError: [Errno 2] No such file or directory: '[path]/barcodes.tsv.gz'
Finally, if I add additional fields to specify the naming structure, it seems to be ignored (but perhaps I am using the wrong arguments):
exprMatrix="counts_matrix.mtx.gz"
matrices=[ {'label':'counts','fileName':'counts_matrix.mtx.gz'},
{'label':'data','fileName':'data_matrix.mtx.gz'},
{'label':'scale','fileName':'scale_exprMatrix.tsv.gz'}]
barcodes=[ {'label':'counts','fileName':'counts_barcodes.tsv.gz'},
{'label':'data','fileName':'data_barcodes.tsv.gz'}]
features=[ {'label':'counts','fileName':'counts_features.tsv.gz'},
{'label':'data','fileName':'data_features.tsv.gz'}]
Same error:
FileNotFoundError: [Errno 2] No such file or directory: '[path]/barcodes.tsv.gz'
Thank you for your help with this
from cellbrowser.
Related Issues (20)
- alert:Could not load mouse_temp_atac/exprMatrix.bin?chr1|3115016|3115356, error undefined HOT 6
- mtx nomenclature in conf file HOT 2
- Question - Linking cellBrowser through another web-app with dynamic data selection HOT 9
- gene expression and proteins together HOT 4
- stop() instead of error() in the cellbrowser.R script? HOT 1
- Special characters in the column names HOT 1
- os.getLogin() function breaks seurat.py HOT 2
- Question/Issue: Index not showing HOT 28
- Split view by dataset HOT 1
- abstract.html do not working HOT 8
- cache problem of google chrome browser or server httpd setting? HOT 3
- Custom colors for each attribute HOT 8
- Cannot find dataset when refreshing HOT 7
- Cannot read single sample name from the matrix HOT 3
- Spatial data in cell browser HOT 9
- [Feature Request] Find Cells by named selection HOT 6
- On killing cbScanpyImport due to Out of memory, process exits with 0 exit code HOT 1
- `scanpy` docs bug still not resolved HOT 5
- Issue w/ running cbSeurat: argument "counts" is missing, with no default HOT 17
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cellbrowser.