Purple Cat

Purple Cat



Start: Begin by using your runescape accounts speaking to Wendy who can be found just north of Rimmington
Skills: None
Quests: Swept Away, Gertrude's Cat
What You Need: A cat or kitten of any kind

Recommended Items: A house in Rimmington, charged Amulet of Glory for Karamja teleport, Energy Potion, Spirit Terrorbird and Tireless Run scrolls OR Bull Ant and Unburden Scrolls, Explorer Ring (3), Boots of Lightness, Spottier/Spotted Cape, Penance Gloves
The Mini-Quest

After completion of the Swept Away Quest, you may be wondering how Trogs got so... Purple! The fact is, Wendy has been working on an experimental dye that you can put on your very own Cat or Kitten.

Getting Started


In order to start this Miniquest, you must have completed Swept Away. Wendy can be found in Maggie the traveling witch's encampment, north of Rimmington and east of the Crafting Guild. To learn about how to make your Cat turn purple, question her on Purple Cats. She will explain that all she needs is a vial of Magic Unguent from Lottie.

The Magic Unguent

Travel east to Port Sarim and climb down the ladder in Betty's Rune Shop. Speak to Lottie about retrieving the Magic Unguent and she will tell you that you are allowed to take it. However, since you rearranged the creatures in Swept Away so easily, Betty has become paranoid and has mixed them up even more to create a very challenging Creature Puzzle. Talk to Lottie again to receive the Magic Slate so you can get to work.

Rearranging the Creatures

Looking at the Magic Slate, you will see that Lottie was right and the creatures are in even more of a mess! Remember the rules to organizing this mess; you cannot carry more than one creature at a time. And none of the animals can be carried through the door of a chamber that contains another creature in an enclosure. Failure to follow these rules will cause the entire puzzle to be reset.


After you have moved the Blackbird into it's home, you should finally be able to open the locked chest near Lottie. Search the chest for the Unguent and go back up the ladder to return to Wendy. Talk to Wendy about Purple Cats and she will take the Unguent from you, she will then thank you and ask for any cat you wish to turn purple. Before turning your feline friend a funky color, be wary of these conditions:

When attempting to turn a Hellcat purple, you will get a message saying that it will turn back into a normal cat
Purple kittens will grow up to be a Purple cat
You can return to Wendy any time to get the color removed from your beloved Cat or Kitten
Once you understand these terms, use your feline on Wendy so she can put some Purple dye on it!


Congratulations, you are now the proud owner of a very stylish pet.after you finish this min quest you ll get a lot of runescape gold and runescape power leveling experience!
library(deSolve) library(tidyverse) library(pracma) # 1. 定义口服PBPK模型函数 pk_model_oral <- function(time, state, params) { with(as.list(c(state, params)), { dA_gi <- -ka * A_gi dA_c <- ka * A_gi * F_abs - (CL / Vd) * A_c C <- (A_c / Vd) * 1000 # μg/mL -> ng/mL return(list(c(dA_gi, dA_c), C = C)) }) } # 2. 动物口服PK数据准备 animal_data <- data.frame( species = c("mouse", "rat", "dog"), weight_kg = c(0.02, 0.25, 9), CL_animal = c(4.64, 7.61, 1.76), # 清除率 (L/h/kg) Vd_animal = c(8.53, 22.8, 4.67), # 分布容积 (L/kg) F_animal = c(0.16, 0.03, 0.29), # 口服生物利用度 ka_animal = c(1.2, 0.9, 0.6) # 吸收速率常数 (h⁻&sup1;) ) # 3. 外推人体参数(使用异速缩放)并计算半衰期(修改为可传入人体体重) extrapolate_human_pk <- function(animal_data, human_weight = 70) { b_CL <- 0.75 # 清除率异速缩放指数 b_Vd <- 1.0 # 分布容积异速缩放指数 human_CL <- mean(animal_data$CL_animal) * (human_weight/mean(animal_data$weight_kg))^b_CL human_Vd <- mean(animal_data$Vd_animal) * (human_weight/mean(animal_data$weight_kg))^b_Vd human_ka <- mean(animal_data$ka_animal) * (mean(animal_data$weight_kg)/human_weight)^0.25 human_F <- mean(animal_data$F_animal) # 计算半衰期 (h) human_t_half <- log(2) * human_Vd / human_CL return(list(CL = human_CL, Vd = human_Vd, ka = human_ka, F = human_F, t_half = human_t_half)) } # 使用68kg体重外推人体参数 human_pk <- extrapolate_human_pk(animal_data, human_weight = 68) # 4. 口服参数设置 dose <- 200 # 口服剂量 (mg) # 5. 初始状态设置 state <- c( A_gi = dose, # 胃肠道初始药量 A_c = 0 # 中央室初始药量 ) # 6. 完整参数集 params <- c( CL = human_pk$CL, Vd = human_pk$Vd, ka = human_pk$ka, F_abs = human_pk$F # 生物利用度 ) # 7. 模型求解 times <- seq(0, 24, by = 0.1) solution <- ode( y = state, times = times, func = pk_model_oral, parms = params ) # 8. 结果处理与可视化 results <- as.data.frame(solution) %>% mutate(Concentration = ifelse(is.na(C), 0, C)) # 计算关键PK参数 Cmax <- max(results$Concentration, na.rm = TRUE) Tmax <- results$time[which.max(results$Concentration)] AUC <- trapz(results$time, results$Concentration) # 单位:ng·h/mL # 9. 可视化(浓度单位:ng/mL) ggplot(results, aes(x = time, y = Concentration)) + geom_line(color = "blue", linewidth = 1.2) + # 使用annotate代替geom_point添加单个点 annotate("point", x = Tmax, y = Cmax, color = "red", size = 3) + geom_hline(yintercept = Cmax/2, linetype = "dashed", color = "gray") + geom_vline(xintercept = human_pk$t_half, linetype = "dashed", color = "purple") + annotate("point", x = human_pk$t_half, y = Cmax/2, color = "purple", size = 3) + annotate("text", x = human_pk$t_half + 1, y = Cmax/2, label = sprintf("t_{1/2} = %.1f h", human_pk$t_half), color = "purple", size = 5, hjust = 0) + labs(title = "基于动物数据外推的人体口服PK曲线", subtitle = sprintf("剂量: %d mg | 体重: %d kg | 生物利用度: %.1f%% | Cmax: %.2f ng/mL | Tmax: %.1f h | 半衰期: %.1f h", dose, 68, human_pk$F*100, Cmax, Tmax, human_pk$t_half), x = "时间 (小时)", y = "血药浓度 (ng/mL)") + theme_minimal() + scale_x_continuous(breaks = seq(0, 24, 4), minor_breaks = seq(0, 24, 2), expand = c(0, 0), limits = c(0, 24)) + scale_y_continuous(expand = c(0, 0), limits = c(0, max(results$Concentration) * 1.1)) + theme(axis.line = element_line(color = "black"), panel.border = element_blank(), panel.grid.major = element_line(color = "grey90")) + annotate("text", x = 12, y = 0.9*Cmax, label = sprintf("AUC₀-₂₄: %.1f ng·h/mL\n半衰期: %.1f h", AUC, human_pk$t_half), size = 5) # 10. 输出关键PK参数 cat("外推的人体PK参数:\n") cat(sprintf("清除率 (CL): %.2f L/h\n", human_pk$CL)) cat(sprintf("分布容积 (Vd): %.2f L\n", human_pk$Vd)) cat(sprintf("吸收速率常数 (ka): %.2f h⁻&sup1;\n", human_pk$ka)) cat(sprintf("生物利用度 (F): %.1f%%\n", human_pk$F*100)) cat(sprintf("半衰期 (t_{1/2}): %.2f h\n", human_pk$t_half)) cat(sprintf("峰浓度 (Cmax): %.2f ng/mL\n", Cmax)) cat(sprintf("达峰时间 (Tmax): %.1f h\n", Tmax)) cat(sprintf("药时曲线下面积 (AUC₀-₂₄): %.1f ng·h/mL\n", AUC)) 修改程序,没有动物的ka_animal,采用logP计算人体ka.显示完整程序.
08-13
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值