@@ -75,37 +75,44 @@ function Result() {
7575 let IDofSelectableColumns = [ ]
7676 const isGenomeComparison = headers . indexOf ( "Genome" ) !== - 1
7777 let tmpMetadataColumns = { }
78+ let removedHeaders = [ ] ;
7879 let col = headers . map ( ( h , i ) => {
7980 if ( ! isGenomeComparison ) {
8081 if ( [ "Pos" , "Strand" ] . includes ( h ) ) {
81- return null ;
82+ removedHeaders . push ( i )
8283 }
8384 if ( [ "SuperPos" , "SuperStrand" ] . includes ( h ) ) {
8485 // Remove "Super" prefix
8586 h = h . replace ( "Super" , "" ) ;
8687 }
8788 }
8889 if ( selectHeaders . includes ( h ) ) {
89- IDofSelectableColumns . push ( i )
90+ IDofSelectableColumns . push ( i - removedHeaders . length )
9091 }
9192 let filterVariant = getFilterType ( h )
9293 return {
9394 header : h ,
94- accessorKey : i . toString ( ) ,
95+ accessorKey : ( i - removedHeaders . length ) . toString ( ) ,
9596 meta : {
9697 filterVariant : filterVariant ,
9798 } ,
9899 filterFn : filterVariant === "range" ? 'inNumberRange' : filterVariant === "select" ? 'arrIncludesSome' : filterVariant === "none" ? 'none' : 'includesString' ,
99100 sortingFn : h . startsWith ( "rep" ) ? "myReplicateSorting" : cappedValues . includes ( h ) ? "myCappedSorting" : sortingFns . alphanumeric
100101 } ;
101102 } ) ;
102- col = col . filter ( ( c ) => c !== null ) ;
103+ col = col . filter ( ( _ , i ) => ! removedHeaders . includes ( i ) ) ;
103104 const searchFor = isGenomeComparison ? "Genome" : "Condition" ;
104105 const genomeIdx = headers . indexOf ( searchFor ) ;
105106
106107 const allG = new Set ( ) ;
107108 const dataRows = allRows . slice ( 1 ) . map ( row => {
108- const tmp = row . split ( "\t" ) ;
109+ let tmp = row . split ( "\t" ) ;
110+ if ( ! isGenomeComparison ) {
111+ // remove indices of removed headers
112+ tmp = tmp . filter ( ( _ , i ) => {
113+ return ! removedHeaders . includes ( i )
114+ } )
115+ }
109116
110117 allG . add ( tmp [ genomeIdx ] ) ;
111118 return tmp . reduce ( ( acc , content , j ) => {
0 commit comments