Skip to content

Commit

Permalink
Added config files for Encode browser (mm9 and hg18)
Browse files Browse the repository at this point in the history
  • Loading branch information
jrobinso committed Nov 3, 2013
1 parent 6598580 commit a62dc22
Show file tree
Hide file tree
Showing 7 changed files with 4,307 additions and 16 deletions.
80 changes: 80 additions & 0 deletions resources/ucscEncodeDirectories.hg18.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
http://hgdownload.cse.ucsc.edu/goldenPath/hg18/encodeDCC/
wgEncodeAffyRnaChip
wgEncodeBroadChipSeq
wgEncodeBroadHmm
wgEncodeBuOrchid
wgEncodeCaltechRnaSeq
wgEncodeChromatinMap
wgEncodeCshlLongRnaSeq
wgEncodeCshlShortRnaSeq
wgEncodeDukeAffyExonArray
wgEncodeGisDnaPet
wgEncodeGisPet
wgEncodeGisRnaSeq
wgEncodeHelicosRnaSeq
wgEncodeHudsonalphaChipSeq
wgEncodeHudsonalphaCnv
wgEncodeHudsonalphaMethyl27
wgEncodeHudsonalphaMethylSeq
wgEncodeHudsonalphaRnaSeq
wgEncodeMapability
wgEncodeNhgriBip
wgEncodeNhgriNre
wgEncodeReg
wgEncodeRegDnaseClustered
wgEncodeRegMarkEnhH3k4me1
wgEncodeRegMarkEnhH3k4me1Gm12878
wgEncodeRegMarkEnhH3k4me1H1hesc
wgEncodeRegMarkEnhH3k4me1Hepg2
wgEncodeRegMarkEnhH3k4me1Hmec
wgEncodeRegMarkEnhH3k4me1Hsmm
wgEncodeRegMarkEnhH3k4me1Huvec
wgEncodeRegMarkEnhH3k4me1K562
wgEncodeRegMarkEnhH3k4me1Nhek
wgEncodeRegMarkEnhH3k4me1Nhlf
wgEncodeRegMarkEnhH3k4me3Hepg2
wgEncodeRegMarkEnhH3k27ac
wgEncodeRegMarkEnhH3k27acGm12878
wgEncodeRegMarkEnhH3k27acH1hesc
wgEncodeRegMarkEnhH3k27acHepg2
wgEncodeRegMarkEnhH3k27acHmec
wgEncodeRegMarkEnhH3k27acHsmm
wgEncodeRegMarkEnhH3k27acHuvec
wgEncodeRegMarkEnhH3k27acK562
wgEncodeRegMarkEnhH3k27acNhek
wgEncodeRegMarkEnhH3k27acNhlf
wgEncodeRegMarkPromoter
wgEncodeRegMarkPromoterGm12878
wgEncodeRegMarkPromoterH1hesc
wgEncodeRegMarkPromoterHmec
wgEncodeRegMarkPromoterHsmm
wgEncodeRegMarkPromoterHuvec
wgEncodeRegMarkPromoterK562
wgEncodeRegMarkPromoterNhek
wgEncodeRegMarkPromoterNhlf
wgEncodeRegMarkRepressH3k27me3Gm12878
wgEncodeRegMarkRepressH3k27me3H1hesc
wgEncodeRegMarkRepressH3k27me3Hepg2
wgEncodeRegMarkRepressH3k27me3Hmec
wgEncodeRegMarkRepressH3k27me3Hsmm
wgEncodeRegMarkRepressH3k27me3Huvec
wgEncodeRegMarkRepressH3k27me3K562
wgEncodeRegMarkRepressH3k27me3Nhek
wgEncodeRegMarkRepressH3k27me3Nhlf
wgEncodeRegTfbsClustered
wgEncodeRegTxn
wgEncodeRegTxnGm12878
wgEncodeRegTxnH1hesc
wgEncodeRegTxnHepg2
wgEncodeRegTxnHuvec
wgEncodeRegTxnK562
wgEncodeRegTxnNhek
wgEncodeRikenCage
wgEncodeSangerGencode
wgEncodeSunyalbanyRnaGeneChip
wgEncodeUwAffyExonArray
wgEncodeUwChIPSeq
wgEncodeUwDGF
wgEncodeUwDnaseSeq
wgEncodeYaleChIPseq
wgEncodeYaleRNAseq
10 changes: 9 additions & 1 deletion src/org/broad/igv/ui/action/BrowseEncodeAction.java
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
package org.broad.igv.ui.action;

import org.apache.log4j.Logger;
import org.broad.igv.feature.genome.Genome;
import org.broad.igv.ui.IGV;
import org.broad.igv.ui.util.MessageUtils;
import org.broad.igv.util.ResourceLocator;
import org.broad.igv.util.encode.EncodeFileBrowser;
import org.broad.igv.util.encode.EncodeFileRecord;
Expand Down Expand Up @@ -32,7 +34,13 @@ public BrowseEncodeAction(String label, int mnemonic, IGV igv) {
public void actionPerformed(ActionEvent event) {

try {
EncodeFileBrowser browser = EncodeFileBrowser.getInstance();
Genome genome = igv.getGenomeManager().getCurrentGenome();
EncodeFileBrowser browser = EncodeFileBrowser.getInstance(genome.getId());

if(browser == null) {
MessageUtils.showMessage("Encode data is not available for " + genome.getDisplayName() + " through IGV.");
}

browser.setVisible(true);
if(browser.isCanceled()) return;

Expand Down
36 changes: 25 additions & 11 deletions src/org/broad/igv/util/encode/EncodeFileBrowser.java
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ public class EncodeFileBrowser extends JDialog {

private static Logger log = Logger.getLogger(EncodeFileBrowser.class);

private static EncodeFileBrowser theInstance;
private static Map<String, EncodeFileBrowser> instanceMap = Collections.synchronizedMap(new HashMap<String, EncodeFileBrowser>());
private static NumberFormatter numberFormatter = new NumberFormatter();

private JButton cancelButton;
Expand All @@ -53,24 +53,39 @@ public class EncodeFileBrowser extends JDialog {
private boolean canceled;


public synchronized static EncodeFileBrowser getInstance() throws IOException {
public synchronized static EncodeFileBrowser getInstance(String genomeId) throws IOException {

if (theInstance == null) {
List<EncodeFileRecord> records = getEncodeFileRecords();
String encodeGenomeId = getEncodeGenomeId(genomeId);
EncodeFileBrowser instance = instanceMap.get(encodeGenomeId);
if (instance == null) {
List<EncodeFileRecord> records = getEncodeFileRecords(encodeGenomeId);
if (records == null) {
return null;
}
Frame parent = IGV.hasInstance() ? IGV.getMainFrame() : null;
theInstance = new EncodeFileBrowser(parent, new EncodeTableModel(records));
instance = new EncodeFileBrowser(parent, new EncodeTableModel(records));
instanceMap.put(encodeGenomeId, instance);
}

return theInstance;
return instance;
}

private static String getEncodeGenomeId(String genomeId) {
if (genomeId.equals("b37") || genomeId.equals("1kg_v37")) return "hg19";
else if (genomeId.equals("1kg_ref")) return "hg19";
else return genomeId;
}

private static List<EncodeFileRecord> getEncodeFileRecords() throws IOException {
private static List<EncodeFileRecord> getEncodeFileRecords(String genomeId) throws IOException {

InputStream is = null;

try {

is = EncodeFileBrowser.class.getResourceAsStream("encode.txt");
is = EncodeFileBrowser.class.getResourceAsStream("encode." + genomeId + ".txt");
if (is == null) {
return null;
}
BufferedReader reader = new BufferedReader(new InputStreamReader(is));
String[] headers = Globals.tabPattern.split(reader.readLine());
List<EncodeFileRecord> records = new ArrayList<EncodeFileRecord>(20000);
Expand Down Expand Up @@ -232,8 +247,7 @@ private class RegexFilter extends RowFilter {
if (kv.length > 1) {
column = kv[0].trim();
value = kv[1].trim();
}
else {
} else {
value = kv[0]; // Value is column name until more input is entered
}
}
Expand Down Expand Up @@ -382,7 +396,7 @@ public void actionPerformed(ActionEvent e) {


public static void main(String[] args) throws IOException {
getInstance().setVisible(true);
getInstance("hg18").setVisible(true);
}

}
9 changes: 5 additions & 4 deletions src/org/broad/igv/util/encode/UCSCEncodeUtils.java
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ public static void main(String[] args) throws IOException {

//List<EncodeFileRecord> records = new ArrayList();
//parseFilesDotTxt("http://hgdownload.cse.ucsc.edu/goldenPath/hg19/encodeDCC/wgEncodeAffyRnaChip/files.txt", records);
// updateEncodeTableFile();
updateEncodeTableFile(args[0], args[1]);

}

Expand Down Expand Up @@ -63,10 +63,11 @@ private static List<EncodeFileRecord> parseTableFile(String url) throws IOExcept
}


private static void updateEncodeTableFile() throws IOException {
List<EncodeFileRecord> records = parseUCSCMasterFile("resources/ucscEncodeDirectories");
private static void updateEncodeTableFile(String inputFile, String outputFile) throws IOException {

PrintWriter pw = new PrintWriter(new BufferedWriter(new FileWriter("encode.txt")));
List<EncodeFileRecord> records = parseUCSCMasterFile(inputFile);

PrintWriter pw = new PrintWriter(new BufferedWriter(new FileWriter(outputFile)));

pw.print("path");
for (String h : EncodeTableModel.columnHeadings) {
Expand Down
Loading

0 comments on commit a62dc22

Please sign in to comment.