grybnicky / Spacer2PAM

This repository contains the source code for the R package Spacer2PAM, which is used to guide experimental determination of functional PAM sequences from CRISPR array spacers.
GNU General Public License v3.0
6 stars 2 forks source link

Empty upstream/downstream consensus PAM sequences #1

Closed ireneortega closed 1 year ago

ireneortega commented 1 year ago

I used SPACER2PAM to determine the PAM sequences for a specific strain. However, the result of the function join2PAM give me the following dataframe collectionFrame.txt in which no consensus PAM prediction is shown because the values for columns upPAM and downPAM are empty. What could happend?

ireneortega commented 1 year ago

I realized that the “Array.Orientation” column must be Forward or Reverse in order to determine the upstream and downstream consensus PAM sequences. Some of my “Array.Orientation” values are "ND" as CRISPRCasFinder reported, so I think I should replace those values with Forward or Reverse to get the consensus PAM sequences. SPACER2PAM worked well when I replaced them, then.

ireneortega commented 1 year ago

@grybnicky Do you think replacing ND by Forward is a valid approach? Or should I remove those CRISPR-Cas arrays with no orientation defined?

grybnicky commented 1 year ago

@ireneortega You are correct, "Array.Orientation" must contain a value of either "Forward" or "Reverse" in order to generate a prediction. If you do not know the direction of the spacers, I would recommend assigning an orientation such that all of the spacers with the same repeat are in the same direction. For example, if 2 arrays with the same repeat exist in opposite directions and you are unsure of the direction of transcription, I would assign one "Forward" and the other "Reverse" in order to have Spacer2PAM process them appropriately. Please note that if you arbitrarily assign the orientation in this manner, you should consider both the upstream and downstream predictions as possible PAMs (despite the known location for a specific system) since you might have assigned the incorrect orientation by random chance.

ireneortega commented 1 year ago

Okey, I understand your example, but in normal situations when I know the orientation of array, I don't know if I have to pay attention to the upstream or downstream prediction. Does upstream refers to the 5' end of the protospacer when the array is in the Forward orientation? So, for Reverse orientation, I should take the downstream prediction, right?

grybnicky commented 1 year ago

@ireneortega Regardless of orientation, upstream refers to the 5' from the protospacer and downstream refers to 3'. Spacer2PAM takes the orientation into account to make sure the PAM predictions are on the correct strand, so upstream is always 5' and downstream is always 3'.