extensions/net.sf.basedb.reggie/trunk/src/net/sf/basedb/reggie/vcf/AllInfoFactory.java

Code
Comments
Other
Rev Date Author Line
5729 18 Nov 19 nicklas 1 package net.sf.basedb.reggie.vcf;
5729 18 Nov 19 nicklas 2
5729 18 Nov 19 nicklas 3 /**
5729 18 Nov 19 nicklas 4   Simple InfoFactory implementation that get all values as
5729 18 Nov 19 nicklas 5   strings. Flag entries are mapped to their own keys.
5729 18 Nov 19 nicklas 6 */
5729 18 Nov 19 nicklas 7 public class AllInfoFactory 
5729 18 Nov 19 nicklas 8   implements InfoFactory
5729 18 Nov 19 nicklas 9 {
5729 18 Nov 19 nicklas 10   public static final AllInfoFactory INSTANCE = new AllInfoFactory();
5729 18 Nov 19 nicklas 11   
5729 18 Nov 19 nicklas 12   private AllInfoFactory()
5729 18 Nov 19 nicklas 13   {}
5729 18 Nov 19 nicklas 14
5729 18 Nov 19 nicklas 15   @Override
5729 18 Nov 19 nicklas 16   public void addInfoHeader(String id, String data) 
5729 18 Nov 19 nicklas 17   {}
5729 18 Nov 19 nicklas 18   
5729 18 Nov 19 nicklas 19   @Override
5729 18 Nov 19 nicklas 20   public InfoData getInfo(String info, SnpData snp) 
5729 18 Nov 19 nicklas 21   {
5729 18 Nov 19 nicklas 22     if (info == null) return null;
5729 18 Nov 19 nicklas 23
5729 18 Nov 19 nicklas 24     InfoData data = new InfoData();
5729 18 Nov 19 nicklas 25     String[] entries = info.split(";");
5729 18 Nov 19 nicklas 26     for (String e : entries)
5729 18 Nov 19 nicklas 27     {
5729 18 Nov 19 nicklas 28       String[] kv = e.split("=", 2);
5729 18 Nov 19 nicklas 29       data.setInfo(kv[0], kv.length == 2 ? kv[1] : kv[0]);
5729 18 Nov 19 nicklas 30     }
5729 18 Nov 19 nicklas 31     return data;
5729 18 Nov 19 nicklas 32   }
5729 18 Nov 19 nicklas 33 }