Revision a3db96b4990380107673942c1d9fe8e9beb84fad authored by Robert Hoehndorf on 25 November 2015, 06:38:40 UTC, committed by Robert Hoehndorf on 25 November 2015, 06:38:40 UTC
1 parent 79a8059
Raw File
MakeFuncInput.groovy
// arg 0: phenotype file; arg 1: environment file; arg 2: output dir

def pmap = [:].withDefault { new TreeSet() }
new File(args[0]).splitEachLine("\t") { line -> // the phenotypes
  def taxon = line[1]
  def anno = line[2]
  pmap[anno].add(taxon)
}

def emap = [:].withDefault { new TreeSet() }
new File(args[1]).splitEachLine("\t") { line -> // environment
  def taxon = line[0]
  def anno = line[2]
  emap[taxon].add(anno)
}

def taxon2count = [:]
def count = 0
emap.keySet().each { taxon ->
  taxon2count[taxon] = count
  count += 1
}

pmap.each { ppo, tset ->
  def cppo = ppo.replaceAll("<http://phenomebrowser.net/plant-phenotype.owl#","").replaceAll(">","")
  def fout = new PrintWriter(new BufferedWriter(new FileWriter(args[2]+"/"+cppo)))
  emap.each { taxon, envo ->
    if (taxon in tset) {
      envo.each { env ->
	fout.println("TAXON"+taxon2count[taxon]+"\t$env\t1")
      }
    } else {
      envo.each { env ->
	fout.println("TAXON"+taxon2count[taxon]+"\t$env\t0")
      }
    }
  }
  fout.flush()
  fout.close()
}
back to top