Assign-confidence was written to require very particular columns in its input. The program should be generalized to work with essentially any tab-delimited file. The user can specify what column the score is in, and what column the protein IDs are in (to separate targets from decoys). The output, when tab-delimited input is provided, is simply a new tab-delimited file with all the same columns plus one more -- the q-value.
Rather than doing this, let's just document the current behavior more accurately. Which columns are required? Which are optional? What happens if there are extra columns?