Changeset 41


Ignore:
Timestamp:
Aug 11, 2010, 4:09:08 PM (10 years ago)
Author:
j@…
bzr:base-revision:
j@dannynavarro.net-20100809121654-z178epmzaaz802i2
bzr:committer:
Danny Navarro <j@dannynavarro.net>
bzr:file-ids:

mzcms/parsers.py parsers.py-20100806092910-g1sxvv1o5b9umkof-1
bzr:mapping-version:
v4
bzr:repository-uuid:
724254b2-fbe6-419d-9466-c04ef4c9d29d
bzr:revision-id:
j@dannynavarro.net-20100809124849-61iz4u0uppej4zrn
bzr:revno:
41
bzr:revprop:branch-nick:
trunk
bzr:root:
trunk
bzr:timestamp:
2010-08-09 14:48:49.382999897 +0200
bzr:user-agent:
bzr2.1.2+bzr-svn1.0.3
svn:original-date:
2010-08-09T12:48:49.383000Z
Message:

_parse_psms method working

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/mzcms/parsers.py

    r40 r41  
    5151                 contaminant_str=r'^IPI:CON_:IPI'
    5252                 ):
    53         self.scan_regex = re.compile(scan_str)
    54         self.decoy_regex = re.compile(decoy_str)
     53        scan_regex = re.compile(scan_str)
     54        decoy_regex = re.compile(decoy_str)
     55        # Contaminants are not exactly decoy psms
     56        self.non_target_regexes = (scan_regex, decoy_regex)
    5557        self.rawfn_regex = re.compile(rawfn_str)
    5658        self.contaminant_regex = re.compile(contaminant_str)
     
    9193            match = re.match(PEP_REGEX, line)
    9294            if match:
    93                 import ipdb; ipdb.set_trace()
    9495                nativeid = int(match.group(1))
    9596                rank = int(match.group(2))
     
    9899                pep_seq = match.group(5)
    99100                mods_str = match.group(6)
    100                 score = match.group(7)
     101                score = float(match.group(7))
    101102                accs = match.group(8)
    102103                prot_ids = get_prot_ids(accs)
    103                 is_target = check_target(prot_ids, self.decoy_regex)
     104                is_target = check_target(prot_ids,
     105                        self.non_target_regexes)
    104106                if is_target and rank == 1 or rank == 2:
    105107                    mascot_psm = MascotPsm(
    106108                            rank=rank,
    107109                            pep_mass=pep_mass,
     110                            delta_mass=delta_mass,
    108111                            pep_seq=pep_seq,
    109112                            score=score,
     
    158161        frag_mode = self._parse_frag_mode(dat_file)
    159162        nativeid_psms = self._parse_psms(dat_file)
     163        import ipdb; ipdb.set_trace()
    160164        nativeid_spectra = self._parse_spectra(dat_file)
    161165        for native_id, psms in nativeid_psms.items():
     
    167171
    168172def get_prot_ids(accs):
    169     return (x[1].split('"')
    170             for x in (y.split(':')
    171             for y in accs.split(',"')
    172                       )
    173             )
     173    return tuple(x[1].strip('"')
     174                 for x in (y.split(':')
     175                 for y in accs.split(',"')
     176                           )
     177                 )
    174178
    175179def check_target(prot_ids, regexes):
     
    179183    for prot_id in prot_ids:
    180184        for regex in regexes:
    181             if re.match(regex, prot_id):
    182                 return False
    183     return True
     185            if not re.match(regex, prot_id):
     186                return True
    184187
    185188def apply_mods(peptide_str, mod_str):
Note: See TracChangeset for help on using the changeset viewer.