41 Matching Annotations
  1. Jan 2024
    1. Instance methods Instances of Models are documents. Documents have many of their own built-in instance methods. We may also define our own custom document instance methods. // define a schema const animalSchema = new Schema({ name: String, type: String }, { // Assign a function to the "methods" object of our animalSchema through schema options. // By following this approach, there is no need to create a separate TS type to define the type of the instance functions. methods: { findSimilarTypes(cb) { return mongoose.model('Animal').find({ type: this.type }, cb); } } }); // Or, assign a function to the "methods" object of our animalSchema animalSchema.methods.findSimilarTypes = function(cb) { return mongoose.model('Animal').find({ type: this.type }, cb); }; Now all of our animal instances have a findSimilarTypes method available to them. const Animal = mongoose.model('Animal', animalSchema); const dog = new Animal({ type: 'dog' }); dog.findSimilarTypes((err, dogs) => { console.log(dogs); // woof }); Overwriting a default mongoose document method may lead to unpredictable results. See this for more details. The example above uses the Schema.methods object directly to save an instance method. You can also use the Schema.method() helper as described here. Do not declare methods using ES6 arrow functions (=>). Arrow functions explicitly prevent binding this, so your method will not have access to the document and the above examples will not work.

      Certainly! Let's break down the provided code snippets:

      1. What is it and why is it used?

      In Mongoose, a schema is a blueprint for defining the structure of documents within a collection. When you define a schema, you can also attach methods to it. These methods become instance methods, meaning they are available on the individual documents (instances) created from that schema.

      Instance methods are useful for encapsulating functionality related to a specific document or model instance. They allow you to define custom behavior that can be executed on a specific document. In the given example, the findSimilarTypes method is added to instances of the Animal model, making it easy to find other animals of the same type.

      2. Syntax:

      Using methods object directly in the schema options:

      javascript const animalSchema = new Schema( { name: String, type: String }, { methods: { findSimilarTypes(cb) { return mongoose.model('Animal').find({ type: this.type }, cb); } } } );

      Using methods object directly in the schema:

      javascript animalSchema.methods.findSimilarTypes = function(cb) { return mongoose.model('Animal').find({ type: this.type }, cb); };

      Using Schema.method() helper:

      javascript animalSchema.method('findSimilarTypes', function(cb) { return mongoose.model('Animal').find({ type: this.type }, cb); });

      3. Explanation in Simple Words with Examples:

      Why it's Used:

      Imagine you have a collection of animals in your database, and you want to find other animals of the same type. Instead of writing the same logic repeatedly, you can define a method that can be called on each animal instance to find similar types. This helps in keeping your code DRY (Don't Repeat Yourself) and makes it easier to maintain.

      Example:

      ```javascript const mongoose = require('mongoose'); const { Schema } = mongoose;

      // Define a schema with a custom instance method const animalSchema = new Schema({ name: String, type: String });

      // Add a custom instance method to find similar types animalSchema.methods.findSimilarTypes = function(cb) { return mongoose.model('Animal').find({ type: this.type }, cb); };

      // Create the Animal model using the schema const Animal = mongoose.model('Animal', animalSchema);

      // Create an instance of Animal const dog = new Animal({ type: 'dog', name: 'Buddy' });

      // Use the custom method to find similar types dog.findSimilarTypes((err, similarAnimals) => { console.log(similarAnimals); }); ```

      In this example, findSimilarTypes is a custom instance method added to the Animal schema. When you create an instance of the Animal model (e.g., a dog), you can then call findSimilarTypes on that instance to find other animals with the same type. The method uses the this.type property, which refers to the type of the current animal instance. This allows you to easily reuse the logic for finding similar types across different instances of the Animal model.

      Certainly! Let's go through each part and explain it in simple terms: ### 1. `this` in Mongoose: - **What is `this`?** In JavaScript, `this` refers to the current context or object. In Mongoose, particularly within methods and middleware functions, `this` represents the instance (document) the function is currently operating on. - **Why is it used?** `this` is used to access and modify the properties of the current document. For example, in a Mongoose method, `this` allows you to refer to the fields of the specific document the method is called on. ### 2. Example: Let's use the `userSchema.pre("save", ...)`, which is a Mongoose middleware, as an example: ```javascript userSchema.pre("save", async function (next) { if (!this.isModified("password")) { next(); } else { this.password = await bcrypt.hash(this.password, 10); next(); } }); ``` - **Explanation in Simple Words:** - Imagine you have a system where users can sign up and set their password. - Before saving a new user to the database, you want to ensure that the password is securely encrypted (hashed) using a library like `bcrypt`. - The `userSchema.pre("save", ...)` is a special function that runs automatically before saving a user to the database. - In this function: - `this.isModified("password")`: Checks if the password field of the current user has been changed. - If the password is not modified, it means the user is not updating their password, so it just moves on to the next operation (saving the user). - If the password is modified, it means a new password is set or the existing one is changed. In this case, it uses `bcrypt.hash` to encrypt (hash) the password before saving it to the database. - The use of `this` here is crucial because it allows you to refer to the specific user document that's being saved. It ensures that the correct password is hashed for the current user being processed. In summary, `this` in Mongoose is a way to refer to the current document or instance, and it's commonly used to access and modify the properties of that document, especially in middleware functions like the one demonstrated here for password encryption before saving to the database.

    Tags

    Annotators

    URL

  2. May 2019
    1. The protein samples were resolved by SDS PAGE using the Laernrnli buffer system (Laernrnli, 1970). The protein sample was denatured by boiling at 100°C for 10 min in Laernrnli's buffer (List I). Resolving gel (10%) was prepared in a minigel (Bio-Rad, USA) system alongwith 3% stacking gel and the electrophoresis was carried out at 120 volts for 125 min. The gel was stained with 0.25% Coomassie blue R staining solution for Ih followed by destaining with successive washes of de staining solution. Staining was avoided when. gel was used for irnrnunoblotting. Details of reagents used for SDS-PAGE are given in List 1.
    2. SDS PAGE
    1. Sub-cellular fractionation of THP-1 macrophages was performed after lysis with hypotonic buffer. THP-1 macrophages after appropriate treatment were allowed to swell for 10 min in hypotonic buffer (1 0 mM NaCl, 1.5 mM MgCh, 10 mM Tris-HCl, pH 7 .5) followed by homogenization with 50 strokes using a Dounce homogenizer. More than 90% cellular lysis was ensured by visualizing under a light microscope, and immediately after lysis, the mitochondrial membranes were stabilized by addition of 2.5x mitochondrial stabilization buffer (525 mM mannitol, 175 mM sucrose, 12.5 mM Tris-HCl, 2.5 mM EDTA, pH 7.5) to a final concentration of 1x. The homogenate was centrifuged at 1300 x g for 15 min to isolate the nuclear fraction. The post-nuclear fraction was further centrifuged at 17,000 x g for 15 min in an ultracentrifuge (Beckman Optima XL-1 OOK ultracentrifuge) to isolate the mitochondria. The post-mitochondrial supernatant was centrifuged at 100,000 x g for 1 h to obtain the membranous fraction as a pellet and the supernatant obtained was the cytosol. The homogeneity of the obtained fractions was determined by probing for fraction specific proteins by Western blotting
    2. Sub-cellular fractionation
    1. Heterologus expression of various proteins was done in BL21 (A.DE3) strain of E. coli. Bacterial cells were transformed with the desired construct and grown in Super broth (pH 7.2) containing 100 J.lg/ml ampicillin, at 37 °C with continous shaking in a gyratory shaker at 225 rpm. The cultures were induced, at ~oo of 2.0, with I mM IPTG, and harvested two hours later by centrifugation at 4000 g, at 4 °C, for 20 min .. The recombinant proteins were purified from the inclusion bodies using the procedure described by Buchner et al ( 1992). The total cell pellet from a liter of culture was homogenized in 180 ml of inclusion bodies washing buffer containing 8 ml of freshly prepared lysozyme solution (5 mg/ml). The suspension was incubated at room temperature for 1 hr with intermittent shaking. Added 20 ml each of 5M NaCI and 25% Triton X-100 were added to the suspension and incubated at room temperature for 30 min. with vigorous shaking. The suspension was centrifuged at 13,000 g at 4 °C, for 50 min. and the pellet was resuspended, in the washing buffer containing 1% Triton X-1 00, using a polytron homogenizer and centrifuged at 13,000 g for 50 min. The pellet was washed four times with washing buffer without Triton . X-100. The pellet containing inclusion bodies was solubilized in 6 M guanidine hydrochloride by incubating for 2 hours at room temperature. The solubilized protein was centrifuged at 50,000 g, at 4 °C, for 30 min. and the protein concem.ration was adjusted to 10 mg/ml in the supernatant with 6 M guanidine hydrochloride. The denatured protein thus obtained was reduced by adding 65 mM dithioerythritol and incubated at room temperature for 2 h. To renature, the protein was diluted 1 00-fold in the refolding buffer and incubated at 10 °C for 48 h without stirring or shaking. Renatured material, after dialysis in 20 mM MES buffer, pH 5.0 containing 100 mM urea, was loaded on a S-Sepharose column, and the protein bound to the column was eluted with a 0-1 M NaCI gradient in 20 mM MES on an FPLC system (Pharmacia). The fractions containing the desired protein were pooled and concentrated, and the protein was further purified to homogeneity by gel filtration chromatography on a TSK 3000 column (LKB) in PBS, pH 7.4.
    2. Isolation and Purification of Proteins from the Inclusion Bodies
    1. Sf9 cells infected with AcNPV, VI, V2, V3, or V4 were harvested 72 h pi, washed twice with 10 mM PBS, air dried on a slide and fixed in chilled methanol for 15 min. Cells were incubated with MA-451 culture supernatant and N-terminal anti-peptide serum ( 1 :500) at 37°C for 1 h, washed with PBS and further incubated at 37oc for 1 h with I :50 dilution of anti-mouse FITC or I :2000 anti-rabbit FITC. Slides were washed extensively, mounted in 90% glycerol in PBS (50 mM, pH 7.4) and examined under Optiphot fluorescent microscope (Nikon, Tokyo, Japan).
    2. Immunocytochemical Localization of Recombinant Proteins in Infected Cells
    1. lysed directly in 1. 5 ml of solution D ( 4 M guanidium thiocyanate, 25 rnM sodium citrate, pH 7.0, 0.5 % sarcosyl and 0.1 M 2-mercaptoethanol ) . For every 2 ml of the lysate, 0.2 ml of chloroform was added, followed by vigorous mixing for 15 seconds, and incubation on ice for 15 minutes. The lysate was spun at 12, OOOg, at 4 °c for 15 mins. , and the aqueous phase transferred to another tube. RNA was precipitated with an equal volume of isopropanol and incubation at -2o0c for 45 mins. The samples were then spun at 12,000g for 15 mins. at 4°c, and the supernate discarded. The RNA pellet was washed twice with 75 % ethanol. Finally, the pellet was dried briefly under vacuum for 10 -15 mins. and dissolved in 0.5 % SDS. All chemicals and glassware used for handling RNA were treated with diethylpyrocarbonate ( DEPC ) .
    2. Total RNA was isolated from cultured mammalian cells by the method of Chornczynski and Sacchi ( 1987 ), with slight modifications. Briefly, cells from a 3.5 ern petri-dish were
    3. Isolation of RNA
    1. stranded DNA. The reaction was carried out at 37°C for 1 h. The reaction mixture contained 100 ng Bgl II digested VR1020 vector, SAP (0.5 U) and 1 fll lOX SAP buffer (20 mM Tris-HCl, pH 8.0, 10 mM MgCh) in 10 f.!l oftotal reaction volume. The reaction was stopped by inactivating the enzyme at 65°C for 15 min. The digested bmZP1 eDNA was ligated with SAP treated VR1 020 at vector : insert ratio of 1:10 in a 10 fll reaction volume for 16 h at l6°C. The reaction mixture contained 10 ng VR1020 vector, 26 ng bmZPl insert, 1 fll lOX ligase quffer (30 mM Tris-HCl, pH 7.8, 10 mM MgCh, 10 mM DTT and 1 mM ATP), lfll T4 DNA ligase (20 U) in a total reaction volume of 10 fll. The ligation product was used for transformation of DH5a competent cells as described previously. Transformants were selected on LB plates containing 50 f.!g/ml Kanamycin (Kan). Similarly, the inserts corresponding to dZP3, rG and dZP3-rG fusion were digested with Bgl II restriction enzyme, gel purified and cloned in VR1020 vector, except that the ligation product of dZP3-rG fusion with VR1020 was transformed into JM109 competent cells
    2. The insert corresponding to bmZP1 was released from the pPCR-Script-bmZPl clone by Bgl II restriction and purified on the agarose gel. VR1020 vector was similarly digested and gel purified. To prevent self-ligation, the digested vector was treated with Shrimp Alkaline Phosphatase (SAP), which removes 5'-phosphate from the termini of double
    3. Cloning in VRl 020 mammalian expression vector
    1. Meancorpuscularhaemoglobinconcentration(MCHC)istheaverageHbconcentrationperunitvolume(100)ofpackedredcells(W/V).Henceitisexpresseding/1whichisthesameaspercent(%).ItiscalculatedbythefollowingformulaHbMCHC=—......x100(g/dl)PCV
    2. MCHC
    3. MeancellVolume(MCV).Itisexpressedinfentolitres(1fentolitreorflisequivalentto10'151)andcalculatedby thefollowingformula:PCVMCV=.....................x10(fl)RBC8.10.6.2.MCHMeancellhaemoglobin(MCH)=AverageweightofHbinanerythrocyte.Itisexpressedinpicograms(pg)whichisequivalentto10"12g.Itiscalculatedbythefollowingformula:HbMCH=-----------------x10(ppg)RBC
    4. MCV
    5. RedBloodcellsindices
    6. micro-haematocrittubewasfilledto100mmwithanticoagulatedblood.Oneendofthetubewassealedwithsealingwaxandthetubewasthenkeptinaverticalpositioninaglassbeakerstuffedwithcotton.Afteronehour,lengthoftheplasmacolumnwasmeasuredwitha rulergraduatedin0.5mm.
    7. ESRwasdeterminedbythemicromethodbecausethequantityofbloodavailablefromindividualfishwasinsufficienttoadoptanymacromethod.Anon-heparinised
    8. ErythrocytesedimentationRate(ESR)
    9. BloodwascollectedfromtheheartbycardiacpunctureusinganRBCpipette.ItwasdilutedwithHayem’sfluidintheratioof1:200.Thecontentswereshakenwell.AdropofthedilutedbloodwasplacedinaNeubauerdoublehaemocytometer(Germany)countingchamberandtheredbloodcellcountpercubicmmwascalculated
    10. Redbloodcellcount(RBC
    11. Thepackedcellvolumeorhaematocritisthevolumeoccupiedbythepackedredcells,afteravolumeofanticoagulatedvenousbloodisfullycentrifuged.Thevolumeofpackedcellisexpressedasapercentageoftheoriginalvolumeoftheblood.ThePCVisusedtoestimatehaematologicalindices,includingthemeancellhaemoglobinconcentration(MCHC)andmeancorpuscularvolume(MCV).PCVdetermination followedthemethodsofBlaxhallandDaisley(1973).Thehaematocritvaluewasdeterminedbycentrifuging(3000rpm)aknownvolume ofincoagulantbloodkeptinWintrobe’stubes
    12. PackedCellVolume(PCV)orHaematocrit(Ht)
    13. HaemoglobinwasdeterminedbySahlimethod.HaemoglobinisconvertedtoacidhaematinbytheactionofHC1.Theacidhaematinsolutionisfurtherdilutedwiththeaciduntilitscolormatchesexactlythatofthepermanentstandardofthecomparatorblock.TheHbconcentrationisreaddirectlyfromthecalibrationcurve.
    14. Haemoglobin(Hb)determination
    15. BloodwastakenbyheartpunctureusingMS222astheanaesthetic.Nofishwasusedmorethanonce.
    16. CollectionofBlood
    17. HaematologicalAnalysis
    1. The cells were assayed for Luciferase gene expression using Luciferase Assay kit (Promega, U.S.A.). After transfection, the cells were washed twice with PBS and then lysed by adding reporter lysis buffer provided in the kit. The cell lysate was collected from individual wells in eppendorf tubes, the cells were twice freeze-thawed in liquid N2 and then centrifuged at 13,000 rpm for 10 min at 40C. The supernatant was transferred to a fresh tube. 20¢ of cell extract was mixed with lOOp! of luciferase assay reagent that was kept at room temparature. The activity was determined using a luminometer (Packard lumicount, U.S.A.
    2. Luciferase assay
    1. Rhod-2 acetoxymethyl ester is a fluorescent long wavelength calcium indicator, where the AM ester forms are cationic, resulting in a potential driven uptake into the mitochondria making them selective detectors of mitochondrial calcium. Log phase cultures were taken and dead cells pelleted at 129 x g for 5 min at RT. The live cells were washed twice with Kreb' s buffer (118mM Sodium chloride, 5.4mM Potassium chloride, 1.2mM Magnesium chloride, 1.2mM Potassium dihydrogen phosphate, 25mM Sodium hydrogen phosphate, llmM glucose, 1.5mM Calcium chloride, pH 7.4) by centrifugation at 1258 x g for 5 min to wash off all traces of medium and FBS. Washed cells were loaded with 1:1 mixture of Rhod -2 AM (1p.g/p.L stock solution prepared in DMSO) and 20%w/v Pluronic F127 for 1h at RT in the dark with shaking. Excess dye was removed by one wash with Kreb' s buffer followed by incubation of cells at RT for a further 30min for complete hydrolysis of the dye trapped in the mitochondria. Fluorescence intensities of the stained cells were measured fluorimetrically at excitation of 530nm and emission of 576nm or alternatively acquired by flow cytometer.
    2. Assay for measuring mitochondrial calcium
    3. The DNA fragments eluted from the agarose gel or purified PCR products were cloned into pGEM-T easy vector which allows efficient sequencing using the common sequencing primers T7 and SP6. SOng of the vector was used with 1J..lL of T4 DNA ligase in a 10J..lL reaction volume. The reaction was allowed to proceed at 4 °C for 16h followed by transformation into DHS-a strain of E coli following standard protocols. The transformed cells were plated onto LB-agar plates containing appropriate ampicillin (100J..lg/mL) and blue-white selection reagent (40J..lL/plate). The plate was incubated at 37°C for 12 hrs, following which white colonies were picked up for screening for the presence of the gene of interest.
    4. Sub-cloning of PCR products into pGEM-TEasy Vecto
    1. 3.0–5.0, phosphate buffer for pH 6.0–8.0 and Tris-HCl buffer for pH 9.0) were used. •pH stability: The pH stability of the selected tannases was examined in the range of 3.0–9.0 by incubating the enzyme samples for 6 h in different buffers. Tannase activity was estimated under standard assay conditions. •Temperature tolerance: Temperature tolerance of the tannases was examined by assaying their activity at different temperatures in the range of 20 to 80ºC. •Temperature stability: Temperature stability of the tannases was determined by incubating them in the temperature range of 20 to 70 ºC for 6 h. After the incubation tannase activity (%) was determined under standard assay conditions. •Organic solvent stability: In order to determine the suitability of the selected tannases for organic synthesis, their stability was determined in different organic solvents. Experimentally, 10 mg of each of the crude lyophilized tannase from the selected cultures were mixed with 1.0 ml of the following organic solvent: a) Hexane b) Methanol c) Propanol d) Isoamyl alcohol e) Petroleum ether f ) Chloroform The mixture was incubated for 6 h at optimal temperature and the organic solvents were then decanted and the residues were dried in a vacuum desiccator. These dried samples were dissolved in 1.0 ml of citrate phosphate buffer (50 mM, pH 5.0) and the tannase activity was determined under standard assay conditions. The tannase activity thus obtained from each culture were compared with initial tannase activity. Finally, on the basis of tannase titres produced per ml and desirable biochemical properties, the best tannase producer was selected for further investigations
    2. The tannases obtained (at high titres) from selected cultures were evaluated for the following important biochemical properties. 1. pH tolerance and stability 2. Temperature tolerance and stability 3. Organic solvent stability •pH tolerance: pH-tolerance of the selected tannases was examined in the range of 3.0–9.0. Buffers (0.05 M) of different pH (citrate phosphate for pH
    3. Preliminary biochemical characterization of tannases from the potent tannase producers