Skip to content
Snippets Groups Projects
Commit c3fff51b authored by tjc's avatar tjc
Browse files

optimise getParts()

git-svn-id: svn+ssh://svn.internal.sanger.ac.uk/repos/svn/pathsoft/artemis/trunk@15578 ee4ac58c-ac51-4696-9907-e4b3aa274f04
parent 2b194143
No related branches found
No related tags found
No related merge requests found
...@@ -200,7 +200,7 @@ class BCFReader extends AbstractVCFReader ...@@ -200,7 +200,7 @@ class BCFReader extends AbstractVCFReader
if(bcfRecord.getAlt().isNonVariant()) if(bcfRecord.getAlt().isNonVariant())
nc = 1; nc = 1;
String fmts[] = bcfRecord.getFormat().split(":"); String fmts[] = VCFRecord.COLON_PATTERN.split( bcfRecord.getFormat() );
bcfRecord.setData( new String[nsamples][fmts.length] ); bcfRecord.setData( new String[nsamples][fmts.length] );
for(int j=0; j<nsamples; j++) for(int j=0; j<nsamples; j++)
...@@ -251,13 +251,28 @@ class BCFReader extends AbstractVCFReader ...@@ -251,13 +251,28 @@ class BCFReader extends AbstractVCFReader
buff.append((char)b[i]); buff.append((char)b[i]);
} }
String parts[] = buff.toString().replace(" ", " ").split(" "); int ind = 0;
bcfRecord.setID( parts[0] ); int lastInd = 0;
bcfRecord.setRef( parts[1] ); int i = 0;
bcfRecord.setAlt( parts[2] ); while((ind = buff.indexOf(" ", ind)) > -1)
bcfRecord.setFilter( parts[3] ); {
bcfRecord.setInfo( parts[4] ); switch( i )
bcfRecord.setFormat( parts[5] ); {
case 0: bcfRecord.setID(buff.substring(lastInd, ind)); break;
case 1: bcfRecord.setRef(buff.substring(lastInd, ind)); break;
case 2: bcfRecord.setAlt(buff.substring(lastInd, ind)); break;
case 3: bcfRecord.setFilter(buff.substring(lastInd, ind)); break;
case 4: bcfRecord.setInfo(buff.substring(lastInd, ind)); break;
case 5: bcfRecord.setFormat(buff.substring(lastInd, ind)); break;
default: return;
}
ind++;
if(ind < buff.length() && buff.charAt(ind) == ' ')
ind++;
lastInd = ind;
i++;
}
} }
/** /**
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment