Git Product home page Git Product logo

hictools's Introduction


About HiC Tools

HiC Tools is a software package used to build .hic files. This distribution includes the source code for this set of tools and builds the latest v9 .hic files.

Previously, this software used to be bundled with Juicer Tools in the Juicebox repo.

HiC Tools was originally created by Jim Robinson, Neva C. Durand, and Erez Lieberman Aiden. It has been substantially upgraded and improved by Muhammad S Shamim, Suhas S.P. Rao, and many additional contributors.

If you use HiC Tools in your research, please cite: Neva C. Durand, Muhammad S. Shamim, Ido Machol, Suhas S. P. Rao, Miriam H. Huntley, Eric S. Lander, and Erez Lieberman Aiden. "Juicer provides a one-click system for analyzing loop-resolution Hi-C experiments." Cell Systems 3(1), 2016.


Questions?

For FAQs, or for asking new questions, please see our forum: aidenlab.org/forum.html.


IntelliJ Setup

Use IntelliJ IDEA (Community edition - free)

To set up in IDEA, have the Java SDK installed then you'll point to it (IntelliJ has lots of documentation on this sort of thing).

  • Then go to VCS -> checkout from version control.
  • Then go to Run -> Edit Configurations.
  • With the + sign, add Application.
  • You'll create one of these for HiC Tools.
  • Set the main class by clicking the little ... button next to the text box for main class
  • HiCTools.java is the main method class.
  • Under VM Options, set -Xmx2000m
  • The Xmx2000m flag sets the maximum memory heap size to 2GB. Depending on your computer you might want more or less. Some tools will break if there's not enough memory and the file is too large, but don't worry about that for development; 2GB should be fine.
  • One last note: be sure to Commit and Push when you commit files, it's hidden in the dropdown menu button in the commit window.

Hardware and Software Requirements

The minimum software requirement to run Juicebox is a working Java installation (version > 1.8) on Windows, Linux, and Mac OSX. We recommend using the latest Java version available, but please do not use the Java Beta Version. Minimum system requirements for running Java can be found at https://java.com/en/download/help/sysreq.xml. To download and install the latest Java Runtime Environment (JRE), please go to https://www.java.com/download.


Documentation

We have extensive documentation for how to use HiC Tools at https://github.com/aidenlab/juicer/wiki.

hictools's People

Contributors

afl4 avatar anishganti avatar asddf123789 avatar ashsandra avatar bluejay9676 avatar dudcha avatar emilyziyiye avatar erezlab avatar erica-zhong avatar hkfgo avatar imachol avatar jrobinso avatar labdevgen avatar mahdisayadsadr avatar mhoeger avatar moshe-olshansky avatar musianat avatar nchernia avatar nguyenkvi avatar ranganmostofa avatar ranganmostofa11 avatar rebekahtu avatar sa501428 avatar saketh1217 avatar suhas-rao avatar theaidenlab avatar tiendatngcs avatar trafalgar-room avatar weiszd avatar zgire avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

hictools's Issues

[BUG] does not accept proper pairix format

Describe the bug
When giving pre a file in pairix format, it fails to parse the file and throws an exception. To make it accept pairix format, you have to remove some header lines that it does not expect, despite these header lines being officially part of the pairix specification.

To Reproduce
Steps to reproduce the behavior:

  1. Find a valid pairix format file, containing header lines starting with ## pairs, #shape, #chromsize, and #columns, as specified in https://github.com/4dn-dcic/pairix/blob/master/pairs_format_specification.md
  2. Run hic_tools pre with this file as input:
java -Xmx36G -jar /path/to/hic_tools.jar pairix_file.pairs outfile.hic chrom.sizes

This results in the following error:

java.lang.ArrayIndexOutOfBoundsException: 3
        at hic.tools.utils.iterators.mnd.ComplexLineParser.generateBasicPair(ComplexLineParser.java:56)
        at hic.tools.utils.iterators.mnd.MNDFileParser.parseDCICFormat(MNDFileParser.java:118)
        at hic.tools.utils.iterators.mnd.MNDFileParser.parse(MNDFileParser.java:83)
        at hic.tools.utils.iterators.mnd.GenericPairIterator.advance(GenericPairIterator.java:56)
        at hic.tools.utils.iterators.mnd.GenericPairIterator.next(GenericPairIterator.java:46)
        at hic.tools.utils.original.Preprocessor.computeWholeGenomeMatrix(Preprocessor.java:88)
        at hic.tools.utils.original.Preprocessor.writeBody(Preprocessor.java:114)
        at hic.tools.utils.original.Preprocessor.preprocess(Preprocessor.java:54)
        at hic.tools.clt.old.PreProcessing.run(PreProcessing.java:149)
        at hic.tools.HiCTools.main(HiCTools.java:83)

It appears to be trying to parse one of the header lines as if it is not a header line. To fix, I removed all header lines except those starting with ## pairs and #columns and it worked fine.

Expected behavior
The program should not crash on validly-formatted pairix format input.

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.