(pep, pep_idx)
| 547 | dt = list(zip(clearcols, coltypes)) |
| 548 | |
| 549 | def extract(pep, pep_idx): |
| 550 | hits = pep.getHits() |
| 551 | if not hits: |
| 552 | if export_unidentified: |
| 553 | return (pep.getIdentifier().encode('utf-8'), pep.getRT(), pep.getMZ(), default_missing_values[float], default_missing_values[int], |
| 554 | default_missing_values[str], default_missing_values[str], default_missing_values[str], pep_idx, default_missing_values[int], *dmv) |
| 555 | else: |
| 556 | return |
| 557 | |
| 558 | besthit = hits[0] |
| 559 | ret = [pep.getIdentifier().encode('utf-8'), pep.getRT(), pep.getMZ(), besthit.getScore(), besthit.getCharge()] |
| 560 | # add accession, start and end positions of peptide evidences as comma separated str (like in mzTab) |
| 561 | evs = besthit.getPeptideEvidences() |
| 562 | ret += [','.join(v) if v else default_missing_values[str] for v in ([e.getProteinAccession() for e in evs], |
| 563 | [str(e.getStart()) for e in evs], |
| 564 | [str(e.getEnd()) for e in evs])] |
| 565 | |
| 566 | ret += [str(pep_idx), 0] # we currently only export the first hit |
| 567 | |
| 568 | for k in metavals: |
| 569 | if besthit.metaValueExists(k): |
| 570 | val = besthit.getMetaValue(k) |
| 571 | if k == b"target_decoy": |
| 572 | if val[0] == 't': |
| 573 | ret.append(True) |
| 574 | else: |
| 575 | ret.append(False) |
| 576 | else: |
| 577 | ret.append(val) |
| 578 | else: |
| 579 | ret.append(default_missing_values[type(val)]) |
| 580 | return tuple(ret) |
| 581 | |
| 582 | return _pd.DataFrame(_np.fromiter((extract(pep, pep_idx) for pep_idx, pep in enumerate(peps)), dtype=dt, count=count)) |
| 583 |
no test coverage detected