The rise of high-throughput methods in genomic research greatly expanded our knowledge about the functionality of the genome. At the same time, the amount of available genomic position data increased massively, e.g., through genome-wide profiling of protein binding, virus integration or DNA methylation. However, there is no specialized software to investigate integration site profiles of virus integration or transcription factor binding sites by correlating the sites with the diversity of available genomic annotations.
Here we present Enhort, a user-friendly software tool for relating large sets of genomic positions to a variety of annotations. It functions as a statistics based genome browser, not focused on a single locus but analyzing many genomic positions simultaneously. Enhort provides comprehensive yet easy-to-use methods for statistical analysis, visualization, and the adjustment of background models according to experimental conditions and scientific questions.
# Availability
Enhort is publicly available online at www.enhort.mni.thm.de and published under GNU General Public License.
# Build
Enhort is build using Maven. Some tests do not work well using mvn, the build is possible by skipping the test with -DskipTests=true
Enhort works using a backend server and a frontend webserver. Both need to be build and deployed. Additionally Enhort needs a sqlite database for all annotations and a directory containing the .bed files.
@@ -396,11 +397,10 @@ public final class TrackFactory {
returnTracks.add(track);
}
if(!returnTracks.isEmpty())
returnreturnTracks;
returnreturnTracks;
thrownewRuntimeException("Could not find tracks for packages"+Arrays.toString(packages.toArray())+". Some parts might not be working correct. "+
"Please check the names");
//throw new RuntimeException("Could not find tracks for packages" + Arrays.toString(packages.toArray()) + ". Some parts might not be working correct. " +
@@ -163,6 +163,7 @@ public class BatchController {
TestResulttr=sortedResults.get(trackN);
List<Number>tmp=newArrayList<>();
//TODO CSV:
csv.append(tr.getTrack().getName()).append(" Fold change (log2): ").append(tr.getEffectSize()).append(" In sites: ").append(tr.getMeasuredIn()).append(" In control: ").append(tr.getExpectedIn()).append(" Out sites: ").append(tr.getMeasuredOut()).append(" Out control: ").append(tr.getExpectedOut()).append(" P value: ").append(tr.getpValue());