Clover icon

jalviewX

  1. Project Clover database Wed Oct 31 2018 15:13:58 GMT
  2. Package jalview.io.gff

File Gff2Helper.java

 

Coverage histogram

../../../img/srcFileCovDistChart9.png
12% of files have more coverage

Code metrics

2
6
3
1
71
31
4
0.67
2
3
1.33

Classes

Class Line # Actions
Gff2Helper 31 6 4 2
0.818181881.8%
 

Contributing tests

This file is covered by 11 tests. .

Source view

1    /*
2    * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
3    * Copyright (C) $$Year-Rel$$ The Jalview Authors
4    *
5    * This file is part of Jalview.
6    *
7    * Jalview is free software: you can redistribute it and/or
8    * modify it under the terms of the GNU General Public License
9    * as published by the Free Software Foundation, either version 3
10    * of the License, or (at your option) any later version.
11    *
12    * Jalview is distributed in the hope that it will be useful, but
13    * WITHOUT ANY WARRANTY; without even the implied warranty
14    * of MERCHANTABILITY or FITNESS FOR A PARTICULAR
15    * PURPOSE. See the GNU General Public License for more details.
16    *
17    * You should have received a copy of the GNU General Public License
18    * along with Jalview. If not, see <http://www.gnu.org/licenses/>.
19    * The Jalview Authors are detailed in the 'AUTHORS' file.
20    */
21    package jalview.io.gff;
22   
23    import jalview.datamodel.AlignmentI;
24    import jalview.datamodel.SequenceFeature;
25    import jalview.datamodel.SequenceI;
26   
27    import java.io.IOException;
28    import java.util.List;
29    import java.util.Map;
30   
 
31    public class Gff2Helper extends GffHelperBase
32    {
33    /**
34    * GFF2 uses space character to delimit name/value pairs on column 9
35    *
36    * @param text
37    * @return
38    */
 
39  22 toggle public static Map<String, List<String>> parseNameValuePairs(String text)
40    {
41    // TODO: can a value include a comma? if so it will be broken by this
42  22 return parseNameValuePairs(text, ";", ' ', ",");
43    }
44   
45    /**
46    * Return ' ' as the name-value separator used in column 9 attributes.
47    */
 
48  0 toggle @Override
49    protected char getNameValueSeparator()
50    {
51  0 return ' ';
52    }
53   
54    /**
55    * Default processing if not overridden is just to construct a sequence
56    * feature
57    */
 
58  17 toggle @Override
59    public SequenceFeature processGff(SequenceI seq, String[] gff,
60    AlignmentI align, List<SequenceI> newseqs,
61    boolean relaxedIdMatching) throws IOException
62    {
63  17 Map<String, List<String>> attributes = null;
64  17 if (gff.length > ATTRIBUTES_COL)
65    {
66  11 attributes = parseNameValuePairs(gff[ATTRIBUTES_COL]);
67    }
68  17 return buildSequenceFeature(gff, attributes);
69    }
70   
71    }