Данные микрочипа графика экспрессии гена рассеяния

Мой вопрос заключается в том, как мне сделать точечную диаграмму, чтобы показать цвет для сверхэкспрессированных и недостаточно экспрессированных генов. На данный момент точечная диаграмма показывает только черный цвет. Я хотел бы отметить на графике красным цветом сверхэкспрессированные гены и недоэкспрессированные гены синим цветом. Прикрепляю снимок точечной диаграммы и файла . Мне нужна помощь с кодом. Это в R. Этот код создает точечную диаграмму, которая показывает все только черным цветом.

Диаграмма рассеяния, показывающая одну группу по сравнению с другой группой

dataA <- rowMeans(filtered_condensed$E[,7:9])
dataB <- rowMeans(filtered_condensed$E[,10:12])

par(family="mono")

meanX = dataA
meanY= dataB


plot(meanX, meanY, main = "Expression in OPCs vs oligodendrocyte ",
    xlab="OPCs log2 expression: group1", ylab="oligodendrocyte log2 expression: group2", cex=0.5, cex.lab= 0.9, title(cex.main=2, font.main=7))
abline(-1, 1, col='purple', lty="dashed")
abline(1, 1, col="purple", lty="dashed")

вывод изображения


person Ania    schedule 23.03.2017    source источник
comment
При обращении за помощью в построении графика вы должны предоставить некоторую форму воспроизводимого примера с примерами входных данных. Предоставьте ссылку на изображение, описывающее то, чего вы пытаетесь достичь.   -  person MrFlick    schedule 23.03.2017
comment
Привет. Я не уверен, почему это не сработало, но я прикрепил несколько изображений своего кода и полученную диаграмму рассеяния.   -  person Ania    schedule 23.03.2017
comment
Я новичок на этой платформе. Код на данный момент такой   -  person Ania    schedule 23.03.2017
comment
imgur.com/a/sTkHv - вот ссылка на изображение кода и график   -  person Ania    schedule 23.03.2017
comment
спасибо за редактирование моего поста! вот пример графика с обозначенной экспрессией красного и синего генов ... Я не уверен, как изменить код, чтобы сделать то же самое для графика рассеяния. imgur.com/a/sTkHv   -  person Ania    schedule 23.03.2017
comment
Мы НЕ являемся вашим персоналом по вводу данных. Почтовый код в виде текста в изменить ваш вопрос.   -  person IRTFM    schedule 24.03.2017


Ответы (1)


Я добавлю сюда несколько примеров данных для проверки:

set.seed(23)
meanX <- runif(1000)
meanY <- meanX + rnorm(1000)

Поскольку у вас есть наклоны, равные 1, на разных точках пересечения, вы можете легко вычислить, какие из них находятся выше и ниже линий, посмотрев на разницу между значениями X и Y. Затем я просто нарисовал цветные точки поверх крайних значений.

plot(meanX, meanY, main = "Expression in OPCs vs oligodendrocyte ",
    xlab="OPCs log2 expression: group1", 
    ylab="oligodendrocyte log2 expression: group2", 
    cex=0.5, cex.lab= 0.9, title(cex.main=2, font.main=7))
abline(-1, 1, col='purple', lty="dashed")
abline(1, 1, col="purple", lty="dashed")
above <- meanY-meanX > 1
points(meanX[above], meanY[above], col="red", cex=0.5)
below <- meanY-meanX < -1
points(meanX[below], meanY[below], col="blue", cex=0.5)

Это дает следующий сюжет

введите здесь описание изображения

person MrFlick    schedule 23.03.2017
comment
большое спасибо . Сюжет я уже исправил. На данный момент это выглядит так. Как изменить размеры по оси x? В настоящее время я использую xlim=c(6, 20), и этот код не может быть применен к графику. Пожалуйста, проверьте текущую фотографию графика: imgur.com/a/sTkHv - person Ania; 24.03.2017
comment
как разместить код? Вы закрываете код с помощью '', а затем он публикуется в серой области? - person Ania; 24.03.2017
comment
Где именно вы размещаете команду xlim=? Это нужно сделать при первом вызове plot(). Кажется маловероятным, что это будет проигнорировано. Вы не должны размещать код в комментариях, но вы можете отформатировать текст как код, как я сделал с xlim выше, окружив его одиночными обратными галочками. - person MrFlick; 24.03.2017
comment
plot(meanX, meanY, main = "Expression in OPCs vs oligodendrocyte ", xlab="OPCs log2 expression: group1", ylab="oligodendrocyte log2 expression: group2", cex=0.5, cex.lab= 0.9, title(cex.main=2, font.main=7), xlim=c(6, 20)) вот как я пишу код, а xlim находится в конце кода и игнорируется - person Ania; 25.03.2017
comment
Я не могу это воспроизвести. Если я поставлю xlim=c(-1,2) в пример plot() выше, он будет работать нормально. - person MrFlick; 25.03.2017