Working with Cooler, Juicer, and text files¶
FAN-C is fully compatible with Hi-C files from Cooler (.cool
and .mcool
) and Juicer (.hic
).
There is no need to convert them to FAN-C format, you can use them directly in any fanc
command.
Text files, such as HiC-Pro output or 4D Nucleome pairs files must be converted to FAN-C format
before they can be used in any commands
Cooler .cool
and .mcool
¶
.mcool
files are multi-resolution, i.e. they contain matrices for not just
one, but multiple resolutions. Therefore there is a special @
syntax for using these files,
which allow you to set the resolution which should be used for this analysis:
/path/to/cooler.mcool@<resolution>
For example, to load matrices at one megabase resolution
/path/to/cooler.mcool@1mb
Both human-readable resolutions such as 100kb
, 1mb
, etc, and integers like 100000
and 1000000
are supported. Note that the resolution of your choice must be available in the object, which is
generated outside of FAN-C.
Note
Currently, the Cooler file format specification does not intend for expected values to be
stored in the file itself. A lot of FAN-C functions depend on expected values, but because
they are not available in Cooler files they are generated on the fly each time a command
is run. FAN-C tries to be clever about this by caching expected values for a single command,
but expect some slowdowns due to this for some computations. If this becomes an issue,
we recommend converting to FAN-C format (fanc from-cooler
) or to Juicer .hic
.
Juicer .hic
files¶
.hic
files are multi-resolution, i.e. they contain matrices for not just
one, but multiple resolutions. Therefore there is a special @
syntax for using these files,
which allow you to set the resolution which should be used for this analysis:
/path/to/juicer.hic@<resolution>
For example, to load matrices at one megabase resolution
/path/to/juicer.hic@1mb
Both human-readable resolutions such as 100kb
, 1mb
, etc, and integers like 100000
and 1000000
are supported. Note that the resolution of your choice must be available in the object, which is
generated outside of FAN-C.
Choosing a normalisation¶
Juicer files also support multiple normalisation methods. Currently these are VC
(vanilla coverage),
VC_SQRT
(square root vanilla coverage), ICE
(ICE matrix balancing), and KR
(Knight-Ruiz matrix
balancing). You can choose between normalisation methods by adding another @<norm>
to the file name
like this:
/path/to/juicer.hic@1mb@VC
Note that this only works for Juicer files, and is optional. If not specified, the KR norm will be used.
Text files¶
Text files from HiC-Pro or a similar format can be loaded with fanc from-txt
(see fanc from-txt: import Hic from text file).
4D nucleome files, which contain read pair entries, can be loaded with fanc pairs
(see fanc pairs: Generating and filtering read Pairs).