Esempio n. 1
0
    def _parse(self):

        tmp_ct = []
        defline = ">"
        for line in open(self.ct_path):
            if line.startswith('#'):
                defline += line.strip() + '|'
            else:
                tmp_ct.append(line)
        defline = defline.replace('\n', '').replace('#', '')

        # just one entry per file
        result = ct_parser(tmp_ct)[0]
        sequence = result[0]

        # IMPORTANT!
        # ct_parser starts numbering of base pairs from 0, not from 1, as
        # elsewhere in nucleic.secstruc. To make things consistent, here
        # we'll add 1 to each index in base pairs list!
        result_1 = [(pair[0] + 1, pair[1] + 1) for pair in result[1]]
        pairs = BasePairs(result_1)

        if self._is_valid_sequence(sequence):
            sequence = Sequence(sequence.upper()).seq_without_modifications
            # Second check, because ModeRNA might also mix a bit at this stage
            # including for exampel X in sequences without modifications!
            if self._is_valid_sequence(sequence):
                try:
                    vienna = pairs.toVienna(len(sequence))
                except PseudoknotTokensError:
                    vienna = None
                finally:
                    return defline, sequence, vienna, pairs

        return None, None, None, None
Esempio n. 2
0
def carnac_parser(lines=None):
    """Parser for carnac output
    
    tested in test_ct"""
    result = ct_parser(lines)

    return result
Esempio n. 3
0
def carnac_parser(lines=None):
    """Parser for carnac output
    
    tested in test_ct"""
    result = ct_parser(lines)
    
    return result
Esempio n. 4
0
def knetfold_parser(lines):
    """Parser for knetfold output"""

    result = ct_parser(lines)
    return result
Esempio n. 5
0
    def test_knetfold_output(self):
        """Test for ct_parser for knetfold format"""

        obs = ct_parser(self.knetfold_out)
        self.assertEqual(obs, self.knetfold_exp)
Esempio n. 6
0
    def test_dynalign_output(self):
        """Test for ct_parser for dynalign format"""

        obs = ct_parser(self.dynalign_out)
        self.assertEqual(obs, self.dynalign_exp)
Esempio n. 7
0
    def test_carnac_output(self):
        """Test for ct_parser for carnac format"""

        obs = ct_parser(self.carnac_out)
        self.assertEqual(obs, self.carnac_exp)
Esempio n. 8
0
def unafold_parser(lines=None):
    """Parser for unafold output"""
    result = ct_parser(lines)
    return result 
Esempio n. 9
0
def sfold_parser(lines):
    """Parser for Sfold output"""
    result = ct_parser(lines)
    return result
Esempio n. 10
0
 def test_knetfold_output(self):
     """Test for ct_parser for knetfold format"""
     
     obs = ct_parser(self.knetfold_out)
     self.assertEqual(obs,self.knetfold_exp)
Esempio n. 11
0
 def test_dynalign_output(self):
     """Test for ct_parser for dynalign format"""
     
     obs = ct_parser(self.dynalign_out)
     self.assertEqual(obs,self.dynalign_exp)
Esempio n. 12
0
    def test_carnac_output(self):
        """Test for ct_parser for carnac format"""
 
        obs = ct_parser(self.carnac_out)
        self.assertEqual(obs,self.carnac_exp)
Esempio n. 13
0
def knetfold_parser(lines):
    """Parser for knetfold output"""
    
    result = ct_parser(lines)
    return result
Esempio n. 14
0
def mfold_parser(lines=None):
    """Parser for Mfold output"""
    result = ct_parser(lines)
    return result
Esempio n. 15
0
def dynalign_parser(lines=None):
    """Parser for dynalign output"""
    result = ct_parser(lines)
    
    return result
Esempio n. 16
0
def dynalign_parser(lines=None):
    """Parser for dynalign output"""
    result = ct_parser(lines)
    
    return result