| import re |
|
|
| import re |
|
|
| def word_index_multiple_mmr(text): |
| words = ["no", "not", "normal", "intact", "deficient", "mmr", "mismatch"] |
| word_indices = {word: [] for word in words} |
| current_index = 0 |
|
|
| for word in text.split(): |
| word_lower = word.lower() |
| if word_lower in words: |
| word_indices[word_lower].append(current_index) |
| current_index += 1 |
| |
| mmr_indices = word_indices["mmr"] |
| for word, indices in word_indices.items(): |
| if word != "mmr": |
| for i, index in enumerate(indices): |
| if i < len(mmr_indices) and index < mmr_indices[i]: |
| indices[i] = -index |
|
|
| return word_indices |
|
|
|
|
| |
| text = """PMS-2 Positive Tumors displaying loss of any MMR protein are mismatch repair deficient and considered to be MSI-High (MSI-H), whereas those with intact MMR proteins are expected to be microsatellite stable (MSS) or MSI-low (MSI-L). $$ IHC shows normal expression of MLH-1, MSH-2, MSH-6, and PMS-2. $$ The results of the IC analysis suggest the presence of normal DNA mismatch $$ Positive MSH-6. Another MMR protein is also involved.""" |
|
|
| result = word_index_multiple_mmr(text) |
| print(result) |
|
|