+ public static final String[] allSources = new String[] { UNIPROT, UP_NAME,
+ UNIPROTKB, ENSEMBL, ENSEMBLGENOMES, EMBL, EMBLCDS, EMBLCDSProduct,
+ PDB, PFAM, RFAM, GENEDB };
+
+ public static final int UNIPROT_MASK = 1 << 0;
+
+ public static final int UP_NAME_MASK = 1 << 1;
+
+ public static final int UNIPROT_KB_MASK = 1 << 2;
+
+ public static final int ENSEMBL_MASK = 1 << 3;
+
+ public static final int ENSEMBL_GENOMES_MASK = 1 << 4;
+
+ public static final int EMBL_MASK = 1 << 5;
+
+ public static final int EMBL_CDS_MASK = 1 << 6;
+
+ public static final int EMBL_CDS_PRODUCT_MASK = 1 << 7;
+
+ public static final int PDB_MASK = 1 << 8;
+
+ public static final int PFAM_MASK = 1 << 9;
+
+ public static final int RFAM_MASK = 1 << 10;
+
+ public static final int GENE_DB_MASK = 1 << 11;
+
+ public static final int MASK_COUNT = 12;
+
+ public static final int ALL_MASKS = (1 << MASK_COUNT) - 1;
+
+ public static int getSourceKey(String name)
+ {
+ for (int i = 0; i < MASK_COUNT; i++)
+ {
+ if (name.equals(allSources[i]))
+ {
+ return 1 << i;
+ }
+ }
+ return 0;
+ }
+
+ public static final int PRIMARY_MASK = UNIPROT_MASK | ENSEMBL_MASK;