n-Constrained Self-Avoiding Chromatin
1- Code requires installation of cmake and boost and eigen3 libraries.
2- After libraries are installed, make sure to change the paths in CMakeLists.txt file.
3- Create a folder called build in the directory where you have the code cd build cmake .. make Above should compile the code. Hopefully no error.
4- to test, I have a test configuration file in the folder. You can run it as ../build/bin/chromatin.sis.coarse -conf <<.ini file>> -prefix AA ../build/bin/chromatin.sis.coarse = executable created after building the code <> = configuration file needed to point to the input files AA = prefix for the output chain files. This helps to iterate over when creating multiple chains. Each run generates different number of chains as the chains will die if the probability constraints are not satisfied.
Brief explanation of the <<.ini>> file
out_path = /output directory/ --> output directory collision_length = 300. ---> chromatin fiber diameter, 300 A is for 30 nm fiber packing_density = 0.1 ---> this ends up giving you 3 kbp DNA per 30 nm fiber number_sample_points = 640 ---> divides the sampling sphere around a monomer to 640 distrete points nucleus_sphere_diameter = 6000 --> you can ignore, this version of the code does not use nuclear diamater start_end_file = test.seg.len.txt --> this is a file that has N-1 number of entries and all of them are 300. this is basically the bond length between monomer for a chain with N monomers pval_file = test.distance.txt --> this is the important input from experiments. You will see there are 3 columns. first two is the interacting chromatin segment i and j, 3rd is the distance constraint between segment i and j. For example, if you see 1 4 400, this means the segment 1 and 4 are interacting with a distance of 400 A.
When referencing this code, please cite:
Gamze Gursoy, Yun Xu, Amy Kenter and Jie Liang. "Identifying functional chromatin interactions from chromosome conformation capture data using large 3D ensembles of n-Constrained Self-Avoiding Chromatin chains", Nucleic Acids Research, Accepted, 2017