ISA-tools / mzml2isa

Parser to get meta information from mzML file and parse relevant information to a ISA-Tab structure
GNU General Public License v3.0
12 stars 6 forks source link

"Unknown" scan polarity prevents assay files from being created #29

Open khaug opened 7 years ago

khaug commented 7 years ago

if the scan polarity ends up being "n/a", the file cannot be written?


 input path: /net/isilonP/public/rw/homes/tc_cm01/metabolights/prod/studies/stage/private/MTBLS176/
output path: ./MTBLS176
Sample identifier:MTBLS176

/nfs/www-prod/web_hx2/cm/metabolights/software/mzml2isa/venv/lib/python2.7/site-packages/mzml2isa/utils.py:274: UserWarning: Could not use latest online IMS ontology, using local (version [u'0.9.1'])
  "using local (version {})".format(obo.meta['version']))
/nfs/www-prod/web_hx2/cm/metabolights/software/mzml2isa/venv/lib/python2.7/site-packages/mzml2isa/mzml.py:365: UserWarning: The instrument name in the mzML file (Thermo Exactive Orbitrap) does not correspond to the instrument accession (LTQ Orbitrap XL ETD)
  "does not correspond to the instrument accession ({})".format(self.obo[e.attrib['accession']].name)]))
Finished parsing: /net/isilonP/public/rw/homes/tc_cm01/metabolights/prod/studies/stage/private/MTBLS176/120TopL, 90TopR, 110BottomL, 100BottomR-centroid.imzML
Finished parsing: /net/isilonP/public/rw/homes/tc_cm01/metabolights/prod/studies/stage/private/MTBLS176/160TopL,130TopR,150BottomL,140BottomR-centroid.imzML
Finished parsing: /net/isilonP/public/rw/homes/tc_cm01/metabolights/prod/studies/stage/private/MTBLS176/200TopL, 170TopR, 190BottomL, 180BottomR-centroid.imzML
Finished parsing: /net/isilonP/public/rw/homes/tc_cm01/metabolights/prod/studies/stage/private/MTBLS176/240TopL, 210TopR, 230BottomL, 220BottomR-centroid.imzML
Finished parsing: /net/isilonP/public/rw/homes/tc_cm01/metabolights/prod/studies/stage/private/MTBLS176/280TopL, 250TopR, 270BottomL, 260BottomR-centroid.imzML
/nfs/www-prod/web_hx2/cm/metabolights/software/mzml2isa/venv/lib/python2.7/site-packages/mzml2isa/mzml.py:388: UserWarning: Instrument Bruker Daltonics flex series does not have a software tag.
  else '?'))
/nfs/www-prod/web_hx2/cm/metabolights/software/mzml2isa/venv/lib/python2.7/site-packages/mzml2isa/mzml.py:442: UserWarning: Could not find any metadata about Raw Spectral Data File.
  warnings.warn("Could not find any metadata about Raw Spectral Data File.")
Finished parsing: /net/isilonP/public/rw/homes/tc_cm01/metabolights/prod/studies/stage/private/MTBLS176/3DMouseKidney.imzML
Finished parsing: /net/isilonP/public/rw/homes/tc_cm01/metabolights/prod/studies/stage/private/MTBLS176/3D_Mouse_Pancreas.imzML
Finished parsing: /net/isilonP/public/rw/homes/tc_cm01/metabolights/prod/studies/stage/private/MTBLS176/3D_OSCC.imzML
Finished parsing: /net/isilonP/public/rw/homes/tc_cm01/metabolights/prod/studies/stage/private/MTBLS176/40TopL,10TopR,30BottomL,20BottomR-centroid.imzML
Finished parsing: /net/isilonP/public/rw/homes/tc_cm01/metabolights/prod/studies/stage/private/MTBLS176/80TopL, 50TopR, 70BottomL, 60BottomR-centroid.imzML
Finished parsing: /net/isilonP/public/rw/homes/tc_cm01/metabolights/prod/studies/stage/private/MTBLS176/Microbe_Interaction_3D_Timecourse_LP.imzML
Attempting to merge profile and centroid scans
Parsing mzML meta information into ISA-Tab structure
WARNING: The mzML files are derived from multiple instrument types, this can be problematicas the "platform" used in the ISAcreator typically uses 1 instrument type per assay,please check the Investigation output file to ensure the correct "platform" has been assignedto the correct assay file.
Traceback (most recent call last):
  File "/nfs/www-prod/web_hx2/cm/metabolights/software/mzml2isa/venv/bin/mzml2isa", line 9, in <module>
    load_entry_point('mzml2isa==0.5.2', 'console_scripts', 'mzml2isa')()
  File "/nfs/www-prod/web_hx2/cm/metabolights/software/mzml2isa/venv/lib/python2.7/site-packages/mzml2isa/parsing.py", line 224, in main
    jobs=args.jobs, template_directory=args.template_dir, OUT_dir=args.OUT_path
  File "/nfs/www-prod/web_hx2/cm/metabolights/software/mzml2isa/venv/lib/python2.7/site-packages/mzml2isa/parsing.py", line 171, in convert
    isa_tab.write(metalist, extension, split=split)
  File "/nfs/www-prod/web_hx2/cm/metabolights/software/mzml2isa/venv/lib/python2.7/site-packages/mzml2isa/isa.py", line 133, in write
    self.create_assay(metalist, h, d, split=split)
  File "/nfs/www-prod/web_hx2/cm/metabolights/software/mzml2isa/venv/lib/python2.7/site-packages/mzml2isa/isa.py", line 210, in create_assay
    with csv_wopen(new_a_path.format(polarity[:3].upper())) as a_out:
IOError: [Errno 2] No such file or directory: './MTBLS176/a_MTBLS176_N/A_metabolite_profiling_mass_spectrometry.txt'
Tomnl commented 7 years ago

Hi @khaug, what parameters were you using when you ran this?

Also what data files were you using? Just the standard ones in MTBLS176 (ftp://ftp.ebi.ac.uk/pub/databases/metabolights/studies/public/MTBLS176/)?

I am wondering if it we could just fix by changing polarity = {'name': "n/a", 'ref':'', 'accession':''} to just polarity = {'name': "na", 'ref':'', 'accession':''} (line 476 mzml.py)

althonos commented 7 years ago

@Tomnl : more than likely