Giter Site home page Giter Site logo

hic2cool's Introduction

hic2cool

Build Status

Converter between hic files (from juicer) and single-resolution or multi-resolution cool files (for cooler). Both hic and cool files describe Hi-C contact matrices. Intended to be lightweight, this can be used as an imported package or a stand-alone Python tool for command line conversion

The hic parsing code is based off the straw project by Neva C. Durand and Yue Wu. The hdf5-based structure used for cooler file writing is based off code from the cooler repository.

Important

  • Starting from version 0.8.0, hic2cool no longer supports Python 2.7.

  • If you converted a hic file using a version of hic2cool lower than 0.5.0, please update your cooler file with the new update function.

Using the Python package

$ pip install hic2cool

You can also download the code directly and install using Poetry (as of version 1.0.0)

$ poetry install

Once the package is installed, the main method is hic2cool_convert. It takes the same parameters as hic2cool.py, described in the next section. Example usage in a Python script is shown below or in test.py.

from hic2cool import hic2cool_convert
hic2cool_convert(<infile>, <outfile>, <resolution (optional)>, <nproc (optional)>, <warnings (optional)>, <silent (optional)>)

Converting files using the command line

The main use of hic2cool is converting between filetypes using hic2cool convert. If you install hic2cool itself using pip, you use it on the command line with:

$ hic2cool convert <infile> <outfile> -r <resolution> -p <nproc>

Arguments for hic2cool convert

infile is a .hic input file.

outfile is a .cool output file.

-r, or --resolution, is an integer bp resolution supported by the hic file. Please note that only resolutions contained within the original hic file can be used. If 0 is given, will use all resolutions to build a multi-resolution file. Default is 0.

-p, or --nproc, is the number of processes to use. Default 1. The multiprocessing is not very efficient and would slightly improve speed only for large high-resolution matrices.

-w, or --warnings, causes warnings to be explicitly printed to the console. This is false by default, though there are a few cases in which hic2cool will exit with an error based on the input hic file.

-s, or --silent, run in silent mode and hide console output from the program. Default false.

-v, or --version, print out hic2cool package version and exit.

-h, or --help, print out help about the package/specific run mode and exit.

Running hic2cool from the command line will cause some helpful information about the hic file to be printed to stdout unless the -s flag is used.

Output file structure

If you elect to use all resolutions, a multi-resolution .mcool file will be produced. This changes the hdf5 structure of the file from a typical .cool file. Namely, all of the information needed for a complete cooler file is stored in separate hdf5 groups named by the individual resolutions. The hdf5 hierarchy is organized as such:

File --> 'resolutions' --> '###' (where ### is the resolution in bp). For example, see the code below that generates a multi-res file and then accesses the specific resolution of 10000 bp.

from hic2cool import hic2cool_convert
import cooler
### using 0 triggers a multi-res output
hic2cool_convert('my_hic.hic', 'my_cool.cool', 0)
### will give you the cooler object with resolution = 10000 bp
my_cooler = cooler.Cooler('my_cool.cool::resolutions/10000')

When using only one resolution, the .cool file produced stores all the necessary information at the top level. Thus, organization in the multi-res format is not needed. The code below produces a file with one resolution, 10000 bp, and opens it with a cooler object.

from hic2cool import hic2cool_convert
import cooler
### giving a specific resolution below (e.g. 10000) triggers a single-res output
hic2cool_convert('my_hic.hic', 'my_cool.cool', 10000)
h5file = h5py.File('my_cool.cool', 'r')
### will give you the cooler object with resolution = 10000 bp
my_cooler = cooler.Cooler(h5file)

higlass

Multi-resolution coolers produced by hi2cool can be visualized using higlass. Please note that single resolution coolers are NOT higlass compatible (created when using a non-zero value for -r). If you created a cooler before hic2cool version 0.5.0 that you want to view in higlass, it is highly recommended that you upgrade it before viewing on higlass to ensure correct normalization behavior.

To apply the hic normalization transformations in higlass, right click on the tileset and do the following:

"<name of tileset>" --> "Configure Series" --> "Transforms" --> "<norm>"

higlass img

Updating hic2cool coolers

As of hic2cool version 0.5.0, there was a critical change in how hic normalization vectors are handled in the resulting cooler files. Prior to 0.5.0, hic normalization vectors were inverted by hic2cool. The rationale for doing this is that hic uses divisive normalization values, whereas cooler uses multiplicative values. However, higlass and the 4DN analysis pipelines specifically handled the divisive normalization values, so hic2cool now handles them the same way.

In the near future, there will be a cooler package release to correctly handle divisive hic normalization values when balancing.

To update a hic2cool cooler, simply run:

hic2cool update <infile> <outfile (optional)>

If you only provide the infile argument, then the cooler will be updated directly. If you provide an optional outfile file path, then a new cooler updated cooler file will be created and the original file will remain unchanged.

Extracting hic normalization values

As of hic2cool 0.5.0, you can easily extract hic normalization vectors to an existing cooler file. This will only work if the specified cooler file shares the resolutions found in the hic file. To do this, simply run:

hic2cool extract-norms <hic file> <cooler file>

You may also provide the optional -e flag, which will cause the mitchondrial chromosome to automatically be omitted from the extraction. This is found by name; the code specifically looks for one of ['M', 'MT', 'chrM', 'chrMT'] (in a case-insensitive way). Just like with hic2cool convert, you can also provide -s and -w arguments.

Changelog

1.0.1

  • Restore command line usage, adds missing README update

1.0.0

  • Switch to poetry, upgraded python, numpy, cooler versions, h5file I/O clean up, replace multiprocessing with `multiprocess'

0.8.3

  • Partial fix for zlib decompression issue.

0.8.2

  • loosened version for numpy, scipy and pandas.

0.8.1

  • setup.py takes dependencies directly from requirements.txt (requirements.txt updated to match setup.py)

0.8.0

  • multiprocessing support for convert
  • change in usage of convert API due to the addition of the nproc option
  • Python 2.7 is deprecated.

0.7.3

  • Pinned pandas==0.24.2 since newer versions deprecate python 2

0.7.2

  • Warning from hic2cool_utils.parse_hic will now output chromsome names, not indices

0.7.1

  • Add format and format-version to / collection for multi-resolution coolers written by hic2cool
  • Run hic2cool_update to add these attributes to mcool files generated with previous hic2cool versions
  • Fixed issue where datetime-derived metadata was written as bytestring when using python 2

0.7.0

  • Fixed package issues associated with python 2
  • Fixed issue where some cooler metadata was written as non-unicode when using python 2

0.6.1

  • Fixed input issue with hic2cool update when using python 2

0.6.0

  • Added format-version and storage-type to attributes of output cooler to get up-to-date with cooler schema v3
  • Run hic2cool update to add these attributes to files generated with previous hic2cool versions

0.5.1

Fixed packaging issue by adding MANIFEST.in and made some documentation/pypi edits

0.5.0

Large release that changes how hic2cool is run

  • hic2cool is now executed with hic2cool <mode>, where mode is one of: [convert, update, extract-norms]
  • Added two new modes: update (update coolers made by hic2cool based on version) and extract-norms (extract hic normalization vectors to pre-existing cooler file)
  • Removed old hic2cool_extractnorms script (this is now run with hic2cool extract-norms)
  • hic normalization vectors are NO LONGER INVERTED when added to output cooler for consistency with the 4DN omics processing pipeline and higlass
  • Missing hic normalization vectors are now represented by vectors of NaN (used to be vectors of zeros)
  • Improvement of help messages when running hic2cool and change around arguments for running the program
  • Test updates

0.4.2

  • Fixed issue where hic files could not be converted if they were missing normalization vectors

0.4.1

  • Fixed error in reading counts from hic files of version 6
  • Chromosome names are now directly taken from hic file (with exception of 'all')

0.4.0

Large patch, should fix most memory issues and improve runtimes:

  • Changed run parameters. Removed -n and -e; added -v (--version) and -w (--warnings)
  • Improved memory usage
  • Improved runtime (many thanks to Nezar Abdennur)
  • hic2cool now does a 'direct' conversion of files and does not fail on missing chr-chr contacts or missing normalization vectors. Finding these issues will cause warnings to be printed (controlled by -w flag)
  • No longer uses the 'weights' column, which is reserved for cooler
  • No longer takes a normalization type argument. All normalization vectors from the hic file are automatically added to the bins table in the output .cool
  • Many other minor bug fixes/code improvement

0.3.7

Fixed issue with bin1_offset not containing final entry (should be length nbins + 1).

0.3.6

Simple release to fix pip execution.

0.3.5

README updates, switched cooler syntax in test, and added helpful printing of hic file header info when using the command line tool.

0.3.4

Fixed issue where chromosome name was not getting properly set for 'All' vs 'all'.

0.3.3

Removed rounding fix. For now, allow py2 and py3 weights to have different number of significant figures (they're very close).

0.3.2

Changed output file structure for single resolution file. Resolved an issue where rounding for weights was different between python 2 and 3.

0.3.1

Added .travis.yml for automated testing. Changed command line running scheme. Python3 fix in hic2cool_utils.

0.3.0

Added multi-resolution format to output cool files. Setup argparse. Improved speed. Added tests for new resolutions format.

Contributors

Written by Carl Vitzthum (1), Nezar Abdennur (2), Soo Lee (1), and Peter Kerpedjiev (3).

(1) Park lab, Harvard Medical School DBMI

(2) Mirny lab, MIT

(3) Gehlenborg lab, Harvard Medical School DBMI

Originally published 1/26/17.

hic2cool's People

Contributors

alexander-veit avatar carlvitzthum avatar clarabakker avatar kelly-st-hri avatar nvictus avatar soolee avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

hic2cool's Issues

Type of start/end columns in cooler bins is int32

Not an issue at all, but something to have in mind for downstream processing:
cooler.bins()[:]-DataFrame ends up having np.int32 dtypes for start/end columns, which is different from a typical cooler file that one gets using cooler binning, it's int64 there. I'm not sure if there is a standard for that (@nvictus ?)

This, for example, lead to a tough to debug situation in our dot-calling script, as we were clustering start1 , start2 coordinates of a bunch of peaks and got an integer overflow error with some messed up clusters as a result.

ability to convert selected chromosomes

I am not sure if this is possible with the current release, but I would be really helpful to have the ability to convert to .cool only a subset of the genome, say a chromosome or a region. This would be great for testing purposes without having to work on the whole genome.

Preserve chromosome names from hic

Issue raised via email:

I am using your hic2cool pipeline and encountering an issue. I get the .cool file, but the chromosome names are different. My chr_size.txt file I used for generating hic file has names like chr1, chr2 and so on, but the cool file has names 1,2,3,.. etc. The 'chr' prefix from the name is missing. Can you suggest a way to preserve the original chromosome name in this conversion?

Will try to get OP to respond to this issue and investigate soon.

Multiprocessing Error

When I try to run hic2convert with more than one processor, I get the following error -

Traceback (most recent call last):
  File "/Users/aakashsur/.virtual/default/bin/hic2cool", line 8, in <module>
    sys.exit(main())
  File "/Users/aakashsur/.virtual/default/lib/python3.8/site-packages/hic2cool/__main__.py", line 86, in main
    hic2cool_convert(args.infile, args.outfile, args.resolution, args.nproc, args.warnings, args.silent)
  File "/Users/aakashsur/.virtual/default/lib/python3.8/site-packages/hic2cool/hic2cool_utils.py", line 936, in hic2cool_convert
    tmp_chunk = parse_hic(req, pool, nproc, chr_key, unit, binsize,
  File "/Users/aakashsur/.virtual/default/lib/python3.8/site-packages/hic2cool/hic2cool_utils.py", line 359, in parse_hic
    result_all.extend(mpi_result[mpi].get())
  File "/Users/aakashsur/.python/lib/python3.8/multiprocessing/pool.py", line 771, in get
    raise self._value
NameError: name 'reqarr' is not defined

It runs normally when I just have one processor.

hic2cool convert error with Juicer hic file

Hi!
I am working with Juicer hic file to convert cool format for matrix analysis. During converting, I have an error "buffer size must be a multiple of element size".
Do you have any recommendation to solve this?
Thanks.

hic2cool -v
hic2cool 0.7.3
$ hic2cool  convert  inter.hic  test.cool
Traceback (most recent call last):
  File "/home/wyim/miniconda3/envs/hic/bin/hic2cool", line 12, in <module>
    sys.exit(main())
  File "/home/wyim/miniconda3/envs/hic/lib/python3.7/site-packages/hic2cool/__main__.py", line 80, in main
    hic2cool_convert(args.infile, args.outfile, args.resolution, args.warnings, args.silent)
  File "/home/wyim/miniconda3/envs/hic/lib/python3.7/site-packages/hic2cool/hic2cool_utils.py", line 830, in hic2cool_convert
    pair_footer_info, expected, factors, norm_info = read_footer(req, buf, masteridx)
  File "/home/wyim/miniconda3/envs/hic/lib/python3.7/site-packages/hic2cool/hic2cool_utils.py", line 145, in read_footer
    offset=f.tell())
ValueError: buffer size must be a multiple of element size

hic2cool update

Hi, hic2cool update is not working for me (both specifying the output or not). The software ask yes/no for writing, but in both cases it raises an error. Here the error:

$ hic2cool -v
hic2cool 0.6.0

$ hic2cool update inter_30.mcool 
#########################
### hic2cool / update ###
#########################
### Info from input file
... File path: inter_30.mcool
... Found creation timestamp: 2019-05-03 at 16:07:31
... Found update timestamp: None
... Found resolutions: [u'10000', u'100000', u'1000000', u'25000', u'250000', u'2500000', u'5000', u'50000', u'500000']
... Found version: 0.5.1
... Target version: 0.6.0
### Updates found. Will upgrade hic2cool file to version 0.6.0
### This is what will change:
- Add cooler schema version
    - Effect: Add a couple important cooler schema attributes
    - Detail: Adds format-version and storage-mode attributes to hdf5 for compatibility with cooler schema v3.
### Will write to inter_30.mcool
### Continue? [y/n]
[y/n] y
Traceback (most recent call last):
  File "/bin/hic2cool", line 9, in <module>
    load_entry_point('hic2cool==0.6.0', 'console_scripts', 'hic2cool')()
  File "build/bdist.linux-x86_64/egg/hic2cool/__main__.py", line 82, in main
  File "build/bdist.linux-x86_64/egg/hic2cool/hic2cool_utils.py", line 1204, in hic2cool_update
  File "<string>", line 1, in <module>
NameError: name 'y' is not defined

Installation problem

Hi,

I'm having a hard time installing hic2cool. Pip fails:

pip install -e hic2cool/ 
DEPRECATION: Python 2.7 will reach the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 won't be maintained after that date. A future version of pip will drop support for Python 2.7.
Obtaining file:///home/fc464/software/HiCAssembler/hic2cool
    ERROR: Complete output from command python setup.py egg_info:
    ERROR: warning: build_py: byte-compiling is disabled, skipping.
    
    In file included from ext/_yaml.c:596:0:
    ext/_yaml.h:6:0: warning: "PyUnicode_FromString" redefined
     #define PyUnicode_FromString(s) PyUnicode_DecodeUTF8((s), strlen(s), "strict")
     ^
    In file included from /usr/local/software/spack/spack-0.11.2/opt/spack/linux-rhel7-x86_64/gcc-5.4.0/python-2.7.13-yubmrmnjlffovbkco3hpujao4asp6pyl/include/python2.7/Python.h:85:0,
                     from ext/_yaml.c:4:
    /usr/local/software/spack/spack-0.11.2/opt/spack/linux-rhel7-x86_64/gcc-5.4.0/python-2.7.13-yubmrmnjlffovbkco3hpujao4asp6pyl/include/python2.7/unicodeobject.h:194:0: note: this is the location of the previous definition
     # define PyUnicode_FromString PyUnicodeUCS2_FromString
     ^
    ext/_yaml.c: In function โ€˜__pyx_pf_5_yaml_get_version_stringโ€™:
    ext/_yaml.c:1888:17: warning: assignment discards โ€˜constโ€™ qualifier from pointer target type [-Wdiscarded-qualifiers]
       __pyx_v_value = yaml_get_version_string();
                     ^
    ext/_yaml.c: In function โ€˜__pyx_pf_5_yaml_7CParser___init__โ€™:
    ext/_yaml.c:3388:52: warning: passing argument 2 of โ€˜yaml_parser_set_inputโ€™ from incompatible pointer type [-Wincompatible-pointer-types]
         yaml_parser_set_input((&__pyx_v_self->parser), __pyx_f_5_yaml_input_handler, ((void *)__pyx_v_self));
                                                        ^
    In file included from ext/_yaml.h:2:0,
                     from ext/_yaml.c:596:
    /usr/include/yaml.h:1367:1: note: expected โ€˜int (*)(void *, unsigned char *, size_t,  size_t *) {aka int (*)(void *, unsigned char *, long unsigned int,  long unsigned int *)}โ€™ but argument is of type โ€˜int (*)(void *, char *, size_t,  size_t *) {aka int (*)(void *, char *, long unsigned int,  long unsigned int *)}โ€™
     yaml_parser_set_input(yaml_parser_t *parser,
     ^
    In file included from /usr/local/software/spack/spack-0.11.2/opt/spack/linux-rhel7-x86_64/gcc-5.4.0/python-2.7.13-yubmrmnjlffovbkco3hpujao4asp6pyl/include/python2.7/Python.h:94:0,
                     from ext/_yaml.c:4:
    /usr/local/software/spack/spack-0.11.2/opt/spack/linux-rhel7-x86_64/gcc-5.4.0/python-2.7.13-yubmrmnjlffovbkco3hpujao4asp6pyl/include/python2.7/stringobject.h:91:32: warning: pointer targets in passing argument 2 of โ€˜yaml_parser_set_input_stringโ€™ differ in signedness [-Wpointer-sign]
     #define PyString_AS_STRING(op) (((PyStringObject *)(op))->ob_sval)
                                    ^
    ext/_yaml.c:3629:59: note: in expansion of macro โ€˜PyString_AS_STRINGโ€™
         yaml_parser_set_input_string((&__pyx_v_self->parser), PyString_AS_STRING(__pyx_v_stream), PyString_GET_SIZE(__pyx_v_stream));
                                                               ^
    In file included from ext/_yaml.h:2:0,
                     from ext/_yaml.c:596:
    /usr/include/yaml.h:1341:1: note: expected โ€˜const unsigned char *โ€™ but argument is of type โ€˜char *โ€™
     yaml_parser_set_input_string(yaml_parser_t *parser,
     ^
    In file included from ext/_yaml.c:596:0:
    ext/_yaml.c: In function โ€˜__pyx_f_5_yaml_7CParser__token_to_objectโ€™:
    ext/_yaml.c:5463:38: warning: pointer targets in passing argument 1 of โ€˜strlenโ€™ differ in signedness [-Wpointer-sign]
         __pyx_t_2 = PyUnicode_FromString(__pyx_v_token->data.tag_directive.handle); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 417, __pyx_L1_error)
                                          ^
    ext/_yaml.h:6:66: note: in definition of macro โ€˜PyUnicode_FromStringโ€™
     #define PyUnicode_FromString(s) PyUnicode_DecodeUTF8((s), strlen(s), "strict")
                                                                      ^
    In file included from /usr/local/software/spack/spack-0.11.2/opt/spack/linux-rhel7-x86_64/gcc-5.4.0/python-2.7.13-yubmrmnjlffovbkco3hpujao4asp6pyl/include/python2.7/Python.h:38:0,
                     from ext/_yaml.c:4:
    /usr/include/string.h:395:15: note: expected โ€˜const char *โ€™ but argument is of type โ€˜yaml_char_t * {aka unsigned char *}โ€™
     extern size_t strlen (const char *__s)
                   ^
    In file included from ext/_yaml.c:596:0:
    ext/_yaml.h:6:54: warning: pointer targets in passing argument 1 of โ€˜PyUnicodeUCS2_DecodeUTF8โ€™ differ in signedness [-Wpointer-sign]
     #define PyUnicode_FromString(s) PyUnicode_DecodeUTF8((s), strlen(s), "strict")
                                                          ^
    ext/_yaml.c:5463:17: note: in expansion of macro โ€˜PyUnicode_FromStringโ€™
         __pyx_t_2 = PyUnicode_FromString(__pyx_v_token->data.tag_directive.handle); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 417, __pyx_L1_error)
                     ^
    In file included from /usr/local/software/spack/spack-0.11.2/opt/spack/linux-rhel7-x86_64/gcc-5.4.0/python-2.7.13-yubmrmnjlffovbkco3hpujao4asp6pyl/include/python2.7/Python.h:85:0,
                     from ext/_yaml.c:4:
    /usr/local/software/spack/spack-0.11.2/opt/spack/linux-rhel7-x86_64/gcc-5.4.0/python-2.7.13-yubmrmnjlffovbkco3hpujao4asp6pyl/include/python2.7/unicodeobject.h:174:31: note: expected โ€˜const char *โ€™ but argument is of type โ€˜yaml_char_t * {aka unsigned char *}โ€™
     # define PyUnicode_DecodeUTF8 PyUnicodeUCS2_DecodeUTF8
                                   ^
    /usr/local/software/spack/spack-0.11.2/opt/spack/linux-rhel7-x86_64/gcc-5.4.0/python-2.7.13-yubmrmnjlffovbkco3hpujao4asp6pyl/include/python2.7/unicodeobject.h:750:23: note: in expansion of macro โ€˜PyUnicode_DecodeUTF8โ€™
     PyAPI_FUNC(PyObject*) PyUnicode_DecodeUTF8(
                           ^
    In file included from ext/_yaml.c:596:0:
    ext/_yaml.c:5475:38: warning: pointer targets in passing argument 1 of โ€˜strlenโ€™ differ in signedness [-Wpointer-sign]
         __pyx_t_2 = PyUnicode_FromString(__pyx_v_token->data.tag_directive.prefix); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 418, __pyx_L1_error)
                                          ^
    ext/_yaml.h:6:66: note: in definition of macro โ€˜PyUnicode_FromStringโ€™
     #define PyUnicode_FromString(s) PyUnicode_DecodeUTF8((s), strlen(s), "strict")
                                                                      ^
    In file included from /usr/local/software/spack/spack-0.11.2/opt/spack/linux-rhel7-x86_64/gcc-5.4.0/python-2.7.13-yubmrmnjlffovbkco3hpujao4asp6pyl/include/python2.7/Python.h:38:0,
                     from ext/_yaml.c:4:
    /usr/include/string.h:395:15: note: expected โ€˜const char *โ€™ but argument is of type โ€˜yaml_char_t * {aka unsigned char *}โ€™
     extern size_t strlen (const char *__s)
                   ^
    In file included from ext/_yaml.c:596:0:
    ext/_yaml.h:6:54: warning: pointer targets in passing argument 1 of โ€˜PyUnicodeUCS2_DecodeUTF8โ€™ differ in signedness [-Wpointer-sign]
     #define PyUnicode_FromString(s) PyUnicode_DecodeUTF8((s), strlen(s), "strict")
                                                          ^
    ext/_yaml.c:5475:17: note: in expansion of macro โ€˜PyUnicode_FromStringโ€™
         __pyx_t_2 = PyUnicode_FromString(__pyx_v_token->data.tag_directive.prefix); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 418, __pyx_L1_error)
                     ^
    In file included from /usr/local/software/spack/spack-0.11.2/opt/spack/linux-rhel7-x86_64/gcc-5.4.0/python-2.7.13-yubmrmnjlffovbkco3hpujao4asp6pyl/include/python2.7/Python.h:85:0,
                     from ext/_yaml.c:4:
    /usr/local/software/spack/spack-0.11.2/opt/spack/linux-rhel7-x86_64/gcc-5.4.0/python-2.7.13-yubmrmnjlffovbkco3hpujao4asp6pyl/include/python2.7/unicodeobject.h:174:31: note: expected โ€˜const char *โ€™ but argument is of type โ€˜yaml_char_t * {aka unsigned char *}โ€™
     # define PyUnicode_DecodeUTF8 PyUnicodeUCS2_DecodeUTF8
                                   ^
    /usr/local/software/spack/spack-0.11.2/opt/spack/linux-rhel7-x86_64/gcc-5.4.0/python-2.7.13-yubmrmnjlffovbkco3hpujao4asp6pyl/include/python2.7/unicodeobject.h:750:23: note: in expansion of macro โ€˜PyUnicode_DecodeUTF8โ€™
     PyAPI_FUNC(PyObject*) PyUnicode_DecodeUTF8(
                           ^
    In file included from ext/_yaml.c:596:0:
    ext/_yaml.c:6477:38: warning: pointer targets in passing argument 1 of โ€˜strlenโ€™ differ in signedness [-Wpointer-sign]
         __pyx_t_2 = PyUnicode_FromString(__pyx_v_token->data.alias.value); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 448, __pyx_L1_error)
                                          ^
    ext/_yaml.h:6:66: note: in definition of macro โ€˜PyUnicode_FromStringโ€™
     #define PyUnicode_FromString(s) PyUnicode_DecodeUTF8((s), strlen(s), "strict")
                                                                      ^
    In file included from /usr/local/software/spack/spack-0.11.2/opt/spack/linux-rhel7-x86_64/gcc-5.4.0/python-2.7.13-yubmrmnjlffovbkco3hpujao4asp6pyl/include/python2.7/Python.h:38:0,
                     from ext/_yaml.c:4:
    /usr/include/string.h:395:15: note: expected โ€˜const char *โ€™ but argument is of type โ€˜yaml_char_t * {aka unsigned char *}โ€™
     extern size_t strlen (const char *__s)
                   ^
    In file included from ext/_yaml.c:596:0:
    ext/_yaml.h:6:54: warning: pointer targets in passing argument 1 of โ€˜PyUnicodeUCS2_DecodeUTF8โ€™ differ in signedness [-Wpointer-sign]
     #define PyUnicode_FromString(s) PyUnicode_DecodeUTF8((s), strlen(s), "strict")
                                                          ^
    ext/_yaml.c:6477:17: note: in expansion of macro โ€˜PyUnicode_FromStringโ€™
         __pyx_t_2 = PyUnicode_FromString(__pyx_v_token->data.alias.value); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 448, __pyx_L1_error)
                     ^
    In file included from /usr/local/software/spack/spack-0.11.2/opt/spack/linux-rhel7-x86_64/gcc-5.4.0/python-2.7.13-yubmrmnjlffovbkco3hpujao4asp6pyl/include/python2.7/Python.h:85:0,
                     from ext/_yaml.c:4:
    /usr/local/software/spack/spack-0.11.2/opt/spack/linux-rhel7-x86_64/gcc-5.4.0/python-2.7.13-yubmrmnjlffovbkco3hpujao4asp6pyl/include/python2.7/unicodeobject.h:174:31: note: expected โ€˜const char *โ€™ but argument is of type โ€˜yaml_char_t * {aka unsigned char *}โ€™
     # define PyUnicode_DecodeUTF8 PyUnicodeUCS2_DecodeUTF8
                                   ^
    /usr/local/software/spack/spack-0.11.2/opt/spack/linux-rhel7-x86_64/gcc-5.4.0/python-2.7.13-yubmrmnjlffovbkco3hpujao4asp6pyl/include/python2.7/unicodeobject.h:750:23: note: in expansion of macro โ€˜PyUnicode_DecodeUTF8โ€™
     PyAPI_FUNC(PyObject*) PyUnicode_DecodeUTF8(
                           ^
    In file included from ext/_yaml.c:596:0:
    ext/_yaml.c:6561:38: warning: pointer targets in passing argument 1 of โ€˜strlenโ€™ differ in signedness [-Wpointer-sign]
         __pyx_t_2 = PyUnicode_FromString(__pyx_v_token->data.anchor.value); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 451, __pyx_L1_error)
                                          ^
    ext/_yaml.h:6:66: note: in definition of macro โ€˜PyUnicode_FromStringโ€™
     #define PyUnicode_FromString(s) PyUnicode_DecodeUTF8((s), strlen(s), "strict")
                                                                      ^
    In file included from /usr/local/software/spack/spack-0.11.2/opt/spack/linux-rhel7-x86_64/gcc-5.4.0/python-2.7.13-yubmrmnjlffovbkco3hpujao4asp6pyl/include/python2.7/Python.h:38:0,
                     from ext/_yaml.c:4:
    /usr/include/string.h:395:15: note: expected โ€˜const char *โ€™ but argument is of type โ€˜yaml_char_t * {aka unsigned char *}โ€™
     extern size_t strlen (const char *__s)
                   ^
    In file included from ext/_yaml.c:596:0:
    ext/_yaml.h:6:54: warning: pointer targets in passing argument 1 of โ€˜PyUnicodeUCS2_DecodeUTF8โ€™ differ in signedness [-Wpointer-sign]
     #define PyUnicode_FromString(s) PyUnicode_DecodeUTF8((s), strlen(s), "strict")
                                                          ^
    ext/_yaml.c:6561:17: note: in expansion of macro โ€˜PyUnicode_FromStringโ€™
         __pyx_t_2 = PyUnicode_FromString(__pyx_v_token->data.anchor.value); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 451, __pyx_L1_error)
                     ^
    In file included from /usr/local/software/spack/spack-0.11.2/opt/spack/linux-rhel7-x86_64/gcc-5.4.0/python-2.7.13-yubmrmnjlffovbkco3hpujao4asp6pyl/include/python2.7/Python.h:85:0,
                     from ext/_yaml.c:4:
    /usr/local/software/spack/spack-0.11.2/opt/spack/linux-rhel7-x86_64/gcc-5.4.0/python-2.7.13-yubmrmnjlffovbkco3hpujao4asp6pyl/include/python2.7/unicodeobject.h:174:31: note: expected โ€˜const char *โ€™ but argument is of type โ€˜yaml_char_t * {aka unsigned char *}โ€™
     # define PyUnicode_DecodeUTF8 PyUnicodeUCS2_DecodeUTF8
                                   ^
    /usr/local/software/spack/spack-0.11.2/opt/spack/linux-rhel7-x86_64/gcc-5.4.0/python-2.7.13-yubmrmnjlffovbkco3hpujao4asp6pyl/include/python2.7/unicodeobject.h:750:23: note: in expansion of macro โ€˜PyUnicode_DecodeUTF8โ€™
     PyAPI_FUNC(PyObject*) PyUnicode_DecodeUTF8(
                           ^
    In file included from ext/_yaml.c:596:0:
    ext/_yaml.c:6645:38: warning: pointer targets in passing argument 1 of โ€˜strlenโ€™ differ in signedness [-Wpointer-sign]
         __pyx_t_2 = PyUnicode_FromString(__pyx_v_token->data.tag.handle); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 454, __pyx_L1_error)
                                          ^
    ext/_yaml.h:6:66: note: in definition of macro โ€˜PyUnicode_FromStringโ€™
     #define PyUnicode_FromString(s) PyUnicode_DecodeUTF8((s), strlen(s), "strict")
                                                                      ^
    In file included from /usr/local/software/spack/spack-0.11.2/opt/spack/linux-rhel7-x86_64/gcc-5.4.0/python-2.7.13-yubmrmnjlffovbkco3hpujao4asp6pyl/include/python2.7/Python.h:38:0,
                     from ext/_yaml.c:4:
    /usr/include/string.h:395:15: note: expected โ€˜const char *โ€™ but argument is of type โ€˜yaml_char_t * {aka unsigned char *}โ€™
     extern size_t strlen (const char *__s)
                   ^
    In file included from ext/_yaml.c:596:0:
    ext/_yaml.h:6:54: warning: pointer targets in passing argument 1 of โ€˜PyUnicodeUCS2_DecodeUTF8โ€™ differ in signedness [-Wpointer-sign]
     #define PyUnicode_FromString(s) PyUnicode_DecodeUTF8((s), strlen(s), "strict")
                                                          ^
    ext/_yaml.c:6645:17: note: in expansion of macro โ€˜PyUnicode_FromStringโ€™
         __pyx_t_2 = PyUnicode_FromString(__pyx_v_token->data.tag.handle); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 454, __pyx_L1_error)
                     ^
    In file included from /usr/local/software/spack/spack-0.11.2/opt/spack/linux-rhel7-x86_64/gcc-5.4.0/python-2.7.13-yubmrmnjlffovbkco3hpujao4asp6pyl/include/python2.7/Python.h:85:0,
                     from ext/_yaml.c:4:
    /usr/local/software/spack/spack-0.11.2/opt/spack/linux-rhel7-x86_64/gcc-5.4.0/python-2.7.13-yubmrmnjlffovbkco3hpujao4asp6pyl/include/python2.7/unicodeobject.h:174:31: note: expected โ€˜const char *โ€™ but argument is of type โ€˜yaml_char_t * {aka unsigned char *}โ€™
     # define PyUnicode_DecodeUTF8 PyUnicodeUCS2_DecodeUTF8
                                   ^
    /usr/local/software/spack/spack-0.11.2/opt/spack/linux-rhel7-x86_64/gcc-5.4.0/python-2.7.13-yubmrmnjlffovbkco3hpujao4asp6pyl/include/python2.7/unicodeobject.h:750:23: note: in expansion of macro โ€˜PyUnicode_DecodeUTF8โ€™
     PyAPI_FUNC(PyObject*) PyUnicode_DecodeUTF8(
                           ^
    In file included from ext/_yaml.c:596:0:
    ext/_yaml.c:6657:38: warning: pointer targets in passing argument 1 of โ€˜strlenโ€™ differ in signedness [-Wpointer-sign]
         __pyx_t_2 = PyUnicode_FromString(__pyx_v_token->data.tag.suffix); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 455, __pyx_L1_error)
                                          ^
    ext/_yaml.h:6:66: note: in definition of macro โ€˜PyUnicode_FromStringโ€™
     #define PyUnicode_FromString(s) PyUnicode_DecodeUTF8((s), strlen(s), "strict")
                                                                      ^
    In file included from /usr/local/software/spack/spack-0.11.2/opt/spack/linux-rhel7-x86_64/gcc-5.4.0/python-2.7.13-yubmrmnjlffovbkco3hpujao4asp6pyl/include/python2.7/Python.h:38:0,
                     from ext/_yaml.c:4:
    /usr/include/string.h:395:15: note: expected โ€˜const char *โ€™ but argument is of type โ€˜yaml_char_t * {aka unsigned char *}โ€™
     extern size_t strlen (const char *__s)
                   ^
    In file included from ext/_yaml.c:596:0:
    ext/_yaml.h:6:54: warning: pointer targets in passing argument 1 of โ€˜PyUnicodeUCS2_DecodeUTF8โ€™ differ in signedness [-Wpointer-sign]
     #define PyUnicode_FromString(s) PyUnicode_DecodeUTF8((s), strlen(s), "strict")
                                                          ^
    ext/_yaml.c:6657:17: note: in expansion of macro โ€˜PyUnicode_FromStringโ€™
         __pyx_t_2 = PyUnicode_FromString(__pyx_v_token->data.tag.suffix); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 455, __pyx_L1_error)
                     ^
    In file included from /usr/local/software/spack/spack-0.11.2/opt/spack/linux-rhel7-x86_64/gcc-5.4.0/python-2.7.13-yubmrmnjlffovbkco3hpujao4asp6pyl/include/python2.7/Python.h:85:0,
                     from ext/_yaml.c:4:
    /usr/local/software/spack/spack-0.11.2/opt/spack/linux-rhel7-x86_64/gcc-5.4.0/python-2.7.13-yubmrmnjlffovbkco3hpujao4asp6pyl/include/python2.7/unicodeobject.h:174:31: note: expected โ€˜const char *โ€™ but argument is of type โ€˜yaml_char_t * {aka unsigned char *}โ€™
     # define PyUnicode_DecodeUTF8 PyUnicodeUCS2_DecodeUTF8
                                   ^
    /usr/local/software/spack/spack-0.11.2/opt/spack/linux-rhel7-x86_64/gcc-5.4.0/python-2.7.13-yubmrmnjlffovbkco3hpujao4asp6pyl/include/python2.7/unicodeobject.h:750:23: note: in expansion of macro โ€˜PyUnicode_DecodeUTF8โ€™
     PyAPI_FUNC(PyObject*) PyUnicode_DecodeUTF8(
                           ^
    ext/_yaml.c:6781:38: warning: pointer targets in passing argument 1 of โ€˜PyUnicodeUCS2_DecodeUTF8โ€™ differ in signedness [-Wpointer-sign]
         __pyx_t_2 = PyUnicode_DecodeUTF8(__pyx_v_token->data.scalar.value, __pyx_v_token->data.scalar.length, ((char *)"strict")); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 460, __pyx_L1_error)
                                          ^
    In file included from /usr/local/software/spack/spack-0.11.2/opt/spack/linux-rhel7-x86_64/gcc-5.4.0/python-2.7.13-yubmrmnjlffovbkco3hpujao4asp6pyl/include/python2.7/Python.h:85:0,
                     from ext/_yaml.c:4:
    /usr/local/software/spack/spack-0.11.2/opt/spack/linux-rhel7-x86_64/gcc-5.4.0/python-2.7.13-yubmrmnjlffovbkco3hpujao4asp6pyl/include/python2.7/unicodeobject.h:174:31: note: expected โ€˜const char *โ€™ but argument is of type โ€˜yaml_char_t * {aka unsigned char *}โ€™
     # define PyUnicode_DecodeUTF8 PyUnicodeUCS2_DecodeUTF8
                                   ^
    /usr/local/software/spack/spack-0.11.2/opt/spack/linux-rhel7-x86_64/gcc-5.4.0/python-2.7.13-yubmrmnjlffovbkco3hpujao4asp6pyl/include/python2.7/unicodeobject.h:750:23: note: in expansion of macro โ€˜PyUnicode_DecodeUTF8โ€™
     PyAPI_FUNC(PyObject*) PyUnicode_DecodeUTF8(
                           ^
    In file included from ext/_yaml.c:596:0:
    ext/_yaml.c: In function โ€˜__pyx_f_5_yaml_7CParser__event_to_objectโ€™:
    ext/_yaml.c:8462:42: warning: pointer targets in passing argument 1 of โ€˜strlenโ€™ differ in signedness [-Wpointer-sign]
             __pyx_t_4 = PyUnicode_FromString(__pyx_v_tag_directive->handle); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 574, __pyx_L1_error)
                                              ^
    ext/_yaml.h:6:66: note: in definition of macro โ€˜PyUnicode_FromStringโ€™
     #define PyUnicode_FromString(s) PyUnicode_DecodeUTF8((s), strlen(s), "strict")
                                                                      ^
    In file included from /usr/local/software/spack/spack-0.11.2/opt/spack/linux-rhel7-x86_64/gcc-5.4.0/python-2.7.13-yubmrmnjlffovbkco3hpujao4asp6pyl/include/python2.7/Python.h:38:0,
                     from ext/_yaml.c:4:
    /usr/include/string.h:395:15: note: expected โ€˜const char *โ€™ but argument is of type โ€˜yaml_char_t * {aka unsigned char *}โ€™
     extern size_t strlen (const char *__s)
                   ^
    In file included from ext/_yaml.c:596:0:
    ext/_yaml.h:6:54: warning: pointer targets in passing argument 1 of โ€˜PyUnicodeUCS2_DecodeUTF8โ€™ differ in signedness [-Wpointer-sign]
     #define PyUnicode_FromString(s) PyUnicode_DecodeUTF8((s), strlen(s), "strict")
                                                          ^
    ext/_yaml.c:8462:21: note: in expansion of macro โ€˜PyUnicode_FromStringโ€™
             __pyx_t_4 = PyUnicode_FromString(__pyx_v_tag_directive->handle); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 574, __pyx_L1_error)
                         ^
    In file included from /usr/local/software/spack/spack-0.11.2/opt/spack/linux-rhel7-x86_64/gcc-5.4.0/python-2.7.13-yubmrmnjlffovbkco3hpujao4asp6pyl/include/python2.7/Python.h:85:0,
                     from ext/_yaml.c:4:
    /usr/local/software/spack/spack-0.11.2/opt/spack/linux-rhel7-x86_64/gcc-5.4.0/python-2.7.13-yubmrmnjlffovbkco3hpujao4asp6pyl/include/python2.7/unicodeobject.h:174:31: note: expected โ€˜const char *โ€™ but argument is of type โ€˜yaml_char_t * {aka unsigned char *}โ€™
     # define PyUnicode_DecodeUTF8 PyUnicodeUCS2_DecodeUTF8
                                   ^
    /usr/local/software/spack/spack-0.11.2/opt/spack/linux-rhel7-x86_64/gcc-5.4.0/python-2.7.13-yubmrmnjlffovbkco3hpujao4asp6pyl/include/python2.7/unicodeobject.h:750:23: note: in expansion of macro โ€˜PyUnicode_DecodeUTF8โ€™
     PyAPI_FUNC(PyObject*) PyUnicode_DecodeUTF8(
                           ^
    In file included from ext/_yaml.c:596:0:
    ext/_yaml.c:8474:42: warning: pointer targets in passing argument 1 of โ€˜strlenโ€™ differ in signedness [-Wpointer-sign]
             __pyx_t_4 = PyUnicode_FromString(__pyx_v_tag_directive->prefix); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 575, __pyx_L1_error)
                                              ^
    ext/_yaml.h:6:66: note: in definition of macro โ€˜PyUnicode_FromStringโ€™
     #define PyUnicode_FromString(s) PyUnicode_DecodeUTF8((s), strlen(s), "strict")
                                                                      ^
    In file included from /usr/local/software/spack/spack-0.11.2/opt/spack/linux-rhel7-x86_64/gcc-5.4.0/python-2.7.13-yubmrmnjlffovbkco3hpujao4asp6pyl/include/python2.7/Python.h:38:0,
                     from ext/_yaml.c:4:
    /usr/include/string.h:395:15: note: expected โ€˜const char *โ€™ but argument is of type โ€˜yaml_char_t * {aka unsigned char *}โ€™
     extern size_t strlen (const char *__s)
                   ^
    In file included from ext/_yaml.c:596:0:
    ext/_yaml.h:6:54: warning: pointer targets in passing argument 1 of โ€˜PyUnicodeUCS2_DecodeUTF8โ€™ differ in signedness [-Wpointer-sign]
     #define PyUnicode_FromString(s) PyUnicode_DecodeUTF8((s), strlen(s), "strict")
                                                          ^
    ext/_yaml.c:8474:21: note: in expansion of macro โ€˜PyUnicode_FromStringโ€™
             __pyx_t_4 = PyUnicode_FromString(__pyx_v_tag_directive->prefix); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 575, __pyx_L1_error)
                         ^
    In file included from /usr/local/software/spack/spack-0.11.2/opt/spack/linux-rhel7-x86_64/gcc-5.4.0/python-2.7.13-yubmrmnjlffovbkco3hpujao4asp6pyl/include/python2.7/Python.h:85:0,
                     from ext/_yaml.c:4:
    /usr/local/software/spack/spack-0.11.2/opt/spack/linux-rhel7-x86_64/gcc-5.4.0/python-2.7.13-yubmrmnjlffovbkco3hpujao4asp6pyl/include/python2.7/unicodeobject.h:174:31: note: expected โ€˜const char *โ€™ but argument is of type โ€˜yaml_char_t * {aka unsigned char *}โ€™
     # define PyUnicode_DecodeUTF8 PyUnicodeUCS2_DecodeUTF8
                                   ^
    /usr/local/software/spack/spack-0.11.2/opt/spack/linux-rhel7-x86_64/gcc-5.4.0/python-2.7.13-yubmrmnjlffovbkco3hpujao4asp6pyl/include/python2.7/unicodeobject.h:750:23: note: in expansion of macro โ€˜PyUnicode_DecodeUTF8โ€™
     PyAPI_FUNC(PyObject*) PyUnicode_DecodeUTF8(
                           ^
    In file included from ext/_yaml.c:596:0:
    ext/_yaml.c:8717:38: warning: pointer targets in passing argument 1 of โ€˜strlenโ€™ differ in signedness [-Wpointer-sign]
         __pyx_t_4 = PyUnicode_FromString(__pyx_v_event->data.alias.anchor); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 586, __pyx_L1_error)
                                          ^
    ext/_yaml.h:6:66: note: in definition of macro โ€˜PyUnicode_FromStringโ€™
     #define PyUnicode_FromString(s) PyUnicode_DecodeUTF8((s), strlen(s), "strict")
                                                                      ^
    In file included from /usr/local/software/spack/spack-0.11.2/opt/spack/linux-rhel7-x86_64/gcc-5.4.0/python-2.7.13-yubmrmnjlffovbkco3hpujao4asp6pyl/include/python2.7/Python.h:38:0,
                     from ext/_yaml.c:4:
    /usr/include/string.h:395:15: note: expected โ€˜const char *โ€™ but argument is of type โ€˜yaml_char_t * {aka unsigned char *}โ€™
     extern size_t strlen (const char *__s)
                   ^
    In file included from ext/_yaml.c:596:0:
    ext/_yaml.h:6:54: warning: pointer targets in passing argument 1 of โ€˜PyUnicodeUCS2_DecodeUTF8โ€™ differ in signedness [-Wpointer-sign]
     #define PyUnicode_FromString(s) PyUnicode_DecodeUTF8((s), strlen(s), "strict")
                                                          ^
    ext/_yaml.c:8717:17: note: in expansion of macro โ€˜PyUnicode_FromStringโ€™
         __pyx_t_4 = PyUnicode_FromString(__pyx_v_event->data.alias.anchor); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 586, __pyx_L1_error)
                     ^
    In file included from /usr/local/software/spack/spack-0.11.2/opt/spack/linux-rhel7-x86_64/gcc-5.4.0/python-2.7.13-yubmrmnjlffovbkco3hpujao4asp6pyl/include/python2.7/Python.h:85:0,
                     from ext/_yaml.c:4:
    /usr/local/software/spack/spack-0.11.2/opt/spack/linux-rhel7-x86_64/gcc-5.4.0/python-2.7.13-yubmrmnjlffovbkco3hpujao4asp6pyl/include/python2.7/unicodeobject.h:174:31: note: expected โ€˜const char *โ€™ but argument is of type โ€˜yaml_char_t * {aka unsigned char *}โ€™
     # define PyUnicode_DecodeUTF8 PyUnicodeUCS2_DecodeUTF8
                                   ^
    /usr/local/software/spack/spack-0.11.2/opt/spack/linux-rhel7-x86_64/gcc-5.4.0/python-2.7.13-yubmrmnjlffovbkco3hpujao4asp6pyl/include/python2.7/unicodeobject.h:750:23: note: in expansion of macro โ€˜PyUnicode_DecodeUTF8โ€™
     PyAPI_FUNC(PyObject*) PyUnicode_DecodeUTF8(
                           ^
    In file included from ext/_yaml.c:596:0:
    ext/_yaml.c:8821:40: warning: pointer targets in passing argument 1 of โ€˜strlenโ€™ differ in signedness [-Wpointer-sign]
           __pyx_t_4 = PyUnicode_FromString(__pyx_v_event->data.scalar.anchor); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 591, __pyx_L1_error)
                                            ^
    ext/_yaml.h:6:66: note: in definition of macro โ€˜PyUnicode_FromStringโ€™
     #define PyUnicode_FromString(s) PyUnicode_DecodeUTF8((s), strlen(s), "strict")
                                                                      ^
    In file included from /usr/local/software/spack/spack-0.11.2/opt/spack/linux-rhel7-x86_64/gcc-5.4.0/python-2.7.13-yubmrmnjlffovbkco3hpujao4asp6pyl/include/python2.7/Python.h:38:0,
                     from ext/_yaml.c:4:
    /usr/include/string.h:395:15: note: expected โ€˜const char *โ€™ but argument is of type โ€˜yaml_char_t * {aka unsigned char *}โ€™
     extern size_t strlen (const char *__s)
                   ^
    In file included from ext/_yaml.c:596:0:
    ext/_yaml.h:6:54: warning: pointer targets in passing argument 1 of โ€˜PyUnicodeUCS2_DecodeUTF8โ€™ differ in signedness [-Wpointer-sign]
     #define PyUnicode_FromString(s) PyUnicode_DecodeUTF8((s), strlen(s), "strict")
                                                          ^
    ext/_yaml.c:8821:19: note: in expansion of macro โ€˜PyUnicode_FromStringโ€™
           __pyx_t_4 = PyUnicode_FromString(__pyx_v_event->data.scalar.anchor); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 591, __pyx_L1_error)
                       ^
    In file included from /usr/local/software/spack/spack-0.11.2/opt/spack/linux-rhel7-x86_64/gcc-5.4.0/python-2.7.13-yubmrmnjlffovbkco3hpujao4asp6pyl/include/python2.7/Python.h:85:0,
                     from ext/_yaml.c:4:
    /usr/local/software/spack/spack-0.11.2/opt/spack/linux-rhel7-x86_64/gcc-5.4.0/python-2.7.13-yubmrmnjlffovbkco3hpujao4asp6pyl/include/python2.7/unicodeobject.h:174:31: note: expected โ€˜const char *โ€™ but argument is of type โ€˜yaml_char_t * {aka unsigned char *}โ€™
     # define PyUnicode_DecodeUTF8 PyUnicodeUCS2_DecodeUTF8
                                   ^
    /usr/local/software/spack/spack-0.11.2/opt/spack/linux-rhel7-x86_64/gcc-5.4.0/python-2.7.13-yubmrmnjlffovbkco3hpujao4asp6pyl/include/python2.7/unicodeobject.h:750:23: note: in expansion of macro โ€˜PyUnicode_DecodeUTF8โ€™
     PyAPI_FUNC(PyObject*) PyUnicode_DecodeUTF8(
                           ^
    In file included from ext/_yaml.c:596:0:
    ext/_yaml.c:8862:40: warning: pointer targets in passing argument 1 of โ€˜strlenโ€™ differ in signedness [-Wpointer-sign]
           __pyx_t_4 = PyUnicode_FromString(__pyx_v_event->data.scalar.tag); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 594, __pyx_L1_error)
                                            ^
    ext/_yaml.h:6:66: note: in definition of macro โ€˜PyUnicode_FromStringโ€™
     #define PyUnicode_FromString(s) PyUnicode_DecodeUTF8((s), strlen(s), "strict")
                                                                      ^
    In file included from /usr/local/software/spack/spack-0.11.2/opt/spack/linux-rhel7-x86_64/gcc-5.4.0/python-2.7.13-yubmrmnjlffovbkco3hpujao4asp6pyl/include/python2.7/Python.h:38:0,
                     from ext/_yaml.c:4:
    /usr/include/string.h:395:15: note: expected โ€˜const char *โ€™ but argument is of type โ€˜yaml_char_t * {aka unsigned char *}โ€™
     extern size_t strlen (const char *__s)
                   ^
    In file included from ext/_yaml.c:596:0:
    ext/_yaml.h:6:54: warning: pointer targets in passing argument 1 of โ€˜PyUnicodeUCS2_DecodeUTF8โ€™ differ in signedness [-Wpointer-sign]
     #define PyUnicode_FromString(s) PyUnicode_DecodeUTF8((s), strlen(s), "strict")
                                                          ^
    ext/_yaml.c:8862:19: note: in expansion of macro โ€˜PyUnicode_FromStringโ€™
           __pyx_t_4 = PyUnicode_FromString(__pyx_v_event->data.scalar.tag); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 594, __pyx_L1_error)
                       ^
    In file included from /usr/local/software/spack/spack-0.11.2/opt/spack/linux-rhel7-x86_64/gcc-5.4.0/python-2.7.13-yubmrmnjlffovbkco3hpujao4asp6pyl/include/python2.7/Python.h:85:0,
                     from ext/_yaml.c:4:
    /usr/local/software/spack/spack-0.11.2/opt/spack/linux-rhel7-x86_64/gcc-5.4.0/python-2.7.13-yubmrmnjlffovbkco3hpujao4asp6pyl/include/python2.7/unicodeobject.h:174:31: note: expected โ€˜const char *โ€™ but argument is of type โ€˜yaml_char_t * {aka unsigned char *}โ€™
     # define PyUnicode_DecodeUTF8 PyUnicodeUCS2_DecodeUTF8
                                   ^
    /usr/local/software/spack/spack-0.11.2/opt/spack/linux-rhel7-x86_64/gcc-5.4.0/python-2.7.13-yubmrmnjlffovbkco3hpujao4asp6pyl/include/python2.7/unicodeobject.h:750:23: note: in expansion of macro โ€˜PyUnicode_DecodeUTF8โ€™
     PyAPI_FUNC(PyObject*) PyUnicode_DecodeUTF8(
                           ^
    ext/_yaml.c:8883:38: warning: pointer targets in passing argument 1 of โ€˜PyUnicodeUCS2_DecodeUTF8โ€™ differ in signedness [-Wpointer-sign]
         __pyx_t_4 = PyUnicode_DecodeUTF8(__pyx_v_event->data.scalar.value, __pyx_v_event->data.scalar.length, ((char *)"strict")); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 595, __pyx_L1_error)
                                          ^
    In file included from /usr/local/software/spack/spack-0.11.2/opt/spack/linux-rhel7-x86_64/gcc-5.4.0/python-2.7.13-yubmrmnjlffovbkco3hpujao4asp6pyl/include/python2.7/Python.h:85:0,
                     from ext/_yaml.c:4:
    /usr/local/software/spack/spack-0.11.2/opt/spack/linux-rhel7-x86_64/gcc-5.4.0/python-2.7.13-yubmrmnjlffovbkco3hpujao4asp6pyl/include/python2.7/unicodeobject.h:174:31: note: expected โ€˜const char *โ€™ but argument is of type โ€˜yaml_char_t * {aka unsigned char *}โ€™
     # define PyUnicode_DecodeUTF8 PyUnicodeUCS2_DecodeUTF8
                                   ^
    /usr/local/software/spack/spack-0.11.2/opt/spack/linux-rhel7-x86_64/gcc-5.4.0/python-2.7.13-yubmrmnjlffovbkco3hpujao4asp6pyl/include/python2.7/unicodeobject.h:750:23: note: in expansion of macro โ€˜PyUnicode_DecodeUTF8โ€™
     PyAPI_FUNC(PyObject*) PyUnicode_DecodeUTF8(
                           ^
    In file included from ext/_yaml.c:596:0:
    ext/_yaml.c:9224:40: warning: pointer targets in passing argument 1 of โ€˜strlenโ€™ differ in signedness [-Wpointer-sign]
           __pyx_t_4 = PyUnicode_FromString(__pyx_v_event->data.sequence_start.anchor); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 620, __pyx_L1_error)
                                            ^
    ext/_yaml.h:6:66: note: in definition of macro โ€˜PyUnicode_FromStringโ€™
     #define PyUnicode_FromString(s) PyUnicode_DecodeUTF8((s), strlen(s), "strict")
                                                                      ^
    In file included from /usr/local/software/spack/spack-0.11.2/opt/spack/linux-rhel7-x86_64/gcc-5.4.0/python-2.7.13-yubmrmnjlffovbkco3hpujao4asp6pyl/include/python2.7/Python.h:38:0,
                     from ext/_yaml.c:4:
    /usr/include/string.h:395:15: note: expected โ€˜const char *โ€™ but argument is of type โ€˜yaml_char_t * {aka unsigned char *}โ€™
     extern size_t strlen (const char *__s)
                   ^
    In file included from ext/_yaml.c:596:0:
    ext/_yaml.h:6:54: warning: pointer targets in passing argument 1 of โ€˜PyUnicodeUCS2_DecodeUTF8โ€™ differ in signedness [-Wpointer-sign]
     #define PyUnicode_FromString(s) PyUnicode_DecodeUTF8((s), strlen(s), "strict")
                                                          ^
    ext/_yaml.c:9224:19: note: in expansion of macro โ€˜PyUnicode_FromStringโ€™
           __pyx_t_4 = PyUnicode_FromString(__pyx_v_event->data.sequence_start.anchor); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 620, __pyx_L1_error)
                       ^
    In file included from /usr/local/software/spack/spack-0.11.2/opt/spack/linux-rhel7-x86_64/gcc-5.4.0/python-2.7.13-yubmrmnjlffovbkco3hpujao4asp6pyl/include/python2.7/Python.h:85:0,
                     from ext/_yaml.c:4:
    /usr/local/software/spack/spack-0.11.2/opt/spack/linux-rhel7-x86_64/gcc-5.4.0/python-2.7.13-yubmrmnjlffovbkco3hpujao4asp6pyl/include/python2.7/unicodeobject.h:174:31: note: expected โ€˜const char *โ€™ but argument is of type โ€˜yaml_char_t * {aka unsigned char *}โ€™
     # define PyUnicode_DecodeUTF8 PyUnicodeUCS2_DecodeUTF8
                                   ^
    /usr/local/software/spack/spack-0.11.2/opt/spack/linux-rhel7-x86_64/gcc-5.4.0/python-2.7.13-yubmrmnjlffovbkco3hpujao4asp6pyl/include/python2.7/unicodeobject.h:750:23: note: in expansion of macro โ€˜PyUnicode_DecodeUTF8โ€™
     PyAPI_FUNC(PyObject*) PyUnicode_DecodeUTF8(
                           ^
    In file included from ext/_yaml.c:596:0:
    ext/_yaml.c:9265:40: warning: pointer targets in passing argument 1 of โ€˜strlenโ€™ differ in signedness [-Wpointer-sign]
           __pyx_t_4 = PyUnicode_FromString(__pyx_v_event->data.sequence_start.tag); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 623, __pyx_L1_error)
                                            ^
    ext/_yaml.h:6:66: note: in definition of macro โ€˜PyUnicode_FromStringโ€™
     #define PyUnicode_FromString(s) PyUnicode_DecodeUTF8((s), strlen(s), "strict")
                                                                      ^
    In file included from /usr/local/software/spack/spack-0.11.2/opt/spack/linux-rhel7-x86_64/gcc-5.4.0/python-2.7.13-yubmrmnjlffovbkco3hpujao4asp6pyl/include/python2.7/Python.h:38:0,
                     from ext/_yaml.c:4:
    /usr/include/string.h:395:15: note: expected โ€˜const char *โ€™ but argument is of type โ€˜yaml_char_t * {aka unsigned char *}โ€™
     extern size_t strlen (const char *__s)
                   ^
    In file included from ext/_yaml.c:596:0:
    ext/_yaml.h:6:54: warning: pointer targets in passing argument 1 of โ€˜PyUnicodeUCS2_DecodeUTF8โ€™ differ in signedness [-Wpointer-sign]
     #define PyUnicode_FromString(s) PyUnicode_DecodeUTF8((s), strlen(s), "strict")
                                                          ^
    ext/_yaml.c:9265:19: note: in expansion of macro โ€˜PyUnicode_FromStringโ€™
           __pyx_t_4 = PyUnicode_FromString(__pyx_v_event->data.sequence_start.tag); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 623, __pyx_L1_error)
                       ^
    In file included from /usr/local/software/spack/spack-0.11.2/opt/spack/linux-rhel7-x86_64/gcc-5.4.0/python-2.7.13-yubmrmnjlffovbkco3hpujao4asp6pyl/include/python2.7/Python.h:85:0,
                     from ext/_yaml.c:4:
    /usr/local/software/spack/spack-0.11.2/opt/spack/linux-rhel7-x86_64/gcc-5.4.0/python-2.7.13-yubmrmnjlffovbkco3hpujao4asp6pyl/include/python2.7/unicodeobject.h:174:31: note: expected โ€˜const char *โ€™ but argument is of type โ€˜yaml_char_t * {aka unsigned char *}โ€™
     # define PyUnicode_DecodeUTF8 PyUnicodeUCS2_DecodeUTF8
                                   ^
    /usr/local/software/spack/spack-0.11.2/opt/spack/linux-rhel7-x86_64/gcc-5.4.0/python-2.7.13-yubmrmnjlffovbkco3hpujao4asp6pyl/include/python2.7/unicodeobject.h:750:23: note: in expansion of macro โ€˜PyUnicode_DecodeUTF8โ€™
     PyAPI_FUNC(PyObject*) PyUnicode_DecodeUTF8(
                           ^
    In file included from ext/_yaml.c:596:0:
    ext/_yaml.c:9497:40: warning: pointer targets in passing argument 1 of โ€˜strlenโ€™ differ in signedness [-Wpointer-sign]
           __pyx_t_4 = PyUnicode_FromString(__pyx_v_event->data.mapping_start.anchor); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 637, __pyx_L1_error)
                                            ^
    ext/_yaml.h:6:66: note: in definition of macro โ€˜PyUnicode_FromStringโ€™
     #define PyUnicode_FromString(s) PyUnicode_DecodeUTF8((s), strlen(s), "strict")
                                                                      ^
    In file included from /usr/local/software/spack/spack-0.11.2/opt/spack/linux-rhel7-x86_64/gcc-5.4.0/python-2.7.13-yubmrmnjlffovbkco3hpujao4asp6pyl/include/python2.7/Python.h:38:0,
                     from ext/_yaml.c:4:
    /usr/include/string.h:395:15: note: expected โ€˜const char *โ€™ but argument is of type โ€˜yaml_char_t * {aka unsigned char *}โ€™
     extern size_t strlen (const char *__s)
                   ^
    In file included from ext/_yaml.c:596:0:
    ext/_yaml.h:6:54: warning: pointer targets in passing argument 1 of โ€˜PyUnicodeUCS2_DecodeUTF8โ€™ differ in signedness [-Wpointer-sign]
     #define PyUnicode_FromString(s) PyUnicode_DecodeUTF8((s), strlen(s), "strict")
                                                          ^
    ext/_yaml.c:9497:19: note: in expansion of macro โ€˜PyUnicode_FromStringโ€™
           __pyx_t_4 = PyUnicode_FromString(__pyx_v_event->data.mapping_start.anchor); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 637, __pyx_L1_error)
                       ^
    In file included from /usr/local/software/spack/spack-0.11.2/opt/spack/linux-rhel7-x86_64/gcc-5.4.0/python-2.7.13-yubmrmnjlffovbkco3hpujao4asp6pyl/include/python2.7/Python.h:85:0,
                     from ext/_yaml.c:4:
    /usr/local/software/spack/spack-0.11.2/opt/spack/linux-rhel7-x86_64/gcc-5.4.0/python-2.7.13-yubmrmnjlffovbkco3hpujao4asp6pyl/include/python2.7/unicodeobject.h:174:31: note: expected โ€˜const char *โ€™ but argument is of type โ€˜yaml_char_t * {aka unsigned char *}โ€™
     # define PyUnicode_DecodeUTF8 PyUnicodeUCS2_DecodeUTF8
                                   ^
    /usr/local/software/spack/spack-0.11.2/opt/spack/linux-rhel7-x86_64/gcc-5.4.0/python-2.7.13-yubmrmnjlffovbkco3hpujao4asp6pyl/include/python2.7/unicodeobject.h:750:23: note: in expansion of macro โ€˜PyUnicode_DecodeUTF8โ€™
     PyAPI_FUNC(PyObject*) PyUnicode_DecodeUTF8(
                           ^
    In file included from ext/_yaml.c:596:0:
    ext/_yaml.c:9538:40: warning: pointer targets in passing argument 1 of โ€˜strlenโ€™ differ in signedness [-Wpointer-sign]
           __pyx_t_4 = PyUnicode_FromString(__pyx_v_event->data.mapping_start.tag); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 640, __pyx_L1_error)
                                            ^
    ext/_yaml.h:6:66: note: in definition of macro โ€˜PyUnicode_FromStringโ€™
     #define PyUnicode_FromString(s) PyUnicode_DecodeUTF8((s), strlen(s), "strict")
                                                                      ^
    In file included from /usr/local/software/spack/spack-0.11.2/opt/spack/linux-rhel7-x86_64/gcc-5.4.0/python-2.7.13-yubmrmnjlffovbkco3hpujao4asp6pyl/include/python2.7/Python.h:38:0,
                     from ext/_yaml.c:4:
    /usr/include/string.h:395:15: note: expected โ€˜const char *โ€™ but argument is of type โ€˜yaml_char_t * {aka unsigned char *}โ€™
     extern size_t strlen (const char *__s)
                   ^
    In file included from ext/_yaml.c:596:0:
    ext/_yaml.h:6:54: warning: pointer targets in passing argument 1 of โ€˜PyUnicodeUCS2_DecodeUTF8โ€™ differ in signedness [-Wpointer-sign]
     #define PyUnicode_FromString(s) PyUnicode_DecodeUTF8((s), strlen(s), "strict")
                                                          ^
    ext/_yaml.c:9538:19: note: in expansion of macro โ€˜PyUnicode_FromStringโ€™
           __pyx_t_4 = PyUnicode_FromString(__pyx_v_event->data.mapping_start.tag); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 640, __pyx_L1_error)
                       ^
    In file included from /usr/local/software/spack/spack-0.11.2/opt/spack/linux-rhel7-x86_64/gcc-5.4.0/python-2.7.13-yubmrmnjlffovbkco3hpujao4asp6pyl/include/python2.7/Python.h:85:0,
                     from ext/_yaml.c:4:
    /usr/local/software/spack/spack-0.11.2/opt/spack/linux-rhel7-x86_64/gcc-5.4.0/python-2.7.13-yubmrmnjlffovbkco3hpujao4asp6pyl/include/python2.7/unicodeobject.h:174:31: note: expected โ€˜const char *โ€™ but argument is of type โ€˜yaml_char_t * {aka unsigned char *}โ€™
     # define PyUnicode_DecodeUTF8 PyUnicodeUCS2_DecodeUTF8
                                   ^
    /usr/local/software/spack/spack-0.11.2/opt/spack/linux-rhel7-x86_64/gcc-5.4.0/python-2.7.13-yubmrmnjlffovbkco3hpujao4asp6pyl/include/python2.7/unicodeobject.h:750:23: note: in expansion of macro โ€˜PyUnicode_DecodeUTF8โ€™
     PyAPI_FUNC(PyObject*) PyUnicode_DecodeUTF8(
                           ^
    In file included from ext/_yaml.c:596:0:
    ext/_yaml.c: In function โ€˜__pyx_f_5_yaml_7CParser__compose_nodeโ€™:
    ext/_yaml.c:11211:38: warning: pointer targets in passing argument 1 of โ€˜strlenโ€™ differ in signedness [-Wpointer-sign]
         __pyx_t_3 = PyUnicode_FromString(__pyx_v_self->parsed_event.data.alias.anchor); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 734, __pyx_L1_error)
                                          ^
    ext/_yaml.h:6:66: note: in definition of macro โ€˜PyUnicode_FromStringโ€™
     #define PyUnicode_FromString(s) PyUnicode_DecodeUTF8((s), strlen(s), "strict")
                                                                      ^
    In file included from /usr/local/software/spack/spack-0.11.2/opt/spack/linux-rhel7-x86_64/gcc-5.4.0/python-2.7.13-yubmrmnjlffovbkco3hpujao4asp6pyl/include/python2.7/Python.h:38:0,
                     from ext/_yaml.c:4:
    /usr/include/string.h:395:15: note: expected โ€˜const char *โ€™ but argument is of type โ€˜yaml_char_t * {aka unsigned char *}โ€™
     extern size_t strlen (const char *__s)
                   ^
    In file included from ext/_yaml.c:596:0:
    ext/_yaml.h:6:54: warning: pointer targets in passing argument 1 of โ€˜PyUnicodeUCS2_DecodeUTF8โ€™ differ in signedness [-Wpointer-sign]
     #define PyUnicode_FromString(s) PyUnicode_DecodeUTF8((s), strlen(s), "strict")
                                                          ^
    ext/_yaml.c:11211:17: note: in expansion of macro โ€˜PyUnicode_FromStringโ€™
         __pyx_t_3 = PyUnicode_FromString(__pyx_v_self->parsed_event.data.alias.anchor); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 734, __pyx_L1_error)
                     ^
    In file included from /usr/local/software/spack/spack-0.11.2/opt/spack/linux-rhel7-x86_64/gcc-5.4.0/python-2.7.13-yubmrmnjlffovbkco3hpujao4asp6pyl/include/python2.7/Python.h:85:0,
                     from ext/_yaml.c:4:
    /usr/local/software/spack/spack-0.11.2/opt/spack/linux-rhel7-x86_64/gcc-5.4.0/python-2.7.13-yubmrmnjlffovbkco3hpujao4asp6pyl/include/python2.7/unicodeobject.h:174:31: note: expected โ€˜const char *โ€™ but argument is of type โ€˜yaml_char_t * {aka unsigned char *}โ€™
     # define PyUnicode_DecodeUTF8 PyUnicodeUCS2_DecodeUTF8
                                   ^
    /usr/local/software/spack/spack-0.11.2/opt/spack/linux-rhel7-x86_64/gcc-5.4.0/python-2.7.13-yubmrmnjlffovbkco3hpujao4asp6pyl/include/python2.7/unicodeobject.h:750:23: note: in expansion of macro โ€˜PyUnicode_DecodeUTF8โ€™
     PyAPI_FUNC(PyObject*) PyUnicode_DecodeUTF8(
                           ^
    In file included from ext/_yaml.c:596:0:
    ext/_yaml.c:11531:38: warning: pointer targets in passing argument 1 of โ€˜strlenโ€™ differ in signedness [-Wpointer-sign]
         __pyx_t_6 = PyUnicode_FromString(__pyx_v_self->parsed_event.data.scalar.anchor); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 750, __pyx_L1_error)
                                          ^
    ext/_yaml.h:6:66: note: in definition of macro โ€˜PyUnicode_FromStringโ€™
     #define PyUnicode_FromString(s) PyUnicode_DecodeUTF8((s), strlen(s), "strict")
                                                                      ^
    In file included from /usr/local/software/spack/spack-0.11.2/opt/spack/linux-rhel7-x86_64/gcc-5.4.0/python-2.7.13-yubmrmnjlffovbkco3hpujao4asp6pyl/include/python2.7/Python.h:38:0,
                     from ext/_yaml.c:4:
    /usr/include/string.h:395:15: note: expected โ€˜const char *โ€™ but argument is of type โ€˜yaml_char_t * {aka unsigned char *}โ€™
     extern size_t strlen (const char *__s)
                   ^
    In file included from ext/_yaml.c:596:0:
    ext/_yaml.h:6:54: warning: pointer targets in passing argument 1 of โ€˜PyUnicodeUCS2_DecodeUTF8โ€™ differ in signedness [-Wpointer-sign]
     #define PyUnicode_FromString(s) PyUnicode_DecodeUTF8((s), strlen(s), "strict")
                                                          ^
    ext/_yaml.c:11531:17: note: in expansion of macro โ€˜PyUnicode_FromStringโ€™
         __pyx_t_6 = PyUnicode_FromString(__pyx_v_self->parsed_event.data.scalar.anchor); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 750, __pyx_L1_error)
                     ^
    In file included from /usr/local/software/spack/spack-0.11.2/opt/spack/linux-rhel7-x86_64/gcc-5.4.0/python-2.7.13-yubmrmnjlffovbkco3hpujao4asp6pyl/include/python2.7/Python.h:85:0,
                     from ext/_yaml.c:4:
    /usr/local/software/spack/spack-0.11.2/opt/spack/linux-rhel7-x86_64/gcc-5.4.0/python-2.7.13-yubmrmnjlffovbkco3hpujao4asp6pyl/include/python2.7/unicodeobject.h:174:31: note: expected โ€˜const char *โ€™ but argument is of type โ€˜yaml_char_t * {aka unsigned char *}โ€™
     # define PyUnicode_DecodeUTF8 PyUnicodeUCS2_DecodeUTF8
                                   ^
    /usr/local/software/spack/spack-0.11.2/opt/spack/linux-rhel7-x86_64/gcc-5.4.0/python-2.7.13-yubmrmnjlffovbkco3hpujao4asp6pyl/include/python2.7/unicodeobject.h:750:23: note: in expansion of macro โ€˜PyUnicode_DecodeUTF8โ€™
     PyAPI_FUNC(PyObject*) PyUnicode_DecodeUTF8(
                           ^
    In file included from ext/_yaml.c:596:0:
    ext/_yaml.c:11587:38: warning: pointer targets in passing argument 1 of โ€˜strlenโ€™ differ in signedness [-Wpointer-sign]
         __pyx_t_6 = PyUnicode_FromString(__pyx_v_self->parsed_event.data.sequence_start.anchor); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 753, __pyx_L1_error)
                                          ^
    ext/_yaml.h:6:66: note: in definition of macro โ€˜PyUnicode_FromStringโ€™
     #define PyUnicode_FromString(s) PyUnicode_DecodeUTF8((s), strlen(s), "strict")
                                                                      ^
    In file included from /usr/local/software/spack/spack-0.11.2/opt/spack/linux-rhel7-x86_64/gcc-5.4.0/python-2.7.13-yubmrmnjlffovbkco3hpujao4asp6pyl/include/python2.7/Python.h:38:0,
                     from ext/_yaml.c:4:
    /usr/include/string.h:395:15: note: expected โ€˜const char *โ€™ but argument is of type โ€˜yaml_char_t * {aka unsigned char *}โ€™
     extern size_t strlen (const char *__s)
                   ^
    In file included from ext/_yaml.c:596:0:
    ext/_yaml.h:6:54: warning: pointer targets in passing argument 1 of โ€˜PyUnicodeUCS2_DecodeUTF8โ€™ differ in signedness [-Wpointer-sign]
     #define PyUnicode_FromString(s) PyUnicode_DecodeUTF8((s), strlen(s), "strict")
                                                          ^
    ext/_yaml.c:11587:17: note: in expansion of macro โ€˜PyUnicode_FromStringโ€™
         __pyx_t_6 = PyUnicode_FromString(__pyx_v_self->parsed_event.data.sequence_start.anchor); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 753, __pyx_L1_error)
                     ^
    In file included from /usr/local/software/spack/spack-0.11.2/opt/spack/linux-rhel7-x86_64/gcc-5.4.0/python-2.7.13-yubmrmnjlffovbkco3hpujao4asp6pyl/include/python2.7/Python.h:85:0,
                     from ext/_yaml.c:4:
    /usr/local/software/spack/spack-0.11.2/opt/spack/linux-rhel7-x86_64/gcc-5.4.0/python-2.7.13-yubmrmnjlffovbkco3hpujao4asp6pyl/include/python2.7/unicodeobject.h:174:31: note: expected โ€˜const char *โ€™ but argument is of type โ€˜yaml_char_t * {aka unsigned char *}โ€™
     # define PyUnicode_DecodeUTF8 PyUnicodeUCS2_DecodeUTF8
                                   ^
    /usr/local/software/spack/spack-0.11.2/opt/spack/linux-rhel7-x86_64/gcc-5.4.0/python-2.7.13-yubmrmnjlffovbkco3hpujao4asp6pyl/include/python2.7/unicodeobject.h:750:23: note: in expansion of macro โ€˜PyUnicode_DecodeUTF8โ€™
     PyAPI_FUNC(PyObject*) PyUnicode_DecodeUTF8(
                           ^
    In file included from ext/_yaml.c:596:0:
    ext/_yaml.c:11643:38: warning: pointer targets in passing argument 1 of โ€˜strlenโ€™ differ in signedness [-Wpointer-sign]
         __pyx_t_6 = PyUnicode_FromString(__pyx_v_self->parsed_event.data.mapping_start.anchor); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 756, __pyx_L1_error)
                                          ^
    ext/_yaml.h:6:66: note: in definition of macro โ€˜PyUnicode_FromStringโ€™
     #define PyUnicode_FromString(s) PyUnicode_DecodeUTF8((s), strlen(s), "strict")
                                                                      ^
    In file included from /usr/local/software/spack/spack-0.11.2/opt/spack/linux-rhel7-x86_64/gcc-5.4.0/python-2.7.13-yubmrmnjlffovbkco3hpujao4asp6pyl/include/python2.7/Python.h:38:0,
                     from ext/_yaml.c:4:
    /usr/include/string.h:395:15: note: expected โ€˜const char *โ€™ but argument is of type โ€˜yaml_char_t * {aka unsigned char *}โ€™
     extern size_t strlen (const char *__s)
                   ^
    In file included from ext/_yaml.c:596:0:
    ext/_yaml.h:6:54: warning: pointer targets in passing argument 1 of โ€˜PyUnicodeUCS2_DecodeUTF8โ€™ differ in signedness [-Wpointer-sign]
     #define PyUnicode_FromString(s) PyUnicode_DecodeUTF8((s), strlen(s), "strict")
                                                          ^
    ext/_yaml.c:11643:17: note: in expansion of macro โ€˜PyUnicode_FromStringโ€™
         __pyx_t_6 = PyUnicode_FromString(__pyx_v_self->parsed_event.data.mapping_start.anchor); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 756, __pyx_L1_error)
                     ^
    In file included from /usr/local/software/spack/spack-0.11.2/opt/spack/linux-rhel7-x86_64/gcc-5.4.0/python-2.7.13-yubmrmnjlffovbkco3hpujao4asp6pyl/include/python2.7/Python.h:85:0,
                     from ext/_yaml.c:4:
    /usr/local/software/spack/spack-0.11.2/opt/spack/linux-rhel7-x86_64/gcc-5.4.0/python-2.7.13-yubmrmnjlffovbkco3hpujao4asp6pyl/include/python2.7/unicodeobject.h:174:31: note: expected โ€˜const char *โ€™ but argument is of type โ€˜yaml_char_t * {aka unsigned char *}โ€™
     # define PyUnicode_DecodeUTF8 PyUnicodeUCS2_DecodeUTF8
                                   ^
    /usr/local/software/spack/spack-0.11.2/opt/spack/linux-rhel7-x86_64/gcc-5.4.0/python-2.7.13-yubmrmnjlffovbkco3hpujao4asp6pyl/include/python2.7/unicodeobject.h:750:23: note: in expansion of macro โ€˜PyUnicode_DecodeUTF8โ€™
     PyAPI_FUNC(PyObject*) PyUnicode_DecodeUTF8(
                           ^
    ext/_yaml.c: In function โ€˜__pyx_f_5_yaml_7CParser__compose_scalar_nodeโ€™:
    ext/_yaml.c:12301:36: warning: pointer targets in passing argument 1 of โ€˜PyUnicodeUCS2_DecodeUTF8โ€™ differ in signedness [-Wpointer-sign]
       __pyx_t_2 = PyUnicode_DecodeUTF8(__pyx_v_self->parsed_event.data.scalar.value, __pyx_v_self->parsed_event.data.scalar.length, ((char *)"strict")); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 791, __pyx_L1_error)
                                        ^
    In file included from /usr/local/software/spack/spack-0.11.2/opt/spack/linux-rhel7-x86_64/gcc-5.4.0/python-2.7.13-yubmrmnjlffovbkco3hpujao4asp6pyl/include/python2.7/Python.h:85:0,
                     from ext/_yaml.c:4:
    /usr/local/software/spack/spack-0.11.2/opt/spack/linux-rhel7-x86_64/gcc-5.4.0/python-2.7.13-yubmrmnjlffovbkco3hpujao4asp6pyl/include/python2.7/unicodeobject.h:174:31: note: expected โ€˜const char *โ€™ but argument is of type โ€˜yaml_char_t * {aka unsigned char *}โ€™
     # define PyUnicode_DecodeUTF8 PyUnicodeUCS2_DecodeUTF8
                                   ^
    /usr/local/software/spack/spack-0.11.2/opt/spack/linux-rhel7-x86_64/gcc-5.4.0/python-2.7.13-yubmrmnjlffovbkco3hpujao4asp6pyl/include/python2.7/unicodeobject.h:750:23: note: in expansion of macro โ€˜PyUnicode_DecodeUTF8โ€™
     PyAPI_FUNC(PyObject*) PyUnicode_DecodeUTF8(
                           ^
    In file included from ext/_yaml.c:596:0:
    ext/_yaml.c:12524:38: warning: pointer targets in passing argument 1 of โ€˜strlenโ€™ differ in signedness [-Wpointer-sign]
         __pyx_t_2 = PyUnicode_FromString(__pyx_v_self->parsed_event.data.scalar.tag); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 804, __pyx_L1_error)
                                          ^
    ext/_yaml.h:6:66: note: in definition of macro โ€˜PyUnicode_FromStringโ€™
     #define PyUnicode_FromString(s) PyUnicode_DecodeUTF8((s), strlen(s), "strict")
                                                                      ^
    In file included from /usr/local/software/spack/spack-0.11.2/opt/spack/linux-rhel7-x86_64/gcc-5.4.0/python-2.7.13-yubmrmnjlffovbkco3hpujao4asp6pyl/include/python2.7/Python.h:38:0,
                     from ext/_yaml.c:4:
    /usr/include/string.h:395:15: note: expected โ€˜const char *โ€™ but argument is of type โ€˜yaml_char_t * {aka unsigned char *}โ€™
     extern size_t strlen (const char *__s)
                   ^
    In file included from ext/_yaml.c:596:0:
    ext/_yaml.h:6:54: warning: pointer targets in passing argument 1 of โ€˜PyUnicodeUCS2_DecodeUTF8โ€™ differ in signedness [-Wpointer-sign]
     #define PyUnicode_FromString(s) PyUnicode_DecodeUTF8((s), strlen(s), "strict")
                                                          ^
    ext/_yaml.c:12524:17: note: in expansion of macro โ€˜PyUnicode_FromStringโ€™
         __pyx_t_2 = PyUnicode_FromString(__pyx_v_self->parsed_event.data.scalar.tag); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 804, __pyx_L1_error)
                     ^
    In file included from /usr/local/software/spack/spack-0.11.2/opt/spack/linux-rhel7-x86_64/gcc-5.4.0/python-2.7.13-yubmrmnjlffovbkco3hpujao4asp6pyl/include/python2.7/Python.h:85:0,
                     from ext/_yaml.c:4:
    /usr/local/software/spack/spack-0.11.2/opt/spack/linux-rhel7-x86_64/gcc-5.4.0/python-2.7.13-yubmrmnjlffovbkco3hpujao4asp6pyl/include/python2.7/unicodeobject.h:174:31: note: expected โ€˜const char *โ€™ but argument is of type โ€˜yaml_char_t * {aka unsigned char *}โ€™
     # define PyUnicode_DecodeUTF8 PyUnicodeUCS2_DecodeUTF8
                                   ^
    /usr/local/software/spack/spack-0.11.2/opt/spack/linux-rhel7-x86_64/gcc-5.4.0/python-2.7.13-yubmrmnjlffovbkco3hpujao4asp6pyl/include/python2.7/unicodeobject.h:750:23: note: in expansion of macro โ€˜PyUnicode_DecodeUTF8โ€™
     PyAPI_FUNC(PyObject*) PyUnicode_DecodeUTF8(
                           ^
    In file included from ext/_yaml.c:596:0:
    ext/_yaml.c: In function โ€˜__pyx_f_5_yaml_7CParser__compose_sequence_nodeโ€™:
    ext/_yaml.c:13062:38: warning: pointer targets in passing argument 1 of โ€˜strlenโ€™ differ in signedness [-Wpointer-sign]
         __pyx_t_3 = PyUnicode_FromString(__pyx_v_self->parsed_event.data.sequence_start.tag); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 837, __pyx_L1_error)
                                          ^
    ext/_yaml.h:6:66: note: in definition of macro โ€˜PyUnicode_FromStringโ€™
     #define PyUnicode_FromString(s) PyUnicode_DecodeUTF8((s), strlen(s), "strict")
                                                                      ^
    In file included from /usr/local/software/spack/spack-0.11.2/opt/spack/linux-rhel7-x86_64/gcc-5.4.0/python-2.7.13-yubmrmnjlffovbkco3hpujao4asp6pyl/include/python2.7/Python.h:38:0,
                     from ext/_yaml.c:4:
    /usr/include/string.h:395:15: note: expected โ€˜const char *โ€™ but argument is of type โ€˜yaml_char_t * {aka unsigned char *}โ€™
     extern size_t strlen (const char *__s)
                   ^
    In file included from ext/_yaml.c:596:0:
    ext/_yaml.h:6:54: warning: pointer targets in passing argument 1 of โ€˜PyUnicodeUCS2_DecodeUTF8โ€™ differ in signedness [-Wpointer-sign]
     #define PyUnicode_FromString(s) PyUnicode_DecodeUTF8((s), strlen(s), "strict")
                                                          ^
    ext/_yaml.c:13062:17: note: in expansion of macro โ€˜PyUnicode_FromStringโ€™
         __pyx_t_3 = PyUnicode_FromString(__pyx_v_self->parsed_event.data.sequence_start.tag); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 837, __pyx_L1_error)
                     ^
    In file included from /usr/local/software/spack/spack-0.11.2/opt/spack/linux-rhel7-x86_64/gcc-5.4.0/python-2.7.13-yubmrmnjlffovbkco3hpujao4asp6pyl/include/python2.7/Python.h:85:0,
                     from ext/_yaml.c:4:
    /usr/local/software/spack/spack-0.11.2/opt/spack/linux-rhel7-x86_64/gcc-5.4.0/python-2.7.13-yubmrmnjlffovbkco3hpujao4asp6pyl/include/python2.7/unicodeobject.h:174:31: note: expected โ€˜const char *โ€™ but argument is of type โ€˜yaml_char_t * {aka unsigned char *}โ€™
     # define PyUnicode_DecodeUTF8 PyUnicodeUCS2_DecodeUTF8
                                   ^
    /usr/local/software/spack/spack-0.11.2/opt/spack/linux-rhel7-x86_64/gcc-5.4.0/python-2.7.13-yubmrmnjlffovbkco3hpujao4asp6pyl/include/python2.7/unicodeobject.h:750:23: note: in expansion of macro โ€˜PyUnicode_DecodeUTF8โ€™
     PyAPI_FUNC(PyObject*) PyUnicode_DecodeUTF8(
                           ^
    In file included from ext/_yaml.c:596:0:
    ext/_yaml.c: In function โ€˜__pyx_f_5_yaml_7CParser__compose_mapping_nodeโ€™:
    ext/_yaml.c:13687:38: warning: pointer targets in passing argument 1 of โ€˜strlenโ€™ differ in signedness [-Wpointer-sign]
         __pyx_t_3 = PyUnicode_FromString(__pyx_v_self->parsed_event.data.mapping_start.tag); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 876, __pyx_L1_error)
                                          ^
    ext/_yaml.h:6:66: note: in definition of macro โ€˜PyUnicode_FromStringโ€™
     #define PyUnicode_FromString(s) PyUnicode_DecodeUTF8((s), strlen(s), "strict")
                                                                      ^
    In file included from /usr/local/software/spack/spack-0.11.2/opt/spack/linux-rhel7-x86_64/gcc-5.4.0/python-2.7.13-yubmrmnjlffovbkco3hpujao4asp6pyl/include/python2.7/Python.h:38:0,
                     from ext/_yaml.c:4:
    /usr/include/string.h:395:15: note: expected โ€˜const char *โ€™ but argument is of type โ€˜yaml_char_t * {aka unsigned char *}โ€™
     extern size_t strlen (const char *__s)
                   ^
    In file included from ext/_yaml.c:596:0:
    ext/_yaml.h:6:54: warning: pointer targets in passing argument 1 of โ€˜PyUnicodeUCS2_DecodeUTF8โ€™ differ in signedness [-Wpointer-sign]
     #define PyUnicode_FromString(s) PyUnicode_DecodeUTF8((s), strlen(s), "strict")
                                                          ^
    ext/_yaml.c:13687:17: note: in expansion of macro โ€˜PyUnicode_FromStringโ€™
         __pyx_t_3 = PyUnicode_FromString(__pyx_v_self->parsed_event.data.mapping_start.tag); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 876, __pyx_L1_error)
                     ^
    In file included from /usr/local/software/spack/spack-0.11.2/opt/spack/linux-rhel7-x86_64/gcc-5.4.0/python-2.7.13-yubmrmnjlffovbkco3hpujao4asp6pyl/include/python2.7/Python.h:85:0,
                     from ext/_yaml.c:4:
    /usr/local/software/spack/spack-0.11.2/opt/spack/linux-rhel7-x86_64/gcc-5.4.0/python-2.7.13-yubmrmnjlffovbkco3hpujao4asp6pyl/include/python2.7/unicodeobject.h:174:31: note: expected โ€˜const char *โ€™ but argument is of type โ€˜yaml_char_t * {aka unsigned char *}โ€™
     # define PyUnicode_DecodeUTF8 PyUnicodeUCS2_DecodeUTF8
                                   ^
    /usr/local/software/spack/spack-0.11.2/opt/spack/linux-rhel7-x86_64/gcc-5.4.0/python-2.7.13-yubmrmnjlffovbkco3hpujao4asp6pyl/include/python2.7/unicodeobject.h:750:23: note: in expansion of macro โ€˜PyUnicode_DecodeUTF8โ€™
     PyAPI_FUNC(PyObject*) PyUnicode_DecodeUTF8(
                           ^
    ext/_yaml.c: In function โ€˜__pyx_pf_5_yaml_8CEmitter___init__โ€™:
    ext/_yaml.c:15018:53: warning: passing argument 2 of โ€˜yaml_emitter_set_outputโ€™ from incompatible pointer type [-Wincompatible-pointer-types]
       yaml_emitter_set_output((&__pyx_v_self->emitter), __pyx_f_5_yaml_output_handler, ((void *)__pyx_v_self));
                                                         ^
    In file included from ext/_yaml.h:2:0,
                     from ext/_yaml.c:596:
    /usr/include/yaml.h:1829:1: note: expected โ€˜int (*)(void *, unsigned char *, size_t) {aka int (*)(void *, unsigned char *, long unsigned int)}โ€™ but argument is of type โ€˜int (*)(void *, char *, size_t) {aka int (*)(void *, char *, long unsigned int)}โ€™
     yaml_emitter_set_output(yaml_emitter_t *emitter,
     ^
    ext/_yaml.c: In function โ€˜__pyx_f_5_yaml_8CEmitter__object_to_eventโ€™:
    ext/_yaml.c:16370:44: warning: pointer targets in assignment differ in signedness [-Wpointer-sign]
             __pyx_v_tag_directives_end->handle = PyString_AS_STRING(__pyx_v_handle);
                                                ^
    ext/_yaml.c:16485:44: warning: pointer targets in assignment differ in signedness [-Wpointer-sign]
             __pyx_v_tag_directives_end->prefix = PyString_AS_STRING(__pyx_v_prefix);
                                                ^
    ext/_yaml.c:16822:62: warning: pointer targets in passing argument 2 of โ€˜yaml_alias_event_initializeโ€™ differ in signedness [-Wpointer-sign]
         __pyx_t_2 = ((yaml_alias_event_initialize(__pyx_v_event, __pyx_v_anchor) == 0) != 0);
                                                                  ^
    In file included from ext/_yaml.h:2:0,
                     from ext/_yaml.c:596:
    /usr/include/yaml.h:553:1: note: expected โ€˜yaml_char_t * {aka unsigned char *}โ€™ but argument is of type โ€˜char *โ€™
     yaml_alias_event_initialize(yaml_event_t *event, yaml_char_t *anchor);
     ^
    ext/_yaml.c:17537:63: warning: pointer targets in passing argument 2 of โ€˜yaml_scalar_event_initializeโ€™ differ in signedness [-Wpointer-sign]
         __pyx_t_2 = ((yaml_scalar_event_initialize(__pyx_v_event, __pyx_v_anchor, __pyx_v_tag, __pyx_v_value, __pyx_v_length, __pyx_v_plain_implicit, __pyx_v_quoted_implicit, __pyx_v_scalar_style) == 0) != 0);
                                                                   ^
    In file included from ext/_yaml.h:2:0,
                     from ext/_yaml.c:596:
    /usr/include/yaml.h:578:1: note: expected โ€˜yaml_char_t * {aka unsigned char *}โ€™ but argument is of type โ€˜char *โ€™
     yaml_scalar_event_initialize(yaml_event_t *event,
     ^
    ext/_yaml.c:17537:79: warning: pointer targets in passing argument 3 of โ€˜yaml_scalar_event_initializeโ€™ differ in signedness [-Wpointer-sign]
         __pyx_t_2 = ((yaml_scalar_event_initialize(__pyx_v_event, __pyx_v_anchor, __pyx_v_tag, __pyx_v_value, __pyx_v_length, __pyx_v_plain_implicit, __pyx_v_quoted_implicit, __pyx_v_scalar_style) == 0) != 0);
                                                                                   ^
    In file included from ext/_yaml.h:2:0,
                     from ext/_yaml.c:596:
    /usr/include/yaml.h:578:1: note: expected โ€˜yaml_char_t * {aka unsigned char *}โ€™ but argument is of type โ€˜char *โ€™
     yaml_scalar_event_initialize(yaml_event_t *event,
     ^
    ext/_yaml.c:17537:92: warning: pointer targets in passing argument 4 of โ€˜yaml_scalar_event_initializeโ€™ differ in signedness [-Wpointer-sign]
         __pyx_t_2 = ((yaml_scalar_event_initialize(__pyx_v_event, __pyx_v_anchor, __pyx_v_tag, __pyx_v_value, __pyx_v_length, __pyx_v_plain_implicit, __pyx_v_quoted_implicit, __pyx_v_scalar_style) == 0) != 0);
                                                                                                ^
    In file included from ext/_yaml.h:2:0,
                     from ext/_yaml.c:596:
    /usr/include/yaml.h:578:1: note: expected โ€˜yaml_char_t * {aka unsigned char *}โ€™ but argument is of type โ€˜char *โ€™
     yaml_scalar_event_initialize(yaml_event_t *event,
     ^
    ext/_yaml.c:17971:71: warning: pointer targets in passing argument 2 of โ€˜yaml_sequence_start_event_initializeโ€™ differ in signedness [-Wpointer-sign]
         __pyx_t_3 = ((yaml_sequence_start_event_initialize(__pyx_v_event, __pyx_v_anchor, __pyx_v_tag, __pyx_v_implicit, __pyx_v_sequence_style) == 0) != 0);
                                                                           ^
    In file included from ext/_yaml.h:2:0,
                     from ext/_yaml.c:596:
    /usr/include/yaml.h:601:1: note: expected โ€˜yaml_char_t * {aka unsigned char *}โ€™ but argument is of type โ€˜char *โ€™
     yaml_sequence_start_event_initialize(yaml_event_t *event,
     ^
    ext/_yaml.c:17971:87: warning: pointer targets in passing argument 3 of โ€˜yaml_sequence_start_event_initializeโ€™ differ in signedness [-Wpointer-sign]
         __pyx_t_3 = ((yaml_sequence_start_event_initialize(__pyx_v_event, __pyx_v_anchor, __pyx_v_tag, __pyx_v_implicit, __pyx_v_sequence_style) == 0) != 0);
                                                                                           ^
    In file included from ext/_yaml.h:2:0,
                     from ext/_yaml.c:596:
    /usr/include/yaml.h:601:1: note: expected โ€˜yaml_char_t * {aka unsigned char *}โ€™ but argument is of type โ€˜char *โ€™
     yaml_sequence_start_event_initialize(yaml_event_t *event,
     ^
    ext/_yaml.c:18405:70: warning: pointer targets in passing argument 2 of โ€˜yaml_mapping_start_event_initializeโ€™ differ in signedness [-Wpointer-sign]
         __pyx_t_2 = ((yaml_mapping_start_event_initialize(__pyx_v_event, __pyx_v_anchor, __pyx_v_tag, __pyx_v_implicit, __pyx_v_mapping_style) == 0) != 0);
                                                                          ^
    In file included from ext/_yaml.h:2:0,
                     from ext/_yaml.c:596:
    /usr/include/yaml.h:633:1: note: expected โ€˜yaml_char_t * {aka unsigned char *}โ€™ but argument is of type โ€˜char *โ€™
     yaml_mapping_start_event_initialize(yaml_event_t *event,
     ^
    ext/_yaml.c:18405:86: warning: pointer targets in passing argument 3 of โ€˜yaml_mapping_start_event_initializeโ€™ differ in signedness [-Wpointer-sign]
         __pyx_t_2 = ((yaml_mapping_start_event_initialize(__pyx_v_event, __pyx_v_anchor, __pyx_v_tag, __pyx_v_implicit, __pyx_v_mapping_style) == 0) != 0);
                                                                                          ^
    In file included from ext/_yaml.h:2:0,
                     from ext/_yaml.c:596:
    /usr/include/yaml.h:633:1: note: expected โ€˜yaml_char_t * {aka unsigned char *}โ€™ but argument is of type โ€˜char *โ€™
     yaml_mapping_start_event_initialize(yaml_event_t *event,
     ^
    ext/_yaml.c: In function โ€˜__pyx_pf_5_yaml_8CEmitter_12serializeโ€™:
    ext/_yaml.c:19975:42: warning: pointer targets in assignment differ in signedness [-Wpointer-sign]
           __pyx_v_tag_directives_end->handle = PyString_AS_STRING(__pyx_v_handle);
                                              ^
    ext/_yaml.c:20090:42: warning: pointer targets in assignment differ in signedness [-Wpointer-sign]
           __pyx_v_tag_directives_end->prefix = PyString_AS_STRING(__pyx_v_prefix);
                                              ^
    ext/_yaml.c: In function โ€˜__pyx_f_5_yaml_8CEmitter__serialize_nodeโ€™:
    ext/_yaml.c:20947:65: warning: pointer targets in passing argument 2 of โ€˜yaml_alias_event_initializeโ€™ differ in signedness [-Wpointer-sign]
         __pyx_t_2 = ((yaml_alias_event_initialize((&__pyx_v_event), __pyx_v_anchor) == 0) != 0);
                                                                     ^
    In file included from ext/_yaml.h:2:0,
                     from ext/_yaml.c:596:
    /usr/include/yaml.h:553:1: note: expected โ€˜yaml_char_t * {aka unsigned char *}โ€™ but argument is of type โ€˜char *โ€™
     yaml_alias_event_initialize(yaml_event_t *event, yaml_char_t *anchor);
     ^
    ext/_yaml.c:21758:68: warning: pointer targets in passing argument 2 of โ€˜yaml_scalar_event_initializeโ€™ differ in signedness [-Wpointer-sign]
           __pyx_t_2 = ((yaml_scalar_event_initialize((&__pyx_v_event), __pyx_v_anchor, __pyx_v_tag, __pyx_v_value, __pyx_v_length, __pyx_v_plain_implicit, __pyx_v_quoted_implicit, __pyx_v_scalar_style) == 0) != 0);
                                                                        ^
    In file included from ext/_yaml.h:2:0,
                     from ext/_yaml.c:596:
    /usr/include/yaml.h:578:1: note: expected โ€˜yaml_char_t * {aka unsigned char *}โ€™ but argument is of type โ€˜char *โ€™
     yaml_scalar_event_initialize(yaml_event_t *event,
     ^
    ext/_yaml.c:21758:84: warning: pointer targets in passing argument 3 of โ€˜yaml_scalar_event_initializeโ€™ differ in signedness [-Wpointer-sign]
           __pyx_t_2 = ((yaml_scalar_event_initialize((&__pyx_v_event), __pyx_v_anchor, __pyx_v_tag, __pyx_v_value, __pyx_v_length, __pyx_v_plain_implicit, __pyx_v_quoted_implicit, __pyx_v_scalar_style) == 0) != 0);
                                                                                        ^
    In file included from ext/_yaml.h:2:0,
                     from ext/_yaml.c:596:
    /usr/include/yaml.h:578:1: note: expected โ€˜yaml_char_t * {aka unsigned char *}โ€™ but argument is of type โ€˜char *โ€™
     yaml_scalar_event_initialize(yaml_event_t *event,
     ^
    ext/_yaml.c:21758:97: warning: pointer targets in passing argument 4 of โ€˜yaml_scalar_event_initializeโ€™ differ in signedness [-Wpointer-sign]
           __pyx_t_2 = ((yaml_scalar_event_initialize((&__pyx_v_event), __pyx_v_anchor, __pyx_v_tag, __pyx_v_value, __pyx_v_length, __pyx_v_plain_implicit, __pyx_v_quoted_implicit, __pyx_v_scalar_style) == 0) != 0);
                                                                                                     ^
    In file included from ext/_yaml.h:2:0,
                     from ext/_yaml.c:596:
    /usr/include/yaml.h:578:1: note: expected โ€˜yaml_char_t * {aka unsigned char *}โ€™ but argument is of type โ€˜char *โ€™
     yaml_scalar_event_initialize(yaml_event_t *event,
     ^
    ext/_yaml.c:22145:76: warning: pointer targets in passing argument 2 of โ€˜yaml_sequence_start_event_initializeโ€™ differ in signedness [-Wpointer-sign]
           __pyx_t_2 = ((yaml_sequence_start_event_initialize((&__pyx_v_event), __pyx_v_anchor, __pyx_v_tag, __pyx_v_implicit, __pyx_v_sequence_style) == 0) != 0);
                                                                                ^
    In file included from ext/_yaml.h:2:0,
                     from ext/_yaml.c:596:
    /usr/include/yaml.h:601:1: note: expected โ€˜yaml_char_t * {aka unsigned char *}โ€™ but argument is of type โ€˜char *โ€™
     yaml_sequence_start_event_initialize(yaml_event_t *event,
     ^
    ext/_yaml.c:22145:92: warning: pointer targets in passing argument 3 of โ€˜yaml_sequence_start_event_initializeโ€™ differ in signedness [-Wpointer-sign]
           __pyx_t_2 = ((yaml_sequence_start_event_initialize((&__pyx_v_event), __pyx_v_anchor, __pyx_v_tag, __pyx_v_implicit, __pyx_v_sequence_style) == 0) != 0);
                                                                                                ^
    In file included from ext/_yaml.h:2:0,
                     from ext/_yaml.c:596:
    /usr/include/yaml.h:601:1: note: expected โ€˜yaml_char_t * {aka unsigned char *}โ€™ but argument is of type โ€˜char *โ€™
     yaml_sequence_start_event_initialize(yaml_event_t *event,
     ^
    ext/_yaml.c:22675:75: warning: pointer targets in passing argument 2 of โ€˜yaml_mapping_start_event_initializeโ€™ differ in signedness [-Wpointer-sign]
           __pyx_t_2 = ((yaml_mapping_start_event_initialize((&__pyx_v_event), __pyx_v_anchor, __pyx_v_tag, __pyx_v_implicit, __pyx_v_mapping_style) == 0) != 0);
                                                                               ^
    In file included from ext/_yaml.h:2:0,
                     from ext/_yaml.c:596:
    /usr/include/yaml.h:633:1: note: expected โ€˜yaml_char_t * {aka unsigned char *}โ€™ but argument is of type โ€˜char *โ€™
     yaml_mapping_start_event_initialize(yaml_event_t *event,
     ^
    ext/_yaml.c:22675:91: warning: pointer targets in passing argument 3 of โ€˜yaml_mapping_start_event_initializeโ€™ differ in signedness [-Wpointer-sign]
           __pyx_t_2 = ((yaml_mapping_start_event_initialize((&__pyx_v_event), __pyx_v_anchor, __pyx_v_tag, __pyx_v_implicit, __pyx_v_mapping_style) == 0) != 0);
                                                                                               ^
    In file included from ext/_yaml.h:2:0,
                     from ext/_yaml.c:596:
    /usr/include/yaml.h:633:1: note: expected โ€˜yaml_char_t * {aka unsigned char *}โ€™ but argument is of type โ€˜char *โ€™
     yaml_mapping_start_event_initialize(yaml_event_t *event,
     ^
    warning: install_lib: byte-compiling is disabled, skipping.
    
    warning: install_lib: byte-compiling is disabled, skipping.
    
    zip_safe flag not set; analyzing archive contents...
    
    Installed /home/fc464/software/HiCAssembler/hic2cool/.eggs/PyYAML-5.1.1-py2.7-linux-x86_64.egg
    Searching for pysam>0.8
    Reading https://pypi.org/simple/pysam/
    Downloading https://files.pythonhosted.org/packages/1b/7d/68b6555c7bb414b655495305d2add784c251fc83d4e698878e6d1d35fc9a/pysam-0.15.2-cp27-cp27m-manylinux1_x86_64.whl#sha256=34dd4cf08cbdea1329a140f5446c319992460d400b9851c0cb5607f3c58ad256
    Best match: pysam 0.15.2
    Processing pysam-0.15.2-cp27-cp27m-manylinux1_x86_64.whl
    Installing pysam-0.15.2-cp27-cp27m-manylinux1_x86_64.whl to /home/fc464/software/HiCAssembler/hic2cool/.eggs
    
    Installed /home/fc464/software/HiCAssembler/hic2cool/.eggs/pysam-0.15.2-py2.7-linux-x86_64.egg
    Searching for pypairix
    Reading https://pypi.org/simple/pypairix/
    Downloading https://files.pythonhosted.org/packages/5a/52/6e44173759dcdaee003cf668fe8764b468c5b698e58f09540953961e6d36/pypairix-0.3.7.tar.gz#sha256=c1b47c05f92b5be628923c60a27344503ddeba5d8f35a3752d646271d38e0525
    Best match: pypairix 0.3.7
    Processing pypairix-0.3.7.tar.gz
    Writing /tmp/easy_install-U1i2uV/pypairix-0.3.7/setup.cfg
    Running pypairix-0.3.7/setup.py -q bdist_egg --dist-dir /tmp/easy_install-U1i2uV/pypairix-0.3.7/egg-dist-tmp-F2N6i7
    src/bgzf.c:102:14: warning: function declaration isnโ€™t a prototype [-Wstrict-prototypes]
     static BGZF *bgzf_read_init()
                  ^
    src/bgzf.c: In function โ€˜bgzf_block_lengthโ€™:
    src/bgzf.c:331:27: warning: unused variable โ€˜remainingโ€™ [-Wunused-variable]
      int count, block_length, remaining;
                               ^
    src/bgzf.c:330:40: warning: unused variable โ€˜compressed_blockโ€™ [-Wunused-variable]
      uint8_t header[BLOCK_HEADER_LENGTH], *compressed_block;
                                            ^
    src/bgzf.c: In function โ€˜bgzf_closeโ€™:
    src/bgzf.c:456:11: warning: variable โ€˜countโ€™ set but not used [-Wunused-but-set-variable]
      int ret, count, block_length;
               ^
    src/bgzip.c:36:12: warning: function declaration isnโ€™t a prototype [-Wstrict-prototypes]
     static int bgzip_main_usage()
                ^
    In file included from src/index.c:7:0:
    src/bam_endian.h:6:19: warning: function declaration isnโ€™t a prototype [-Wstrict-prototypes]
     static inline int bam_is_big_endian()
                       ^
    In file included from src/index.c:4:0:
    src/khash.h:129:31: warning: function declaration isnโ€™t a prototype [-Wstrict-prototypes]
      static inline kh_##name##_t *kh_init_##name() {      \
                                   ^
    src/khash.h:453:2: note: in expansion of macro โ€˜KHASH_INITโ€™
      KHASH_INIT(name, uint32_t, khval_t, 1, kh_int_hash_func, kh_int_hash_equal)
      ^
    src/index.c:51:1: note: in expansion of macro โ€˜KHASH_MAP_INIT_INTโ€™
     KHASH_MAP_INIT_INT(i, ti_binlist_t)
     ^
    src/khash.h:129:31: warning: function declaration isnโ€™t a prototype [-Wstrict-prototypes]
      static inline kh_##name##_t *kh_init_##name() {      \
                                   ^
    src/khash.h:484:2: note: in expansion of macro โ€˜KHASH_INITโ€™
      KHASH_INIT(name, kh_cstr_t, khval_t, 1, kh_str_hash_func, kh_str_hash_equal)
      ^
    src/index.c:52:1: note: in expansion of macro โ€˜KHASH_MAP_INIT_STRโ€™
     KHASH_MAP_INIT_STR(s, int)
     ^
    src/index.c: In function โ€˜ti_parse_region2dโ€™:
    src/index.c:864:69: warning: passing argument 1 of โ€˜ti_get_region_split_characterโ€™ discards โ€˜constโ€™ qualifier from pointer target type [-Wdiscarded-qualifiers]
             char region_split_character = ti_get_region_split_character(idx);
                                                                         ^
    In file included from src/index.c:11:0:
    src/pairix.h:218:14: note: expected โ€˜ti_index_t * {aka struct __ti_index_t *}โ€™ but argument is of type โ€˜const ti_index_t * {aka const struct __ti_index_t *}โ€™
             char ti_get_region_split_character(ti_index_t *idx);
                  ^
    src/index.c:878:30: warning: passing argument 1 of โ€˜ti_get_sc2โ€™ discards โ€˜constโ€™ qualifier from pointer target type [-Wdiscarded-qualifiers]
             int dim = ti_get_sc2(idx)+1==0?1:2;
                                  ^
    In file included from src/index.c:11:0:
    src/pairix.h:209:13: note: expected โ€˜ti_index_t * {aka struct __ti_index_t *}โ€™ but argument is of type โ€˜const ti_index_t * {aka const struct __ti_index_t *}โ€™
             int ti_get_sc2(ti_index_t *idx);
                 ^
    src/index.c: In function โ€˜ti_querys_2d_generalโ€™:
    src/index.c:1219:31: warning: initialization from incompatible pointer type [-Wincompatible-pointer-types]
              char **chrpairlist = ti_seqname(t->idx, &n_seqpair_list);
                                   ^
    src/index.c:1236:59: warning: passing argument 2 of โ€˜ti_querys_2d_multiโ€™ from incompatible pointer type [-Wincompatible-pointer-types]
              sequential_iter_t *siter = ti_querys_2d_multi(t, regions, n_sub_list);
                                                               ^
    In file included from src/index.c:11:0:
    src/pairix.h:131:28: note: expected โ€˜const char **โ€™ but argument is of type โ€˜char **โ€™
             sequential_iter_t *ti_querys_2d_multi(pairix_t *t, const char **regs, int nRegs);
                                ^
    src/index.c:1242:30: warning: initialization discards โ€˜constโ€™ qualifier from pointer target type [-Wdiscarded-qualifiers]
              *sp=0; char *chr1 = reg;
                                  ^
    src/index.c:1246:31: warning: initialization from incompatible pointer type [-Wincompatible-pointer-types]
              char **chrpairlist = ti_seqname(t->idx, &n_seqpair_list);
                                   ^
    src/index.c:1263:59: warning: passing argument 2 of โ€˜ti_querys_2d_multiโ€™ from incompatible pointer type [-Wincompatible-pointer-types]
              sequential_iter_t *siter = ti_querys_2d_multi(t, regions, n_sub_list);
                                                               ^
    In file included from src/index.c:11:0:
    src/pairix.h:131:28: note: expected โ€˜const char **โ€™ but argument is of type โ€˜char **โ€™
             sequential_iter_t *ti_querys_2d_multi(pairix_t *t, const char **regs, int nRegs);
                                ^
    src/index.c: In function โ€˜ti_query_2d_tidโ€™:
    src/index.c:1417:24: warning: return makes integer from pointer without a cast [-Wint-conversion]
      if (name == 0) return ti_iter_first();
                            ^
    src/index.c: In function โ€˜create_merged_iterโ€™:
    src/index.c:1469:6: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
          if( miter->iu = calloc(n,sizeof(iter_unit*))) {
          ^
    src/index.c: In function โ€˜merged_ti_readโ€™:
    src/index.c:1537:19: warning: assignment discards โ€˜constโ€™ qualifier from pointer target type [-Wdiscarded-qualifiers]
             miu[i]->s = ti_iter_read(miu[i]->t->fp, miu[i]->iter, miu[i]->len, seqonly);
                       ^
    src/index.c:1543:17: warning: assignment discards โ€˜constโ€™ qualifier from pointer target type [-Wdiscarded-qualifiers]
           miu[0]->s = ti_iter_read(miu[0]->t->fp, miu[0]->iter, miu[0]->len, seqonly); // get next entry for the flushed iter
                     ^
    src/index.c: In function โ€˜sequential_ti_readโ€™:
    src/index.c:1573:15: warning: initialization discards โ€˜constโ€™ qualifier from pointer target type [-Wdiscarded-qualifiers]
         char *s = ti_iter_read(siter->t->fp,siter->iter[siter->curr], len, 0);
                   ^
    src/index.c:1576:9: warning: assignment discards โ€˜constโ€™ qualifier from pointer target type [-Wdiscarded-qualifiers]
           s = ti_iter_read(siter->t->fp,siter->iter[siter->curr], len, 0);
             ^
    src/index.c: In function โ€˜get_unique_merged_seqnameโ€™:
    src/index.c:1643:22: warning: assignment from incompatible pointer type [-Wincompatible-pointer-types]
                 seqnames = ti_seqname(tbs[i]->idx,&len);
                          ^
    src/index.c: In function โ€˜flip_regionโ€™:
    src/index.c:1744:19: warning: variable โ€˜split_posโ€™ set but not used [-Wunused-but-set-variable]
         int l, i, l2, split_pos;
                       ^
    src/index.c: In function โ€˜querys_2D_wrapperโ€™:
    src/index.c:1911:34: warning: passing argument 1 of โ€˜flip_regionโ€™ discards โ€˜constโ€™ qualifier from pointer target type [-Wdiscarded-qualifiers]
             char *reg2 = flip_region(reg, get_region_split_character(tb));
                                      ^
    src/index.c:1743:7: note: expected โ€˜char *โ€™ but argument is of type โ€˜const char *โ€™
     char *flip_region ( char* s, char region_split_character) {
           ^
    src/index.c: In function โ€˜check_triangleโ€™:
    src/index.c:1971:23: warning: initialization from incompatible pointer type [-Wincompatible-pointer-types]
         char **seqnames = ti_seqname(idx,&len);
                           ^
    src/index.c:1977:64: warning: passing argument 1 of โ€˜freeโ€™ discards โ€˜constโ€™ qualifier from pointer target type [-Wdiscarded-qualifiers]
               if(ti_get_tid(idx, reg2)!=-1) { free(seqnames); free(reg2); return(0); }  // not a triangle
                                                                    ^
    In file included from src/khash.h:94:0,
                     from src/index.c:4:
    /usr/include/stdlib.h:482:13: note: expected โ€˜void *โ€™ but argument is of type โ€˜const char *โ€™
     extern void free (void *__ptr) __THROW;
                 ^
    src/index.c:1978:14: warning: passing argument 1 of โ€˜freeโ€™ discards โ€˜constโ€™ qualifier from pointer target type [-Wdiscarded-qualifiers]
             free(reg2);
                  ^
    In file included from src/khash.h:94:0,
                     from src/index.c:4:
    /usr/include/stdlib.h:482:13: note: expected โ€˜void *โ€™ but argument is of type โ€˜const char *โ€™
     extern void free (void *__ptr) __THROW;
                 ^
    src/pairixmodule.c: In function โ€˜pairix_newโ€™:
    src/pairixmodule.c:367:9: warning: unused variable โ€˜iโ€™ [-Wunused-variable]
         int i;
             ^
    src/pairixmodule.c: In function โ€˜pairix_querys_2Dโ€™:
    src/pairixmodule.c:559:28: warning: passing argument 1 of โ€˜flip_regionโ€™ discards โ€˜constโ€™ qualifier from pointer target type [-Wdiscarded-qualifiers]
             reg2 = flip_region(reg, get_region_split_character(self->tb));
                                ^
    In file included from src/pairixmodule.c:34:0:
    src/pairix.h:223:15: note: expected โ€˜char *โ€™ but argument is of type โ€˜const char *โ€™
             char* flip_region(char *s, char region_split_character);
                   ^
    src/pairixmodule.c: In function โ€˜pairix_get_blocknamesโ€™:
    src/pairixmodule.c:603:23: warning: initialization from incompatible pointer type [-Wincompatible-pointer-types]
       char **blocknames = ti_seqname(self->tb->idx, &n);
                           ^
    src/pairixmodule.c: In function โ€˜pairix_get_headerโ€™:
    src/pairixmodule.c:693:15: warning: assignment discards โ€˜constโ€™ qualifier from pointer target type [-Wdiscarded-qualifiers]
         while ((s = sequential_ti_read(siter, &len)) != 0) {
                   ^
    src/pairixmodule.c:704:15: warning: assignment discards โ€˜constโ€™ qualifier from pointer target type [-Wdiscarded-qualifiers]
         while ((s = sequential_ti_read(siter, &len)) != 0) {
                   ^
    src/pairixmodule.c: In function โ€˜pairix_get_chromsizeโ€™:
    src/pairixmodule.c:726:15: warning: assignment discards โ€˜constโ€™ qualifier from pointer target type [-Wdiscarded-qualifiers]
         while ((s = sequential_ti_read(siter, &len)) != 0) {
                   ^
    src/pairixmodule.c:738:15: warning: assignment discards โ€˜constโ€™ qualifier from pointer target type [-Wdiscarded-qualifiers]
         while ((s = sequential_ti_read(siter, &len)) != 0) {
                   ^
    warning: install_lib: byte-compiling is disabled, skipping.
    
    warning: install_lib: byte-compiling is disabled, skipping.
    
    zip_safe flag not set; analyzing archive contents...
    Moving pypairix-0.3.7-py2.7-linux-x86_64.egg to /home/fc464/software/HiCAssembler/hic2cool/.eggs
    
    Installed /home/fc464/software/HiCAssembler/hic2cool/.eggs/pypairix-0.3.7-py2.7-linux-x86_64.egg
    Searching for pyfaidx
    Reading https://pypi.org/simple/pyfaidx/
    Downloading https://files.pythonhosted.org/packages/75/a5/7e2569527b3849ea28d79b4f70d7cf46a47d36459bc59e0efa4e10e8c8b2/pyfaidx-0.5.5.2.tar.gz#sha256=9ac22bdc7b9c5d995d32eb9dc278af9ba970481636ec75c0d687d38c26446caa
    Best match: pyfaidx 0.5.5.2
    Processing pyfaidx-0.5.5.2.tar.gz
    Writing /tmp/easy_install-VBtocw/pyfaidx-0.5.5.2/setup.cfg
    Running pyfaidx-0.5.5.2/setup.py -q bdist_egg --dist-dir /tmp/easy_install-VBtocw/pyfaidx-0.5.5.2/egg-dist-tmp-p7kNWb
    warning: no files found matching 'docs/build/html/*'
    warning: build_py: byte-compiling is disabled, skipping.
    
    warning: install_lib: byte-compiling is disabled, skipping.
    
    zip_safe flag not set; analyzing archive contents...
    Moving pyfaidx-0.5.5.2-py2.7.egg to /home/fc464/software/HiCAssembler/hic2cool/.eggs
    
    Installed /home/fc464/software/HiCAssembler/hic2cool/.eggs/pyfaidx-0.5.5.2-py2.7.egg
    Searching for pandas>=0.19
    Reading https://pypi.org/simple/pandas/
    Downloading https://files.pythonhosted.org/packages/3e/a7/bfbaa1b8b2abc129793c329b37e69c54f5fd9a06f21a283ff91b17eaca73/pandas-0.25.0rc0.tar.gz#sha256=7fa6e3264009127c3b2c2dbd7257ec1301940c0bea0daae983d9d3ac0d7bb8a1
    Best match: pandas 0.25.0rc0
    Processing pandas-0.25.0rc0.tar.gz
    Writing /tmp/easy_install-hMeZV8/pandas-0.25.0rc0/setup.cfg
    Running pandas-0.25.0rc0/setup.py -q bdist_egg --dist-dir /tmp/easy_install-hMeZV8/pandas-0.25.0rc0/egg-dist-tmp-ZJ62cY
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/home/fc464/software/HiCAssembler/hic2cool/setup.py", line 58, in <module>
        "Topic :: Scientific/Engineering :: Bio-Informatics"
      File "/home/fc464/software/HiCAssembler/lib/python2.7/site-packages/setuptools/__init__.py", line 144, in setup
        _install_setup_requires(attrs)
      File "/home/fc464/software/HiCAssembler/lib/python2.7/site-packages/setuptools/__init__.py", line 139, in _install_setup_requires
        dist.fetch_build_eggs(dist.setup_requires)
      File "/home/fc464/software/HiCAssembler/lib/python2.7/site-packages/setuptools/dist.py", line 717, in fetch_build_eggs
        replace_conflicting=True,
      File "/home/fc464/software/HiCAssembler/lib/python2.7/site-packages/pkg_resources/__init__.py", line 782, in resolve
        replace_conflicting=replace_conflicting
      File "/home/fc464/software/HiCAssembler/lib/python2.7/site-packages/pkg_resources/__init__.py", line 1065, in best_match
        return self.obtain(req, installer)
      File "/home/fc464/software/HiCAssembler/lib/python2.7/site-packages/pkg_resources/__init__.py", line 1077, in obtain
        return installer(requirement)
      File "/home/fc464/software/HiCAssembler/lib/python2.7/site-packages/setuptools/dist.py", line 784, in fetch_build_egg
        return cmd.easy_install(req)
      File "/home/fc464/software/HiCAssembler/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 679, in easy_install
        return self.install_item(spec, dist.location, tmpdir, deps)
      File "/home/fc464/software/HiCAssembler/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 705, in install_item
        dists = self.install_eggs(spec, download, tmpdir)
      File "/home/fc464/software/HiCAssembler/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 890, in install_eggs
        return self.build_and_install(setup_script, setup_base)
      File "/home/fc464/software/HiCAssembler/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 1158, in build_and_install
        self.run_setup(setup_script, setup_base, args)
      File "/home/fc464/software/HiCAssembler/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 1144, in run_setup
        run_setup(setup_script, args)
      File "/home/fc464/software/HiCAssembler/lib/python2.7/site-packages/setuptools/sandbox.py", line 253, in run_setup
        raise
      File "/usr/local/software/spack/spack-0.11.2/opt/spack/linux-rhel7-x86_64/gcc-5.4.0/python-2.7.13-yubmrmnjlffovbkco3hpujao4asp6pyl/lib/python2.7/contextlib.py", line 35, in __exit__
        self.gen.throw(type, value, traceback)
      File "/home/fc464/software/HiCAssembler/lib/python2.7/site-packages/setuptools/sandbox.py", line 195, in setup_context
        yield
      File "/usr/local/software/spack/spack-0.11.2/opt/spack/linux-rhel7-x86_64/gcc-5.4.0/python-2.7.13-yubmrmnjlffovbkco3hpujao4asp6pyl/lib/python2.7/contextlib.py", line 35, in __exit__
        self.gen.throw(type, value, traceback)
      File "/home/fc464/software/HiCAssembler/lib/python2.7/site-packages/setuptools/sandbox.py", line 166, in save_modules
        saved_exc.resume()
      File "/home/fc464/software/HiCAssembler/lib/python2.7/site-packages/setuptools/sandbox.py", line 141, in resume
        six.reraise(type, exc, self._tb)
      File "/home/fc464/software/HiCAssembler/lib/python2.7/site-packages/setuptools/sandbox.py", line 154, in save_modules
        yield saved
      File "/home/fc464/software/HiCAssembler/lib/python2.7/site-packages/setuptools/sandbox.py", line 195, in setup_context
        yield
      File "/home/fc464/software/HiCAssembler/lib/python2.7/site-packages/setuptools/sandbox.py", line 250, in run_setup
        _execfile(setup_script, ns)
      File "/home/fc464/software/HiCAssembler/lib/python2.7/site-packages/setuptools/sandbox.py", line 45, in _execfile
        exec(code, globals, locals)
      File "/tmp/easy_install-hMeZV8/pandas-0.25.0rc0/setup.py", line 21, in <module>
        'scipy<=1.2.1',
      File "/tmp/easy_install-hMeZV8/pandas-0.25.0rc0/versioneer.py", line 1629
        print("Adding sample versioneer config to setup.cfg", file=sys.stderr)
                                                                  ^
    SyntaxError: invalid syntax
    ----------------------------------------
ERROR: Command "python setup.py egg_info" failed with error code 1 in /home/fc464/software/HiCAssembler/hic2cool/

I need it for HiCAssembler which ueses python 2.7. Any conflict here?

Thanks
F

wrong chromosome names appear in warning messages

I am converting a hic file. The genome is mouse (mm9), which has 19 somatic chromosomes, chrX, chrY, chrM and some *_random scaffolds. However I am getting warning messages which make no sense:

!!! WARNING. Normalization vector VC does not exist for chr idx 22.
!!! WARNING. Normalization vector VC_SQRT does not exist for chr idx 22.
!!! WARNING. Normalization vector KR does not exist for chr idx 22.
... The intersection between chr 1 and chr 22 cannot be found in the hic file.

I opened the binary .hic file and looked in the header: the chromosomes are named UCSC style chr1..chr19,chrX,chrY,chrM indeed. I peeked into the code and realised that c1 and c1 (passed as a single "_"-concatenated string!) are probably array indices.

I propose two solutions

  1. proper one: report real chromosome names from hic file instead of "chr ".
  2. quick fix: spell out "contig number" explicitly instead of "chr" in warning messages to remove confusion.

ValueError when converting hic file to cool file

I met an error when converting hic file to cool format file. The error message is below.
ValueError: buffer is smaller than requested size

.hic file was generated using hicpro2juicebox.sh in HiC-Pro-3.1.0 with default parameters. I used juicer_tools_2.13.07.jar to generate hic file. What should I do check?

Balancing weight inversion, or not

There have been issues about it already, but still. As far as I understand, hic2cool>=0.5 should not invert KR etc normalization weights, and they should be divisive. But I have just converted a bunch of .hic files from Rao et al 2014 paper, and the weights are clearly multiplicative:
image
Note that weights are below 1, but in the info it is 'generated-by': 'hic2cool-0.5.1',. Am I misunderstanding something?

cool required attributes not found in hic files converted to cool files

Hi

I have a package which allows users to import and read cool files. But, users have reported that when using the hic2cool converter, the files cannot be read. Investigation of the issue has lead me to believe that the problem is in hic2cool. Read on for details of the procedure.

I installed the hic2cool utility and tried to convert a .hic file to cool format.

I tried to use this file: https://data.4dnucleome.org/files-processed/4DNFIH3OTR14/

After converting it to cool format, I found that many of the attributes which are defined as required attributes as per the cooler schema, version3 and listed in version2 are not introduced by the converter.

format; Length: 1; value: HDF5::Cooler
Error in ReturnH5Attribute(Handle = Brick.handler, name = An.attribute,  :
  Attribute format-versionnot found in HDF file.

format-version; Length: 1; value: Error in ReturnH5Attribute(Handle = Brick.handler, name = An.attribute,  :
  Attribute format-versionnot found in HDF file.

bin-type; Length: 1; value: fixed
bin-size; Length: 1; value: 50000
Error in ReturnH5Attribute(Handle = Brick.handler, name = An.attribute,  :
  Attribute storage-modenot found in HDF file.

storage-mode; Length: 1; value: Error in ReturnH5Attribute(Handle = Brick.handler, name = An.attribute,  :
  Attribute storage-modenot found in HDF file.

My package depends on the format-version attribute to decipher between v1 v2 and v3 formats. Without it a cool file is not processed. Please provide a bugfix towards this issue.

hic2cool command not found on zsh

Hi, I recently updated my MacOS and now the command line shell switched from bash to zsh. I tried running hic2cool but the command was not found this time, even though previously the command always worked under bash. What should I do?

Hic2cool convert error

Hi,
i want to convert my matrice in .hic to .cool but i have always this problem :

hic2cool -v
hic2cool 0.7.3
hic2cool convert Pvam_2.0.hic Pvam_2.0.cool
Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.7/bin/hic2cool", line 8, in <module>
    sys.exit(main())
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/hic2cool/__main__.py", line 80, in main
    hic2cool_convert(args.infile, args.outfile, args.resolution, args.warnings, args.silent)
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/hic2cool/hic2cool_utils.py", line 830, in hic2cool_convert
    pair_footer_info, expected, factors, norm_info = read_footer(req, buf, masteridx)
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/hic2cool/hic2cool_utils.py", line 115, in read_footer
    nBytes = struct.unpack(b'<i', f.read(4))[0]
struct.error: unpack requires a buffer of 4 bytes

memory issue

We had an occasion where >15GB mem was required for 749.2 MB hic file. Could it be optimized a bit more?

Error in converting .hic to .cool

Hi, I want to try out this new protocol called Cut-C, which combines Micro-C with Cut and Run to identify protein-centric interactions at high resolution. The authors uploaded .hic files on GEO which I wanted to convert to m.cool to visualize on HiGlass. However, when converting the .hic file to .cool I received this error message: ... This does not appear to be a HiC file; magic string is incorrect.
I cannot load this file on Juicebox. What could be the problem? I attached the link to the file in question.

https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSM3587377

I downloaded the ftp link.

Thanks!

Installing hic2cool doesn't install executable

hic2cool is successfully installed using pip:

[peter@mbi-cw-l10381 Forcato-et-al-2017]$ pip install hic2cool
Collecting hic2cool
  Downloading hic2cool-0.3.5.tar.gz
Requirement already satisfied: h5py>=2.5.0 in /Users/peter/miniconda3/envs/cenv3/lib/python3.6/site-packages (from hic2cool)
Requirement already satisfied: numpy>=1.10.1 in /Users/peter/miniconda3/envs/cenv3/lib/python3.6/site-packages (from hic2cool)
Requirement already satisfied: six in /Users/peter/miniconda3/envs/cenv3/lib/python3.6/site-packages (from h5py>=2.5.0->hic2cool)
Building wheels for collected packages: hic2cool
  Running setup.py bdist_wheel for hic2cool ... done
  Stored in directory: /Users/peter/Library/Caches/pip/wheels/0b/27/e7/a8e78b33ac862af36a385c7cfc8fe615ca5ddb36412d0b5d25
Successfully built hic2cool
Installing collected packages: hic2cool
Successfully installed hic2cool-0.3.5

But when I try to run it from the command line, it says that hic2cool is not found:

[peter@mbi-cw-l10381 Forcato-et-al-2017]$ hic2cool
-bash: hic2cool: command not found

This is using conda and python3.

No weight column in the converted .mcool file

Hello, first of all thank you for creating this package.
I had one doubt, whenever I am converting the *.hic file to *.mcool file, the weight column is missing from the file?
Is there any way I can add that weight column in the new converted file

unicode error

Hi developer, I am trying to convert a hic file to a cool file but get the following error.

$ hic2cool test.hic test.cool
Traceback (most recent call last):
  File "/usr/local/bin/hic2cool", line 11, in 
    load_entry_point('hic2cool==0.3.7', 'console_scripts', 'hic2cool')()
  File "/usr/local/lib/python2.7/dist-packages/hic2cool/__main__.py", line 46, in main
    args.normalization, args.exclude_MT, True)
  File "/usr/local/lib/python2.7/dist-packages/hic2cool/hic2cool_utils.py", line 722, in hic2cool_convert
    req, used_chrs, resolutions, masteridx, genome = read_header(infile)
  File "/usr/local/lib/python2.7/dist-packages/hic2cool/hic2cool_utils.py", line 63, in read_header
    magic_string = struct.unpack('<3s', req.read(3))[0]
TypeError: Struct() argument 1 must be string, not unicode

Error -3 while decompressing data

Hi
I am trying to convert .hic file to mcool. It show error. Here is how it looks.
Header info from hic
... Chromosomes: ['ALL', '1', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '2', '3', '4', '5' , '6', '7', '8', '9', 'M', 'X', 'Y']
... Resolutions: [2500000, 1000000, 500000, 250000, 100000, 50000, 25000, 10000, 5000]
... Normalizations: ['VC', 'VC_SQRT', 'KR']
... Genome: /usr/local/apps/hicpro/2.11.1/annotation/chrom_mm10.sizes

Converting

... Resolution 2500000 took: 18.117652416229248 seconds.
... Resolution 1000000 took: 13.354706525802612 seconds.
... Resolution 500000 took: 48.48037791252136 seconds.
... Resolution 250000 took: 139.53048062324524 seconds.
multiprocessing.pool.RemoteTraceback:
""
Traceback (most recent call last):
File "/data/chengg2/conda/envs/hic2cool/lib/python3.6/multiprocessing/pool. py", line 119, in worker
result = (True, func(*args, **kwds))
File "/data/chengg2/conda/envs/hic2cool/lib/python3.6/site-packages/hic2coo l/hic2cool_utils.py", line 379, in build_counts_chunk
records = read_block(req, block_record)
File "/data/chengg2/conda/envs/hic2cool/lib/python3.6/site-packages/hic2coo l/hic2cool_utils.py", line 232, in read_block
uncompressedBytes = zlib.decompress(compressedBytes)
zlib.error: Error -3 while decompressing data: too many length or distance sy mbols

"""

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "/data/chengg2/conda/envs/hic2cool/bin/hic2cool", line 8, in
sys.exit(main())
File "/data/chengg2/conda/envs/hic2cool/lib/python3.6/site-packages/hic2coo l/main.py", line 86, in main
hic2cool_convert(args.infile, args.outfile, args.resolution, args.nproc, args.warnings, args.silent)
File "/data/chengg2/conda/envs/hic2cool/lib/python3.6/site-packages/hic2coo l/hic2cool_utils.py", line 940, in hic2cool_convert
used_chrs, show_warnings)
File "/data/chengg2/conda/envs/hic2cool/lib/python3.6/site-packages/hic2coo l/hic2cool_utils.py", line 361, in parse_hic
result_all.extend(mpi_result[mpi].get())
File "/data/chengg2/conda/envs/hic2cool/lib/python3.6/multiprocessing/pool. py", line 644, in get
raise self._value
zlib.error: Error -3 while decompressing data: too many length or distance sy mbols

IndexError: list index out of range

Dear developer,

I got another error while trying to convert an hic to a cool file, could you please tell me how to fix this?

################
### hic2cool ###
################
hic file header info:
Chromosomes:  [u'All', u'chr1', u'chr2', u'chr3', u'chr4', u'chr5', u'chr6', u'chr7', u'chr8', u'chr9', u'chr10', u'chr11', u'chr12', u'chr13', u'chr14', u'chr15', u'chr16', u'chr17', u'chr18', u'chr19', u'chr20', u'chr21', u'chr22', u'chrX', u'chrY', u'chrM']
Resolutions:  [2500000, 1000000, 500000, 250000, 100000, 50000, 25000, 10000, 5000]
Genome:  hg19
Traceback (most recent call last):
  File "/opt/apps/python2/bin/hic2cool", line 11, in 
    sys.exit(main())
  File "/opt/apps/python2/lib/python2.7/site-packages/hic2cool/__main__.py", line 46, in main
    args.normalization, args.exclude_MT, True)
  File "/opt/apps/python2/lib/python2.7/site-packages/hic2cool/hic2cool_utils.py", line 769, in hic2cool_convert
    chr_footer_info, bin_map, count_map)
  File "/opt/apps/python2/lib/python2.7/site-packages/hic2cool/hic2cool_utils.py", line 419, in parse_hic
    normBinX = c1Norm[x]
IndexError: list index out of range

Encoding problem while converting a Juicer matrix?

Hello everyone,

I am trying to convert a .hic matrix that had been created with Juicer Tools's Pre. I use Juicer Tools v2.12.00. Here is the command I use for conversion:

hic2cool convert contact_map.hic contact_map.cool -r 10000

However, I am getting this error:

Traceback (most recent call last): File "/home/user/.conda/envs/hic2cool/bin/hic2cool", line 33, in <module> sys.exit(load_entry_point('hic2cool==0.8.3', 'console_scripts', 'hic2cool')()) File "/home/user/.conda/envs/hic2cool/lib/python3.9/site-packages/hic2cool-0.8.3-py3.9.egg/hic2cool/__main__.py", line 86, in main File "/home/user/.conda/envs/hic2cool/lib/python3.9/site-packages/hic2cool-0.8.3-py3.9.egg/hic2cool/hic2cool_utils.py", line 859, in hic2cool_convert File "/home/user/.conda/envs/hic2cool/lib/python3.9/site-packages/hic2cool-0.8.3-py3.9.egg/hic2cool/hic2cool_utils.py", line 96, in read_header File "/home/user/.conda/envs/hic2cool/lib/python3.9/site-packages/hic2cool-0.8.3-py3.9.egg/hic2cool/hic2cool_utils.py", line 59, in readcstr UnicodeDecodeError: 'utf-8' codec can't decode byte 0xee in position 0: invalid continuation byte

I believe the problem is with the encoding. Can someone help me solve it?

faster conversion?

I'm trying to convert several relatively big .hic files into mcool format. They are around 20G. It took me 18 hours to convert 4.6G. I was wondering if there is a faster way? I didn't see any options to assign multiple threads or increase memory.

Thank you so much and best regards,
Fan

Pip install error with os/lzma_stub.h

Just posting this in case others run into this issue. When installing hic2cool with pip I get:

    htslib/cram/cram_io.c:63:10: fatal error: 'os/lzma_stub.h' file not found

This is easily fixed by install pysam with conda:

conda install -c bioconda pysam

how to output normalization counts?

Hi,
I converted my Hi-C matrix from heic format to cool format. But the reads counts of new cool file were original reads number not the normalization values. Could you tell me how to output normalization counts? My command is

hic2cool ourhicmat.hic  ourhic10kb -r 10000 
cooler dump  -t pixels --header --join -r 1:1-100000 -r2 1 ourhic10kb.cool |head
chrom1	start1	end1	chrom2	start2	end2	count
1	0	10000	1	0	10000	194
1	0	10000	1	10000	20000	127
1	0	10000	1	20000	30000	211
1	0	10000	1	30000	40000	124
1	0	10000	1	40000	50000	38
1	0	10000	1	50000	60000	33
1	0	10000	1	60000	70000	13
1	0	10000	1	70000	80000	21
1	0	10000	1	80000	90000	16

Calling Cooler.pixels raises KeyError: 'nnz' if multiple processes specified in hic2cool convert

hic2cool 0.8.3
cooler, version 0.8.6.post0

hic2cool convert -r 10000 -p 4 $INPUT_DIR/${sample}.hic $COOLER_FILE
>>> pixels = coolfh.pixels(join=True) 
File "/xxxx/lib/python3.6/site-packages/cooler/api.py", line 286, in pixels
    cooler/api.py", line 286, in pixels
KeyError: 'nnz'

Converted cool's info.

>>> coolfh.info.keys()
dict_keys(['bin-size', 'bin-type', 'creation-date', 'format', 'format-url', 
'format-version', 'generated-by', 'genome-assembly', 'graphs', 'nbins', 
'nchroms', 'statistics', 'storage-mode'])

Manually dump juicer .hic file and convert to sparse matrix file and use

cooler load -f coo $SEG_FILE $MATRIX_FILE $COOLER_FILE
>>> coolfh.info.keys()
dict_keys(['bin-size', 'bin-type', 'creation-date', 'format', 'format-url', 
'format-version', 'generated-by', 'genome-assembly', 'metadata', 'nbins', 
'nchroms', 'nnz', 'storage-mode', 'sum'])

Looks like hic2cool didn't write 'nnz' information which should be equal to the number of total pixels (number of lines of $MATRIX_FILE).

error: object header message is too large

Hi,
I have run this command:
hic2cool convert input.hic out.cool

Nonetheless, I get the following error:
ValueError: Unable to create dataset (object header message is too large)

Do you have any advice on a workaround for this?

Thanks,
Gabriel

Add signature string to `info` attributes

To make detection of HDF5 groups containing Coolers easier, we decided to include an additional top-level attribute to serve as a signature.

info['format'] = "HDF5::Cooler"

Also, adding something like info['generated-by'] = 'hic2cool-xxx' could also be useful metadata.

hic2cool conda version

Hi,

Is there any reason why the dependencies on conda are more restricted than in you requirements.txt file?

- numpy >=1.10.1,<=1.16.3
    - scipy <=1.2.1
    - pandas <=0.24.2
    - cooler>=0.8.5
    - h5py >=2.8.0
  run:
    - python
    - numpy >=1.10.1,<=1.16.3
    - scipy <=1.2.1
    - pandas <=0.24.2
    - cooler>=0.8.5
    - h5py >=2.8.0

Especially the <= restrictions are difficult because they prevent the update to new releases which other dependencies are requesting.

Best,

Joachim

Adds 'chr' to chromosome names already containing 'chr'

Hi,
really great tool, many many thanks!
I've found a small issue: even if chromosome names already contain a prefix "chr", hic2cool still adds "chr" to it, such that you get chromosome names like "chrchr1". I possibility could be that you have tested the tool using the Broad Institute's assembly of the human genome; they chose not to prepend their chromosome names with 'chr' and name their chromosomes just '1', '2', etc. Any other genome assembly has the chromosome names prepended with 'chr' (e.g, hg19, mm9, etc)
Anton.

How to specify multiple resolutions in the output file of mcool

How to specify multiple resolutions in the output file of mcool? My original hic file only has res=10kb, 20kb, 40kb, 100kb, 500kb, but -r in hic2cool can only accept one resolution data, and -r 0 produces data that is not the bin I want, What I want to ask is how to generate a specified resolution mcool file in one step

Error converting hic file

The HiC file can be downloaded from here:

ftp://ftp.ncbi.nlm.nih.gov/geo/samples/GSM2358nnn/GSM2358971/suppl/GSM2358971_Kc167primary.hic.gz

The error is here:

################
### hic2cool ###
################
hic file header info:
Chromosomes:  ['All', 'chr2L', 'chr2LHet', 'chr2RHet', 'chr2R', 'chr3L', 'chr3LHet', 'chr3RHet', 'chr3R', 'chrX', 'chrXHet', 'chr4', 'chrYHet', 'chrM', 'chrU', 'chrUextra']
Resolutions:  [2500000, 1000000, 500000, 250000, 100000, 50000, 25000, 10000, 5000, 2000, 1000, 500]
Genome:  /scratch/PI/kornberg/keagen/referencegenomes/fly/dm3/dm3.chrom.sizes
Traceback (most recent call last):
  File "/Users/peter/miniconda3/envs/cenv3/lib/python3.6/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/Users/peter/miniconda3/envs/cenv3/lib/python3.6/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/Users/peter/projects/hic2cool/hic2cool/__main__.py", line 50, in <module>
    main()
  File "/Users/peter/projects/hic2cool/hic2cool/__main__.py", line 46, in main
    args.normalization, args.exclude_MT, True)
  File "/Users/peter/projects/hic2cool/hic2cool/hic2cool_utils.py", line 750, in hic2cool_convert
    req, masteridx, norm, unit, binsize)
  File "/Users/peter/projects/hic2cool/hic2cool/hic2cool_utils.py", line 127, in read_footer
    v = struct.unpack('<d', req.read(8))[0]
struct.error: unpack requires a bytes object of length 8
       79.73 real        74.12 user         2.25 sys

key error

Would like to report another issue, thanks

$ hic2cool GSE63525_IMR90_combined_30.hic GSE63525_IMR90_combined_30.cool
################
### hic2cool ###
################
hic file header info:
Chromosomes:  [u'All', u'chr1', u'chr2', u'chr3', u'chr4', u'chr5', u'chr6', u'chr7', u'chr8', u'chr9', u'chr10', u'chr11', u'chr12', u'chr13', u'chr14', u'chr15', u'chr16', u'chr17', u'chr18', u'chr19', u'chr20', u'chr21', u'chr22', u'chrX', u'chrY', u'chrM']
Resolutions:  [2500000, 1000000, 500000, 250000, 100000, 50000, 25000, 10000, 5000]
Genome:  hg19
Traceback (most recent call last):
  File "/opt/apps/python2/bin/hic2cool", line 11, in 
    sys.exit(main())
  File "/opt/apps/python2/lib/python2.7/site-packages/hic2cool/__main__.py", line 46, in main
    args.normalization, args.exclude_MT, True)
  File "/opt/apps/python2/lib/python2.7/site-packages/hic2cool/hic2cool_utils.py", line 769, in hic2cool_convert
    chr_footer_info, bin_map, count_map)
  File "/opt/apps/python2/lib/python2.7/site-packages/hic2cool/hic2cool_utils.py", line 404, in parse_hic
    c2Norm = read_normalization_vector(req, chr_footer_info[c2])
KeyError: 9

pip version broken

Hi,

installing hic2cool version 0.5 with pip fails with:

Downloading https://files.pythonhosted.org/packages/2b/28/65b9170c2e24d3b2b8864e176e5de61f2abae4bdafaff162e34f2a3387f2/hic2cool-0.5.0.tar.gz
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-install-ohDcFj/hic2cool/setup.py", line 10, in <module>
        with open('requirements.txt') as f:
    IOError: [Errno 2] No such file or directory: 'requirements.txt'

However, version 0.4.2 works.

Best,

Joachim

Update requirements to allow newer versions

Currently, hic2cool prevents the installation of newer Python packages requiring higher versions than the ones listed in the hic2cool requirements.

Is it documented somewhere, why the versions are pinned down?

zlib.error when converting hic to cool

Hi, this is Dejun from the Noble lab. When I run

hic2cool convert test.hic test.cool

on one my .hic file, I got this error:

##########################
### hic2cool / convert ###
##########################
### Header info from hic
... Chromosomes:  ['ALL', 'I', 'II', 'III', 'IV', 'IX', 'V', 'VI', 'VII', 'VIII', 'X', 'XI', 'XII', 'XIII', 'XIV', 'XV', 'XVI', 'M']
... Resolutions:  [500]
... Normalizations:  ['GW_SCALE', 'VC', 'VC_SQRT', 'KR', 'SCALE']
... Genome:  sacCer3
### Converting
multiprocessing.pool.RemoteTraceback: 
"""
Traceback (most recent call last):
  File "/home/dlin2/.pyenv/versions/3.8.2/lib/python3.8/multiprocessing/pool.py", line 125, in worker
    result = (True, func(*args, **kwds))
  File "/home/dlin2/.pyenv/versions/3.8.2/envs/hic2cool/lib/python3.8/site-packages/hic2cool/hic2cool_utils.py", line 379, in build_counts_chunk
    records = read_block(req, block_record)
  File "/home/dlin2/.pyenv/versions/3.8.2/envs/hic2cool/lib/python3.8/site-packages/hic2cool/hic2cool_utils.py", line 232, in read_block
    uncompressedBytes = zlib.decompress(compressedBytes)
zlib.error: Error -5 while decompressing data: incomplete or truncated stream
"""

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/dlin2/.pyenv/versions/hic2cool/bin/hic2cool", line 10, in <module>
    sys.exit(main())
  File "/home/dlin2/.pyenv/versions/3.8.2/envs/hic2cool/lib/python3.8/site-packages/hic2cool/__main__.py", line 86, in main
    hic2cool_convert(args.infile, args.outfile, args.resolution, args.nproc, args.warnings, args.silent)
  File "/home/dlin2/.pyenv/versions/3.8.2/envs/hic2cool/lib/python3.8/site-packages/hic2cool/hic2cool_utils.py", line 938, in hic2cool_convert
    tmp_chunk = parse_hic(req, pool, nproc, chr_key, unit, binsize,
  File "/home/dlin2/.pyenv/versions/3.8.2/envs/hic2cool/lib/python3.8/site-packages/hic2cool/hic2cool_utils.py", line 361, in parse_hic
    result_all.extend(mpi_result[mpi].get())
  File "/home/dlin2/.pyenv/versions/3.8.2/lib/python3.8/multiprocessing/pool.py", line 768, in get
    raise self._value
zlib.error: Error -5 while decompressing data: incomplete or truncated stream

at which point the process is stuck and won't exit unless I manually ctrl+c. I verified that the file test.hic can be opened in Juicebox and everything looks fine.

I am using hic2cool version 0.8.2 and python 3.8.2. Can anyone take a look? Here is the test.hic file that gave the error: https://drive.google.com/file/d/1zT1-R6i79hvbRK0uU-6bglILUcvCnTZ4/view?usp=sharing

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.