mirror of
https://github.com/galaxyproject/galaxy.git
synced 2026-09-24 16:30:27 +08:00
Merge pull request #7995 from mvdbeek/jmchilton-newline_fixes
Datatype I/O fixes
This commit is contained in:
@@ -1030,8 +1030,14 @@ def get_file_peek(file_name, is_multi_byte=False, WIDTH=256, LINE_COUNT=5, skipc
|
||||
:param is_multi_byte: deprecated
|
||||
:type is_multi_byte: bool
|
||||
|
||||
>>> fname = get_test_fname('4.bed')
|
||||
>>> assert get_file_peek(fname, LINE_COUNT=1) == u'chr22\\t30128507\\t31828507\\tuc003bnx.1_cds_2_0_chr22_29227_f\\t0\\t+\\n'
|
||||
>>> def assert_peek_is(file_name, expected, *args, **kwd):
|
||||
... path = get_test_fname(file_name)
|
||||
... peek = get_file_peek(path, *args, **kwd)
|
||||
... assert peek == expected, "%s != %s" % (peek, expected)
|
||||
>>> assert_peek_is('0_nonewline', u'0')
|
||||
>>> assert_peek_is('0.txt', u'0\\n')
|
||||
>>> assert_peek_is('4.bed', u'chr22\\t30128507\\t31828507\\tuc003bnx.1_cds_2_0_chr22_29227_f\\t0\\t+\\n', LINE_COUNT=1)
|
||||
>>> assert_peek_is('1.bed', u'chr1\\t147962192\\t147962580\\tCCDS989.1_cds_0_0_chr1_147962193_r\\t0\\t-\\nchr1\\t147984545\\t147984630\\tCCDS990.1_cds_0_0_chr1_147984546_f\\t0\\t+\\n', LINE_COUNT=2)
|
||||
"""
|
||||
# Set size for file.readline() to a negative number to force it to
|
||||
# read until either a newline or EOF. Needed for datasets with very
|
||||
@@ -1042,20 +1048,27 @@ def get_file_peek(file_name, is_multi_byte=False, WIDTH=256, LINE_COUNT=5, skipc
|
||||
skipchars = []
|
||||
lines = []
|
||||
count = 0
|
||||
|
||||
last_line_break = False
|
||||
with compression_utils.get_fileobj(file_name, "U") as temp:
|
||||
while count < LINE_COUNT:
|
||||
try:
|
||||
line = temp.readline(WIDTH)
|
||||
except UnicodeDecodeError:
|
||||
return "binary file"
|
||||
if not line_wrap:
|
||||
if line.endswith('\n'):
|
||||
line = line[:-1]
|
||||
else:
|
||||
while True:
|
||||
i = temp.read(1)
|
||||
if not i or i == '\n':
|
||||
break
|
||||
if line == "":
|
||||
break
|
||||
last_line_break = False
|
||||
if line.endswith('\n'):
|
||||
line = line[:-1]
|
||||
last_line_break = True
|
||||
elif not line_wrap:
|
||||
while True:
|
||||
i = temp.read(1)
|
||||
if i == '\n':
|
||||
last_line_break = True
|
||||
if not i or i == '\n':
|
||||
break
|
||||
skip_line = False
|
||||
for skipchar in skipchars:
|
||||
if line.startswith(skipchar):
|
||||
@@ -1064,4 +1077,4 @@ def get_file_peek(file_name, is_multi_byte=False, WIDTH=256, LINE_COUNT=5, skipc
|
||||
if not skip_line:
|
||||
lines.append(line)
|
||||
count += 1
|
||||
return '\n'.join(lines)
|
||||
return '\n'.join(lines) + ('\n' if last_line_break else '')
|
||||
|
||||
@@ -14,7 +14,11 @@ import sys
|
||||
import tempfile
|
||||
import zipfile
|
||||
|
||||
from six import StringIO, text_type
|
||||
from six import (
|
||||
PY3,
|
||||
StringIO,
|
||||
text_type,
|
||||
)
|
||||
from six.moves import filter
|
||||
from six.moves.urllib.request import urlopen
|
||||
|
||||
@@ -103,28 +107,40 @@ def stream_to_file(stream, suffix='', prefix='', dir=None, text=False, **kwd):
|
||||
return stream_to_open_named_file(stream, fd, temp_name, **kwd)
|
||||
|
||||
|
||||
def convert_newlines(fname, in_place=True, tmp_dir=None, tmp_prefix="gxupload"):
|
||||
def convert_newlines(fname, in_place=True, tmp_dir=None, tmp_prefix="gxupload", block_size=128 * 1024, regexp=None):
|
||||
"""
|
||||
Converts in place a file from universal line endings
|
||||
to Posix line endings.
|
||||
|
||||
>>> fname = get_test_fname('temp.txt')
|
||||
>>> with open(fname, 'wt') as fh:
|
||||
... _ = fh.write("1 2\\r3 4")
|
||||
>>> convert_newlines(fname, tmp_prefix="gxtest", tmp_dir=tempfile.gettempdir())
|
||||
(2, None)
|
||||
>>> open(fname).read()
|
||||
'1 2\\n3 4\\n'
|
||||
"""
|
||||
fd, temp_name = tempfile.mkstemp(prefix=tmp_prefix, dir=tmp_dir)
|
||||
with io.open(fd, mode="wt", encoding='utf-8') as fp:
|
||||
i = None
|
||||
for i, line in enumerate(io.open(fname, encoding='utf-8')):
|
||||
fp.write("%s\n" % line.rstrip("\r\n"))
|
||||
if i is None:
|
||||
i = 0
|
||||
i = 0
|
||||
if PY3:
|
||||
NEWLINE_BYTE = 10
|
||||
CR_BYTE = 13
|
||||
else:
|
||||
i += 1
|
||||
NEWLINE_BYTE = "\n"
|
||||
CR_BYTE = "\r"
|
||||
with io.open(fd, mode="wb") as fp, io.open(fname, mode="rb") as fi:
|
||||
last_char = None
|
||||
block = fi.read(block_size)
|
||||
last_block = b""
|
||||
while block:
|
||||
if last_char == CR_BYTE and block.startswith(b"\n"):
|
||||
# Last block ended with CR, new block startswith newline.
|
||||
# Since we replace CR with newline in the previous iteration we skip the first byte
|
||||
block = block[1:]
|
||||
if block:
|
||||
last_char = block[-1]
|
||||
block = block.replace(b"\r\n", b"\n").replace(b"\r", b"\n")
|
||||
if regexp:
|
||||
block = b"\t".join(regexp.split(block))
|
||||
fp.write(block)
|
||||
i += block.count(b"\n")
|
||||
last_block = block
|
||||
block = fi.read(block_size)
|
||||
if last_block and last_block[-1] != NEWLINE_BYTE:
|
||||
i += 1
|
||||
fp.write(b"\n")
|
||||
if in_place:
|
||||
shutil.move(temp_name, fname)
|
||||
# Return number of lines in file.
|
||||
@@ -133,47 +149,9 @@ def convert_newlines(fname, in_place=True, tmp_dir=None, tmp_prefix="gxupload"):
|
||||
return (i, temp_name)
|
||||
|
||||
|
||||
def sep2tabs(fname, in_place=True, patt=r"\s+", tmp_dir=None, tmp_prefix="gxupload"):
|
||||
def convert_newlines_sep2tabs(fname, in_place=True, patt=br"[^\S\n]+", tmp_dir=None, tmp_prefix="gxupload"):
|
||||
"""
|
||||
Transforms in place a 'sep' separated file to a tab separated one
|
||||
|
||||
>>> fname = get_test_fname('temp.txt')
|
||||
>>> with open(fname, 'wt') as fh:
|
||||
... _ = fh.write(u"1 2\\n3 4\\n")
|
||||
>>> sep2tabs(fname)
|
||||
(2, None)
|
||||
>>> open(fname).read()
|
||||
'1\\t2\\n3\\t4\\n'
|
||||
"""
|
||||
regexp = re.compile(patt)
|
||||
fd, temp_name = tempfile.mkstemp(prefix=tmp_prefix, dir=tmp_dir)
|
||||
with io.open(fd, mode="wt", encoding='utf-8') as fp:
|
||||
i = None
|
||||
for i, line in enumerate(io.open(fname, encoding='utf-8')):
|
||||
if line.endswith("\r"):
|
||||
line = line.rstrip('\r')
|
||||
elems = regexp.split(line)
|
||||
fp.write(u"%s\r" % '\t'.join(elems))
|
||||
else:
|
||||
line = line.rstrip('\n')
|
||||
elems = regexp.split(line)
|
||||
fp.write(u"%s\n" % '\t'.join(elems))
|
||||
if i is None:
|
||||
i = 0
|
||||
else:
|
||||
i += 1
|
||||
if in_place:
|
||||
shutil.move(temp_name, fname)
|
||||
# Return number of lines in file.
|
||||
return (i, None)
|
||||
else:
|
||||
return (i, temp_name)
|
||||
|
||||
|
||||
def convert_newlines_sep2tabs(fname, in_place=True, patt=r"\s+", tmp_dir=None, tmp_prefix="gxupload"):
|
||||
"""
|
||||
Combines above methods: convert_newlines() and sep2tabs()
|
||||
so that files do not need to be read twice
|
||||
Converts newlines in a file to posix newlines and replaces spaces with tabs.
|
||||
|
||||
>>> fname = get_test_fname('temp.txt')
|
||||
>>> with open(fname, 'wt') as fh:
|
||||
@@ -184,18 +162,7 @@ def convert_newlines_sep2tabs(fname, in_place=True, patt=r"\s+", tmp_dir=None, t
|
||||
'1\\t2\\n3\\t4\\n'
|
||||
"""
|
||||
regexp = re.compile(patt)
|
||||
fd, temp_name = tempfile.mkstemp(prefix=tmp_prefix, dir=tmp_dir)
|
||||
with io.open(fd, mode="wt", encoding='utf-8') as fp:
|
||||
for i, line in enumerate(io.open(fname, encoding='utf-8')):
|
||||
line = line.rstrip('\r\n')
|
||||
elems = regexp.split(line)
|
||||
fp.write(u"%s\n" % '\t'.join(elems))
|
||||
if in_place:
|
||||
shutil.move(temp_name, fname)
|
||||
# Return number of lines in file.
|
||||
return (i + 1, None)
|
||||
else:
|
||||
return (i + 1, temp_name)
|
||||
return convert_newlines(fname, in_place, tmp_dir, tmp_prefix, regexp=regexp)
|
||||
|
||||
|
||||
def iter_headers(fname_or_file_prefix, sep, count=60, comment_designator=None):
|
||||
@@ -474,6 +441,9 @@ def guess_ext(fname, sniff_order, is_binary=False):
|
||||
>>> fname = get_test_fname('1.mtx')
|
||||
>>> guess_ext(fname, sniff_order)
|
||||
'mtx'
|
||||
>>> fname = get_test_fname('1imzml')
|
||||
>>> guess_ext(fname, sniff_order) # This test case is ensuring doesn't throw exception, actual value could change if non-utf encoding handling improves.
|
||||
'data'
|
||||
"""
|
||||
file_prefix = FilePrefix(fname)
|
||||
file_ext = run_sniffers_raw(file_prefix, sniff_order, is_binary)
|
||||
@@ -555,8 +525,9 @@ def zip_single_fileobj(path):
|
||||
class FilePrefix(object):
|
||||
|
||||
def __init__(self, filename):
|
||||
binary = False
|
||||
non_utf8_error = None
|
||||
compressed_format = None
|
||||
contents_header_bytes = None
|
||||
contents_header = None # First MAX_BYTES of the file.
|
||||
truncated = False
|
||||
# A future direction to optimize sniffing even more for sniffers at the top of the list
|
||||
@@ -565,20 +536,23 @@ class FilePrefix(object):
|
||||
# populates contents_header while providing a StringIO-like interface until the file is read
|
||||
# but then would fallback to native string_io()
|
||||
try:
|
||||
compressed_format, f = compression_utils.get_fileobj_raw(filename)
|
||||
compressed_format, f = compression_utils.get_fileobj_raw(filename, "rb")
|
||||
try:
|
||||
contents_header = f.read(SNIFF_PREFIX_BYTES)
|
||||
truncated = len(contents_header) == SNIFF_PREFIX_BYTES
|
||||
contents_header_bytes = f.read(SNIFF_PREFIX_BYTES)
|
||||
truncated = len(contents_header_bytes) == SNIFF_PREFIX_BYTES
|
||||
contents_header = contents_header_bytes.decode("utf-8")
|
||||
finally:
|
||||
f.close()
|
||||
except UnicodeDecodeError:
|
||||
binary = True
|
||||
except UnicodeDecodeError as e:
|
||||
non_utf8_error = e
|
||||
|
||||
self.truncated = truncated
|
||||
self.filename = filename
|
||||
self.binary = binary
|
||||
self.non_utf8_error = non_utf8_error
|
||||
self.binary = non_utf8_error is not None # obviously wrong
|
||||
self.compressed_format = compressed_format
|
||||
self.contents_header = contents_header
|
||||
self.contents_header_bytes = contents_header_bytes
|
||||
self._file_size = None
|
||||
|
||||
@property
|
||||
@@ -588,8 +562,8 @@ class FilePrefix(object):
|
||||
return self._file_size
|
||||
|
||||
def string_io(self):
|
||||
if self.binary:
|
||||
raise Exception("Attempting to create a StringIO object for binary data.")
|
||||
if self.non_utf8_error is not None:
|
||||
raise self.non_utf8_error
|
||||
rval = StringIO(self.contents_header)
|
||||
return rval
|
||||
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
0
|
||||
@@ -0,0 +1,380 @@
|
||||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<mzML xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://psi.hupo.org/ms/mzml http://psidev.info/files/ms/mzML/xsd/mzML1.1.0.xsd" xmlns="http://psi.hupo.org/ms/mzml" version="1.1">
|
||||
<cvList count="4">
|
||||
<cv URI="http://ontologies.berkeleybop.org/pato.obo" fullName="Phenotype And Trait Ontology" id="PATO" version="releases/2017-07-10"/>
|
||||
<cv URI="http://ontologies.berkeleybop.org/uo.obo" fullName="Units of Measurement Ontology" id="UO" version="releases/2017-09-25"/>
|
||||
<cv URI="https://raw.githubusercontent.com/hupo-psi/psi-ms-cv/master/psi-ms.obo" fullName="Proteomics Standards Initiative Mass Spectrometry Ontology" id="MS" version="4.1.0"/>
|
||||
<cv URI="https://raw.githubusercontent.com/imzML/imzML/master/imagingMS.obo" fullName="Mass Spectrometry Imaging Ontology" id="IMS" version="1.1.0"/>
|
||||
</cvList>
|
||||
<fileDescription>
|
||||
<fileContent>
|
||||
<cvParam cvRef="MS" accession="MS:1000579" name="MS1 spectrum"/>
|
||||
<cvParam cvRef="MS" accession="MS:1000128" name="profile spectrum"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000080" name="universally unique identifier" value="9d501bdc53444916b7e97e795b02c856"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000091" name="ibd SHA-1" value="7e8fdb93053915d3edb51b70aa0619ac209964df"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000031" name="processed"/>
|
||||
</fileContent>
|
||||
<sourceFileList count="1">
|
||||
<sourceFile id="sf1" location="C:\Users\Thorsten Schramm\Documents\Promotion\imzML\Website\files\Beispiel-Dateien\Example images\" name="Example.raw">
|
||||
<cvParam cvRef="MS" accession="MS:1000563" name="Thermo RAW format"/>
|
||||
<cvParam cvRef="MS" accession="MS:1000768" name="Thermo nativeID format"/>
|
||||
<cvParam cvRef="MS" accession="MS:1000569" name="SHA-1" value="7623BE263B25FF99FDF017154B86FAB742D4BB0B"/>
|
||||
</sourceFile>
|
||||
</sourceFileList>
|
||||
<contact>
|
||||
<cvParam cvRef="MS" accession="MS:1000586" name="contact name" value="Thorsten Schramm"/>
|
||||
<cvParam cvRef="MS" accession="MS:1000590" name="contact affiliation" value="Institut für Anorganische und Analytische Chemie"/>
|
||||
<cvParam cvRef="MS" accession="MS:1000587" name="contact address" value="Schubertstraße 60, Haus 16, Gießen, Germany"/>
|
||||
<cvParam cvRef="MS" accession="MS:1000589" name="contact email" value="thorsten.schramm@anorg.chemie.uni-.giessen.de"/>
|
||||
</contact>
|
||||
</fileDescription>
|
||||
<referenceableParamGroupList count="4">
|
||||
<referenceableParamGroup id="mzArray">
|
||||
<cvParam cvRef="MS" accession="MS:1000576" name="no compression"/>
|
||||
<cvParam cvRef="MS" accession="MS:1000514" name="m/z array" unitCvRef="MS" unitAccession="MS:1000040" unitName="m/z"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000101" name="external data" value="true"/>
|
||||
<cvParam cvRef="MS" accession="MS:1000521" name="32-bit float"/>
|
||||
</referenceableParamGroup>
|
||||
<referenceableParamGroup id="intensityArray">
|
||||
<cvParam cvRef="MS" accession="MS:1000576" name="no compression"/>
|
||||
<cvParam cvRef="MS" accession="MS:1000515" name="intensity array" unitCvRef="MS" unitAccession="MS:1000131" unitName="number of detector counts"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000101" name="external data" value="true"/>
|
||||
<cvParam cvRef="MS" accession="MS:1000521" name="32-bit float"/>
|
||||
</referenceableParamGroup>
|
||||
<referenceableParamGroup id="scan1">
|
||||
<cvParam cvRef="MS" accession="MS:1000093" name="increasing m/z scan"/>
|
||||
<cvParam cvRef="MS" accession="MS:1000512" name="filter string" value="ITMS - p NSI Full ms [100,00-800,00]"/>
|
||||
</referenceableParamGroup>
|
||||
<referenceableParamGroup id="spectrum1">
|
||||
<cvParam cvRef="MS" accession="MS:1000579" name="MS1 spectrum"/>
|
||||
<cvParam cvRef="MS" accession="MS:1000511" name="ms level" value="0"/>
|
||||
<cvParam cvRef="MS" accession="MS:1000128" name="profile spectrum"/>
|
||||
<cvParam cvRef="MS" accession="MS:1000129" name="negative scan"/>
|
||||
</referenceableParamGroup>
|
||||
</referenceableParamGroupList>
|
||||
<sampleList count="1">
|
||||
<sample id="sample1" name="Sample1">
|
||||
<cvParam cvRef="MS" accession="MS:1000001" name="sample number" value="1"/>
|
||||
</sample>
|
||||
</sampleList>
|
||||
<softwareList count="2">
|
||||
<software id="Xcalibur" version="2.2">
|
||||
<cvParam cvRef="MS" accession="MS:1000532" name="Xcalibur"/>
|
||||
</software>
|
||||
<software id="TMC" version="1.1 beta">
|
||||
<cvParam cvRef="MS" accession="MS:1000799" name="custom unreleased software tool" value=""/>
|
||||
</software>
|
||||
</softwareList>
|
||||
<scanSettingsList count="1">
|
||||
<scanSettings id="scansettings1">
|
||||
<cvParam cvRef="IMS" accession="IMS:1000401" name="top down"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000413" name="flyback"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000480" name="horizontal line scan"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000491" name="linescan left right"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000042" name="max count of pixels x" value="3"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000043" name="max count of pixels y" value="3"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000044" name="max dimension x" value="300" unitCvRef="UO" unitAccession="UO:0000017" unitName="micrometer"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000045" name="max dimension y" value="300" unitCvRef="UO" unitAccession="UO:0000017" unitName="micrometer"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000046" name="pixel size (x)" value="100.0" unitCvRef="UO" unitAccession="UO:0000017" unitName="micrometer"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000047" name="pixel size y" value="100.0" unitCvRef="UO" unitAccession="UO:0000017" unitName="micrometer"/>
|
||||
</scanSettings>
|
||||
</scanSettingsList>
|
||||
<instrumentConfigurationList count="1">
|
||||
<instrumentConfiguration id="LTQFTUltra0">
|
||||
<cvParam cvRef="MS" accession="MS:1000557" name="LTQ FT Ultra"/>
|
||||
<cvParam cvRef="MS" accession="MS:1000529" name="instrument serial number" value="none"/>
|
||||
<componentList count="3">
|
||||
<source order="1">
|
||||
<cvParam cvRef="MS" accession="MS:1000073" name="electrospray ionization"/>
|
||||
<cvParam cvRef="MS" accession="MS:1000485" name="nanospray inlet"/>
|
||||
<cvParam cvRef="MS" accession="MS:1000844" name="focus diameter x" value="10.0"/>
|
||||
<cvParam cvRef="MS" accession="MS:1000845" name="focus diameter y" value="10.0"/>
|
||||
<cvParam cvRef="MS" accession="MS:1000846" name="pulse energy" value="10.0"/>
|
||||
<cvParam cvRef="MS" accession="MS:1000847" name="pulse duration" value="10.0"/>
|
||||
<cvParam cvRef="MS" accession="MS:1000848" name="attenuation" value="50.0"/>
|
||||
<cvParam cvRef="MS" accession="MS:1000850" name="gas laser"/>
|
||||
<cvParam cvRef="MS" accession="MS:1000836" name="dried droplet MALDI matrix preparation"/>
|
||||
<cvParam cvRef="MS" accession="MS:1000835" name="matrix solution concentration" value="10.0"/>
|
||||
<cvParam cvRef="MS" accession="MS:1000834" name="matrix solution" value="DHB"/>
|
||||
</source>
|
||||
<analyzer order="2">
|
||||
<cvParam cvRef="MS" accession="MS:1000264" name="ion trap"/>
|
||||
<cvParam cvRef="MS" accession="MS:1000014" name="accuracy" value="0.0" unitCvRef="MS" unitAccession="MS:1000040" unitName="m/z"/>
|
||||
</analyzer>
|
||||
<detector order="3">
|
||||
<cvParam cvRef="MS" accession="MS:1000253" name="electron multiplier"/>
|
||||
<cvParam cvRef="MS" accession="MS:1000120" name="transient recorder"/>
|
||||
</detector>
|
||||
</componentList>
|
||||
<softwareRef ref="Xcalibur"/>
|
||||
</instrumentConfiguration>
|
||||
</instrumentConfigurationList>
|
||||
<dataProcessingList count="2">
|
||||
<dataProcessing id="XcaliburProcessing">
|
||||
<processingMethod softwareRef="Xcalibur" order="1">
|
||||
<cvParam cvRef="MS" accession="MS:1000594" name="low intensity data point removal"/>
|
||||
</processingMethod>
|
||||
</dataProcessing>
|
||||
<dataProcessing id="TMCConversion">
|
||||
<processingMethod softwareRef="TMC" order="2">
|
||||
<cvParam cvRef="MS" accession="MS:1000544" name="Conversion to mzML"/>
|
||||
</processingMethod>
|
||||
</dataProcessing>
|
||||
</dataProcessingList>
|
||||
<run defaultInstrumentConfigurationRef="LTQFTUltra0" defaultSourceFileRef="sf1" id="Experiment01" sampleRef="sample1" startTimeStamp="2009-08-11T15:59:44">
|
||||
<spectrumList count="9" defaultDataProcessingRef="XcaliburProcessing">
|
||||
<spectrum id="Scan=1" defaultArrayLength="0" dataProcessingRef="XcaliburProcessing" sourceFileRef="sf1" index="0">
|
||||
<referenceableParamGroupRef ref="spectrum1"/>
|
||||
<cvParam cvRef="MS" accession="MS:1000285" name="total ion current" value="121.85039039868471"/>
|
||||
<scanList count="1">
|
||||
<cvParam cvRef="MS" accession="MS:1000795" name="no combination"/>
|
||||
<scan instrumentConfigurationRef="LTQFTUltra0">
|
||||
<referenceableParamGroupRef ref="scan1"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000050" name="position x" value="1"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000051" name="position y" value="1"/>
|
||||
</scan>
|
||||
</scanList>
|
||||
<binaryDataArrayList count="2">
|
||||
<binaryDataArray encodedLength="0">
|
||||
<referenceableParamGroupRef ref="mzArray"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="8399"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="16"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="33596"/>
|
||||
<binary />
|
||||
</binaryDataArray>
|
||||
<binaryDataArray encodedLength="0">
|
||||
<referenceableParamGroupRef ref="intensityArray"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="8399"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="33612"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="33596"/>
|
||||
<binary />
|
||||
</binaryDataArray>
|
||||
</binaryDataArrayList>
|
||||
</spectrum>
|
||||
<spectrum id="Scan=2" defaultArrayLength="0" dataProcessingRef="XcaliburProcessing" sourceFileRef="sf1" index="1">
|
||||
<referenceableParamGroupRef ref="spectrum1"/>
|
||||
<cvParam cvRef="MS" accession="MS:1000285" name="total ion current" value="182.31835420101888"/>
|
||||
<scanList count="1">
|
||||
<cvParam cvRef="MS" accession="MS:1000795" name="no combination"/>
|
||||
<scan instrumentConfigurationRef="LTQFTUltra0">
|
||||
<referenceableParamGroupRef ref="scan1"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000050" name="position x" value="2"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000051" name="position y" value="1"/>
|
||||
</scan>
|
||||
</scanList>
|
||||
<binaryDataArrayList count="2">
|
||||
<binaryDataArray encodedLength="0">
|
||||
<referenceableParamGroupRef ref="mzArray"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="8399"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="67208"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="33596"/>
|
||||
<binary />
|
||||
</binaryDataArray>
|
||||
<binaryDataArray encodedLength="0">
|
||||
<referenceableParamGroupRef ref="intensityArray"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="8399"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="100804"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="33596"/>
|
||||
<binary />
|
||||
</binaryDataArray>
|
||||
</binaryDataArrayList>
|
||||
</spectrum>
|
||||
<spectrum id="Scan=3" defaultArrayLength="0" dataProcessingRef="XcaliburProcessing" sourceFileRef="sf1" index="2">
|
||||
<referenceableParamGroupRef ref="spectrum1"/>
|
||||
<cvParam cvRef="MS" accession="MS:1000285" name="total ion current" value="161.8091904482675"/>
|
||||
<scanList count="1">
|
||||
<cvParam cvRef="MS" accession="MS:1000795" name="no combination"/>
|
||||
<scan instrumentConfigurationRef="LTQFTUltra0">
|
||||
<referenceableParamGroupRef ref="scan1"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000050" name="position x" value="3"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000051" name="position y" value="1"/>
|
||||
</scan>
|
||||
</scanList>
|
||||
<binaryDataArrayList count="2">
|
||||
<binaryDataArray encodedLength="0">
|
||||
<referenceableParamGroupRef ref="mzArray"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="8399"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="134400"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="33596"/>
|
||||
<binary />
|
||||
</binaryDataArray>
|
||||
<binaryDataArray encodedLength="0">
|
||||
<referenceableParamGroupRef ref="intensityArray"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="8399"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="167996"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="33596"/>
|
||||
<binary />
|
||||
</binaryDataArray>
|
||||
</binaryDataArrayList>
|
||||
</spectrum>
|
||||
<spectrum id="Scan=4" defaultArrayLength="0" dataProcessingRef="XcaliburProcessing" sourceFileRef="sf1" index="3">
|
||||
<referenceableParamGroupRef ref="spectrum1"/>
|
||||
<cvParam cvRef="MS" accession="MS:1000285" name="total ion current" value="200.9633277092539"/>
|
||||
<scanList count="1">
|
||||
<cvParam cvRef="MS" accession="MS:1000795" name="no combination"/>
|
||||
<scan instrumentConfigurationRef="LTQFTUltra0">
|
||||
<referenceableParamGroupRef ref="scan1"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000050" name="position x" value="1"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000051" name="position y" value="2"/>
|
||||
</scan>
|
||||
</scanList>
|
||||
<binaryDataArrayList count="2">
|
||||
<binaryDataArray encodedLength="0">
|
||||
<referenceableParamGroupRef ref="mzArray"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="8399"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="201592"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="33596"/>
|
||||
<binary />
|
||||
</binaryDataArray>
|
||||
<binaryDataArray encodedLength="0">
|
||||
<referenceableParamGroupRef ref="intensityArray"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="8399"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="235188"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="33596"/>
|
||||
<binary />
|
||||
</binaryDataArray>
|
||||
</binaryDataArrayList>
|
||||
</spectrum>
|
||||
<spectrum id="Scan=5" defaultArrayLength="0" dataProcessingRef="XcaliburProcessing" sourceFileRef="sf1" index="4">
|
||||
<referenceableParamGroupRef ref="spectrum1"/>
|
||||
<cvParam cvRef="MS" accession="MS:1000285" name="total ion current" value="135.30584173158496"/>
|
||||
<scanList count="1">
|
||||
<cvParam cvRef="MS" accession="MS:1000795" name="no combination"/>
|
||||
<scan instrumentConfigurationRef="LTQFTUltra0">
|
||||
<referenceableParamGroupRef ref="scan1"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000050" name="position x" value="2"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000051" name="position y" value="2"/>
|
||||
</scan>
|
||||
</scanList>
|
||||
<binaryDataArrayList count="2">
|
||||
<binaryDataArray encodedLength="0">
|
||||
<referenceableParamGroupRef ref="mzArray"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="8399"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="268784"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="33596"/>
|
||||
<binary />
|
||||
</binaryDataArray>
|
||||
<binaryDataArray encodedLength="0">
|
||||
<referenceableParamGroupRef ref="intensityArray"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="8399"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="302380"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="33596"/>
|
||||
<binary />
|
||||
</binaryDataArray>
|
||||
</binaryDataArrayList>
|
||||
</spectrum>
|
||||
<spectrum id="Scan=6" defaultArrayLength="0" dataProcessingRef="XcaliburProcessing" sourceFileRef="sf1" index="5">
|
||||
<referenceableParamGroupRef ref="spectrum1"/>
|
||||
<cvParam cvRef="MS" accession="MS:1000285" name="total ion current" value="108.39597418421639"/>
|
||||
<scanList count="1">
|
||||
<cvParam cvRef="MS" accession="MS:1000795" name="no combination"/>
|
||||
<scan instrumentConfigurationRef="LTQFTUltra0">
|
||||
<referenceableParamGroupRef ref="scan1"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000050" name="position x" value="3"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000051" name="position y" value="2"/>
|
||||
</scan>
|
||||
</scanList>
|
||||
<binaryDataArrayList count="2">
|
||||
<binaryDataArray encodedLength="0">
|
||||
<referenceableParamGroupRef ref="mzArray"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="8399"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="335976"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="33596"/>
|
||||
<binary />
|
||||
</binaryDataArray>
|
||||
<binaryDataArray encodedLength="0">
|
||||
<referenceableParamGroupRef ref="intensityArray"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="8399"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="369572"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="33596"/>
|
||||
<binary />
|
||||
</binaryDataArray>
|
||||
</binaryDataArrayList>
|
||||
</spectrum>
|
||||
<spectrum id="Scan=7" defaultArrayLength="0" dataProcessingRef="XcaliburProcessing" sourceFileRef="sf1" index="6">
|
||||
<referenceableParamGroupRef ref="spectrum1"/>
|
||||
<cvParam cvRef="MS" accession="MS:1000285" name="total ion current" value="127.84664447846832"/>
|
||||
<scanList count="1">
|
||||
<cvParam cvRef="MS" accession="MS:1000795" name="no combination"/>
|
||||
<scan instrumentConfigurationRef="LTQFTUltra0">
|
||||
<referenceableParamGroupRef ref="scan1"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000050" name="position x" value="1"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000051" name="position y" value="3"/>
|
||||
</scan>
|
||||
</scanList>
|
||||
<binaryDataArrayList count="2">
|
||||
<binaryDataArray encodedLength="0">
|
||||
<referenceableParamGroupRef ref="mzArray"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="8399"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="403168"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="33596"/>
|
||||
<binary />
|
||||
</binaryDataArray>
|
||||
<binaryDataArray encodedLength="0">
|
||||
<referenceableParamGroupRef ref="intensityArray"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="8399"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="436764"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="33596"/>
|
||||
<binary />
|
||||
</binaryDataArray>
|
||||
</binaryDataArrayList>
|
||||
</spectrum>
|
||||
<spectrum id="Scan=8" defaultArrayLength="0" dataProcessingRef="XcaliburProcessing" sourceFileRef="sf1" index="7">
|
||||
<referenceableParamGroupRef ref="spectrum1"/>
|
||||
<cvParam cvRef="MS" accession="MS:1000285" name="total ion current" value="168.27018147522492"/>
|
||||
<scanList count="1">
|
||||
<cvParam cvRef="MS" accession="MS:1000795" name="no combination"/>
|
||||
<scan instrumentConfigurationRef="LTQFTUltra0">
|
||||
<referenceableParamGroupRef ref="scan1"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000050" name="position x" value="2"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000051" name="position y" value="3"/>
|
||||
</scan>
|
||||
</scanList>
|
||||
<binaryDataArrayList count="2">
|
||||
<binaryDataArray encodedLength="0">
|
||||
<referenceableParamGroupRef ref="mzArray"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="8399"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="470360"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="33596"/>
|
||||
<binary />
|
||||
</binaryDataArray>
|
||||
<binaryDataArray encodedLength="0">
|
||||
<referenceableParamGroupRef ref="intensityArray"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="8399"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="503956"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="33596"/>
|
||||
<binary />
|
||||
</binaryDataArray>
|
||||
</binaryDataArrayList>
|
||||
</spectrum>
|
||||
<spectrum id="Scan=9" defaultArrayLength="0" dataProcessingRef="XcaliburProcessing" sourceFileRef="sf1" index="8">
|
||||
<referenceableParamGroupRef ref="spectrum1"/>
|
||||
<cvParam cvRef="MS" accession="MS:1000285" name="total ion current" value="243.5395066031077"/>
|
||||
<scanList count="1">
|
||||
<cvParam cvRef="MS" accession="MS:1000795" name="no combination"/>
|
||||
<scan instrumentConfigurationRef="LTQFTUltra0">
|
||||
<referenceableParamGroupRef ref="scan1"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000050" name="position x" value="3"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000051" name="position y" value="3"/>
|
||||
</scan>
|
||||
</scanList>
|
||||
<binaryDataArrayList count="2">
|
||||
<binaryDataArray encodedLength="0">
|
||||
<referenceableParamGroupRef ref="mzArray"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="8399"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="537552"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="33596"/>
|
||||
<binary />
|
||||
</binaryDataArray>
|
||||
<binaryDataArray encodedLength="0">
|
||||
<referenceableParamGroupRef ref="intensityArray"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="8399"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="571148"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="33596"/>
|
||||
<binary />
|
||||
</binaryDataArray>
|
||||
</binaryDataArrayList>
|
||||
</spectrum>
|
||||
</spectrumList>
|
||||
</run>
|
||||
</mzML>
|
||||
@@ -0,0 +1,380 @@
|
||||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<mzML xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://psi.hupo.org/ms/mzml http://psidev.info/files/ms/mzML/xsd/mzML1.1.0.xsd" xmlns="http://psi.hupo.org/ms/mzml" version="1.1">
|
||||
<cvList count="4">
|
||||
<cv URI="http://ontologies.berkeleybop.org/pato.obo" fullName="Phenotype And Trait Ontology" id="PATO" version="releases/2017-07-10"/>
|
||||
<cv URI="http://ontologies.berkeleybop.org/uo.obo" fullName="Units of Measurement Ontology" id="UO" version="releases/2017-09-25"/>
|
||||
<cv URI="https://raw.githubusercontent.com/hupo-psi/psi-ms-cv/master/psi-ms.obo" fullName="Proteomics Standards Initiative Mass Spectrometry Ontology" id="MS" version="4.1.0"/>
|
||||
<cv URI="https://raw.githubusercontent.com/imzML/imzML/master/imagingMS.obo" fullName="Mass Spectrometry Imaging Ontology" id="IMS" version="1.1.0"/>
|
||||
</cvList>
|
||||
<fileDescription>
|
||||
<fileContent>
|
||||
<cvParam cvRef="MS" accession="MS:1000579" name="MS1 spectrum"/>
|
||||
<cvParam cvRef="MS" accession="MS:1000128" name="profile spectrum"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000080" name="universally unique identifier" value="9d501bdc53444916b7e97e795b02c856"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000091" name="ibd SHA-1" value="7e8fdb93053915d3edb51b70aa0619ac209964df"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000031" name="processed"/>
|
||||
</fileContent>
|
||||
<sourceFileList count="1">
|
||||
<sourceFile id="sf1" location="C:\Users\Thorsten Schramm\Documents\Promotion\imzML\Website\files\Beispiel-Dateien\Example images\" name="Example.raw">
|
||||
<cvParam cvRef="MS" accession="MS:1000563" name="Thermo RAW format"/>
|
||||
<cvParam cvRef="MS" accession="MS:1000768" name="Thermo nativeID format"/>
|
||||
<cvParam cvRef="MS" accession="MS:1000569" name="SHA-1" value="7623BE263B25FF99FDF017154B86FAB742D4BB0B"/>
|
||||
</sourceFile>
|
||||
</sourceFileList>
|
||||
<contact>
|
||||
<cvParam cvRef="MS" accession="MS:1000586" name="contact name" value="Thorsten Schramm"/>
|
||||
<cvParam cvRef="MS" accession="MS:1000590" name="contact affiliation" value="Institut für Anorganische und Analytische Chemie"/>
|
||||
<cvParam cvRef="MS" accession="MS:1000587" name="contact address" value="Schubertstraße 60, Haus 16, Gießen, Germany"/>
|
||||
<cvParam cvRef="MS" accession="MS:1000589" name="contact email" value="thorsten.schramm@anorg.chemie.uni-.giessen.de"/>
|
||||
</contact>
|
||||
</fileDescription>
|
||||
<referenceableParamGroupList count="4">
|
||||
<referenceableParamGroup id="mzArray">
|
||||
<cvParam cvRef="MS" accession="MS:1000576" name="no compression"/>
|
||||
<cvParam cvRef="MS" accession="MS:1000514" name="m/z array" unitCvRef="MS" unitAccession="MS:1000040" unitName="m/z"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000101" name="external data" value="true"/>
|
||||
<cvParam cvRef="MS" accession="MS:1000521" name="32-bit float"/>
|
||||
</referenceableParamGroup>
|
||||
<referenceableParamGroup id="intensityArray">
|
||||
<cvParam cvRef="MS" accession="MS:1000576" name="no compression"/>
|
||||
<cvParam cvRef="MS" accession="MS:1000515" name="intensity array" unitCvRef="MS" unitAccession="MS:1000131" unitName="number of detector counts"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000101" name="external data" value="true"/>
|
||||
<cvParam cvRef="MS" accession="MS:1000521" name="32-bit float"/>
|
||||
</referenceableParamGroup>
|
||||
<referenceableParamGroup id="scan1">
|
||||
<cvParam cvRef="MS" accession="MS:1000093" name="increasing m/z scan"/>
|
||||
<cvParam cvRef="MS" accession="MS:1000512" name="filter string" value="ITMS - p NSI Full ms [100,00-800,00]"/>
|
||||
</referenceableParamGroup>
|
||||
<referenceableParamGroup id="spectrum1">
|
||||
<cvParam cvRef="MS" accession="MS:1000579" name="MS1 spectrum"/>
|
||||
<cvParam cvRef="MS" accession="MS:1000511" name="ms level" value="0"/>
|
||||
<cvParam cvRef="MS" accession="MS:1000128" name="profile spectrum"/>
|
||||
<cvParam cvRef="MS" accession="MS:1000129" name="negative scan"/>
|
||||
</referenceableParamGroup>
|
||||
</referenceableParamGroupList>
|
||||
<sampleList count="1">
|
||||
<sample id="sample1" name="Sample1">
|
||||
<cvParam cvRef="MS" accession="MS:1000001" name="sample number" value="1"/>
|
||||
</sample>
|
||||
</sampleList>
|
||||
<softwareList count="2">
|
||||
<software id="Xcalibur" version="2.2">
|
||||
<cvParam cvRef="MS" accession="MS:1000532" name="Xcalibur"/>
|
||||
</software>
|
||||
<software id="TMC" version="1.1 beta">
|
||||
<cvParam cvRef="MS" accession="MS:1000799" name="custom unreleased software tool" value=""/>
|
||||
</software>
|
||||
</softwareList>
|
||||
<scanSettingsList count="1">
|
||||
<scanSettings id="scansettings1">
|
||||
<cvParam cvRef="IMS" accession="IMS:1000401" name="top down"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000413" name="flyback"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000480" name="horizontal line scan"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000491" name="linescan left right"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000042" name="max count of pixels x" value="3"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000043" name="max count of pixels y" value="3"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000044" name="max dimension x" value="300" unitCvRef="UO" unitAccession="UO:0000017" unitName="micrometer"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000045" name="max dimension y" value="300" unitCvRef="UO" unitAccession="UO:0000017" unitName="micrometer"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000046" name="pixel size (x)" value="100.0" unitCvRef="UO" unitAccession="UO:0000017" unitName="micrometer"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000047" name="pixel size y" value="100.0" unitCvRef="UO" unitAccession="UO:0000017" unitName="micrometer"/>
|
||||
</scanSettings>
|
||||
</scanSettingsList>
|
||||
<instrumentConfigurationList count="1">
|
||||
<instrumentConfiguration id="LTQFTUltra0">
|
||||
<cvParam cvRef="MS" accession="MS:1000557" name="LTQ FT Ultra"/>
|
||||
<cvParam cvRef="MS" accession="MS:1000529" name="instrument serial number" value="none"/>
|
||||
<componentList count="3">
|
||||
<source order="1">
|
||||
<cvParam cvRef="MS" accession="MS:1000073" name="electrospray ionization"/>
|
||||
<cvParam cvRef="MS" accession="MS:1000485" name="nanospray inlet"/>
|
||||
<cvParam cvRef="MS" accession="MS:1000844" name="focus diameter x" value="10.0"/>
|
||||
<cvParam cvRef="MS" accession="MS:1000845" name="focus diameter y" value="10.0"/>
|
||||
<cvParam cvRef="MS" accession="MS:1000846" name="pulse energy" value="10.0"/>
|
||||
<cvParam cvRef="MS" accession="MS:1000847" name="pulse duration" value="10.0"/>
|
||||
<cvParam cvRef="MS" accession="MS:1000848" name="attenuation" value="50.0"/>
|
||||
<cvParam cvRef="MS" accession="MS:1000850" name="gas laser"/>
|
||||
<cvParam cvRef="MS" accession="MS:1000836" name="dried droplet MALDI matrix preparation"/>
|
||||
<cvParam cvRef="MS" accession="MS:1000835" name="matrix solution concentration" value="10.0"/>
|
||||
<cvParam cvRef="MS" accession="MS:1000834" name="matrix solution" value="DHB"/>
|
||||
</source>
|
||||
<analyzer order="2">
|
||||
<cvParam cvRef="MS" accession="MS:1000264" name="ion trap"/>
|
||||
<cvParam cvRef="MS" accession="MS:1000014" name="accuracy" value="0.0" unitCvRef="MS" unitAccession="MS:1000040" unitName="m/z"/>
|
||||
</analyzer>
|
||||
<detector order="3">
|
||||
<cvParam cvRef="MS" accession="MS:1000253" name="electron multiplier"/>
|
||||
<cvParam cvRef="MS" accession="MS:1000120" name="transient recorder"/>
|
||||
</detector>
|
||||
</componentList>
|
||||
<softwareRef ref="Xcalibur"/>
|
||||
</instrumentConfiguration>
|
||||
</instrumentConfigurationList>
|
||||
<dataProcessingList count="2">
|
||||
<dataProcessing id="XcaliburProcessing">
|
||||
<processingMethod softwareRef="Xcalibur" order="1">
|
||||
<cvParam cvRef="MS" accession="MS:1000594" name="low intensity data point removal"/>
|
||||
</processingMethod>
|
||||
</dataProcessing>
|
||||
<dataProcessing id="TMCConversion">
|
||||
<processingMethod softwareRef="TMC" order="2">
|
||||
<cvParam cvRef="MS" accession="MS:1000544" name="Conversion to mzML"/>
|
||||
</processingMethod>
|
||||
</dataProcessing>
|
||||
</dataProcessingList>
|
||||
<run defaultInstrumentConfigurationRef="LTQFTUltra0" defaultSourceFileRef="sf1" id="Experiment01" sampleRef="sample1" startTimeStamp="2009-08-11T15:59:44">
|
||||
<spectrumList count="9" defaultDataProcessingRef="XcaliburProcessing">
|
||||
<spectrum id="Scan=1" defaultArrayLength="0" dataProcessingRef="XcaliburProcessing" sourceFileRef="sf1" index="0">
|
||||
<referenceableParamGroupRef ref="spectrum1"/>
|
||||
<cvParam cvRef="MS" accession="MS:1000285" name="total ion current" value="121.85039039868471"/>
|
||||
<scanList count="1">
|
||||
<cvParam cvRef="MS" accession="MS:1000795" name="no combination"/>
|
||||
<scan instrumentConfigurationRef="LTQFTUltra0">
|
||||
<referenceableParamGroupRef ref="scan1"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000050" name="position x" value="1"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000051" name="position y" value="1"/>
|
||||
</scan>
|
||||
</scanList>
|
||||
<binaryDataArrayList count="2">
|
||||
<binaryDataArray encodedLength="0">
|
||||
<referenceableParamGroupRef ref="mzArray"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="8399"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="16"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="33596"/>
|
||||
<binary />
|
||||
</binaryDataArray>
|
||||
<binaryDataArray encodedLength="0">
|
||||
<referenceableParamGroupRef ref="intensityArray"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="8399"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="33612"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="33596"/>
|
||||
<binary />
|
||||
</binaryDataArray>
|
||||
</binaryDataArrayList>
|
||||
</spectrum>
|
||||
<spectrum id="Scan=2" defaultArrayLength="0" dataProcessingRef="XcaliburProcessing" sourceFileRef="sf1" index="1">
|
||||
<referenceableParamGroupRef ref="spectrum1"/>
|
||||
<cvParam cvRef="MS" accession="MS:1000285" name="total ion current" value="182.31835420101888"/>
|
||||
<scanList count="1">
|
||||
<cvParam cvRef="MS" accession="MS:1000795" name="no combination"/>
|
||||
<scan instrumentConfigurationRef="LTQFTUltra0">
|
||||
<referenceableParamGroupRef ref="scan1"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000050" name="position x" value="2"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000051" name="position y" value="1"/>
|
||||
</scan>
|
||||
</scanList>
|
||||
<binaryDataArrayList count="2">
|
||||
<binaryDataArray encodedLength="0">
|
||||
<referenceableParamGroupRef ref="mzArray"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="8399"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="67208"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="33596"/>
|
||||
<binary />
|
||||
</binaryDataArray>
|
||||
<binaryDataArray encodedLength="0">
|
||||
<referenceableParamGroupRef ref="intensityArray"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="8399"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="100804"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="33596"/>
|
||||
<binary />
|
||||
</binaryDataArray>
|
||||
</binaryDataArrayList>
|
||||
</spectrum>
|
||||
<spectrum id="Scan=3" defaultArrayLength="0" dataProcessingRef="XcaliburProcessing" sourceFileRef="sf1" index="2">
|
||||
<referenceableParamGroupRef ref="spectrum1"/>
|
||||
<cvParam cvRef="MS" accession="MS:1000285" name="total ion current" value="161.8091904482675"/>
|
||||
<scanList count="1">
|
||||
<cvParam cvRef="MS" accession="MS:1000795" name="no combination"/>
|
||||
<scan instrumentConfigurationRef="LTQFTUltra0">
|
||||
<referenceableParamGroupRef ref="scan1"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000050" name="position x" value="3"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000051" name="position y" value="1"/>
|
||||
</scan>
|
||||
</scanList>
|
||||
<binaryDataArrayList count="2">
|
||||
<binaryDataArray encodedLength="0">
|
||||
<referenceableParamGroupRef ref="mzArray"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="8399"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="134400"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="33596"/>
|
||||
<binary />
|
||||
</binaryDataArray>
|
||||
<binaryDataArray encodedLength="0">
|
||||
<referenceableParamGroupRef ref="intensityArray"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="8399"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="167996"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="33596"/>
|
||||
<binary />
|
||||
</binaryDataArray>
|
||||
</binaryDataArrayList>
|
||||
</spectrum>
|
||||
<spectrum id="Scan=4" defaultArrayLength="0" dataProcessingRef="XcaliburProcessing" sourceFileRef="sf1" index="3">
|
||||
<referenceableParamGroupRef ref="spectrum1"/>
|
||||
<cvParam cvRef="MS" accession="MS:1000285" name="total ion current" value="200.9633277092539"/>
|
||||
<scanList count="1">
|
||||
<cvParam cvRef="MS" accession="MS:1000795" name="no combination"/>
|
||||
<scan instrumentConfigurationRef="LTQFTUltra0">
|
||||
<referenceableParamGroupRef ref="scan1"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000050" name="position x" value="1"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000051" name="position y" value="2"/>
|
||||
</scan>
|
||||
</scanList>
|
||||
<binaryDataArrayList count="2">
|
||||
<binaryDataArray encodedLength="0">
|
||||
<referenceableParamGroupRef ref="mzArray"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="8399"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="201592"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="33596"/>
|
||||
<binary />
|
||||
</binaryDataArray>
|
||||
<binaryDataArray encodedLength="0">
|
||||
<referenceableParamGroupRef ref="intensityArray"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="8399"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="235188"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="33596"/>
|
||||
<binary />
|
||||
</binaryDataArray>
|
||||
</binaryDataArrayList>
|
||||
</spectrum>
|
||||
<spectrum id="Scan=5" defaultArrayLength="0" dataProcessingRef="XcaliburProcessing" sourceFileRef="sf1" index="4">
|
||||
<referenceableParamGroupRef ref="spectrum1"/>
|
||||
<cvParam cvRef="MS" accession="MS:1000285" name="total ion current" value="135.30584173158496"/>
|
||||
<scanList count="1">
|
||||
<cvParam cvRef="MS" accession="MS:1000795" name="no combination"/>
|
||||
<scan instrumentConfigurationRef="LTQFTUltra0">
|
||||
<referenceableParamGroupRef ref="scan1"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000050" name="position x" value="2"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000051" name="position y" value="2"/>
|
||||
</scan>
|
||||
</scanList>
|
||||
<binaryDataArrayList count="2">
|
||||
<binaryDataArray encodedLength="0">
|
||||
<referenceableParamGroupRef ref="mzArray"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="8399"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="268784"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="33596"/>
|
||||
<binary />
|
||||
</binaryDataArray>
|
||||
<binaryDataArray encodedLength="0">
|
||||
<referenceableParamGroupRef ref="intensityArray"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="8399"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="302380"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="33596"/>
|
||||
<binary />
|
||||
</binaryDataArray>
|
||||
</binaryDataArrayList>
|
||||
</spectrum>
|
||||
<spectrum id="Scan=6" defaultArrayLength="0" dataProcessingRef="XcaliburProcessing" sourceFileRef="sf1" index="5">
|
||||
<referenceableParamGroupRef ref="spectrum1"/>
|
||||
<cvParam cvRef="MS" accession="MS:1000285" name="total ion current" value="108.39597418421639"/>
|
||||
<scanList count="1">
|
||||
<cvParam cvRef="MS" accession="MS:1000795" name="no combination"/>
|
||||
<scan instrumentConfigurationRef="LTQFTUltra0">
|
||||
<referenceableParamGroupRef ref="scan1"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000050" name="position x" value="3"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000051" name="position y" value="2"/>
|
||||
</scan>
|
||||
</scanList>
|
||||
<binaryDataArrayList count="2">
|
||||
<binaryDataArray encodedLength="0">
|
||||
<referenceableParamGroupRef ref="mzArray"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="8399"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="335976"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="33596"/>
|
||||
<binary />
|
||||
</binaryDataArray>
|
||||
<binaryDataArray encodedLength="0">
|
||||
<referenceableParamGroupRef ref="intensityArray"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="8399"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="369572"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="33596"/>
|
||||
<binary />
|
||||
</binaryDataArray>
|
||||
</binaryDataArrayList>
|
||||
</spectrum>
|
||||
<spectrum id="Scan=7" defaultArrayLength="0" dataProcessingRef="XcaliburProcessing" sourceFileRef="sf1" index="6">
|
||||
<referenceableParamGroupRef ref="spectrum1"/>
|
||||
<cvParam cvRef="MS" accession="MS:1000285" name="total ion current" value="127.84664447846832"/>
|
||||
<scanList count="1">
|
||||
<cvParam cvRef="MS" accession="MS:1000795" name="no combination"/>
|
||||
<scan instrumentConfigurationRef="LTQFTUltra0">
|
||||
<referenceableParamGroupRef ref="scan1"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000050" name="position x" value="1"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000051" name="position y" value="3"/>
|
||||
</scan>
|
||||
</scanList>
|
||||
<binaryDataArrayList count="2">
|
||||
<binaryDataArray encodedLength="0">
|
||||
<referenceableParamGroupRef ref="mzArray"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="8399"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="403168"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="33596"/>
|
||||
<binary />
|
||||
</binaryDataArray>
|
||||
<binaryDataArray encodedLength="0">
|
||||
<referenceableParamGroupRef ref="intensityArray"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="8399"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="436764"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="33596"/>
|
||||
<binary />
|
||||
</binaryDataArray>
|
||||
</binaryDataArrayList>
|
||||
</spectrum>
|
||||
<spectrum id="Scan=8" defaultArrayLength="0" dataProcessingRef="XcaliburProcessing" sourceFileRef="sf1" index="7">
|
||||
<referenceableParamGroupRef ref="spectrum1"/>
|
||||
<cvParam cvRef="MS" accession="MS:1000285" name="total ion current" value="168.27018147522492"/>
|
||||
<scanList count="1">
|
||||
<cvParam cvRef="MS" accession="MS:1000795" name="no combination"/>
|
||||
<scan instrumentConfigurationRef="LTQFTUltra0">
|
||||
<referenceableParamGroupRef ref="scan1"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000050" name="position x" value="2"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000051" name="position y" value="3"/>
|
||||
</scan>
|
||||
</scanList>
|
||||
<binaryDataArrayList count="2">
|
||||
<binaryDataArray encodedLength="0">
|
||||
<referenceableParamGroupRef ref="mzArray"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="8399"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="470360"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="33596"/>
|
||||
<binary />
|
||||
</binaryDataArray>
|
||||
<binaryDataArray encodedLength="0">
|
||||
<referenceableParamGroupRef ref="intensityArray"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="8399"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="503956"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="33596"/>
|
||||
<binary />
|
||||
</binaryDataArray>
|
||||
</binaryDataArrayList>
|
||||
</spectrum>
|
||||
<spectrum id="Scan=9" defaultArrayLength="0" dataProcessingRef="XcaliburProcessing" sourceFileRef="sf1" index="8">
|
||||
<referenceableParamGroupRef ref="spectrum1"/>
|
||||
<cvParam cvRef="MS" accession="MS:1000285" name="total ion current" value="243.5395066031077"/>
|
||||
<scanList count="1">
|
||||
<cvParam cvRef="MS" accession="MS:1000795" name="no combination"/>
|
||||
<scan instrumentConfigurationRef="LTQFTUltra0">
|
||||
<referenceableParamGroupRef ref="scan1"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000050" name="position x" value="3"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000051" name="position y" value="3"/>
|
||||
</scan>
|
||||
</scanList>
|
||||
<binaryDataArrayList count="2">
|
||||
<binaryDataArray encodedLength="0">
|
||||
<referenceableParamGroupRef ref="mzArray"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="8399"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="537552"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="33596"/>
|
||||
<binary />
|
||||
</binaryDataArray>
|
||||
<binaryDataArray encodedLength="0">
|
||||
<referenceableParamGroupRef ref="intensityArray"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="8399"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="571148"/>
|
||||
<cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="33596"/>
|
||||
<binary />
|
||||
</binaryDataArray>
|
||||
</binaryDataArrayList>
|
||||
</spectrum>
|
||||
</spectrumList>
|
||||
</run>
|
||||
</mzML>
|
||||
@@ -32,7 +32,7 @@ def find_datatype(registry, filename):
|
||||
|
||||
|
||||
def collect_test_data(registry):
|
||||
test_files = os.listdir(TEST_FILE_DIR)
|
||||
test_files = [f for f in os.listdir(TEST_FILE_DIR) if "." in f]
|
||||
files = [os.path.join(TEST_FILE_DIR, f) for f in test_files]
|
||||
datatypes = [find_datatype(registry, f) for f in test_files]
|
||||
uploadable = [datatype.file_ext in registry.upload_file_formats for datatype in datatypes]
|
||||
|
||||
@@ -10,4 +10,4 @@ from galaxy.util import galaxy_directory
|
||||
|
||||
def test_get_file_peek():
|
||||
# should get the first 5 lines of the file without a trailing newline character
|
||||
assert get_file_peek(os.path.join(galaxy_directory(), 'test-data/1.tabular'), line_wrap=False) == 'chr22\t1000\tNM_17\nchr22\t2000\tNM_18\nchr10\t2200\tNM_10\nchr10\thap\ttest\nchr10\t1200\tNM_11'
|
||||
assert get_file_peek(os.path.join(galaxy_directory(), 'test-data/1.tabular'), line_wrap=False) == 'chr22\t1000\tNM_17\nchr22\t2000\tNM_18\nchr10\t2200\tNM_10\nchr10\thap\ttest\nchr10\t1200\tNM_11\n'
|
||||
|
||||
@@ -0,0 +1,79 @@
|
||||
import tempfile
|
||||
|
||||
import pytest
|
||||
|
||||
from galaxy.datatypes.sniff import (
|
||||
convert_newlines,
|
||||
convert_newlines_sep2tabs,
|
||||
get_test_fname,
|
||||
)
|
||||
|
||||
|
||||
def assert_converts_to_1234_convert_sep2tabs(content, expected='1\t2\n3\t4\n'):
|
||||
with tempfile.NamedTemporaryFile(delete=False, mode='w') as tf:
|
||||
tf.write(content)
|
||||
rval = convert_newlines_sep2tabs(tf.name, tmp_prefix="gxtest", tmp_dir=tempfile.gettempdir())
|
||||
assert expected == open(tf.name).read()
|
||||
assert rval == (2, None), rval
|
||||
|
||||
|
||||
def assert_converts_to_1234_convert(content, block_size=1024):
|
||||
fname = get_test_fname('temp2.txt')
|
||||
with open(fname, 'w') as fh:
|
||||
fh.write(content)
|
||||
rval = convert_newlines(fname, tmp_prefix="gxtest", tmp_dir=tempfile.gettempdir(), block_size=block_size)
|
||||
actual_contents = open(fname).read()
|
||||
assert '1 2\n3 4\n' == actual_contents, actual_contents
|
||||
assert rval == (2, None), "rval != %s for %s" % (rval, content)
|
||||
|
||||
|
||||
@pytest.mark.parametrize('source,block_size', [
|
||||
("1 2\r3 4", None),
|
||||
("1 2\n3 4", None),
|
||||
("1 2\r\n3 4", None),
|
||||
("1 2\r3 4\r", None),
|
||||
("1 2\n3 4\n", None),
|
||||
("1 2\r\n3 4\r\n", None),
|
||||
("1 2\r3 4", 2),
|
||||
("1 2\n3 4", 2),
|
||||
("1 2\r\n3 4", 2),
|
||||
("1 2\r3 4\r", 2),
|
||||
("1 2\n3 4\n", 2),
|
||||
("1 2\r\n3 4\r\n", 2),
|
||||
("1 2\r3 4", 3),
|
||||
("1 2\n3 4", 3),
|
||||
("1 2\r\n3 4", 3),
|
||||
("1 2\r3 4\r", 3),
|
||||
("1 2\n3 4\n", 3),
|
||||
("1 2\r\n3 4\r\n", 3),
|
||||
])
|
||||
def test_convert_newlines(source, block_size):
|
||||
# Verify ends with newline - with or without that on inputs - for any of
|
||||
# \r \\n or \\r\\n newlines.
|
||||
if block_size:
|
||||
assert_converts_to_1234_convert(source, block_size)
|
||||
else:
|
||||
assert_converts_to_1234_convert(source)
|
||||
|
||||
|
||||
def test_convert_newlines_non_utf():
|
||||
fname = get_test_fname("dosimzml")
|
||||
rval = convert_newlines(fname, tmp_prefix="gxtest", tmp_dir=tempfile.gettempdir(), in_place=False)
|
||||
new_file = rval[1]
|
||||
assert open(new_file, "rb").read() == open(get_test_fname("1imzml"), "rb").read()
|
||||
|
||||
|
||||
@pytest.mark.parametrize('source,expected', [
|
||||
("1 2\n3 4\n", None),
|
||||
("1 2\n3 4\n", None),
|
||||
("1\t2\n3\t4\n", None),
|
||||
("1\t2\r3\t4\r", None),
|
||||
("1\t2\r\n3\t4\r\n", None),
|
||||
("1 2\r\n3 4\r\n", None),
|
||||
("1 2 \n3 4 \n", '1\t2\t\n3\t4\t\n'),
|
||||
])
|
||||
def test_convert_sep2tabs(source, expected):
|
||||
if expected:
|
||||
assert_converts_to_1234_convert_sep2tabs(source, expected=expected)
|
||||
else:
|
||||
assert_converts_to_1234_convert_sep2tabs(source)
|
||||
Reference in New Issue
Block a user