Hi everybody and welcome to this week's video. School has really been like ramping up in the past couple of weeks, so I thought that I would, I took a little break from last Friday, but I thought that I would sit down and make like a real Q and A video, just so I could like really address, you know, most of my audience are people who are planning to come in to study abroad. So I thought that it would be a good idea to just like actually address some of the like general things that people are wondering about. I'm also, I'm tired. See, we're just gonna hop right in, but if you are new, I post new videos every Friday most of the time, where I talk about study abroad. I talked about gap years too, so if you're interested in that, you can scroll back to last year and find that content. So the first question, just starting right off the bat, is do you have any dorm recommendations for study abroad students in Edinburgh? As of right now, I am not gonna be making a video on which dorms I recommend. I will be doing this at some point, just for like privacy reasons. I obviously don't wanna like spill the tea about where I live. However, I will be making like a full, I wanna talk about it, but yeah, not right now. So this person said, I was accepted to study abroad for fall 2022 and I applied for Pollock Halls. However, I'm a bit concerned that I will be 21 and I've heard in Pollock there are many 18 year olds. What I will say is if you are studying abroad, I think this is most UK universities if you're coming is that you will get put with first years no matter where you live. I think maybe you could specifically apply for like graduate student housing, like look at on your program, if your program or your school is offering you, you know, like a list of options, try Googling which ones maybe are graduate school housing. You could go that avenue. What I will say is I do live with first years. That for sure has its challenges. I am, I'm 22 going on, my God. So there are certain moments where I feel like the senior citizen of this building and it's like 9 p.m. on a Tuesday and everyone's, you know, going out for the third night in a row and I'm like, okay, it's time for my tea and my program and my program is what I call, like my show. It's like old lady lingo, it's my program. So yeah, regardless if you live in like a hall style or a flat style situation, you're gonna live with first years. I would say is just like try and make the most of it. I mean, I, it's, it is different here because as an 18 year old, as a first year in university, you are allowed to go out. So they sort of have different like sets of freedoms. I was like really worried about this too and my biggest advice to you is to like not let it be a problem because no matter the age of people is what, of what I have found. Obviously there are some circumstances where maybe I just like don't have a lot in common with somebody, but I think honestly, you know, just cause like of life stages, honestly, like you're going to find people that you have things in common with. You're gonna find people that you just don't really mesh with regardless of age.  And I've also like a lot more people take gap years here and there are a lot of more international students who skew older. Yeah, that's sort of my advice. It's gonna be on a situation basis, I would say, really to bottom line it. Like it's more about the type of people less about the age, I would say. And that comment was from Jeff. Thanks, Jeff. Thanks for watching. And then this one, this next one is from B and a little cloud. So fun. Okay, so how do you go about planning and packing lightly for short slash weekend trips in the UK and Europe? Tips to cope with loneliness and homesickness while you're studying abroad. I'm gonna break this up so it's two different questions. So starting with, how do I go about planning and packing lightly for short weekend trips? Honestly, it is so easy to plan a trip here. It's pretty ridiculous if you have like a computer and some basic skills, it doesn't take much because there's, I was like, there's like way less planning and you can get plane tickets for so cheap and public transportation is so good. So even if you're like, how am I gonna get to this like random location? Chances are there is a train and a bus that will take you exactly there and it's gonna run like every 15 minutes. It's just absolutely crazy. Yeah, and cheap flights are also really, really easy to come by to go to Dublin, which was in my previous, I went in March. No, I went, oh my gosh, I went February to Dublin. I planned that trip in probably about like an hour with my friend Teresa. We just like sat down at a cafe and we were like, okay, where do we wanna go?  But I think our plane tickets round trip to Dublin were like 30 bucks. So that was like $15 a plane ride, which I mean, it's very funny because people here are like complained about the prices of things all the time. But like, if I can't even go home from college for like, that does not exist. That just does not, that does not exist. The cheapest way to travel in America is like by car. And that's like, that's not even a tank of gas. So that's just upsetting. But yeah, I flew Ryanair, very funny experience. I'm sorry, this isn't really addressing your comment, but I'm gonna tell you about Ryanair because we get up in the air, absolutely slingshotted. And I have never, I don't know how to explain the sensation other than the plane did not take off as so much that it felt like there was like a rubber band that just flung us straight into the atmosphere right through the plane ride.  This is 100% real. They come through like halfway through, not with like little like airplane pretzels, but they have a cart of hard liquor and like cigars and cigarettes for sale. Like you can't smoke in a plane. In terms of like getting places, the train is gonna be your friend.   Probably why they have the whiskey cart. Yeah, I will also say, like looking up reviews for hostels. So I stayed in a hostel in Isle of Skye and in London, but in Dublin, we opted not to stay in a hostel because the reviews for it were terrifying. And I will say like as a woman reading the reviews, that's gonna be an important thing. Cause, you know, I like my life in like the forward trajectory, I guess is what, I don't know how to put that. In Dublin, we actually ended up like price matching in Airbnb and the Airbnb we stayed in was so nice. And it was so beautiful. She had snacks for us. She gave us like lipstick and like little like golden, like under eye bags. And there was like a little thing to make tea. We felt so cared for by this Airbnb. So I will say look, look for Airbnbs if you can, but if not, you know, read hostel reviews and book them to your heart's desire. And then, okay, any tips to deal with loneliness and homesickness while you're studying abroad? Okay, so I do want to do like a whole video on this maybe at some point to like further about like my experience with this. But I think that the biggest mistake, just like getting right to the point is spending too much time trying to uphold your life at home. I think that's just like, I don't know, that's like a really honest way to put it. Like, and it kind of rips the bandit off of this conversation because, you know, if you're here for three months or four months, you know, it's really easy to feel like it's temporary.  Like I don't have to try to like put myself out there and like meet new people. I think that that can be a really big hindrance for you to uphold your own mental health because while like you may have, like I have some of my best friends that I still talk to like on the phone because they're my besties, you know, I want to talk to them. I want to talk to my parents, of course.  Honestly, there are, this is why I want to go the whole video on this because it's like, there are like so many stages of it. And like I still am dealing with like new things every week that are different, that are frustrating and they're like very, they're really like small things. But then they start, they start to like add up. Like you have like a, like a tally of like, where you hit your breaking point. You're like, okay, fine. Now I'm homesick. Like I had to return a package two, two, three weeks ago and it took me like five hours because I just didn't understand the systems here. And it is a hundred percent moments like that where I'm like, I want to go home. Like it's, but I'm having like a great time like enjoying the culture here. I'm having a wonderful time. But then it ebbs and flows, one could say. Yes, obviously call your loved ones, loved ones for support. However, I think for the first couple of weeks to like compartmentalize it, treat it like you're moving here longterm. And I think that it's going to, that is going to benefit you greatly. Like you have to, you have to treat it like you're moving there, but also treat it like you're temporary, but in the good way. Because like, I think that you should tap into that like feeling of being temporary because I think it'll push you to do a lot of things that maybe you wouldn't do at home.  Like I'm going to have to say goodbye to these people because that's a really, that's a really like easy way to feel like sort of like downtrodden, not downtrodden. Why can't I think of a different word? But yeah, if you're feeling down, I think for me personally with homesickness is I haven't really experienced it as much as I have. My first, oh my gosh, my first semester of college was probably when I have felt, I've ever felt the most homesickness. And I go to a college like eight hours, 10 hours away from where I live. So this is not my first experience moving away. So I think that homesickness has affected me differently because I'm older and I can compartmentalize it more where I'm like, okay, my life is here. What are physical things that I can do in this country to make myself feel better? And then I think the luxury that you don't have, especially as a year-long student is break times. On the weekends, people will go home. A lot of students live only an hour away or a couple hours away by train or plane or something like that. And they have a luxury of going home for the weekend. And when people do that, you're like, oh my God, I am jealous of you. I think in those aspects of you just wanna go home and not be a college student anymore, we all have those moments where you're like, I just wanna sleep in my own bed. And I can't do that right now. What I do is I'll just be like, okay, I'm gonna go get my favorite food.  That can be really good. Sort of aspect to deal with as well. Aspect to deal with, I don't, that's a good thing to do. Hannah also asked about homesickness. She said, just kinda accept it there. It is so exciting. My question is dealing with homesickness and what it's like making friends. Any cute places that aren't too expensive. I'll end with this like one question. So I sort of answered the homesickness one already and I'm definitely gonna elaborate that on that more in another video, but what's it like when making friends? Yeah, I think making friends here is a really like special experience. I have found that I have, I probably have more friends than I ever have in my whole entire life, which like maybe like a weird thing. I don't know if it's just like, I fit in in a different way that's like better here. But then, you know, there's obviously people that like I don't, I don't gel with just like anywhere that like I just wouldn't get along with or like, but I will say that people are very open here in a different kind of way than in America. Like I feel like we have like a big emphasis on like friend groups. And like that definitely does exist here, but it's like there are a lot more ways to like get involved that aren't just like Greek life. If you have a hobby or something, you know, I have a whole video on this about like making friends and like joining societies and things like that. That's a really great avenue. But yeah, I find that people just like can talk about a lot of stuff here. Like it's a lot, there's a lot less judgment around like hobbies and things that, you know, you may like to do. People talk about politics and I don't know, like things that are going on in the world. And not that we don't talk about things like that in the States, but it's just like, I don't know how to explain it. Like, I don't know. Like I feel like we're constantly like apologizing for things that we like doing in the States because it's like, oh, that's cringy or like that's, you know, and people just like in general have a lot more like things that they do for fun here. So yeah, there's less, there's less judgment. I don't know. But then there's also judgment in like completely other different ways. But yeah, I think I'm going to end it here for today, but there are some other really great questions in there. So I'm going to maybe do a part two another day. But yeah, and if you like missed the part where I said, like I was doing a Q and A and you're like, oh, I have a question now because she said this one thing, pop it down below and maybe I'll add it to the next one because that seems like an efficient system. So thanks for watching. Puh-puh-da-puh-pah, pah-pah. Puh-puh-da-puh-pah, puh-puh-pah-pah-pah. Puh-pah.


We are going to dive into the next testimony and she's actually with us So we shared her testimony through video and today she was visiting with her family at our church service So let's give her a warm welcome here from her and why she's here So come on give her a hand of applause as she comes on up We want to say thank you so much for coming up here and Can you just please start with telling us your name and where you from? Yes, my name is Cassia and I'm from the Seattle area and Cassia, can you tell us the testimony first off? What happened? We shared it a couple of weeks ago. Tell us what happened there Interestingly enough, I actually have two testimonies the first one. I'm gonna speak quick Was probably seven years ago back when I lived in Sacramento Pastor Vlad came down to my church revival Christian Center and we had a youth conference There was a prayer for healing and I had an issue with my hand for many many years And I went to doctors for it. I received treatments nothing ever helped And there was a prayer and right after that service My hand was healed and I never ever had an issue with it again So praise God for that and then the second thing was during quarantine My husband started watching Hungry Jen services online and I joined him and then there was a prayer for healing again and Pastor Ilya was praying for Healing so they said somebody has back pain. I'm like, oh, that's me. Okay, so I did I just Accepted it with faith. I was just like, okay. Why not? I'm gonna pray and I prayed with the church And I received healing of my back and then this was late at night the next morning. I woke up I have not had that pain ever since so praise God and I just want to say that Yes, you can definitely be healed at a youth conference at a church service in person But definitely even as Marianna says and as the church says distance is not a barrier You can definitely receive prayer. I'm healing online. So praise God. Come on. Amen Well, I didn't have to ask her what's her advice that that was great in itself Tell us also you came to visit. What is the next step for you and your beautiful family? You know with this quarantine with all of the uncertainties that occurred, of course, lots of things were bad But I personally see a lot of good that came out of this situation For example, a lot of our lives have been put on hold so much discouragement so many disappointments But I personally have seen good a good thing come out of this if it wasn't for the quarantine We probably wouldn't have start re-started watching the hungry gen services again And my family and I we actually made a decision to move to the tri-cities in the fall And we're so excited to be a part of this church in person and I've already joined Thank you I've joined Julie's life group and that has been such a blessing in my life Never before in my life have I actually read the Bible that often and that has been a big blessing in my life So thank you hungry gen. Thank you everybody. Thank you so much. It's so nice to officially meeting you Thank you so much.  So we are so blessed by you. Thank you so much for sharing and Again her advice and our encouragement is that any time that there's prayer that is occurring It is again not to fill that time It's not just so that we can pray to pray But it is to intercede for you to receive that portion that promise as Jesus Christ said in John 10 He came so he can give us a life of abundance more than enough Amen, not just to live by not just to have just just to live by for the week But to have more than enough to have those limitations broken down Amen, so everyone that is watching on live stream those that are here today is to just join us as we pray and Believe for your testimony. Amen


Field studies were conducted for two years to determine the effects of intercropping broccoli with onion and different nitrogen concentrations on growth, yield, and nutrient content. The overall efficiency of intercropping was evaluated using land equivalent ratios, L.E.R.s. While cropping systems did not significantly affect chlorophyll reading value, yield, or other parameters observed, nitrogen application rate had a significant effect. The highest values of these parameters were generally observed with 240 kg Ha 1 nitrogen application. Macro and micro-element content of broccoli leaves was affected by nitrogen fertilization except for N, MN, ZN, and NO3. Intercropping increased plant height but decreased the plant diameter of onion. There was no significant decrease in plant weight of intercropped onion at 240 kg Ha 1 nitrogen treatment when compared to monocropping. Broccoli intercropped with onion at 240 kg Ha 1 nitrogen had the highest L.E.R. values, showing that intercropping could be more productive than monocropping especially in case of 240 kg Ha 1 nitrogen application. This article was authored by Ertan Yildirim, Basra Sill, Meleke Kinsey, and others. We are article.tv, links in the description below.


Personal finance practice problem using Excel. Buy or rent home decision problem 2 part number 1. Get ready to get financially fit by practicing personal finance. Here we are in our Excel worksheet. If you don't have access to the Excel worksheet, that's okay because we'll basically build this from scratch from a blank sheet. If you do have access, there's three tabs on down below. There's an example tab, a practice tab and a blank tab. The example tab in essence being an answer key. Let's take a look at it now. We have the information on the left hand side. We'll use that to build our tables on the right hand side. We're going to be comparing and contrasting the yearly costs for renting versus purchasing. Some of the assumptions that we make over here will be based on in part the information that we might construct from an amortization table. So then we will dive into the construction of the amortization table and the creation of a table, breaking out on a year by year basis to look at this in a bit more depth as well. The second tab is going to be the practice tab, which will have some pre-formatted sales. If you would like to construct or work this problem with less formatting involved. The third tab, the blank tab is where we will be working here, where we will be adding the formatting as we go. So if you just have a blank tab and you don't have this stuff over here because we're going to build it from scratch. And this is the scratch on the left hand side that we're starting with. That's the one scratch. So if you don't have that, then you can just type this in there. If you're working on a blank sale, I would suggest doing this. You select the whole sheet and I'm going to right click on the sheet. I would format it first. I'm going to format the sales to something like currency, no brackets. I get rid of the dollar signs and then remove the decimals. That's my starting point. And then you might add this detail, which I know is a little bit tedious, but you can add this information on the left hand side. So that you can be mirroring what we're doing, adjusting the formatting as needed, such as percents here and possibly decimals there, for example. And then we'll be at the same point and we can move forward from here to the next step of populating our information. And this is also, of course, the kind of step that you would want to do if you were, you know, building your own worksheet to make these kind of decisions. You want your data on the left hand side or in some other area that you can then pull from so that you can make adjustments to your source data and then run different projections with it. So let's see what we have here. We got the home cost. So we're going to assume the home cost of the 300,000. We've got it's going to be a homeowners association. So we've got the homeowners association fees that we'll have to deal with at this point for that type of property that would be purchased. We've got the marginal tax rate is going to be the 25%. That's going to be our highest rate. We'll talk more about that when it is applicable. We've got the rent payment for a house. So if we were to rent as opposed to purchasing, we're going to say the payments are going to be the 1,500. We've got the renters security deposit deposit of 125 seems fairly low, but in any case, we're going to say the renters insurance is going to be $80. We got the savings account interest. We're going to say is 2%. The mortgage payment, then if we were to purchase, we're going to say is the 1,458.44. Now notice that we kind of just assumed that at this point in time, we could get into more detail on calculating that you might take this home value. For example, think about the down payment that you would put on it and then calculate basically the mortgage payment. For example, we'll talk more about doing that after we after we get through this kind of first part, but that's not where our focus is now. And then we've got the national average property tax rate. So we're going to use that to figure or think about what our property tax would be homeowners insurance payment. We've got the maintenance and repairs. So on the home purchase, we're going to try to take a percentage of the value of the home to try to calculate that. And then which is what a common way that you might try to estimate those because they can be significant. Of course, interest lost on down payment 950. Then we've got the mortgage interest paid in the first year and we're giving this number again. But this is also something that we would want to estimate possibly from the amortization table. So we'll talk more about that when we build the amortization table, estimated annual appreciation and the equity growth from paying down the loan. Meaning when we get into the equity calculations, which is the difference between the value of the home and the loan on the home. Those are going to be some estimates and we can also think about, you know, the decrease in the loan itself, which is going to be partially pulled from the amortization tables. The payments that we're making were applying the amount that's paying down the loan when we're thinking about the increase in the equity. So we'll talk more about that as we go. Let's first think about the rental costs. So if I was to be renting, what would be the rental costs? So notice that you can also kind of vary this type of calculation to try to think about if you were buying say rental property to think about how much, you know, you get for renting versus versus the cost of the maintenance of the of the home, for example, and so on. So you can apply it in that standpoint as well. So we're going to say the rental costs. So rental costs. Let's make this a header selecting these three cells up top going to the home tab. I usually make the headers on the font group.  And then we're going to say the rent payment for the house. So the rent payments for the home. We're saying pretty straightforward calculation. If we were renting, if the rent was 1500, I'm going to say on a month by month basis. Let's do it this way. Actually, let's say rent payments on the house. I'm going to say rent payments for a house colon and then do it this way. I'm going to say these are going to be monthly payments monthly payments on the month by month. We got the 1500 and then on the yearly then the number of months months month in year is going to be 12. And I'll underline that with an underline. And then I'm going to say this is going to be I'll just copy this. Then that's going to be my sub calculation and I'll get rid of the colon. And then we're going to do some indentation alignment indent. I'll double indent there double indent. And then we'll multiply this out. This is going to be the 1500 times the 12. So there's going to be the amount that we're paying for rent on a yearly basis. So then we've got the renters insurance the renters insurance they said was $80 a year. So I'm going to say, okay, I got to pay the insurance of $80. That's not too bad. And then we've got the interest lost on the security deposit interest lost on security deposit. So again, the security deposit is like a one time thing and we should get the money back. What we're looking at now is the loss in the amount that we could use that money to be investing in. And so that's the loss cash flow related to the security deposit. So I'm going to say, okay, what was the security deposit is 125. That's not bad. And so we're going to say there is that and then we're going to say that we could have earned 2% on it. So if we if we were to put it in a savings account, that's a fairly low amount because you might assume you put it somewhere else. For example, and get a higher rate for like stocks and bonds or something like that. But I'm going to assume if I had that in my savings account, which is probably where that 125 would be. Then I get a 2% return and I'm losing that big deal number percent underline it thought group and underline it. And that's going to be the interest lost interest lost. Do I even need to put that in? It seems insignificant. Well, it could be significant depending on your circumstances. So I'm going to select these. We're going to go to the home tab alignment and dent and then indent this again. Calculate this on the outer column. This is the 125 times the 2%. So there's the whopping $3 $3. And so then I'm going to say that's going to be the rental costs. So rental costs. Let's sum it up in the outer column equals the SUM function and sum it up. So there's the rental costs. We're going to say it's the 1883. Let's do a blue border thing here. Do our blue borders home tab font group making this blue. If you don't have that blue, by the way, it's right here in the more colors standard area. That's blue. Why do you use that blue? Because that's what the Excel is fun guy used home tab font group border eyes it to. So let's put an underline over here font group and underline the Excel is fun guys always right. And so he's got it's that color must be the color you have to use. So then we're going to I'm going to make a skinny column over here. I'm going to make a skinny by putting my cursor on C home tab clipboard format paint and make a skinny G. And then I'm going to hide the rental stuff so we can focus in on the home purchase stuff. So I'm going to select those and hide them hide them so I don't have to see them mess me up high.  Distracting me. So this is going to be the buying costs. Let's say buying or home. Let's say home purchase purchase yearly costs or something like that because we're looking at the yearly costs here and comparing them to the yearly costs on the on the rental. That's what we're doing. That's the exercise. So I'm going to select these three. Let's make this a header home tab font group and underline underline make it black. I mean, and then make it white. That's what I'm trying to do. So then we're going to say the annual mortgage payments. Let's calculate the annual mortgage payments both the interest and principal, which we would get. Of course, we could take this number and figure out the mortgage payment using a payment calculation, which we'll do later. But we're giving them this time. So I'm going to start with the monthly mortgage payments, which is usually what we know first. That's going to be this amount down here. It's yellow because we're going to we're going to actually dive into the amortization tables later to get more detail on that number. And so this is on how you get that number. This is going to be the one four eight five in practice. You might actually first calculate the amortization table as a way to get this number and then start building the rest of your worksheet on it. But we'll focus in on that more in the second component. So months in the year 12. So there's going to be months in a year. Let me say January, February, March, April, and then that's over my 10 finger 12 12 months in a year. We're going to say home tab font group underline. And then this is going to be the annual going to copy this on down. Delete the colon annual payments. Then let's do some indentation home tab alignment indent and let's indent this one more time. Uno vase moss and then in J five equals this times that there's the yearly payments that we're talking about property taxes property taxes. So property taxes. We're going to say then that we're going to estimate the property taxes is is 1.5% for is that what I said no, no, no, the property taxes are the 1.2% there that's what I'm talking about. Okay, so that's going to be so if the home value then if I know the home value is 300,000 I could say okay what are the property taxes in my area I'm got the 300,000 home cost. I'm going to estimate the property taxes at the 1.2 you can get more detailed on that. I'm going to make this wider on that you might have you know because it might be different for the land versus the what versus the building and so on and so forth but that's going to be dependent upon your area that you are in you can get some estimates on that area to get the normal percent and then that will allow you to make adjustments to the home value and take the relative amount of property taxes hopefully giving you an accurate estimate that you can flux with different home prices for example in your worksheet. So I'm going to go to the number I'm going to make that a percent of five I'm going to add some decimals and just need one let's not get carried away. Don't carry it away and so then we're going to say this is the property taxes but I'm going to get rid of the colon and then we'll do some indentation. Home tab alignment indent double indent here pulling this into the outer column doing some multiplying which is the 300,000 times the 1.2 percentages. There's the 3,600 so now we've got the homeowners insurance. So let's calculate that one home owner owners insurance colon and we said that was 75 on a monthly basis 75 a month. So okay and I'm going to make this one larger to this will be dependent on the circumstances whether you have the homeowners insurance requirement say 75 and we're going to say months in a year again equals the months in a year. I'm just going to say equals that one up top which is 12 pretty sure if I'm not mistaken that one stays pretty constant that doesn't change much and then I'll copy the homeowners insurance put it down here. Multiply that out into the outer so 75 times 12 let's do some and then take let's get rid of the colon here. That doesn't make then we'll do some indentation home tab alignment indent and then double indent double indent. So then we got the interest lost so I calculate the interest loss which I just gave us the number here. So that would be mean the down payment that we made we're not we're trying to look at the average like the yearly costs after the home purchase the down payment then we're trying to think about well if I put the money on the down payment into the home. I'm losing in the future the earnings that I would be getting on a yearly basis from the amount we put in now again you could calculate this a bit more in depth you might first think about the home price and then think you got 20% down for example. And then calculate your after tax earnings and then that would be the amount that you're losing due to putting on a yearly basis due to putting the the down payment down because if you had the money you'd be earning money on it. So we're just going to give it this time at just that that 950 you could get into a bit more detail we might well we'll leave that as it is for now it's a general idea. Okay so then so that is that and let's do the maintenance actually before I do this one I'm going to delete this one. Let's before I do that one let's add maintenance and repairs that's important. Let's do that one first because that one you've got the home and we're calculating that and saying that we're going to estimate that 1.5% of the home cost is the maintenance repairs. Once again by my making this a percent of the home purchase price that allows us to change the purchase price in our worksheet and hopefully come up to a relative maintenance and repairs that is still reasonable based on the purchase price. So let's say we got the home cost and say that was that was the 300,000 the 300 and then we've got the percentage which is going to be the 1.5 that will that will be you know something that you have to estimate so you're going to get your best estimate on that. A number group we're going to percentify that let's add a decimal and let's go to the font and underline it and pull this on the outer column just going to copy and paste get rid of the colon do some indentation alignment indent and then double indent pull this out to the outer column and this is going to be the 300,000 times the 1.5% then let's add finally the interest lost on the down payment which we talked about already so I won't discuss it again because we talked about it already we talked about that font group underline. And then let's say this is going to be the total which is going to be the home purchase yearly costs we're going to say costs and then I'll sum this up outer column the equals s you to the M sum and that's 27451 now we're also going to have benefits from the purchase of the home that I'm going to put in a separate area. So I'm going to I'm going to select these items and let's make that border blue blue borders make it blue and then put some borders around it to protect it. Because once it's so nice people are going to want to take it. So I'm going to then select this one we're going to go then to the home group we're going to format painter it and put that over here to the skinny K make a skinny K. And then we'll put our cursor on G I'm going to go on over to J G to J and right click and hide those items so we can build our next table without getting distracted by all these other stuff that we're trying to distract us. So this is going to be the benefits of home ownership yearly we're going to say is the yearly benefit kind of stuff calculation. Okay so I'll make this a little bit wider. Let's go from here to and let's make that our headers home tab font group black and white on the header. And then we got the equity. So first we got the growth and the equity that we're thinking about. So we got the equity down here. And so this is going to be equal to the growth from from paying down the loan. So remember when you think about the equity that represents the difference in the home value to the loan value. And if we think about our net value or our net assets assets minus liabilities then you know the bigger that difference is the better we have we got bigger assets and lesser liabilities so that's going to be good for us but remember that one we don't we can actually we haven't actually realized the equity the growth and the equity because we haven't sold the home and to it's it's that equity is not something that is liquid we can't we can't spend it so keep those two things in mind because and there's two kind of components to the equity one is we could think about well if I assume we purchased a home for 300,000 and at least it doesn't go down in value at least stay steady and hopefully goes up but if it stays steady then I'm going to increase my equity by the portion of the loan payments that are going to that are going to the principal portion paying down the loan because as I pay down the loan then my equity should go up if the home value doesn't go down in value so that's kind of the more conservative side of equity calculation that would hopefully be increasing but again it could be possible that the house goes down in value and in the other side of equity we can think about hopefully equity increases because the value of the home goes up from 300,000 since the point in time that we purchased it so those two things are kind of components of the equity you can kind of break them out or think about them separately but just realize that the home value could go down from the 300,000 it's possible hopefully in the long run if you're holding it over 30 years and it would clearly you would think go up over the 30 year time frame but you know just got to keep that in mind and it's not a cash flow thing okay so and we'll also talk about how to get that equity amount from the amortization tables because the yearly decrease in the principal will change from year to year so it's not really a set number okay we'll talk more about that later and then we've got the tax savings from the mortgage interest so and we also let's also do the estimated annual appreciation up top, estimated annual appreciation let's put that up top this is the other side of the equity so there's two things happening with the equity the difference between the home and the home value and the loan one you pay down the loan and two hopefully the value of the home goes up but again got to be careful on those it's not liquid and it's not guaranteed that the value of the home goes up okay it could go down even okay so tax savings from mortgage interest interest so now we're getting into the to the tax benefits so the mortgage interest we're going to say the mortgage interest was what do we say the mortgage interest what did I put that the mortgage interest was I'm going to say equal to this one down here I said the 12,000 now that number notice we specifically kind of put here that that's for the first year and so that's that's kind of a deceiving calculation because I'd like to know what this is on a year by year basis right I'd like to know what what I'm going to do not just for one year since this is a long term investment and so so this number is a little bit tricky because it will it will it will change from year to year also note that again the mortgage interest deduction is something that's more complicated than simply taking your tax rate and multiplying it for most people because this home purchase is the thing that purchase people puts people over from standard deduction to itemized deductions and so that gap that difference between standard to itemize is is not really a benefit to you it's it's everything over and above the standard deduction so you really have to do kind of tax software to see what the actual benefit is run an actual projection and then you want to think about what's going to happen with that projection in multiple years in the future when your interest portion of your loan payment goes down the tax benefit is going to go down so it's so you so this is an estimate of your tax benefit but you really want to be more careful with with this calculation and you can do that with tax software basically but we'll make the estimate here we're going to see the marginal tax rate that means it's your highest tax rate because if this was going to be something that's deductible or have an impact on your income you're not you have a progressive tax system which means that you're going to be taxed at multiple rates but your next decision is going to be taxed at your highest rate. So if you were to adjust your income from this point you're talking about a tax change at your highest rate which is what's called the marginal rate. Okay 25% do a tax projection bottom line don't just you know you want to get more detailed than this but we're going to practice with this one. Okay so home tap underline this is going to be the savings here. We're going to get rid of the this let's do an indentation alignment indent double indent over here double indent and then multiply this out so we got the 12,000 times the 25% tax savings then of the 3,000 is what we're saying then we've got tax savings from property taxes. The other big item that is going to be most likely deductible if you have a home purchase another item that puts most people over from standard to itemize deduction another item related of course to the home purchase. So also note that the laws could change from year to year there was a fairly significant change increase in the standard deduction a couple years ago. So although this is a fairly would be if you be hard pressed to think of removing completely these deductions they put a severe limitation, at least if you have an upper income level item on the home taxes for the state taxes. So they could change right with the political winds blowing either way here so so you never know what's going to happen in any case so they got the property taxes, the property taxes. Where are those property taxes I have them here we said the property taxes. I see we said we said they were 1.5% last time so let's just recalculate it. I'm going to take the 300,000 times the the we said the property tax was 2.1 and that's going to give us the 3,600. So and I'm going to say this is going to be the property taxes property taxes and then we've got the marginal tax rate again, which was the 25% we're going to say that would be dependent on our income levels and so on. Let's go to the underline up top let's make that a percentifying that so and then let's copy this on down and get rid of the colon. Do some indentation alignment indent and double indent pulling this to the outside that's going to be the 3,600 times the 25% for the 900. And then we'll sum that up that's going to be then the benefits of home ownership yearly. I misspelled it probably but that's okay I'll fix it with a spell check. Then we'll sum it up on the outside summing it up and put in an underline there. Okay, so now let's make that blue and borders let's make it blue font group and border blue border blue. Let's do some unhiding from B to K putting my cursor on column B selecting on over to column K right click so we unhide those cells because they're they're not going to distract us anymore we need them now now they're now we need those cells. So now we're going to say this is going to be this is going to be the home purchase costs less less benefits and that's going to be equal to let's say the 27451-116 which now we can kind of compare that to the rental items over here's it kind of compare those to the rental costs on the decision making process I'm going to then select these items I'm going to put brackets around it and we're going to borderize it. Now also just realize that mainly these are going to like be cash flow kind of related items and these items could be cash flow related items these two items are dependent in part on the market on the value of the home at least not going down and possibly going up so and these two components are also not liquid even if our assets go up we can't so you might want to like point that out you might want to say this is the equities equity items is the sum of these items. And say this is this is the net you know cash flow or short term cash flow items something like that this is going to be the 15851 plus the 7700 and then I'll put some brackets around that borderizing that will put an underline here. So in other words you want to do your comparison in terms of your net asset value assets minus liabilities but you also want to make sure you're taking into consideration your cash flow to make sure that you have sufficient cash flow to deal with anything that needs to be happening and only basically dipping into the equity in essence that you're hoping will be going up when necessary so you don't want to be forced to dip into the equity unless there's an emergency or something like that or. Or something you know like that you want to be able to plan for the equity so you want to make sure that you got the cash flow in place OK so we've got these items here next time we'll go into this and we'll get into a bit more detail and actually calculate the amortization tables. This is something that you might often do first to try to get to one the home value number so you can kind of change this home value number to adjust the other factors. And then calculate your mortgage payments so that you can change your mortgage payments in alignment with different home value prices which will will then change everything else in the worksheet considering we're using percentages and so on. And the mortgage interest for the first year would typically be calculated from the amortization tables and the estimated annual depreciation or the difference or the pain down of a loan which could help you with your calculation on your equity calculation would also be gotten from in some way the amortization table. So you might actually do that component kind of first and draw these some of these yellow numbers from the amortization table will talk about how that might work in future presentation.


Interacting with the prompt at the command line or in programs like R is helpful for figuring out what you want your code to do and for troubleshooting any of your code. But if you spend too much time working from the prompt, your reproducibility will suffer. The solution to this problem is documenting all of your steps in a script. We've seen how to do this previously using R and bash. Today, we'll revisit bash scripting and learn how to run commands from the mother software package from the command line. Before we get going too far, I wanted to let you know I'm Pat Schloss, I'm a professor at the University of Michigan and the creator of the mother software package. Each episode of Code Club, I present various concepts that I use in my own research to improve the reproducibility of the analysis. Please be sure to subscribe to the channel and hit that bell icon so you know when the next episode is released. In the last episode, I discussed how most algorithms for identifying Amplicon sequence variants, or ASVs, allow for some variation between the sequences that are getting clustered together into the same ASV. This is part of the algorithm's process for denoising the data at the same time as clustering the sequences together. As we've seen, some of that noise is really signal, as a single genome can have multiple versions of the 16SR RNA gene. If ASVs truly represent the exact sequences, then they would split a single genome, really a single cell, into multiple ASVs. One of the more popular algorithms for identifying ASVs is data2. Data2 has a parameter called omega that affects how stringent ASVs are. It is used to determine whether an ASV should be split, merged, or left alone. The default value is 10 to the minus 40. If omega did what it was actually claimed to do, then it would probably be more appropriate for it to be more on the order of 10 to the minus 5, or maybe even 10 to the minus 10. Regardless, by fiddling with the omega parameter, you can modulate the stringency of the ASVs. It should also be noted that all of the other algorithms for generating ASVs, including U-noise, D-blur, and MotherZone pre-dot cluster, all have some parameter to impact the stringency of the ASVs. People don't like to acknowledge that an ASV is like an operational taxonomic unit or OTU, but it really is. Starting in today's episode, we're going to use our reference sequences to generate ASVs and OTUs to round out our analysis. Because we don't have the abundance data that are needed to generate ASVs by these other approaches, we'll cluster sequences together, based on their dissimilarity to each other, using values ranging from 0.1% to 5%. Generally we use 3% as a cutoff for operational taxonomic units or OTUs. Today, I'll show you three ways that you can run Mother in the interactive environment, using a script file, and running Mother commands directly from the command prompt, or within a bash script. I'll also show you how Mother's current values approach works when clustering sequences together. Now I know that not everyone uses Mother and not everyone has heard of Mother. That's fine. Honest. My feelings aren't hurt. If you stick around though, you might get some ideas and more practice with creating your own bash scripts and make file rules. I went ahead and created a new issue, issue number 34, to create ASVs. So as I've mentioned in the last episode and in the introduction, ASVs, when we actually use them on data that we're collecting from microbial communities using Amplicon sequencing, all the algorithms allow for a little bit of slop, a little bit of play. And so this idea that they are exact sequences is really not correct. I don't want to get into the whole discussion or debate over what these things are. I mean, in some ways that's what we're trying to do here. We're trying to kind of bring data to the debate. Anyway, for my purposes, exact sequence variants are the true sequences that I'm going to go ahead and trust that the genome sequences are the true sequences. And that the Amplicon sequence variants are not necessarily exact. They might be exact, but more than likely not. And so again, because all these algorithms allow for a little bit of play, I'm going to go ahead and create ASVs based on different distance thresholds. I know that's not exactly how they're done, but this is the best way, the best that I can do to simulate ASVs using the data we have, using the genome sequence data, right? The advantage of using the genome sequence data is that we know the true answer, right? We don't have to worry about sequencing error, or maybe I should say we don't have to worry about it as much, right? Anyway, so if I was to do this in mother with real data, I would use our pre-dot cluster command that allows you to cluster sequences that are within a handful of bases of a more abundant sequence. But because it's relative to a more abundant sequence, and we tend to trust those more abundant sequences more, it's all abundance based. We don't have abundances here, right? In some ways we do, but an ASV might be really abundant in one genome of one species, but it might be rare in another. And so it's just too messy. So what we're going to do instead is simulate it using different distance thresholds. You could perhaps think of like a distance threshold of like one in a thousand, so that would be like one nucleotide or so, one to two nucleotides for like a full length sequence. And then we'll go all the way up to say like a distance of like five percent. Typically for O2Us we use a distance of three percent, okay? So we're going to have to do some reworking, refactoring of our code. We talked about some of that in the last episode. And so I've created an issue here, as I mentioned, for issue 34. We're going to convert the UniqueSeqsSH script to GetUniqueSeqs, because there's a few files that we need, the UniqueAlign and CountTable, for calculating distances and then for, of course, getting our clusters and then generating an OutputTable. This is probably going to take us a couple episodes to work all the way through. We're going to start with converting this and then we'll go into using Mother and I'll show you three different ways that we can use Mother to run Mother code. Okay, so first we want to convert CountUniqueSeqs to GetUniqueSeqs. We're going to pull out some code and convert its name and then we'll update the make rules. So I'm going to come back over and go to my project root directory and I'll get branch issue 34 and get checkout issue 34. And again, we've got a separate issue branch here. It's green. We're good to go. I'll go ahead and open up Adam. We're mainly going to be working in Adam and the terminal for the next couple of episodes. So I'll go ahead and minimize some of these files in the directories. And as I mentioned, we want to convert CountUniqueSeqs to GetUniqueSeqs. So I'm going to go ahead and do GetMvCodeCountUniqueSeqs to code GetUniqueSeqs. And again, using GetWithMv allows us to keep track of that change. And so this is what the GetStatus output looks like. Okay, so we'll go ahead and look at GetUniqueSeqs. And that all looks good. Some funky formatting up at the top that I'm not going to worry about. And so what we want to do is we want to pull out this code, convert CountTable to Tible. I'm going to comment that for now. And that looks good. I'm going to do my testing using the v4 region because the v1 line tends to be much larger data set because there aren't as many duplicated sequences as we've seen with the v4 region. Okay, so great. I'm going to go ahead and create a target variable, which equals that. And then we'll go ahead and what I want to do is run some of these commands. And just to see what things look like for the v4 region, I'll go ahead and do LSLTH data v4. And so we see that we updated a fair number of things the last go around in the last episode. But we now have these temp files, temp align, and temp groups. And you'll recall that that's because in these said commands from many episodes ago, we parsed the header to only get to have kind of a unique identifier for each of the ASVs. And then we had unique SEQs and count SEQs, which I'll go ahead and run here. We're going to talk more about mother here in a few moments. And I forgot to copy and paste this line. So this is running again with the v4. It's much quicker. Generating that count SEQs file is a little bit slow. Okay, so that took a minute or so to run. Let's go ahead and look at what is in data v4. And we see we've got a bunch of temp files. We have temp count table and temp align or temp unique align. So this temp unique align and temp count table are the files that I want to be saving for subsequent steps. And so we see already here that we had moved temp unique align to unique align. Previously, we had gotten rid of stub temp count table. And we want to keep that as stub dot count table. And then I think if I go ahead and copy and paste these over, sometimes they don't hit the C with my copy as hard as I think I do. So look at v4. And so this looks cleaned up. So this all looks really good. Forget unique SEQs SH. Let me go to my make file. And we need to pull this apart. Let's see, where did we do that? Right here. And again, we're going to not create ESV count table, but it's going to be table. And this is then going to be get unique SEQs SH. And this is then going to be get unique SEQs SH. And so you'll note that this is probably at a point before we started incorporating those automatic variables. But as you've seen me do before, we could replace this with dollar sign less than to get the name of the script. Again, this is a place where it's helpful to have those because if I change the name of this, I have to remember to do it here as well. And so then this can come out because we're not using that R script anymore. But I do want to create a rule that has data, R, NDB, dot, these things. The ESV count table. And that is going to be the output. And the dependencies are going to be this R script as well. And it's going to use as input this count table file rather. And so we need to, I'm going to change the name of this to be get ESV dot R. And so we can again do get MV code. And I already forgot the name of that. Convert, right? Convert table dot R to get ESV dot R. And so that is good. All right. And so this is get ESV. It takes an input file and an output file. So the input is going to be that count table. The output is going to be the count table. And we specify that in our make file. And so again, we can use these automatic variables. So I'm going to use the caret because the caret gives me all of the dependencies. And then I'll add the at sign. And that's the output file, right? And so if I do make data v4 rndbesv dot count table, we do dash n. And so it's going to run those commands for me. So I'll go ahead and do that. This is going to take a few minutes. I'll edit it out. While it's running for you, go ahead and be sure that you subscribe to the channel. Only about a third of the people that watch this video are actually subscribed. So if you're part of those other two thirds, please go ahead and subscribe it. It makes me feel good. Click on the bell icon so you know when the next episode is released. So this went through. Let's go ahead and do LSLTH on data v4. And we see we've got our unique align, our count table, and the previous ESV count table file for our v4. Again, we could go back and do this for everything else. So I think we've done a good job of extracting out the ESV from the overall pipeline that we want to use to go ahead and generate those clusters. OK. So again, what we have to work with for generating the clusters are this rndb count table and the rndb unique align file. So I'm going to show you now three different ways that we can run mother. Typically, and again, mine is in mother, code mother, mother. Typically, a lot of people will run mother from the interactive mode like this. So when I teach workshops on mother, I primarily teach it from this environment where you've got a prompt and you can enter your commands. So I could do something like disk.seqs and then I could do fasta equals data v4 rndb.unique.align. And I can say cutoff equals 0.05. And this will run. And I see the output, right? And I've got to wait to do anything else. This will take a few moments to run through here. But you kind of get the idea that you run one command at a time. And it's interactive, right? Like it's going to give me a prompt here waiting for me to do the next step, OK? So that completes. And now I can do the next step, which I might do cluster. And I could say column. I could say column equals current. Or I could copy and paste this name. And I could then say count equals data v4 rndb.counttable cutoff equals say 0.01. And it'll now run this command, right? And we could keep going, right? So we could do a shared step. But you kind of get the idea that you can kind of interactively, like you might do in RStudio or in R, run one command at a time waiting for the prompt to kind of tell mother what to do next, OK? So we had two commands here. And I'm going to copy them because we all know how much I love typos. So I'm going to copy this. And I'm going to go ahead and quit out of mother. So that's one way to do it. Another way, I'm going to create a text file. And I'm going to remove all this stuff except for the actual mother commands, right? And so I'm going to save this. And I'm going to call it, say, asv.batch. And save that. And I can then come back to my prompt. And I can type code mother, mother, and then asv.batch. And running it this way, again, running it this way from the command line, I've given it a batch file that contains all of the commands that I want to run. And you can see then that it runs everything. This works really well if you've got a pipeline of commands that, say, you're always going to run. So say your lab always sequences the v4 region. You could kind of take that MySeq SOP that's on the mother wiki and put it into a batch file and then run it. And all you might need to change is the name of that input file, right?  And sure enough, you get the output here, OK? A third approach we've already seen in one of the scripts I have here. And that would be to do, say, mother, or sorry, code forward slash mother, mother. And then you can put in quotes with a pound sign the list of your commands, right? And so I could then copy my commands from up here and then separate the commands with semicolons, right? All right. And so you can see now that I've got two commands here and that I end it with a closing quote, and that tells mother then to run those two commands from the command line, OK? So it'll give you the same output. It's various in level of interactivity. When I'm trying to figure things out, I go into interactive mode, right? When I'm still trying to figure out what processes or what steps I want to do for a particular analysis, I'll go into the interactive mode. If I've got a whole bunch of commands, and it's kind of like a generic analysis that I'm doing, I'll typically use the batch files. If it's kind of one or two commands that I'm trying to run, I generally do it from the command line using the quotes and the pound sign. The other nice thing about running it from the command line is that I can use the automatic variables. We've started incorporating some of that into the batch scripts for mother. But I still find that if I look at this, you'll see that I ran mother here from the command line, right? And that we've got the pound and the quotes. But I'm able to use my temple line temp groups variables to run mother. So those, again, are the three different ways of running mother. You can go into mother and at the prompt, give commands. You can give mother a script, if you will, of all the commands you want mother to run, or you can run it directly from the command line. So these are the different options. I'm going to primarily be using the command line approach as we go forward. And in fact, you've seen me do this already. So what I want to do next, I'm going to go ahead and remove that ASV batch file because I'm not going to use it, but I'm going to go ahead and touch code get ASVs.sh. And I will come to Adam. And I'm going to copy, so we don't need that, I'm copy some of the code from the get unique seeks. So I'm going to copy some of this header. And I'm going to have to change this later. But we want to think now about how we want to run this script. What is the target? And so what I'm going to give it is the region. And the output I want will be count, the table, kind of like we saw with the ESVs. So before this was our target. But what I'm going to do is I'm going to put in a distance threshold instead of ESV. So I might put in 0.01, or RNDB, 0.01 point count table. And so that would say, give me distances at a 1% threshold. And so we would like, we can then parse this name to get different arguments for running mother. So what we're going to want to do is, so we're going to want to do something like disk.seqs, where we give it column equals something with a cutoff of 0.05. And then we're going to want to do cluster with what? A cutoff of, say, 0.01. And we're going to want to give it, so we'll say, column equals current, and count equals something. And so we've got those two commands. And then we're going to do make.shared. I guess, yeah, and that should work. Good. So now we need to fill in the arguments, right? So one of the other things that I forgot to mention about running these commands in mother is that if I kind of cycle back through here, then I don't necessarily need to give cluster my column argument, right? Or I could say column equals current and run that. And it will know to use the current distance file that it has in memory. So you see that it's using that as my distance matrix. Alternatively, I don't even need to give it the column argument, the distance matrix argument, because it knows that cluster is supposed to use a distance matrix, right? And so again, I can run this and it'll take a few moments, but we'll see that it's still using that distance matrix. And sure enough, you see it's using that distance matrix and everything runs well. So coming back to my script here, I know that I can give it the column. I don't need to necessarily give it the column here. Sometimes, again, being explicit in arguments is helpful. But you'll see make.shared doesn't need any arguments because it's going to take the output from cluster and the count file that I use here as an argument for running make.shared.  I'm going to run it for many different distance thresholds, maybe from 0.1% up to 5% with many increments in between. So I don't want to generate this distance matrix over and over and over again. So what I'm going to do instead is I'm going to make a new another script that I'll call getDistances. So touch code getDistances.sh. And if I, again, return to Adam and let's copy that into here. And here, we're going to have rndb.unique.dist. And here, I'm going to change, I'm going to substitute dist for align, right? And so we're going to use, I'm going to call this align. And I don't need that temp file. And here, I'm only going to run dist.seqs and I'm going to give it my align file. So I can then put in column align. That should be good. And I'm going to go ahead and create a target for this in my make file. And I'll come down here after all the ESV stuff. And so that's going to be the target. The prerequisite is going to be unique align. And of course, up ahead of that, I'm going to need code forward slash getDistances.sh. And I also need to set mother as a dependency. And we will then do the automatic variable. And the target, because we're going to give it the target. And I need to remember to make this executable, right? So hopefully you remember that from many episodes ago that if we create a bash script, we need to go ahead and make it executable. Otherwise we get an error about it not knowing what's going on. So I'll go ahead and do makeN on that. And you see that the code it's going to run is code getDistances.sh. And then it gives it the target. So I'll go ahead and run that. And it's complaining. And I said in my code, I used column rather than fastA. And now it's working and everything is good. And so this getDistances.sh is in good shape. And I'm going to say it takes in a fastA file and calculates a distance file in a mother's column format. The default is to use a cutoff of 0.05. And so the input is the target and that will be the distance matrix, right? So we're good with getDistances, we can close that. And so now we come back here and we're not going to run desix, we're going to run cluster and then makeShared. And so let's go ahead and create a few variables. And so again, I'm going to do target equaling this thing, okay? And I can then say my stub, I don't need the stub temp, I don't believe is that, which is good. And I'm going to have, I need a column, or I'll say distances equals that, count equals something and then cutoff equals something else. And yeah, so we can then say, let's see, our distances are going to be the, those on target.unique.dist. And then our count is going to be target.counttable, which is good. And then our cutoff, we're going to process a little bit differently. So let me set threshold as a variable. And I'm going to copy this code, which you'll recall that we used said to pull out the path from a project route up to the RNDB. So I actually want the stuff after the RNDB, which is going to consist of a period. And then in there is going to be a series of numbers, right? And then the output will be countTibble. And then we're going to replace all that with whatever's in parentheses. So let me double check that that works. So then if I do echo dollar sign threshold, we get zero one. And so then my cutoff is going to be zero point dollar sign threshold. And then echo dollar sign cutoff, zero point zero one, excellent. And so now I need to fill in all of my mother arguments. So this is going to be distances, my cutoff, my count is going to be dollar sign count. And my cutoff is going to be dollar sign cutoff. And I can go ahead and put that, make sure it on a separate line. And we'll go ahead and run this. And again, this is going to take a few moments to run, especially if it complains. I need to actually load my arguments. So let me copy and paste the whole thing. And it's not happy because why? So it can't open. So if we look at what it's actually putting in, we see it's got zero one countTibble unique dist. So wherever I'm making my distances is wrong. I didn't want target, I wanted stub. So bonus points to you, if you caught that. So let's copy and paste this in, that looks good. And this will take a few moments. The cluster runs pretty quickly. The make shared part takes a bit longer. While that's running, I'm going to go ahead and copy these output file names because I'm not really going to need them for subsequent steps. And so we'll add that down here.  So garbage collection and programming, I think refers to how it treats certain variables and when the variables get tossed. And so here we're going to toss the variables. And I'm going to replace these, the stub with the stub variable. All right. And we'll see if any other temporary variables or file names get created that we'll want to delete. But I kind of doubt it. And while that's running again, I'll come back up and modify my header here. So it takes in a FASTA and Unix file. Oh, and Unix, so that's old, right? So it takes in distance file and account file and a cutoff value and generates a tibble file, a count tibble file. Let's see. Yeah. And we'll say to indicate the number of times each ASV appears in each genome, okay? So input is the target. And this is going to be a file in the format file name of say RNDB or let's do data V4 RNDB01.counttibble and sometimes Adam adds all sorts of crazy stuff. All right. And this file name is also the output. And the 01 in this example is the threshold. So that looks good. And this has run and hasn't created any other variables that we'll want to get rid of just yet. And so it creates this MCC up to MCC dot shared file. And I want to save that because in the next episode we're going to come back and we're going to convert this shared file into our tibble, right? So we're going to effectively copy this or move this to be data V4 RNDB.01.counttibble, right? But we need to write some R code to do that conversion of the shared file into a tibble. So this is good for now. Let's go ahead to our make file. And we'll say do data V4 RNDB.01.counttibble. So, you know, we haven't created the count tibble yet but make doesn't know that, okay? And so we'll do code get asv.sh.  Something that stands out is that I've been using V4 hard coded but I can replace that with a percent sign so I can get this output file for any of the regions if I use that percent sign. And we are going to then do, let's see. So it's going to be that, the first prerequisite as well as the target. And again, we need to make this file executable. See if we want that. Huh, get asv, get asv's. All right, so that's good. And so I'm going to go ahead and do make, let's do make init, data v4 and we'll do db01.counttibble. And so it's going to run get distances as well as get asv's probably because I probably just saved get distances. And so we'll run this. It's going to take a few moments. Hopefully there won't be any bugs, any problems and I'll do some editing and we'll see in just a second. Okay, so that ran through. As it was running, I was reminded that, just as I called it get asv's, I have getesv.r. That's just going to drive me nuts. So I'll go ahead and do get mv, code, get asv's or esv to be code getesv.r. And I'll need to update my make file because that will cause all sorts of problems if I don't. And I get esv's and again, I use the automatic variable. So I don't, just because I changed the name here, I don't have to change it there. So that's winning. Again, the downside of using the automatic variables is the code isn't quite as readable. And then in my getuniqueseqs, I had this line commented out. I'm going to go ahead and remove that and save it. And I think we're in good shape. So I'm going to stop here. I'm gonna, I'll commit everything in a few moments. But what I wanna leave you with is thinking about a few things. So first of all, I've got v4. This needs to be a percent sign. That's a percent sign. So good. So now we can run this for any region, but we can only use it for one distance threshold, right? Zero one. So I could run this and do, say zero, zero one, right? But for every threshold, I'm gonna have to have a separate rule. And that's just horribly tedious. So in a future episode, probably not the next one because we're gonna be converting our shared file into this count table file. But the one after that, we're gonna talk about how we can generate object names, variable names, target names, whatever in make so that I don't have to, have a bazillion rules for every distance threshold we want to run. And that's gonna be really powerful. It's a little bit of an esoteric higher level step in thinking about make files. But I think you'll see it's pretty cool. And I'll show you an approach that makes it a lot easier than it could be to generate these target names. All right. So we've done a lot today. Hopefully you learned something new about using mother. I do teach mother workshops. So go ahead. If you're interested in taking a workshop in the future, I don't wanna be shilling for myself. But those workshops are posted on the mother website if you wanna learn more about those and learn more about how we use mother. So again, thanks for watching. I really do get a lot out of seeing people's compliments and people's questions and seeing the views that we get. So please keep them coming. Be sure you tell your friends about what we're doing over here at Code Club. So keep practicing and I'll see you next time for another episode of Code Club.


From Boston, Massachusetts, it's theCUBE. Covering Actifio 2019, Data Driven. Brought to you by Actifio. We're back with theCUBE at Actifio, Data Driven. Day one, Dave Vellante with Stu Miniman. You're watching theCUBE. Steve DiPlessis here, he's the, let's see. I'm going to say benevolent dictator of enterprise strategy group, chief analyst, founder. Welcome, welcome back to theCUBE. Thanks, nice to be here. How are you fellas? We've been doing great, congratulations. Newly, newly married. Betrothed. That's awesome. I was, yeah, thank you very much. It's great, looking good. You're here for your honeymoon. This is it, this is it. After a few marriages, this is the honeymoon. Well, it's good to know that the honeymoon's not over. So, let's talk data. Data? What's happening? That is a terrible question, Dave. So, yeah, data. Okay, so everybody talks data. You hear the bromide, data is the new oil, data is the new competitive advantage. I do like that one. You do like, what, data is the new oil? So, it's funny because we're, I think I'm way older than you, you look better. God, no, not even close. But if you go back in time, as long as we've all been doing this, it's been kind of hilarious, really, in retrospect when you watch me, we watch these massive industries get created like the EMC has just created because all they were about was building bigger buckets to put data, zeros and ones, but no context, completely useless, just big buckets. So, we valued, wow, you built a big, fast bucket and then IBM or Hurtachi, whoever was gonna leapfrog you next built a faster, bigger bucket and that was what the world considered valuable and it's now fast forward to the modern day and oh, maybe the thing that's really valuable is those zeros and ones in context. Maybe it's not really the bucket that's so valuable anymore. So, do you think the bucket builders, still bucket builders, are they actually becoming data insight creators or is it just still build a better bucket that's cheaper, faster? So, that's a great question. I think that we're, first of all, you still have to have the buckets, right?  I don't know. You need some place to put it though, right?  No one ever needs less, right? You always need more. It's just a matter of what you're gonna do with it and how you're gonna address that. So, we've propagated for 50 years in infrastructure business that build a bigger, faster bucket, build a bigger, faster processor, build a bigger, faster, and every time you solve one of those particular problems, as long as data growth doesn't abate and it never does, as long as there's more versus less, it's just, every time we fix one problem, we stick your finger in the dike and another hole springs out. So right now, we've got more processing capabilities than we could ever possibly use. Not true, right? We'll figure out a way to use it more. So the, probably the last five years of, and for the next five years, we didn't talk about analytics. We didn't talk about IoT. We didn't talk about any of those things that are all just precursors to, oh, crap, we can make a whole bunch more data and do stuff with it all. So compute is kind of a similar dynamic. It's sort of insatiable, but compute is a relatively crappy business compared to storage, right? Storage is 60% plus gross margin business servers. I don't know, you're lucky if you're getting in a low 20s. Why is that? Well, number one, it's essentially a monopoly and so 20% is wonderful if you're Intel and you get it all, right? Well, Intel's got great gross margins, right? Everybody else does it, there you go. They don't, down the supply chain, it's where you're gonna add value and so it's difficult for any of those guys to add value. Hard to get gross margins out of like, spending cheaper. Yeah, a box. So Steve, ESG is now 20 years old. I know, it's not crazy. When I think back 20 years ago, sure, you know, disk capacity, price per dollar, price per gigabyte, all that stuff has changed a lot. The other thing, I think back 20 years, talk about automation and intelligent infrastructure. We were using those terms back then. One of the things that I mean, right, well, that's what I wanted to ask you about, is like, right, back then, when you talked about, well, how intelligent was it and what could it do and automation was there, it was a lot of times, you know, I'm just building a little script or I'm doing something like that.  Oh, for sure. And it's true. What have you seen in that space? Well, so remember where we came from. When we were talking originally about automation and orchestration, we were talking about how to manage a box, how to expand a box, how to manage infrastructure. Now, it's data operations, right? Now, that's the whole point of Actifio. To begin with is, all right, if you are good enough and smart enough to have the data, sort of everything's kind of matters there. You've got to have the data. Then what can you automate and orchestrate from a data out perspective, not from a box, not from, oh, let's scale out or scale up or something like that. But again, that's just a bigger bucket. It's a better bucket. But to be able to actually take data and say, you know what, I don't even know necessarily what I'm going to want to use this for, but I know that I've got to have, I have to be able to go click, click, click and get it. If and when I figure out, hmm, I want to find out how lowering the price of Charmin in Seattle at a Walmart is going to affect my revenue or my supply chain or whatever it is. So one of the things I've talked with you in the past about is the pace of change in the industry. And I've said it, we know things are changing rather fast, but the average company, how much are they actually, are they good at adopting change? And you've called me on stoop. Enterprise is slow. Are they getting any faster? Are they open to change more? What do you see in 2019? Is it any different than it was in 2009? That's a great question. So the answer is yes, they're getting better. We are finally getting better. The problem though is as an industry insider or a watcher or a voyeur or whatever it is, you are, is you see it and know what should happen. 10 years. It takes 10 years in general for the world to actually catch up to the stuff that we're talking about. So it's not really that helpful to the poor schlebb that's running an operation that builds sneakers in Kansas. That's not really that helpful that we're talking about, oh, this is what you could be doing and should be doing. The pace of change is much faster now because, and I give VMware most of the credit because once that went into place all of a sudden, and that, you gotta remember there, everyone thinks VMware was an instant home run. It was 10 years of the same code sitting in a corner in a QA environment before finally we ran out of room in the data center and that's the only reason they were able to come out. But once it was there and it enabled you to stop associating the physical to the logical, once we could just disaggregate that stuff, that I think opened up a tidal wave of kind of what else can we do? And people have adopted, now it's pervasive, so VMware is everywhere. Now we're moving to the next level of kind of, well, why can't I just build a containerized app that I can execute anywhere I want? Matter of fact, I don't even want it in my data center and no one has to know that necessarily. So as modernization exercises have started to take off, they actually pick up steam. So what we know empirically is those that are halfway down, call it the transformation or the modernization curve are going three times faster than those just starting and those guys are going three times faster than the ones that are sitting there in idle doing stuff the same. Sitting in with the inertia going on. What do you make of this bubble-licious backup market? Let's talk about that a little bit. You got these big install bases of Veritas, Commvault, LEMC, IBM, little Tivoli install base.  Although I guess Cohesity and Rubrik also want a piece of each other. Sure. Which is kind of, you know, they get that urinary Olympics going on, I like to say. And then you got these guys, which is kind of, you know, playing, I said to Ashley, kind of East Coast, West Coast. He goes, no, no, it's not East Coast, West Coast. But there's definitely more conservatism on this side of the flyover states. What's your take on what's going on in the landscape right now? So backup is awesome. From the perspective, again, still probably the single most consistently line item budgeted thing for five decades now, right? It's a guaranteed money in and out. And by and large, it still sucks, right? General rule, it's still, it's crazy that we haven't been able to solve that particular problem, but regardless. The reason that it's so important is besides the obvious, yeah, you need to protect stuff in case something goes away and something bad happens. But really it's, that's the ingest point for everything you do. You create data today, I'm backing it up an hour later. So backup becomes the ingest engine and it also is the kicking off point. So at Kiffy Oak where it started as wow, this is a better backup most trap for lack of a better term. But really what it was, it didn't matter what if it was backup or something else, it's I need to have the data in order to do other stuff with it. And backup is just the natural easiest way to be able to do that. So I think what's finally happening is we're moving from, Kristoff would say, it's really about intelligent, intelligence more so than just capturing those bits and being able to assemble them and put it back together. It's understanding the context of those bits so that I can say, ah, Stu in test dev has a different use case than Dave in whatever, analytics, et cetera, et cetera. But they both need to copy the exact same data at the exact same state at the exact same point in time, et cetera. So if long as backup's gonna be kind of that tip of the spear in terms of going from what I will say, production or live data to the first copy is almost always backup, it's gonna matter. Yeah, Kristoff Bertrand, one of your analysts. And so we saw it, Vyma and Danny Allen put up a slide, showed a $15 billion TAM. And backup being the big chunk of that, probably half of it. I don't know, does that jive with your gut feel in terms of the opportunity beyond backup to have ops? I don't know, ransomware, insights. So you think that's low, high, and makes sense? I think I could justify the number and what history has taught me is that it's probably low because we're only talking about a handful of use cases that we've all glommed on to, but there will be. Remember, like 11 years ago, there was no iPhone. You know, and how bad did that change everything that we do over there?  Excuse me, but it's a text machine and it's an Instagram thing and it's a video production facility and all these other things and the phone's almost, I only use it when my mom calls me kind of thing. So you don't really, it's difficult to imagine. I certainly don't have the mental capabilities to imagine what the next 10 things after dev ops and this, that and the other, but it's still all predicated on the same. You got somebody's got to have a copy of that data and you got to be able to access it and you got to be able to put it where you need it for whatever the reason. Again, a disaster's an important thing to recover from, but so is being able to farm that data for nuggets of gold. Well, I guess I asked the question because the logical question is, is the market big enough to support all these companies that are in that Gartner thing that they do? And I hope so, because we love competition. I mean, I think I can answer it this way. Everything, even the oldest guard, Veritas for God's sakes, 1,000 years old, TSM, 1,000 years old, Comvault, Codebase, 1,000 years old, these are all big companies, right? And they're not perishing anytime soon. And don't get me wrong, love the startup, love the actifios or the cohesities coming in, but what they're really trying to do is not, they might have started as in a common ground, back up as a common war zone, because there's money there, right? There's consistent money there to go get, but they soon turn in to other value propositions. And that's not as true with the incumbent backup guys because of their own legacy, right? It's hard to turn a million year, million lines of code into something that wasn't designed to do. Yeah, and it's not trivial to disrupt that base, but I guess if you get, you know, raising, I don't know how much the industry has raised, but it's well over a billion dollars. Now, I mean, actifios raised 200 million and that's like chump change compared to some of the other raises that you've seen. Cohesity was 260 and the last rubric was even crazy. It's crazy. Even count the private money that Veeam got is, you know, that was half a billion, right? Yeah, well, that's an off-camera discussion. All right, we got to go. So Steve, thanks so much for coming to theCUBE. It's great to have you. All right, keep it right there. Everybody will be back with our next guest. You're watching theCUBE from Actifio Data Driven from Boston, right in the harbor, right back.


The study presents a mapping methodology for quantifying pre- and post-disturbance LULC types with annual landsat best available pixel multispectral data from 2005 to 2013, resulting in annual LULC and land disturbance maps with an accuracy of 78% and 87% respectively. The highest rate of vegetation loss was observed in coniferous forest compared to other vegetation types. Integration of ancillary oil and gas geospatial data with annual land disturbances indicated that less than 20% of the total land disturbances were attributable to oil and gas activities, and approximately 44% of oil and gas disturbances from 2005 to 2013 showed evidence of vegetation recovery. The study suggests that geospatial data related to other factors such as wildfire, logging activities, insect defoliation, etc. can be integrated in the future to quantify other causes of land disturbances. This article was offered by Suber Choudhury, Dennis K. Chow, Todd C. Shipman and others. We are article.tv, links in the description below.